diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-02-06 12:51:14 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-02-06 12:57:32 +0300 |
commit | 40f237675f8627aefd1d5f46841ce03faf7b52e2 (patch) | |
tree | 7cd7d38b115c2f8c6f7ea230fa825ff6973df6ac /build_files/buildbot/config | |
parent | 580bb2621330bdc8d99a92ce8be1856053c5b05d (diff) |
Some tweaks to support upcoming OSL-1.6
Doesn't mean we're 100% ready for the transition, but need to start somewhere
anyway. Changes:
- OSL is no longer supporting cpp and requires usage of Boost Wave.
So now Wave component of Boost is optionally demanded when looking for the
Boost libraries if OSL is enabled.
Only did this for Linux, MSVC seems already using Wave. Not sure about OSX.
- Because of the same reason OSL should be moved prior Boost for linker.
- Whole archive trick makes it so linking fails with duplicated symbols, so
removed it for the new OSL. Didn't see issues with this so far.
- Added some code to check OSL version on Linux. Would need to move all that
to FindOpenShadingLanguage.cmake which we can get from Cycles standalone
repository.
So in theory no affect on current stup would be made at all.
- Added some tweaks to buildbot files. It now seems to be happy with the new
OSL libraries, but again, those tweaks are not in action yet.
All this was tested on Linux only. Win/OSX might still need some tweaks to
support new OSL.
P.S. This doesn't mean we're pushing OSL update yet, just making some
preliminary tweaks to avoid entropy of PITA when we'll actually want to
switch.
Diffstat (limited to 'build_files/buildbot/config')
-rw-r--r-- | build_files/buildbot/config/user-config-glibc211-i686.py | 11 | ||||
-rw-r--r-- | build_files/buildbot/config/user-config-glibc211-x86_64.py | 11 |
2 files changed, 18 insertions, 4 deletions
diff --git a/build_files/buildbot/config/user-config-glibc211-i686.py b/build_files/buildbot/config/user-config-glibc211-i686.py index 59a11072f2b..06c43be32f2 100644 --- a/build_files/buildbot/config/user-config-glibc211-i686.py +++ b/build_files/buildbot/config/user-config-glibc211-i686.py @@ -124,13 +124,15 @@ BF_OIIO_INC = '${BF_OIIO}/include' BF_OIIO_LIB_STATIC = '${BF_OIIO_LIBPATH}/libOpenImageIO.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_JPEG}/lib/libjpeg.a' BF_OIIO_LIBPATH = '${BF_OIIO}/lib' +BF_IS_NEW_OSL = False WITH_BF_CYCLES_OSL = True -WITH_BF_STATICOSL = False +WITH_BF_STATICOSL = BF_IS_NEW_OSL BF_OSL = '/opt/lib/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 oslexec oslquery' +BF_OSL_LIB_STATIC = '${BF_OSL}/lib/liboslcomp.a ${BF_OSL}/lib/liboslexec.a ${BF_OSL}/lib/liboslquery.a' BF_OSL_LIBPATH = '${BF_OSL}/lib' BF_OSL_COMPILER = '${BF_OSL}/bin/oslc' @@ -157,6 +159,8 @@ BF_BOOST_INC = '${BF_BOOST}/include' BF_BOOST_LIB_STATIC = '${BF_BOOST_LIBPATH}/libboost_filesystem.a ${BF_BOOST_LIBPATH}/libboost_date_time.a ' + \ '${BF_BOOST_LIBPATH}/libboost_regex.a ${BF_BOOST_LIBPATH}/libboost_locale.a ${BF_BOOST_LIBPATH}/libboost_system.a \ ${BF_BOOST_LIBPATH}/libboost_thread.a' +if BF_IS_NEW_OSL: + BF_BOOST_LIB_STATIC += ' ${BF_BOOST_LIBPATH}/libboost_wave.a' BF_BOOST_LIBPATH = '${BF_BOOST}/lib' # Ocean Simulation @@ -166,4 +170,7 @@ WITH_BF_OCEANSIM = True BF_DEBUG = False REL_CCFLAGS = ['-DNDEBUG', '-O2', '-msse', '-msse2'] # C & C++ PLATFORM_LINKFLAGS = ['-lrt'] -BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', '-Wl,--no-whole-archive', '-Wl,--version-script=source/creator/blender.map'] +if BF_IS_NEW_OSL: + BF_PROGRAM_LINKFLAGS = ['-Wl,--version-script=source/creator/blender.map'] +else: + BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', '-Wl,--no-whole-archive', '-Wl,--version-script=source/creator/blender.map'] diff --git a/build_files/buildbot/config/user-config-glibc211-x86_64.py b/build_files/buildbot/config/user-config-glibc211-x86_64.py index a0ae6122944..29f6143f50e 100644 --- a/build_files/buildbot/config/user-config-glibc211-x86_64.py +++ b/build_files/buildbot/config/user-config-glibc211-x86_64.py @@ -124,13 +124,15 @@ BF_OIIO_INC = '${BF_OIIO}/include' BF_OIIO_LIB_STATIC = '${BF_OIIO_LIBPATH}/libOpenImageIO.a ${BF_OPENEXR}/lib/libIlmImf.a ${BF_JPEG}/lib/libjpeg.a' BF_OIIO_LIBPATH = '${BF_OIIO}/lib' +BF_IS_NEW_OSL = False WITH_BF_CYCLES_OSL = True -WITH_BF_STATICOSL = False +WITH_BF_STATICOSL = BF_IS_NEW_OSL BF_OSL = '/opt/lib/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 oslexec oslquery' +BF_OSL_LIB_STATIC = '${BF_OSL}/lib/liboslcomp.a ${BF_OSL}/lib/liboslexec.a ${BF_OSL}/lib/liboslquery.a' BF_OSL_LIBPATH = '${BF_OSL}/lib' BF_OSL_COMPILER = '${BF_OSL}/bin/oslc' @@ -157,6 +159,8 @@ BF_BOOST_INC = '${BF_BOOST}/include' BF_BOOST_LIB_STATIC = '${BF_BOOST_LIBPATH}/libboost_filesystem.a ${BF_BOOST_LIBPATH}/libboost_date_time.a ' + \ '${BF_BOOST_LIBPATH}/libboost_regex.a ${BF_BOOST_LIBPATH}/libboost_locale.a ${BF_BOOST_LIBPATH}/libboost_system.a \ ${BF_BOOST_LIBPATH}/libboost_thread.a' +if BF_IS_NEW_OSL: + BF_BOOST_LIB_STATIC += ' ${BF_BOOST_LIBPATH}/libboost_wave.a' BF_BOOST_LIBPATH = '${BF_BOOST}/lib' # Ocean Simulation @@ -166,4 +170,7 @@ WITH_BF_OCEANSIM = True BF_DEBUG = False REL_CCFLAGS = ['-DNDEBUG', '-O2', '-msse', '-msse2'] # C & C++ PLATFORM_LINKFLAGS = ['-lrt'] -BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', '-Wl,--no-whole-archive', '-Wl,--version-script=source/creator/blender.map'] +if BF_IS_NEW_OSL: + BF_PROGRAM_LINKFLAGS = ['-Wl,--version-script=source/creator/blender.map'] +else: + BF_PROGRAM_LINKFLAGS = ['-Wl,--whole-archive', '-loslexec', '-Wl,--no-whole-archive', '-Wl,--version-script=source/creator/blender.map'] |