[Tarantool-patches] [PATCH v2 2/2] build: pass path to toolchain for luajit and curl
Alexander Turenko
alexander.turenko at tarantool.org
Sat Oct 26 04:01:59 MSK 2019
This allows to overcome problems when CMake chooses one toolchain to
build tarantool, but a library (libluajit.a or libcurl.a) is built using
another (incompatible) toolchain.
Fixes #4587.
---
cmake/BuildLibCURL.cmake | 12 ++++++++++++
cmake/luajit.cmake | 12 ++++++++++++
2 files changed, 24 insertions(+)
diff --git a/cmake/BuildLibCURL.cmake b/cmake/BuildLibCURL.cmake
index dc1b40750..12062ec8b 100644
--- a/cmake/BuildLibCURL.cmake
+++ b/cmake/BuildLibCURL.cmake
@@ -45,9 +45,21 @@ macro(curl_build)
CONFIGURE_COMMAND
cd <SOURCE_DIR> && ./buildconf &&
cd <BINARY_DIR> && <SOURCE_DIR>/configure
+ # Pass the same toolchain as is used to build
+ # tarantool itself, because they can be
+ # incompatible.
CC=${CMAKE_C_COMPILER}
+ LD=${CMAKE_LINKER}
+ AR=${CMAKE_AR}
+ RANLIB=${CMAKE_RANLIB}
+ NM=${CMAKE_NM}
+ STRIP=${CMAKE_STRIP}
+
+ # Pass -isysroot=<SDK_PATH> option on Mac OS, see
+ # above.
CPPFLAGS=${LIBCURL_CPPFLAGS}
CFLAGS=${LIBCURL_CFLAGS}
+
--prefix <INSTALL_DIR>
--enable-static
--enable-shared
diff --git a/cmake/luajit.cmake b/cmake/luajit.cmake
index eca2bf36b..10df633d5 100644
--- a/cmake/luajit.cmake
+++ b/cmake/luajit.cmake
@@ -223,12 +223,24 @@ macro(luajit_build)
foreach(def ${defs})
set(luajit_xcflags ${luajit_xcflags} -D${def})
endforeach()
+
+ # Pass the same toolchain that is used for building of
+ # tarantool itself, because tools from different toolchains
+ # can be incompatible. A compiler and a linker are already set
+ # above.
+ set (luajit_ld ${CMAKE_LINKER})
+ set (luajit_ar ${CMAKE_AR} rcus)
+ set (luajit_strip ${CMAKE_STRIP})
+
set (luajit_buildoptions
BUILDMODE=static
HOST_CC="${luajit_hostcc}"
TARGET_CC="${luajit_cc}"
TARGET_CFLAGS="${luajit_cflags}"
+ TARGET_LD="${luajit_ld}"
TARGET_LDFLAGS="${luajit_ldflags}"
+ TARGET_AR="${luajit_ar}"
+ TARGET_STRIP="${luajit_strip}"
TARGET_SYS="${CMAKE_SYSTEM_NAME}"
CCOPT="${luajit_ccopt}"
CCDEBUG="${luajit_ccdebug}"
--
2.22.0
More information about the Tarantool-patches
mailing list