[Tarantool-patches] [PATCH v2 0/7] Implement OOS build

Alexander V. Tikhonov avtikhon at tarantool.org
Wed May 27 18:19:38 MSK 2020


Implemented cmake for curl build and setup OOS build with it.
Described in short the patches as it were committed.

7.  gitlab-ci: add out-of-source build
    
    Implemented out-of-source build at cmake files.
    Added out of source build make targets and added
    test job to gitlab-ci.
    
    Closes #4874

6.  Skip failing test from out-of-source build
    
    Skipped failing test app-tap/http_client.test.lua
    from out-of-source build. Left #4258 issue opened
    till it will be fixed.
    
    Part of #4874

5.  build: change autoconf to cmake in curl build
    
    Completely changed autoconf to cmake in curl build. After curl
    sources were changed to be able to be build since 2.8 version
    the old OS like CentOS 6/7 and Ubuntu 14.04 became available
    for curl build using cmake.
    
    Autoconf part completely removed and code cleaned up for cmake.
    
    1. Fixed issue with building on CentOS 6:

       It was fixed with added "-lrt" flag to CMAKE_C_FLAGS and
       CMAKE_CXX_FLAGS build flags, when cmake version is lower
       than 3.0 and RT library had needed function.
    
    2. Fixed issue with building FreeBSD 12: app/socket test failed.

       It was fixed with added "-DLDFLAGS=" flag to cmake call.
    
    3. Fixed issue with static build using CentOS 7, where SSL cmake rule
       failed.
    
       It was fixed in issue #5019.
    
    Closes #4968
    Closes #5020

4.  Fix curl repository for out-of-source build
    
    Temporary added branch in curl repository
    with fix for out-of-source build.
    
    Part of #4874

3.  build: enable cmake in curl build
    
    Changed autoconf tools in Curl build to cmake use for builds where
    cmake major starts from 3.

    Part of #4968

2.  build: fix static build w/ dockerfile with cmake
    
    Fixed cmake OS build file:
    
      /usr/share/cmake/Modules/FindOpenSSL.cmake
    
    it had:
           REGEX "^#define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
    
    changed to:
           REGEX "^#[\t ]*define[\t ]+OPENSSL_VERSION_NUMBER[\t ]+0x([0-9a-fA-F])+.*")
    
    Closes #5019

1.  build: static build needs more cleanup in sources
    
    Added cleanup for test/small test/luajit-tap directories.
    
    Closes #5025

---

Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4874-out-of-source-build-full-ci
Issue: https://github.com/tarantool/tarantool/issues/5025
Issue: https://github.com/tarantool/tarantool/issues/5019
Issue: https://github.com/tarantool/tarantool/issues/4968
Issue: https://github.com/tarantool/tarantool/issues/4874

Alexander V. Tikhonov (7):
  build: static build needs more cleanup in sources
  build: fix static build w/ dockerfile with cmake
  build: enable cmake in curl build
  Fix curl repository for out-of-source build
  build: change autoconf to cmake in curl build
  Skip failing test from out-of-source build
  gitlab-ci: add out-of-source build

 .gitlab-ci.yml                    |   7 ++
 .travis.mk                        |  26 ++++
 Dockerfile.staticbuild            |   5 +-
 cmake/BuildLibCURL.cmake          | 201 +++++++++++-------------------
 cmake/utils.cmake                 |   4 +-
 src/box/CMakeLists.txt            |   1 +
 test/app-tap/http_client.skipcond |   5 +
 third_party/curl                  |   2 +-
 8 files changed, 119 insertions(+), 132 deletions(-)

-- 
2.17.1



More information about the Tarantool-patches mailing list