speex-lutin/lutin_speex.py

121 lines
3.5 KiB
Python

#!/usr/bin/python
import lutin.module as module
import lutin.tools as tools
import os
def get_type():
return "LIBRARY"
def get_desc():
return "Algorithm of speex codec"
def get_licence():
return "BSD-3"
def get_compagny_type():
return "org"
def get_compagny_name():
return "Xiph"
def get_version():
return [1,2,"rc2"]
def create(target, module_name):
my_module = module.Module(__file__, module_name, get_type())
# add extra compilation flags:
my_module.add_extra_compile_flags()
# add the file to compile:
my_module.add_src_file([
'speex/libspeex/bits.c',
'speex/libspeex/exc_5_256_table.c',
'speex/libspeex/gain_table_lbr.c',
'speex/libspeex/kiss_fftr.c',
'speex/libspeex/modes.c',
'speex/libspeex/smallft.c',
'speex/libspeex/vq.c',
'speex/libspeex/cb_search.c',
'speex/libspeex/exc_5_64_table.c',
'speex/libspeex/hexc_10_32_table.c',
'speex/libspeex/lpc.c',
'speex/libspeex/modes_wb.c',
'speex/libspeex/speex.c',
'speex/libspeex/window.c',
'speex/libspeex/exc_10_16_table.c',
'speex/libspeex/exc_8_128_table.c',
'speex/libspeex/hexc_table.c',
'speex/libspeex/lsp.c',
'speex/libspeex/nb_celp.c',
'speex/libspeex/speex_callbacks.c',
'speex/libspeex/exc_10_32_table.c',
'speex/libspeex/filters.c',
'speex/libspeex/high_lsp_tables.c',
'speex/libspeex/lsp_tables_nb.c',
'speex/libspeex/quant_lsp.c',
'speex/libspeex/speex_header.c',
'speex/libspeex/vbr.c',
'speex/libspeex/exc_20_32_table.c',
'speex/libspeex/gain_table.c',
'speex/libspeex/kiss_fft.c',
'speex/libspeex/ltp.c',
'speex/libspeex/sb_celp.c',
'speex/libspeex/stereo.c',
'speex/libspeex/vorbis_psy.c'
])
my_module.add_header_file([
'speex/include/speex/speex_header.h',
'speex/include/speex/speex_config_types.h',
'speex/include/speex/speex_callbacks.h',
'speex/include/speex/speex_types.h',
'speex/include/speex/speex.h',
'speex/include/speex/speex_stereo.h',
'speex/include/speex/speex_bits.h'
],
destination_path="speex")
my_module.compile_version("c", 1989, gnu=True)
my_module.add_module_depend(['m'])
my_module.add_path(os.path.join(tools.get_current_path(__file__), "speex/include"))
# configure library :
# Make use of ARM4 assembly optimizations
#my_module.compile_flags_CC("-DARM4_ASM=1")
# Make use of ARM5E assembly optimizations
#my_module.compile_flags_CC("-DARM5E_ASM=1")
# Make use of Blackfin assembly optimizations
#my_module.compile_flags_CC("-DBFIN_ASM=1")
# Disable all parts of the API that are using floats
#my_module.compile_flags_CC("-DDISABLE_FLOAT_API=1")
# Enable valgrind extra checks
#my_module.compile_flags_CC("-DENABLE_VALGRIND=1")
# Symbol visibility prefix */
#define EXPORT __attribute__((visibility("default")))
my_module.compile_flags('c', "-DEXPORT=''")
# Debug fixed-point implementation */
#my_module.compile_flags_CC("-DFIXED_DEBUG=1")
# Compile as fixed-point / floating-point
if True:
my_module.compile_flags('c', "-DFIXED_POINT")
else:
my_module.compile_flags('c', "-DFLOATING_POINT")
# Enable NEON support */
#my_module.compile_flags('c', "-D_USE_NEON=1")
# Enable SSE support */
my_module.compile_flags('c', "-D_USE_SSE=1")
# Enable SSE2 support */
my_module.compile_flags('c', "-D_USE_SSE2=1")
# Define to 1 if you have the <alloca.h> header file.
my_module.compile_flags('c', "-DHAVE_ALLOCA_H=1")
# Use FFT from OggVorbis */
my_module.compile_flags('c', "-DUSE_SMALLFT=1")
# Use C99 variable-size arrays */
my_module.compile_flags('c', "-DVAR_ARRAYS=1")
my_module.add_module_depend([
'c'
])
return my_module