diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2021-03-06 18:01:22 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2021-03-11 20:52:48 +0100 |
commit | 356cc0a6b2ae8f4a43f069c09e1fd5191460d485 (patch) | |
tree | 8539ad649c35e1199fce0a16d9f9d3f950259c1a /eclass | |
parent | cmake-multilib.eclass: Drop EAPI-6 support (diff) | |
download | gentoo-356cc0a6b2ae8f4a43f069c09e1fd5191460d485.tar.gz gentoo-356cc0a6b2ae8f4a43f069c09e1fd5191460d485.tar.bz2 gentoo-356cc0a6b2ae8f4a43f069c09e1fd5191460d485.zip |
cmake-multilib.eclass: Prepare for cmake.eclass default in future EAPI
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/cmake-multilib.eclass | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/eclass/cmake-multilib.eclass b/eclass/cmake-multilib.eclass index 7319d6b0538d..e6d8fe64a02f 100644 --- a/eclass/cmake-multilib.eclass +++ b/eclass/cmake-multilib.eclass @@ -7,26 +7,41 @@ # @AUTHOR: # Author: Michał Górny <mgorny@gentoo.org> # @SUPPORTED_EAPIS: 7 -# @BLURB: cmake-utils wrapper for multilib builds +# @BLURB: cmake wrapper for multilib builds # @DESCRIPTION: -# The cmake-multilib.eclass provides a glue between cmake-utils.eclass(5) +# The cmake-multilib.eclass provides a glue between cmake.eclass(5) # and multilib-minimal.eclass(5), aiming to provide a convenient way # to build packages using cmake for multiple ABIs. # # Inheriting this eclass sets IUSE and exports default multilib_src_*() -# sub-phases that call cmake-utils phase functions for each ABI enabled. +# sub-phases that call cmake phase functions for each ABI enabled. # The multilib_src_*() functions can be defined in ebuild just like -# in multilib-minimal, yet they ought to call appropriate cmake-utils +# in multilib-minimal, yet they ought to call appropriate cmake # phase rather than 'default'. # @ECLASS-VARIABLE: CMAKE_ECLASS # @DESCRIPTION: -# Default is "cmake-utils" for compatibility. Specify "cmake" for ebuilds -# that ported from cmake-utils.eclass to cmake.eclass already. +# Default is "cmake-utils" for compatibility in EAPI-7. Specify "cmake" for +# ebuilds that ported to cmake.eclass already. Future EAPI is "cmake" only. : ${CMAKE_ECLASS:=cmake-utils} +# @ECLASS-VARIABLE: _CMAKE_ECLASS_IMPL +# @INTERNAL +# @DESCRIPTION: +# Default is "cmake" for future EAPI. Cleanup once EAPI-7 support is gone. +_CMAKE_ECLASS_IMPL=cmake + case ${EAPI:-0} in - 7) ;; + 7) + case ${CMAKE_ECLASS} in + cmake-utils|cmake) ;; + *) + eerror "Unknown value for \${CMAKE_ECLASS}" + die "Value ${CMAKE_ECLASS} is not supported" + ;; + esac + _CMAKE_ECLASS_IMPL=${CMAKE_ECLASS} + ;; *) die "EAPI=${EAPI} is not supported" ;; esac @@ -34,15 +49,7 @@ if [[ ${CMAKE_IN_SOURCE_BUILD} ]]; then die "${ECLASS}: multilib support requires out-of-source builds." fi -case ${CMAKE_ECLASS} in - cmake-utils|cmake) ;; - *) - eerror "Unknown value for \${CMAKE_ECLASS}" - die "Value ${CMAKE_ECLASS} is not supported" - ;; -esac - -inherit ${CMAKE_ECLASS} multilib-minimal +inherit ${_CMAKE_ECLASS_IMPL} multilib-minimal EXPORT_FUNCTIONS src_configure src_compile src_test src_install @@ -53,7 +60,7 @@ cmake-multilib_src_configure() { } multilib_src_configure() { - ${CMAKE_ECLASS}_src_configure "${_cmake_args[@]}" + ${_CMAKE_ECLASS_IMPL}_src_configure "${_cmake_args[@]}" } cmake-multilib_src_compile() { @@ -63,7 +70,7 @@ cmake-multilib_src_compile() { } multilib_src_compile() { - ${CMAKE_ECLASS}_src_compile "${_cmake_args[@]}" + ${_CMAKE_ECLASS_IMPL}_src_compile "${_cmake_args[@]}" } cmake-multilib_src_test() { @@ -73,7 +80,7 @@ cmake-multilib_src_test() { } multilib_src_test() { - ${CMAKE_ECLASS}_src_test "${_cmake_args[@]}" + ${_CMAKE_ECLASS_IMPL}_src_test "${_cmake_args[@]}" } cmake-multilib_src_install() { @@ -83,5 +90,5 @@ cmake-multilib_src_install() { } multilib_src_install() { - ${CMAKE_ECLASS}_src_install "${_cmake_args[@]}" + ${_CMAKE_ECLASS_IMPL}_src_install "${_cmake_args[@]}" } |