summaryrefslogtreecommitdiff
path: root/libre
diff options
context:
space:
mode:
Diffstat (limited to 'libre')
-rw-r--r--libre/blender/PKGBUILD72
-rw-r--r--libre/opencollada/PKGBUILD47
-rw-r--r--libre/opencolorio/PKGBUILD34
-rw-r--r--libre/openimageio/PKGBUILD66
-rw-r--r--libre/openshadinglanguage/PKGBUILD95
-rw-r--r--libre/openshadinglanguage/llvm-133.patch331
-rw-r--r--libre/openshadinglanguage/llvm-141.patch333
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