OpenShadingLanguage/0001-LLVM-10-odds-and-ends-1135.patch
Dave Plater 1c4af470c7 Accepting request 796879 from home:plater:blender
- Update to v1.11.4.1 to fix build with LLVM10.
- Remove incorporated patch:
  0001-Generalize-lookup-of-stdosl.h-in-install-directory-a.patch
Added patches from git:
  0001-Some-SPI-build-fixes-for-finding-the-right-llvm.patch and
  0001-LLVM-10-odds-and-ends-1135.patch.
- Created osl-pkgconfig-versions.patch to fix pc file's version
  fields. Upstreamed along with workaround for new libclang-cpp in issue #1155
Created osl-oslimageio-soname.patch to keep the library build in  line with v1.x.

OBS-URL: https://build.opensuse.org/request/show/796879
OBS-URL: https://build.opensuse.org/package/show/graphics/OpenShadingLanguage?expand=0&rev=11
2020-04-24 08:17:39 +00:00

95 lines
3.3 KiB
Diff

From 2683cfdc41e66f7681c68a6f1b85e0a26fb00a86 Mon Sep 17 00:00:00 2001
From: Larry Gritz <lg@larrygritz.com>
Date: Tue, 31 Mar 2020 08:21:01 -0700
Subject: [PATCH] LLVM 10 odds and ends (#1135)
* Use llvm 10 in some CI tests
* build_llvm: New download location for llvm 10
* Build time check that LLVM 10+ requires C++ >= 14
---
.github/workflows/workflow.yml | 22 ++++++++++++++++++++--
src/build-scripts/build_llvm.bash | 7 ++++++-
src/cmake/externalpackages.cmake | 5 ++++-
3 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml
index b331fca9..4ef8a2ee 100644
--- a/.github/workflows/workflow.yml
+++ b/.github/workflows/workflow.yml
@@ -111,8 +111,26 @@ jobs:
source src/build-scripts/gh-installdeps.bash
source src/build-scripts/ci-build-and-test.bash
+ linux-2021ish-gcc8-llvm9:
+ name: "Linux gcc8, C++17, llvm10, oiio master, avx2, exr2.4"
+ runs-on: ubuntu-18.04
+ steps:
+ - uses: actions/checkout@v1
+ - name: all
+ env:
+ CXX: g++-8
+ CMAKE_CXX_STANDARD: 17
+ LLVM_VERSION: 10.0.0
+ USE_SIMD: avx2,f16c
+ OPENEXR_VERSION: 2.4.0
+ OPENIMAGEIO_BRANCH: master
+ run: |
+ source src/build-scripts/ci-startup.bash
+ source src/build-scripts/gh-installdeps.bash
+ source src/build-scripts/ci-build-and-test.bash
+
linux-bleeding:
- name: "Linux bleeding edge: gcc8, C++17, llvm9, oiio master, avx2, exr2.4"
+ name: "Linux bleeding edge: gcc8, C++17, llvm10, oiio master, avx2, exr2.4"
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v1
@@ -121,7 +139,7 @@ jobs:
CXX: g++-8
USE_CPP: 17
CMAKE_CXX_STANDARD: 17
- LLVM_VERSION: 9.0.0
+ LLVM_VERSION: 10.0.0
USE_SIMD: avx2,f16c
OPENEXR_VERSION: 2.4.0
OPENIMAGEIO_BRANCH: master
diff --git a/src/build-scripts/build_llvm.bash b/src/build-scripts/build_llvm.bash
index b0fdf591..3b25b64e 100755
--- a/src/build-scripts/build_llvm.bash
+++ b/src/build-scripts/build_llvm.bash
@@ -24,7 +24,12 @@ if [[ `uname` == "Linux" ]] ; then
LLVMTAR=clang+llvm-${LLVM_VERSION}-x86_64-linux-gnu-${LLVM_DISTRO_NAME}.tar.xz
fi
echo LLVMTAR = $LLVMTAR
- curl --location http://releases.llvm.org/${LLVM_VERSION}/${LLVMTAR} -o $LLVMTAR
+ if [ "$LLVM_VERSION" == "10.0.0" ] ; then
+ # new
+ curl --location https://github.com/llvm/llvm-project/releases/download/llvmorg-${LLVM_VERSION}/${LLVMTAR} -o $LLVMTAR
+ else
+ curl --location http://releases.llvm.org/${LLVM_VERSION}/${LLVMTAR} -o $LLVMTAR
+ fi
ls -l $LLVMTAR
tar xf $LLVMTAR
rm -f $LLVMTAR
diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake
index 5afb9664..62f9b7fd 100644
--- a/src/cmake/externalpackages.cmake
+++ b/src/cmake/externalpackages.cmake
@@ -223,7 +223,10 @@ add_definitions (-DOSL_LLVM_FULL_VERSION="${LLVM_VERSION}")
if (LLVM_NAMESPACE)
add_definitions ("-DLLVM_NAMESPACE=${LLVM_NAMESPACE}")
endif ()
-
+if (LLVM_VERSION VERSION_GREATER_EQUAL 10.0.0 AND
+ CMAKE_CXX_STANDARD VERSION_LESS 14)
+ message (FATAL_ERROR "LLVM 10+ requires C++14 or higher.")
+endif ()
checked_find_package (partio)
--
2.16.4