From 6f2d937a63f9cda9c816b0eaa49458c18875c187 Mon Sep 17 00:00:00 2001 From: Jens Verwiebe Date: Tue, 27 Sep 2011 13:18:34 +0000 Subject: [PATCH] OSX: introduced a workaround for compiling with non-apple gcc-4.6.1, ghost must be compiled with apple-gcc nevertheless due objc incompatibilities --- build_files/scons/tools/Blender.py | 6 +++++- intern/ghost/SConscript | 9 +++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py index 54fa6077bf7..ca2d4935408 100644 --- a/build_files/scons/tools/Blender.py +++ b/build_files/scons/tools/Blender.py @@ -695,7 +695,7 @@ class BlenderEnvironment(SConsEnvironment): SConsEnvironment.Default(self, res) resources.append(res) - def BlenderLib(self=None, libname=None, sources=None, includes=[], defines=[], libtype='common', priority = 100, compileflags=None, cc_compileflags=None, cxx_compileflags=None): + def BlenderLib(self=None, libname=None, sources=None, includes=[], defines=[], libtype='common', priority = 100, compileflags=None, cc_compileflags=None, cxx_compileflags=None, cc_compilerchange=None, cxx_compilerchange=None): global vcp if not self or not libname or not sources: print bc.FAIL+'Cannot continue. Missing argument for BuildBlenderLib '+libname+bc.ENDC @@ -733,6 +733,10 @@ class BlenderEnvironment(SConsEnvironment): lenv.Replace(CCFLAGS = cc_compileflags) if cxx_compileflags: lenv.Replace(CXXFLAGS = cxx_compileflags) + if cc_compilerchange: + lenv.Replace(CC = cc_compilerchange) + if cxx_compilerchange: + lenv.Replace(CXX = cxx_compilerchange) lenv.Append(CFLAGS = lenv['C_WARN']) lenv.Append(CCFLAGS = lenv['CC_WARN']) lenv.Append(CXXFLAGS = lenv['CXX_WARN']) diff --git a/intern/ghost/SConscript b/intern/ghost/SConscript index 1bbc8398574..7869921ce02 100644 --- a/intern/ghost/SConscript +++ b/intern/ghost/SConscript @@ -100,6 +100,11 @@ if window_system in ('win32-vc', 'win32-mingw', 'cygwin', 'linuxcross', 'win64-v incs = env['BF_WINTAB_INC'] + ' ' + incs if window_system in ('win32-vc', 'win64-vc'): - env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15]) #, cc_compileflags=env['CCFLAGS'].append('/WX') ) + env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15]) #, cc_compileflags=env['CCFLAGS'].append('/WX') ) + +elif env['OURPLATFORM'] == 'darwin' and env['CC'].endswith('4.6.1'): # compile ghost always with apple-gcc to keep objectiveC compatibility + env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15], cc_compilerchange='/usr/bin/gcc-4.2', cxx_compilerchange='/usr/bin/gcc-4.2' ) #, cc_compileflags=env['CXXFLAGS'].append('-fobjc-exceptions') + print "GHOST COCOA WILL BE COMPILED WITH APPLE GCC" + else: - env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15] ) + env.BlenderLib ('bf_intern_ghost', sources, Split(incs), defines=defs, libtype=['intern','player'], priority = [40,15] )