From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Q0hle-0001Iz-CA for garchives@archives.gentoo.org; Fri, 18 Mar 2011 22:03:34 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id C9F14E0495; Fri, 18 Mar 2011 22:03:27 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 7911BE0495 for ; Fri, 18 Mar 2011 22:03:27 +0000 (UTC) Received: from flycatcher.gentoo.org (flycatcher.gentoo.org [81.93.255.6]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B80F51B408C for ; Fri, 18 Mar 2011 22:03:26 +0000 (UTC) Received: by flycatcher.gentoo.org (Postfix, from userid 559) id 5936B20054; Fri, 18 Mar 2011 22:03:25 +0000 (UTC) From: "Mike Frysinger (vapier)" To: gentoo-commits@lists.gentoo.org Reply-To: gentoo-dev@lists.gentoo.org, vapier@gentoo.org Subject: [gentoo-commits] gentoo-x86 commit in eclass: multilib.eclass X-VCS-Repository: gentoo-x86 X-VCS-Files: multilib.eclass X-VCS-Directories: eclass X-VCS-Committer: vapier X-VCS-Committer-Name: Mike Frysinger Content-Type: text/plain; charset=utf8 Message-Id: <20110318220325.5936B20054@flycatcher.gentoo.org> Date: Fri, 18 Mar 2011 22:03:25 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: 486684e576a71d015662ad41a08835c1 vapier 11/03/18 22:03:25 Modified: multilib.eclass Log: punt now unused get_ml_incdir/prep_ml_includes funcs and associated CDE= FINE logic Revision Changes Path 1.90 eclass/multilib.eclass file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/multilib.ec= lass?rev=3D1.90&view=3Dmarkup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/multilib.ec= lass?rev=3D1.90&content-type=3Dtext/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/multilib.ec= lass?r1=3D1.89&r2=3D1.90 Index: multilib.eclass =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /var/cvsroot/gentoo-x86/eclass/multilib.eclass,v retrieving revision 1.89 retrieving revision 1.90 diff -u -r1.89 -r1.90 --- multilib.eclass 18 Mar 2011 21:58:15 -0000 1.89 +++ multilib.eclass 18 Mar 2011 22:03:25 -0000 1.90 @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/multilib.eclass,v 1.89 2011/03= /18 21:58:15 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/multilib.eclass,v 1.90 2011/03= /18 22:03:25 vapier Exp $ =20 # @ECLASS: multilib.eclass # @MAINTAINER: @@ -21,7 +21,6 @@ export CHOST_default=3D${CHOST_default:-${CHOST}} export CTARGET_default=3D${CTARGET_default:-${CTARGET:-${CHOST_default}}= } export LIBDIR_default=3D${CONF_LIBDIR:-"lib"} -export CDEFINE_default=3D"__unix__" export KERNEL_ABI=3D${KERNEL_ABI:-${DEFAULT_ABI}} =20 # @FUNCTION: has_multilib_profile @@ -155,12 +154,6 @@ # Alias for 'get_abi_var FAKE_TARGETS' get_abi_FAKE_TARGETS() { get_abi_var FAKE_TARGETS "$@"; } =20 -# @FUNCTION: get_abi_CDEFINE -# @USAGE: [ABI] -# @DESCRIPTION: -# Alias for 'get_abi_var CDEFINE' -get_abi_CDEFINE() { get_abi_var CDEFINE "$@"; } - # @FUNCTION: get_abi_LIBDIR # @USAGE: [ABI] # @DESCRIPTION: @@ -269,256 +262,6 @@ echo $# } =20 -# @FUNCTION: get_ml_incdir -# @USAGE: [include_dir] [ABI] -# @DESCRIPTION: -# include dir defaults to /usr/include -# ABI defaults to ${ABI} or ${DEFAULT_ABI} -# -# If a multilib include dir is associated with the passed include dir, t= hen -# we return it, otherwise, we just echo back the include dir. This is -# neccessary when a built script greps header files rather than testing = them -# via #include (like perl) to figure out features. -get_ml_incdir() { - local dir=3D/usr/include - - if [[ $# -gt 0 ]]; then - incdir=3D$1 - shift - fi - - if [[ -z "${MULTILIB_ABIS}" ]]; then - echo ${incdir} - return 0 - fi - - local abi=3D${ABI-${DEFAULT_ABI}} - if [[ $# -gt 0 ]]; then - abi=3D$1 - shift - fi - - if [[ -d "${dir}/gentoo-multilib/${abi}" ]]; then - echo ${dir}/gentoo-multilib/${abi} - else - echo ${dir} - fi -} - -# @FUNCTION: prep_ml_includes -# @DESCRIPTION: -# Some includes (include/asm, glibc, etc) are ABI dependent. In this ca= se, -# We can install them in different locations for each ABI and create a c= ommon -# header which includes the right one based on CDEFINE_${ABI}. If your -# package installs ABI-specific headers, just add 'prep_ml_includes' to = the -# end of your src_install(). It takes a list of directories that includ= e -# files are installed in (default is /usr/include if none are passed). -# -# Example: -# src_install() { -# ... -# prep_ml_includes /usr/qt/3/include -# } -prep_ml_includes() { - if [[ $(number_abis) -gt 1 ]] ; then - local dir - local dirs - local base - - if [[ $# -eq 0 ]] ; then - dirs=3D/usr/include - else - dirs=3D"$@" - fi - - for dir in ${dirs} ; do - base=3D${T}/gentoo-multilib/${dir}/gentoo-multilib - mkdir -p "${base}" - [[ -d ${base}/${ABI} ]] && rm -rf "${base}/${ABI}" - mv "${D}/${dir}" "${base}/${ABI}" - done - - if is_final_abi; then - base=3D${T}/gentoo-multilib - pushd "${base}" - find . | tar -c -T - -f - | tar -x --no-same-owner -f - -C "${D}" - popd - - # This 'set' stuff is required by mips profiles to properly pass - # CDEFINE's (which have spaces) to sub-functions - set -- - for dir in ${dirs} ; do - set -- "$@" "${dir}" - local abi - for abi in $(get_install_abis); do - set -- "$@" "$(get_abi_CDEFINE ${abi}):${dir}/gentoo-multilib/${abi= }" - done - create_ml_includes "$@" - done - fi - fi -} - -# @FUNCTION: create_ml_includes -# @USAGE: : [:...] -# @DESCRIPTION: -# If you need more control than prep_ml_includes can offer (like linux-h= eaders -# for the asm-* dirs, then use create_ml_includes. The firs argument is= the -# common dir. The remaining args are of the form : where -# is what is put in the #ifdef for choosing that dir. -# -# Ideas for this code came from debian's sparc-linux headers package. -# -# Example: -# create_ml_includes /usr/include/asm __sparc__:/usr/include/asm-spa= rc __sparc64__:/usr/include/asm-sparc64 -# create_ml_includes /usr/include/asm __i386__:/usr/include/asm-i386= __x86_64__:/usr/include/asm-x86_64 -# -# Warning: Be careful with the ordering here. The default ABI has to be = the -# last, because it is always defined (by GCC) -create_ml_includes() { - local dest=3D$1 - shift - local basedirs=3D$(create_ml_includes-listdirs "$@") - - create_ml_includes-makedestdirs ${dest} ${basedirs} - - local file - for file in $(create_ml_includes-allfiles ${basedirs}) ; do - #local name=3D$(echo ${file} | tr '[:lower:]' '[:upper:]' | sed 's:[^[= :upper:]]:_:g') - ( - echo "/* Autogenerated by create_ml_includes() in multilib.eclass */" - - local dir - for dir in ${basedirs}; do - if [[ -f ${D}/${dir}/${file} ]] ; then - echo "" - local sym=3D$(create_ml_includes-sym_for_dir ${dir} "$@") - if [[ ${sym/=3D} !=3D "${sym}" ]] ; then - echo "#if ${sym}" - elif [[ ${sym::1} =3D=3D "!" ]] ; then - echo "#ifndef ${sym:1}" - else - echo "#ifdef ${sym}" - fi - echo "# include <$(create_ml_includes-absolute ${dir}/${file})>" - echo "#endif /* ${sym} */" - fi - done - - #echo "#endif /* __CREATE_ML_INCLUDES_STUB_${name}__ */" - ) > "${D}/${dest}/${file}" - done -} - -# Helper function for create_ml_includes -create_ml_includes-absolute() { - local dst=3D"$(create_ml_includes-tidy_path $1)" - - dst=3D(${dst//\// }) - - local i - for ((i=3D0; i<${#dst[*]}; i++)); do - [ "${dst[i]}" =3D=3D "include" ] && break - done - - local strip_upto=3D$i - - for ((i=3Dstrip_upto+1; i<${#dst[*]}-1; i++)); do - echo -n ${dst[i]}/ - done - - echo -n ${dst[i]} -} - -# Helper function for create_ml_includes -create_ml_includes-tidy_path() { - local removed=3D$1 - - if [ -n "${removed}" ]; then - # Remove multiple slashes - while [ "${removed}" !=3D "${removed/\/\//\/}" ]; do - removed=3D${removed/\/\//\/} - done - - # Remove . directories - while [ "${removed}" !=3D "${removed//\/.\//\/}" ]; do - removed=3D${removed//\/.\//\/} - done - [ "${removed##*/}" =3D "." ] && removed=3D${removed%/*} - - # Removed .. directories - while [ "${removed}" !=3D "${removed//\/..\/}" ]; do - local p1=3D"${removed%%\/..\/*}" - local p2=3D"${removed#*\/..\/}" - - removed=3D"${p1%\/*}/${p2}" - done - - # Remove trailing .. - [ "${removed##*/}" =3D ".." ] && removed=3D${removed%/*/*} - - # Remove trailing / - [ "${removed##*/}" =3D "" ] && removed=3D${removed%/*} - - echo ${removed} - fi -} - -# Helper function for create_ml_includes -create_ml_includes-listdirs() { - local dirs - local data - for data in "$@"; do - dirs=3D"${dirs} ${data/*:/}" - done - echo ${dirs:1} -} - -# Helper function for create_ml_includes -create_ml_includes-makedestdirs() { - local dest=3D$1 - shift - local basedirs=3D$@ - [[ -z ${ED} ]] && local ED=3D${D} - - dodir ${dest} - - local basedir - for basedir in ${basedirs}; do - local dir - for dir in $(find "${ED}"/${basedir} -type d); do - dodir ${dest}/${dir/${ED}\/${basedir}/} - done - done -} - -# Helper function for create_ml_includes -create_ml_includes-allfiles() { - [[ -z ${ED} ]] && local ED=3D${D} - local basedir file - for basedir in "$@" ; do - for file in $(find "${ED}"/${basedir} -type f); do - echo ${file/${ED}\/${basedir}\//} - done - done | sort | uniq -} - -# Helper function for create_ml_includes -create_ml_includes-sym_for_dir() { - local dir=3D$1 - shift - local data - for data in "$@"; do - if [[ ${data} =3D=3D *:${dir} ]] ; then - echo ${data/:*/} - return 0 - fi - done - echo "Shouldn't be here -- create_ml_includes-sym_for_dir $1 $@" - # exit because we'll likely be called from a subshell - exit 1 -} - # @FUNCTION: get_libname # @USAGE: [version] # @DESCRIPTION: @@ -582,7 +325,6 @@ export CFLAGS_x86=3D${CFLAGS_x86--m32} export CHOST_x86=3D${CTARGET/x86_64/i686} export CTARGET_x86=3D${CHOST_x86} - export CDEFINE_x86=3D"__i386__" if [[ ${SYMLINK_LIB} =3D=3D "yes" ]] ; then export LIBDIR_x86=3D"lib32" else @@ -592,13 +334,11 @@ export CFLAGS_amd64=3D${CFLAGS_amd64--m64} export CHOST_amd64=3D${CTARGET} export CTARGET_amd64=3D${CHOST_amd64} - export CDEFINE_amd64=3D"__x86_64__" export LIBDIR_amd64=3D"lib64" =20 export CFLAGS_x32=3D${CFLAGS_x32--mx32} export CHOST_x32=3D${CTARGET} export CTARGET_x32=3D${CHOST_x32} - export CDEFINE_x32=3D"__i386__" export LIBDIR_x32=3D"libx32" =20 : ${MULTILIB_ABIS=3Damd64 x86} @@ -608,19 +348,16 @@ export CFLAGS_o32=3D${CFLAGS_o32--mabi=3D32} export CHOST_o32=3D${CTARGET/mips64/mips} export CTARGET_o32=3D${CHOST_o32} - export CDEFINE_o32=3D"_MIPS_SIM =3D=3D _ABIO32" export LIBDIR_o32=3D"lib" =20 export CFLAGS_n32=3D${CFLAGS_n32--mabi=3Dn32} export CHOST_n32=3D${CTARGET} export CTARGET_n32=3D${CHOST_n32} - export CDEFINE_n32=3D"_MIPS_SIM =3D=3D _ABIN32" export LIBDIR_n32=3D"lib32" =20 export CFLAGS_n64=3D${CFLAGS_n64--mabi=3D64} export CHOST_n64=3D${CTARGET} export CTARGET_n64=3D${CHOST_n64} - export CDEFINE_n64=3D"_MIPS_SIM =3D=3D _ABI64" export LIBDIR_n64=3D"lib64" =20 : ${MULTILIB_ABIS=3Dn64 n32 o32} @@ -630,13 +367,11 @@ export CFLAGS_ppc=3D${CFLAGS_ppc--m32} export CHOST_ppc=3D${CTARGET/powerpc64/powerpc} export CTARGET_ppc=3D${CHOST_ppc} - export CDEFINE_ppc=3D"!__powerpc64__" export LIBDIR_ppc=3D"lib" =20 export CFLAGS_ppc64=3D${CFLAGS_ppc64--m64} export CHOST_ppc64=3D${CTARGET} export CTARGET_ppc64=3D${CHOST_ppc64} - export CDEFINE_ppc64=3D"__powerpc64__" export LIBDIR_ppc64=3D"lib64" =20 : ${MULTILIB_ABIS=3Dppc64 ppc} @@ -646,13 +381,11 @@ export CFLAGS_s390=3D${CFLAGS_s390--m31} # the 31 is not a typo export CHOST_s390=3D${CTARGET/s390x/s390} export CTARGET_s390=3D${CHOST_s390} - export CDEFINE_s390=3D"!__s390x__" export LIBDIR_s390=3D"lib" =20 export CFLAGS_s390x=3D${CFLAGS_s390x--m64} export CHOST_s390x=3D${CTARGET} export CTARGET_s390x=3D${CHOST_s390x} - export CDEFINE_s390x=3D"__s390x__" export LIBDIR_s390x=3D"lib64" =20 : ${MULTILIB_ABIS=3Ds390x s390} @@ -662,13 +395,11 @@ export CFLAGS_sparc32=3D${CFLAGS_sparc32} export CHOST_sparc32=3D${CTARGET/sparc64/sparc} export CTARGET_sparc32=3D${CHOST_sparc32} - export CDEFINE_sparc32=3D"!__arch64__" export LIBDIR_sparc32=3D"lib" =20 export CFLAGS_sparc64=3D${CFLAGS_sparc64--m64} export CHOST_sparc64=3D${CTARGET} export CTARGET_sparc64=3D${CHOST_sparc64} - export CDEFINE_sparc64=3D"__arch64__" export LIBDIR_sparc64=3D"lib64" =20 : ${MULTILIB_ABIS=3Dsparc64 sparc32}