eclass/freebsd.eclass: added FreeBSD 11.0 support.
authorYuta Satoh <nigoro.dev@gmail.com>
Tue, 11 Oct 2016 12:14:26 +0000 (21:14 +0900)
committerAlexis Ballier <aballier@gentoo.org>
Tue, 11 Oct 2016 14:47:47 +0000 (16:47 +0200)
eclass/freebsd.eclass

index cb03cf63a31a3a82139a30685e6bfce5cfa6bef8..8f6b204f1f306179f517a0a3f1faafdbbc728d4f 100644 (file)
@@ -102,7 +102,15 @@ doperiodic() {
 freebsd_get_bmake() {
        local bmake
        bmake=$(get_bmake)
-       [[ ${CBUILD} == *-freebsd* ]] || bmake="${bmake} -m /usr/share/mk/freebsd"
+       if version_is_at_least 11.0 ${RV} ; then
+               if [[ ${CBUILD} == *-freebsd* ]] ; then
+                       bmake="${bmake} -m /usr/share/mk/system"
+               else
+                       bmake="${bmake} -m /usr/share/mk/freebsd/system"
+               fi
+       else
+               [[ ${CBUILD} == *-freebsd* ]] || bmake="${bmake} -m /usr/share/mk/freebsd"
+       fi
 
        echo "${bmake}"
 }
@@ -187,7 +195,9 @@ freebsd_src_unpack() {
        dummy_mk ${REMOVE_SUBDIRS}
 
        freebsd_do_patches
-       freebsd_rename_libraries
+       if ! version_is_at_least 11.0 ${RV} ; then
+               freebsd_rename_libraries
+       fi
 
        # Starting from FreeBSD 9.2, its install command supports the -l option and
        # they now use it. Emulate it if we are on a system that does not have it.
@@ -195,6 +205,9 @@ freebsd_src_unpack() {
                export INSTALL_LINK="ln -f"
                export INSTALL_SYMLINK="ln -fs"
        fi
+       if version_is_at_least 11.0 ${RV} ; then
+               export RSYMLINK=" -l s"
+       fi
 
        # When CC=clang, force use clang-cpp #478810, #595878
        if [[ $(tc-getCC) == *clang* ]] ; then
@@ -213,9 +226,24 @@ freebsd_src_unpack() {
 
 freebsd_src_compile() {
        use profile && filter-flags "-fomit-frame-pointer"
-       use profile || mymakeopts="${mymakeopts} NO_PROFILE= "
+       if version_is_at_least 11.0 ${RV} ; then
+               if ! use profile ; then
+                       mymakeopts="${mymakeopts} WITHOUT_PROFILE= "
+               fi
+               # Disable debugging info, use FEATURES=splitdebug instead.
+               mymakeopts="${mymakeopts} WITHOUT_DEBUG_FILES= "
+               # Test does not support yet.
+               mymakeopts="${mymakeopts} WITHOUT_TESTS= "
+               # Force set SRCTOP.
+               mymakeopts="${mymakeopts} SRCTOP=${WORKDIR} "
+               # Set common option.
+               mymakeopts="${mymakeopts} WITHOUT_MANCOMPRESS= WITHOUT_INFOCOMPRESS= "
+       else
+               use profile || mymakeopts="${mymakeopts} NO_PROFILE= "
+               mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= "
+       fi
 
-       mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= NO_FSCHG="
+       mymakeopts="${mymakeopts} NO_FSCHG="
 
        # Make sure to use FreeBSD definitions while crosscompiling
        [[ -z "${BMAKE}" ]] && BMAKE="$(freebsd_get_bmake)"
@@ -274,11 +302,26 @@ freebsd_multilib_multibuild_wrapper() {
 }
 
 freebsd_src_install() {
-       use profile || mymakeopts="${mymakeopts} NO_PROFILE= "
+       if version_is_at_least 11.0 ${RV} ; then
+               if ! use profile ; then
+                       mymakeopts="${mymakeopts} WITHOUT_PROFILE= "
+               fi
+               # Disable debugging info, use FEATURES=splitdebug instead.
+               mymakeopts="${mymakeopts} WITHOUT_DEBUG_FILES= "
+               # Test does not support yet.
+               mymakeopts="${mymakeopts} WITHOUT_TESTS= "
+               # Force set SRCTOP.
+               mymakeopts="${mymakeopts} SRCTOP=${WORKDIR} "
+               # Set common option.
+               mymakeopts="${mymakeopts} WITHOUT_MANCOMPRESS= WITHOUT_INFOCOMPRESS= "
+       else
+               use profile || mymakeopts="${mymakeopts} NO_PROFILE= "
+               mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= "
+       fi
 
-       mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= NO_FSCHG="
+       mymakeopts="${mymakeopts} NO_FSCHG="
 
        [[ -z "${BMAKE}" ]] && BMAKE="$(freebsd_get_bmake)"
 
-       bsdmk_src_install
+       bsdmk_src_install "$@"
 }