From 41b801ab9c750e182f831db2c3a391986fa7cbbe Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 4 Mar 2013 13:59:54 +0000 Subject: patch [#34525] Scons ' color by Andrey Izrantsev (bdancer) --- build_files/scons/tools/Blender.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'build_files') diff --git a/build_files/scons/tools/Blender.py b/build_files/scons/tools/Blender.py index 3688a829a4d..b3c3907129f 100644 --- a/build_files/scons/tools/Blender.py +++ b/build_files/scons/tools/Blender.py @@ -455,22 +455,22 @@ def my_print_cmd_line(self, s, target, source, env): def my_compile_print(target, source, env): a = '%s' % (source[0]) d, f = os.path.split(a) - return bc.OKBLUE+"Compiling"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC + return bc.OKBLUE + "Compiling" + bc.ENDC + " ==> '" + bc.OKGREEN + ("%s" % f) + bc.ENDC + "'" def my_moc_print(target, source, env): a = '%s' % (source[0]) d, f = os.path.split(a) - return bc.OKBLUE+"Creating MOC"+bc.ENDC+ " ==> '"+bc.OKGREEN+"%s" %(f) + "'"+bc.ENDC + return bc.OKBLUE + "Creating MOC" + bc.ENDC + " ==> '" + bc.OKGREEN + ("%s" % f) + bc.ENDC + "'" def my_linking_print(target, source, env): t = '%s' % (target[0]) d, f = os.path.split(t) - return bc.OKBLUE+"Linking library"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC + return bc.OKBLUE + "Linking library" + bc.ENDC + " ==> '" + bc.OKGREEN + ("%s" % f) + bc.ENDC + "'" def my_program_print(target, source, env): t = '%s' % (target[0]) d, f = os.path.split(t) - return bc.OKBLUE+"Linking program"+bc.ENDC +" ==> '"+bc.OKGREEN+"%s" % (f) + "'"+bc.ENDC + return bc.OKBLUE + "Linking program" + bc.ENDC + " ==> '" + bc.OKGREEN + ("%s" % f) + bc.ENDC + "'" def msvc_hack(env): static_lib = SCons.Tool.createStaticLibBuilder(env) -- cgit v1.2.3 From c142698fb779f8b9b0621be223c41368373a50cf Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Sun, 10 Mar 2013 17:45:31 +0000 Subject: Buildbot: mac configuration files for i386 and x86_64. --- .../buildbot/config/user-config-mac-i386.py | 420 +++++++++++++++++++++ .../buildbot/config/user-config-mac-x86_64.py | 420 +++++++++++++++++++++ build_files/buildbot/slave_compile.py | 32 +- build_files/buildbot/slave_pack.py | 18 +- 4 files changed, 873 insertions(+), 17 deletions(-) create mode 100644 build_files/buildbot/config/user-config-mac-i386.py create mode 100644 build_files/buildbot/config/user-config-mac-x86_64.py (limited to 'build_files') diff --git a/build_files/buildbot/config/user-config-mac-i386.py b/build_files/buildbot/config/user-config-mac-i386.py new file mode 100644 index 00000000000..e39b13039c5 --- /dev/null +++ b/build_files/buildbot/config/user-config-mac-i386.py @@ -0,0 +1,420 @@ +# +# Note : if you want to alter this file +# copy it as a whole in the upper folder +# as user-config.py +# dont create a new file with only some +# vars changed. + +import commands + +# IMPORTANT NOTE : OFFICIAL BUILDS SHOULD BE DONE WITH SDKs +USE_SDK=True + +############################################################################# +################### Cocoa & architecture settings ################## +############################################################################# +WITH_GHOST_COCOA=True +MACOSX_ARCHITECTURE = 'i386' # valid archs: ppc, i386, ppc64, x86_64 + + +cmd = 'uname -p' +MAC_PROC=commands.getoutput(cmd) +cmd = 'uname -r' +cmd_res=commands.getoutput(cmd) + +if cmd_res[:1]=='7': + MAC_CUR_VER='10.3' +elif cmd_res[:1]=='8': + MAC_CUR_VER='10.4' +elif cmd_res[:1]=='9': + MAC_CUR_VER='10.5' +elif cmd_res[:2]=='10': + MAC_CUR_VER='10.6' +elif cmd_res[:2]=='11': + MAC_CUR_VER='10.7' +elif cmd_res[:2]=='12': + MAC_CUR_VER='10.8' +cmd = 'xcodebuild -version' +cmd_xcode=commands.getoutput(cmd) +XCODE_CUR_VER=cmd_xcode[6:][:3] # truncate output to major.minor version +cmd = 'xcodebuild -showsdks' +cmd_sdk=commands.getoutput(cmd) +MACOSX_SDK_CHECK=cmd_sdk + +if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64': + USE_QTKIT=True # Carbon quicktime is not available for 64bit + + +# Default target OSX settings per architecture +# Can be customized + +if MACOSX_ARCHITECTURE == 'ppc' and MAC_CUR_VER == '10.4': +# all releases are now made for 10.5 ! +# MAC_MIN_VERS = '10.3' +# MACOSX_SDK='/Developer/SDKs/MacOSX10.3.9.sdk' +# LCGDIR = '#../lib/darwin-6.1-powerpc' +# CC = 'gcc-3.3' +# CXX = 'g++-3.3' + MAC_MIN_VERS = '10.4' + MACOSX_DEPLOYMENT_TARGET = '10.4' + MACOSX_SDK='/Developer/SDKs/MacOSX10.4u.sdk' + LCGDIR = '#../lib/darwin-8.0.0-powerpc' + CC = 'gcc-4.0' + CXX = 'g++-4.0' +elif MACOSX_ARCHITECTURE == 'i386' and MAC_CUR_VER == '10.4': + MAC_MIN_VERS = '10.4' + MACOSX_DEPLOYMENT_TARGET = '10.4' + MACOSX_SDK='/Developer/SDKs/MacOSX10.4u.sdk' + LCGDIR = '#../lib/darwin-8.x.i386' + CC = 'gcc-4.0' + CXX = 'g++-4.0' +else : + if 'Mac OS X 10.5' in MACOSX_SDK_CHECK: + # OSX 10.5/6 with Xcode 3.x + MAC_MIN_VERS = '10.5' + MACOSX_DEPLOYMENT_TARGET = '10.5' + MACOSX_SDK='/Developer/SDKs/MacOSX10.5.sdk' + LCGDIR = '#../lib/darwin-9.x.universal' + CC = 'gcc-4.2' + CXX = 'g++-4.2' + elif 'Mac OS X 10.6' in MACOSX_SDK_CHECK: + # OSX 10.6/7 with Xcode 4.x + MAC_MIN_VERS = '10.6' + MACOSX_DEPLOYMENT_TARGET = '10.6' + MACOSX_SDK='/Developer/SDKs/MacOSX10.6.sdk' + LCGDIR = '#../lib/darwin-9.x.universal' + CC = 'gcc-4.2' + CXX = 'g++-4.2' + else: + # OSX 10.8 with Xcode 4.4 and higher (no 10.6sdk! ) + MAC_MIN_VERS = '10.6' + MACOSX_DEPLOYMENT_TARGET = '10.6' + MACOSX_SDK='/Developer/SDKs/MacOSX10.7.sdk' + LCGDIR = '#../lib/darwin-9.x.universal' + CC = 'gcc' + CXX = 'g++' + +LIBDIR = '${LCGDIR}' + +if XCODE_CUR_VER >= '4.3': ## since version 4.3, XCode and developer dir are bundled ## + MACOSX_SDK = '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform' + MACOSX_SDK + +############################################################################# +################### Dependency settings ################## +############################################################################# + +#Defaults openMP to true if compiler handles it ( only gcc 4.6.1 and newer ) +# if your compiler does not have accurate suffix you may have to enable it by hand ! +if CC[:-2].endswith('4.6'): + WITH_BF_OPENMP = True # multithreading for fluids, cloth, sculpt and smoke +else: + WITH_BF_OPENMP = False + +# enable ffmpeg support +WITH_BF_FFMPEG = True +BF_FFMPEG = LIBDIR + '/ffmpeg' +BF_FFMPEG_INC = "${BF_FFMPEG}/include" +BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib' +BF_FFMPEG_LIB = 'avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg bz2' +#bz2 is a standard osx dynlib + +BF_PYTHON_VERSION = '3.3' +WITH_OSX_STATICPYTHON = True + +if WITH_OSX_STATICPYTHON: + # python 3.3 uses precompiled libraries in bf svn /lib by default + + BF_PYTHON = LIBDIR + '/python' + BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}m' + # BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}' + BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}m' + BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}' + # BF_PYTHON_LINKFLAGS = ['-u', '_PyMac_Error', '-framework', 'System'] +else: + # python 3.2 uses Python-framework additionally installed in /Library/Frameworks + + BF_PYTHON = '/Library/Frameworks/Python.framework/Versions/' + BF_PYTHON_INC = '${BF_PYTHON}${BF_PYTHON_VERSION}/include/python${BF_PYTHON_VERSION}m' + BF_PYTHON_BINARY = '${BF_PYTHON}${BF_PYTHON_VERSION}/bin/python${BF_PYTHON_VERSION}' + #BF_PYTHON_LIB = '' + BF_PYTHON_LIBPATH = '${BF_PYTHON}${BF_PYTHON_VERSION}/lib/python${BF_PYTHON_VERSION}/config-${BF_PYTHON_VERSION}m' + +WITH_BF_OPENAL = True +#different lib must be used following version of gcc +# for gcc 3.3 +#BF_OPENAL = LIBDIR + '/openal' +# for gcc 3.4 and ulterior +if MAC_PROC == 'powerpc': + BF_OPENAL = '#../lib/darwin-8.0.0-powerpc/openal' +else : + BF_OPENAL = LIBDIR + '/openal' + +WITH_BF_STATICOPENAL = False +BF_OPENAL_INC = '${BF_OPENAL}/include' # only headers from libdir needed for proper use of framework !!!! +#BF_OPENAL_LIB = 'openal' +#BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib' +# Warning, this static lib configuration is untested! users of this OS please confirm. +#BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a' + +# Warning, this static lib configuration is untested! users of this OS please confirm. +BF_CXX = '/usr' +WITH_BF_STATICCXX = False +BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a' + +# we use simply jack framework +WITH_BF_JACK = True +BF_JACK = '/Library/Frameworks/Jackmp.framework' +BF_JACK_INC = '${BF_JACK}/headers' +#BF_JACK_LIB = 'jack' # not used due framework +BF_JACK_LIBPATH = '${BF_JACK}' + +WITH_BF_SNDFILE = True +BF_SNDFILE = LIBDIR + '/sndfile' +BF_SNDFILE_INC = '${BF_SNDFILE}/include' +BF_SNDFILE_LIB = 'sndfile FLAC ogg vorbis vorbisenc' +BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib ${BF_FFMPEG}/lib' #ogg libs are stored in ffmpeg dir + +WITH_BF_SDL = True +BF_SDL = LIBDIR + '/sdl' #$(shell sdl-config --prefix) +BF_SDL_INC = '${BF_SDL}/include' #$(shell $(BF_SDL)/bin/sdl-config --cflags) +BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer +BF_SDL_LIBPATH = '${BF_SDL}/lib' + +WITH_BF_OPENEXR = True +WITH_BF_STATICOPENEXR = False +BF_OPENEXR = '${LCGDIR}/openexr' +BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR' +BF_OPENEXR_LIB = ' Iex Half IlmImf Imath IlmThread' +BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib' +# Warning, this static lib configuration is untested! users of this OS please confirm. +BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a' + +WITH_BF_DDS = True + +#Color Management System +WITH_BF_LCMS = False +BF_LCMS = LIBDIR + '/lcms' +BF_LCMS_INC = '${BF_LCMS}/include' +BF_LCMS_LIB = 'lcms' +BF_LCMS_LIBPATH = '${BF_LCMS}/lib' + +WITH_BF_JPEG = True +BF_JPEG = LIBDIR + '/jpeg' +BF_JPEG_INC = '${BF_JPEG}/include' +BF_JPEG_LIB = 'jpeg' +BF_JPEG_LIBPATH = '${BF_JPEG}/lib' + +WITH_BF_PNG = True +BF_PNG = LIBDIR + '/png' +BF_PNG_INC = '${BF_PNG}/include' +BF_PNG_LIB = 'png' +BF_PNG_LIBPATH = '${BF_PNG}/lib' + +WITH_BF_TIFF = True +BF_TIFF = LIBDIR + '/tiff' +BF_TIFF_INC = '${BF_TIFF}/include' +BF_TIFF_LIB = 'tiff' +BF_TIFF_LIBPATH = '${BF_TIFF}/lib' + +WITH_BF_ZLIB = True +BF_ZLIB = '/usr' +BF_ZLIB_INC = '${BF_ZLIB}/include' +BF_ZLIB_LIB = 'z' + +WITH_BF_INTERNATIONAL = True + +WITH_BF_GAMEENGINE = True +WITH_BF_PLAYER = True +WITH_BF_OCEANSIM = True + +WITH_BF_BULLET = True +BF_BULLET = '#extern/bullet2/src' +BF_BULLET_INC = '${BF_BULLET}' +BF_BULLET_LIB = 'extern_bullet' + +WITH_BF_FFTW3 = True +BF_FFTW3 = LIBDIR + '/fftw3' +BF_FFTW3_INC = '${BF_FFTW3}/include' +BF_FFTW3_LIB = 'libfftw3' +BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib' + +BF_FREETYPE = LIBDIR + '/freetype' +BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2' +BF_FREETYPE_LIB = 'freetype' +BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib' + +WITH_BF_QUICKTIME = True + +WITH_BF_ICONV = True +BF_ICONV = '/usr' +BF_ICONV_INC = '${BF_ICONV}/include' +BF_ICONV_LIB = 'iconv' +#BF_ICONV_LIBPATH = '${BF_ICONV}/lib' + +# Mesa Libs should go here if your using them as well.... +WITH_BF_STATICOPENGL = True +BF_OPENGL_LIB = 'GL GLU' +BF_OPENGL_LIBPATH = '/System/Library/Frameworks/OpenGL.framework/Libraries' +BF_OPENGL_LINKFLAGS = ['-framework', 'OpenGL'] + +#OpenCollada flags +WITH_BF_COLLADA = True +BF_COLLADA = '#source/blender/collada' +BF_COLLADA_INC = '${BF_COLLADA}' +BF_COLLADA_LIB = 'bf_collada' +BF_OPENCOLLADA = LIBDIR + '/opencollada' +BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include' +BF_OPENCOLLADA_LIB = 'OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils OpenCOLLADAStreamWriter MathMLSolver GeneratedSaxParser UTF xml2 buffer ftoa' +BF_OPENCOLLADA_LIBPATH = LIBDIR + '/opencollada' +BF_PCRE = LIBDIR + '/opencollada' +BF_PCRE_LIB = 'pcre' +BF_PCRE_LIBPATH = '${BF_PCRE}/lib' +#BF_EXPAT = '/usr' +#BF_EXPAT_LIB = 'expat' +#BF_EXPAT_LIBPATH = '/usr/lib' + +# Cycles +WITH_BF_CYCLES = True + +#OSL + +WITH_BF_CYCLES_OSL = True +BF_OSL = LIBDIR + '/osl' +BF_OSL_INC = '${BF_OSL}/include' +# note oslexec would passed via program linkflags, which is needed to +# make llvm happy with osl_allocate_closure_component +#BF_OSL_LIB = 'oslcomp oslquery' +BF_OSL_LIBPATH = '${BF_OSL}/lib' +BF_OSL_COMPILER = '${BF_OSL}/bin/oslc' + +WITH_BF_LLVM = True +BF_LLVM = LIBDIR + '/llvm' +BF_LLVM_LIB = 'LLVMBitReader LLVMJIT LLVMipo LLVMVectorize LLVMBitWriter LLVMX86CodeGen LLVMX86Desc LLVMX86Info LLVMX86AsmPrinter ' + \ + 'LLVMX86Utils LLVMSelectionDAG LLVMCodeGen LLVMScalarOpts LLVMInstCombine LLVMTransformUtils LLVMipa LLVMAnalysis LLVMExecutionEngine ' + \ + 'LLVMTarget LLVMMC LLVMCore LLVMSupport' +BF_LLVM_LIBPATH = '${BF_LLVM}/lib' + +WITH_BF_OIIO = True +BF_OIIO = LIBDIR + '/openimageio' +BF_OIIO_INC = '${BF_OIIO}/include' +BF_OIIO_LIB = 'OpenImageIO' +BF_OIIO_LIBPATH = '${BF_OIIO}/lib' + +WITH_BF_OCIO = True +BF_OCIO = LIBDIR + '/opencolorio' +BF_OCIO_INC = '${BF_OCIO}/include' +BF_OCIO_LIB = 'OpenColorIO tinyxml yaml-cpp' +BF_OCIO_LIBPATH = '${BF_OCIO}/lib' + +WITH_BF_BOOST = True +BF_BOOST = LIBDIR + '/boost' +BF_BOOST_INC = '${BF_BOOST}/include' +BF_BOOST_LIB = 'boost_date_time-mt boost_filesystem-mt boost_regex-mt boost_system-mt boost_thread-mt boost_wave-mt' +BF_BOOST_LIB_INTERNATIONAL = 'boost_locale-mt' +BF_BOOST_LIBPATH = '${BF_BOOST}/lib' + +WITH_BF_CYCLES_CUDA_BINARIES = True +BF_CYCLES_CUDA_NVCC = '/usr/local/cuda/bin/nvcc' +BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30'] + +#Ray trace optimization +if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'i386': + WITH_BF_RAYOPTIMIZATION = True +else: + WITH_BF_RAYOPTIMIZATION = False +if MACOSX_ARCHITECTURE == 'i386': + BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse'] +elif MACOSX_ARCHITECTURE == 'x86_64': + BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-msse2'] + +# SpaceNavigator and related 3D mice, driver must be 3DxWare 10 Beta 4 (Mac OS X) or later ! +WITH_BF_3DMOUSE = True + +############################################################################# +################### various compile settings and flags ################## +############################################################################# + +BF_QUIET = '1' # suppress verbose output + +if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64': + ARCH_FLAGS = ['-m64'] +else: + ARCH_FLAGS = ['-m32'] + +CFLAGS = [] +CXXFLAGS = [] +CCFLAGS = ['-pipe','-funsigned-char'] + +CPPFLAGS = list(ARCH_FLAGS) + +if WITH_GHOST_COCOA: + PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Cocoa','-framework','Carbon','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS +else: + PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Carbon','-framework','AGL','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS + +if WITH_BF_QUICKTIME: + if USE_QTKIT: + PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QTKit'] + else: + PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QuickTime'] + +if not WITH_OSX_STATICPYTHON: + PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','Python'] + + +#note to build succesfully on 10.3.9 SDK you need to patch 10.3.9 by adding the SystemStubs.a lib from 10.4 +#for > 10.7.sdk, SystemStubs needs to be excluded (lib doesn't exist anymore) +if MACOSX_SDK.endswith("10.7.sdk") or MACOSX_SDK.endswith("10.8.sdk"): + LLIBS = ['stdc++'] +else: + LLIBS = ['stdc++', 'SystemStubs'] + +# some flags shuffling for different OS versions +if MAC_MIN_VERS == '10.3': + CCFLAGS = ['-fuse-cxa-atexit'] + CCFLAGS + PLATFORM_LINKFLAGS = ['-fuse-cxa-atexit'] + PLATFORM_LINKFLAGS + LLIBS.append('crt3.o') + +if USE_SDK: + SDK_FLAGS=['-isysroot', MACOSX_SDK,'-mmacosx-version-min='+MAC_MIN_VERS,'-arch',MACOSX_ARCHITECTURE] + PLATFORM_LINKFLAGS = ['-mmacosx-version-min='+MAC_MIN_VERS,'-Wl','-isysroot',MACOSX_SDK,'-arch',MACOSX_ARCHITECTURE]+PLATFORM_LINKFLAGS + CCFLAGS=SDK_FLAGS+CCFLAGS + CXXFLAGS=SDK_FLAGS+CXXFLAGS + +#Intel Macs are CoreDuo and Up +if MACOSX_ARCHITECTURE == 'i386' or MACOSX_ARCHITECTURE == 'x86_64': + REL_CFLAGS = [] + REL_CXXFLAGS = [] + REL_CCFLAGS = ['-DNDEBUG', '-O2','-ftree-vectorize','-msse','-msse2','-msse3','-mfpmath=sse'] +else: + CCFLAGS += ['-fno-strict-aliasing'] + REL_CFLAGS = [] + REL_CXXFLAGS = [] + REL_CCFLAGS = ['-DNDEBUG', '-O2'] + +# Intel 64bit Macs are Core2Duo and up +if MACOSX_ARCHITECTURE == 'x86_64': + REL_CCFLAGS += ['-march=core2','-mssse3','-with-tune=core2','-enable-threads'] + +CC_WARN = ['-Wall'] +C_WARN = ['-Wno-char-subscripts', '-Wpointer-arith', '-Wcast-align', '-Wdeclaration-after-statement', '-Wno-unknown-pragmas', '-Wstrict-prototypes'] +CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare'] + +##FIX_STUBS_WARNINGS = -Wno-unused + +##LOPTS = --dynamic +##DYNLDFLAGS = -shared $(LDFLAGS) + +BF_PROFILE_CCFLAGS = ['-pg', '-g '] +BF_PROFILE_LINKFLAGS = ['-pg'] +BF_PROFILE = False + +BF_DEBUG = False +BF_DEBUG_CCFLAGS = ['-g', '-D_DEBUG'] + +############################################################################# +################### Output directories ################## +############################################################################# + +BF_BUILDDIR='../build/darwin' +BF_INSTALLDIR='../install/darwin' diff --git a/build_files/buildbot/config/user-config-mac-x86_64.py b/build_files/buildbot/config/user-config-mac-x86_64.py new file mode 100644 index 00000000000..0331bdf3ab2 --- /dev/null +++ b/build_files/buildbot/config/user-config-mac-x86_64.py @@ -0,0 +1,420 @@ +# +# Note : if you want to alter this file +# copy it as a whole in the upper folder +# as user-config.py +# dont create a new file with only some +# vars changed. + +import commands + +# IMPORTANT NOTE : OFFICIAL BUILDS SHOULD BE DONE WITH SDKs +USE_SDK=True + +############################################################################# +################### Cocoa & architecture settings ################## +############################################################################# +WITH_GHOST_COCOA=True +MACOSX_ARCHITECTURE = 'x86_64' # valid archs: ppc, i386, ppc64, x86_64 + + +cmd = 'uname -p' +MAC_PROC=commands.getoutput(cmd) +cmd = 'uname -r' +cmd_res=commands.getoutput(cmd) + +if cmd_res[:1]=='7': + MAC_CUR_VER='10.3' +elif cmd_res[:1]=='8': + MAC_CUR_VER='10.4' +elif cmd_res[:1]=='9': + MAC_CUR_VER='10.5' +elif cmd_res[:2]=='10': + MAC_CUR_VER='10.6' +elif cmd_res[:2]=='11': + MAC_CUR_VER='10.7' +elif cmd_res[:2]=='12': + MAC_CUR_VER='10.8' +cmd = 'xcodebuild -version' +cmd_xcode=commands.getoutput(cmd) +XCODE_CUR_VER=cmd_xcode[6:][:3] # truncate output to major.minor version +cmd = 'xcodebuild -showsdks' +cmd_sdk=commands.getoutput(cmd) +MACOSX_SDK_CHECK=cmd_sdk + +if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64': + USE_QTKIT=True # Carbon quicktime is not available for 64bit + + +# Default target OSX settings per architecture +# Can be customized + +if MACOSX_ARCHITECTURE == 'ppc' and MAC_CUR_VER == '10.4': +# all releases are now made for 10.5 ! +# MAC_MIN_VERS = '10.3' +# MACOSX_SDK='/Developer/SDKs/MacOSX10.3.9.sdk' +# LCGDIR = '#../lib/darwin-6.1-powerpc' +# CC = 'gcc-3.3' +# CXX = 'g++-3.3' + MAC_MIN_VERS = '10.4' + MACOSX_DEPLOYMENT_TARGET = '10.4' + MACOSX_SDK='/Developer/SDKs/MacOSX10.4u.sdk' + LCGDIR = '#../lib/darwin-8.0.0-powerpc' + CC = 'gcc-4.0' + CXX = 'g++-4.0' +elif MACOSX_ARCHITECTURE == 'i386' and MAC_CUR_VER == '10.4': + MAC_MIN_VERS = '10.4' + MACOSX_DEPLOYMENT_TARGET = '10.4' + MACOSX_SDK='/Developer/SDKs/MacOSX10.4u.sdk' + LCGDIR = '#../lib/darwin-8.x.i386' + CC = 'gcc-4.0' + CXX = 'g++-4.0' +else : + if 'Mac OS X 10.5' in MACOSX_SDK_CHECK: + # OSX 10.5/6 with Xcode 3.x + MAC_MIN_VERS = '10.5' + MACOSX_DEPLOYMENT_TARGET = '10.5' + MACOSX_SDK='/Developer/SDKs/MacOSX10.5.sdk' + LCGDIR = '#../lib/darwin-9.x.universal' + CC = 'gcc-4.2' + CXX = 'g++-4.2' + elif 'Mac OS X 10.6' in MACOSX_SDK_CHECK: + # OSX 10.6/7 with Xcode 4.x + MAC_MIN_VERS = '10.6' + MACOSX_DEPLOYMENT_TARGET = '10.6' + MACOSX_SDK='/Developer/SDKs/MacOSX10.6.sdk' + LCGDIR = '#../lib/darwin-9.x.universal' + CC = 'gcc-4.2' + CXX = 'g++-4.2' + else: + # OSX 10.8 with Xcode 4.4 and higher (no 10.6sdk! ) + MAC_MIN_VERS = '10.6' + MACOSX_DEPLOYMENT_TARGET = '10.6' + MACOSX_SDK='/Developer/SDKs/MacOSX10.7.sdk' + LCGDIR = '#../lib/darwin-9.x.universal' + CC = 'gcc' + CXX = 'g++' + +LIBDIR = '${LCGDIR}' + +if XCODE_CUR_VER >= '4.3': ## since version 4.3, XCode and developer dir are bundled ## + MACOSX_SDK = '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform' + MACOSX_SDK + +############################################################################# +################### Dependency settings ################## +############################################################################# + +#Defaults openMP to true if compiler handles it ( only gcc 4.6.1 and newer ) +# if your compiler does not have accurate suffix you may have to enable it by hand ! +if CC[:-2].endswith('4.6'): + WITH_BF_OPENMP = True # multithreading for fluids, cloth, sculpt and smoke +else: + WITH_BF_OPENMP = False + +# enable ffmpeg support +WITH_BF_FFMPEG = True +BF_FFMPEG = LIBDIR + '/ffmpeg' +BF_FFMPEG_INC = "${BF_FFMPEG}/include" +BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib' +BF_FFMPEG_LIB = 'avcodec avdevice avformat avutil mp3lame swscale x264 xvidcore theora theoradec theoraenc vorbis vorbisenc vorbisfile ogg bz2' +#bz2 is a standard osx dynlib + +BF_PYTHON_VERSION = '3.3' +WITH_OSX_STATICPYTHON = True + +if WITH_OSX_STATICPYTHON: + # python 3.3 uses precompiled libraries in bf svn /lib by default + + BF_PYTHON = LIBDIR + '/python' + BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}m' + # BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}' + BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}m' + BF_PYTHON_LIBPATH = '${BF_PYTHON}/lib/python${BF_PYTHON_VERSION}' + # BF_PYTHON_LINKFLAGS = ['-u', '_PyMac_Error', '-framework', 'System'] +else: + # python 3.2 uses Python-framework additionally installed in /Library/Frameworks + + BF_PYTHON = '/Library/Frameworks/Python.framework/Versions/' + BF_PYTHON_INC = '${BF_PYTHON}${BF_PYTHON_VERSION}/include/python${BF_PYTHON_VERSION}m' + BF_PYTHON_BINARY = '${BF_PYTHON}${BF_PYTHON_VERSION}/bin/python${BF_PYTHON_VERSION}' + #BF_PYTHON_LIB = '' + BF_PYTHON_LIBPATH = '${BF_PYTHON}${BF_PYTHON_VERSION}/lib/python${BF_PYTHON_VERSION}/config-${BF_PYTHON_VERSION}m' + +WITH_BF_OPENAL = True +#different lib must be used following version of gcc +# for gcc 3.3 +#BF_OPENAL = LIBDIR + '/openal' +# for gcc 3.4 and ulterior +if MAC_PROC == 'powerpc': + BF_OPENAL = '#../lib/darwin-8.0.0-powerpc/openal' +else : + BF_OPENAL = LIBDIR + '/openal' + +WITH_BF_STATICOPENAL = False +BF_OPENAL_INC = '${BF_OPENAL}/include' # only headers from libdir needed for proper use of framework !!!! +#BF_OPENAL_LIB = 'openal' +#BF_OPENAL_LIBPATH = '${BF_OPENAL}/lib' +# Warning, this static lib configuration is untested! users of this OS please confirm. +#BF_OPENAL_LIB_STATIC = '${BF_OPENAL}/lib/libopenal.a' + +# Warning, this static lib configuration is untested! users of this OS please confirm. +BF_CXX = '/usr' +WITH_BF_STATICCXX = False +BF_CXX_LIB_STATIC = '${BF_CXX}/lib/libstdc++.a' + +# we use simply jack framework +WITH_BF_JACK = True +BF_JACK = '/Library/Frameworks/Jackmp.framework' +BF_JACK_INC = '${BF_JACK}/headers' +#BF_JACK_LIB = 'jack' # not used due framework +BF_JACK_LIBPATH = '${BF_JACK}' + +WITH_BF_SNDFILE = True +BF_SNDFILE = LIBDIR + '/sndfile' +BF_SNDFILE_INC = '${BF_SNDFILE}/include' +BF_SNDFILE_LIB = 'sndfile FLAC ogg vorbis vorbisenc' +BF_SNDFILE_LIBPATH = '${BF_SNDFILE}/lib ${BF_FFMPEG}/lib' #ogg libs are stored in ffmpeg dir + +WITH_BF_SDL = True +BF_SDL = LIBDIR + '/sdl' #$(shell sdl-config --prefix) +BF_SDL_INC = '${BF_SDL}/include' #$(shell $(BF_SDL)/bin/sdl-config --cflags) +BF_SDL_LIB = 'SDL' #BF_SDL #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer +BF_SDL_LIBPATH = '${BF_SDL}/lib' + +WITH_BF_OPENEXR = True +WITH_BF_STATICOPENEXR = False +BF_OPENEXR = '${LCGDIR}/openexr' +BF_OPENEXR_INC = '${BF_OPENEXR}/include ${BF_OPENEXR}/include/OpenEXR' +BF_OPENEXR_LIB = ' Iex Half IlmImf Imath IlmThread' +BF_OPENEXR_LIBPATH = '${BF_OPENEXR}/lib' +# Warning, this static lib configuration is untested! users of this OS please confirm. +BF_OPENEXR_LIB_STATIC = '${BF_OPENEXR}/lib/libHalf.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_OPENEXR}/lib/libIex.a ${BF_OPENEXR}/lib/libImath.a ${BF_OPENEXR}/lib/libIlmThread.a' + +WITH_BF_DDS = True + +#Color Management System +WITH_BF_LCMS = False +BF_LCMS = LIBDIR + '/lcms' +BF_LCMS_INC = '${BF_LCMS}/include' +BF_LCMS_LIB = 'lcms' +BF_LCMS_LIBPATH = '${BF_LCMS}/lib' + +WITH_BF_JPEG = True +BF_JPEG = LIBDIR + '/jpeg' +BF_JPEG_INC = '${BF_JPEG}/include' +BF_JPEG_LIB = 'jpeg' +BF_JPEG_LIBPATH = '${BF_JPEG}/lib' + +WITH_BF_PNG = True +BF_PNG = LIBDIR + '/png' +BF_PNG_INC = '${BF_PNG}/include' +BF_PNG_LIB = 'png' +BF_PNG_LIBPATH = '${BF_PNG}/lib' + +WITH_BF_TIFF = True +BF_TIFF = LIBDIR + '/tiff' +BF_TIFF_INC = '${BF_TIFF}/include' +BF_TIFF_LIB = 'tiff' +BF_TIFF_LIBPATH = '${BF_TIFF}/lib' + +WITH_BF_ZLIB = True +BF_ZLIB = '/usr' +BF_ZLIB_INC = '${BF_ZLIB}/include' +BF_ZLIB_LIB = 'z' + +WITH_BF_INTERNATIONAL = True + +WITH_BF_GAMEENGINE = True +WITH_BF_PLAYER = True +WITH_BF_OCEANSIM = True + +WITH_BF_BULLET = True +BF_BULLET = '#extern/bullet2/src' +BF_BULLET_INC = '${BF_BULLET}' +BF_BULLET_LIB = 'extern_bullet' + +WITH_BF_FFTW3 = True +BF_FFTW3 = LIBDIR + '/fftw3' +BF_FFTW3_INC = '${BF_FFTW3}/include' +BF_FFTW3_LIB = 'libfftw3' +BF_FFTW3_LIBPATH = '${BF_FFTW3}/lib' + +BF_FREETYPE = LIBDIR + '/freetype' +BF_FREETYPE_INC = '${BF_FREETYPE}/include ${BF_FREETYPE}/include/freetype2' +BF_FREETYPE_LIB = 'freetype' +BF_FREETYPE_LIBPATH = '${BF_FREETYPE}/lib' + +WITH_BF_QUICKTIME = True + +WITH_BF_ICONV = True +BF_ICONV = '/usr' +BF_ICONV_INC = '${BF_ICONV}/include' +BF_ICONV_LIB = 'iconv' +#BF_ICONV_LIBPATH = '${BF_ICONV}/lib' + +# Mesa Libs should go here if your using them as well.... +WITH_BF_STATICOPENGL = True +BF_OPENGL_LIB = 'GL GLU' +BF_OPENGL_LIBPATH = '/System/Library/Frameworks/OpenGL.framework/Libraries' +BF_OPENGL_LINKFLAGS = ['-framework', 'OpenGL'] + +#OpenCollada flags +WITH_BF_COLLADA = True +BF_COLLADA = '#source/blender/collada' +BF_COLLADA_INC = '${BF_COLLADA}' +BF_COLLADA_LIB = 'bf_collada' +BF_OPENCOLLADA = LIBDIR + '/opencollada' +BF_OPENCOLLADA_INC = '${BF_OPENCOLLADA}/include' +BF_OPENCOLLADA_LIB = 'OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils OpenCOLLADAStreamWriter MathMLSolver GeneratedSaxParser UTF xml2 buffer ftoa' +BF_OPENCOLLADA_LIBPATH = LIBDIR + '/opencollada' +BF_PCRE = LIBDIR + '/opencollada' +BF_PCRE_LIB = 'pcre' +BF_PCRE_LIBPATH = '${BF_PCRE}/lib' +#BF_EXPAT = '/usr' +#BF_EXPAT_LIB = 'expat' +#BF_EXPAT_LIBPATH = '/usr/lib' + +# Cycles +WITH_BF_CYCLES = True + +#OSL + +WITH_BF_CYCLES_OSL = True +BF_OSL = LIBDIR + '/osl' +BF_OSL_INC = '${BF_OSL}/include' +# note oslexec would passed via program linkflags, which is needed to +# make llvm happy with osl_allocate_closure_component +#BF_OSL_LIB = 'oslcomp oslquery' +BF_OSL_LIBPATH = '${BF_OSL}/lib' +BF_OSL_COMPILER = '${BF_OSL}/bin/oslc' + +WITH_BF_LLVM = True +BF_LLVM = LIBDIR + '/llvm' +BF_LLVM_LIB = 'LLVMBitReader LLVMJIT LLVMipo LLVMVectorize LLVMBitWriter LLVMX86CodeGen LLVMX86Desc LLVMX86Info LLVMX86AsmPrinter ' + \ + 'LLVMX86Utils LLVMSelectionDAG LLVMCodeGen LLVMScalarOpts LLVMInstCombine LLVMTransformUtils LLVMipa LLVMAnalysis LLVMExecutionEngine ' + \ + 'LLVMTarget LLVMMC LLVMCore LLVMSupport' +BF_LLVM_LIBPATH = '${BF_LLVM}/lib' + +WITH_BF_OIIO = True +BF_OIIO = LIBDIR + '/openimageio' +BF_OIIO_INC = '${BF_OIIO}/include' +BF_OIIO_LIB = 'OpenImageIO' +BF_OIIO_LIBPATH = '${BF_OIIO}/lib' + +WITH_BF_OCIO = True +BF_OCIO = LIBDIR + '/opencolorio' +BF_OCIO_INC = '${BF_OCIO}/include' +BF_OCIO_LIB = 'OpenColorIO tinyxml yaml-cpp' +BF_OCIO_LIBPATH = '${BF_OCIO}/lib' + +WITH_BF_BOOST = True +BF_BOOST = LIBDIR + '/boost' +BF_BOOST_INC = '${BF_BOOST}/include' +BF_BOOST_LIB = 'boost_date_time-mt boost_filesystem-mt boost_regex-mt boost_system-mt boost_thread-mt boost_wave-mt' +BF_BOOST_LIB_INTERNATIONAL = 'boost_locale-mt' +BF_BOOST_LIBPATH = '${BF_BOOST}/lib' + +WITH_BF_CYCLES_CUDA_BINARIES = True +BF_CYCLES_CUDA_NVCC = '/usr/local/cuda/bin/nvcc' +BF_CYCLES_CUDA_BINARIES_ARCH = ['sm_20', 'sm_21', 'sm_30'] + +#Ray trace optimization +if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'i386': + WITH_BF_RAYOPTIMIZATION = True +else: + WITH_BF_RAYOPTIMIZATION = False +if MACOSX_ARCHITECTURE == 'i386': + BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse'] +elif MACOSX_ARCHITECTURE == 'x86_64': + BF_RAYOPTIMIZATION_SSE_FLAGS = ['-msse','-msse2'] + +# SpaceNavigator and related 3D mice, driver must be 3DxWare 10 Beta 4 (Mac OS X) or later ! +WITH_BF_3DMOUSE = True + +############################################################################# +################### various compile settings and flags ################## +############################################################################# + +BF_QUIET = '1' # suppress verbose output + +if MACOSX_ARCHITECTURE == 'x86_64' or MACOSX_ARCHITECTURE == 'ppc64': + ARCH_FLAGS = ['-m64'] +else: + ARCH_FLAGS = ['-m32'] + +CFLAGS = [] +CXXFLAGS = [] +CCFLAGS = ['-pipe','-funsigned-char'] + +CPPFLAGS = list(ARCH_FLAGS) + +if WITH_GHOST_COCOA: + PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Cocoa','-framework','Carbon','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS +else: + PLATFORM_LINKFLAGS = ['-fexceptions','-framework','CoreServices','-framework','Foundation','-framework','IOKit','-framework','AppKit','-framework','Carbon','-framework','AGL','-framework','AudioUnit','-framework','AudioToolbox','-framework','CoreAudio','-framework','OpenAL']+ARCH_FLAGS + +if WITH_BF_QUICKTIME: + if USE_QTKIT: + PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QTKit'] + else: + PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','QuickTime'] + +if not WITH_OSX_STATICPYTHON: + PLATFORM_LINKFLAGS = PLATFORM_LINKFLAGS+['-framework','Python'] + + +#note to build succesfully on 10.3.9 SDK you need to patch 10.3.9 by adding the SystemStubs.a lib from 10.4 +#for > 10.7.sdk, SystemStubs needs to be excluded (lib doesn't exist anymore) +if MACOSX_SDK.endswith("10.7.sdk") or MACOSX_SDK.endswith("10.8.sdk"): + LLIBS = ['stdc++'] +else: + LLIBS = ['stdc++', 'SystemStubs'] + +# some flags shuffling for different OS versions +if MAC_MIN_VERS == '10.3': + CCFLAGS = ['-fuse-cxa-atexit'] + CCFLAGS + PLATFORM_LINKFLAGS = ['-fuse-cxa-atexit'] + PLATFORM_LINKFLAGS + LLIBS.append('crt3.o') + +if USE_SDK: + SDK_FLAGS=['-isysroot', MACOSX_SDK,'-mmacosx-version-min='+MAC_MIN_VERS,'-arch',MACOSX_ARCHITECTURE] + PLATFORM_LINKFLAGS = ['-mmacosx-version-min='+MAC_MIN_VERS,'-Wl','-isysroot',MACOSX_SDK,'-arch',MACOSX_ARCHITECTURE]+PLATFORM_LINKFLAGS + CCFLAGS=SDK_FLAGS+CCFLAGS + CXXFLAGS=SDK_FLAGS+CXXFLAGS + +#Intel Macs are CoreDuo and Up +if MACOSX_ARCHITECTURE == 'i386' or MACOSX_ARCHITECTURE == 'x86_64': + REL_CFLAGS = [] + REL_CXXFLAGS = [] + REL_CCFLAGS = ['-DNDEBUG', '-O2','-ftree-vectorize','-msse','-msse2','-msse3','-mfpmath=sse'] +else: + CCFLAGS += ['-fno-strict-aliasing'] + REL_CFLAGS = [] + REL_CXXFLAGS = [] + REL_CCFLAGS = ['-DNDEBUG', '-O2'] + +# Intel 64bit Macs are Core2Duo and up +if MACOSX_ARCHITECTURE == 'x86_64': + REL_CCFLAGS += ['-march=core2','-mssse3','-with-tune=core2','-enable-threads'] + +CC_WARN = ['-Wall'] +C_WARN = ['-Wno-char-subscripts', '-Wpointer-arith', '-Wcast-align', '-Wdeclaration-after-statement', '-Wno-unknown-pragmas', '-Wstrict-prototypes'] +CXX_WARN = ['-Wno-invalid-offsetof', '-Wno-sign-compare'] + +##FIX_STUBS_WARNINGS = -Wno-unused + +##LOPTS = --dynamic +##DYNLDFLAGS = -shared $(LDFLAGS) + +BF_PROFILE_CCFLAGS = ['-pg', '-g '] +BF_PROFILE_LINKFLAGS = ['-pg'] +BF_PROFILE = False + +BF_DEBUG = False +BF_DEBUG_CCFLAGS = ['-g', '-D_DEBUG'] + +############################################################################# +################### Output directories ################## +############################################################################# + +BF_BUILDDIR='../build/darwin' +BF_INSTALLDIR='../install/darwin' diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index dab8a8e6483..0b11e642035 100644 --- a/build_files/buildbot/slave_compile.py +++ b/build_files/buildbot/slave_compile.py @@ -57,6 +57,18 @@ else: scons_cmd = ['python', 'scons/scons.py'] scons_options = ['BF_FANCY=False'] + # We're using the same rules as release builder, so tweak + # build and install dirs + build_dir = os.path.join('..', 'build', builder) + install_dir = os.path.join('..', 'install', builder) + + # Clean install directory so we'll be sure there's no + if os.path.isdir(install_dir): + shutil.rmtree(install_dir) + + buildbot_dir = os.path.dirname(os.path.realpath(__file__)) + config_dir = os.path.join(buildbot_dir, 'config') + if builder.find('linux') != -1: import shutil @@ -81,20 +93,8 @@ else: prog_scons_cmd = ['schroot', '-c', chroot_name, '--'] + scons_cmd cuda_scons_cmd = ['schroot', '-c', cuda_chroot, '--'] + scons_cmd - # We're using the same rules as release builder, so tweak - # build and install dirs - build_dir = os.path.join('..', 'build', builder) - install_dir = os.path.join('..', 'install', builder) - common_options = ['BF_INSTALLDIR=' + install_dir] + scons_options - # Clean install directory so we'll be sure there's no - if os.path.isdir(install_dir): - shutil.rmtree(install_dir) - - buildbot_dir = os.path.dirname(os.path.realpath(__file__)) - config_dir = os.path.join(buildbot_dir, 'config') - for config in configs: config_fpath = os.path.join(config_dir, config) @@ -143,5 +143,13 @@ else: if builder.find('mingw') != -1: scons_options.append('BF_TOOLSET=mingw') + elif builder.find('mac') != -1: + if builder.find('x86_64') != -1: + config = 'user-config-mac-x86_64.py' + else: + config = 'user-config-mac-i386.py' + + scons_options.append('BF_CONFIG=' + os.path.join(config_dir, config)) + retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options) sys.exit(retcode) diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py index 3d4f423be9c..569b996d7a0 100644 --- a/build_files/buildbot/slave_pack.py +++ b/build_files/buildbot/slave_pack.py @@ -43,12 +43,12 @@ if builder.find('scons') != -1: os.chdir('../blender') scons_options = ['BF_QUICK=slnt', 'BUILDBOT_BRANCH=' + branch, 'buildslave', 'BF_FANCY=False'] - if builder.find('linux') != -1: - buildbot_dir = os.path.dirname(os.path.realpath(__file__)) - config_dir = os.path.join(buildbot_dir, 'config') - build_dir = os.path.join('..', 'build', builder) - install_dir = os.path.join('..', 'install', builder) + buildbot_dir = os.path.dirname(os.path.realpath(__file__)) + config_dir = os.path.join(buildbot_dir, 'config') + build_dir = os.path.join('..', 'build', builder) + install_dir = os.path.join('..', 'install', builder) + if builder.find('linux') != -1: scons_options += ['WITH_BF_NOBLENDER=True', 'WITH_BF_PLAYER=False', 'BF_BUILDDIR=' + build_dir, 'BF_INSTALLDIR=' + install_dir, @@ -98,6 +98,14 @@ if builder.find('scons') != -1: if builder.find('mingw') != -1: scons_options.append('BF_TOOLSET=mingw') + elif builder.find('mac') != -1: + if builder.find('x86_64') != -1: + config = 'user-config-mac-x86_64.py' + else: + config = 'user-config-mac-i386.py' + + scons_options.append('BF_CONFIG=' + os.path.join(config_dir, config)) + retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options) sys.exit(retcode) -- cgit v1.2.3 From ed1c22db00630b427154f0608e1028660ce51be1 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 11 Mar 2013 09:11:46 +0000 Subject: Fix first regression introduced with r55173: need to import shutil before using methods from it Otherwise linux buildbot fails dramatically. That revision also leads to msvc runtime libs being removed, will fix this in separate commit. Take more respect for such creepy as linux and windows platforms, they're not so bad! --- build_files/buildbot/slave_compile.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'build_files') diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index 0b11e642035..38b621a9055 100644 --- a/build_files/buildbot/slave_compile.py +++ b/build_files/buildbot/slave_compile.py @@ -21,6 +21,7 @@ import os import subprocess import sys +import shutil # get builder name if len(sys.argv) < 2: @@ -70,8 +71,6 @@ else: config_dir = os.path.join(buildbot_dir, 'config') if builder.find('linux') != -1: - import shutil - configs = [] if builder.endswith('linux_glibc211_x86_64_scons'): configs = ['user-config-player-glibc211-x86_64.py', -- cgit v1.2.3 From 1a0789dc72553ef6ab133c1d60212448e4f329d9 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 11 Mar 2013 10:49:51 +0000 Subject: Windows buildbot tweaks Make it so install directory is being nicely cleaned before next build, which makes it automatically removing all old files from previous installations. --- build_files/buildbot/slave_compile.py | 10 ++++++++++ build_files/buildbot/slave_pack.py | 2 ++ 2 files changed, 12 insertions(+) (limited to 'build_files') diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index 38b621a9055..26966c8abe1 100644 --- a/build_files/buildbot/slave_compile.py +++ b/build_files/buildbot/slave_compile.py @@ -136,6 +136,8 @@ else: if builder.find('win64') != -1: bitness = '64' + scons_options.append('BF_INSTALLDIR=' + install_dir) + scons_options.append('BF_BUILDDIR=' + build_dir) scons_options.append('BF_BITNESS=' + bitness) scons_options.append('WITH_BF_CYCLES_CUDA_BINARIES=True') scons_options.append('BF_CYCLES_CUDA_NVCC=nvcc.exe') @@ -151,4 +153,12 @@ else: scons_options.append('BF_CONFIG=' + os.path.join(config_dir, config)) retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options) + if retcode == 0: + dlls = ('msvcm90.dll', 'msvcp90.dll', 'msvcr90.dll', 'vcomp90.dll', 'Microsoft.VC90.CRT.manifest', 'Microsoft.VC90.OpenMP.manifest') + if bitness == '32': + dlls_path = 'C:\\b\\redist\\amd64' + else: + dlls_path = 'C:\\b\\redist\\x86' + for dll in dlls: + shutil.copyfile(os.path.join(dlls_path, dll), os.path.join(install_dir, dll)) sys.exit(retcode) diff --git a/build_files/buildbot/slave_pack.py b/build_files/buildbot/slave_pack.py index 569b996d7a0..3c2569e4a69 100644 --- a/build_files/buildbot/slave_pack.py +++ b/build_files/buildbot/slave_pack.py @@ -92,6 +92,8 @@ if builder.find('scons') != -1: if builder.find('win64') != -1: bitness = '64' + scons_options.append('BF_INSTALLDIR=' + install_dir) + scons_options.append('BF_BUILDDIR=' + build_dir) scons_options.append('BF_BITNESS=' + bitness) scons_options.append('WITH_BF_CYCLES_CUDA_BINARIES=True') scons_options.append('BF_CYCLES_CUDA_NVCC=nvcc.exe') -- cgit v1.2.3 From b93c44b8ccffeb59929aec0d4777c9fd1760ab95 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Mon, 11 Mar 2013 14:16:41 +0000 Subject: Mixed paths to redist libraries in recent commit --- build_files/buildbot/slave_compile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'build_files') diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index 26966c8abe1..259b42760f8 100644 --- a/build_files/buildbot/slave_compile.py +++ b/build_files/buildbot/slave_compile.py @@ -156,9 +156,9 @@ else: if retcode == 0: dlls = ('msvcm90.dll', 'msvcp90.dll', 'msvcr90.dll', 'vcomp90.dll', 'Microsoft.VC90.CRT.manifest', 'Microsoft.VC90.OpenMP.manifest') if bitness == '32': - dlls_path = 'C:\\b\\redist\\amd64' - else: dlls_path = 'C:\\b\\redist\\x86' + else: + dlls_path = 'C:\\b\\redist\\amd64' for dll in dlls: shutil.copyfile(os.path.join(dlls_path, dll), os.path.join(install_dir, dll)) sys.exit(retcode) -- cgit v1.2.3 From 660be3da39a419c17c953c6a5f483903129f886f Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Mon, 11 Mar 2013 20:27:38 +0000 Subject: use gcc warning -Wredundant-decls, exposes some odd/duplicate declarations which have been removed. --- build_files/cmake/macros.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'build_files') diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 56ac48bfa61..f3e00be4c53 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -489,6 +489,7 @@ macro(remove_strict_flags) remove_cc_flag("-Wmissing-prototypes") remove_cc_flag("-Wunused-parameter") remove_cc_flag("-Wwrite-strings") + remove_cc_flag("-Wredundant-decls") remove_cc_flag("-Wundef") remove_cc_flag("-Wshadow") remove_cc_flag("-Werror=[^ ]+") -- cgit v1.2.3 From ff65a6d457cbbb79a77269a039ce37980f503383 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 12 Mar 2013 09:19:38 +0000 Subject: Made a mistake in recent windows buildbot tweaks. Didn't count indentation correct.. --- build_files/buildbot/slave_compile.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'build_files') diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index 259b42760f8..e6aef6aaa31 100644 --- a/build_files/buildbot/slave_compile.py +++ b/build_files/buildbot/slave_compile.py @@ -144,6 +144,13 @@ else: if builder.find('mingw') != -1: scons_options.append('BF_TOOLSET=mingw') + dlls = ('msvcm90.dll', 'msvcp90.dll', 'msvcr90.dll', 'vcomp90.dll', 'Microsoft.VC90.CRT.manifest', 'Microsoft.VC90.OpenMP.manifest') + if bitness == '32': + dlls_path = 'C:\\b\\redist\\x86' + else: + dlls_path = 'C:\\b\\redist\\amd64' + for dll in dlls: + shutil.copyfile(os.path.join(dlls_path, dll), os.path.join(install_dir, dll)) elif builder.find('mac') != -1: if builder.find('x86_64') != -1: config = 'user-config-mac-x86_64.py' @@ -153,12 +160,4 @@ else: scons_options.append('BF_CONFIG=' + os.path.join(config_dir, config)) retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options) - if retcode == 0: - dlls = ('msvcm90.dll', 'msvcp90.dll', 'msvcr90.dll', 'vcomp90.dll', 'Microsoft.VC90.CRT.manifest', 'Microsoft.VC90.OpenMP.manifest') - if bitness == '32': - dlls_path = 'C:\\b\\redist\\x86' - else: - dlls_path = 'C:\\b\\redist\\amd64' - for dll in dlls: - shutil.copyfile(os.path.join(dlls_path, dll), os.path.join(install_dir, dll)) sys.exit(retcode) -- cgit v1.2.3 From 36887c0ed017f4f4c62d0f4c704449ff5abe6173 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 12 Mar 2013 09:24:52 +0000 Subject: Woops, installing dlls shall happen after all the folders are created. --- build_files/buildbot/slave_compile.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'build_files') diff --git a/build_files/buildbot/slave_compile.py b/build_files/buildbot/slave_compile.py index e6aef6aaa31..caa4acc4ecd 100644 --- a/build_files/buildbot/slave_compile.py +++ b/build_files/buildbot/slave_compile.py @@ -143,14 +143,6 @@ else: scons_options.append('BF_CYCLES_CUDA_NVCC=nvcc.exe') if builder.find('mingw') != -1: scons_options.append('BF_TOOLSET=mingw') - - dlls = ('msvcm90.dll', 'msvcp90.dll', 'msvcr90.dll', 'vcomp90.dll', 'Microsoft.VC90.CRT.manifest', 'Microsoft.VC90.OpenMP.manifest') - if bitness == '32': - dlls_path = 'C:\\b\\redist\\x86' - else: - dlls_path = 'C:\\b\\redist\\amd64' - for dll in dlls: - shutil.copyfile(os.path.join(dlls_path, dll), os.path.join(install_dir, dll)) elif builder.find('mac') != -1: if builder.find('x86_64') != -1: config = 'user-config-mac-x86_64.py' @@ -160,4 +152,14 @@ else: scons_options.append('BF_CONFIG=' + os.path.join(config_dir, config)) retcode = subprocess.call(['python', 'scons/scons.py'] + scons_options) + + if builder.find('win') != -1: + dlls = ('msvcm90.dll', 'msvcp90.dll', 'msvcr90.dll', 'vcomp90.dll', 'Microsoft.VC90.CRT.manifest', 'Microsoft.VC90.OpenMP.manifest') + if builder.find('win64') == -1: + dlls_path = 'C:\\b\\redist\\x86' + else: + dlls_path = 'C:\\b\\redist\\amd64' + for dll in dlls: + shutil.copyfile(os.path.join(dlls_path, dll), os.path.join(install_dir, dll)) + sys.exit(retcode) -- cgit v1.2.3 From aff410b558c4c438f38a4050dbe13684e209572b Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 14 Mar 2013 05:52:30 +0000 Subject: style cleanup: odd indentation --- build_files/cmake/clang_array_check.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'build_files') diff --git a/build_files/cmake/clang_array_check.py b/build_files/cmake/clang_array_check.py index 3070c27f769..fc85b5c454d 100644 --- a/build_files/cmake/clang_array_check.py +++ b/build_files/cmake/clang_array_check.py @@ -115,7 +115,7 @@ args = sys.argv[2:] # print(args) tu = index.parse(sys.argv[1], args) -print('Translation unit: %s' % tu.spelling) +# print('Translation unit: %s' % tu.spelling) # ----------------------------------------------------------------------------- -- cgit v1.2.3 From 6a51379bf7a6c0aaa9fcb1c4b60a33e903e75931 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Thu, 14 Mar 2013 07:25:54 +0000 Subject: tweaks to clang so blender can build with -Werror --- build_files/cmake/macros.cmake | 3 +++ 1 file changed, 3 insertions(+) (limited to 'build_files') diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index f3e00be4c53..0b952372719 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -504,6 +504,9 @@ macro(remove_strict_flags) remove_cc_flag("-Wunused-variable") remove_cc_flag("-Werror=[^ ]+") remove_cc_flag("-Werror") + + # negate flags implied by '-Wall' + add_cc_flag("${CC_REMOVE_STRICT_FLAGS}") endif() if(MSVC) -- cgit v1.2.3 From d9c9209608c59cb5f93c4d781b418d868765b94c Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Fri, 15 Mar 2013 22:55:10 +0000 Subject: code cleanup: quiet some -Wshadow warnings, mix of obvious mistakes and harmless global/local naming conflict. --- build_files/cmake/macros.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'build_files') diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 0b952372719..9fe76df20b9 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -492,6 +492,7 @@ macro(remove_strict_flags) remove_cc_flag("-Wredundant-decls") remove_cc_flag("-Wundef") remove_cc_flag("-Wshadow") + remove_cc_flag("-Wold-style-definition") remove_cc_flag("-Werror=[^ ]+") remove_cc_flag("-Werror") -- cgit v1.2.3