/[gentoo-x86]/eclass/multilib.eclass
Gentoo

Diff of /eclass/multilib.eclass

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.58 Revision 1.66
1# Copyright 1999-2007 Gentoo Foundation 1# Copyright 1999-2008 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2 2# Distributed under the terms of the GNU General Public License v2
3# $Header: /var/cvsroot/gentoo-x86/eclass/multilib.eclass,v 1.58 2007/03/27 01:10:05 vapier Exp $ 3# $Header: /var/cvsroot/gentoo-x86/eclass/multilib.eclass,v 1.66 2008/06/01 01:38:09 vapier Exp $
4# 4
5# Maintainer: amd64@gentoo.org / toolchain@gentoo.org 5# @ECLASS: multilib.eclass
6# 6# @MAINTAINER:
7# amd64@gentoo.org
8# toolchain@gentoo.org
9# @BLURB: This eclass is for all functions pertaining to handling multilib configurations.
10# @DESCRIPTION:
7# This eclass is for all functions pertaining to handling multilib. 11# This eclass is for all functions pertaining to handling multilib configurations.
8# configurations.
9 12
10DESCRIPTION="Based on the ${ECLASS} eclass" 13___ECLASS_RECUR_MULTILIB="yes"
11 14[[ -z ${___ECLASS_RECUR_TOOLCHAIN_FUNCS} ]] && inherit toolchain-funcs
12inherit toolchain-funcs
13
14# has_multilib_profile:
15# Return true if the current profile is a multilib profile and lists more than
16# one abi in ${MULTILIB_ABIS}. You might want to use this like
17# 'use multilib || has_multilib_profile' until all profiles utilizing the
18# 'multilib' use flag are removed from portage
19
20# is_final_abi:
21# Return true if ${ABI} is the final abi to be installed (and thus we are
22# on our last run through a src_* function.
23
24# number_abis:
25# echo the number of ABIs we will be installing for
26
27# get_install_abis:
28# Return a list of the ABIs we want to install for with
29# the last one in the list being the default.
30
31# get_all_abis:
32# Return a list of the ABIs supported by this profile.
33# the last one in the list being the default.
34
35# get_all_libdirs:
36# Returns a list of all the libdirs used by this profile. This includes
37# those that might not be touched by the current ebuild and always includes
38# "lib".
39
40# get_libdir:
41# Returns the libdir for the selected ABI. This is backwards compatible
42# and simply calls get_abi_LIBDIR() on newer profiles. You should use this
43# to determine where to install shared objects (ex: /usr/$(get_libdir))
44
45# get_abi_var <VAR> [<ABI>]:
46# returns the value of ${<VAR>_<ABI>} which should be set in make.defaults
47#
48# get_abi_CFLAGS:
49# get_abi_CDEFINE:
50# get_abi_LIBDIR:
51# Aliases for 'get_abi_var CFLAGS', etc.
52
53# get_ml_incdir [<include dir> [<ABI>]]
54# include dir defaults to /usr/include
55# ABI defaults to ${ABI} or ${DEFAULT_ABI}
56#
57# If a multilib include dir is associated with the passed include dir, then
58# we return it, otherwise, we just echo back the include dir. This is
59# neccessary when a built script greps header files rather than testing them
60# via #include (like perl) to figure out features.
61
62# prep_ml_includes:
63# Some includes (include/asm, glibc, etc) are ABI dependent. In this case,
64# We can install them in different locations for each ABI and create a common
65# header which includes the right one based on CDEFINE_${ABI}. If your
66# package installs ABI-specific headers, just add 'prep_ml_includes' to the
67# end of your src_install(). It takes a list of directories that include
68# files are installed in (default is /usr/include if none are passed).
69#
70# Example:
71# src_install() {
72# ...
73# prep_ml_includes /usr/qt/3/include
74# }
75
76# create_ml_includes <include dir> <symbol 1>:<dir 1> [<symbol 2>:<dir 2> ...]
77# If you need more control than prep_ml_includes can offer (like linux-headers
78# for the asm-* dirs, then use create_ml_includes. The firs argument is the
79# common dir. The remaining args are of the form <symbol>:<dir> where
80# <symbol> is what is put in the #ifdef for choosing that dir.
81#
82# Ideas for this code came from debian's sparc-linux headers package.
83#
84# Example:
85# create_ml_includes /usr/include/asm __sparc__:/usr/include/asm-sparc __sparc64__:/usr/include/asm-sparc64
86# create_ml_includes /usr/include/asm __i386__:/usr/include/asm-i386 __x86_64__:/usr/include/asm-x86_64
87
88# get_libname [version]
89# returns libname with proper suffix {.so,.dylib} and optionally supplied version
90# for ELF/MACH-O shared objects
91#
92# Example:
93# get_libname libfoo ${PV}
94# Returns: libfoo.so.${PV} (ELF) || libfoo.${PV}.dylib (MACH)
95
96### END DOCUMENTATION ###
97 15
98# Defaults: 16# Defaults:
99export MULTILIB_ABIS=${MULTILIB_ABIS:-"default"} 17export MULTILIB_ABIS=${MULTILIB_ABIS:-"default"}
100export DEFAULT_ABI=${DEFAULT_ABI:-"default"} 18export DEFAULT_ABI=${DEFAULT_ABI:-"default"}
101export CFLAGS_default 19export CFLAGS_default
104export CTARGET_default=${CTARGET_default:-${CTARGET:-${CHOST_default}}} 22export CTARGET_default=${CTARGET_default:-${CTARGET:-${CHOST_default}}}
105export LIBDIR_default=${CONF_LIBDIR:-"lib"} 23export LIBDIR_default=${CONF_LIBDIR:-"lib"}
106export CDEFINE_default="__unix__" 24export CDEFINE_default="__unix__"
107export KERNEL_ABI=${KERNEL_ABI:-${DEFAULT_ABI}} 25export KERNEL_ABI=${KERNEL_ABI:-${DEFAULT_ABI}}
108 26
109# has_multilib_profile() 27# @FUNCTION: has_multilib_profile
28# @DESCRIPTION:
29# Return true if the current profile is a multilib profile and lists more than
30# one abi in ${MULTILIB_ABIS}. When has_multilib_profile returns true, that
31# profile should enable the 'multilib' use flag. This is so you can DEPEND on
32# a package only for multilib or not multilib.
110has_multilib_profile() { 33has_multilib_profile() {
111 [ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ] 34 [ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ]
112} 35}
113 36
37# @FUNCTION: get_libdir
38# @RETURN: the libdir for the selected ABI
39# @DESCRIPTION:
114# This function simply returns the desired lib directory. With portage 40# This function simply returns the desired lib directory. With portage
115# 2.0.51, we now have support for installing libraries to lib32/lib64 41# 2.0.51, we now have support for installing libraries to lib32/lib64
116# to accomidate the needs of multilib systems. It's no longer a good idea 42# to accomidate the needs of multilib systems. It's no longer a good idea
117# to assume all libraries will end up in lib. Replace any (sane) instances 43# to assume all libraries will end up in lib. Replace any (sane) instances
118# where lib is named directly with $(get_libdir) if possible. 44# where lib is named directly with $(get_libdir) if possible.
119#
120# Travis Tilley <lv@gentoo.org> (24 Aug 2004)
121# 45#
122# Jeremy Huddleston <eradicator@gentoo.org> (23 Dec 2004): 46# Jeremy Huddleston <eradicator@gentoo.org> (23 Dec 2004):
123# Added support for ${ABI} and ${DEFAULT_ABI}. If they're both not set, 47# Added support for ${ABI} and ${DEFAULT_ABI}. If they're both not set,
124# fall back on old behavior. Any profile that has these set should also 48# fall back on old behavior. Any profile that has these set should also
125# depend on a newer version of portage (not yet released) which uses these 49# depend on a newer version of portage (not yet released) which uses these
132 else 56 else
133 get_abi_LIBDIR 57 get_abi_LIBDIR
134 fi 58 fi
135} 59}
136 60
61# @FUNCTION: get_multilibdir
62# @RETURN: Returns the multilibdir
137get_multilibdir() { 63get_multilibdir() {
138 if has_multilib_profile; then 64 if has_multilib_profile; then
139 eerror "get_multilibdir called, but it shouldn't be needed with the new multilib approach. Please file a bug at http://bugs.gentoo.org and assign it to eradicator@gentoo.org" 65 eerror "get_multilibdir called, but it shouldn't be needed with the new multilib approach. Please file a bug at http://bugs.gentoo.org and assign it to eradicator@gentoo.org"
140 exit 1 66 exit 1
141 fi 67 fi
142 echo ${CONF_MULTILIBDIR:=lib32} 68 echo ${CONF_MULTILIBDIR:=lib32}
143} 69}
144 70
71# @FUNCTION: get_libdir_override
72# @DESCRIPTION:
145# Sometimes you need to override the value returned by get_libdir. A good 73# Sometimes you need to override the value returned by get_libdir. A good
146# example of this is xorg-x11, where lib32 isnt a supported configuration, 74# example of this is xorg-x11, where lib32 isnt a supported configuration,
147# and where lib64 -must- be used on amd64 (for applications that need lib 75# and where lib64 -must- be used on amd64 (for applications that need lib
148# to be 32bit, such as adobe acrobat). Note that this override also bypasses 76# to be 32bit, such as adobe acrobat). Note that this override also bypasses
149# portage version sanity checking. 77# portage version sanity checking.
150# get_libdir_override expects one argument, the result get_libdir should 78# get_libdir_override expects one argument, the result get_libdir should
151# return: 79# return:
152# 80#
153# get_libdir_override lib64 81# get_libdir_override lib64
154#
155# Travis Tilley <lv@gentoo.org> (31 Aug 2004)
156get_libdir_override() { 82get_libdir_override() {
157 if has_multilib_profile; then 83 if has_multilib_profile; then
158 eerror "get_libdir_override called, but it shouldn't be needed with the new multilib approach. Please file a bug at http://bugs.gentoo.org and assign it to eradicator@gentoo.org" 84 eerror "get_libdir_override called, but it shouldn't be needed with the new multilib approach. Please file a bug at http://bugs.gentoo.org and assign it to eradicator@gentoo.org"
159 exit 1 85 exit 1
160 fi 86 fi
161 CONF_LIBDIR="$1" 87 CONF_LIBDIR="$1"
162 CONF_LIBDIR_OVERRIDE="$1" 88 CONF_LIBDIR_OVERRIDE="$1"
163 LIBDIR_default="$1" 89 LIBDIR_default="$1"
164} 90}
165 91
166# get_abi_var <VAR> [<ABI>] 92# @FUNCTION: get_abi_var
93# @USAGE: <VAR> [ABI]
167# returns the value of ${<VAR>_<ABI>} which should be set in make.defaults 94# @RETURN: returns the value of ${<VAR>_<ABI>} which should be set in make.defaults
168# 95# @DESCRIPTION:
169# ex: 96# ex:
170# CFLAGS=$(get_abi_var CFLAGS sparc32) # CFLAGS=-m32 97# CFLAGS=$(get_abi_var CFLAGS sparc32) # CFLAGS=-m32
171# 98#
172# Note that the prefered method is to set CC="$(tc-getCC) $(get_abi_CFLAGS)" 99# Note that the prefered method is to set CC="$(tc-getCC) $(get_abi_CFLAGS)"
173# This will hopefully be added to portage soon... 100# This will hopefully be added to portage soon...
174# 101#
175# If <ABI> is not specified, ${ABI} is used. 102# If <ABI> is not specified, ${ABI} is used.
176# If <ABI> is not specified and ${ABI} is not defined, ${DEFAULT_ABI} is used. 103# If <ABI> is not specified and ${ABI} is not defined, ${DEFAULT_ABI} is used.
177# If <ABI> is not specified and ${ABI} and ${DEFAULT_ABI} are not defined, we return an empty string. 104# If <ABI> is not specified and ${ABI} and ${DEFAULT_ABI} are not defined, we return an empty string.
178#
179# Jeremy Huddleston <eradicator@gentoo.org>
180get_abi_var() { 105get_abi_var() {
181 local flag=$1 106 local flag=$1
182 local abi 107 local abi
183 if [ $# -gt 1 ]; then 108 if [ $# -gt 1 ]; then
184 abi=${2} 109 abi=${2}
192 117
193 local var="${flag}_${abi}" 118 local var="${flag}_${abi}"
194 echo ${!var} 119 echo ${!var}
195} 120}
196 121
122# @FUNCTION: get_abi_CFLAGS
123# @USAGE: [ABI]
124# @DESCRIPTION:
125# Alias for 'get_abi_var CFLAGS'
197get_abi_CFLAGS() { get_abi_var CFLAGS "$@"; } 126get_abi_CFLAGS() { get_abi_var CFLAGS "$@"; }
127
128# @FUNCTION: get_abi_ASFLAGS
129# @USAGE: [ABI]
130# @DESCRIPTION:
131# Alias for 'get_abi_var ASFLAGS'
198get_abi_ASFLAGS() { get_abi_var ASFLAGS "$@"; } 132get_abi_ASFLAGS() { get_abi_var ASFLAGS "$@"; }
133
134# @FUNCTION: get_abi_LDFLAGS
135# @USAGE: [ABI]
136# @DESCRIPTION:
137# Alias for 'get_abi_var LDFLAGS'
199get_abi_LDFLAGS() { get_abi_var LDFLAGS "$@"; } 138get_abi_LDFLAGS() { get_abi_var LDFLAGS "$@"; }
139
140# @FUNCTION: get_abi_CHOST
141# @USAGE: [ABI]
142# @DESCRIPTION:
143# Alias for 'get_abi_var CHOST'
200get_abi_CHOST() { get_abi_var CHOST "$@"; } 144get_abi_CHOST() { get_abi_var CHOST "$@"; }
145
146# @FUNCTION: get_abi_CTARGET
147# @USAGE: [ABI]
148# @DESCRIPTION:
149# Alias for 'get_abi_var CTARGET'
201get_abi_CTARGET() { get_abi_var CTARGET "$@"; } 150get_abi_CTARGET() { get_abi_var CTARGET "$@"; }
151
152# @FUNCTION: get_abi_FAKE_TARGETS
153# @USAGE: [ABI]
154# @DESCRIPTION:
155# Alias for 'get_abi_var FAKE_TARGETS'
202get_abi_FAKE_TARGETS() { get_abi_var FAKE_TARGETS "$@"; } 156get_abi_FAKE_TARGETS() { get_abi_var FAKE_TARGETS "$@"; }
157
158# @FUNCTION: get_abi_CDEFINE
159# @USAGE: [ABI]
160# @DESCRIPTION:
161# Alias for 'get_abi_var CDEFINE'
203get_abi_CDEFINE() { get_abi_var CDEFINE "$@"; } 162get_abi_CDEFINE() { get_abi_var CDEFINE "$@"; }
163
164# @FUNCTION: get_abi_LIBDIR
165# @USAGE: [ABI]
166# @DESCRIPTION:
167# Alias for 'get_abi_var LIBDIR'
204get_abi_LIBDIR() { get_abi_var LIBDIR "$@"; } 168get_abi_LIBDIR() { get_abi_var LIBDIR "$@"; }
205 169
170# @FUNCTION: get_install_abis
171# @DESCRIPTION:
206# Return a list of the ABIs we want to install for with 172# Return a list of the ABIs we want to install for with
207# the last one in the list being the default. 173# the last one in the list being the default.
208get_install_abis() { 174get_install_abis() {
209 local order="" 175 local order=""
210 176
211 if [[ -z ${MULTILIB_ABIS} ]] ; then 177 if [[ -z ${MULTILIB_ABIS} ]] ; then
212 echo "default" 178 echo "default"
213 return 0 179 return 0
214 fi 180 fi
215 181
216 if hasq multilib-pkg-force ${RESTRICT} || 182 if [[ ${EMULTILIB_PKG} == "true" ]] ; then
217 { hasq multilib-pkg ${FEATURES} && hasq multilib-pkg ${RESTRICT}; }; then
218 for x in ${MULTILIB_ABIS} ; do 183 for x in ${MULTILIB_ABIS} ; do
219 if [[ ${x} != "${DEFAULT_ABI}" ]] ; then 184 if [[ ${x} != "${DEFAULT_ABI}" ]] ; then
220 hasq ${x} ${ABI_DENY} || ordera="${ordera} ${x}" 185 hasq ${x} ${ABI_DENY} || ordera="${ordera} ${x}"
221 fi 186 fi
222 done 187 done
241 206
242 echo ${order} 207 echo ${order}
243 return 0 208 return 0
244} 209}
245 210
211# @FUNCTION: get_all_abis
212# @DESCRIPTION:
246# Return a list of the ABIs supported by this profile. 213# Return a list of the ABIs supported by this profile.
247# the last one in the list being the default. 214# the last one in the list being the default.
248get_all_abis() { 215get_all_abis() {
249 local order="" 216 local order=""
250 217
262 229
263 echo ${order} 230 echo ${order}
264 return 0 231 return 0
265} 232}
266 233
267# get_all_libdirs() 234# @FUNCTION: get_all_libdirs
235# @DESCRIPTION:
268# Returns a list of all the libdirs used by this profile. This includes 236# Returns a list of all the libdirs used by this profile. This includes
269# those that might not be touched by the current ebuild. 237# those that might not be touched by the current ebuild and always includes
238# "lib".
270get_all_libdirs() { 239get_all_libdirs() {
271 local libdirs="lib" 240 local libdirs="lib"
272 local abi 241 local abi
273 local dir 242 local dir
274 243
277 done 246 done
278 247
279 echo "${libdirs}" 248 echo "${libdirs}"
280} 249}
281 250
251# @FUNCTION: is_final_abi
252# @DESCRIPTION:
282# Return true if ${ABI} is the last ABI on our list (or if we're not 253# Return true if ${ABI} is the last ABI on our list (or if we're not
283# using the new multilib configuration. This can be used to determine 254# using the new multilib configuration. This can be used to determine
284# if we're in the last (or only) run through src_{unpack,compile,install} 255# if we're in the last (or only) run through src_{unpack,compile,install}
285is_final_abi() { 256is_final_abi() {
286 has_multilib_profile || return 0 257 has_multilib_profile || return 0
287 local ALL_ABIS=$(get_install_abis) 258 local ALL_ABIS=$(get_install_abis)
288 local LAST_ABI=${ALL_ABIS/* /} 259 local LAST_ABI=${ALL_ABIS/* /}
289 [[ ${LAST_ABI} == ${ABI} ]] 260 [[ ${LAST_ABI} == ${ABI} ]]
290} 261}
291 262
263# @FUNCTION: number_abis
264# @DESCRIPTION:
292# echo the number of ABIs we will be installing for 265# echo the number of ABIs we will be installing for
293number_abis() { 266number_abis() {
294 get_install_abis | wc -w 267 get_install_abis | wc -w
295} 268}
296 269
297# get_ml_incdir [<include dir> [<ABI>]] 270# @FUNCTION: get_ml_incdir
271# @USAGE: [include_dir] [ABI]
272# @DESCRIPTION:
298# include dir defaults to /usr/include 273# include dir defaults to /usr/include
299# ABI defaults to ${ABI} or ${DEFAULT_ABI} 274# ABI defaults to ${ABI} or ${DEFAULT_ABI}
275#
276# If a multilib include dir is associated with the passed include dir, then
277# we return it, otherwise, we just echo back the include dir. This is
278# neccessary when a built script greps header files rather than testing them
279# via #include (like perl) to figure out features.
300get_ml_incdir() { 280get_ml_incdir() {
301 local dir=/usr/include 281 local dir=/usr/include
302 282
303 if [[ $# -gt 0 ]]; then 283 if [[ $# -gt 0 ]]; then
304 incdir=$1 284 incdir=$1
321 else 301 else
322 echo ${dir} 302 echo ${dir}
323 fi 303 fi
324} 304}
325 305
326# prep_ml_includes: 306# @FUNCTION: prep_ml_includes
327# 307# @DESCRIPTION:
328# Some includes (include/asm, glibc, etc) are ABI dependent. In this case, 308# Some includes (include/asm, glibc, etc) are ABI dependent. In this case,
329# We can install them in different locations for each ABI and create a common 309# We can install them in different locations for each ABI and create a common
330# header which includes the right one based on CDEFINE_${ABI}. If your 310# header which includes the right one based on CDEFINE_${ABI}. If your
331# package installs ABI-specific headers, just add 'prep_ml_includes' to the 311# package installs ABI-specific headers, just add 'prep_ml_includes' to the
332# end of your src_install(). It takes a list of directories that include 312# end of your src_install(). It takes a list of directories that include
333# files are installed in (default is /usr/include if none are passed). 313# files are installed in (default is /usr/include if none are passed).
334# 314#
335# Example: 315# Example:
336# src_install() { 316# src_install() {
337# ... 317# ...
338# prep_ml_includes /usr/qt/3/include 318# prep_ml_includes /usr/qt/3/include
339# } 319# }
340
341prep_ml_includes() { 320prep_ml_includes() {
342 if [[ $(number_abis) -gt 1 ]] ; then 321 if [[ $(number_abis) -gt 1 ]] ; then
343 local dir 322 local dir
344 local dirs 323 local dirs
345 local base 324 local base
376 done 355 done
377 fi 356 fi
378 fi 357 fi
379} 358}
380 359
360# @FUNCTION: create_ml_includes
361# @USAGE: <include_dir> <symbol_1>:<dir_1> [<symbol_2>:<dir_2>...]
362# @DESCRIPTION:
381# If you need more control than prep_ml_includes can offer (like linux-headers 363# If you need more control than prep_ml_includes can offer (like linux-headers
382# for the asm-* dirs, then use create_ml_includes. The firs argument is the 364# for the asm-* dirs, then use create_ml_includes. The firs argument is the
383# common dir. The remaining args are of the form <symbol>:<dir> where 365# common dir. The remaining args are of the form <symbol>:<dir> where
384# <symbol> is what is put in the #ifdef for choosing that dir. 366# <symbol> is what is put in the #ifdef for choosing that dir.
385# 367#
386# Ideas for this code came from debian's sparc-linux headers package. 368# Ideas for this code came from debian's sparc-linux headers package.
387# 369#
388# Example: 370# Example:
389# create_ml_includes /usr/include/asm __sparc__:/usr/include/asm-sparc __sparc64__:/usr/include/asm-sparc64 371# create_ml_includes /usr/include/asm __sparc__:/usr/include/asm-sparc __sparc64__:/usr/include/asm-sparc64
390# create_ml_includes /usr/include/asm __i386__:/usr/include/asm-i386 __x86_64__:/usr/include/asm-x86_64 372# create_ml_includes /usr/include/asm __i386__:/usr/include/asm-i386 __x86_64__:/usr/include/asm-x86_64
391# 373#
392# Warning: Be careful with the ordering here. The default ABI has to be the 374# Warning: Be careful with the ordering here. The default ABI has to be the
393# last, because it is always defined (by GCC) 375# last, because it is always defined (by GCC)
394create_ml_includes() { 376create_ml_includes() {
395 local dest=$1 377 local dest=$1
531 echo "Shouldn't be here -- create_ml_includes-sym_for_dir $1 $@" 513 echo "Shouldn't be here -- create_ml_includes-sym_for_dir $1 $@"
532 # exit because we'll likely be called from a subshell 514 # exit because we'll likely be called from a subshell
533 exit 1 515 exit 1
534} 516}
535 517
518# @FUNCTION: get_libname
519# @USAGE: [version]
520# @DESCRIPTION:
521# Returns libname with proper suffix {.so,.dylib} and optionally supplied version
522# for ELF/MACH-O shared objects
523#
524# Example:
525# get_libname libfoo ${PV}
526# Returns: libfoo.so.${PV} (ELF) || libfoo.${PV}.dylib (MACH)
536get_libname() { 527get_libname() {
537 local libname 528 local libname
538 local ver=$1 529 local ver=$1
539 case ${CHOST} in 530 case ${CHOST} in
531 mingw*|*-mingw*) libname="dll";;
540 *-darwin*) libname="dylib";; 532 *-darwin*) libname="dylib";;
541 *) libname="so";; 533 *) libname="so";;
542 esac 534 esac
543 535
544 if [[ -z $@ ]] ; then 536 if [[ -z $* ]] ; then
545 echo ".${libname}" 537 echo ".${libname}"
546 else 538 else
547 for ver in "$@" ; do 539 for ver in "$@" ; do
548 case ${CHOST} in 540 case ${CHOST} in
549 *-darwin*) echo ".${ver}.${libname}";; 541 *-darwin*) echo ".${ver}.${libname}";;
650 export DEFAULT_ABI="default" 642 export DEFAULT_ABI="default"
651 ;; 643 ;;
652 esac 644 esac
653} 645}
654 646
647# @FUNCTION: multilib_toolchain_setup
648# @DESCRIPTION:
655# Hide multilib details here for packages which are forced to be compiled for a 649# Hide multilib details here for packages which are forced to be compiled for a
656# specific ABI when run on another ABI (like x86-specific packages on amd64) 650# specific ABI when run on another ABI (like x86-specific packages on amd64)
657multilib_toolchain_setup() { 651multilib_toolchain_setup() {
658 export ABI=$1 652 export ABI=$1
659 653

Legend:
Removed from v.1.58  
changed lines
  Added in v.1.66

  ViewVC Help
Powered by ViewVC 1.1.20