<HTML><BODY><p>1. Changed the Travis-CI testing default OSX image from 'xcode9' to 'xcode10.1',<br> also added Travis-CI's default 'xcode9.4' image to the '2.1' branch testing.<br>2. Corrected virtualenv setup for OSX images where it is not installed by default.<br>3. Corrected the minimum version of OSX image on which the target binaries are to be<br>deployed. CMake uses this value for the -mmacosx-version-min flag and to help choose the<br>default SDK. The CMAKE_OSX_DEPLOYMENT_TARGET depends on DARWIN_VERSION:<br>DARWIN_VERSION <= 10.12 -> CMAKE_OSX_DEPLOYMENT_TARGET = 10.6<br>DARWIN_VERSION >= 10.13 -> CMAKE_OSX_DEPLOYMENT_TARGET = 10.14<br><br><span style="white-space: pre-wrap;" data-mce-style="white-space: pre-wrap;">Closes #3797</span><br>---<br>Travis-CI: <a href="https://travis-ci.org/tarantool/tarantool/builds/495448673">https://travis-ci.org/tarantool/tarantool/builds/495448673</a> <br>Travis-CI(checked all OSX): <a href="https://travis-ci.org/tarantool/tarantool/builds/495415195">https://travis-ci.org/tarantool/tarantool/builds/495415195</a> <br>Branch: <a href="https://github.com/tarantool/tarantool/tree/remotes/origin/avtikhon/gh-3797-fix-mojave-mac-build">https://github.com/tarantool/tarantool/tree/remotes/origin/avtikhon/gh-3797-fix-mojave-mac-build</a> <br><br>diff --git a/.travis.mk b/.travis.mk<br>index edd94cd7d..181bab438 100644<br>--- a/.travis.mk<br>+++ b/.travis.mk<br>@@ -47,6 +47,10 @@ test_ubuntu: deps_ubuntu<br> deps_osx:<br>     brew update<br>     brew install openssl readline curl icu4c --force<br>+    virtualenv -h >/dev/null 2>&1 || \<br>+        ( pip -h >/dev/null 2>&1 || ( curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | python && pip --version ) && \<br>+        brew install pyenv-virtualenv --force && \<br>+        pip install virtualenv )<br> <br> test_osx: deps_osx<br>     cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfoWError ${CMAKE_EXTRA_PARAMS}<br>diff --git a/.travis.yml b/.travis.yml<br>index ffe2e8247..e03bd3185 100644<br>--- a/.travis.yml<br>+++ b/.travis.yml<br>@@ -8,7 +8,7 @@ language: cpp<br> os: linux<br> compiler: gcc<br> <br>-osx_image: xcode9<br>+osx_image: xcode10.1<br> <br> cache:<br>     directories:<br>@@ -27,6 +27,11 @@ jobs:<br>       - name: RelWithDebInfoWError build + test (OS X)<br>         env: TARGET=test<br>         os: osx<br>+      - name: RelWithDebInfoWError build + test (OS X 9.4)<br>+        env: TARGET=test<br>+        os: osx<br>+        osx_image: xcode9.4<br>+        if: branch = "2.1"<br>       - name: Debug build + test + coverage (Linux, gcc)<br>         env: TARGET=coverage<br>       - name: LTO build + test (Linux, gcc)<br>diff --git a/cmake/luajit.cmake b/cmake/luajit.cmake<br>index ea4878a93..d2253a0f9 100644<br>--- a/cmake/luajit.cmake<br>+++ b/cmake/luajit.cmake<br>@@ -194,9 +194,28 @@ macro(luajit_build)<br>         endif()<br>         # Pass deployment target<br>         if ("${CMAKE_OSX_DEPLOYMENT_TARGET}" STREQUAL "")<br>-            # Default to 10.6 since @rpath support is NOT available in<br>-            # earlier versions, needed by AddressSanitizer.<br>-            set (luajit_osx_deployment_target 10.6)<br>+            # DARWIN_VERSION <= 10.12 -> CMAKE_OSX_DEPLOYMENT_TARGET = 10.6<br>+            # DARWIN_VERSION >= 10.13 -> CMAKE_OSX_DEPLOYMENT_TARGET = 10.14<br>+            execute_process(COMMAND sw_vers -productVersion<br>+                OUTPUT_VARIABLE PRODUCT_VERSION)<br>+            message(STATUS "PRODUCT_VERSION=${PRODUCT_VERSION}")<br>+            string(REGEX MATCH "[0-9]+.[0-9]+" DARWIN_VERSION ${PRODUCT_VERSION})<br>+            message(STATUS "DARWIN_VERSION=${DARWIN_VERSION}")<br>+            string(REGEX MATCH "^[0-9]+" MAJOR_VERSION ${DARWIN_VERSION})<br>+            message(STATUS "MAJOR_VERSION=${MAJOR_VERSION}")<br>+            if (MAJOR_VERSION GREATER 10)<br>+                set (luajit_osx_deployment_target 10.14)<br>+            elseif (MAJOR_VERSION LESS 10)<br>+                set (luajit_osx_deployment_target 10.6)<br>+            elseif (MAJOR_VERSION EQUAL 10)<br>+                string(REGEX MATCH "[0-9]+$" MINOR_VERSION ${DARWIN_VERSION})<br>+                message(STATUS "MINOR_VERSION=${MINOR_VERSION}")<br>+                if (MINOR_VERSION GREATER 12)<br>+                    set (luajit_osx_deployment_target 10.14)<br>+                else ()<br>+                    set (luajit_osx_deployment_target 10.6)<br>+                endif ()<br>+            endif ()<br>         else()<br>             set (luajit_osx_deployment_target ${CMAKE_OSX_DEPLOYMENT_TARGET})<br>         endif()<br><br><br>-- <br>Alexander Tikhonov</p></BODY></HTML>