From 511d51977ebdd35674dea094e91057b32239e9bc Mon Sep 17 00:00:00 2001 From: Yann Sionneau Date: Wed, 15 Jul 2015 17:27:50 +0200 Subject: [PATCH] llvmlite: split patch to be cleaner. close #72 --- conda/llvmlite-or1k/bld.bat | 2 + conda/llvmlite-or1k/build.sh | 2 + misc/llvmlite-add-all-targets.patch | 78 ------------------- misc/llvmlite-build-as-debug-on-windows.patch | 13 ++++ misc/llvmlite-rename.patch | 65 ++++++++++++++++ 5 files changed, 82 insertions(+), 78 deletions(-) create mode 100644 misc/llvmlite-build-as-debug-on-windows.patch create mode 100644 misc/llvmlite-rename.patch diff --git a/conda/llvmlite-or1k/bld.bat b/conda/llvmlite-or1k/bld.bat index 78ab6ac38..17e63ad30 100644 --- a/conda/llvmlite-or1k/bld.bat +++ b/conda/llvmlite-or1k/bld.bat @@ -6,6 +6,8 @@ if exist ffi\build rmdir /S /Q ffi\build @rem Apply patches patch -p1 < %RECIPE_DIR%/../../misc/llvmlite-add-all-targets.patch +patch -p1 < %RECIPE_DIR%/../../misc/llvmlite-rename.patch +patch -p1 < %RECIPE_DIR%/../../misc/llvmlite-build-as-debug-on-windows.patch %PYTHON% -S setup.py install if errorlevel 1 exit 1 diff --git a/conda/llvmlite-or1k/build.sh b/conda/llvmlite-or1k/build.sh index f2734bba4..327c15518 100755 --- a/conda/llvmlite-or1k/build.sh +++ b/conda/llvmlite-or1k/build.sh @@ -1,4 +1,6 @@ #!/bin/bash patch -p1 < ${RECIPE_DIR}/../../misc/llvmlite-add-all-targets.patch +patch -p1 < ${RECIPE_DIR}/../../misc/llvmlite-rename.patch +patch -p1 < ${RECIPE_DIR}/../../misc/llvmlite-build-as-debug-on-windows.patch PATH=/usr/local/llvm-or1k/bin:$PATH $PYTHON setup.py install diff --git a/misc/llvmlite-add-all-targets.patch b/misc/llvmlite-add-all-targets.patch index 8ce43beef..6b52fad9f 100644 --- a/misc/llvmlite-add-all-targets.patch +++ b/misc/llvmlite-add-all-targets.patch @@ -36,81 +36,3 @@ index bfaa5b2..7d0df11 100644 def initialize_native_target(): """ Initialize the native (host) target. Necessary before doing any -diff --git a/ffi/build.py b/ffi/build.py -index 3889ba5..58f93ec 100755 ---- a/ffi/build.py -+++ b/ffi/build.py -@@ -58,7 +58,7 @@ def find_win32_generator(): - - def main_win32(): - generator = find_win32_generator() -- config = 'Release' -+ config = 'Debug' - if not os.path.exists(build_dir): - os.mkdir(build_dir) - try_cmake(here_dir, build_dir, generator) -diff --git a/setup.py b/setup.py -index 6d28265..f4edd29 100644 ---- a/setup.py -+++ b/setup.py -@@ -15,10 +15,10 @@ from llvmlite.utils import get_library_files - import versioneer - - versioneer.VCS = 'git' --versioneer.versionfile_source = 'llvmlite/_version.py' --versioneer.versionfile_build = 'llvmlite/_version.py' -+versioneer.versionfile_source = 'llvmlite_or1k/_version.py' -+versioneer.versionfile_build = 'llvmlite_or1k/_version.py' - versioneer.tag_prefix = 'v' # tags are like v1.2.0 --versioneer.parentdir_prefix = 'llvmlite-' # dirname like 'myproject-1.2.0' -+versioneer.parentdir_prefix = 'llvmlite_or1k-' # dirname like 'myproject-1.2.0' - - - here_dir = os.path.dirname(__file__) -@@ -54,7 +54,7 @@ class LlvmliteBuildExt(build_ext): - # HACK: this makes sure the library file (which is large) is only - # included in binary builds, not source builds. - self.distribution.package_data = { -- "llvmlite.binding": get_library_files(), -+ "llvmlite_or1k.binding": get_library_files(), - } - - -@@ -63,7 +63,7 @@ class LlvmliteInstall(install): - # This seems to only be necessary on OSX. - def run(self): - self.distribution.package_data = { -- "llvmlite.binding": get_library_files(), -+ "llvmlite_or1k.binding": get_library_files(), - } - install.run(self) - -@@ -74,14 +74,14 @@ cmdclass.update({'build': LlvmliteBuild, - }) - - --packages = ['llvmlite', -- 'llvmlite.binding', -- 'llvmlite.ir', -- 'llvmlite.llvmpy', -- 'llvmlite.tests', -+packages = ['llvmlite_or1k', -+ 'llvmlite_or1k.binding', -+ 'llvmlite_or1k.ir', -+ 'llvmlite_or1k.llvmpy', -+ 'llvmlite_or1k.tests', - ] - --setup(name='llvmlite', -+setup(name='llvmlite_or1k', - description="lightweight wrapper around basic LLVM functionality", - version=versioneer.get_version(), - classifiers=[ -@@ -96,6 +96,7 @@ setup(name='llvmlite', - "Topic :: Software Development :: Code Generators", - "Topic :: Software Development :: Compilers", - ], -+ package_dir={"llvmlite_or1k" : "llvmlite"}, - # Include the separately-compiled shared library - author="Continuum Analytics, Inc.", - author_email="numba-users@continuum.io", diff --git a/misc/llvmlite-build-as-debug-on-windows.patch b/misc/llvmlite-build-as-debug-on-windows.patch new file mode 100644 index 000000000..e385fb4a2 --- /dev/null +++ b/misc/llvmlite-build-as-debug-on-windows.patch @@ -0,0 +1,13 @@ +diff --git a/ffi/build.py b/ffi/build.py +index 3889ba5..58f93ec 100755 +--- a/ffi/build.py ++++ b/ffi/build.py +@@ -58,7 +58,7 @@ def find_win32_generator(): + + def main_win32(): + generator = find_win32_generator() +- config = 'Release' ++ config = 'Debug' + if not os.path.exists(build_dir): + os.mkdir(build_dir) + try_cmake(here_dir, build_dir, generator) diff --git a/misc/llvmlite-rename.patch b/misc/llvmlite-rename.patch new file mode 100644 index 000000000..faea85104 --- /dev/null +++ b/misc/llvmlite-rename.patch @@ -0,0 +1,65 @@ +diff --git a/setup.py b/setup.py +index 6d28265..f4edd29 100644 +--- a/setup.py ++++ b/setup.py +@@ -15,10 +15,10 @@ from llvmlite.utils import get_library_files + import versioneer + + versioneer.VCS = 'git' +-versioneer.versionfile_source = 'llvmlite/_version.py' +-versioneer.versionfile_build = 'llvmlite/_version.py' ++versioneer.versionfile_source = 'llvmlite_or1k/_version.py' ++versioneer.versionfile_build = 'llvmlite_or1k/_version.py' + versioneer.tag_prefix = 'v' # tags are like v1.2.0 +-versioneer.parentdir_prefix = 'llvmlite-' # dirname like 'myproject-1.2.0' ++versioneer.parentdir_prefix = 'llvmlite_or1k-' # dirname like 'myproject-1.2.0' + + + here_dir = os.path.dirname(__file__) +@@ -54,7 +54,7 @@ class LlvmliteBuildExt(build_ext): + # HACK: this makes sure the library file (which is large) is only + # included in binary builds, not source builds. + self.distribution.package_data = { +- "llvmlite.binding": get_library_files(), ++ "llvmlite_or1k.binding": get_library_files(), + } + + +@@ -63,7 +63,7 @@ class LlvmliteInstall(install): + # This seems to only be necessary on OSX. + def run(self): + self.distribution.package_data = { +- "llvmlite.binding": get_library_files(), ++ "llvmlite_or1k.binding": get_library_files(), + } + install.run(self) + +@@ -74,14 +74,14 @@ cmdclass.update({'build': LlvmliteBuild, + }) + + +-packages = ['llvmlite', +- 'llvmlite.binding', +- 'llvmlite.ir', +- 'llvmlite.llvmpy', +- 'llvmlite.tests', ++packages = ['llvmlite_or1k', ++ 'llvmlite_or1k.binding', ++ 'llvmlite_or1k.ir', ++ 'llvmlite_or1k.llvmpy', ++ 'llvmlite_or1k.tests', + ] + +-setup(name='llvmlite', ++setup(name='llvmlite_or1k', + description="lightweight wrapper around basic LLVM functionality", + version=versioneer.get_version(), + classifiers=[ +@@ -96,6 +96,7 @@ setup(name='llvmlite', + "Topic :: Software Development :: Code Generators", + "Topic :: Software Development :: Compilers", + ], ++ package_dir={"llvmlite_or1k" : "llvmlite"}, + # Include the separately-compiled shared library + author="Continuum Analytics, Inc.", + author_email="numba-users@continuum.io",