diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-06-29 11:38:31 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-06-29 11:38:31 +0100 |
commit | 90c88731bd036e5698b281fbc0a5f3aa4c9983ac (patch) | |
tree | 83fc5facb6b12be510a37bc3d241cc63e965b13a /eclass/llvm.org.eclass | |
parent | feb0daf81d888e9160f9f94502de09b66f2a63fd (diff) |
gentoo resync : 29.06.2020
Diffstat (limited to 'eclass/llvm.org.eclass')
-rw-r--r-- | eclass/llvm.org.eclass | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index b4b80df06d85..36c4f52650fd 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -63,6 +63,8 @@ fi [[ ${PV} == ${_LLVM_MASTER_MAJOR}.* && ${_LLVM_SOURCE_TYPE} == tar ]] && die "${ECLASS}: Release ebuild for master branch?!" +inherit multiprocessing + # == control variables == @@ -167,6 +169,11 @@ llvm.org_set_globals() { fi fi + # === useful defaults for cmake-based packages === + + # least intrusive of all + CMAKE_BUILD_TYPE=RelWithDebInfo + _LLVM_ORG_SET_GLOBALS_CALLED=1 } @@ -174,6 +181,9 @@ llvm.org_set_globals() { # == phase functions == EXPORT_FUNCTIONS src_unpack +if ver_test -ge 10.0.1_rc; then + EXPORT_FUNCTIONS src_prepare +fi # @FUNCTION: llvm.org_src_unpack # @DESCRIPTION: @@ -217,3 +227,41 @@ llvm.org_src_unpack() { fi fi } + +# @FUNCTION: llvm.org_src_prepare +# @DESCRIPTION: +# Call appropriate src_prepare (cmake or default) depending on inherited +# eclasses. Make sure that PATCHES and user patches are applied in top +# ${WORKDIR}, so that patches straight from llvm-project repository +# work correctly with -p1. +llvm.org_src_prepare() { + if declare -f cmake_src_prepare >/dev/null; then + # cmake eclasses force ${S} for default_src_prepare + # but use ${CMAKE_USE_DIR} for everything else + CMAKE_USE_DIR=${S} \ + S=${WORKDIR} \ + cmake_src_prepare + else + pushd "${WORKDIR}" >/dev/null || die + default_src_prepare + popd >/dev/null || die + fi +} + + +# == helper functions == + +# @ECLASS-VARIABLE: LIT_JOBS +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Number of test jobs to run simultaneously. If unset, defaults +# to '-j' in MAKEOPTS. If that is not found, default to nproc. + +# @FUNCTION: get_lit_flags +# @DESCRIPTION: +# Get the standard recommended lit flags for running tests, in CMake +# list form (;-separated). +get_lit_flags() { + echo "-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}" +} |