From 5bab95fc5800d674e3e093118df0ee080020c87d Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 5 Oct 2010 16:43:01 +0000 Subject: Scons options for static linking to libsamplerate, sndfile and fftw3 --- build_files/scons/tools/Blender.py | 16 +++++++++++++--- build_files/scons/tools/btools.py | 12 +++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) (limited to 'build_files/scons/tools') diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py index c855d9ee07e..1f503a5ea2d 100644 --- a/build_files/scons/tools/Blender.py +++ b/build_files/scons/tools/Blender.py @@ -158,6 +158,8 @@ def setup_staticlibs(lenv): statlibs += Split(lenv['BF_ZLIB_LIB_STATIC']) if lenv['WITH_BF_FFTW3']: libincs += Split(lenv['BF_FFTW3_LIBPATH']) + if lenv['WITH_BF_STATICFFTW3']: + statlibs += Split(lenv['BF_FFTW3_LIB_STATIC']) if lenv['WITH_BF_FFMPEG'] and lenv['WITH_BF_STATICFFMPEG']: statlibs += Split(lenv['BF_FFMPEG_LIB_STATIC']) if lenv['WITH_BF_INTERNATIONAL']: @@ -178,6 +180,9 @@ def setup_staticlibs(lenv): if lenv['WITH_BF_PYTHON'] and lenv['WITH_BF_STATICPYTHON']: statlibs += Split(lenv['BF_PYTHON_LIB_STATIC']) + if lenv['WITH_BF_SNDFILE'] and lenv['WITH_BF_STATICSNDFILE']: + statlibs += Split(lenv['BF_SNDFILE_LIB_STATIC']) + if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'): libincs += Split(lenv['BF_PTHREADS_LIBPATH']) @@ -191,6 +196,9 @@ def setup_staticlibs(lenv): if lenv['OURPLATFORM'] == 'linuxcross': libincs += Split(lenv['BF_OPENMP_LIBPATH']) + if lenv['WITH_BF_STATICLIBSAMPLERATE']: + statlibs += Split(lenv['BF_LIBSAMPLERATE_LIB_STATIC']) + # setting this last so any overriding of manually libs could be handled if lenv['OURPLATFORM'] not in ('win32-vc', 'win32-mingw', 'win64-vc', 'linuxcross'): libincs.append('/usr/lib') @@ -202,7 +210,6 @@ def setup_syslibs(lenv): lenv['BF_JPEG_LIB'], lenv['BF_PNG_LIB'], - lenv['BF_LIBSAMPLERATE_LIB'] ] if not lenv['WITH_BF_FREETYPE_STATIC']: @@ -236,9 +243,9 @@ def setup_syslibs(lenv): syslibs += Split(lenv['BF_OGG_LIB']) if lenv['WITH_BF_JACK']: syslibs += Split(lenv['BF_JACK_LIB']) - if lenv['WITH_BF_SNDFILE']: + if lenv['WITH_BF_SNDFILE'] and not lenv['WITH_BF_STATICSNDFILE']: syslibs += Split(lenv['BF_SNDFILE_LIB']) - if lenv['WITH_BF_FFTW3']: + if lenv['WITH_BF_FFTW3'] and not lenv['WITH_BF_STATICFFTW3']: syslibs += Split(lenv['BF_FFTW3_LIB']) if lenv['WITH_BF_SDL']: syslibs += Split(lenv['BF_SDL_LIB']) @@ -253,6 +260,9 @@ def setup_syslibs(lenv): syslibs += Split(lenv['BF_OPENCOLLADA_LIB']) syslibs.append(lenv['BF_EXPAT_LIB']) + if not lenv['WITH_BF_STATICLIBSAMPLERATE']: + syslibs += Split(lenv['BF_LIBSAMPLERATE_LIB']) + syslibs += lenv['LLIBS'] diff --git a/build_files/scons/tools/btools.py b/build_files/scons/tools/btools.py index ce8ddcf0858..37d9048d70d 100644 --- a/build_files/scons/tools/btools.py +++ b/build_files/scons/tools/btools.py @@ -39,9 +39,9 @@ def validate_arguments(args, bc): 'WITH_BF_PYTHON', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', 'BF_PYTHON_DLL', 'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC', 'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH', - 'BF_LIBSAMPLERATE', 'BF_LIBSAMPLERATE_INC', 'BF_LIBSAMPLERATE_LIB', 'BF_LIBSAMPLERATE_LIBPATH', + 'BF_LIBSAMPLERATE', 'BF_LIBSAMPLERATE_INC', 'BF_LIBSAMPLERATE_LIB', 'BF_LIBSAMPLERATE_LIBPATH', 'WITH_BF_STATICLIBSAMPLERATE', 'BF_LIBSAMPLERATE_LIB_STATIC', 'WITH_BF_JACK', 'BF_JACK', 'BF_JACK_INC', 'BF_JACK_LIB', 'BF_JACK_LIBPATH', - 'WITH_BF_SNDFILE', 'BF_SNDFILE', 'BF_SNDFILE_INC', 'BF_SNDFILE_LIB', 'BF_SNDFILE_LIBPATH', + 'WITH_BF_SNDFILE', 'BF_SNDFILE', 'BF_SNDFILE_INC', 'BF_SNDFILE_LIB', 'BF_SNDFILE_LIBPATH', 'WITH_BF_STATICSNDFILE', 'BF_SNDFILE_LIB_STATIC', 'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH', 'WITH_BF_OPENEXR', 'BF_OPENEXR', 'BF_OPENEXR_INC', 'BF_OPENEXR_LIB', 'BF_OPENEXR_LIBPATH', 'WITH_BF_STATICOPENEXR', 'BF_OPENEXR_LIB_STATIC', 'WITH_BF_DDS', 'WITH_BF_CINEON', 'WITH_BF_HDR', @@ -61,7 +61,7 @@ def validate_arguments(args, bc): 'BF_WINTAB', 'BF_WINTAB_INC', 'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', 'BF_FREETYPE_LIB_STATIC', 'WITH_BF_FREETYPE_STATIC', 'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH', - 'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH', + 'WITH_BF_FFTW3', 'BF_FFTW3', 'BF_FFTW3_INC', 'BF_FFTW3_LIB', 'BF_FFTW3_LIBPATH', 'WITH_BF_STATICFFTW3', 'BF_FFTW3_LIB_STATIC', 'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC', 'WITH_BF_COLLADA', 'BF_COLLADA', 'BF_COLLADA_INC', 'BF_COLLADA_LIB', 'BF_OPENCOLLADA', 'BF_OPENCOLLADA_INC', 'BF_OPENCOLLADA_LIB', 'BF_OPENCOLLADA_LIBPATH', 'BF_PCRE', 'BF_PCRE_LIB', 'BF_PCRE_LIBPATH', 'BF_EXPAT', 'BF_EXPAT_LIB', 'BF_EXPAT_LIBPATH', 'WITH_BF_PLAYER', @@ -206,6 +206,8 @@ def read_opts(env, cfg, args): ('BF_LIBSAMPLERATE_INC', 'libsamplerate aka SRC include path', ''), ('BF_LIBSAMPLERATE_LIB', 'libsamplerate aka SRC library', ''), ('BF_LIBSAMPLERATE_LIBPATH', 'libsamplerate aka SRC library path', ''), + ('BF_LIBSAMPLERATE_LIB_STATIC', 'Path to libsamplerate static library', ''), + (BoolVariable('WITH_BF_STATICLIBSAMPLERATE', 'Staticly link to libsamplerate', False)), (BoolVariable('WITH_BF_JACK', 'Enable jack support if true', True)), ('BF_JACK', 'jack base path', ''), @@ -217,7 +219,9 @@ def read_opts(env, cfg, args): ('BF_SNDFILE', 'sndfile base path', ''), ('BF_SNDFILE_INC', 'sndfile include path', ''), ('BF_SNDFILE_LIB', 'sndfile library', ''), + ('BF_SNDFILE_LIB_STATIC', 'Path to sndfile static library', ''), ('BF_SNDFILE_LIBPATH', 'sndfile library path', ''), + (BoolVariable('WITH_BF_STATICSNDFILE', 'Staticly link to sndfile', False)), ('BF_PTHREADS', 'Pthreads base path', ''), ('BF_PTHREADS_INC', 'Pthreads include path', ''), @@ -352,7 +356,9 @@ def read_opts(env, cfg, args): ('BF_FFTW3', 'FFTW3 base path', ''), ('BF_FFTW3_INC', 'FFTW3 include path', ''), ('BF_FFTW3_LIB', 'FFTW3 library', ''), + ('BF_FFTW3_LIB_STATIC', 'FFTW3 static libraries', ''), ('BF_FFTW3_LIBPATH', 'FFTW3 library path', ''), + (BoolVariable('WITH_BF_STATICFFTW3', 'Staticly link to FFTW3', False)), (BoolVariable('WITH_BF_STATICOPENGL', 'Use MESA if true', True)), ('BF_OPENGL', 'OpenGL base path', ''), -- cgit v1.2.3