[beignet] 09/12: Simplify LLVM/Clang version selection, and allow 3.6
Rebecca Palmer
rnpalmer-guest at moszumanska.debian.org
Wed Mar 18 21:37:46 UTC 2015
This is an automated email from the git hooks/post-receive script.
rnpalmer-guest pushed a commit to branch master
in repository beignet.
commit 82b66865539048bd7a7c45dec0add3195da2a6f1
Author: Rebecca N. Palmer <rebecca_palmer at zoho.com>
Date: Wed Mar 18 20:12:32 2015 +0000
Simplify LLVM/Clang version selection, and allow 3.6
Version can now be set by editing just debian/control
---
debian/changelog | 1 +
debian/patches/find-versioned-llvm.patch | 116 +++++++++++++++++++++++++++++++
debian/patches/force-llvm-3.5.patch | 52 --------------
debian/patches/series | 2 +-
4 files changed, 118 insertions(+), 53 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index a6145ec..35b3fd5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,6 +15,7 @@ beignet (1.0.2-1) UNRELEASED; urgency=medium
on unsupported hardware.
* Fix crash if /dev/dri/card0 is inaccessible.
* Enable standard-compliant precision by default.
+ * Simplify LLVM/Clang version selection.
-- Andreas Beckmann <anbe at debian.org> Tue, 17 Mar 2015 23:29:43 +0100
diff --git a/debian/patches/find-versioned-llvm.patch b/debian/patches/find-versioned-llvm.patch
new file mode 100644
index 0000000..6ff9d6a
--- /dev/null
+++ b/debian/patches/find-versioned-llvm.patch
@@ -0,0 +1,116 @@
+Description: Simplify LLVM/Clang version selection
+
+Find non-default (i.e. version-in-name) clang/as/link
+Allow version 3.6
+
+Author: Rebecca Palmer <rebecca_palmer at zoho.com>
+
+--- beignet-1.0.2.orig/CMake/FindLLVM.cmake
++++ beignet-1.0.2/CMake/FindLLVM.cmake
+@@ -8,12 +8,12 @@
+ # LLVM_FOUND - True if llvm found.
+ if (LLVM_INSTALL_DIR)
+ find_program(LLVM_CONFIG_EXECUTABLE
+- NAMES llvm-config-35 llvm-config-3.5 llvm-config-33 llvm-config-3.3 llvm-config-34 llvm-config-3.4 llvm-config
++ NAMES llvm-config-35 llvm-config-3.5 llvm-config-36 llvm-config-3.6 llvm-config-33 llvm-config-3.3 llvm-config-34 llvm-config-3.4 llvm-config
+ DOC "llvm-config executable"
+ PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH)
+ else (LLVM_INSTALL_DIR)
+ find_program(LLVM_CONFIG_EXECUTABLE
+- NAMES llvm-config-35 llvm-config-3.5 llvm-config-33 llvm-config-3.3 llvm-config-34 llvm-config-3.4 llvm-config
++ NAMES llvm-config-35 llvm-config-3.5 llvm-config-36 llvm-config-3.6 llvm-config-33 llvm-config-3.3 llvm-config-34 llvm-config-3.4 llvm-config
+ DOC "llvm-config executable")
+ endif (LLVM_INSTALL_DIR)
+
+@@ -28,13 +28,15 @@ SET(LLVM_STABLE_VERSION_MINOR "5")
+ SET(LLVM_STABLE_VERSION_NODOT "${LLVM_STABLE_VERSION_MAJOR}${LLVM_STABLE_VERSION_MINOR}")
+ SET(LLVM_STABLE_VERSION "${LLVM_STABLE_VERSION_MAJOR}.${LLVM_STABLE_VERSION_MINOR}")
+
++execute_process(
++ COMMAND ${LLVM_CONFIG_EXECUTABLE} --version
++ OUTPUT_VARIABLE LLVM_VERSION
++ OUTPUT_STRIP_TRAILING_WHITESPACE
++)
++string(REGEX REPLACE "([0-9])\\.([0-9]*).*" "\\1\\2" LLVM_VERSION_NODOT ${LLVM_VERSION})
++string(REGEX REPLACE "([0-9])\\.([0-9]*).*" "\\1.\\2" LLVM_VERSION_NOPATCH ${LLVM_VERSION})
+ if (LLVM_FIND_VERSION_MAJOR AND LLVM_FIND_VERSION_MINOR)
+ SET(LLVM_FIND_VERSION_NODOT "${LLVM_FIND_VERSION_MAJOR}${LLVM_FIND_VERSION_MINOR}")
+- execute_process(
+- COMMAND ${LLVM_CONFIG_EXECUTABLE} --version
+- OUTPUT_VARIABLE LLVM_VERSION
+- )
+- string(REGEX REPLACE "([0-9])\\.([0-9]*).*" "\\1\\2 " LLVM_VERSION_NODOT ${LLVM_VERSION})
+ if (LLVM_VERSION_NODOT VERSION_LESS LLVM_FIND_VERSION_NODOT)
+ message(FATAL_ERROR "imcompatible LLVM version ${LLVM_VERSION} required ${LLVM_FIND_VERSION}")
+ else (LLVM_VERSION_NODOT VERSION_LESS LLVM_FIND_VERSION_NODOT)
+@@ -48,6 +50,25 @@ if (LLVM_FIND_VERSION_MAJOR AND LLVM_FIN
+ endif (LLVM_VERSION_NODOT VERSION_LESS LLVM_FIND_VERSION_NODOT)
+ endif (LLVM_FIND_VERSION_MAJOR AND LLVM_FIND_VERSION_MINOR)
+
++if (LLVM_INSTALL_DIR)
++ find_program(CLANG_EXECUTABLE
++ NAMES clang-${LLVM_VERSION_NODOT} clang-${LLVM_VERSION_NOPATCH} clang
++ PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH)
++ find_program(LLVM_AS_EXECUTABLE
++ NAMES llvm-as-${LLVM_VERSION_NODOT} llvm-as-${LLVM_VERSION_NOPATCH} llvm-as
++ PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH)
++ find_program(LLVM_LINK_EXECUTABLE
++ NAMES llvm-link-${LLVM_VERSION_NODOT} llvm-link-${LLVM_VERSION_NOPATCH} llvm-link
++ PATHS ${LLVM_INSTALL_DIR} NO_DEFAULT_PATH)
++else (LLVM_INSTALL_DIR)
++ find_program(CLANG_EXECUTABLE
++ NAMES clang-${LLVM_VERSION_NODOT} clang-${LLVM_VERSION_NOPATCH} clang)
++ find_program(LLVM_AS_EXECUTABLE
++ NAMES llvm-as-${LLVM_VERSION_NODOT} llvm-as-${LLVM_VERSION_NOPATCH} llvm-as)
++ find_program(LLVM_LINK_EXECUTABLE
++ NAMES llvm-link-${LLVM_VERSION_NODOT} llvm-link-${LLVM_VERSION_NOPATCH} llvm-link)
++endif (LLVM_INSTALL_DIR)
++
+ execute_process(
+ COMMAND ${LLVM_CONFIG_EXECUTABLE} --includedir
+ OUTPUT_VARIABLE LLVM_INCLUDE_DIR
+--- beignet-1.0.2.orig/backend/src/libocl/CMakeLists.txt
++++ beignet-1.0.2/backend/src/libocl/CMakeLists.txt
+@@ -136,7 +136,7 @@ MACRO(ADD_CL_TO_BC_TARGET _file)
+ ADD_CUSTOM_COMMAND(OUTPUT ${output_name}
+ COMMAND mkdir -p ${OCL_OBJECT_DIR}/
+ #COMMAND echo ${LLVM_INSTALL_DIR}clang -cc1 ${CLANG_OCL_FLAGS} -I ${LIBOCL_BINARY_DIR}/include/ -emit-llvm-bc -triple spir -o ${output_name} -x cl ${_file}
+- COMMAND ${LLVM_INSTALL_DIR}clang -cc1 ${CLANG_OCL_FLAGS} -I ${OCL_OBJECT_DIR}/include/ -emit-llvm-bc -triple spir -o ${output_name} -x cl ${_file}
++ COMMAND ${CLANG_EXECUTABLE} -cc1 ${CLANG_OCL_FLAGS} -I ${OCL_OBJECT_DIR}/include/ -emit-llvm-bc -triple spir -o ${output_name} -x cl ${_file}
+ DEPENDS ${_file} ${OCL_HEADER_FILES}
+ COMMENT "Compiling ${_file}"
+ )
+@@ -175,7 +175,7 @@ MACRO(ADD_LL_TO_BC_TARGET M)
+ ADD_CUSTOM_COMMAND(OUTPUT ${output_name}
+ COMMAND mkdir -p ${OCL_OBJECT_DIR}/
+ #COMMAND echo ${LLVM_INSTALL_DIR}llvm-as -o ${output_name} ${srcll_name}
+- COMMAND ${LLVM_INSTALL_DIR}llvm-as -o ${output_name} ${srcll_name}
++ COMMAND ${LLVM_AS_EXECUTABLE} -o ${output_name} ${srcll_name}
+ DEPENDS ${srcll_name}
+ COMMENT "Compiling ${srcll_name}"
+ )
+@@ -193,21 +193,21 @@ ENDFOREACH(f)
+ ADD_CUSTOM_COMMAND(OUTPUT ${OCL_OBJECT_DIR}/beignet.bc
+ COMMAND mkdir -p ${LIBOCL_BINARY_DIR}/lib/
+ #COMMAND echo llvm-link -o ${LIBOCL_BINARY_DIR}/lib/beignet.bc ${OCL_BC_FILES}
+- COMMAND ${LLVM_INSTALL_DIR}llvm-link -o ${OCL_OBJECT_DIR}/beignet.bc ${OCL_BC_FILES}
++ COMMAND ${LLVM_LINK_EXECUTABLE} -o ${OCL_OBJECT_DIR}/beignet.bc ${OCL_BC_FILES}
+ DEPENDS ${OCL_BC_FILES}
+ COMMENT "Generate the bitcode file: ${OCL_OBJECT_DIR}/beignet.bc"
+ )
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${OCL_OBJECT_DIR}/beignet.local.pch
+ COMMAND mkdir -p ${OCL_OBJECT_DIR}
+- COMMAND ${LLVM_INSTALL_DIR}clang -cc1 ${CLANG_OCL_FLAGS} -triple spir -I ${OCL_OBJECT_DIR}/include/ -emit-pch -x cl ${OCL_OBJECT_DIR}/include/ocl.h -o ${OCL_OBJECT_DIR}/beignet.local.pch
++ COMMAND ${CLANG_EXECUTABLE} -cc1 ${CLANG_OCL_FLAGS} -triple spir -I ${OCL_OBJECT_DIR}/include/ -emit-pch -x cl ${OCL_OBJECT_DIR}/include/ocl.h -o ${OCL_OBJECT_DIR}/beignet.local.pch
+ DEPENDS ${OCL_HEADER_FILES}
+ COMMENT "Generate the pch file: ${OCL_OBJECT_DIR}/beignet.local.pch"
+ )
+
+ ADD_CUSTOM_COMMAND(OUTPUT ${OCL_OBJECT_DIR}/beignet.pch
+ COMMAND mkdir -p ${OCL_OBJECT_DIR}
+- COMMAND ${LLVM_INSTALL_DIR}clang -cc1 ${CLANG_OCL_FLAGS} -triple spir -I ${OCL_OBJECT_DIR}/include/ --relocatable-pch -emit-pch -isysroot ${LIBOCL_BINARY_DIR} -x cl ${OCL_OBJECT_DIR}/include/ocl.h -o ${OCL_OBJECT_DIR}/beignet.pch
++ COMMAND ${CLANG_EXECUTABLE} -cc1 ${CLANG_OCL_FLAGS} -triple spir -I ${OCL_OBJECT_DIR}/include/ --relocatable-pch -emit-pch -isysroot ${LIBOCL_BINARY_DIR} -x cl ${OCL_OBJECT_DIR}/include/ocl.h -o ${OCL_OBJECT_DIR}/beignet.pch
+ DEPENDS ${OCL_HEADER_FILES}
+ COMMENT "Generate the pch file: ${OCL_OBJECT_DIR}/beignet.pch"
+ )
diff --git a/debian/patches/force-llvm-3.5.patch b/debian/patches/force-llvm-3.5.patch
deleted file mode 100644
index 0169f14..0000000
--- a/debian/patches/force-llvm-3.5.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-Description: Explicitly use LLVM/Clang 3.5
-
-The default on Ubuntu is now 3.6, which doesn't work for this package:
-https://launchpad.net/~ginggs/+archive/ubuntu/testing/+build/6971271/+files/buildlog_ubuntu-vivid-amd64.beignet_1.0.1-1%7Eubuntu15.04.1%7Eppa1_FAILEDTOBUILD.txt.gz
-
-Author: Rebecca Palmer <rebecca_palmer at zoho.com>
-
---- beignet-1.0.1.orig/backend/src/libocl/CMakeLists.txt
-+++ beignet-1.0.1/backend/src/libocl/CMakeLists.txt
-@@ -136,7 +136,7 @@ MACRO(ADD_CL_TO_BC_TARGET _file)
- ADD_CUSTOM_COMMAND(OUTPUT ${output_name}
- COMMAND mkdir -p ${OCL_OBJECT_DIR}/
- #COMMAND echo ${LLVM_INSTALL_DIR}clang -cc1 ${CLANG_OCL_FLAGS} -I ${LIBOCL_BINARY_DIR}/include/ -emit-llvm-bc -triple spir -o ${output_name} -x cl ${_file}
-- COMMAND ${LLVM_INSTALL_DIR}clang -cc1 ${CLANG_OCL_FLAGS} -I ${OCL_OBJECT_DIR}/include/ -emit-llvm-bc -triple spir -o ${output_name} -x cl ${_file}
-+ COMMAND ${LLVM_INSTALL_DIR}clang-3.5 -cc1 ${CLANG_OCL_FLAGS} -I ${OCL_OBJECT_DIR}/include/ -emit-llvm-bc -triple spir -o ${output_name} -x cl ${_file}
- DEPENDS ${_file} ${OCL_HEADER_FILES}
- COMMENT "Compiling ${_file}"
- )
-@@ -175,7 +175,7 @@ MACRO(ADD_LL_TO_BC_TARGET M)
- ADD_CUSTOM_COMMAND(OUTPUT ${output_name}
- COMMAND mkdir -p ${OCL_OBJECT_DIR}/
- #COMMAND echo ${LLVM_INSTALL_DIR}llvm-as -o ${output_name} ${srcll_name}
-- COMMAND ${LLVM_INSTALL_DIR}llvm-as -o ${output_name} ${srcll_name}
-+ COMMAND ${LLVM_INSTALL_DIR}llvm-as-3.5 -o ${output_name} ${srcll_name}
- DEPENDS ${srcll_name}
- COMMENT "Compiling ${srcll_name}"
- )
-@@ -193,21 +193,21 @@ ENDFOREACH(f)
- ADD_CUSTOM_COMMAND(OUTPUT ${OCL_OBJECT_DIR}/beignet.bc
- COMMAND mkdir -p ${LIBOCL_BINARY_DIR}/lib/
- #COMMAND echo llvm-link -o ${LIBOCL_BINARY_DIR}/lib/beignet.bc ${OCL_BC_FILES}
-- COMMAND ${LLVM_INSTALL_DIR}llvm-link -o ${OCL_OBJECT_DIR}/beignet.bc ${OCL_BC_FILES}
-+ COMMAND ${LLVM_INSTALL_DIR}llvm-link-3.5 -o ${OCL_OBJECT_DIR}/beignet.bc ${OCL_BC_FILES}
- DEPENDS ${OCL_BC_FILES}
- COMMENT "Generate the bitcode file: ${OCL_OBJECT_DIR}/beignet.bc"
- )
-
- ADD_CUSTOM_COMMAND(OUTPUT ${OCL_OBJECT_DIR}/beignet.local.pch
- COMMAND mkdir -p ${OCL_OBJECT_DIR}
-- COMMAND ${LLVM_INSTALL_DIR}clang -cc1 ${CLANG_OCL_FLAGS} -triple spir -I ${OCL_OBJECT_DIR}/include/ -emit-pch -x cl ${OCL_OBJECT_DIR}/include/ocl.h -o ${OCL_OBJECT_DIR}/beignet.local.pch
-+ COMMAND ${LLVM_INSTALL_DIR}clang-3.5 -cc1 ${CLANG_OCL_FLAGS} -triple spir -I ${OCL_OBJECT_DIR}/include/ -emit-pch -x cl ${OCL_OBJECT_DIR}/include/ocl.h -o ${OCL_OBJECT_DIR}/beignet.local.pch
- DEPENDS ${OCL_HEADER_FILES}
- COMMENT "Generate the pch file: ${OCL_OBJECT_DIR}/beignet.local.pch"
- )
-
- ADD_CUSTOM_COMMAND(OUTPUT ${OCL_OBJECT_DIR}/beignet.pch
- COMMAND mkdir -p ${OCL_OBJECT_DIR}
-- COMMAND ${LLVM_INSTALL_DIR}clang -cc1 ${CLANG_OCL_FLAGS} -triple spir -I ${OCL_OBJECT_DIR}/include/ --relocatable-pch -emit-pch -isysroot ${LIBOCL_BINARY_DIR} -x cl ${OCL_OBJECT_DIR}/include/ocl.h -o ${OCL_OBJECT_DIR}/beignet.pch
-+ COMMAND ${LLVM_INSTALL_DIR}clang-3.5 -cc1 ${CLANG_OCL_FLAGS} -triple spir -I ${OCL_OBJECT_DIR}/include/ --relocatable-pch -emit-pch -isysroot ${LIBOCL_BINARY_DIR} -x cl ${OCL_OBJECT_DIR}/include/ocl.h -o ${OCL_OBJECT_DIR}/beignet.pch
- DEPENDS ${OCL_HEADER_FILES}
- COMMENT "Generate the pch file: ${OCL_OBJECT_DIR}/beignet.pch"
- )
diff --git a/debian/patches/series b/debian/patches/series
index 308c69a..05b3c0f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,7 +2,7 @@ Enhance-debug-output.patch
Debian-compliant-compiler-flags-handling.patch
Link-against-terminfo.patch
Enable-test-debug.patch
-force-llvm-3.5.patch
+find-versioned-llvm.patch
support-kfreebsd.patch
reduce-notfound-output.patch
fail-gracefully-no-hardware.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-opencl/beignet.git
More information about the Pkg-opencl-commits
mailing list