From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTP id C4F8329705 for ; Wed, 13 Mar 2019 19:44:38 -0400 (EDT) Received: from turing.freelists.org ([127.0.0.1]) by localhost (turing.freelists.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iEFfa43B1t9c for ; Wed, 13 Mar 2019 19:44:38 -0400 (EDT) Received: from smtpng2.m.smailru.net (smtpng2.m.smailru.net [94.100.179.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by turing.freelists.org (Avenir Technologies Mail Multiplex) with ESMTPS id 0D0FB29591 for ; Wed, 13 Mar 2019 19:44:37 -0400 (EDT) Date: Thu, 14 Mar 2019 02:44:33 +0300 From: Alexander Turenko Subject: [tarantool-patches] Re: [PATCH v2] travis-ci: fixed Mojave mac build Message-ID: <20190313234433.5ttv2dx2yd33t62g@tkn_work_nb> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Sender: tarantool-patches-bounce@freelists.org Errors-to: tarantool-patches-bounce@freelists.org Reply-To: tarantool-patches@freelists.org List-Help: List-Unsubscribe: List-software: Ecartis version 1.0.0 List-Id: tarantool-patches List-Subscribe: List-Owner: List-post: List-Archive: To: "Alexander V. Tikhonov" Cc: tarantool-patches@freelists.org > travis-ci: fixed Mojave mac build Nit: Use imperative mood in a commit header. See https://tarantool.io/en/doc/1.10/dev_guide/developer_guidelines/#how-to-write-a-commit-message The Travis-CI changes looks okay for me. I have comments re CMake changes, see below. I added proposed changes on top of your commit. Please, if you are agree, test them and squash. Then, please, send the next version of the patch to one of maintainers. WBR, Alexander Turenko. > Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-3797-mojave-mac-build > Issue: https://github.com/tarantool/tarantool/issues/3797 > --- a/cmake/luajit.cmake > +++ b/cmake/luajit.cmake > @@ -196,10 +196,19 @@ macro(luajit_build) > if ("${CMAKE_OSX_DEPLOYMENT_TARGET}" STREQUAL "") > # Default to 10.6 since @rpath support is NOT available in > # earlier versions, needed by AddressSanitizer. > - set (luajit_osx_deployment_target 10.6) > + execute_process(COMMAND sw_vers -productVersion > + OUTPUT_VARIABLE PRODUCT_VERSION) > + message(STATUS "PRODUCT_VERSION=${PRODUCT_VERSION}") > + if (${PRODUCT_VERSION} VERSION_LESS 10.14) > + set (luajit_osx_deployment_target 10.6) > + else () > + set (luajit_osx_deployment_target 10.14) > + endif () According to [1] `make MACOSX_DEPLOYMENT_TARGET=10.6` is enough, so we can get rid of this `if` and just set it always to 10.6. [1]: https://github.com/LuaJIT/LuaJIT/issues/484 > else() > set (luajit_osx_deployment_target ${CMAKE_OSX_DEPLOYMENT_TARGET}) > endif() > + set(macosx_deployment_target_env MACOSX_DEPLOYMENT_TARGET=${luajit_osx_deployment_target}) We can add MACOSX_DEPLOYMENT_TARGET="${luajit_osx_deployment_target}" into set(luajit_buildoptions ...) below instead. > + message(STATUS "${macosx_deployment_target_env}") > set(luajit_ldflags > ${luajit_ldflags} -Wl,-macosx_version_min,${luajit_osx_deployment_target}) > endif () > @@ -238,7 +247,7 @@ macro(luajit_build) > add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/third_party/luajit/src/libluajit.a > WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/third_party/luajit > COMMAND $(MAKE) ${luajit_buildoptions} clean > - COMMAND $(MAKE) -C src ${luajit_buildoptions} jit/vmdef.lua libluajit.a > + COMMAND ${macosx_deployment_target_env} $(MAKE) -C src ${luajit_buildoptions} jit/vmdef.lua libluajit.a No need to set provide env if we'll add it MACOSX_DEPLOYMENT_TARGET to ${luajit_buildoptions}. It looks simpler. > DEPENDS ${CMAKE_SOURCE_DIR}/CMakeCache.txt > ) > else() > @@ -249,7 +258,7 @@ macro(luajit_build) > WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/third_party/luajit > COMMAND ${CMAKE_COMMAND} -E copy_directory ${PROJECT_SOURCE_DIR}/third_party/luajit ${PROJECT_BINARY_DIR}/third_party/luajit > COMMAND $(MAKE) ${luajit_buildoptions} clean > - COMMAND $(MAKE) -C src ${luajit_buildoptions} jit/vmdef.lua libluajit.a > + COMMAND ${macosx_deployment_target_env} $(MAKE) -C src ${luajit_buildoptions} jit/vmdef.lua libluajit.a The same. > DEPENDS ${PROJECT_BINARY_DIR}/CMakeCache.txt ${PROJECT_BINARY_DIR}/third_party/luajit > ) > endif() > -- > 2.17.1 >