From 9e4f44ad30ec97b2179865131a492f8daae26ed0 Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Mon, 17 Sep 2018 11:58:13 -0600 Subject: build_environment: ffi/linux force predictable lib path. ffi stubbornly wants to put libs in lib64 even when you tell it not to on some linux distributions. patch based on sed fix the gentoo guys did [1] [1] https://bugs.gentoo.org/462814 --- build_files/build_environment/cmake/ffi.cmake | 2 ++ build_files/build_environment/patches/ffi.diff | 11 +++++++++++ 2 files changed, 13 insertions(+) create mode 100644 build_files/build_environment/patches/ffi.diff (limited to 'build_files') diff --git a/build_files/build_environment/cmake/ffi.cmake b/build_files/build_environment/cmake/ffi.cmake index 18531fd7906..bc0932022cb 100644 --- a/build_files/build_environment/cmake/ffi.cmake +++ b/build_files/build_environment/cmake/ffi.cmake @@ -25,8 +25,10 @@ ExternalProject_Add(external_ffi --enable-shared=no --enable-static=yes --with-pic + --libdir=${LIBDIR}/ffi/lib/ BUILD_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && make -j${MAKE_THREADS} INSTALL_COMMAND ${CONFIGURE_ENV} && cd ${BUILD_DIR}/ffi/src/external_ffi/ && make install + PATCH_COMMAND ${PATCH_CMD} -p 0 -d ${BUILD_DIR}/ffi/src/external_ffi < ${PATCH_DIR}/ffi.diff INSTALL_DIR ${LIBDIR}/ffi ) diff --git a/build_files/build_environment/patches/ffi.diff b/build_files/build_environment/patches/ffi.diff new file mode 100644 index 00000000000..84e7f0407e2 --- /dev/null +++ b/build_files/build_environment/patches/ffi.diff @@ -0,0 +1,11 @@ +--- Makefile.in 2014-11-12 06:59:58.000000000 -0500 ++++ Makefile.in 2018-09-17 13:36:10.974086554 -0400 +@@ -600,7 +600,7 @@ + target_os = @target_os@ + target_vendor = @target_vendor@ + toolexecdir = @toolexecdir@ +-toolexeclibdir = @toolexeclibdir@ ++toolexeclibdir = $(libdir) + top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ -- cgit v1.2.3 From d2161d6463df405b8b9ee882a5a23b6ebeb46427 Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Mon, 17 Sep 2018 13:13:17 -0600 Subject: build_environment: linux/python, help python find ffi. we were building ffi, but python wasn't finding it. --- build_files/build_environment/cmake/python.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'build_files') diff --git a/build_files/build_environment/cmake/python.cmake b/build_files/build_environment/cmake/python.cmake index c61a0084b6f..ccef8a825b7 100644 --- a/build_files/build_environment/cmake/python.cmake +++ b/build_files/build_environment/cmake/python.cmake @@ -89,11 +89,12 @@ else() set(PYTHON_CONFIGURE_EXTRA_ARGS "--with-openssl=${LIBDIR}/ssl") set(PYTHON_CFLAGS "-I${LIBDIR}/sqlite/include -I${LIBDIR}/bzip2/include -I${LIBDIR}/lzma/include -I${LIBDIR}/zlib/include") - set(PYTHON_LDFLAGS "-L${LIBDIR}/sqlite/lib -L${LIBDIR}/bzip2/lib -L${LIBDIR}/lzma/lib -L${LIBDIR}/zlib/lib") + set(PYTHON_LDFLAGS "-L${LIBDIR}/ffi/lib -L${LIBDIR}/sqlite/lib -L${LIBDIR}/bzip2/lib -L${LIBDIR}/lzma/lib -L${LIBDIR}/zlib/lib") set(PYTHON_CONFIGURE_EXTRA_ENV export CFLAGS=${PYTHON_CFLAGS} && export CPPFLAGS=${PYTHON_CFLAGS} && - export LDFLAGS=${PYTHON_LDFLAGS}) + export LDFLAGS=${PYTHON_LDFLAGS} && + export PKG_CONFIG_PATH=${LIBDIR}/ffi/lib/pkgconfig) set(PYTHON_PATCH ${PATCH_CMD} --verbose -p1 -d ${BUILD_DIR}/python/src/external_python < ${PATCH_DIR}/python_linux.diff) ExternalProject_Add(external_python -- cgit v1.2.3 From 51ac494f219c2a7bd2937b63c91a3261d6ba3ad9 Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Mon, 17 Sep 2018 13:45:12 -0600 Subject: build_files: bump python version in FindPythonLibsUnix.cmake to 3.7 now that all platforms have been updated --- build_files/cmake/Modules/FindPythonLibsUnix.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'build_files') diff --git a/build_files/cmake/Modules/FindPythonLibsUnix.cmake b/build_files/cmake/Modules/FindPythonLibsUnix.cmake index 140f8be048a..a6924972e42 100644 --- a/build_files/cmake/Modules/FindPythonLibsUnix.cmake +++ b/build_files/cmake/Modules/FindPythonLibsUnix.cmake @@ -38,7 +38,7 @@ IF(NOT PYTHON_ROOT_DIR AND NOT $ENV{PYTHON_ROOT_DIR} STREQUAL "") SET(PYTHON_ROOT_DIR $ENV{PYTHON_ROOT_DIR}) ENDIF() -SET(PYTHON_VERSION 3.6 CACHE STRING "Python Version (major and minor only)") +SET(PYTHON_VERSION 3.7 CACHE STRING "Python Version (major and minor only)") MARK_AS_ADVANCED(PYTHON_VERSION) -- cgit v1.2.3 From 8b41cd5b96ea50b41aea2072517bdfd95b58ac8d Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Mon, 17 Sep 2018 18:06:02 -0600 Subject: FIX: linker error with a 'make deps' library set and opencollada enabled. PCRE_LIBRARIES was not being set if the pcre library was found but not the headers. --- build_files/cmake/Modules/FindPCRE.cmake | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'build_files') diff --git a/build_files/cmake/Modules/FindPCRE.cmake b/build_files/cmake/Modules/FindPCRE.cmake index 20b5c1d5c28..1fd56dc1234 100644 --- a/build_files/cmake/Modules/FindPCRE.cmake +++ b/build_files/cmake/Modules/FindPCRE.cmake @@ -56,8 +56,13 @@ INCLUDE(FindPackageHandleStandardArgs) FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE DEFAULT_MSG PCRE_LIBRARY PCRE_INCLUDE_DIR) +# With 'make deps' precompiled libs, opencollada ships with a copy of libpcre +# but not the headers, ${PCRE_LIBRARY} will be valid in this case +# but PCRE_FOUND will be FALSE. So we set this variable outside of +# the IF(PCRE_FOUND) below to allow blender to successfully link. +SET(PCRE_LIBRARIES ${PCRE_LIBRARY}) + IF(PCRE_FOUND) - SET(PCRE_LIBRARIES ${PCRE_LIBRARY}) SET(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR}) ENDIF(PCRE_FOUND) -- cgit v1.2.3