forked from yugabyte/yugabyte-db
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[yugabyte#10920] Support build with Clang 12 and Linuxbrew
Summary: Support a build with Clang 12 and Linuxbrew. This is the same version of Linuxbrew that we have been using with GCC 5. The LLVM toolchain is not built for Linuxbrew but for the native OS, so we specify all libraries and include directories explicitly in order to build with Linuxbrew includes and libraries. The resulting package should have the same portability across target Linux distributions as the package we have been building with GCC 5. This will allow us to drop support for GCC 5 and use a much newer compiler for our production release package. Enhancing thirdparty_tool.py to allow using Linuxbrew-based packages built on a different OS, because they should not depend on the Linux distribution. Relevant PR in yugabyte-db-thirdparty: yugabyte/yugabyte-db-thirdparty#95 Other changes: - Removing automatic installation of Linuxbrew into `~/.linuxbrew-yb-build`. Our standard practice is to install it into a path like `/opt/yb-build/brew/linuxbrew-20181203T161736v9`. - Remove unused constant SHARED_LINUXBREW_BUILDS_DIR. - Do not use Ninja from the Linuxbrew directory. - Activate the Python virtual environment early in the build-and-test.sh script used by Jenkins. - Add a python_with_venv.sh script to simplify running Python commands with the build virtualenv. - Simplify checking for Clang and GCC compiler families in CMake scripts (IS_CLANG and IS_GCC variables). - Add type annotations dependency_graph.py and refactor it. Add it to codecheck.ini. - Add a Python function arg_str_to_bool useful for creating user-friendly boolean arguments using argparse. Test Plan: Jenkins Run the build in various configurations on CentOS 7, AlmaLinux 8, macOS, across x86_64 and ARM architectures. Reviewers: steve.varnau, sergei Reviewed By: sergei Subscribers: ybase Differential Revision: https://phabricator.dev.yugabyte.com/D14487
- Loading branch information
Showing
23 changed files
with
1,165 additions
and
754 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.