diff options
Diffstat (limited to 'libre')
-rw-r--r-- | libre/blender/PKGBUILD | 72 | ||||
-rw-r--r-- | libre/opencollada/PKGBUILD | 47 | ||||
-rw-r--r-- | libre/opencolorio/PKGBUILD | 34 | ||||
-rw-r--r-- | libre/openimageio/PKGBUILD | 66 | ||||
-rw-r--r-- | libre/openshadinglanguage/PKGBUILD | 95 | ||||
-rw-r--r-- | libre/openshadinglanguage/llvm-133.patch | 331 | ||||
-rw-r--r-- | libre/openshadinglanguage/llvm-141.patch | 333 |
7 files changed, 53 insertions, 925 deletions
diff --git a/libre/blender/PKGBUILD b/libre/blender/PKGBUILD index 7f4fafb52..b5f22e6d2 100644 --- a/libre/blender/PKGBUILD +++ b/libre/blender/PKGBUILD @@ -3,10 +3,22 @@ # Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com> # Maintainer: Márcio Silva <coadde@parabola.nu> +# Sometimes blender.org takes some time to release patch releases and because the blender package +# is broke, we sometimes need to build from git directly. +# Update because I get so many queries on this: +# Due to our other rolling deps, it's sometimes not possible to build Blender stable releases. +# More often than not, a new openshadinglanguage breaks it and I could either backport fixes +# or simply roll with a new version. I usually choose the latter when the former seems +# unreasonable. + +_gittag=v2.72 +#_gitcommit=d42c08 + pkgbase=blender -pkgname=blender -pkgver=2.71 -pkgrel=2.parabola4 +pkgname=("$pkgbase") # "$pkgbase-addon-gimp" "$pkgbase-addon-povray") +pkgver=2.72 +[[ -n $_gitcommit ]] && pkgver=$pkgver.git1.$_gitcommit +pkgrel=1.parabola1 epoch=14 _jpgver=1.5 _llvmver=3.5 @@ -17,8 +29,8 @@ license=('GPL') url="http://www.$pkgbase.org" depends=('boost-libs' 'desktop-file-utils' 'ffmpeg' 'fftw' 'freetype2' 'glew' 'hicolor-icon-theme' 'jack' 'libpng' 'libsndfile' 'libspnav' 'libtiff' - 'openal' 'opencolorio' 'opencollada=20140214' 'openexr' 'openimageio' - 'python' 'shared-mime-info' 'xdg-utils') # 'openshadinglanguage=1.4.2' + 'openal' 'opencolorio' 'opencollada' 'openexr' 'openimageio' + 'openshadinglanguage' 'python' 'shared-mime-info' 'xdg-utils') makedepends=('boost' 'cmake' 'git' 'llvm') # 'bullet' (boost: for cycles, booleans, audaspace and/or i18n) optdepends=('bullet: for Rigid Bodies and Physics Simulation' #'mesa-libcl: for rendering with optional Mesa OpenCL' @@ -32,17 +44,31 @@ conflicts=("$pkgbase-libre" "$pkgbase-libre-spacenav" "$pkgbase-spacenav-libre") replaces=("$pkgbase-libre" "$pkgbase-libre-spacenav" "$pkgbase-spacenav-libre") options=('!strip') install="$pkgbase.install" -source=("http://download.$pkgbase.org/source/$pkgbase-$pkgver.tar.gz") -md5sums=('fc1112adb493ea62e9587ca0e86d6b0d') +source=("git://git.$pkgbase.org/$pkgbase-addons.git" + "git://git.$pkgbase.org/$pkgbase-addons-contrib.git" + "git://git.$pkgbase.org/$pkgbase-translations.git" + "git://git.$pkgbase.org/scons.git") +if [[ -n $_gittag ]]; then + source+=("$pkgbase-$pkgver::git://git.$pkgbase.org/$pkgbase.git#tag=$_gittag") +else + source+=("$pkgbase-$pkgver::git://git.$pkgbase.org/$pkgbase.git#commit=$_gitcommit") +fi +md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' 'SKIP') prepare() { - cd $srcdir/$pkgbase-v$pkgver + cd $srcdir/$pkgbase-$pkgver + + git submodule init + git config submodule.'release/scripts/addons'.url $srcdir/$pkgbase-addons + git config submodule.'release/scripts/addons_contrib'.url $srcdir/$pkgbase-addons-contrib + git config submodule.'release/datafiles/locale'.url $srcdir/$pkgbase-translations + git config submodule.'scons'.url $srcdir/scons + git submodule update msg 'renaming wrong OS name' - _OS=$(uname -o) - [[ $_OS == GNU ]] && sed -i 's|BUILD_PLATFORM;|"GNU";|' source/creator/buildinfo.c - [[ $_OS == GNU/Linux ]] && sed -i 's|BUILD_PLATFORM;|"GNU/Linux";|' source/creator/buildinfo.c - [[ $_OS == GNU/kFreeBSD ]] && sed -i 's|BUILD_PLATFORM;|"GNU/kFreeBSD";|' source/creator/buildinfo.c + [[ $(uname -o) == GNU ]] && sed -i 's|BUILD_PLATFORM;|"GNU";|' source/creator/buildinfo.c + [[ $(uname -o) == GNU/Linux ]] && sed -i 's|BUILD_PLATFORM;|"GNU/Linux";|' source/creator/buildinfo.c + [[ $(uname -o) == GNU/kFreeBSD ]] && sed -i 's|BUILD_PLATFORM;|"GNU/kFreeBSD";|' source/creator/buildinfo.c sed -i 's|Linux, Mac OS X, Windows and FreeBSD|GNU and BSD| s|Linux, FreeBSD|GNU and BSD| s|Unpack the archive, Then run the Blender executable.|Install from Parabola repo (pacman -S '"$pkgname"'), Then run blender.| @@ -69,7 +95,7 @@ prepare() { } build() { - cd $srcdir/$pkgbase-v$pkgver/build + cd $srcdir/$pkgbase-$pkgver/build [[ $CARCH == x86_64 || $CARCH == i686 ]] && _SSE=ON _SSE2=ON || _SSE=OFF _SSE2=OFF cmake .. \ @@ -87,8 +113,8 @@ build() { -DPYTHON_LIBPATH=/usr/lib \ -DPYTHON_LIBRARY=python${_pyver}m \ -DPYTHON_VERSION=$_pyver \ - -DSUPPORT_SSE_BUILD=$_SSE \ - -DSUPPORT_SSE2_BUILD=$_SSE2 \ + -DSUPPORT_SSE_BUILD=ON \ + -DSUPPORT_SSE2_BUILD=ON \ -DWITH_AUDASPACE=ON \ -DWITH_BLENDER=ON \ -DWITH_BOOST=ON \ @@ -101,7 +127,7 @@ build() { -DWITH_COMPOSITOR=ON \ -DWITH_CYCLES=ON \ -DWITH_CYCLES_CUDA_BINARIES=OFF \ - -DWITH_CYCLES_OSL=OFF \ + -DWITH_CYCLES_OSL=ON \ -DWITH_CYCLES_STANDALONE=ON \ -DWITH_CYCLES_STANDALONE_GUI=ON \ -DWITH_FFTW3=ON \ @@ -124,7 +150,7 @@ build() { -DWITH_JACK=ON \ -DWITH_JACK_DYNLOAD=ON \ -DWITH_LIBMV=OFF \ - -DWITH_LLVM=OFF \ + -DWITH_LLVM=ON \ -DWITH_LZMA=ON \ -DWITH_LZO=ON \ -DWITH_MEM_JEMALLOC=OFF \ @@ -156,12 +182,20 @@ build() { -DWITH_X11_XINPUT=ON #-DWITH_MOD_CLOTH_ELTOPO=ON\ #-DWITH_SYSTEM_BULLET=ON\ + + #-DSUPPORT_SSE_BUILD=$_SSE \ + #-DSUPPORT_SSE2_BUILD=$_SSE2 \ + + # Note: Fix for gcc 4.9 :/ + # -DCMAKE_C_FLAGS_RELEASE="-fno-delete-null-pointer-checks -DNDEBUG" + # -DCMAKE_CXX_FLAGS_RELEASE="-fno-delete-null-pointer-checks -DNDEBUG" make } -package() { - cd $srcdir/$pkgbase-v$pkgver/build +package_blender() { + cd $srcdir/$pkgbase-$pkgver/build make DESTDIR=$pkgdir install python -m compileall $pkgdir/usr/share/$pkgbase + python -O -m compileall $pkgdir/usr/share/$pkgbase } diff --git a/libre/opencollada/PKGBUILD b/libre/opencollada/PKGBUILD deleted file mode 100644 index 5b6733645..000000000 --- a/libre/opencollada/PKGBUILD +++ /dev/null @@ -1,47 +0,0 @@ -# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com> -# Maintainer: Márcio Silva <coadde@parabola.nu> - -pkgname=opencollada -pkgver=20140214 -pkgrel=1.parabola1 -pkgdesc="Stream based reader and writer library for COLLADA files (built for the blender package)" -arch=('i686' 'x86_64' 'mips64el') -url='https://github.com/KhronosGroup/OpenCOLLADA' -license=('GPL') -depends=('libxml2' 'pcre') -makedepends=('git' 'cmake') -conflicts=("$pkgname-parabola") -replaces=("$pkgname-parabola") -source=('git://github.com/KhronosGroup/OpenCOLLADA.git') -md5sums=('SKIP') - -prepare() { - cd $srcdir/OpenCOLLADA - - # adapt source to last blender release - git reset --hard 8dc9e4e5b73caa1fcfe19508f381a087e036d886 # Fri Feb 14 14:32:18 2014 -0800 -} - -build() { - cd "$srcdir"/OpenCOLLADA - - [[ -d build ]] && rm -r build - mkdir build && cd build - - cmake .. \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DUSE_SHARED=ON \ - -DUSE_STATIC=OFF - make -} - -package() { - cd $srcdir/OpenCOLLADA/build - - make DESTDIR=$pkgdir install - - install -d $pkgdir/etc/ld.so.conf.d - echo /usr/lib/$pkgname > $pkgdir/etc/ld.so.conf.d/$pkgname.conf -} - -# vim:set ts=2 sw=2 et: diff --git a/libre/opencolorio/PKGBUILD b/libre/opencolorio/PKGBUILD deleted file mode 100644 index 5bccbcc0f..000000000 --- a/libre/opencolorio/PKGBUILD +++ /dev/null @@ -1,34 +0,0 @@ -# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com> -# Contributor (Arch): Dumitru Ursu <dima@ceata.org> -# Maintainer: Márcio Silva <coadde@parabola.nu> - -pkgname=opencolorio -pkgver=1.0.9 -pkgrel=2.parabola2 -pkgdesc='A color management framework for visual effects and animation (built for the blender package)' -arch=('i686' 'x86_64' 'mips64el') -url="http://$pkgname.org" -license=('BSD') -depends=('freeglut' 'glew' 'lcms2' 'openimageio' 'python') -makedepends=('cmake') -conflicts=("$pkgname-parabola") -replaces=("$pkgname-parabola") -source=("http://github.com/imageworks/OpenColorIO/tarball/v$pkgver") -sha1sums=('a015cb51b9b0ea0cdb3989fc23e1c18ad69511e0') - -build() { - mv imageworks-OpenColorIO-* $pkgname-$pkgver - cd $pkgname-$pkgver - cmake . -DCMAKE_INSTALL_PREFIX=/usr -DOCIO_BUILD_DOCS=OFF -DOCIO_PYGLUE_SONAME=ON - make -} - -package() { - cd $pkgname-$pkgver - - make DESTDIR=$pkgdir install - - install -Dm644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE -} - -# vim:set ts=2 sw=2 et: diff --git a/libre/openimageio/PKGBUILD b/libre/openimageio/PKGBUILD deleted file mode 100644 index 24a5b5990..000000000 --- a/libre/openimageio/PKGBUILD +++ /dev/null @@ -1,66 +0,0 @@ -# Contributor (Arch): SpepS <dreamspepser at yahoo dot it> -# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com> -# Maintainer: Márcio Silva <coadde@parabola.nu> - -pkgname=openimageio -pkgver=1.4.12 -pkgrel=3.parabola3 -pkgdesc='A library for reading and writing images, including classes, utilities, and applications (built for the blender package)' -arch=('i686' 'x86_64' 'mips64el') -url="http://www.$pkgname.org/" -license=('custom') -depends=('boost-libs' 'freetype2' 'glew' 'libtiff' 'libwebp' 'opencolorio' 'openjpeg' 'openexr') -makedepends=('boost' 'cmake' 'git' 'python2' 'qt4') -optdepends=('qt4: iv image viewer' - 'python2: bindings support') -conflicts=("$pkgname-parabola") -replaces=("$pkgname-parabola") -source=("git://github.com/OpenImageIO/oiio.git#tag=Release-$pkgver") -md5sums=('SKIP') - -prepare() { - cd oiio - - msg 'renaming wrong OS name' - _OS=$(uname -o) - [[ $_OS == GNU ]] &&\ - sed -i 's|linux|GNU|i; - ' src/{cmake/platform.cmake,make/detectplatform.mk} - [[ $_OS == GNU/Linux ]] &&\ - sed -i 's|[{]uname[}][,]linux]|{uname -o},GNU/Linux|;\|platform| s|linux|GNU/Linux|i - ' src/{cmake/platform.cmake,make/detectplatform.mk} - [[ $_OS == GNU/kFreeBSD ]] &&\ - sed -i '\|STREQUAL| s|FreeBSD|kFreeBSD|;\|platform| s|freebsd|GNU/kFreeBSD|i - ' src/cmake/platform.cmake - sed -i 's|[{]uname[}][,]linux]|{uname -o},GNU/kFreeBSD|;\|platform| s|linux|GNU/kFreeBSD|i - ' src/make/detectplatform.mk - - # fix for giflib 5.1.x - sed -i 's|DGifCloseFile [(]m_gif_file[)] == GIF_ERROR|DGifCloseFile (m_gif_file, 0) == GIF_ERROR|' src/gif.imageio/gifinput.cpp -} - -build() { - cd oiio - - [[ -d build ]] && rm -r build - mkdir build && cd build - - cmake .. \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DOIIO_BUILD_TESTS=OFF \ - -DPYLIB_INSTALL_DIR=lib/python2.7/site-packages \ - -DPYLIB_INCLUDE_SONAME=ON \ - -DPYLIB_LIB_PREFIX=OFF - make -} - -package() { - cd oiio/build - - make DESTDIR=$pkgdir install - - # license - install -Dm644 ../LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE -} - -# vim:set ts=2 sw=2 et: diff --git a/libre/openshadinglanguage/PKGBUILD b/libre/openshadinglanguage/PKGBUILD deleted file mode 100644 index ec2e732be..000000000 --- a/libre/openshadinglanguage/PKGBUILD +++ /dev/null @@ -1,95 +0,0 @@ -# Maintainer (Arch): Sven-Hendrik Haase <sh@lutzhaase.com> -# Maintainer: Márcio Silva <coadde@parabola.nu> - -pkgname=openshadinglanguage -pkgver=1.4.2 # 1.5.10 for blender 2.72 -pkgrel=1.parabola1 -pkgdesc='Advanced shading language for production GI renderers (built for the blender package)' -arch=('i686' 'x86_64' 'mips64el') -url='https://github.com/imageworks/OpenShadingLanguage' -license=('custom') -depends=('boost-libs' 'freetype2' 'libpng' 'libtiff' 'llvm-libs' 'openexr' 'openimageio') -makedepends=('boost' 'clang' 'cmake') -conflicts=("$pkgname-parabola") -replaces=("$pkgname-parabola") -source=("https://github.com/imageworks/OpenShadingLanguage/archive/Release-$pkgver.tar.gz" - 'llvm-141.patch') -md5sums=('5aeb3c9502aedf62d0120b3523957e92' - 'b948e5df8710366b65027d1d8450f340') - -prepare() { - cd OpenShadingLanguage-Release-$pkgver - - msg 'renaming wrong OS name' - _OS=$(uname -o) - [[ $_OS == GNU ]] &&\ - sed -i 's|linux|GNU|i; - ' src/{cmake/platform.cmake,make/detectplatform.mk} - [[ $_OS == GNU/Linux ]] &&\ - sed -i 's|[{]uname[}][,]linux]|{uname -o},GNU/Linux|;\|platform| s|linux|GNU/Linux|i - ' src/{cmake/platform.cmake,make/detectplatform.mk} - [[ $_OS == GNU/kFreeBSD ]] &&\ - sed -i '\|STREQUAL| s|FreeBSD|kFreeBSD|;\|platform| s|freebsd|GNU/kFreeBSD|i - ' src/cmake/platform.cmake - sed -i 's|[{]uname[}][,]linux]|{uname -o},GNU/kFreeBSD|;\|platform| s|linux|GNU/kFreeBSD|i - ' src/make/detectplatform.mk - - if [[ ${pkgver::3} == 1.4 ]]; then - # renaming wrong OS name - sed -i 's|Linux/OSX|GNU/BSD|' src/include/export.h - - # LLVM 3.4 build fix - # based of "https://github.com/imageworks/OpenShadingLanguage/pull/320.patch" - patch -Np1 < $srcdir/llvm-141.patch - - # fix include paths - sed -i 's|oslconfig.h|../include/oslconfig.h| - s|dual.h|../include/dual.h| - s|dual_vec.h|../include/dual_vec.h| - ' src/liboslexec/llvm_ops.cpp - sed -i 's|oslexec.h|../include/oslexec.h| - s|oslclosure.h|../include/oslclosure.h| - s|osl_pvt.h|../include/osl_pvt.h| - ' src/liboslexec/oslexec_pvt.h - else - # renaming wrong OS name - sed -i 's|Linux/OSX|GNU/BSD|' src/include/OSL/export.h - fi -} - -build() { - cd OpenShadingLanguage-Release-$pkgver - - if [[ ${pkgver::3} == 1.5 ]]; then - # Fails building this file on i686 - if [[ $CARCH == i686 ]]; then - sed -i "/src\/testshade/d" CMakeLists.txt - fi - fi - - cd src - - [[ -d build ]] && rm -r build - mkdir build && cd build - - cmake ../.. \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_BUILD_TYPE=Release \ - -DLLVM_STATIC=OFF - make -} - -package() { - cd OpenShadingLanguage-Release-$pkgver/src/build - - make DESTDIR=$pkgdir install - - mkdir -p $pkgdir/usr/share/OSL/ - mkdir -p $pkgdir/usr/share/licenses/$pkgname - mv $pkgdir/usr/{CHANGES,README.md,INSTALL} $pkgdir/usr/share/OSL - mv $pkgdir/usr/doc $pkgdir/usr/share/OSL/doc - mv $pkgdir/usr/shaders $pkgdir/usr/share/OSL/shaders - mv $pkgdir/usr/LICENSE $pkgdir/usr/share/licenses/$pkgname -} - -# vim:set ts=2 sw=2 et: diff --git a/libre/openshadinglanguage/llvm-133.patch b/libre/openshadinglanguage/llvm-133.patch deleted file mode 100644 index a63b91e0d..000000000 --- a/libre/openshadinglanguage/llvm-133.patch +++ /dev/null @@ -1,331 +0,0 @@ -diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/cmake/externalpackages.cmake OpenShadingLanguage-Release-1.3.3/src/cmake/externalpackages.cmake ---- OpenShadingLanguage-Release-1.3.3.orig/src/cmake/externalpackages.cmake 2013-07-11 20:01:18.000000000 -0300 -+++ OpenShadingLanguage-Release-1.3.3/src/cmake/externalpackages.cmake 2014-02-04 18:09:20.236025178 -0200 -@@ -185,9 +185,9 @@ - find_library ( LLVM_LIBRARY - NAMES LLVM-${LLVM_VERSION} - PATHS ${LLVM_LIB_DIR}) -+message (STATUS "LLVM version = ${LLVM_VERSION}") -+message (STATUS "LLVM dir = ${LLVM_DIRECTORY}") - if (VERBOSE) -- message (STATUS "LLVM version = ${LLVM_VERSION}") -- message (STATUS "LLVM dir = ${LLVM_DIRECTORY}") - message (STATUS "LLVM includes = ${LLVM_INCLUDES}") - message (STATUS "LLVM library = ${LLVM_LIBRARY}") - message (STATUS "LLVM lib dir = ${LLVM_LIB_DIR}") -diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/CMakeLists.txt OpenShadingLanguage-Release-1.3.3/src/liboslexec/CMakeLists.txt ---- OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/CMakeLists.txt 2013-07-11 20:01:18.000000000 -0300 -+++ OpenShadingLanguage-Release-1.3.3/src/liboslexec/CMakeLists.txt 2014-02-04 18:07:21.960947198 -0200 -@@ -51,49 +51,64 @@ - MESSAGE (STATUS "LLVM_COMPILE cpp=${llvm_bc_cpp}") - endif () - SET ( ${srclist} ${${srclist}} ${llvm_bc_cpp} ) -- EXEC_PROGRAM ( ${LLVM_DIRECTORY}/bin/llvm-config ARGS --cxxflags OUTPUT_VARIABLE LLVM_COMPILE_FLAGS ) -- set (LLVM_COMPILE_FLAGS "${LLVM_COMPILE_FLAGS} -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 --combine") -- LIST (APPEND LLVM_COMPILE_FLAGS "-I${ILMBASE_INCLUDE_DIR}") -+ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-I${ILMBASE_INCLUDE_DIR}") - if (OSL_NAMESPACE) -- LIST (APPEND LLVM_COMPILE_FLAGS "-DOSL_NAMESPACE=${OSL_NAMESPACE}") -+ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-DOSL_NAMESPACE=${OSL_NAMESPACE}") - endif () - if (OPENIMAGEIO_NAMESPACE) -- LIST (APPEND LLVM_COMPILE_FLAGS "-DOPENIMAGEIO_NAMESPACE=${OPENIMAGEIO_NAMESPACE}") -+ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-DOPENIMAGEIO_NAMESPACE=${OPENIMAGEIO_NAMESPACE}") - endif () - get_property (CURRENT_DEFINITIONS DIRECTORY PROPERTY COMPILE_DEFINITIONS) - if (VERBOSE) - message (STATUS "Current #defines are ${CURRENT_DEFINITIONS}") - endif () - foreach (def ${CURRENT_DEFINITIONS}) -- LIST (APPEND LLVM_COMPILE_FLAGS "-D${def}") -+ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-D${def}") - endforeach() - -- # First try looking in their build (clang++ first, then llvm-g++) -- FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" "llvm-g++" PATHS ${LLVM_DIRECTORY}/bin NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH) -+ # Figure out what program we will use to make the bitcode. -+ if (NOT LLVM_BC_GENERATOR) -+ FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" PATHS "${LLVM_DIRECTORY}/bin" NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH) -+ endif () -+ # If that didn't work, look anywhere -+ if (NOT LLVM_BC_GENERATOR) -+ # Wasn't in their build, look anywhere -+ FIND_PROGRAM(LLVM_BC_GENERATOR NAMES clang++ llvm-g++) -+ endif () - -- if(NOT LLVM_BC_GENERATOR) -- # Wasn't in their build, look anywhere -- FIND_PROGRAM(LLVM_BC_GENERATOR NAMES clang++ llvm-g++) -+ if (NOT LLVM_BC_GENERATOR) -+ message (FATAL_ERROR "You must have a valid llvm bitcode generator (clang++) somewhere.") -+ endif () -+ if (VERBOSE) -+ message (STATUS "Using ${LLVM_BC_GENERATOR} to generate bitcode.") - endif() - -- if(NOT LLVM_BC_GENERATOR) -- message (FATAL_ERROR "You must have a valid llvm bitcode generator (either llvm-g++ or clang++) somewhere.") -- else() -- if (VERBOSE) -- message (STATUS "Using ${LLVM_BC_GENERATOR} to generate bitcode.") -- endif () -- endif() -+ # Fix specific problem I had on new Apple systems (e.g. Mavericks) with -+ # LLVM/libc++ installed -- for some reason, LLVM 3.4 wasn't finding it, -+ # so in that specific case, append another -I to point it in the right -+ # direction. -+ if (APPLE AND ${LLVM_BC_GENERATOR} MATCHES ".*clang.*") -+ EXEC_PROGRAM ( "${LLVM_BC_GENERATOR}" ARGS --version OUTPUT_VARIABLE MY_CLANG_VERSION ) -+ string (REGEX REPLACE "clang version ([0-9][.][0-9]+).*" "\\1" MY_CLANG_VERSION "${MY_CLANG_VERSION}") -+ if ((${MY_CLANG_VERSION} VERSION_GREATER "3.3") -+ AND (EXISTS "/usr/lib/libc++.dylib") -+ AND (EXISTS "/Library/Developer/CommandLineTools/usr/lib/c++/v1")) -+ set (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-I/Library/Developer/CommandLineTools/usr/lib/c++/v1") -+ endif () -+ endif () - - # Command to turn the .cpp file into LLVM assembly language .s, into - # LLVM bitcode .bc, then back into a C++ file with the bc embedded! - ADD_CUSTOM_COMMAND ( OUTPUT ${llvm_bc_cpp} -- COMMAND ${LLVM_BC_GENERATOR} ${LLVM_COMPILE_FLAGS} -- -I${CMAKE_CURRENT_SOURCE_DIR} -- -I${CMAKE_SOURCE_DIR}/include -- -I${CMAKE_BINARY_DIR}/include -- -I${OPENIMAGEIO_INCLUDES} -I${ILMBASE_INCLUDE_DIR} -- -I${Boost_INCLUDE_DIRS} -O3 -S -emit-llvm -o ${llvm_asm} ${llvm_src} -- -+ COMMAND ${LLVM_BC_GENERATOR} -+ ${LLVM_COMPILE_FLAGS} -+ "-I${CMAKE_CURRENT_SOURCE_DIR}" -+ "-I${CMAKE_SOURCE_DIR}/src/include" -+ "-I${CMAKE_BINARY_DIR}/include" -+ "-I${OPENIMAGEIO_INCLUDES}" -+ "-I${ILMBASE_INCLUDE_DIR}" -+ "-I${Boost_INCLUDE_DIRS}" -+ -O3 -S -emit-llvm -o ${llvm_asm} ${llvm_src} - COMMAND ${LLVM_DIRECTORY}/bin/llvm-as -f -o ${llvm_bc} ${llvm_asm} - COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/serialize-bc.bash ${llvm_bc} ${llvm_bc_cpp} - MAIN_DEPENDENCY ${llvm_src} -diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/llvm_headers.h OpenShadingLanguage-Release-1.3.3/src/liboslexec/llvm_headers.h ---- OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/llvm_headers.h 2013-07-11 20:01:18.000000000 -0300 -+++ OpenShadingLanguage-Release-1.3.3/src/liboslexec/llvm_headers.h 2014-02-04 19:28:31.349811104 -0200 -@@ -33,7 +33,27 @@ - namespace llvm = LLVM_NAMESPACE; - #endif - --#if OSL_LLVM_VERSION >= 33 -+#if OSL_LLVM_VERSION >= 34 -+ -+# include <llvm/IR/Constants.h> -+# include <llvm/IR/DerivedTypes.h> -+# include <llvm/IR/Instructions.h> -+# include <llvm/IR/Intrinsics.h> -+# include <llvm/IR/Module.h> -+# include <llvm/IR/LLVMContext.h> -+# include <llvm/IR/IRBuilder.h> -+# include <llvm/IR/DataLayout.h> -+# include <llvm/Bitcode/ReaderWriter.h> -+# include <llvm/ExecutionEngine/GenericValue.h> -+# include <llvm/ExecutionEngine/JIT.h> -+# include <llvm/ExecutionEngine/JITMemoryManager.h> -+# include <llvm/Linker.h> -+# include <llvm/IR/LegacyPassManager.h> -+# include <llvm/Support/ManagedStatic.h> -+# include <llvm/Support/MemoryBuffer.h> -+# include <llvm/Support/raw_ostream.h> -+ -+#elif OSL_LLVM_VERSION >= 33 - - # include <llvm/IR/Constants.h> - # include <llvm/IR/DerivedTypes.h> -diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/llvm_instance.cpp OpenShadingLanguage-Release-1.3.3/src/liboslexec/llvm_instance.cpp ---- OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/llvm_instance.cpp 2013-07-11 20:01:18.000000000 -0300 -+++ OpenShadingLanguage-Release-1.3.3/src/liboslexec/llvm_instance.cpp 2014-02-04 20:08:23.574948459 -0200 -@@ -992,6 +992,7 @@ - virtual void deallocateFunctionBody(void *Body) { - // DON'T DEALLOCATE mm->deallocateFunctionBody (Body); - } -+#if OSL_LLVM_VERSION <= 33 - virtual uint8_t* startExceptionTable(const llvm::Function* F, - uintptr_t &ActualSize) { - return mm->startExceptionTable (F, ActualSize); -@@ -1003,6 +1004,7 @@ - virtual void deallocateExceptionTable(void *ET) { - // DON'T DEALLOCATE mm->deallocateExceptionTable(ET); - } -+#endif - virtual bool CheckInvariants(std::string &s) { - return mm->CheckInvariants(s); - } -@@ -1018,7 +1020,41 @@ - virtual unsigned GetNumCodeSlabs() { return mm->GetNumCodeSlabs(); } - virtual unsigned GetNumDataSlabs() { return mm->GetNumDataSlabs(); } - virtual unsigned GetNumStubSlabs() { return mm->GetNumStubSlabs(); } --#if OSL_LLVM_VERSION >= 31 -+ -+#if OSL_LLVM_VERSION >= 34 -+ -+ virtual void *getPointerToNamedFunction(const std::string &Name, -+ bool AbortOnFailure = true) { -+ return mm->getPointerToNamedFunction (Name, AbortOnFailure); -+ } -+ virtual uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, -+ unsigned SectionID, llvm::StringRef SectionName) { -+ return mm->allocateCodeSection(Size, Alignment, SectionID, SectionName); -+ } -+ virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, -+ unsigned SectionID, llvm::StringRef SectionName, -+ bool IsReadOnly) { -+ return mm->allocateDataSection(Size, Alignment, SectionID, -+ SectionName, IsReadOnly); -+ } -+ virtual void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) { -+ mm->registerEHFrames (Addr, LoadAddr, Size); -+ } -+ virtual void deregisterEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) { -+ mm->deregisterEHFrames(Addr, LoadAddr, Size); -+ } -+ virtual uint64_t getSymbolAddress(const std::string &Name) { -+ return mm->getSymbolAddress (Name); -+ } -+ virtual void notifyObjectLoaded(llvm::ExecutionEngine *EE, const llvm::ObjectImage *oi) { -+ mm->notifyObjectLoaded (EE, oi); -+ } -+ virtual bool finalizeMemory(std::string *ErrMsg = 0) { -+ return mm->finalizeMemory (ErrMsg); -+ } -+ -+#elif OSL_LLVM_VERSION == 33 -+ - virtual void *getPointerToNamedFunction(const std::string &Name, - bool AbortOnFailure = true) { - return mm->getPointerToNamedFunction (Name, AbortOnFailure); -@@ -1027,7 +1063,6 @@ - unsigned SectionID) { - return mm->allocateCodeSection(Size, Alignment, SectionID); - } --#if OSL_LLVM_VERSION >= 33 - virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, - unsigned SectionID, bool IsReadOnly) { - return mm->allocateDataSection(Size, Alignment, SectionID, IsReadOnly); -@@ -1035,12 +1070,22 @@ - virtual bool applyPermissions(std::string *ErrMsg = 0) { - return mm->applyPermissions(ErrMsg); - } --#else -+ -+#elif OSL_LLVM_VERSION == 32 || OSL_LLVM_VERSION == 31 -+ -+ virtual void *getPointerToNamedFunction(const std::string &Name, -+ bool AbortOnFailure = true) { -+ return mm->getPointerToNamedFunction (Name, AbortOnFailure); -+ } -+ virtual uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, -+ unsigned SectionID) { -+ return mm->allocateCodeSection(Size, Alignment, SectionID); -+ } - virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, - unsigned SectionID) { - return mm->allocateDataSection(Size, Alignment, SectionID); - } --#endif -+ - #endif - }; - -@@ -1155,7 +1200,7 @@ - m_shadingsys.m_stat_empty_groups += 1; - m_shadingsys.m_stat_empty_instances += 1; // the one layer is empty - } else { -- m_llvm_passes->run (*llvm_module()); -+ m_llvm_module_passes->run (*llvm_module()); - } - - m_stat_llvm_opt_time += timer.lap(); -@@ -1290,7 +1335,12 @@ - // Some global LLVM initialization for the first thread that - // gets here. - info ("Setting up LLVM"); -+ -+#if OSL_LLVM_VERSION <= 33 -+ // Starting with LLVM 3.4, the pretty stack trace was opt-in rather -+ // than opt-out, and the following variable was removed. - llvm::DisablePrettyStackTrace = true; -+#endif - llvm::llvm_start_multithreaded (); // enable it to be thread-safe - llvm::InitializeNativeTarget(); - done = true; -@@ -1301,12 +1351,17 @@ - void - RuntimeOptimizer::llvm_setup_optimization_passes () - { -- ASSERT (m_llvm_passes == NULL && m_llvm_func_passes == NULL); -+ ASSERT (m_llvm_module_passes == NULL && m_llvm_func_passes == NULL); - - // Specify per-function passes - // -+#if OSL_LLVM_VERSION >= 34 -+ m_llvm_func_passes = new llvm::legacy::FunctionPassManager(llvm_module()); -+ llvm::legacy::FunctionPassManager &fpm (*m_llvm_func_passes); -+#else - m_llvm_func_passes = new llvm::FunctionPassManager(llvm_module()); - llvm::FunctionPassManager &fpm (*m_llvm_func_passes); -+#endif - #if OSL_LLVM_VERSION >= 32 - fpm.add (new llvm::DataLayout(llvm_module())); - #else -@@ -1315,8 +1370,13 @@ - - // Specify module-wide (interprocedural optimization) passes - // -- m_llvm_passes = new llvm::PassManager; -- llvm::PassManager &passes (*m_llvm_passes); -+#if OSL_LLVM_VERSION >= 34 -+ m_llvm_module_passes = new llvm::legacy::PassManager; -+ llvm::legacy::PassManager &passes (*m_llvm_module_passes); -+#else -+ m_llvm_module_passes = new llvm::PassManager; -+ llvm::PassManager &passes (*m_llvm_module_passes); -+#endif - #if OSL_LLVM_VERSION >= 32 - passes.add (new llvm::DataLayout(llvm_module())); - #else -diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/runtimeoptimize.cpp OpenShadingLanguage-Release-1.3.3/src/liboslexec/runtimeoptimize.cpp ---- OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/runtimeoptimize.cpp 2013-07-11 20:01:18.000000000 -0300 -+++ OpenShadingLanguage-Release-1.3.3/src/liboslexec/runtimeoptimize.cpp 2014-02-04 19:37:02.660353625 -0200 -@@ -107,7 +107,7 @@ - m_stat_llvm_jit_time(0), - m_llvm_context(NULL), m_llvm_module(NULL), - m_llvm_exec(NULL), m_builder(NULL), -- m_llvm_passes(NULL), m_llvm_func_passes(NULL) -+ m_llvm_module_passes(NULL), m_llvm_func_passes(NULL) - { - set_debug (); - memset (&m_shaderglobals, 0, sizeof(ShaderGlobals)); -@@ -119,7 +119,7 @@ - RuntimeOptimizer::~RuntimeOptimizer () - { - delete m_builder; -- delete m_llvm_passes; -+ delete m_llvm_module_passes; - delete m_llvm_func_passes; - } - -diff -Nur OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/runtimeoptimize.h OpenShadingLanguage-Release-1.3.3/src/liboslexec/runtimeoptimize.h ---- OpenShadingLanguage-Release-1.3.3.orig/src/liboslexec/runtimeoptimize.h 2013-07-11 20:01:18.000000000 -0300 -+++ OpenShadingLanguage-Release-1.3.3/src/liboslexec/runtimeoptimize.h 2014-02-04 19:52:30.207956999 -0200 -@@ -934,8 +934,13 @@ - llvm::Type *m_llvm_type_closure_component_attr; // LLVM type for ClosureMeta::Attr - llvm::PointerType *m_llvm_type_prepare_closure_func; - llvm::PointerType *m_llvm_type_setup_closure_func; -- llvm::PassManager *m_llvm_passes; -+#if OSL_LLVM_VERSION >= 34 -+ llvm::legacy::PassManager *m_llvm_module_passes; -+ llvm::legacy::FunctionPassManager *m_llvm_func_passes; -+#else -+ llvm::PassManager *m_llvm_module_passes; - llvm::FunctionPassManager *m_llvm_func_passes; -+#endif - int m_llvm_local_mem; // Amount of memory we use for locals - - // Persistant data shared between layers diff --git a/libre/openshadinglanguage/llvm-141.patch b/libre/openshadinglanguage/llvm-141.patch deleted file mode 100644 index eeb82935e..000000000 --- a/libre/openshadinglanguage/llvm-141.patch +++ /dev/null @@ -1,333 +0,0 @@ -diff -Nur OpenShadingLanguage-Release-1.4.1.orig/src/cmake/externalpackages.cmake OpenShadingLanguage-Release-1.4.1/src/cmake/externalpackages.cmake ---- OpenShadingLanguage-Release-1.4.1.orig/src/cmake/externalpackages.cmake 2013-12-19 17:59:26.000000000 -0200 -+++ OpenShadingLanguage-Release-1.4.1/src/cmake/externalpackages.cmake 2014-03-25 10:06:24.092921746 -0300 -@@ -174,9 +174,9 @@ - find_library ( LLVM_LIBRARY - NAMES LLVM-${LLVM_VERSION} - PATHS ${LLVM_LIB_DIR}) -+message (STATUS "LLVM version = ${LLVM_VERSION}") -+message (STATUS "LLVM dir = ${LLVM_DIRECTORY}") - if (VERBOSE) -- message (STATUS "LLVM version = ${LLVM_VERSION}") -- message (STATUS "LLVM dir = ${LLVM_DIRECTORY}") - message (STATUS "LLVM includes = ${LLVM_INCLUDES}") - message (STATUS "LLVM library = ${LLVM_LIBRARY}") - message (STATUS "LLVM lib dir = ${LLVM_LIB_DIR}") -diff -Nur OpenShadingLanguage-Release-1.4.1.orig/src/liboslexec/CMakeLists.txt OpenShadingLanguage-Release-1.4.1/src/liboslexec/CMakeLists.txt ---- OpenShadingLanguage-Release-1.4.1.orig/src/liboslexec/CMakeLists.txt 2013-12-19 17:59:26.000000000 -0200 -+++ OpenShadingLanguage-Release-1.4.1/src/liboslexec/CMakeLists.txt 2014-03-25 10:15:14.011130861 -0300 -@@ -52,51 +52,64 @@ - MESSAGE (STATUS "LLVM_COMPILE cpp=${llvm_bc_cpp}") - endif () - SET ( ${srclist} ${${srclist}} ${llvm_bc_cpp} ) -- EXEC_PROGRAM ( "${LLVM_DIRECTORY}/bin/llvm-config" ARGS --cxxflags OUTPUT_VARIABLE LLVM_COMPILE_FLAGS ) -- set (LLVM_COMPILE_FLAGS "${LLVM_COMPILE_FLAGS} -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 --combine") -+ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-I${ILMBASE_INCLUDE_DIR}") - if (OSL_NAMESPACE) -- LIST (APPEND LLVM_COMPILE_FLAGS "-DOSL_NAMESPACE=${OSL_NAMESPACE}") -+ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-DOSL_NAMESPACE=${OSL_NAMESPACE}") - endif () - if (OPENIMAGEIO_NAMESPACE) -- LIST (APPEND LLVM_COMPILE_FLAGS "-DOPENIMAGEIO_NAMESPACE=${OPENIMAGEIO_NAMESPACE}") -+ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-DOPENIMAGEIO_NAMESPACE=${OPENIMAGEIO_NAMESPACE}") - endif () - get_property (CURRENT_DEFINITIONS DIRECTORY PROPERTY COMPILE_DEFINITIONS) - if (VERBOSE) - message (STATUS "Current #defines are ${CURRENT_DEFINITIONS}") - endif () - foreach (def ${CURRENT_DEFINITIONS}) -- LIST (APPEND LLVM_COMPILE_FLAGS "-D${def}") -+ SET (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-D${def}") - endforeach() - -- # First try looking in their build (clang++ first, then llvm-g++) -- FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" "llvm-g++" PATHS "${LLVM_DIRECTORY}/bin" NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH) -+ # Figure out what program we will use to make the bitcode. -+ if (NOT LLVM_BC_GENERATOR) -+ FIND_PROGRAM(LLVM_BC_GENERATOR NAMES "clang++" PATHS "${LLVM_DIRECTORY}/bin" NO_DEFAULT_PATH NO_CMAKE_SYSTEM_PATH NO_SYSTEM_ENVIRONMENT_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH) -+ endif () -+ # If that didn't work, look anywhere -+ if (NOT LLVM_BC_GENERATOR) -+ # Wasn't in their build, look anywhere -+ FIND_PROGRAM(LLVM_BC_GENERATOR NAMES clang++ llvm-g++) -+ endif () - -- if(NOT LLVM_BC_GENERATOR) -- # Wasn't in their build, look anywhere -- FIND_PROGRAM(LLVM_BC_GENERATOR NAMES clang++ llvm-g++) -- endif() -+ if (NOT LLVM_BC_GENERATOR) -+ message (FATAL_ERROR "You must have a valid llvm bitcode generator (clang++) somewhere.") -+ endif () -+ if (VERBOSE) -+ message (STATUS "Using ${LLVM_BC_GENERATOR} to generate bitcode.") -+ endif () - -- if(NOT LLVM_BC_GENERATOR) -- message (FATAL_ERROR "You must have a valid llvm bitcode generator (either llvm-g++ or clang++) somewhere.") -- else() -- if (VERBOSE) -- message (STATUS "Using ${LLVM_BC_GENERATOR} to generate bitcode.") -- endif () -- endif() -+ # Fix specific problem I had on new Apple systems (e.g. Mavericks) with -+ # LLVM/libc++ installed -- for some reason, LLVM 3.4 wasn't finding it, -+ # so in that specific case, append another -I to point it in the right -+ # direction. -+ if (APPLE AND ${LLVM_BC_GENERATOR} MATCHES ".*clang.*") -+ EXEC_PROGRAM ( "${LLVM_BC_GENERATOR}" ARGS --version OUTPUT_VARIABLE MY_CLANG_VERSION ) -+ string (REGEX REPLACE "clang version ([0-9][.][0-9]+).*" "\\1" MY_CLANG_VERSION "${MY_CLANG_VERSION}") -+ if ((${MY_CLANG_VERSION} VERSION_GREATER "3.3") -+ AND (EXISTS "/usr/lib/libc++.dylib") -+ AND (EXISTS "/Library/Developer/CommandLineTools/usr/lib/c++/v1")) -+ set (LLVM_COMPILE_FLAGS ${LLVM_COMPILE_FLAGS} "-I/Library/Developer/CommandLineTools/usr/lib/c++/v1") -+ endif () -+ endif () - - # Command to turn the .cpp file into LLVM assembly language .s, into - # LLVM bitcode .bc, then back into a C++ file with the bc embedded! - ADD_CUSTOM_COMMAND ( OUTPUT ${llvm_bc_cpp} - COMMAND ${LLVM_BC_GENERATOR} -- "-I${CMAKE_CURRENT_SOURCE_DIR}" -- "-I${CMAKE_SOURCE_DIR}/src/include" -- "-I${CMAKE_BINARY_DIR}/include" -- "-I${OPENIMAGEIO_INCLUDES}" -- "-I${ILMBASE_INCLUDE_DIR}" -- "-I${Boost_INCLUDE_DIRS}" -- ${LLVM_COMPILE_FLAGS} -- -O3 -S -emit-llvm -o ${llvm_asm} ${llvm_src} -- -+ ${LLVM_COMPILE_FLAGS} -+ "-I${CMAKE_CURRENT_SOURCE_DIR}" -+ "-I${CMAKE_SOURCE_DIR}/src/include" -+ "-I${CMAKE_BINARY_DIR}/include" -+ "-I${OPENIMAGEIO_INCLUDES}" -+ "-I${ILMBASE_INCLUDE_DIR}" -+ "-I${Boost_INCLUDE_DIRS}" -+ -O3 -S -emit-llvm -o ${llvm_asm} ${llvm_src} - COMMAND "${LLVM_DIRECTORY}/bin/llvm-as" -f -o ${llvm_bc} ${llvm_asm} - COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/serialize-bc.bash" ${llvm_bc} ${llvm_bc_cpp} - MAIN_DEPENDENCY ${llvm_src} -diff -Nur OpenShadingLanguage-Release-1.4.1.orig/src/liboslexec/llvm_headers.h OpenShadingLanguage-Release-1.4.1/src/liboslexec/llvm_headers.h ---- OpenShadingLanguage-Release-1.4.1.orig/src/liboslexec/llvm_headers.h 2013-12-19 17:59:26.000000000 -0200 -+++ OpenShadingLanguage-Release-1.4.1/src/liboslexec/llvm_headers.h 2014-03-25 10:28:30.679823090 -0300 -@@ -33,7 +33,27 @@ - namespace llvm = LLVM_NAMESPACE; - #endif - --#if OSL_LLVM_VERSION >= 33 -+#if OSL_LLVM_VERSION >= 34 -+ -+# include <llvm/IR/Constants.h> -+# include <llvm/IR/DerivedTypes.h> -+# include <llvm/IR/Instructions.h> -+# include <llvm/IR/Intrinsics.h> -+# include <llvm/IR/Module.h> -+# include <llvm/IR/LLVMContext.h> -+# include <llvm/IR/IRBuilder.h> -+# include <llvm/IR/DataLayout.h> -+# include <llvm/Bitcode/ReaderWriter.h> -+# include <llvm/ExecutionEngine/GenericValue.h> -+# include <llvm/ExecutionEngine/JIT.h> -+# include <llvm/ExecutionEngine/JITMemoryManager.h> -+# include <llvm/Linker.h> -+# include <llvm/IR/LegacyPassManager.h> -+# include <llvm/Support/ManagedStatic.h> -+# include <llvm/Support/MemoryBuffer.h> -+# include <llvm/Support/raw_ostream.h> -+ -+#elif OSL_LLVM_VERSION >= 33 - - # include <llvm/IR/Constants.h> - # include <llvm/IR/DerivedTypes.h> -diff -Nur OpenShadingLanguage-Release-1.4.1.orig/src/liboslexec/llvm_instance.cpp OpenShadingLanguage-Release-1.4.1/src/liboslexec/llvm_instance.cpp ---- OpenShadingLanguage-Release-1.4.1.orig/src/liboslexec/llvm_instance.cpp 2013-12-19 17:59:26.000000000 -0200 -+++ OpenShadingLanguage-Release-1.4.1/src/liboslexec/llvm_instance.cpp 2014-03-25 10:23:48.454056987 -0300 -@@ -1119,6 +1119,7 @@ - virtual void deallocateFunctionBody(void *Body) { - // DON'T DEALLOCATE mm->deallocateFunctionBody (Body); - } -+#if OSL_LLVM_VERSION <= 33 - virtual uint8_t* startExceptionTable(const llvm::Function* F, - uintptr_t &ActualSize) { - return mm->startExceptionTable (F, ActualSize); -@@ -1130,6 +1131,7 @@ - virtual void deallocateExceptionTable(void *ET) { - // DON'T DEALLOCATE mm->deallocateExceptionTable(ET); - } -+#endif - virtual bool CheckInvariants(std::string &s) { - return mm->CheckInvariants(s); - } -@@ -1145,7 +1147,41 @@ - virtual unsigned GetNumCodeSlabs() { return mm->GetNumCodeSlabs(); } - virtual unsigned GetNumDataSlabs() { return mm->GetNumDataSlabs(); } - virtual unsigned GetNumStubSlabs() { return mm->GetNumStubSlabs(); } --#if OSL_LLVM_VERSION >= 31 -+ -+#if OSL_LLVM_VERSION >= 34 -+ -+ virtual void *getPointerToNamedFunction(const std::string &Name, -+ bool AbortOnFailure = true) { -+ return mm->getPointerToNamedFunction (Name, AbortOnFailure); -+ } -+ virtual uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, -+ unsigned SectionID, llvm::StringRef SectionName) { -+ return mm->allocateCodeSection(Size, Alignment, SectionID, SectionName); -+ } -+ virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, -+ unsigned SectionID, llvm::StringRef SectionName, -+ bool IsReadOnly) { -+ return mm->allocateDataSection(Size, Alignment, SectionID, -+ SectionName, IsReadOnly); -+ } -+ virtual void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) { -+ mm->registerEHFrames (Addr, LoadAddr, Size); -+ } -+ virtual void deregisterEHFrames(uint8_t *Addr, uint64_t LoadAddr, size_t Size) { -+ mm->deregisterEHFrames(Addr, LoadAddr, Size); -+ } -+ virtual uint64_t getSymbolAddress(const std::string &Name) { -+ return mm->getSymbolAddress (Name); -+ } -+ virtual void notifyObjectLoaded(llvm::ExecutionEngine *EE, const llvm::ObjectImage *oi) { -+ mm->notifyObjectLoaded (EE, oi); -+ } -+ virtual bool finalizeMemory(std::string *ErrMsg = 0) { -+ return mm->finalizeMemory (ErrMsg); -+ } -+ -+#elif OSL_LLVM_VERSION == 33 -+ - virtual void *getPointerToNamedFunction(const std::string &Name, - bool AbortOnFailure = true) { - return mm->getPointerToNamedFunction (Name, AbortOnFailure); -@@ -1154,7 +1190,6 @@ - unsigned SectionID) { - return mm->allocateCodeSection(Size, Alignment, SectionID); - } --#if OSL_LLVM_VERSION >= 33 - virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, - unsigned SectionID, bool IsReadOnly) { - return mm->allocateDataSection(Size, Alignment, SectionID, IsReadOnly); -@@ -1162,12 +1197,22 @@ - virtual bool applyPermissions(std::string *ErrMsg = 0) { - return mm->applyPermissions(ErrMsg); - } --#else -+ -+#elif OSL_LLVM_VERSION == 32 || OSL_LLVM_VERSION == 31 -+ -+ virtual void *getPointerToNamedFunction(const std::string &Name, -+ bool AbortOnFailure = true) { -+ return mm->getPointerToNamedFunction (Name, AbortOnFailure); -+ } -+ virtual uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, -+ unsigned SectionID) { -+ return mm->allocateCodeSection(Size, Alignment, SectionID); -+ } - virtual uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, - unsigned SectionID) { - return mm->allocateDataSection(Size, Alignment, SectionID); - } --#endif -+ - #endif - }; - -@@ -1282,7 +1327,7 @@ - m_shadingsys.m_stat_empty_groups += 1; - m_shadingsys.m_stat_empty_instances += 1; // the one layer is empty - } else { -- m_llvm_passes->run (*llvm_module()); -+ m_llvm_module_passes->run (*llvm_module()); - } - - m_stat_llvm_opt_time += timer.lap(); -@@ -1417,7 +1462,12 @@ - // Some global LLVM initialization for the first thread that - // gets here. - info ("Setting up LLVM"); -+ -+#if OSL_LLVM_VERSION <= 33 -+ // Starting with LLVM 3.4, the pretty stack trace was opt-in rather -+ // than opt-out, and the following variable was removed. - llvm::DisablePrettyStackTrace = true; -+#endif - llvm::llvm_start_multithreaded (); // enable it to be thread-safe - llvm::InitializeNativeTarget(); - done = true; -@@ -1428,12 +1478,17 @@ - void - RuntimeOptimizer::llvm_setup_optimization_passes () - { -- ASSERT (m_llvm_passes == NULL && m_llvm_func_passes == NULL); -+ ASSERT (m_llvm_module_passes == NULL && m_llvm_func_passes == NULL); - - // Specify per-function passes - // -+#if OSL_LLVM_VERSION >= 34 -+ m_llvm_func_passes = new llvm::legacy::FunctionPassManager(llvm_module()); -+ llvm::legacy::FunctionPassManager &fpm (*m_llvm_func_passes); -+#else - m_llvm_func_passes = new llvm::FunctionPassManager(llvm_module()); - llvm::FunctionPassManager &fpm (*m_llvm_func_passes); -+#endif - #if OSL_LLVM_VERSION >= 32 - fpm.add (new llvm::DataLayout(llvm_module())); - #else -@@ -1442,8 +1497,13 @@ - - // Specify module-wide (interprocedural optimization) passes - // -- m_llvm_passes = new llvm::PassManager; -- llvm::PassManager &passes (*m_llvm_passes); -+#if OSL_LLVM_VERSION >= 34 -+ m_llvm_module_passes = new llvm::legacy::PassManager; -+ llvm::legacy::PassManager &passes (*m_llvm_module_passes); -+#else -+ m_llvm_module_passes = new llvm::PassManager; -+ llvm::PassManager &passes (*m_llvm_module_passes); -+#endif - #if OSL_LLVM_VERSION >= 32 - passes.add (new llvm::DataLayout(llvm_module())); - #else -diff -Nur OpenShadingLanguage-Release-1.4.1.orig/src/liboslexec/runtimeoptimize.cpp OpenShadingLanguage-Release-1.4.1/src/liboslexec/runtimeoptimize.cpp ---- OpenShadingLanguage-Release-1.4.1.orig/src/liboslexec/runtimeoptimize.cpp 2013-12-19 17:59:26.000000000 -0200 -+++ OpenShadingLanguage-Release-1.4.1/src/liboslexec/runtimeoptimize.cpp 2014-03-25 10:24:53.282903590 -0300 -@@ -109,7 +109,7 @@ - m_stat_llvm_jit_time(0), - m_llvm_context(NULL), m_llvm_module(NULL), - m_llvm_exec(NULL), m_builder(NULL), -- m_llvm_passes(NULL), m_llvm_func_passes(NULL) -+ m_llvm_module_passes(NULL), m_llvm_func_passes(NULL) - { - set_debug (); - memset (&m_shaderglobals, 0, sizeof(ShaderGlobals)); -@@ -121,7 +121,7 @@ - RuntimeOptimizer::~RuntimeOptimizer () - { - delete m_builder; -- delete m_llvm_passes; -+ delete m_llvm_module_passes; - delete m_llvm_func_passes; - } - -diff -Nur OpenShadingLanguage-Release-1.4.1.orig/src/liboslexec/runtimeoptimize.h OpenShadingLanguage-Release-1.4.1/src/liboslexec/runtimeoptimize.h ---- OpenShadingLanguage-Release-1.4.1.orig/src/liboslexec/runtimeoptimize.h 2013-12-19 17:59:26.000000000 -0200 -+++ OpenShadingLanguage-Release-1.4.1/src/liboslexec/runtimeoptimize.h 2014-03-25 10:26:38.102685835 -0300 -@@ -968,8 +968,13 @@ - llvm::Type *m_llvm_type_closure_component_attr; // LLVM type for ClosureMeta::Attr - llvm::PointerType *m_llvm_type_prepare_closure_func; - llvm::PointerType *m_llvm_type_setup_closure_func; -- llvm::PassManager *m_llvm_passes; -+#if OSL_LLVM_VERSION >= 34 -+ llvm::legacy::PassManager *m_llvm_module_passes; -+ llvm::legacy::FunctionPassManager *m_llvm_func_passes; -+#else -+ llvm::PassManager *m_llvm_module_passes; - llvm::FunctionPassManager *m_llvm_func_passes; -+#endif - int m_llvm_local_mem; // Amount of memory we use for locals - - // Persistant data shared between layers |