Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH v3] travis-ci: fixed Mojave mac build
@ 2019-03-14 11:20 Alexander V. Tikhonov
  2019-03-15 16:20 ` [tarantool-patches] " Alexander Turenko
  0 siblings, 1 reply; 2+ messages in thread
From: Alexander V. Tikhonov @ 2019-03-14 11:20 UTC (permalink / raw)
  To: Alexander Turenko; +Cc: Alexander V. Tikhonov, tarantool-patches

Fixed Mojave Mac build with MACOSX_DEPLOYMENT_TARGET
environment setup. Specified the minimum version of OS X
on which the target binaries are to be deployed. CMake
uses this value for the make environment and the
-mmacosx-version-min flag to help choose the default SDK
Removed virtualenv for osx at all

Fixed #3797
---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-3797-mojave-mac-build
Issue: https://github.com/tarantool/tarantool/issues/3797

 .travis.mk         | 10 +++-------
 .travis.yml        | 11 ++++++++---
 cmake/luajit.cmake |  9 +++++++--
 3 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/.travis.mk b/.travis.mk
index edd94cd7d..6e429735d 100644
--- a/.travis.mk
+++ b/.travis.mk
@@ -47,6 +47,8 @@ test_ubuntu: deps_ubuntu
 deps_osx:
 	brew update
 	brew install openssl readline curl icu4c --force
+	curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | python
+	pip install -r test-run/requirements.txt
 
 test_osx: deps_osx
 	cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfoWError ${CMAKE_EXTRA_PARAMS}
@@ -57,13 +59,7 @@ test_osx: deps_osx
 	ulimit -S -n 20480 || :
 	ulimit -n
 	make -j8
-	virtualenv ./test-env && \
-	. ./test-env/bin/activate && \
-	curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | python && \
-	pip --version && \
-	pip install -r test-run/requirements.txt && \
-	cd test && python test-run.py -j 1 unit/ app/ app-tap/ box/ box-tap/ && \
-	deactivate
+	cd test && python test-run.py -j 1 unit/ app/ app-tap/ box/ box-tap/
 
 coverage_ubuntu: deps_ubuntu
 	cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_GCOV=ON
diff --git a/.travis.yml b/.travis.yml
index ffe2e8247..8a118a7f2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,7 +8,7 @@ language: cpp
 os: linux
 compiler: gcc
 
-osx_image: xcode9
+osx_image: xcode10.2
 
 cache:
     directories:
@@ -24,11 +24,16 @@ jobs:
       - name: RelWithDebInfoWError build + test (Linux, clang)
         env: TARGET=test
         compiler: clang
-      - name: RelWithDebInfoWError build + test (OS X)
+      - name: RelWithDebInfoWError build + test (OS X Mojave 10.14)
         env: TARGET=test
         os: osx
       - name: Debug build + test + coverage (Linux, gcc)
         env: TARGET=coverage
+      - name: RelWithDebInfoWError build + test (OS X High Sierra 10.13)
+        env: TARGET=test
+        os: osx
+        osx_image: xcode9.4
+        if: branch = "2.1"
       - name: LTO build + test (Linux, gcc)
         env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON
         if: branch = "2.1"
@@ -36,7 +41,7 @@ jobs:
         env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON
         if: branch = "2.1"
         compiler: clang
-      - name: LTO build + test (OS X)
+      - name: LTO build + test (OS X Mojave 10.14)
         os: osx
         env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON
         if: branch = "2.1"
diff --git a/cmake/luajit.cmake b/cmake/luajit.cmake
index ea4878a93..eca2bf36b 100644
--- a/cmake/luajit.cmake
+++ b/cmake/luajit.cmake
@@ -202,7 +202,7 @@ macro(luajit_build)
         endif()
         set(luajit_ldflags
             ${luajit_ldflags} -Wl,-macosx_version_min,${luajit_osx_deployment_target})
-    endif ()
+    endif()
     if (ENABLE_GCOV)
         set (luajit_ccdebug ${luajit_ccdebug} -fprofile-arcs -ftest-coverage)
     endif()
@@ -233,7 +233,12 @@ macro(luajit_build)
         CCOPT="${luajit_ccopt}"
         CCDEBUG="${luajit_ccdebug}"
         XCFLAGS="${luajit_xcflags}"
-        Q='')
+        Q=''
+        # We need to set MACOSX_DEPLOYMENT_TARGET to at least 10.6,
+        # because 10.4 SDK (which is set by default in LuaJIT's
+        # Makefile) is not longer included in Mac OS X Mojave 10.14.
+        # See also https://github.com/LuaJIT/LuaJIT/issues/484
+        MACOSX_DEPLOYMENT_TARGET="${luajit_osx_deployment_target}")
     if (${PROJECT_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
         add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/third_party/luajit/src/libluajit.a
             WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/third_party/luajit
-- 
2.17.1

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [tarantool-patches] Re: [PATCH v3] travis-ci: fixed Mojave mac build
  2019-03-14 11:20 [tarantool-patches] [PATCH v3] travis-ci: fixed Mojave mac build Alexander V. Tikhonov
@ 2019-03-15 16:20 ` Alexander Turenko
  0 siblings, 0 replies; 2+ messages in thread
From: Alexander Turenko @ 2019-03-15 16:20 UTC (permalink / raw)
  To: Alexander V. Tikhonov; +Cc: tarantool-patches

Changed the commit message and pushed to 2.1 and 1.10.

WBR, Alexander Turenko.

On Thu, Mar 14, 2019 at 02:20:28PM +0300, Alexander V. Tikhonov wrote:
> Fixed Mojave Mac build with MACOSX_DEPLOYMENT_TARGET
> environment setup. Specified the minimum version of OS X
> on which the target binaries are to be deployed. CMake
> uses this value for the make environment and the
> -mmacosx-version-min flag to help choose the default SDK
> Removed virtualenv for osx at all
> 
> Fixed #3797
> ---
> 
> Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-3797-mojave-mac-build
> Issue: https://github.com/tarantool/tarantool/issues/3797
> 
>  .travis.mk         | 10 +++-------
>  .travis.yml        | 11 ++++++++---
>  cmake/luajit.cmake |  9 +++++++--
>  3 files changed, 18 insertions(+), 12 deletions(-)
> 
> diff --git a/.travis.mk b/.travis.mk
> index edd94cd7d..6e429735d 100644
> --- a/.travis.mk
> +++ b/.travis.mk
> @@ -47,6 +47,8 @@ test_ubuntu: deps_ubuntu
>  deps_osx:
>  	brew update
>  	brew install openssl readline curl icu4c --force
> +	curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | python
> +	pip install -r test-run/requirements.txt
>  
>  test_osx: deps_osx
>  	cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfoWError ${CMAKE_EXTRA_PARAMS}
> @@ -57,13 +59,7 @@ test_osx: deps_osx
>  	ulimit -S -n 20480 || :
>  	ulimit -n
>  	make -j8
> -	virtualenv ./test-env && \
> -	. ./test-env/bin/activate && \
> -	curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | python && \
> -	pip --version && \
> -	pip install -r test-run/requirements.txt && \
> -	cd test && python test-run.py -j 1 unit/ app/ app-tap/ box/ box-tap/ && \
> -	deactivate
> +	cd test && python test-run.py -j 1 unit/ app/ app-tap/ box/ box-tap/
>  
>  coverage_ubuntu: deps_ubuntu
>  	cmake . -DCMAKE_BUILD_TYPE=Debug -DENABLE_GCOV=ON
> diff --git a/.travis.yml b/.travis.yml
> index ffe2e8247..8a118a7f2 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -8,7 +8,7 @@ language: cpp
>  os: linux
>  compiler: gcc
>  
> -osx_image: xcode9
> +osx_image: xcode10.2
>  
>  cache:
>      directories:
> @@ -24,11 +24,16 @@ jobs:
>        - name: RelWithDebInfoWError build + test (Linux, clang)
>          env: TARGET=test
>          compiler: clang
> -      - name: RelWithDebInfoWError build + test (OS X)
> +      - name: RelWithDebInfoWError build + test (OS X Mojave 10.14)
>          env: TARGET=test
>          os: osx
>        - name: Debug build + test + coverage (Linux, gcc)
>          env: TARGET=coverage
> +      - name: RelWithDebInfoWError build + test (OS X High Sierra 10.13)
> +        env: TARGET=test
> +        os: osx
> +        osx_image: xcode9.4
> +        if: branch = "2.1"
>        - name: LTO build + test (Linux, gcc)
>          env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON
>          if: branch = "2.1"
> @@ -36,7 +41,7 @@ jobs:
>          env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON
>          if: branch = "2.1"
>          compiler: clang
> -      - name: LTO build + test (OS X)
> +      - name: LTO build + test (OS X Mojave 10.14)
>          os: osx
>          env: TARGET=test CMAKE_EXTRA_PARAMS=-DENABLE_LTO=ON
>          if: branch = "2.1"
> diff --git a/cmake/luajit.cmake b/cmake/luajit.cmake
> index ea4878a93..eca2bf36b 100644
> --- a/cmake/luajit.cmake
> +++ b/cmake/luajit.cmake
> @@ -202,7 +202,7 @@ macro(luajit_build)
>          endif()
>          set(luajit_ldflags
>              ${luajit_ldflags} -Wl,-macosx_version_min,${luajit_osx_deployment_target})
> -    endif ()
> +    endif()
>      if (ENABLE_GCOV)
>          set (luajit_ccdebug ${luajit_ccdebug} -fprofile-arcs -ftest-coverage)
>      endif()
> @@ -233,7 +233,12 @@ macro(luajit_build)
>          CCOPT="${luajit_ccopt}"
>          CCDEBUG="${luajit_ccdebug}"
>          XCFLAGS="${luajit_xcflags}"
> -        Q='')
> +        Q=''
> +        # We need to set MACOSX_DEPLOYMENT_TARGET to at least 10.6,
> +        # because 10.4 SDK (which is set by default in LuaJIT's
> +        # Makefile) is not longer included in Mac OS X Mojave 10.14.
> +        # See also https://github.com/LuaJIT/LuaJIT/issues/484
> +        MACOSX_DEPLOYMENT_TARGET="${luajit_osx_deployment_target}")
>      if (${PROJECT_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR})
>          add_custom_command(OUTPUT ${PROJECT_BINARY_DIR}/third_party/luajit/src/libluajit.a
>              WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/third_party/luajit
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-03-15 16:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-14 11:20 [tarantool-patches] [PATCH v3] travis-ci: fixed Mojave mac build Alexander V. Tikhonov
2019-03-15 16:20 ` [tarantool-patches] " Alexander Turenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox