mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-19 00:21:40 +00:00
community/openshadinglanguage to 1.5.7dev-1
This commit is contained in:
parent
3357ad16b5
commit
7f5efff9ad
2 changed files with 3 additions and 79 deletions
|
@ -6,7 +6,7 @@
|
||||||
# - set -DUSE_LLVM_BITCODE=OFF for v5 and v6
|
# - set -DUSE_LLVM_BITCODE=OFF for v5 and v6
|
||||||
|
|
||||||
pkgname=openshadinglanguage
|
pkgname=openshadinglanguage
|
||||||
pkgver=1.5.4dev
|
pkgver=1.5.7dev
|
||||||
pkgrel=1
|
pkgrel=1
|
||||||
pkgdesc="Advanced shading language for production GI renderers"
|
pkgdesc="Advanced shading language for production GI renderers"
|
||||||
arch=(i686 x86_64)
|
arch=(i686 x86_64)
|
||||||
|
@ -14,17 +14,12 @@ url="https://github.com/imageworks/OpenShadingLanguage"
|
||||||
license=('custom')
|
license=('custom')
|
||||||
depends=('boost-libs' 'openimageio' 'openexr' 'llvm' 'freetype2' 'libpng' 'libtiff')
|
depends=('boost-libs' 'openimageio' 'openexr' 'llvm' 'freetype2' 'libpng' 'libtiff')
|
||||||
makedepends=('boost' 'cmake' 'clang')
|
makedepends=('boost' 'cmake' 'clang')
|
||||||
source=(https://github.com/imageworks/OpenShadingLanguage/archive/Release-${pkgver}.tar.gz
|
source=(https://github.com/imageworks/OpenShadingLanguage/archive/Release-${pkgver}.tar.gz)
|
||||||
https://github.com/imageworks/OpenShadingLanguage/pull/320.patch)
|
md5sums=('582214c825897a7b879d780b55fb7b94')
|
||||||
md5sums=('4dda1fb2919d3440344d36ecbdf13d47'
|
|
||||||
'590137809ea344b41b1ad1e0fc81738c')
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
cd OpenShadingLanguage-Release-$pkgver
|
cd OpenShadingLanguage-Release-$pkgver
|
||||||
|
|
||||||
# LLVM 3.4 build fix
|
|
||||||
patch -Np1 < $srcdir/320.patch
|
|
||||||
|
|
||||||
cd src
|
cd src
|
||||||
|
|
||||||
[[ -d build ]] && rm -r build
|
[[ -d build ]] && rm -r build
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
commit c391ceb1936459b70147d6f8ac389ded26a7e028
|
|
||||||
Author: Sven-Hendrik Haase <sh@lutzhaase.com>
|
|
||||||
Date: Fri Dec 28 09:00:33 2012 +0100
|
|
||||||
|
|
||||||
Fix for LLVM 3.2
|
|
||||||
|
|
||||||
diff --git a/src/liboslexec/llvm_headers.h b/src/liboslexec/llvm_headers.h
|
|
||||||
index 41a7a11..5ff4384 100644
|
|
||||||
--- a/src/liboslexec/llvm_headers.h
|
|
||||||
+++ b/src/liboslexec/llvm_headers.h
|
|
||||||
@@ -45,10 +45,18 @@ namespace llvm = LLVM_NAMESPACE;
|
|
||||||
#include <llvm/LLVMContext.h>
|
|
||||||
#include <llvm/Module.h>
|
|
||||||
#include <llvm/PassManager.h>
|
|
||||||
+#if OSL_LLVM_VERSION >= 32
|
|
||||||
+#include <llvm/IRBuilder.h>
|
|
||||||
+#else
|
|
||||||
#include <llvm/Support/IRBuilder.h>
|
|
||||||
+#endif
|
|
||||||
#include <llvm/Support/ManagedStatic.h>
|
|
||||||
#include <llvm/Support/MemoryBuffer.h>
|
|
||||||
#include <llvm/Support/raw_ostream.h>
|
|
||||||
+#if OSL_LLVM_VERSION >= 32
|
|
||||||
+#include <llvm/DataLayout.h>
|
|
||||||
+#else
|
|
||||||
#include <llvm/Target/TargetData.h>
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#endif /* OSL_LLVM_HEADERS_H */
|
|
||||||
diff --git a/src/liboslexec/llvm_instance.cpp b/src/liboslexec/llvm_instance.cpp
|
|
||||||
index 8709c8b..3e42557 100644
|
|
||||||
--- a/src/liboslexec/llvm_instance.cpp
|
|
||||||
+++ b/src/liboslexec/llvm_instance.cpp
|
|
||||||
@@ -1273,13 +1273,21 @@ RuntimeOptimizer::llvm_setup_optimization_passes ()
|
|
||||||
//
|
|
||||||
m_llvm_func_passes = new llvm::FunctionPassManager(llvm_module());
|
|
||||||
llvm::FunctionPassManager &fpm (*m_llvm_func_passes);
|
|
||||||
+#if OSL_LLVM_VERSION >= 32
|
|
||||||
+ fpm.add (new llvm::DataLayout(llvm_module()));
|
|
||||||
+#else
|
|
||||||
fpm.add (new llvm::TargetData(llvm_module()));
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
// Specify module-wide (interprocedural optimization) passes
|
|
||||||
//
|
|
||||||
m_llvm_passes = new llvm::PassManager;
|
|
||||||
llvm::PassManager &passes (*m_llvm_passes);
|
|
||||||
+#if OSL_LLVM_VERSION >= 32
|
|
||||||
+ passes.add (new llvm::DataLayout(llvm_module()));
|
|
||||||
+#else
|
|
||||||
passes.add (new llvm::TargetData(llvm_module()));
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (shadingsys().llvm_optimize() >= 1 && shadingsys().llvm_optimize() <= 3) {
|
|
||||||
// For LLVM 3.0 and higher, llvm_optimize 1-3 means to use the
|
|
||||||
diff --git a/src/liboslexec/llvm_util.cpp b/src/liboslexec/llvm_util.cpp
|
|
||||||
index 135da2e..4e0eefe 100644
|
|
||||||
--- a/src/liboslexec/llvm_util.cpp
|
|
||||||
+++ b/src/liboslexec/llvm_util.cpp
|
|
||||||
@@ -42,7 +42,11 @@ namespace pvt {
|
|
||||||
llvm::Type *
|
|
||||||
RuntimeOptimizer::llvm_type_union(const std::vector<llvm::Type *> &types)
|
|
||||||
{
|
|
||||||
+#if OSL_LLVM_VERSION >= 32
|
|
||||||
+ llvm::DataLayout target(llvm_module());
|
|
||||||
+#else
|
|
||||||
llvm::TargetData target(llvm_module());
|
|
||||||
+#endif
|
|
||||||
size_t max_size = 0;
|
|
||||||
size_t max_align = 1;
|
|
||||||
for (size_t i = 0; i < types.size(); ++i) {
|
|
Loading…
Reference in a new issue