diff options
author | 2016-10-09 17:19:26 +0900 | |
---|---|---|
committer | 2016-10-09 17:19:26 +0900 | |
commit | 33612af8cae165e0549873ae64e6713d4de5e004 (patch) | |
tree | bd50d562657e37cb5b6d7539934a4983be2e2b93 | |
parent | freebsd.eclass: Pass all of arguments to bsdmk_src_install. (diff) | |
download | gentoo-bsd-33612af8cae165e0549873ae64e6713d4de5e004.tar.gz gentoo-bsd-33612af8cae165e0549873ae64e6713d4de5e004.tar.bz2 gentoo-bsd-33612af8cae165e0549873ae64e6713d4de5e004.zip |
eclass/bsdmk.eclass: import from latest tree
-rw-r--r-- | eclass/bsdmk.eclass | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/eclass/bsdmk.eclass b/eclass/bsdmk.eclass new file mode 100644 index 0000000..3ce3572 --- /dev/null +++ b/eclass/bsdmk.eclass @@ -0,0 +1,83 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +# @ECLASS: bsdmk.eclass +# @MAINTAINER: +# maintainer-needed@gentoo.org +# @BLURB: Some functions for BSDmake + +inherit toolchain-funcs portability flag-o-matic + +EXPORT_FUNCTIONS src_compile src_install + +RDEPEND="" +# this should actually be BDEPEND, but this works. +DEPEND="virtual/pmake" + +ESED="/usr/bin/sed" + +# @ECLASS-VARIABLE: mymakeopts +# @DESCRIPTION: +# Options for bsd-make + +# @FUNCTION: append-opt +# @USAGE: < options > +# @DESCRIPTION: +# append options to enable or disable features +append-opt() { + mymakeopts="${mymakeopts} $@" +} + +# @FUNCTION: mkmake +# @USAGE: [ options ] +# @DESCRIPTION: +# calls bsd-make command with the given options, passing ${mymakeopts} to +# enable ports to useflags bridge. +mkmake() { + [[ -z ${BMAKE} ]] && BMAKE="$(get_bmake)" + + tc-export CC CXX LD RANLIB + + ${BMAKE} ${MAKEOPTS} ${EXTRA_EMAKE} ${mymakeopts} NO_WERROR= STRIP= "$@" +} + +# @FUNCTION: mkinstall +# @USAGE: [ options ] +# @DESCRIPTION: +# Calls "bsd-make install" with the given options, passing ${mamakeopts} to +# enable ports to useflags bridge +mkinstall() { + [[ -z ${BMAKE} ]] && BMAKE="$(get_bmake)" + + # STRIP= will replace the default value of -s, leaving to portage the + # task of stripping executables. + ${BMAKE} ${mymakeopts} NO_WERROR= STRIP= MANSUBDIR= DESTDIR="${D}" "$@" install +} + +# @FUNCTION: dummy_mk +# @USAGE: < dirnames > +# @DESCRIPTION: +# removes the specified subdirectories and creates a dummy makefile in them +# useful to remove the need for "minimal" patches +dummy_mk() { + for dir in $@; do + [ -d ${dir} ] || ewarn "dummy_mk called on a non-existing directory: $dir" + [ -f ${dir}/Makefile ] || ewarn "dummy_mk called on a directory without Makefile: $dir" + echo ".include <bsd.lib.mk>" > ${dir}/Makefile + done +} + +# @FUNCTION: bsdmk_src_compile +# @DESCRIPTION: +# The bsdmk src_compile function, which is exported +bsdmk_src_compile() { + mkmake "$@" || die "make failed" +} + +# @FUNCTION: bsdmk_src_install +# @DESCRIPTION: +# The bsdmk src_install function, which is exported +bsdmk_src_install() { + mkinstall || die "install failed" +} |