forked from bartvdbraak/blender
SCons updates
* Internationalization support is now available on Linux. By default this feature is disabled. The reason is that you need to have a precompiled version of the ftgl library for your gcc version. To enable ftgl support you need to do the following: - compile ftgl. - set USE_INTERNATIONAL='true' in the config.opts file - set the FTGL_INCLUDE and FTGL_LIBPATH to valid locations. Freetype2 is detected automatically on your system by using pkg-config. There was a problem with linking libraries. I took a look at how the Makefile environment did it, and copied the mechanism. Now we're linking: freetype, blender_ftf, ftgl and freetype. (Yes, 2x freetype). * Minor variable cleanup. sdl flags are now collected in one Environment() in stead of two. Adapted all relevant platform variables accordingly.
This commit is contained in:
parent
e579793652
commit
2cc629eaa7
60
SConstruct
60
SConstruct
@ -10,8 +10,8 @@ root_build_dir = '..' + os.sep + 'build' + os.sep
|
||||
config_file = 'config.opts'
|
||||
version='2.32'
|
||||
|
||||
sdl_cenv = Environment ()
|
||||
sdl_lenv = Environment ()
|
||||
sdl_env = Environment ()
|
||||
freetype_env = Environment ()
|
||||
link_env = Environment ()
|
||||
env = Environment ()
|
||||
|
||||
@ -51,12 +51,11 @@ if sys.platform == 'linux2':
|
||||
opengl_libpath = ['/usr/lib', '/usr/X11R6/lib']
|
||||
opengl_include = ['/usr/include']
|
||||
# SDL library information
|
||||
sdl_cenv.ParseConfig ('sdl-config --cflags')
|
||||
sdl_lenv.ParseConfig ('sdl-config --libs')
|
||||
sdl_cflags = sdl_cenv.Dictionary()['CCFLAGS']
|
||||
sdl_include = sdl_cenv.Dictionary()['CPPPATH']
|
||||
sdl_libpath = sdl_lenv.Dictionary()['LIBPATH']
|
||||
sdl_lib = sdl_lenv.Dictionary()['LIBS']
|
||||
sdl_env.ParseConfig ('sdl-config --cflags --libs')
|
||||
sdl_cflags = sdl_env.Dictionary()['CCFLAGS']
|
||||
sdl_include = sdl_env.Dictionary()['CPPPATH']
|
||||
sdl_libpath = sdl_env.Dictionary()['LIBPATH']
|
||||
sdl_lib = sdl_env.Dictionary()['LIBS']
|
||||
# SOLID library information
|
||||
solid_lib = [] # TODO
|
||||
solid_libpath = [] # TODO
|
||||
@ -76,9 +75,10 @@ if sys.platform == 'linux2':
|
||||
ftgl_lib = ['ftgl']
|
||||
ftgl_libpath = ['#../lib/linux-glibc2.2.5-i386/ftgl/lib']
|
||||
ftgl_include = ['#../lib/linux-glibc2.2.5-i386/ftgl/include']
|
||||
freetype_lib = ['freetype']
|
||||
freetype_libpath = ['#../lib/linux-glibc2.2.5-i386/freetype/lib']
|
||||
freetype_include = ['#../lib/linux-glibc2.2.5-i386/freetype/include']
|
||||
freetype_env.ParseConfig ('pkg-config --cflags --libs freetype2')
|
||||
freetype_lib = freetype_env.Dictionary()['LIBS']
|
||||
freetype_libpath = freetype_env.Dictionary()['LIBPATH']
|
||||
freetype_include = freetype_env.Dictionary()['CPPPATH']
|
||||
gettext_lib = []
|
||||
gettext_libpath = []
|
||||
gettext_include = []
|
||||
@ -122,16 +122,13 @@ elif sys.platform == 'darwin':
|
||||
opengl_libpath = []
|
||||
opengl_include = []
|
||||
# SDL specific stuff.
|
||||
sdl_cenv.ParseConfig ('sdl-config --cflags')
|
||||
sdl_lenv.ParseConfig ('sdl-config --libs')
|
||||
sdl_cdict = sdl_cenv.Dictionary()
|
||||
sdl_ldict = sdl_lenv.Dictionary()
|
||||
sdl_cflags = string.join(sdl_cdict['CCFLAGS'])
|
||||
sdl_env.ParseConfig ('sdl-config --cflags --libs')
|
||||
sdl_cflags = sdl_env.Dictionary()['CCFLAGS']
|
||||
# Want to use precompiled libraries?
|
||||
if use_precomp == 'true':
|
||||
sdl_ldict['LIBS'] = ['libSDL.a']
|
||||
sdl_ldict['LIBPATH'] = [darwin_precomp + '/sdl/lib']
|
||||
sdl_cdict['CPPPATH'] = [darwin_precomp + '/sdl/include']
|
||||
sdl_include = [darwin_precomp + '/sdl/include']
|
||||
sdl_libpath = [darwin_precomp + '/sdl/lib']
|
||||
sdl_lib = ['libSDL.a']
|
||||
|
||||
platform_libs = ['stdc++']
|
||||
extra_includes = ['/sw/include']
|
||||
@ -190,11 +187,12 @@ elif sys.platform == 'cygwin':
|
||||
z_libpath = ['/usr/lib']
|
||||
z_include = ['/usr/include']
|
||||
# SDL specific stuff.
|
||||
sdl_cenv.ParseConfig ('sdl-config --cflags')
|
||||
sdl_lenv.ParseConfig ('sdl-config --libs')
|
||||
sdl_cdict = sdl_cenv.Dictionary()
|
||||
sdl_ldict = sdl_lenv.Dictionary()
|
||||
sdl_cflags = '-DWIN32'
|
||||
sdl_env.ParseConfig ('sdl-config --cflags --libs')
|
||||
sdl_cflags = sdl_env.Dictionary()['CCFLAGS']
|
||||
sdl_include = sdl_env.Dictionary()['CPPPATH']
|
||||
sdl_libpath = sdl_env.Dictionary()['LIBPATH']
|
||||
sdl_lib = sdl_env.Dictionary()['LIBS']
|
||||
#sdl_cflags = '-DWIN32'
|
||||
# We need to force the Cygwin environment to use the g++ linker.
|
||||
link_env.Replace (CC='g++')
|
||||
# Python variables.
|
||||
@ -344,12 +342,11 @@ elif string.find (sys.platform, 'sunos') != -1:
|
||||
opengl_libpath = []
|
||||
opengl_include = []
|
||||
# SDL library information
|
||||
sdl_cenv.ParseConfig ('sdl-config --cflags')
|
||||
sdl_lenv.ParseConfig ('sdl-config --libs')
|
||||
sdl_cflags = sdl_cenv.Dictionary()['CCFLAGS']
|
||||
sdl_include = sdl_cenv.Dictionary()['CPPPATH']
|
||||
sdl_libpath = sdl_lenv.Dictionary()['LIBPATH']
|
||||
sdl_lib = sdl_lenv.Dictionary()['LIBS']
|
||||
sdl_env.ParseConfig ('sdl-config --cflags --libs')
|
||||
sdl_cflags = sdl_env.Dictionary()['CCFLAGS']
|
||||
sdl_include = sdl_env.Dictionary()['CPPPATH']
|
||||
sdl_libpath = sdl_env.Dictionary()['LIBPATH']
|
||||
sdl_lib = sdl_env.Dictionary()['LIBS']
|
||||
# SOLID library information
|
||||
solid_lib = [] # TODO
|
||||
solid_libpath = [] # TODO
|
||||
@ -687,11 +684,12 @@ link_env.Append (LIBPATH=libpath)
|
||||
link_env.Append (CPPDEFINES=defines)
|
||||
|
||||
if user_options_dict['USE_INTERNATIONAL'] == 1:
|
||||
link_env.Append (LIBS=user_options_dict['FREETYPE_LIBRARY'])
|
||||
link_env.Append (LIBPATH=user_options_dict['FREETYPE_LIBPATH'])
|
||||
link_env.Append (LIBS=['blender_FTF'])
|
||||
link_env.Append (LIBS=user_options_dict['FTGL_LIBRARY'])
|
||||
link_env.Append (LIBPATH=user_options_dict['FTGL_LIBPATH'])
|
||||
link_env.Append (LIBS=user_options_dict['FREETYPE_LIBRARY'])
|
||||
link_env.Append (LIBPATH=user_options_dict['FREETYPE_LIBPATH'])
|
||||
if user_options_dict['USE_QUICKTIME'] == 1:
|
||||
link_env.Append (LIBS=['blender_quicktime'])
|
||||
if user_options_dict['BUILD_GAMEENGINE'] == 1:
|
||||
|
Loading…
Reference in New Issue
Block a user