Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 312659 Details for
Bug 417051
Firefox 12.0 doesn't compile on ppc64 - Problem in jsapi.cpp
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
emerge --info ..,emerge -pqv.., build.log, environment
firefox_10_ppc64_compile.txt (text/plain), 414.83 KB, created by
Michael Volland
on 2012-05-22 09:32:12 UTC
(
hide
)
Description:
emerge --info ..,emerge -pqv.., build.log, environment
Filename:
MIME Type:
Creator:
Michael Volland
Created:
2012-05-22 09:32:12 UTC
Size:
414.83 KB
patch
obsolete
># emerge --info =www-client/firefox-12.0 > >Portage 2.1.10.49 (default/linux/powerpc/ppc64/10.0/64bit-userland, gcc-4.5.3, glibc-2.14.1-r3, 2.6.39.4 ppc64) >================================================================= > System Settings >================================================================= >System uname: Linux-2.6.39.4-ppc64-PPC970MP,_altivec_supported-with-gentoo-2.0.3 >Timestamp of tree: Fri, 18 May 2012 06:15:01 +0000 >app-shells/bash: 4.2_p20 >dev-java/java-config: 2.1.11-r3 >dev-lang/python: 2.7.3-r1, 3.1.4-r3, 3.2.3 >dev-util/cmake: 2.8.6-r4 >dev-util/pkgconfig: 0.26 >sys-apps/baselayout: 2.0.3 >sys-apps/openrc: 0.9.8.4 >sys-apps/sandbox: 2.5 >sys-devel/autoconf: 2.13, 2.68 >sys-devel/automake: 1.11.1 >sys-devel/binutils: 2.21.1-r1 >sys-devel/gcc: 4.5.3-r2 >sys-devel/gcc-config: 1.5-r2 >sys-devel/libtool: 2.4-r1 >sys-devel/make: 3.82-r1 >sys-kernel/linux-headers: 3.1 (virtual/os-headers) >sys-libs/glibc: 2.14.1-r3 >Repositories: gentoo >ACCEPT_KEYWORDS="ppc64" >ACCEPT_LICENSE="*" >CBUILD="powerpc64-unknown-linux-gnu" >CFLAGS="-O2 -pipe" >CHOST="powerpc64-unknown-linux-gnu" >CONFIG_PROTECT="/etc" >CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" >CXXFLAGS="-O2 -pipe" >DISTDIR="/usr/portage/distfiles" >FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch" >FFLAGS="" >GENTOO_MIRRORS="http://mirror.netcologne.de/gentoo/ http://ftp.halifax.rwth-aachen.de/gentoo/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo rsync://ftp-stud.hs-esslingen.de/gentoo/" >LANG="en_US.utf8" >LDFLAGS="-Wl,-O1 -Wl,--as-needed" >MAKEOPTS="-j4" >PKGDIR="/usr/portage/packages" >PORTAGE_CONFIGROOT="/" >PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" >PORTAGE_TMPDIR="/var/tmp" >PORTDIR="/usr/portage" >PORTDIR_OVERLAY="" >SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" >USE="X acl alsa altivec berkdb bzip2 cdr cli cracklib crypt cups cxx dbus dri fbcon fortran gdbm giv gnome gpm gtk ibm iconv icu ipv6 jpeg lame modules mudflap ncurses nls nptl nsplugin openmp pam pcre ppc64 pppd readline session sox ssl tcpd truetype udev unicode xanim xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" PHP_TARGETS="php5-3 php5-4" PYTHON_TARGETS="python3_2 python2_7" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nouveau" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" >Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON > > # emerge -pqv =www-client/firefox-12.0 >[ebuild U ] www-client/firefox-12.0 [11.0-r1] USE="alsa dbus minimal webm -bindist (-crashreporter) -custom-cflags -custom-optimization -debug (-ipc) -libnotify -pgo (-selinux) -startup-notification -system-sqlite -wifi" LINGUAS="-af -ak -ar -as -ast -be -bg -bn_BD -bn_IN -br -bs -ca -cs -csb -cy -da -de -el -en_GB -en_ZA -eo -es_AR -es_CL -es_ES -es_MX -et -eu -fa -fi -fr -fy_NL -ga_IE -gd -gl -gu_IN -he -hi_IN -hr -hu -hy_AM -id -is -it -ja -kk -kn -ko -ku -lg -lt -lv -mai -mk -ml -mr -nb_NO -nl -nn_NO -nso -or -pa_IN -pl -pt_BR -pt_PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv_SE -ta -ta_LK -te -th -tr -uk -vi -zh_CN -zh_TW -zu" >elect" > >The build.log: > >[32;01m * [39;49;00mPackage: www-client/firefox-12.0 >[32;01m * [39;49;00mRepository: gentoo >[32;01m * [39;49;00mMaintainer: mozilla@gentoo.org >[32;01m * [39;49;00mUSE: alsa dbus elibc_glibc kernel_linux minimal ppc64 userland_GNU webm >[32;01m * [39;49;00mFEATURES: sandbox > [32;01m*[0m > [32;01m*[0m You are enabling official branding. You may not redistribute this build > [32;01m*[0m to any users on your network or the internet. Doing so puts yourself into > [32;01m*[0m a legal problem with Mozilla Foundation > [32;01m*[0m You can disable it by emerging firefox _with_ the bindist USE-flag > [32;01m*[0m Checking for at least 4 gibibytes disk space at "/var/tmp/portage/www-client/firefox-12.0/temp" ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m >>>> Unpacking source... >>>> Unpacking firefox-12.0-patches-0.1.tar.xz to /var/tmp/portage/www-client/firefox-12.0/work >>>> Unpacking firefox-12.0.source.tar.bz2 to /var/tmp/portage/www-client/firefox-12.0/work >>>> Source unpacked in /var/tmp/portage/www-client/firefox-12.0/work >>>> Preparing source in /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release ... > [32;01m*[0m Applying various patches (bugfixes/updates) ... > [32;01m*[0m 1001-fix_jemalloc_vs_aslr.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 1002-fix_jemalloc_vs_aslr_part2.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 2000-firefox_gentoo_install_dirs.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 2002_fix-preferences-gentoo.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 2003_fix_system_hunspell_dict_detection.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 5000_fix-title-backspace.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 5001_allow_locked_prefs.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 5002_avoid_spurious_run_items_in_application_handlers.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 5003_properly_launch_applications_set_in_home.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 5004_use_yarr_instead_of_pcre_on_unsupported_platforms.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 5006_allow_system_ply.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 5007_fix_jemalloc_within_libxul.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 5009_load_dependent_libraries_with_their_real_path.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 5010_try_getting_general_useragent_locale.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 6000_dont_require_16_bytes_alignment_for_VMFrame_on_sparc.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 6001_add_alpha_defines_in_ipc.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 6002_fix_arm_detection.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m 6005_only_build_sps_on_supported_platforms.patch ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m Done with patching > [32;01m*[0m Running eautoreconf in '/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release' ... > [32;01m*[0m Running autoconf ... >[A[204C [34;01m[ [32;01mok[34;01m ][0m > [32;01m*[0m Running elibtoolize in: mozilla-release/ipc/chromium/src/third_party/libevent/ > [32;01m*[0m Applying install-sh/1.5 patch ... > [32;01m*[0m Applying portage/1.5.10 patch ... > [32;01m*[0m Applying sed/1.5.6 patch ... > [32;01m*[0m Applying as-needed/1.5.26 patch ... > [32;01m*[0m Running elibtoolize in: mozilla-release/js/src/ctypes/libffi/ > [32;01m*[0m Applying install-sh/1.5.4 patch ... > [32;01m*[0m Applying portage/2.2 patch ... > [32;01m*[0m Applying sed/1.5.6 patch ... > [32;01m*[0m Applying as-needed/2.2.6 patch ... > [32;01m*[0m Running elibtoolize in: mozilla-release/toolkit/crashreporter/google-breakpad/autotools/ > [32;01m*[0m Applying portage/2.2 patch ... > [32;01m*[0m Applying sed/1.5.6 patch ... > [32;01m*[0m Applying as-needed/2.2.6 patch ... > [32;01m*[0m Running elibtoolize in: mozilla-release/modules/freetype2/builds/unix/ > [32;01m*[0m Applying portage/1.2.0 patch ... > [32;01m*[0m Applying sed/1.5.6 patch ... >>>> Source prepared. >>>> Configuring source in /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release ... > >========================================================== >Building firefox-12.0 with the following configuration > --enable-application=browser mozilla.org default > --enable-optimize mozilla default > --with-system-jpeg system_libs > --with-system-zlib system_libs > --enable-pango system_libs > --enable-svg system_libs > --enable-system-cairo system_libs > --disable-installer disable_update_strip > --disable-pedantic disable_update_strip > --disable-updater disable_update_strip > --disable-strip disable_update_strip > --disable-strip-libs disable_update_strip > --disable-install-strip disable_update_strip > --enable-single-profile basic_profile > --disable-profilesharing basic_profile > --disable-profilelocking basic_profile > --enable-default-toolkit=cairo-gtk2 mozilla.org default > --enable-official-branding +!bindist > --enable-ogg +alsa > --enable-wave +alsa > --disable-crashreporter -crashreporter > --enable-dbus +dbus > --disable-debug -debug > --disable-tests -debug > --disable-debugger-info-modules -debug > --disable-ipc -ipc > --disable-libnotify -libnotify > --disable-startup-notification -startup-notification > --disable-system-sqlite -system-sqlite > --disable-necko-wifi -wifi > --enable-webm +webm > --with-system-libvpx=/usr +webm > --with-system-nspr mozilla.org default > --with-nspr-prefix=/usr mozilla.org default > --with-system-nss mozilla.org default > --with-nss-prefix=/usr mozilla.org default > --x-includes=/usr/include mozilla.org default > --x-libraries=/usr/lib64 mozilla.org default > --with-system-libevent=/usr mozilla.org default > --enable-system-hunspell mozilla.org default > --disable-gnomevfs mozilla.org default > --disable-gnomeui mozilla.org default > --enable-gio mozilla.org default > --enable-storage places > --enable-places places > --enable-places_bookmarks places > --enable-oji mozilla.org default > --enable-mathml mozilla.org default > --disable-mochitest broken > --prefix=/usr mozilla.org default > --libdir=/usr/lib64 mozilla.org default > --enable-extensions=default mozilla.org default > --disable-gconf mozilla.org default > --disable-mailnews mozilla.org default > --enable-canvas mozilla.org default > --enable-safe-browsing mozilla.org default > --with-system-png mozilla.org default > --enable-system-ffi mozilla.org default > --disable-system-cairo Missing fetures > --with-default-mozilla-five-home=/usr/lib64/firefox mozilla.org default > --target=powerpc64-unknown-linux-gnu mozilla.org default > --disable-system-sqlite -system-sqlite >========================================================== > >>>> Source configured. >>>> Compiling source in /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release ... >make -j4 -f client.mk >make -f /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/client.mk realbuild >make[1]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release' >make[2]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release' >cd obj-powerpc64-unknown-linux-gnu >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/configure >Adding configure options from /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/.mozconfig: > --enable-application=browser > --enable-optimize > --with-system-jpeg > --with-system-zlib > --enable-pango > --enable-svg > --enable-system-cairo > --disable-installer > --disable-pedantic > --disable-updater > --disable-strip > --disable-strip-libs > --disable-install-strip > --enable-single-profile > --disable-profilesharing > --disable-profilelocking > --enable-default-toolkit=cairo-gtk2 > --enable-official-branding > --enable-ogg > --enable-wave > --disable-crashreporter > --enable-dbus > --disable-debug > --disable-tests > --disable-debugger-info-modules > --disable-ipc > --disable-libnotify > --disable-startup-notification > --disable-system-sqlite > --disable-necko-wifi > --enable-webm > --with-system-libvpx=/usr > --with-system-nspr > --with-nspr-prefix=/usr > --with-system-nss > --with-nss-prefix=/usr > --x-includes=/usr/include > --x-libraries=/usr/lib64 > --with-system-libevent=/usr > --enable-system-hunspell > --disable-gnomevfs > --disable-gnomeui > --enable-gio > --enable-storage > --enable-places > --enable-places_bookmarks > --enable-oji > --enable-mathml > --disable-mochitest > --prefix=/usr > --libdir=/usr/lib64 > --disable-gconf > --disable-mailnews > --enable-canvas > --enable-safe-browsing > --with-system-png > --enable-system-ffi > --disable-system-cairo > --with-default-mozilla-five-home=/usr/lib64/firefox > --target=powerpc64-unknown-linux-gnu > --disable-system-sqlite > --enable-extensions=default >creating cache ./config.cache >checking host system type... powerpc64-unknown-linux-gnu >checking target system type... powerpc64-unknown-linux-gnu >checking build system type... powerpc64-unknown-linux-gnu >checking for mawk... no >checking for gawk... gawk >checking for perl5... no >checking for perl... /usr/bin/perl >checking for objcopy... /usr/bin/objcopy >checking for gcc... powerpc64-unknown-linux-gnu-gcc >checking whether the C compiler (powerpc64-unknown-linux-gnu-gcc -pipe -fPIC -mminimal-toc -Wl,-O1 -Wl,--as-needed) works... yes >checking whether the C compiler (powerpc64-unknown-linux-gnu-gcc -pipe -fPIC -mminimal-toc -Wl,-O1 -Wl,--as-needed) is a cross-compiler... no >checking whether we are using GNU C... yes >checking whether powerpc64-unknown-linux-gnu-gcc accepts -g... yes >checking for c++... powerpc64-unknown-linux-gnu-g++ >checking whether the C++ compiler (powerpc64-unknown-linux-gnu-g++ -pipe -fPIC -mminimal-toc -Wl,-O1 -Wl,--as-needed) works... yes >checking whether the C++ compiler (powerpc64-unknown-linux-gnu-g++ -pipe -fPIC -mminimal-toc -Wl,-O1 -Wl,--as-needed) is a cross-compiler... no >checking whether we are using GNU C++... yes >checking whether powerpc64-unknown-linux-gnu-g++ accepts -g... yes >checking for ranlib... ranlib >checking for as... /usr/bin/as >checking for ar... ar >checking for ld... powerpc64-unknown-linux-gnu-ld >checking for strip... strip >checking for windres... no >checking how to run the C preprocessor... powerpc64-unknown-linux-gnu-gcc -E >checking how to run the C++ preprocessor... powerpc64-unknown-linux-gnu-g++ -E >checking for a BSD compatible install... /usr/bin/install -c >checking whether ln -s works... yes >checking for minimum required perl version >= 5.006... 5.012004 >checking for full perl installation... yes >checking for python2.7... /usr/bin/python2.7 >checking for doxygen... : >checking for autoconf... /usr/bin/autoconf >checking for unzip... /usr/bin/unzip >checking for zip... /usr/bin/zip >checking for makedepend... /usr/bin/makedepend >checking for xargs... /usr/bin/xargs >checking for rpmbuild... : >checking whether the C compiler is clang older than version 2.9... no >checking bad gcc versions... we're ok >checking for make... /usr/bin/make >checking for X... libraries /usr/lib64, headers /usr/include >checking for dnet_ntoa in -ldnet... no >checking for dnet_ntoa in -ldnet_stub... no >checking for gethostbyname... yes >checking for connect... yes >checking for remove... yes >checking for shmat... yes >checking for IceConnectionNumber in -lICE... yes >checking that static assertion macros used in autoconf tests work... yes >checking whether the compiler supports -Wno-extended-offsetof... no >checking whether the compiler supports -Wno-invalid-offsetof... yes >checking whether the compiler supports -Wno-variadic-macros... yes >checking whether the compiler supports -Werror=return-type... yes >checking whether ld has archive extraction flags... yes >checking for 64-bit OS... yes >checking for Python version >= 2.5 but not 3.x... yes >checking for custom <stdint.h> implementation... none specified >checking for ANSI C header files... yes >checking for working const... yes >checking for mode_t... yes >checking for off_t... yes >checking for pid_t... yes >checking for size_t... yes >checking for __stdcall... no >checking for ssize_t... yes >checking for st_blksize in struct stat... yes >checking for siginfo_t... yes >checking for int64... no >checking for uint... yes >checking for uint_t... no >checking for uname.domainname... yes >checking for uname.__domainname... no >checking for gcc c++0x headers bug without rtti... no >checking for usable char16_t (2 bytes, unsigned)... yes >checking for usable wchar_t (2 bytes, unsigned)... no >checking for visibility(hidden) attribute... yes >checking for visibility(default) attribute... yes >checking for visibility pragma support... yes >checking For gcc visibility bug with class-level attributes (GCC bug 26905)... yes >checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)... no >checking for gcc PR49911... yes >checking for __force_align_arg_pointer__ attribute... no >checking for dirent.h that defines DIR... yes >checking for opendir in -ldir... no >checking for sys/byteorder.h... no >checking for compat.h... no >checking for getopt.h... yes >checking for sys/bitypes.h... yes >checking for memory.h... yes >checking for unistd.h... yes >checking for gnu/libc-version.h... yes >checking for nl_types.h... yes >checking for malloc.h... yes >checking for X11/XKBlib.h... yes >checking for io.h... no >checking for cpuid.h... no >checking for sys/statvfs.h... yes >checking for sys/statfs.h... yes >checking for sys/vfs.h... yes >checking for sys/mount.h... yes >checking for sys/quota.h... yes >checking for sys/sysmacros.h... yes >checking for linux/quota.h... yes >checking for mmintrin.h... no >checking for new... yes >checking for sys/cdefs.h... yes >checking for gethostbyname_r in -lc_r... no >checking for library containing dlopen... -ldl >checking for dlfcn.h... yes >checking for dladdr... yes >checking for memmem... yes >checking for socket in -lsocket... no >checking for XDrawLines in -lX11... yes >checking for XextAddDisplay in -lXext... yes >checking for XtFree in -lXt... yes >checking for XShmCreateImage in -lXext... yes >checking for X11/extensions/scrnsaver.h... yes >checking for XScreenSaverQueryInfo in -lXss... yes >checking for freetype-config... /usr/bin/freetype-config >checking for FreeType - version >= 6.1.0... yes >checking for FT_Bitmap_Size.y_ppem... yes >checking for FT_GlyphSlot_Embolden... yes >checking for FT_Load_Sfnt_Table... yes >checking for FT_Select_Size... yes >checking for pthread_create in -lpthreads... no >checking for pthread_create in -lpthread... yes >checking whether powerpc64-unknown-linux-gnu-gcc accepts -pthread... yes >checking whether powerpc64-unknown-linux-gnu-gcc needs -traditional... no >checking for 8-bit clean memcmp... yes >checking for random... yes >checking for strerror... yes >checking for lchown... yes >checking for fchmod... yes >checking for snprintf... yes >checking for statvfs... yes >checking for memmove... yes >checking for rint... no >checking for stat64... yes >checking for lstat64... yes >checking for truncate64... yes >checking for statvfs64... yes >checking for setbuf... yes >checking for isatty... yes >checking for flockfile... yes >checking for getpagesize... yes >checking for localtime_r... yes >checking for strtok_r... yes >checking for clock_gettime(CLOCK_MONOTONIC) and -lrt... no >checking for wcrtomb... yes >checking for mbrtowc... yes >checking for res_ninit()... yes >checking for gnu_get_libc_version()... yes >checking for iconv in -lc... yes >checking for iconv()... yes >checking for iconv() with const input... no >checking for nl_langinfo and CODESET... yes >checking for an implementation of va_copy()... yes >checking for an implementation of __va_copy()... yes >checking whether va_lists can be copied by value... yes >checking for modern C++ template specialization syntax support... yes >checking whether partial template specialization works... yes >checking whether the C++ "using" keyword resolves ambiguity... yes >checking for C++ dynamic_cast to void*... yes >checking whether C++ requires implementation of unused virtual methods... yes >checking for trouble comparing to zero near std::operator!=()... no >checking for __thread keyword for TLS variables... yes >checking for malloc.h... (cached) yes >checking for strndup... yes >checking for posix_memalign... yes >checking for memalign... yes >checking for valloc... yes >checking for __attribute__((always_inline))... yes >checking for __attribute__((malloc))... yes >checking for __attribute__((warn_unused_result))... yes >checking for LC_MESSAGES... yes >checking for localeconv... yes >checking for nspr-config... /usr/bin/nspr-config >checking for NSPR - version >= 4.9.0... yes >checking for event.h... yes >checking for event_init in -levent... yes >checking for nss-config... /usr/bin/nss-config >checking for NSS - version >= 3.13.2... yes >checking for YASM assembler... checking for yasm... no >checking for jpeg_destroy_compress in -ljpeg... yes >checking for gzread in -lz... yes >checking for png_get_valid in -lpng... yes >checking for png_get_acTL in -lpng... yes >checking for pkg-config... /usr/bin/pkg-config >checking for hunspell... yes >checking MOZ_HUNSPELL_CFLAGS... -I/usr/include/hunspell >checking MOZ_HUNSPELL_LIBS... -lhunspell-1.3 >checking for libffi >= 3.0.9... yes >checking MOZ_FFI_CFLAGS... -I/usr/lib64/libffi-3.0.10/include >checking MOZ_FFI_LIBS... -lffi >checking for application to build... browser >checking if app-specific confvars.sh exists... /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/browser/confvars.sh >checking for gtk+-2.0 >= 2.10.0 gtk+-unix-print-2.0 glib-2.0 gobject-2.0 gdk-x11-2.0... yes >checking MOZ_GTK2_CFLAGS... -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 -I/usr/include/gtk-unix-print-2.0 >checking MOZ_GTK2_LIBS... -pthread -lgtk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lfreetype -lfontconfig -lgdk-x11-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lcairo -lgmodule-2.0 -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0 >checking for pango >= 1.14.0... yes >checking _PANGOCHK_CFLAGS... -pthread -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include >checking _PANGOCHK_LIBS... -pthread -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 >checking for pango >= 1.14.0 pangoft2 >= 1.14.0 pangocairo >= 1.14.0... yes >checking MOZ_PANGO_CFLAGS... -pthread -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libpng15 >checking MOZ_PANGO_LIBS... -pthread -lpangoft2-1.0 -lfreetype -lfontconfig -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 >checking for gtk+-2.0 >= 2.14... yes >checking _GTKCHECK_CFLAGS... -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng15 >checking _GTKCHECK_LIBS... -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 >checking for gio-2.0 >= 2.18... yes >checking MOZ_GIO_CFLAGS... -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include >checking MOZ_GIO_LIBS... -pthread -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 >checking for dbus-1 >= 0.60... yes >checking MOZ_DBUS_CFLAGS... -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include >checking MOZ_DBUS_LIBS... -ldbus-1 -lpthread -lrt >checking for dbus-glib-1 >= 0.60... yes >checking MOZ_DBUS_GLIB_CFLAGS... -pthread -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include >checking MOZ_DBUS_GLIB_LIBS... -pthread -ldbus-glib-1 -ldbus-1 -lpthread -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0 >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/configure: line 17233: test: -eq: unary operator expected >checking __attribute__ ((aligned ())) support... trying 64 >64 >checking for vpx/vpx_decoder.h... yes >checking for vpx_codec_dec_init_ver in -lvpx... yes >checking for libvpx version >= v1.0.0... yes >checking for alsa... yes >checking MOZ_ALSA_CFLAGS... -I/usr/include/alsa >checking MOZ_ALSA_LIBS... -lasound >checking for java... /etc/java-config-2/current-system-vm/bin/java >checking for javac... /etc/java-config-2/current-system-vm/bin/javac >checking for jar... /etc/java-config-2/current-system-vm/bin/jar >checking for tar archiver... checking for gnutar... no >checking for gtar... no >checking for tar... tar >tar >checking for wget... checking for wget... wget >wget >checking for conic... checking for valid optimization flags... yes >checking whether the linker supports Identical Code Folding... no >checking whether removing dead symbols breaks debugging... no >checking size of int *... 8 >checking for __cxa_demangle... yes >checking for unwind.h... yes >checking for _Unwind_Backtrace... yes >checking for -pipe support... yes >checking whether C compiler supports -fprofile-generate... yes >checking for correct overload resolution with const and templates... no >checking what kind of list files are supported by the linker... linkerscript >checking for glib-2.0 >= 1.3.7 gobject-2.0... yes >checking GLIB_CFLAGS... -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include >checking GLIB_LIBS... -pthread -lgobject-2.0 -lgthread-2.0 -lrt -lglib-2.0 >checking for stdint.h... yes >checking for inttypes.h... yes >checking for sys/int_types.h... no >checking for posix_fallocate... yes >checking for GL/glx.h... yes >checking for fontconfig/fcfreetype.h... yes >creating mozilla-config.h >==== mozilla-config.h ================================= >/* List of defines generated by configure. Included with preprocessor flag, > * -include, to avoid long list of -D defines on the compile command-line. > * Do not edit. > */ > >#ifndef _MOZILLA_CONFIG_H_ >#define _MOZILLA_CONFIG_H_ > >#define ACCESSIBILITY 1 >#define ATK_MAJOR_VERSION 2 >#define ATK_MINOR_VERSION 2 >#define ATK_REV_VERSION 0 >#define ATTRIBUTE_ALIGNED_MAX 64 >#define BUILD_CTYPES 1 >#define D_INO d_ino >#define ENABLE_SYSTEM_EXTENSION_DIRS 1 >#define FIREFOX_VERSION 12.0 >#define FUNCPROTO 15 >#define HAVE_64BIT_OS 1 >#define HAVE_DIRENT_H 1 >#define HAVE_DLADDR 1 >#define HAVE_DLOPEN 1 >#define HAVE_FCHMOD 1 >#define HAVE_FLOCKFILE 1 >#define HAVE_FONTCONFIG_FCFREETYPE_H 1 >#define HAVE_FT_BITMAP_SIZE_Y_PPEM 1 >#define HAVE_FT_GLYPHSLOT_EMBOLDEN 1 >#define HAVE_FT_LOAD_SFNT_TABLE 1 >#define HAVE_FT_SELECT_SIZE 1 >#define HAVE_GETOPT_H 1 >#define HAVE_GNU_GET_LIBC_VERSION 1 >#define HAVE_GNU_LIBC_VERSION_H 1 >#define HAVE_I18N_LC_MESSAGES 1 >#define HAVE_INTTYPES_H 1 >#define HAVE_ISATTY 1 >#define HAVE_JEMALLOC_MEMALIGN 1 >#define HAVE_JEMALLOC_POSIX_MEMALIGN 1 >#define HAVE_JEMALLOC_VALLOC 1 >#define HAVE_LANGINFO_CODESET 1 >#define HAVE_LCHOWN 1 >#define HAVE_LIBPNG 1 >#define HAVE_LIBXSS 1 >#define HAVE_LINUX_QUOTA_H 1 >#define HAVE_LOCALECONV 1 >#define HAVE_LOCALTIME_R 1 >#define HAVE_LSTAT64 1 >#define HAVE_MALLOC_H 1 >#define HAVE_MEMALIGN 1 >#define HAVE_MEMMEM 1 >#define HAVE_MEMMOVE 1 >#define HAVE_MEMORY_H 1 >#define HAVE_NL_TYPES_H 1 >#define HAVE_POSIX_FALLOCATE 1 >#define HAVE_POSIX_MEMALIGN 1 >#define HAVE_RANDOM 1 >#define HAVE_RES_NINIT 1 >#define HAVE_SETBUF 1 >#define HAVE_SIGINFO_T 1 >#define HAVE_SNPRINTF 1 >#define HAVE_SSIZE_T 1 >#define HAVE_STAT64 1 >#define HAVE_STDINT_H 1 >#define HAVE_STRERROR 1 >#define HAVE_STRNDUP 1 >#define HAVE_STRTOK_R 1 >#define HAVE_ST_BLKSIZE 1 >#define HAVE_SYS_BITYPES_H 1 >#define HAVE_SYS_CDEFS_H 1 >#define HAVE_SYS_QUOTA_H 1 >#define HAVE_SYS_STATFS_H 1 >#define HAVE_SYS_STATVFS_H 1 >#define HAVE_SYS_SYSMACROS_H 1 >#define HAVE_THREAD_TLS_KEYWORD 1 >#define HAVE_TRUNCATE64 1 >#define HAVE_UINT 1 >#define HAVE_UINT64_T 1 >#define HAVE_UNAME_DOMAINNAME_FIELD 1 >#define HAVE_UNISTD_H 1 >#define HAVE_VALLOC 1 >#define HAVE_VA_COPY 1 >#define HAVE_VISIBILITY_ATTRIBUTE 1 >#define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1 >#define HAVE_X11_XKBLIB_H 1 >#define HAVE__UNWIND_BACKTRACE 1 >#define HAVE___CXA_DEMANGLE 1 >#define IBMBIDI 1 >#define JSGC_INCREMENTAL 1 >#define JS_DEFAULT_JITREPORT_GRANULARITY 3 >#define MALLOC_H <malloc.h> >#define MOZILLA_UAVERSION "12.0" >#define MOZILLA_VERSION "12.0" >#define MOZILLA_VERSION_U 12.0 >#define MOZ_ACCESSIBILITY_ATK 1 >#define MOZ_APP_UA_NAME "" >#define MOZ_APP_UA_VERSION "12.0" >#define MOZ_BUILD_APP browser >#define MOZ_CRASHREPORTER_ENABLE_PERCENT 100 >#define MOZ_DEBUG_SYMBOLS 1 >#define MOZ_DEFAULT_MOZILLA_FIVE_HOME "/usr/lib64/firefox" >#define MOZ_DISTRIBUTION_ID "org.mozilla" >#define MOZ_DLL_SUFFIX ".so" >#define MOZ_ENABLE_DBUS 1 >#define MOZ_ENABLE_GIO 1 >#define MOZ_ENABLE_SKIA 1 >#define MOZ_ENABLE_XREMOTE 1 >#define MOZ_FEEDS 1 >#define MOZ_GRAPHITE 1 >#define MOZ_INSTRUMENT_EVENT_LOOP 1 >#define MOZ_LOGGING 1 >#define MOZ_MEDIA 1 >#define MOZ_MEMORY 1 >#define MOZ_MEMORY_LINUX 1 >#define MOZ_MEMORY_SIZEOF_PTR_2POW 3 >#define MOZ_NATIVE_LIBVPX 1 >#define MOZ_OFFICIAL_BRANDING 1 >#define MOZ_OGG 1 >#define MOZ_OMNIJAR 1 >#define MOZ_PANGO 1 >#define MOZ_PDF_PRINTING 1 >#define MOZ_PHOENIX 1 >#define MOZ_PLACES 1 >#define MOZ_SAFE_BROWSING 1 >#define MOZ_SERVICES_SYNC 1 >#define MOZ_STATIC_JS 1 >#define MOZ_SYDNEYAUDIO 1 >#define MOZ_TREE_CAIRO 1 >#define MOZ_TREE_PIXMAN 1 >#define MOZ_UA_BUILDID "20100101" >#define MOZ_UA_FIREFOX_VERSION "12.0" >#define MOZ_UPDATE_CHANNEL default >#define MOZ_URL_CLASSIFIER 1 >#define MOZ_USER_DIR ".mozilla" >#define MOZ_VORBIS 1 >#define MOZ_WAVE 1 >#define MOZ_WEBM 1 >#define MOZ_WIDGET_GTK2 1 >#define MOZ_X11 1 >#define MOZ_XTF 1 >#define MOZ_XUL 1 >#define NS_ALWAYS_INLINE __attribute__((always_inline)) >#define NS_ATTR_MALLOC __attribute__((malloc)) >#define NS_PRINTING 1 >#define NS_PRINT_PREVIEW 1 >#define NS_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) >#define SIZEOF_INT_P 8 >#define STDC_HEADERS 1 >#define UNIX_ASYNC_DNS 1 >#define VA_COPY va_copy >#define XP_UNIX 1 >#define _REENTRANT 1 > >/* The c99 defining the limit macros (UINT32_MAX for example), says: > * C++ implementations should define these macros only when __STDC_LIMIT_MACROS > * is defined before <stdint.h> is included. */ >#define __STDC_LIMIT_MACROS > >/* Force-include hunspell_alloc_hooks.h for hunspell, so that we don't need to > * modify it directly. > * > * HUNSPELL_STATIC is defined in extensions/spellcheck/hunspell/src/Makefile.in, > * unless --enable-system-hunspell is defined. > */ >#if defined(HUNSPELL_STATIC) >#include "hunspell_alloc_hooks.h" >#endif > >#endif /* _MOZILLA_CONFIG_H_ */ > >Creating directory build >Creating directory build/pgo >Creating directory build/pgo/blueprint >Creating directory build/pgo/js-input >Creating directory config >Creating directory config/nspr >Creating directory config/tests/src-simple >Creating directory probes >Creating directory extensions >Creating directory memory/mozalloc >Creating directory mozglue >Creating directory mozglue/build >Creating directory memory/jemalloc >Creating directory build/unix >Creating directory browser >Creating directory browser/app >Creating directory browser/app/profile/extensions >Creating directory browser/base >Creating directory browser/components >Creating directory browser/components/about >Creating directory browser/components/build >Creating directory browser/components/certerror >Creating directory browser/components/dirprovider >Creating directory browser/components/feeds >Creating directory browser/components/feeds/public >Creating directory browser/components/feeds/src >Creating directory browser/components/migration >Creating directory browser/components/migration/public >Creating directory browser/components/migration/src >Creating directory browser/components/places >Creating directory browser/components/places/src >Creating directory browser/components/preferences >Creating directory browser/components/privatebrowsing >Creating directory browser/components/privatebrowsing/src >Creating directory browser/components/search >Creating directory browser/components/sessionstore >Creating directory browser/components/sessionstore/src >Creating directory browser/components/sidebar >Creating directory browser/components/shell >Creating directory browser/components/shell/public >Creating directory browser/components/shell/src >Creating directory browser/components/tabview >Creating directory browser/devtools >Creating directory browser/devtools/highlighter >Creating directory browser/devtools/scratchpad >Creating directory browser/devtools/shared >Creating directory browser/devtools/sourceeditor >Creating directory browser/devtools/styleeditor >Creating directory browser/devtools/styleinspector >Creating directory browser/devtools/webconsole >Creating directory browser/fuel >Creating directory browser/fuel/public >Creating directory browser/fuel/src >Creating directory browser/installer >Creating directory browser/locales >Creating directory browser/modules >Creating directory browser/themes >Creating directory browser/branding/official >Creating directory browser/branding/official/content >Creating directory browser/branding/official/locales >Creating directory browser/components/safebrowsing >Creating directory browser/themes/gnomestripe >Creating directory browser/themes/gnomestripe/communicator >Creating directory ipc >Creating directory ipc/app >Creating directory ipc/chromium >Creating directory ipc/glue >Creating directory ipc/ipdl >Creating directory ipc/testshell >Creating directory dom >Creating directory dom/interfaces/apps >Creating directory dom/interfaces/base >Creating directory dom/interfaces/canvas >Creating directory dom/interfaces/core >Creating directory dom/interfaces/css >Creating directory dom/interfaces/events >Creating directory dom/interfaces/geolocation >Creating directory dom/interfaces/html >Creating directory dom/interfaces/json >Creating directory dom/interfaces/load-save >Creating directory dom/interfaces/offline >Creating directory dom/interfaces/notification >Creating directory dom/interfaces/range >Creating directory dom/interfaces/sidebar >Creating directory dom/interfaces/storage >Creating directory dom/interfaces/stylesheets >Creating directory dom/interfaces/svg >Creating directory dom/interfaces/traversal >Creating directory dom/interfaces/xbl >Creating directory dom/interfaces/xpath >Creating directory dom/interfaces/xul >Creating directory dom/ipc >Creating directory dom/base >Creating directory dom/battery >Creating directory dom/indexedDB >Creating directory dom/sms >Creating directory dom/sms/interfaces >Creating directory dom/sms/src >Creating directory dom/src >Creating directory dom/src/events >Creating directory dom/src/jsurl >Creating directory dom/src/geolocation >Creating directory dom/src/json >Creating directory dom/src/offline >Creating directory dom/src/notification >Creating directory dom/src/storage >Creating directory dom/system >Creating directory dom/workers >Creating directory dom/locales >Creating directory dom/plugins/base >Creating directory dom/plugins/ipc >Creating directory editor >Creating directory editor/public >Creating directory editor/idl >Creating directory editor/txmgr >Creating directory editor/txmgr/idl >Creating directory editor/txmgr/public >Creating directory editor/txmgr/src >Creating directory editor/txtsvc >Creating directory editor/txtsvc/public >Creating directory editor/txtsvc/src >Creating directory editor/composer >Creating directory editor/composer/public >Creating directory editor/composer/src >Creating directory editor/libeditor >Creating directory editor/libeditor/base >Creating directory editor/libeditor/html >Creating directory editor/libeditor/text >Creating directory parser >Creating directory parser/html >Creating directory parser/htmlparser >Creating directory parser/htmlparser/public >Creating directory parser/htmlparser/src >Creating directory parser/expat >Creating directory parser/expat/lib >Creating directory parser/xml >Creating directory parser/xml/public >Creating directory parser/xml/src >Creating directory gfx >Creating directory gfx/2d >Creating directory gfx/angle >Creating directory gfx/gl >Creating directory gfx/harfbuzz/src >Creating directory gfx/ipc >Creating directory gfx/layers >Creating directory gfx/ots/src >Creating directory gfx/src >Creating directory gfx/thebes >Creating directory gfx/qcms >Creating directory gfx/ycbcr >Creating directory intl >Creating directory intl/build >Creating directory intl/chardet >Creating directory intl/chardet/public >Creating directory intl/chardet/src >Creating directory intl/hyphenation >Creating directory intl/hyphenation/public >Creating directory intl/hyphenation/src >Creating directory intl/uconv >Creating directory intl/uconv/idl >Creating directory intl/uconv/util >Creating directory intl/uconv/public >Creating directory intl/uconv/src >Creating directory intl/uconv/ucvja >Creating directory intl/uconv/ucvlatin >Creating directory intl/uconv/ucvcn >Creating directory intl/uconv/ucvtw >Creating directory intl/uconv/ucvtw2 >Creating directory intl/uconv/ucvko >Creating directory intl/uconv/ucvibm >Creating directory intl/locale >Creating directory intl/locale/public >Creating directory intl/locale/idl >Creating directory intl/locale/src >Creating directory intl/locales >Creating directory intl/lwbrk >Creating directory intl/lwbrk/idl >Creating directory intl/lwbrk/src >Creating directory intl/lwbrk/public >Creating directory intl/unicharutil >Creating directory intl/unicharutil/util >Creating directory intl/unicharutil/util/internal >Creating directory intl/unicharutil/idl >Creating directory intl/unicharutil/src >Creating directory intl/unicharutil/public >Creating directory intl/unicharutil/tables >Creating directory intl/strres >Creating directory intl/strres/public >Creating directory intl/strres/src >Creating directory js/xpconnect >Creating directory js/xpconnect/public >Creating directory js/xpconnect/idl >Creating directory js/xpconnect/shell >Creating directory js/xpconnect/src >Creating directory js/xpconnect/loader >Creating directory js/xpconnect/wrappers >Creating directory js/ipc >Creating directory toolkit/components/reflect >Creating directory js/ductwork/debugger >Creating directory content >Creating directory content/base >Creating directory content/base/public >Creating directory content/base/src >Creating directory content/canvas >Creating directory content/canvas/public >Creating directory content/canvas/src >Creating directory content/events >Creating directory content/events/public >Creating directory content/events/src >Creating directory content/html >Creating directory content/html/content >Creating directory content/html/content/public >Creating directory content/html/content/src >Creating directory content/html/document >Creating directory content/html/document/public >Creating directory content/html/document/src >Creating directory content/svg >Creating directory content/svg/document/src >Creating directory content/svg/content >Creating directory content/svg/content/src >Creating directory content/xml >Creating directory content/xml/content/src >Creating directory content/xml/document >Creating directory content/xml/document/public >Creating directory content/xml/document/resources >Creating directory content/xml/document/src >Creating directory content/xul >Creating directory content/xul/content >Creating directory content/xul/content/public >Creating directory content/xul/content/src >Creating directory content/xul/document >Creating directory content/xul/document/public >Creating directory content/xul/document/src >Creating directory content/xbl >Creating directory content/xbl/public >Creating directory content/xbl/src >Creating directory content/xbl/builtin >Creating directory content/xslt >Creating directory content/xslt/public >Creating directory content/xslt/src >Creating directory content/xslt/src/base >Creating directory content/xslt/src/xml >Creating directory content/xslt/src/xpath >Creating directory content/xslt/src/xslt >Creating directory content/smil >Creating directory dom/interfaces/smil >Creating directory layout >Creating directory layout/base >Creating directory layout/build >Creating directory layout/forms >Creating directory layout/generic >Creating directory layout/ipc >Creating directory layout/inspector/public >Creating directory layout/inspector/src >Creating directory layout/style >Creating directory layout/style/xbl-marquee >Creating directory layout/tables >Creating directory layout/svg/base/src >Creating directory layout/xul/base/public >Creating directory layout/xul/base/src >Creating directory modules/libjar >Creating directory modules/libpref >Creating directory modules/libpref/public >Creating directory modules/libpref/src >Creating directory content/mathml/content/src >Creating directory layout/mathml >Creating directory netwerk >Creating directory netwerk/base >Creating directory netwerk/base/public >Creating directory netwerk/base/src >Creating directory netwerk/build >Creating directory netwerk/cache >Creating directory netwerk/cookie >Creating directory netwerk/dns >Creating directory netwerk/ipc >Creating directory netwerk/protocol >Creating directory netwerk/protocol/about >Creating directory netwerk/protocol/data >Creating directory netwerk/protocol/device >Creating directory netwerk/protocol/file >Creating directory netwerk/protocol/ftp >Creating directory netwerk/protocol/http >Creating directory netwerk/protocol/res >Creating directory netwerk/protocol/viewsource >Creating directory netwerk/protocol/websocket >Creating directory netwerk/protocol/wyciwyg >Creating directory netwerk/mime >Creating directory netwerk/socket >Creating directory netwerk/streamconv >Creating directory netwerk/streamconv/converters >Creating directory netwerk/streamconv/public >Creating directory netwerk/streamconv/src >Creating directory netwerk/locales >Creating directory netwerk/system >Creating directory storage >Creating directory storage/public >Creating directory storage/src >Creating directory storage/build >Creating directory uriloader >Creating directory uriloader/base >Creating directory uriloader/exthandler >Creating directory uriloader/prefetch >Creating directory profile >Creating directory profile/public >Creating directory profile/dirserviceprovider >Creating directory profile/dirserviceprovider/public >Creating directory profile/dirserviceprovider/src >Creating directory profile/dirserviceprovider/standalone >Creating directory rdf >Creating directory rdf/base >Creating directory rdf/base/idl >Creating directory rdf/base/public >Creating directory rdf/base/src >Creating directory rdf/util >Creating directory rdf/util/public >Creating directory rdf/util/src >Creating directory rdf/util/src/internal >Creating directory rdf/build >Creating directory rdf/datasource >Creating directory rdf/datasource/public >Creating directory rdf/datasource/src >Creating directory caps >Creating directory caps/idl >Creating directory caps/include >Creating directory caps/src >Creating directory chrome >Creating directory chrome/public >Creating directory chrome/src >Creating directory view >Creating directory view/public >Creating directory view/src >Creating directory docshell >Creating directory docshell/base >Creating directory docshell/resources/content >Creating directory docshell/shistory >Creating directory docshell/shistory/public >Creating directory docshell/shistory/src >Creating directory docshell/build >Creating directory widget >Creating directory widget/shared >Creating directory widget/xpwidgets >Creating directory xpcom/string >Creating directory xpcom/string/public >Creating directory xpcom/string/src >Creating directory xpcom/base >Creating directory xpcom/build >Creating directory xpcom/components >Creating directory xpcom/ds >Creating directory xpcom/glue >Creating directory xpcom/glue/nomozalloc >Creating directory xpcom/glue/standalone >Creating directory xpcom/io >Creating directory xpcom/typelib >Creating directory xpcom/reflect >Creating directory xpcom/typelib/xpt >Creating directory xpcom/typelib/xpt/public >Creating directory xpcom/typelib/xpt/src >Creating directory xpcom/typelib/xpt/tools >Creating directory xpcom/typelib/xpidl >Creating directory xpcom/reflect/xptcall >Creating directory xpcom/reflect/xptcall/public >Creating directory xpcom/reflect/xptcall/src >Creating directory xpcom/reflect/xptcall/src/md >Creating directory xpcom/reflect/xptinfo >Creating directory xpcom/reflect/xptinfo/public >Creating directory xpcom/reflect/xptinfo/src >Creating directory xpcom/threads >Creating directory xpcom/stub >Creating directory xpcom/system >Creating directory xpcom/idl-parser >Creating directory xpfe/components >Creating directory xpfe/components/directory >Creating directory xpfe/components/windowds >Creating directory xpfe/components/build >Creating directory xpfe/appshell >Creating directory xpfe/appshell/src >Creating directory xpfe/appshell/public >Creating directory embedding >Creating directory embedding/base >Creating directory embedding/browser >Creating directory embedding/browser/build >Creating directory embedding/browser/webBrowser >Creating directory embedding/components >Creating directory embedding/components/appstartup/src >Creating directory embedding/components/build >Creating directory embedding/components/commandhandler >Creating directory embedding/components/commandhandler/public >Creating directory embedding/components/commandhandler/src >Creating directory embedding/components/find >Creating directory embedding/components/find/public >Creating directory embedding/components/find/src >Creating directory embedding/components/webbrowserpersist >Creating directory embedding/components/webbrowserpersist/public >Creating directory embedding/components/webbrowserpersist/src >Creating directory embedding/components/windowwatcher >Creating directory embedding/components/windowwatcher/public >Creating directory embedding/components/windowwatcher/src >Creating directory toolkit/library >Creating directory toolkit/crashreporter/client >Creating directory toolkit/content >Creating directory toolkit/components/aboutmemory >Creating directory toolkit/components/alerts >Creating directory toolkit/components/apppicker >Creating directory toolkit/components/build >Creating directory toolkit/components/commandlines >Creating directory toolkit/components/console >Creating directory toolkit/components/contentprefs >Creating directory toolkit/components/cookie >Creating directory toolkit/components/downloads >Creating directory toolkit/components/exthelper >Creating directory toolkit/components/filepicker >Creating directory toolkit/components/find >Creating directory toolkit/components/intl >Creating directory toolkit/components/maintenanceservice >Creating directory toolkit/components/microformats >Creating directory toolkit/components/parentalcontrols >Creating directory toolkit/components/passwordmgr >Creating directory toolkit/components/perf >Creating directory toolkit/components/places >Creating directory toolkit/components/prompts >Creating directory toolkit/components/prompts/src >Creating directory toolkit/components/startup >Creating directory toolkit/components/startup/public >Creating directory toolkit/components/statusfilter >Creating directory toolkit/components/telemetry >Creating directory toolkit/components/typeaheadfind >Creating directory toolkit/components/urlformatter >Creating directory toolkit/components/viewconfig >Creating directory toolkit/components/viewsource >Creating directory toolkit/locales >Creating directory toolkit/mozapps/downloads >Creating directory toolkit/mozapps/extensions >Creating directory toolkit/mozapps/handling >Creating directory toolkit/mozapps/plugins >Creating directory toolkit/mozapps/preferences >Creating directory toolkit/mozapps/shared >Creating directory toolkit/mozapps/update >Creating directory toolkit/obsolete >Creating directory toolkit/profile >Creating directory toolkit/themes >Creating directory toolkit/xre >Creating directory image >Creating directory image/build >Creating directory image/public >Creating directory image/src >Creating directory image/decoders >Creating directory image/decoders/icon >Creating directory image/encoders >Creating directory image/encoders/bmp >Creating directory image/encoders/ico >Creating directory image/encoders/jpeg >Creating directory image/encoders/png >Creating directory startupcache >Creating directory hal >Creating directory security/manager/boot/public >Creating directory security/manager/ssl/public >Creating directory tools/profiler >Creating directory other-licenses/snappy >Creating directory image/decoders/icon/gtk >Creating directory widget/gtk2 >Creating directory toolkit/themes/winstripe >Creating directory toolkit/themes/winstripe/global >Creating directory toolkit/themes/winstripe/mozapps >Creating directory content/xbl/builtin/unix >Creating directory dom/system/unix >Creating directory toolkit/system/unixproxy >Creating directory toolkit/themes/gnomestripe >Creating directory toolkit/themes/gnomestripe/global >Creating directory toolkit/themes/gnomestripe/mozapps >Creating directory xpcom/reflect/xptcall/src/md/unix >Creating directory intl/locale/src/unix >Creating directory accessible >Creating directory accessible/build >Creating directory accessible/public >Creating directory accessible/src >Creating directory accessible/src/base >Creating directory accessible/src/html >Creating directory accessible/src/xpcom >Creating directory accessible/src/xforms >Creating directory accessible/src/xul >Creating directory accessible/src/atk >Creating directory toolkit/components/ctypes >Creating directory toolkit/system/gnome >Creating directory gfx/skia >Creating directory toolkit/components/remote >Creating directory widget/xremoteclient >Creating directory toolkit/components/feeds >Creating directory js/jsd >Creating directory js/jsd/idl >Creating directory db/sqlite3/src >Creating directory extensions/cookie >Creating directory extensions/permissions >Creating directory extensions/pref >Creating directory extensions/pref/autoconfig >Creating directory extensions/pref/autoconfig/public >Creating directory extensions/pref/autoconfig/src >Creating directory extensions/spellcheck >Creating directory extensions/spellcheck/hunspell >Creating directory extensions/spellcheck/hunspell/src >Creating directory extensions/spellcheck/idl >Creating directory extensions/spellcheck/locales >Creating directory extensions/spellcheck/src >Creating directory toolkit/components/search >Creating directory toolkit/components/url-classifier >Creating directory widget/shared/x11 >Creating directory widget/gtkxtbin >Creating directory content/xul/templates >Creating directory content/xul/templates/public >Creating directory content/xul/templates/src >Creating directory layout/xul/base/src/grid >Creating directory layout/xul/base/src/tree/public >Creating directory layout/xul/base/src/tree/src >Creating directory toolkit/components/autocomplete >Creating directory toolkit/components/satchel >Creating directory layout/printing >Creating directory toolkit/components/printing >Creating directory embedding/components/printingui/src >Creating directory embedding/components/printingui/src/unixshared >Creating directory modules/libjar/zipwriter >Creating directory modules/libjar/zipwriter/public >Creating directory modules/libjar/zipwriter/src >Creating directory gfx/cairo >Creating directory gfx/cairo/cairo/src >Creating directory gfx/cairo/libpixman/src >Creating directory extensions/universalchardet >Creating directory extensions/universalchardet/src >Creating directory extensions/universalchardet/src/base >Creating directory extensions/universalchardet/src/xpcom >Creating directory extensions/auth >Creating directory security/manager/boot/src >Creating directory security/manager/ssl/src >Creating directory security/manager/pki >Creating directory security/manager/pki/resources >Creating directory security/manager/pki/src >Creating directory security/manager/pki/public >Creating directory security/manager/locales >Creating directory content/xtf >Creating directory content/xtf/public >Creating directory content/xtf/src >Creating directory content/media >Creating directory media/libvorbis >Creating directory media/libvorbis/lib >Creating directory media/libvorbis/include >Creating directory media/libvorbis/include/vorbis >Creating directory content/media/ogg >Creating directory media/libogg >Creating directory media/libogg/src >Creating directory media/libogg/include >Creating directory media/libogg/include/ogg >Creating directory media/libtheora >Creating directory media/libtheora/lib >Creating directory media/libtheora/include >Creating directory media/libtheora/include/theora >Creating directory content/media/webm >Creating directory media/libnestegg >Creating directory media/libnestegg/include >Creating directory media/libnestegg/src >Creating directory content/media/wave >Creating directory media/libsydneyaudio >Creating directory media/libsydneyaudio/include >Creating directory media/libsydneyaudio/src >Creating directory services >Creating directory services/crypto >Creating directory services/crypto/component >Creating directory services/sync >Creating directory services/sync/locales >creating Makefile >creating build/Makefile >creating build/pgo/Makefile >creating build/pgo/blueprint/Makefile >creating build/pgo/js-input/Makefile >creating config/Makefile >creating config/nspr/Makefile >creating config/tests/src-simple/Makefile >creating probes/Makefile >creating extensions/Makefile >creating memory/mozalloc/Makefile >creating mozglue/Makefile >creating mozglue/build/Makefile >creating memory/jemalloc/Makefile >creating build/unix/Makefile >creating browser/Makefile >creating browser/app/Makefile >creating browser/app/profile/extensions/Makefile >creating browser/base/Makefile >creating browser/components/Makefile >creating browser/components/about/Makefile >creating browser/components/build/Makefile >creating browser/components/certerror/Makefile >creating browser/components/dirprovider/Makefile >creating browser/components/feeds/Makefile >creating browser/components/feeds/public/Makefile >creating browser/components/feeds/src/Makefile >creating browser/components/migration/Makefile >creating browser/components/migration/public/Makefile >creating browser/components/migration/src/Makefile >creating browser/components/places/Makefile >creating browser/components/places/src/Makefile >creating browser/components/preferences/Makefile >creating browser/components/privatebrowsing/Makefile >creating browser/components/privatebrowsing/src/Makefile >creating browser/components/search/Makefile >creating browser/components/sessionstore/Makefile >creating browser/components/sessionstore/src/Makefile >creating browser/components/sidebar/Makefile >creating browser/components/shell/Makefile >creating browser/components/shell/public/Makefile >creating browser/components/shell/src/Makefile >creating browser/components/tabview/Makefile >creating browser/devtools/Makefile >creating browser/devtools/highlighter/Makefile >creating browser/devtools/scratchpad/Makefile >creating browser/devtools/shared/Makefile >creating browser/devtools/sourceeditor/Makefile >creating browser/devtools/styleeditor/Makefile >creating browser/devtools/styleinspector/Makefile >creating browser/devtools/webconsole/Makefile >creating browser/fuel/Makefile >creating browser/fuel/public/Makefile >creating browser/fuel/src/Makefile >creating browser/installer/Makefile >creating browser/locales/Makefile >creating browser/modules/Makefile >creating browser/themes/Makefile >creating browser/branding/official/Makefile >creating browser/branding/official/content/Makefile >creating browser/branding/official/locales/Makefile >creating browser/components/safebrowsing/Makefile >creating browser/themes/gnomestripe/Makefile >creating browser/themes/gnomestripe/communicator/Makefile >creating ipc/Makefile >creating ipc/app/Makefile >creating ipc/chromium/Makefile >creating ipc/glue/Makefile >creating ipc/ipdl/Makefile >creating ipc/testshell/Makefile >creating dom/Makefile >creating dom/interfaces/apps/Makefile >creating dom/interfaces/base/Makefile >creating dom/interfaces/canvas/Makefile >creating dom/interfaces/core/Makefile >creating dom/interfaces/css/Makefile >creating dom/interfaces/events/Makefile >creating dom/interfaces/geolocation/Makefile >creating dom/interfaces/html/Makefile >creating dom/interfaces/json/Makefile >creating dom/interfaces/load-save/Makefile >creating dom/interfaces/offline/Makefile >creating dom/interfaces/notification/Makefile >creating dom/interfaces/range/Makefile >creating dom/interfaces/sidebar/Makefile >creating dom/interfaces/storage/Makefile >creating dom/interfaces/stylesheets/Makefile >creating dom/interfaces/svg/Makefile >creating dom/interfaces/traversal/Makefile >creating dom/interfaces/xbl/Makefile >creating dom/interfaces/xpath/Makefile >creating dom/interfaces/xul/Makefile >creating dom/ipc/Makefile >creating dom/base/Makefile >creating dom/battery/Makefile >creating dom/indexedDB/Makefile >creating dom/sms/Makefile >creating dom/sms/interfaces/Makefile >creating dom/sms/src/Makefile >creating dom/src/Makefile >creating dom/src/events/Makefile >creating dom/src/jsurl/Makefile >creating dom/src/geolocation/Makefile >creating dom/src/json/Makefile >creating dom/src/offline/Makefile >creating dom/src/notification/Makefile >creating dom/src/storage/Makefile >creating dom/system/Makefile >creating dom/workers/Makefile >creating dom/locales/Makefile >creating dom/plugins/base/Makefile >creating dom/plugins/ipc/Makefile >creating editor/Makefile >creating editor/public/Makefile >creating editor/idl/Makefile >creating editor/txmgr/Makefile >creating editor/txmgr/idl/Makefile >creating editor/txmgr/public/Makefile >creating editor/txmgr/src/Makefile >creating editor/txtsvc/Makefile >creating editor/txtsvc/public/Makefile >creating editor/txtsvc/src/Makefile >creating editor/composer/Makefile >creating editor/composer/public/Makefile >creating editor/composer/src/Makefile >creating editor/libeditor/Makefile >creating editor/libeditor/base/Makefile >creating editor/libeditor/html/Makefile >creating editor/libeditor/text/Makefile >creating parser/Makefile >creating parser/html/Makefile >creating parser/htmlparser/Makefile >creating parser/htmlparser/public/Makefile >creating parser/htmlparser/src/Makefile >creating parser/expat/Makefile >creating parser/expat/lib/Makefile >creating parser/xml/Makefile >creating parser/xml/public/Makefile >creating parser/xml/src/Makefile >creating gfx/Makefile >creating gfx/2d/Makefile >creating gfx/angle/Makefile >creating gfx/gl/Makefile >creating gfx/harfbuzz/src/Makefile >creating gfx/ipc/Makefile >creating gfx/layers/Makefile >creating gfx/ots/src/Makefile >creating gfx/src/Makefile >creating gfx/thebes/Makefile >creating gfx/qcms/Makefile >creating gfx/ycbcr/Makefile >creating intl/Makefile >creating intl/build/Makefile >creating intl/chardet/Makefile >creating intl/chardet/public/Makefile >creating intl/chardet/src/Makefile >creating intl/hyphenation/Makefile >creating intl/hyphenation/public/Makefile >creating intl/hyphenation/src/Makefile >creating intl/uconv/Makefile >creating intl/uconv/idl/Makefile >creating intl/uconv/util/Makefile >creating intl/uconv/public/Makefile >creating intl/uconv/src/Makefile >creating intl/uconv/ucvja/Makefile >creating intl/uconv/ucvlatin/Makefile >creating intl/uconv/ucvcn/Makefile >creating intl/uconv/ucvtw/Makefile >creating intl/uconv/ucvtw2/Makefile >creating intl/uconv/ucvko/Makefile >creating intl/uconv/ucvibm/Makefile >creating intl/locale/Makefile >creating intl/locale/public/Makefile >creating intl/locale/idl/Makefile >creating intl/locale/src/Makefile >creating intl/locales/Makefile >creating intl/lwbrk/Makefile >creating intl/lwbrk/idl/Makefile >creating intl/lwbrk/src/Makefile >creating intl/lwbrk/public/Makefile >creating intl/unicharutil/Makefile >creating intl/unicharutil/util/Makefile >creating intl/unicharutil/util/internal/Makefile >creating intl/unicharutil/idl/Makefile >creating intl/unicharutil/src/Makefile >creating intl/unicharutil/public/Makefile >creating intl/unicharutil/tables/Makefile >creating intl/strres/Makefile >creating intl/strres/public/Makefile >creating intl/strres/src/Makefile >creating js/xpconnect/Makefile >creating js/xpconnect/public/Makefile >creating js/xpconnect/idl/Makefile >creating js/xpconnect/shell/Makefile >creating js/xpconnect/src/Makefile >creating js/xpconnect/loader/Makefile >creating js/xpconnect/wrappers/Makefile >creating js/ipc/Makefile >creating toolkit/components/reflect/Makefile >creating js/ductwork/debugger/Makefile >creating content/Makefile >creating content/base/Makefile >creating content/base/public/Makefile >creating content/base/src/Makefile >creating content/canvas/Makefile >creating content/canvas/public/Makefile >creating content/canvas/src/Makefile >creating content/events/Makefile >creating content/events/public/Makefile >creating content/events/src/Makefile >creating content/html/Makefile >creating content/html/content/Makefile >creating content/html/content/public/Makefile >creating content/html/content/src/Makefile >creating content/html/document/Makefile >creating content/html/document/public/Makefile >creating content/html/document/src/Makefile >creating content/svg/Makefile >creating content/svg/document/src/Makefile >creating content/svg/content/Makefile >creating content/svg/content/src/Makefile >creating content/xml/Makefile >creating content/xml/content/src/Makefile >creating content/xml/document/Makefile >creating content/xml/document/public/Makefile >creating content/xml/document/resources/Makefile >creating content/xml/document/src/Makefile >creating content/xul/Makefile >creating content/xul/content/Makefile >creating content/xul/content/public/Makefile >creating content/xul/content/src/Makefile >creating content/xul/document/Makefile >creating content/xul/document/public/Makefile >creating content/xul/document/src/Makefile >creating content/xbl/Makefile >creating content/xbl/public/Makefile >creating content/xbl/src/Makefile >creating content/xbl/builtin/Makefile >creating content/xslt/Makefile >creating content/xslt/public/Makefile >creating content/xslt/src/Makefile >creating content/xslt/src/base/Makefile >creating content/xslt/src/xml/Makefile >creating content/xslt/src/xpath/Makefile >creating content/xslt/src/xslt/Makefile >creating content/smil/Makefile >creating dom/interfaces/smil/Makefile >creating layout/Makefile >creating layout/base/Makefile >creating layout/build/Makefile >creating layout/forms/Makefile >creating layout/generic/Makefile >creating layout/ipc/Makefile >creating layout/inspector/public/Makefile >creating layout/inspector/src/Makefile >creating layout/style/Makefile >creating layout/style/xbl-marquee/Makefile >creating layout/tables/Makefile >creating layout/svg/base/src/Makefile >creating layout/xul/base/public/Makefile >creating layout/xul/base/src/Makefile >creating modules/libjar/Makefile >creating modules/libpref/Makefile >creating modules/libpref/public/Makefile >creating modules/libpref/src/Makefile >creating content/mathml/content/src/Makefile >creating layout/mathml/Makefile >creating netwerk/Makefile >creating netwerk/base/Makefile >creating netwerk/base/public/Makefile >creating netwerk/base/src/Makefile >creating netwerk/build/Makefile >creating netwerk/cache/Makefile >creating netwerk/cookie/Makefile >creating netwerk/dns/Makefile >creating netwerk/ipc/Makefile >creating netwerk/protocol/Makefile >creating netwerk/protocol/about/Makefile >creating netwerk/protocol/data/Makefile >creating netwerk/protocol/device/Makefile >creating netwerk/protocol/file/Makefile >creating netwerk/protocol/ftp/Makefile >creating netwerk/protocol/http/Makefile >creating netwerk/protocol/res/Makefile >creating netwerk/protocol/viewsource/Makefile >creating netwerk/protocol/websocket/Makefile >creating netwerk/protocol/wyciwyg/Makefile >creating netwerk/mime/Makefile >creating netwerk/socket/Makefile >creating netwerk/streamconv/Makefile >creating netwerk/streamconv/converters/Makefile >creating netwerk/streamconv/public/Makefile >creating netwerk/streamconv/src/Makefile >creating netwerk/locales/Makefile >creating netwerk/system/Makefile >creating storage/Makefile >creating storage/public/Makefile >creating storage/src/Makefile >creating storage/build/Makefile >creating uriloader/Makefile >creating uriloader/base/Makefile >creating uriloader/exthandler/Makefile >creating uriloader/prefetch/Makefile >creating profile/Makefile >creating profile/public/Makefile >creating profile/dirserviceprovider/Makefile >creating profile/dirserviceprovider/public/Makefile >creating profile/dirserviceprovider/src/Makefile >creating profile/dirserviceprovider/standalone/Makefile >creating rdf/Makefile >creating rdf/base/Makefile >creating rdf/base/idl/Makefile >creating rdf/base/public/Makefile >creating rdf/base/src/Makefile >creating rdf/util/Makefile >creating rdf/util/public/Makefile >creating rdf/util/src/Makefile >creating rdf/util/src/internal/Makefile >creating rdf/build/Makefile >creating rdf/datasource/Makefile >creating rdf/datasource/public/Makefile >creating rdf/datasource/src/Makefile >creating caps/Makefile >creating caps/idl/Makefile >creating caps/include/Makefile >creating caps/src/Makefile >creating chrome/Makefile >creating chrome/public/Makefile >creating chrome/src/Makefile >creating view/Makefile >creating view/public/Makefile >creating view/src/Makefile >creating docshell/Makefile >creating docshell/base/Makefile >creating docshell/resources/content/Makefile >creating docshell/shistory/Makefile >creating docshell/shistory/public/Makefile >creating docshell/shistory/src/Makefile >creating docshell/build/Makefile >creating widget/Makefile >creating widget/shared/Makefile >creating widget/xpwidgets/Makefile >creating xpcom/string/Makefile >creating xpcom/string/public/Makefile >creating xpcom/string/src/Makefile >creating xpcom/Makefile >creating xpcom/base/Makefile >creating xpcom/build/Makefile >creating xpcom/components/Makefile >creating xpcom/ds/Makefile >creating xpcom/glue/Makefile >creating xpcom/glue/nomozalloc/Makefile >creating xpcom/glue/standalone/Makefile >creating xpcom/io/Makefile >creating xpcom/typelib/Makefile >creating xpcom/reflect/Makefile >creating xpcom/typelib/xpt/Makefile >creating xpcom/typelib/xpt/public/Makefile >creating xpcom/typelib/xpt/src/Makefile >creating xpcom/typelib/xpt/tools/Makefile >creating xpcom/typelib/xpidl/Makefile >creating xpcom/reflect/xptcall/Makefile >creating xpcom/reflect/xptcall/public/Makefile >creating xpcom/reflect/xptcall/src/Makefile >creating xpcom/reflect/xptcall/src/md/Makefile >creating xpcom/reflect/xptinfo/Makefile >creating xpcom/reflect/xptinfo/public/Makefile >creating xpcom/reflect/xptinfo/src/Makefile >creating xpcom/threads/Makefile >creating xpcom/stub/Makefile >creating xpcom/system/Makefile >creating xpcom/idl-parser/Makefile >creating xpfe/components/Makefile >creating xpfe/components/directory/Makefile >creating xpfe/components/windowds/Makefile >creating xpfe/components/build/Makefile >creating xpfe/appshell/Makefile >creating xpfe/appshell/src/Makefile >creating xpfe/appshell/public/Makefile >creating embedding/Makefile >creating embedding/base/Makefile >creating embedding/browser/Makefile >creating embedding/browser/build/Makefile >creating embedding/browser/webBrowser/Makefile >creating embedding/components/Makefile >creating embedding/components/appstartup/src/Makefile >creating embedding/components/build/Makefile >creating embedding/components/commandhandler/Makefile >creating embedding/components/commandhandler/public/Makefile >creating embedding/components/commandhandler/src/Makefile >creating embedding/components/find/Makefile >creating embedding/components/find/public/Makefile >creating embedding/components/find/src/Makefile >creating embedding/components/webbrowserpersist/Makefile >creating embedding/components/webbrowserpersist/public/Makefile >creating embedding/components/webbrowserpersist/src/Makefile >creating embedding/components/windowwatcher/Makefile >creating embedding/components/windowwatcher/public/Makefile >creating embedding/components/windowwatcher/src/Makefile >creating toolkit/Makefile >creating toolkit/library/Makefile >creating toolkit/crashreporter/client/Makefile >creating toolkit/content/Makefile >creating toolkit/components/aboutmemory/Makefile >creating toolkit/components/alerts/Makefile >creating toolkit/components/apppicker/Makefile >creating toolkit/components/Makefile >creating toolkit/components/build/Makefile >creating toolkit/components/commandlines/Makefile >creating toolkit/components/console/Makefile >creating toolkit/components/contentprefs/Makefile >creating toolkit/components/cookie/Makefile >creating toolkit/components/downloads/Makefile >creating toolkit/components/exthelper/Makefile >creating toolkit/components/filepicker/Makefile >creating toolkit/components/find/Makefile >creating toolkit/components/intl/Makefile >creating toolkit/components/maintenanceservice/Makefile >creating toolkit/components/microformats/Makefile >creating toolkit/components/parentalcontrols/Makefile >creating toolkit/components/passwordmgr/Makefile >creating toolkit/components/perf/Makefile >creating toolkit/components/places/Makefile >creating toolkit/components/prompts/Makefile >creating toolkit/components/prompts/src/Makefile >creating toolkit/components/startup/Makefile >creating toolkit/components/startup/public/Makefile >creating toolkit/components/statusfilter/Makefile >creating toolkit/components/telemetry/Makefile >creating toolkit/components/typeaheadfind/Makefile >creating toolkit/components/urlformatter/Makefile >creating toolkit/components/viewconfig/Makefile >creating toolkit/components/viewsource/Makefile >creating toolkit/locales/Makefile >creating toolkit/mozapps/downloads/Makefile >creating toolkit/mozapps/extensions/Makefile >creating toolkit/mozapps/handling/Makefile >creating toolkit/mozapps/plugins/Makefile >creating toolkit/mozapps/preferences/Makefile >creating toolkit/mozapps/shared/Makefile >creating toolkit/mozapps/update/Makefile >creating toolkit/obsolete/Makefile >creating toolkit/profile/Makefile >creating toolkit/themes/Makefile >creating toolkit/xre/Makefile >creating image/Makefile >creating image/build/Makefile >creating image/public/Makefile >creating image/src/Makefile >creating image/decoders/Makefile >creating image/decoders/icon/Makefile >creating image/encoders/Makefile >creating image/encoders/bmp/Makefile >creating image/encoders/ico/Makefile >creating image/encoders/jpeg/Makefile >creating image/encoders/png/Makefile >creating startupcache/Makefile >creating hal/Makefile >creating security/manager/boot/public/Makefile >creating security/manager/ssl/public/Makefile >creating tools/profiler/Makefile >creating other-licenses/snappy/Makefile >creating image/decoders/icon/gtk/Makefile >creating widget/gtk2/Makefile >creating toolkit/themes/winstripe/Makefile >creating toolkit/themes/winstripe/global/Makefile >creating toolkit/themes/winstripe/mozapps/Makefile >creating content/xbl/builtin/unix/Makefile >creating dom/system/unix/Makefile >creating toolkit/system/unixproxy/Makefile >creating toolkit/themes/gnomestripe/Makefile >creating toolkit/themes/gnomestripe/global/Makefile >creating toolkit/themes/gnomestripe/mozapps/Makefile >creating xpcom/reflect/xptcall/src/md/unix/Makefile >creating intl/locale/src/unix/Makefile >creating accessible/Makefile >creating accessible/build/Makefile >creating accessible/public/Makefile >creating accessible/src/Makefile >creating accessible/src/base/Makefile >creating accessible/src/html/Makefile >creating accessible/src/xpcom/Makefile >creating accessible/src/xforms/Makefile >creating accessible/src/xul/Makefile >creating accessible/src/atk/Makefile >creating toolkit/components/ctypes/Makefile >creating toolkit/system/gnome/Makefile >creating gfx/skia/Makefile >creating toolkit/components/remote/Makefile >creating widget/xremoteclient/Makefile >creating toolkit/components/feeds/Makefile >creating js/jsd/Makefile >creating js/jsd/idl/Makefile >creating db/sqlite3/src/Makefile >creating extensions/cookie/Makefile >creating extensions/permissions/Makefile >creating extensions/pref/Makefile >creating extensions/pref/autoconfig/Makefile >creating extensions/pref/autoconfig/public/Makefile >creating extensions/pref/autoconfig/src/Makefile >creating extensions/spellcheck/Makefile >creating extensions/spellcheck/hunspell/Makefile >creating extensions/spellcheck/hunspell/src/Makefile >creating extensions/spellcheck/idl/Makefile >creating extensions/spellcheck/locales/Makefile >creating extensions/spellcheck/src/Makefile >creating toolkit/components/search/Makefile >creating toolkit/components/url-classifier/Makefile >creating widget/shared/x11/Makefile >creating widget/gtkxtbin/Makefile >creating content/xul/templates/Makefile >creating content/xul/templates/public/Makefile >creating content/xul/templates/src/Makefile >creating layout/xul/base/src/grid/Makefile >creating layout/xul/base/src/tree/public/Makefile >creating layout/xul/base/src/tree/src/Makefile >creating toolkit/components/autocomplete/Makefile >creating toolkit/components/satchel/Makefile >creating layout/printing/Makefile >creating toolkit/components/printing/Makefile >creating embedding/components/printingui/src/Makefile >creating embedding/components/printingui/src/unixshared/Makefile >creating modules/libjar/zipwriter/Makefile >creating modules/libjar/zipwriter/public/Makefile >creating modules/libjar/zipwriter/src/Makefile >creating gfx/cairo/Makefile >creating gfx/cairo/cairo/src/Makefile >creating gfx/cairo/libpixman/src/Makefile >creating extensions/universalchardet/Makefile >creating extensions/universalchardet/src/Makefile >creating extensions/universalchardet/src/base/Makefile >creating extensions/universalchardet/src/xpcom/Makefile >creating extensions/auth/Makefile >creating security/manager/Makefile >creating security/manager/boot/Makefile >creating security/manager/boot/src/Makefile >creating security/manager/ssl/Makefile >creating security/manager/ssl/src/Makefile >creating security/manager/pki/Makefile >creating security/manager/pki/resources/Makefile >creating security/manager/pki/src/Makefile >creating security/manager/pki/public/Makefile >creating security/manager/locales/Makefile >creating content/xtf/Makefile >creating content/xtf/public/Makefile >creating content/xtf/src/Makefile >creating content/media/Makefile >creating media/libvorbis/Makefile >creating media/libvorbis/lib/Makefile >creating media/libvorbis/include/Makefile >creating media/libvorbis/include/vorbis/Makefile >creating content/media/ogg/Makefile >creating media/libogg/Makefile >creating media/libogg/src/Makefile >creating media/libogg/include/Makefile >creating media/libogg/include/ogg/Makefile >creating media/libtheora/Makefile >creating media/libtheora/lib/Makefile >creating media/libtheora/include/Makefile >creating media/libtheora/include/theora/Makefile >creating content/media/webm/Makefile >creating media/libnestegg/Makefile >creating media/libnestegg/include/Makefile >creating media/libnestegg/src/Makefile >creating content/media/wave/Makefile >creating media/libsydneyaudio/Makefile >creating media/libsydneyaudio/include/Makefile >creating media/libsydneyaudio/src/Makefile >creating services/Makefile >creating services/crypto/Makefile >creating services/crypto/component/Makefile >creating services/sync/Makefile >creating services/sync/locales/Makefile >updating cache ./config.cache >creating ./config.status >creating config/autoconf.mk >creating config/doxygen.cfg >creating config/expandlibs_config.py >creating gfx/cairo/cairo/src/cairo-features.h >creating netwerk/necko-config.h >creating xpcom/xpcom-config.h >creating xpcom/xpcom-private.h >configuring in js/src >running /bin/sh /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/configure --enable-application=browser --enable-optimize --with-system-jpeg --with-system-zlib --enable-pango --enable-svg --enable-system-cairo --disable-installer --disable-pedantic --disable-updater --disable-strip --disable-strip-libs --disable-install-strip --enable-single-profile --disable-profilesharing --disable-profilelocking --enable-default-toolkit=cairo-gtk2 --enable-official-branding --enable-ogg --enable-wave --disable-crashreporter --enable-dbus --disable-debug --disable-tests --disable-debugger-info-modules --disable-ipc --disable-libnotify --disable-startup-notification --disable-system-sqlite --disable-necko-wifi --enable-webm --with-system-libvpx=/usr --with-system-nspr --with-nspr-prefix=/usr --with-system-nss --with-nss-prefix=/usr --x-includes=/usr/include --x-libraries=/usr/lib64 --with-system-libevent=/usr --enable-system-hunspell --disable-gnomevfs --disable-gnomeui --enable-gio --enable-storage --enable-places --enable-places_bookmarks --enable-oji --enable-mathml --disable-mochitest --prefix=/usr --libdir=/usr/lib64 --disable-gconf --disable-mailnews --enable-canvas --enable-safe-browsing --with-system-png --enable-system-ffi --disable-system-cairo --with-default-mozilla-five-home=/usr/lib64/firefox --target=powerpc64-unknown-linux-gnu --disable-system-sqlite --enable-extensions=default --enable-threadsafe --enable-ctypes --disable-shared-js --with-dist-dir=../../dist --prefix=/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/dist --with-sync-build-files=/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release --enable-jemalloc --cache-file=../.././config.cache --srcdir=/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src >loading cache ../.././config.cache >checking host system type... powerpc64-unknown-linux-gnu >checking target system type... powerpc64-unknown-linux-gnu >checking build system type... powerpc64-unknown-linux-gnu >checking for gawk... (cached) gawk >checking for perl5... (cached) /usr/bin/perl >checking for gcc... (cached) powerpc64-unknown-linux-gnu-gcc >checking whether the C compiler (powerpc64-unknown-linux-gnu-gcc -pipe -fPIC -mminimal-toc -Wl,-O1 -Wl,--as-needed) works... yes >checking whether the C compiler (powerpc64-unknown-linux-gnu-gcc -pipe -fPIC -mminimal-toc -Wl,-O1 -Wl,--as-needed) is a cross-compiler... no >checking whether we are using GNU C... (cached) yes >checking whether powerpc64-unknown-linux-gnu-gcc accepts -g... (cached) yes >checking for c++... (cached) powerpc64-unknown-linux-gnu-g++ >checking whether the C++ compiler (powerpc64-unknown-linux-gnu-g++ -pipe -fPIC -mminimal-toc -Wl,-O1 -Wl,--as-needed) works... yes >checking whether the C++ compiler (powerpc64-unknown-linux-gnu-g++ -pipe -fPIC -mminimal-toc -Wl,-O1 -Wl,--as-needed) is a cross-compiler... no >checking whether we are using GNU C++... (cached) yes >checking whether powerpc64-unknown-linux-gnu-g++ accepts -g... (cached) yes >checking for ranlib... (cached) ranlib >checking for as... (cached) /usr/bin/as >checking for ar... (cached) ar >checking for ld... (cached) powerpc64-unknown-linux-gnu-ld >checking for strip... (cached) strip >checking for windres... no >checking how to run the C preprocessor... (cached) powerpc64-unknown-linux-gnu-gcc -E >checking how to run the C++ preprocessor... (cached) powerpc64-unknown-linux-gnu-g++ -E >checking for sb-conf... no >checking for ve... no >checking for a BSD compatible install... (cached) /usr/bin/install -c >checking whether ln -s works... (cached) yes >checking for minimum required perl version >= 5.006... 5.012004 >checking for full perl installation... yes >checking for python2.7... (cached) /usr/bin/python2.7 >checking for doxygen... (cached) : >checking for autoconf... (cached) /usr/bin/autoconf >checking for makedepend... (cached) /usr/bin/makedepend >checking for xargs... (cached) /usr/bin/xargs >checking for make... (cached) /usr/bin/make >checking for X... libraries /usr/lib64, headers /usr/include >checking for dnet_ntoa in -ldnet... (cached) no >checking for dnet_ntoa in -ldnet_stub... (cached) no >checking for gethostbyname... (cached) yes >checking for connect... (cached) yes >checking for remove... (cached) yes >checking for shmat... (cached) yes >checking for IceConnectionNumber in -lICE... (cached) yes >checking that static assertion macros used in autoconf tests work... (cached) yes >checking whether the compiler supports -Wno-extended-offsetof... no >checking whether the compiler supports -Wno-invalid-offsetof... yes >checking whether the compiler supports -Wno-variadic-macros... yes >checking whether the compiler supports -Werror=return-type... yes >checking whether ld has archive extraction flags... (cached) yes >checking for 64-bit OS... yes >checking for Python version >= 2.5 but not 3.x... yes >checking for custom <stdint.h> implementation... none specified >checking for ANSI C header files... (cached) yes >checking for working const... (cached) yes >checking for mode_t... (cached) yes >checking for off_t... (cached) yes >checking for pid_t... (cached) yes >checking for size_t... (cached) yes >checking for __stdcall... (cached) no >checking for ssize_t... (cached) yes >checking for st_blksize in struct stat... (cached) yes >checking for siginfo_t... (cached) yes >checking for the size of void*... 8 >checking for the alignment of void*... 8 >checking for the size of double... 8 >checking for endian.h... yes >checking for machine/endian.h... no >checking for sys/isa_defs.h... no >checking for uint... (cached) yes >checking for uint_t... (cached) no >checking for uname.domainname... (cached) yes >checking for uname.__domainname... (cached) no >checking for visibility(hidden) attribute... (cached) yes >checking for visibility(default) attribute... (cached) yes >checking for visibility pragma support... (cached) yes >checking For gcc visibility bug with class-level attributes (GCC bug 26905)... (cached) yes >checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)... (cached) no >checking for gcc PR49911... yes >checking for __force_align_arg_pointer__ attribute... (cached) no >checking for dirent.h that defines DIR... (cached) yes >checking for opendir in -ldir... (cached) no >checking for sys/byteorder.h... (cached) no >checking for compat.h... (cached) no >checking for getopt.h... (cached) yes >checking for sys/bitypes.h... (cached) yes >checking for memory.h... (cached) yes >checking for unistd.h... (cached) yes >checking for gnu/libc-version.h... (cached) yes >checking for nl_types.h... (cached) yes >checking for malloc.h... (cached) yes >checking for X11/XKBlib.h... (cached) yes >checking for io.h... (cached) no >checking for cpuid.h... (cached) no >checking for sys/statvfs.h... (cached) yes >checking for sys/statfs.h... (cached) yes >checking for sys/vfs.h... (cached) yes >checking for sys/mount.h... (cached) yes >checking for sys/quota.h... (cached) yes >checking for linux/quota.h... (cached) yes >checking for mmintrin.h... (cached) no >checking for new... (cached) yes >checking for sys/cdefs.h... (cached) yes >checking for linux/perf_event.h... yes >checking for perf_event_open system call... yes >checking for gethostbyname_r in -lc_r... (cached) no >checking for library containing dlopen... (cached) -ldl >checking for dlfcn.h... (cached) yes >checking for dladdr... (cached) yes >checking for socket in -lsocket... (cached) no >checking for pthread_create in -lpthreads... no >checking for pthread_create in -lpthread... yes >checking whether powerpc64-unknown-linux-gnu-gcc accepts -pthread... yes >checking whether powerpc64-unknown-linux-gnu-gcc needs -traditional... (cached) no >checking for 8-bit clean memcmp... (cached) yes >checking for fchmod... (cached) yes >checking for flockfile... (cached) yes >checking for getc_unlocked... yes >checking for _getc_nolock... no >checking for getpagesize... (cached) yes >checking for lchown... (cached) yes >checking for localtime_r... (cached) yes >checking for lstat64... (cached) yes >checking for memmove... (cached) yes >checking for random... (cached) yes >checking for rint... (cached) no >checking for sbrk... yes >checking for snprintf... (cached) yes >checking for stat64... (cached) yes >checking for statvfs... (cached) yes >checking for statvfs64... (cached) yes >checking for strerror... (cached) yes >checking for strtok_r... (cached) yes >checking for truncate64... (cached) yes >checking for clock_gettime(CLOCK_MONOTONIC) and -lrt... (cached) no >checking for wcrtomb... (cached) yes >checking for mbrtowc... (cached) yes >checking for res_ninit()... (cached) yes >checking for gnu_get_libc_version()... (cached) yes >checking for iconv in -lc... (cached) yes >checking for iconv()... (cached) yes >checking for iconv() with const input... (cached) no >checking for an implementation of va_copy()... (cached) yes >checking for an implementation of __va_copy()... (cached) yes >checking whether va_lists can be copied by value... (cached) yes >checking for modern C++ template specialization syntax support... (cached) yes >checking whether partial template specialization works... (cached) yes >checking whether the C++ "using" keyword resolves ambiguity... (cached) yes >checking for C++ dynamic_cast to void*... (cached) yes >checking whether C++ requires implementation of unused virtual methods... (cached) yes >checking for trouble comparing to zero near std::operator!=()... (cached) no >checking for __thread keyword for TLS variables... (cached) yes >checking for malloc.h... (cached) yes >checking for strndup... (cached) yes >checking for posix_memalign... (cached) yes >checking for memalign... (cached) yes >checking for valloc... (cached) yes >checking for __attribute__((always_inline))... (cached) yes >checking for __attribute__((malloc))... (cached) yes >checking for __attribute__((warn_unused_result))... (cached) yes >checking for LC_MESSAGES... (cached) yes >checking for localeconv... (cached) yes >checking for nspr-config... /usr/bin/nspr-config >checking for NSPR - version >= 4.7.0... yes >checking for pkg-config... (cached) /usr/bin/pkg-config >checking for libffi >= 3.0.9... yes >checking MOZ_FFI_CFLAGS... -I/usr/lib64/libffi-3.0.10/include >checking MOZ_FFI_LIBS... -lffi >checking for valid optimization flags... yes >checking size of int *... (cached) 8 >checking for __cxa_demangle... (cached) yes >checking for unwind.h... (cached) yes >checking for _Unwind_Backtrace... (cached) yes >checking for -pipe support... yes >checking whether C compiler supports -fprofile-generate... yes >checking for correct overload resolution with const and templates... no >checking for tm_zone tm_gmtoff in struct tm... yes >checking what kind of list files are supported by the linker... linkerscript >checking for posix_fallocate... yes >checking for setlocale... yes >checking for localeconv... (cached) yes >creating js-confdefs.h >==== js-confdefs.h ================================= >/* List of defines generated by configure. Included with preprocessor flag, > * -include, to avoid long list of -D defines on the compile command-line. > * Do not edit. > */ > >#ifndef _JS_CONFDEFS_H_ >#define _JS_CONFDEFS_H_ > >#define CPP_THROW_NEW throw() >#define D_INO d_ino >#define EDITLINE 1 >#define HAVE_64BIT_OS 1 >#define HAVE_CPP_AMBIGUITY_RESOLVING_USING 1 >#define HAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR 1 >#define HAVE_CPP_PARTIAL_SPECIALIZATION 1 >#define HAVE_DIRENT_H 1 >#define HAVE_DLADDR 1 >#define HAVE_DLOPEN 1 >#define HAVE_ENDIAN_H 1 >#define HAVE_FCHMOD 1 >#define HAVE_FLOCKFILE 1 >#define HAVE_GETC_UNLOCKED 1 >#define HAVE_GETOPT_H 1 >#define HAVE_GETPAGESIZE 1 >#define HAVE_GNU_GET_LIBC_VERSION 1 >#define HAVE_GNU_LIBC_VERSION_H 1 >#define HAVE_I18N_LC_MESSAGES 1 >#define HAVE_ICONV 1 >#define HAVE_JEMALLOC_MEMALIGN 1 >#define HAVE_JEMALLOC_POSIX_MEMALIGN 1 >#define HAVE_JEMALLOC_VALLOC 1 >#define HAVE_LCHOWN 1 >#define HAVE_LINUX_QUOTA_H 1 >#define HAVE_LOCALECONV 1 >#define HAVE_LOCALECONV 1 >#define HAVE_LOCALTIME_R 1 >#define HAVE_LSTAT64 1 >#define HAVE_MALLOC_H 1 >#define HAVE_MBRTOWC 1 >#define HAVE_MEMALIGN 1 >#define HAVE_MEMMOVE 1 >#define HAVE_MEMORY_H 1 >#define HAVE_NL_TYPES_H 1 >#define HAVE_POSIX_FALLOCATE 1 >#define HAVE_POSIX_MEMALIGN 1 >#define HAVE_RANDOM 1 >#define HAVE_RES_NINIT 1 >#define HAVE_SBRK 1 >#define HAVE_SETLOCALE 1 >#define HAVE_SIGINFO_T 1 >#define HAVE_SNPRINTF 1 >#define HAVE_SSIZE_T 1 >#define HAVE_STAT64 1 >#define HAVE_STATVFS 1 >#define HAVE_STATVFS64 1 >#define HAVE_STRERROR 1 >#define HAVE_STRNDUP 1 >#define HAVE_STRTOK_R 1 >#define HAVE_ST_BLKSIZE 1 >#define HAVE_SYS_BITYPES_H 1 >#define HAVE_SYS_CDEFS_H 1 >#define HAVE_SYS_MOUNT_H 1 >#define HAVE_SYS_QUOTA_H 1 >#define HAVE_SYS_STATFS_H 1 >#define HAVE_SYS_STATVFS_H 1 >#define HAVE_SYS_VFS_H 1 >#define HAVE_THREAD_TLS_KEYWORD 1 >#define HAVE_TM_ZONE_TM_GMTOFF 1 >#define HAVE_TRUNCATE64 1 >#define HAVE_UINT 1 >#define HAVE_UNAME_DOMAINNAME_FIELD 1 >#define HAVE_UNISTD_H 1 >#define HAVE_VALLOC 1 >#define HAVE_VA_COPY 1 >#define HAVE_VISIBILITY_ATTRIBUTE 1 >#define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1 >#define HAVE_WCRTOMB 1 >#define HAVE_X11_XKBLIB_H 1 >#define HAVE__UNWIND_BACKTRACE 1 >#define HAVE___CXA_DEMANGLE 1 >#define JSGC_INCREMENTAL 1 >#define JS_ALIGN_OF_POINTER 8 >#define JS_BITS_PER_WORD_LOG2 6 >#define JS_BYTES_PER_DOUBLE 8 >#define JS_BYTES_PER_WORD 8 >#define JS_DEFAULT_JITREPORT_GRANULARITY 3 >#define JS_HAS_CTYPES 1 >#define JS_HAVE_ENDIAN_H 1 >#define JS_THREADSAFE 1 >#define MALLOC_H <malloc.h> >#define MOZ_DEBUG_SYMBOLS 1 >#define MOZ_DLL_SUFFIX ".so" >#define MOZ_MEMORY 1 >#define MOZ_MEMORY_LINUX 1 >#define MOZ_MEMORY_SIZEOF_PTR_2POW 3 >#define NEED_CPP_UNUSED_IMPLEMENTATIONS 1 >#define NEW_H <new> >#define NS_ALWAYS_INLINE __attribute__((always_inline)) >#define NS_ATTR_MALLOC __attribute__((malloc)) >#define NS_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) >#define SIZEOF_INT_P 8 >#define STATIC_EXPORTABLE_JS_API 1 >#define STDC_HEADERS 1 >#define UNIX_ASYNC_DNS 1 >#define VA_COPY va_copy >#define XP_UNIX 1 >#define _REENTRANT 1 > >/* The c99 defining the limit macros (UINT32_MAX for example), says: > * C++ implementations should define these macros only when __STDC_LIMIT_MACROS > * is defined before <stdint.h> is included. */ >#define __STDC_LIMIT_MACROS > >#endif /* _JS_CONFDEFS_H_ */ > >Creating directory shell >Creating directory config >Creating directory editline >creating Makefile >creating shell/Makefile >creating config/Makefile >creating editline/Makefile >updating cache ../.././config.cache >creating ./config.status >creating config/autoconf.mk >creating config/expandlibs_config.py >creating js-config.h >invoking make to create js-config script >make[3]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src' >rm -f js-config.tmp >sed < /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/js-config.in > js-config.tmp \ >-e 's|@prefix@|/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/dist|' \ >-e 's|@exec_prefix@|/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/dist|' \ >-e 's|@includedir@|/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/dist/include|' \ >-e 's|@libdir@|/usr/lib64|' \ >-e 's|@MOZILLA_VERSION@||' \ >-e 's|@LIBRARY_NAME@|mozjs|' \ >-e 's|@NSPR_CFLAGS@|-I/usr/include/nspr|' \ >-e 's|@JS_CONFIG_LIBS@|-lffi -Wl,-R/usr/lib64 -L/usr/lib64 -lplds4 -lplc4 -lnspr4 -lpthread -ldl -ldl -lm -ldl |' \ >-e 's|@MOZ_JS_LIBS@|-L/usr/lib64 -lmozjs|' \ >&& mv js-config.tmp js-config && chmod +x js-config >make[3]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src' >make[2]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release' >TEST-PASS | check-sync-dirs.py | /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/config <= /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config >make -j4 -C obj-powerpc64-unknown-linux-gnu >make[2]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[2]: warning: -jN forced in submake: disabling jobserver mode. >rm -f -r ./dist/sdk >rm -f -r ./dist/include >rm -f -r ./dist/private >rm -f -r ./dist/public >rm -f -r ./dist/bin/components >rm -f -r _tests >make tier_base >make[3]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >tier_base: config build probes mfbt memory/jemalloc mozglue memory/mozalloc >make export_tier_base >make[4]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >export_tier_base >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[5]: `config/Makefile' is up to date. >make[5]: `build/Makefile' is up to date. >make[5]: `probes/Makefile' is up to date. >/usr/bin/perl /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/autoconf/make-makefile -t /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release -d . mfbt/Makefile >make[5]: `memory/jemalloc/Makefile' is up to date. >make[5]: `mozglue/Makefile' is up to date. >make[5]: `memory/mozalloc/Makefile' is up to date. >creating mfbt/Makefile >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make -C config export >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config' >nsinstall.c >powerpc64-unknown-linux-gnu-gcc -o host_nsinstall.o -c -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-statement -Wcast-align -W -pipe -fPIC -mminimal-toc -fno-strict-aliasing -fno-tree-vrp -pthread -ffunction-sections -fdata-sections -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer -DXP_UNIX -O3 -DUNICODE -D_UNICODE -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config -I. -I../dist/include -I../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nss -I/usr/include/nspr /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/nsinstall.c >pathsub.c >powerpc64-unknown-linux-gnu-gcc -o host_pathsub.o -c -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-statement -Wcast-align -W -pipe -fPIC -mminimal-toc -fno-strict-aliasing -fno-tree-vrp -pthread -ffunction-sections -fdata-sections -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer -DXP_UNIX -O3 -DUNICODE -D_UNICODE -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config -I. -I../dist/include -I../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nss -I/usr/include/nspr /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/pathsub.c >powerpc64-unknown-linux-gnu-gcc -o nsinstall -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-statement -Wcast-align -W -pipe -fPIC -mminimal-toc -fno-strict-aliasing -fno-tree-vrp -pthread -ffunction-sections -fdata-sections -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer -DXP_UNIX -O3 -DUNICODE -D_UNICODE -lpthread -Wl,-O1 -Wl,--as-needed -Wl,-rpath-link,/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/dist/bin -Wl,-rpath-link,/usr/lib host_nsinstall.o host_pathsub.o >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R -m 644 ../mozilla-config.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/nsStaticComponents.h ../dist/include >rm -f ../config/final-link-comps ../config/final-link-libs ../config/final-link-comp-names >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R nsinstall ../dist/bin >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/toolkit/xre/make-platformini.py --print-buildid > buildid >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config' >make -C build export >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build' >make -C unix export >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/unix' >make[6]: Nothing to be done for `export'. >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/unix' >make -C pgo export >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/Preprocessor.py -DGRE_MILESTONE=12.0 -DAPP_BUILDID=20120509210040 -DMOZ_APP_VERSION="12.0" -DMOZ_APP_BASENAME="Firefox" -DMOZ_APP_VENDOR="Mozilla" -DMOZ_APP_ID="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" -DMAR_CHANNEL_ID="firefox-mozilla-release" -DACCEPTED_MAR_CHANNEL_IDS="firefox-mozilla-release" -DMOZ_PROFILE_MIGRATOR -DMOZ_EXTENSION_MANAGER -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/application.ini.in > application.ini >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo' >make -C blueprint export >make[7]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/blueprint' >make[7]: Nothing to be done for `export'. >make[7]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/blueprint' >make -C js-input export >make[7]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/js-input' >make[7]: Nothing to be done for `export'. >make[7]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/js-input' >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo' >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/appini_header.py application.ini > application.ini.h >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build' >make -C probes export >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/probes' >make[5]: Nothing to be done for `export'. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/probes' >make -C mfbt export >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mfbt' >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R -m 644 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/mfbt/Assertions.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/mfbt/Attributes.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/mfbt/GuardObjects.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/mfbt/LinkedList.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/mfbt/MSStdInt.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/mfbt/RangedPtr.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/mfbt/RefPtr.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/mfbt/StdInt.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/mfbt/Types.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/mfbt/Util.h ../dist/include/mozilla >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mfbt' >make -C memory/jemalloc export >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/jemalloc' >mkdir -p /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/jemalloc/.deps >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R -m 644 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc_types.h ../../dist/include >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/jemalloc' >make -C mozglue export >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue' >make -C build export >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue/build' >make[6]: Nothing to be done for `export'. >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue/build' >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue' >make -C memory/mozalloc export >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/mozalloc' >mkdir -p /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/mozalloc/.deps >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R -m 644 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc/mozalloc.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc/mozalloc_abort.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc/mozalloc_macro_wrappers.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc/mozalloc_oom.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc/mozalloc_undef_macro_wrappers.h ../../dist/include/mozilla >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/mozalloc' >make[4]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make libs_tier_base >make[4]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >libs_tier_base >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[5]: `config/Makefile' is up to date. >make[5]: `build/Makefile' is up to date. >make[5]: `probes/Makefile' is up to date. >make[5]: `mfbt/Makefile' is up to date. >make[5]: `memory/jemalloc/Makefile' is up to date. >make[5]: `mozglue/Makefile' is up to date. >make[5]: `memory/mozalloc/Makefile' is up to date. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make -C config libs >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config' >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R -m 755 nsinstall ../dist/host/bin >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config' >make -C build libs >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build' >make -C unix libs >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/Preprocessor.py -DGRE_MILESTONE=12.0 -DAPP_BUILDID=20120509210040 -DMOZ_APP_VERSION="12.0" -DMOZ_APP_BASENAME="Firefox" -DMOZ_APP_VENDOR="Mozilla" -DMOZ_APP_ID="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" -DMAR_CHANNEL_ID="firefox-mozilla-release" -DACCEPTED_MAR_CHANNEL_IDS="firefox-mozilla-release" -DMOZ_PROFILE_MIGRATOR -DMOZ_EXTENSION_MANAGER -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/update-settings.ini.in > update-settings.ini >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/unix' >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/unix/run-mozilla.sh ../../dist/bin >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/unix' >make -C pgo libs >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/Preprocessor.py \ >-DBROWSER_PATH=\"../dist/bin/firefox-bin\" -DXPC_BIN_PATH=\"/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/dist/bin\" -DBIN_SUFFIX=\"\" -DPROFILE_DIR=\"../_profile/pgo\" -DCERTS_SRC_DIR=\"/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/certs\" -DPERL="\"/usr/bin/perl\"" -DIS_MAC=0 -DIS_LINUX=1 -DIS_CAMINO=0 -DIS_TEST_BUILD=0 -DIS_DEBUG_BUILD=0 -DCRASHREPORTER=0 -DGRE_MILESTONE=12.0 -DAPP_BUILDID=20120509210040 -DMOZ_APP_VERSION="12.0" -DMOZ_APP_BASENAME="Firefox" -DMOZ_APP_VENDOR="Mozilla" -DMOZ_APP_ID="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" -DMAR_CHANNEL_ID="firefox-mozilla-release" -DACCEPTED_MAR_CHANNEL_IDS="firefox-mozilla-release" -DMOZ_PROFILE_MIGRATOR -DMOZ_EXTENSION_MANAGER -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -DHAVE_64BIT_OS=1 -DMOZILLA_VERSION=\"12.0\" -DMOZILLA_VERSION_U=12.0 -DMOZILLA_UAVERSION=\"12.0\" -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_SSIZE_T=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_UINT=1 -DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_QUOTA_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_LINUX_QUOTA_H=1 -DHAVE_SYS_CDEFS_H=1 -DHAVE_DLOPEN=1 -DHAVE_DLADDR=1 -DHAVE_MEMMEM=1 -DFUNCPROTO=15 -DHAVE_LIBXSS=1 -DHAVE_FT_BITMAP_SIZE_Y_PPEM=1 -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 -DHAVE_FT_LOAD_SFNT_TABLE=1 -DHAVE_FT_SELECT_SIZE=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_TRUNCATE64=1 -DHAVE_SETBUF=1 -DHAVE_ISATTY=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_RES_NINIT=1 -DHAVE_GNU_GET_LIBC_VERSION=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_THREAD_TLS_KEYWORD=1 -DMALLOC_H=\<malloc.h\> -DHAVE_STRNDUP=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_MEMALIGN=1 -DHAVE_VALLOC=1 -DHAVE_I18N_LC_MESSAGES=1 -DHAVE_LOCALECONV=1 -DNS_ALWAYS_INLINE=__attribute__\(\(always_inline\)\) -DNS_ATTR_MALLOC=__attribute__\(\(malloc\)\) -DNS_WARN_UNUSED_RESULT=__attribute__\(\(warn_unused_result\)\) -DHAVE_LIBPNG=1 -DMOZ_PHOENIX=1 -DMOZ_BUILD_APP=browser -DMOZ_X11=1 -DMOZ_WIDGET_GTK2=1 -DMOZ_PDF_PRINTING=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_INSTRUMENT_EVENT_LOOP=1 -DMOZ_OFFICIAL_BRANDING=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_PANGO=1 -DMOZ_ENABLE_GIO=1 -DMOZ_ENABLE_DBUS=1 -DIBMBIDI=1 -DACCESSIBILITY=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_OGG=1 -DATTRIBUTE_ALIGNED_MAX=64 -DMOZ_WEBM=1 -DMOZ_NATIVE_LIBVPX=1 -DMOZ_WAVE=1 -DMOZ_SYDNEYAUDIO=1 -DMOZ_MEDIA=1 -DMOZ_VORBIS=1 -DMOZ_XTF=1 -DENABLE_SYSTEM_EXTENSION_DIRS=1 -DMOZ_CRASHREPORTER_ENABLE_PERCENT=100 -DMOZ_UPDATE_CHANNEL=default -DMOZ_FEEDS=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1 -DMOZ_DEBUG_SYMBOLS=1 -DMOZ_LOGGING=1 -DSIZEOF_INT_P=8 -DMOZ_MEMORY_SIZEOF_PTR_2POW=3 -DMOZ_MEMORY=1 -DMOZ_MEMORY_LINUX=1 -DHAVE_JEMALLOC_VALLOC=1 -DHAVE_JEMALLOC_POSIX_MEMALIGN=1 -DHAVE_JEMALLOC_MEMALIGN=1 -DJSGC_INCREMENTAL=1 -DHAVE___CXA_DEMANGLE=1 -DHAVE__UNWIND_BACKTRACE=1 -DJS_DEFAULT_JITREPORT_GRANULARITY=3 -DMOZ_OMNIJAR=1 -DMOZ_DEFAULT_MOZILLA_FIVE_HOME=\"/usr/lib64/firefox\" -DMOZ_USER_DIR=\".mozilla\" -DMOZ_STATIC_JS=1 -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DMOZ_TREE_CAIRO=1 -DHAVE_UINT64_T=1 -DMOZ_TREE_PIXMAN=1 -DMOZ_GRAPHITE=1 -DMOZ_ENABLE_SKIA=1 -DMOZ_XUL=1 -DBUILD_CTYPES=1 -DMOZ_PLACES=1 -DMOZ_SERVICES_SYNC=1 -DMOZ_APP_UA_NAME=\"\" -DMOZ_APP_UA_VERSION=\"12.0\" -DMOZ_UA_FIREFOX_VERSION=\"12.0\" -DFIREFOX_VERSION=12.0 -DMOZ_UA_BUILDID=\"20100101\" -DMOZ_DLL_SUFFIX=\".so\" -DHAVE_POSIX_FALLOCATE=1 -DHAVE_FONTCONFIG_FCFREETYPE_H=1 -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=2 -DATK_MINOR_VERSION=2 -DATK_REV_VERSION=0 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/automation.py.in > automation.py >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo' >make -C blueprint libs >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/Preprocessor.py /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/leaktest.py.in > leaktest.py >make[7]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/blueprint' >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/sample.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/elements.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/forms.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/grid.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/test.jpg /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/test-small.jpg /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/valid.png /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/screen.css /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/print.css /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/grid.png /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/fancytype-screen.css ../../../_profile/pgo/blueprint >make[7]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/blueprint' >make -C js-input libs >make[7]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/js-input' >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/3d-cube.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/3d-morph.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/3d-raytrace.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/3d-thingy.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/access-binary-trees.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/access-fannkuch.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/access-nbody.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/access-nsieve.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/bitops-3bit-bits-in-byte.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/bitops-bits-in-byte.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/bitops-bitwise-and.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/bitops-nsieve-bits.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/controlflow-recursive.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/crypto-aes.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/crypto-md5.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/crypto-sha1.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/crypto-otp.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/date-format-tofte.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/date-format-xparb.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/math-cordic.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/math-partial-sums.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/math-spectral-norm.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/regexp-dna.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/string-base64.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/string-fasta.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/string-tagcloud.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/string-unpack-code.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/string-validate-input.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/key.gif /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/js-input/valid-xhtml10.png ../../../_profile/pgo/js-input >make[7]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/js-input' >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/Preprocessor.py \ >-DBROWSER_PATH=\"../../dist/firefox/firefox-bin\" -DXPC_BIN_PATH=\"/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/dist/bin\" -DBIN_SUFFIX=\"\" -DPROFILE_DIR=\"../../_profile/pgo\" -DCERTS_SRC_DIR=\"/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/certs\" -DPERL="\"/usr/bin/perl\"" -DIS_MAC=0 -DIS_LINUX=1 -DIS_CAMINO=0 -DIS_TEST_BUILD=0 -DIS_DEBUG_BUILD=0 -DCRASHREPORTER=0 -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -DHAVE_64BIT_OS=1 -DMOZILLA_VERSION=\"12.0\" -DMOZILLA_VERSION_U=12.0 -DMOZILLA_UAVERSION=\"12.0\" -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_SSIZE_T=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_UINT=1 -DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_QUOTA_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_LINUX_QUOTA_H=1 -DHAVE_SYS_CDEFS_H=1 -DHAVE_DLOPEN=1 -DHAVE_DLADDR=1 -DHAVE_MEMMEM=1 -DFUNCPROTO=15 -DHAVE_LIBXSS=1 -DHAVE_FT_BITMAP_SIZE_Y_PPEM=1 -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 -DHAVE_FT_LOAD_SFNT_TABLE=1 -DHAVE_FT_SELECT_SIZE=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_TRUNCATE64=1 -DHAVE_SETBUF=1 -DHAVE_ISATTY=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_RES_NINIT=1 -DHAVE_GNU_GET_LIBC_VERSION=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_THREAD_TLS_KEYWORD=1 -DMALLOC_H=\<malloc.h\> -DHAVE_STRNDUP=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_MEMALIGN=1 -DHAVE_VALLOC=1 -DHAVE_I18N_LC_MESSAGES=1 -DHAVE_LOCALECONV=1 -DNS_ALWAYS_INLINE=__attribute__\(\(always_inline\)\) -DNS_ATTR_MALLOC=__attribute__\(\(malloc\)\) -DNS_WARN_UNUSED_RESULT=__attribute__\(\(warn_unused_result\)\) -DHAVE_LIBPNG=1 -DMOZ_PHOENIX=1 -DMOZ_BUILD_APP=browser -DMOZ_X11=1 -DMOZ_WIDGET_GTK2=1 -DMOZ_PDF_PRINTING=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_INSTRUMENT_EVENT_LOOP=1 -DMOZ_OFFICIAL_BRANDING=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_PANGO=1 -DMOZ_ENABLE_GIO=1 -DMOZ_ENABLE_DBUS=1 -DIBMBIDI=1 -DACCESSIBILITY=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_OGG=1 -DATTRIBUTE_ALIGNED_MAX=64 -DMOZ_WEBM=1 -DMOZ_NATIVE_LIBVPX=1 -DMOZ_WAVE=1 -DMOZ_SYDNEYAUDIO=1 -DMOZ_MEDIA=1 -DMOZ_VORBIS=1 -DMOZ_XTF=1 -DENABLE_SYSTEM_EXTENSION_DIRS=1 -DMOZ_CRASHREPORTER_ENABLE_PERCENT=100 -DMOZ_UPDATE_CHANNEL=default -DMOZ_FEEDS=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1 -DMOZ_DEBUG_SYMBOLS=1 -DMOZ_LOGGING=1 -DSIZEOF_INT_P=8 -DMOZ_MEMORY_SIZEOF_PTR_2POW=3 -DMOZ_MEMORY=1 -DMOZ_MEMORY_LINUX=1 -DHAVE_JEMALLOC_VALLOC=1 -DHAVE_JEMALLOC_POSIX_MEMALIGN=1 -DHAVE_JEMALLOC_MEMALIGN=1 -DJSGC_INCREMENTAL=1 -DHAVE___CXA_DEMANGLE=1 -DHAVE__UNWIND_BACKTRACE=1 -DJS_DEFAULT_JITREPORT_GRANULARITY=3 -DMOZ_OMNIJAR=1 -DMOZ_DEFAULT_MOZILLA_FIVE_HOME=\"/usr/lib64/firefox\" -DMOZ_USER_DIR=\".mozilla\" -DMOZ_STATIC_JS=1 -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DMOZ_TREE_CAIRO=1 -DHAVE_UINT64_T=1 -DMOZ_TREE_PIXMAN=1 -DMOZ_GRAPHITE=1 -DMOZ_ENABLE_SKIA=1 -DMOZ_XUL=1 -DBUILD_CTYPES=1 -DMOZ_PLACES=1 -DMOZ_SERVICES_SYNC=1 -DMOZ_APP_UA_NAME=\"\" -DMOZ_APP_UA_VERSION=\"12.0\" -DMOZ_UA_FIREFOX_VERSION=\"12.0\" -DFIREFOX_VERSION=12.0 -DMOZ_UA_BUILDID=\"20100101\" -DMOZ_DLL_SUFFIX=\".so\" -DHAVE_POSIX_FALLOCATE=1 -DHAVE_FONTCONFIG_FCFREETYPE_H=1 -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=2 -DATK_MINOR_VERSION=2 -DATK_REV_VERSION=0 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/automation.py.in > automation.py >chmod +x leaktest.py >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/Preprocessor.py \ >-DBROWSER_PATH=\"../../dist/firefox/firefox-bin\" -DXPC_BIN_PATH=\"/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/dist/bin\" -DBIN_SUFFIX=\"\" -DPROFILE_DIR=\"../../_profile/pgo\" -DCERTS_SRC_DIR=\"/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/certs\" -DPERL="\"/usr/bin/perl\"" -DIS_MAC=0 -DIS_LINUX=1 -DIS_CAMINO=0 -DIS_TEST_BUILD=0 -DIS_DEBUG_BUILD=0 -DCRASHREPORTER=0 -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -DHAVE_64BIT_OS=1 -DMOZILLA_VERSION=\"12.0\" -DMOZILLA_VERSION_U=12.0 -DMOZILLA_UAVERSION=\"12.0\" -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_SSIZE_T=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_UINT=1 -DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_SYS_QUOTA_H=1 -DHAVE_SYS_SYSMACROS_H=1 -DHAVE_LINUX_QUOTA_H=1 -DHAVE_SYS_CDEFS_H=1 -DHAVE_DLOPEN=1 -DHAVE_DLADDR=1 -DHAVE_MEMMEM=1 -DFUNCPROTO=15 -DHAVE_LIBXSS=1 -DHAVE_FT_BITMAP_SIZE_Y_PPEM=1 -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 -DHAVE_FT_LOAD_SFNT_TABLE=1 -DHAVE_FT_SELECT_SIZE=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_TRUNCATE64=1 -DHAVE_SETBUF=1 -DHAVE_ISATTY=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_RES_NINIT=1 -DHAVE_GNU_GET_LIBC_VERSION=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_THREAD_TLS_KEYWORD=1 -DMALLOC_H=\<malloc.h\> -DHAVE_STRNDUP=1 -DHAVE_POSIX_MEMALIGN=1 -DHAVE_MEMALIGN=1 -DHAVE_VALLOC=1 -DHAVE_I18N_LC_MESSAGES=1 -DHAVE_LOCALECONV=1 -DNS_ALWAYS_INLINE=__attribute__\(\(always_inline\)\) -DNS_ATTR_MALLOC=__attribute__\(\(malloc\)\) -DNS_WARN_UNUSED_RESULT=__attribute__\(\(warn_unused_result\)\) -DHAVE_LIBPNG=1 -DMOZ_PHOENIX=1 -DMOZ_BUILD_APP=browser -DMOZ_X11=1 -DMOZ_WIDGET_GTK2=1 -DMOZ_PDF_PRINTING=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_INSTRUMENT_EVENT_LOOP=1 -DMOZ_OFFICIAL_BRANDING=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_PANGO=1 -DMOZ_ENABLE_GIO=1 -DMOZ_ENABLE_DBUS=1 -DIBMBIDI=1 -DACCESSIBILITY=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_OGG=1 -DATTRIBUTE_ALIGNED_MAX=64 -DMOZ_WEBM=1 -DMOZ_NATIVE_LIBVPX=1 -DMOZ_WAVE=1 -DMOZ_SYDNEYAUDIO=1 -DMOZ_MEDIA=1 -DMOZ_VORBIS=1 -DMOZ_XTF=1 -DENABLE_SYSTEM_EXTENSION_DIRS=1 -DMOZ_CRASHREPORTER_ENABLE_PERCENT=100 -DMOZ_UPDATE_CHANNEL=default -DMOZ_FEEDS=1 -DMOZ_SAFE_BROWSING=1 -DMOZ_URL_CLASSIFIER=1 -DMOZ_DEBUG_SYMBOLS=1 -DMOZ_LOGGING=1 -DSIZEOF_INT_P=8 -DMOZ_MEMORY_SIZEOF_PTR_2POW=3 -DMOZ_MEMORY=1 -DMOZ_MEMORY_LINUX=1 -DHAVE_JEMALLOC_VALLOC=1 -DHAVE_JEMALLOC_POSIX_MEMALIGN=1 -DHAVE_JEMALLOC_MEMALIGN=1 -DJSGC_INCREMENTAL=1 -DHAVE___CXA_DEMANGLE=1 -DHAVE__UNWIND_BACKTRACE=1 -DJS_DEFAULT_JITREPORT_GRANULARITY=3 -DMOZ_OMNIJAR=1 -DMOZ_DEFAULT_MOZILLA_FIVE_HOME=\"/usr/lib64/firefox\" -DMOZ_USER_DIR=\".mozilla\" -DMOZ_STATIC_JS=1 -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DMOZ_TREE_CAIRO=1 -DHAVE_UINT64_T=1 -DMOZ_TREE_PIXMAN=1 -DMOZ_GRAPHITE=1 -DMOZ_ENABLE_SKIA=1 -DMOZ_XUL=1 -DBUILD_CTYPES=1 -DMOZ_PLACES=1 -DMOZ_SERVICES_SYNC=1 -DMOZ_APP_UA_NAME=\"\" -DMOZ_APP_UA_VERSION=\"12.0\" -DMOZ_UA_FIREFOX_VERSION=\"12.0\" -DFIREFOX_VERSION=12.0 -DMOZ_UA_BUILDID=\"20100101\" -DMOZ_DLL_SUFFIX=\".so\" -DHAVE_POSIX_FALLOCATE=1 -DHAVE_FONTCONFIG_FCFREETYPE_H=1 -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=2 -DATK_MINOR_VERSION=2 -DATK_REV_VERSION=0 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/genpgocert.py.in > genpgocert.py >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R automation.py /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/automationutils.py /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/profileserver.py genpgocert.py /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/index.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/server-locations.txt /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/favicon.ico ../../_profile/pgo >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo' >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R automation.py /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/automationutils.py leaktest.py /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/bloatcycle.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/server-locations.txt /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/favicon.ico /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/sample.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/elements.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/forms.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/grid.html /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/test.jpg /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/test-small.jpg /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/valid.png /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/screen.css /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/print.css /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/grid.png /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/build/pgo/blueprint/fancytype-screen.css ../_leaktest >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build' >make -C probes libs >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/probes' >make[5]: Nothing to be done for `libs'. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/probes' >make -C mfbt libs >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mfbt' >make[5]: Nothing to be done for `libs'. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mfbt' >make -C memory/jemalloc libs >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/jemalloc' >jemalloc.c >powerpc64-unknown-linux-gnu-gcc -o jemalloc.o -c -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc -I. -I../../dist/include -I../../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nss -fPIC -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-statement -Wcast-align -W -pipe -fPIC -mminimal-toc -fno-strict-aliasing -fno-tree-vrp -pthread -ffunction-sections -fdata-sections -pipe -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -finline-limit=50 -fomit-frame-pointer -include ../../mozilla-config.h -DMOZILLA_CLIENT -MD -MF .deps/jemalloc.pp /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc.c >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc.c: In function 'pages_map_align': >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc.c:2339:3: warning: pointer of type 'void *' used in arithmetic >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc.c:2339:3: warning: pointer of type 'void *' used in arithmetic >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc.c: In function 'wrtmessage': >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc.c:1533:8: warning: ignoring return value of 'write', declared with attribute warn_unused_result >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc.c:1534:8: warning: ignoring return value of 'write', declared with attribute warn_unused_result >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc.c:1535:8: warning: ignoring return value of 'write', declared with attribute warn_unused_result >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/jemalloc/jemalloc.c:1536:8: warning: ignoring return value of 'write', declared with attribute warn_unused_result >rm -f libjemalloc.a >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/pythonpath.py -I../../config /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/expandlibs_gen.py jemalloc.o > libjemalloc.a.desc >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/jemalloc' >make -C mozglue libs >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue' >make -C build libs >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue/build' >rm -f libmozglue.a libmozglue.a.desc >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/pythonpath.py -I../../config /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/expandlibs_exec.py --extract -- ar cr libmozglue.a ../../memory/jemalloc/libjemalloc.a >ranlib libmozglue.a >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/pythonpath.py -I../../config /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/expandlibs_gen.py ../../memory/jemalloc/libjemalloc.a > libmozglue.a.desc >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R -m 644 libmozglue.a libmozglue.a.desc ../../dist/lib >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue/build' >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue' >make -C memory/mozalloc libs >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/mozalloc' >mozalloc.cpp >mozalloc_abort.cpp >powerpc64-unknown-linux-gnu-g++ -o mozalloc.o -c -DXP_LINUX -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -I../../xpcom -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc -I. -I../../dist/include -I../../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nss -fPIC -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-exceptions -fno-strict-aliasing -std=gnu++0x -fno-tree-vrp -pthread -ffunction-sections -fdata-sections -pipe -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MF .deps/mozalloc.pp /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc/mozalloc.cpp >powerpc64-unknown-linux-gnu-g++ -o mozalloc_abort.o -c -DXP_LINUX -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -I../../xpcom -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc -I. -I../../dist/include -I../../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nss -fPIC -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-exceptions -fno-strict-aliasing -std=gnu++0x -fno-tree-vrp -pthread -ffunction-sections -fdata-sections -pipe -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MF .deps/mozalloc_abort.pp /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc/mozalloc_abort.cpp >mozalloc_oom.cpp >powerpc64-unknown-linux-gnu-g++ -o mozalloc_oom.o -c -DXP_LINUX -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -I../../xpcom -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc -I. -I../../dist/include -I../../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nss -fPIC -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-exceptions -fno-strict-aliasing -std=gnu++0x -fno-tree-vrp -pthread -ffunction-sections -fdata-sections -pipe -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DMOZILLA_CLIENT -include ../../mozilla-config.h -MD -MF .deps/mozalloc_oom.pp /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/memory/mozalloc/mozalloc_oom.cpp >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -D ../../dist/sdk/lib >rm -f libmozalloc.so >/usr/bin/python2.7 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/pythonpath.py -I../../config /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/config/expandlibs_exec.py --uselist -- powerpc64-unknown-linux-gnu-g++ -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-exceptions -fno-strict-aliasing -std=gnu++0x -fno-tree-vrp -pthread -ffunction-sections -fdata-sections -pipe -DNDEBUG -DTRIMMED -g -Os -freorder-blocks -finline-limit=50 -fomit-frame-pointer -fPIC -shared -Wl,-z,defs -Wl,--gc-sections -Wl,-h,libmozalloc.so -o libmozalloc.so mozalloc.o mozalloc_abort.o mozalloc_oom.o -lpthread -Wl,-O1 -Wl,--as-needed -Wl,-rpath-link,/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/dist/bin -Wl,-rpath-link,/usr/lib -ldl >chmod +x libmozalloc.so >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R -m 755 libmozalloc.so ../../dist/lib >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R -m 755 libmozalloc.so ../../dist/bin >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config/nsinstall -R -m 755 libmozalloc.so ../../dist/sdk/lib >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/mozalloc' >make[4]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make tools_tier_base >make[4]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >tools_tier_base >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[5]: `config/Makefile' is up to date. >make[5]: `build/Makefile' is up to date. >make[5]: `probes/Makefile' is up to date. >make[5]: `mfbt/Makefile' is up to date. >make[5]: `memory/jemalloc/Makefile' is up to date. >make[5]: `mozglue/Makefile' is up to date. >make[5]: `memory/mozalloc/Makefile' is up to date. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make -C config tools >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config' >make[5]: Nothing to be done for `tools'. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/config' >make -C build tools >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build' >make -C unix tools >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/unix' >make[6]: Nothing to be done for `tools'. >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/unix' >make -C pgo tools >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo' >make -C blueprint tools >make[7]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/blueprint' >make[7]: Nothing to be done for `tools'. >make[7]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/blueprint' >make -C js-input tools >make[7]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/js-input' >make[7]: Nothing to be done for `tools'. >make[7]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo/js-input' >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build/pgo' >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/build' >make -C probes tools >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/probes' >make[5]: Nothing to be done for `tools'. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/probes' >make -C mfbt tools >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mfbt' >make[5]: Nothing to be done for `tools'. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mfbt' >make -C memory/jemalloc tools >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/jemalloc' >make[5]: Nothing to be done for `tools'. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/jemalloc' >make -C mozglue tools >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue' >make -C build tools >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue/build' >make[6]: Nothing to be done for `tools'. >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue/build' >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/mozglue' >make -C memory/mozalloc tools >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/mozalloc' >make[5]: Nothing to be done for `tools'. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/memory/mozalloc' >make[4]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[3]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make tier_nspr >make[3]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >tier_nspr: >make export_tier_nspr >make[4]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >export_tier_nspr >make[4]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make libs_tier_nspr >make[4]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >libs_tier_nspr >make[4]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make tools_tier_nspr >make[4]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >tools_tier_nspr >make[4]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[3]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make tier_js >make[3]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >tier_js: js/src >make export_tier_js >make[4]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >export_tier_js >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[5]: `js/src/Makefile' is up to date. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make -C js/src export >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src' >make -C config/ nsinstall >mkdir -p /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/.deps >jskwgen.cpp >powerpc64-unknown-linux-gnu-g++ -o host_jskwgen.o -c -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -I/usr/lib64/libffi-3.0.10/include -I. -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/include/nspr -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/assembler -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/yarr -I/usr/include/nspr /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jskwgen.cpp >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config' >nsinstall.c >powerpc64-unknown-linux-gnu-gcc -o host_nsinstall.o -c -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer -DXP_UNIX -O3 -DUNICODE -D_UNICODE -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/config -I. -I../../../dist/include -I../../../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nspr /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/config/nsinstall.c >pathsub.c >powerpc64-unknown-linux-gnu-gcc -o host_pathsub.o -c -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer -DXP_UNIX -O3 -DUNICODE -D_UNICODE -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/config -I. -I../../../dist/include -I../../../dist/include/nsprpub -I/usr/include/nspr -I/usr/include/nspr /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/config/pathsub.c >powerpc64-unknown-linux-gnu-g++ -o host_jskwgen -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -I/usr/lib64/libffi-3.0.10/include -I. -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/include/nspr -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/assembler -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/yarr host_jskwgen.o >./host_jskwgen /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/jsautokw.h >powerpc64-unknown-linux-gnu-gcc -o nsinstall -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -fomit-frame-pointer -DXP_UNIX -O3 -DUNICODE -D_UNICODE -lpthread -Wl,-O1 -Wl,--as-needed -Wl,-rpath-link,../../../dist/bin -Wl,-rpath-link,/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/dist/lib host_nsinstall.o host_pathsub.o >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config' >make -C config export >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config' >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config/nsinstall -R nsinstall ../../../dist/bin >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config' >make -C editline export >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/editline' >mkdir -p /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/editline/.deps >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/editline' >make -C shell export >make[6]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/shell' >mkdir -p /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/shell/.deps >make[6]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/shell' >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config/nsinstall -R -m 644 js-config.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jscpucfg.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/jsautokw.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/js.msg /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsalloc.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsapi.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsatom.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsclass.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsclist.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsclone.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jscompat.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsdbgapi.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsdhash.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsfriendapi.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsgc.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jscell.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsgcchunk.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsgcstats.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jshash.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jslock.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/json.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsopcode.tbl /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsopcode.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsproxy.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsprf.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsproto.tbl /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsprvtd.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jspubtd.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsstdint.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jstypedarray.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jstypes.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsutil.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsversion.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jswrapper.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsxdrapi.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsval.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/perf/jsperf.h ./../../dist/include >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config/nsinstall -R -m 644 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/vm/String.h ./../../dist/include/vm >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config/nsinstall -R -m 644 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/ds/BitArray.h ./../../dist/include/ds >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config/nsinstall -R -m 644 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/gc/Statistics.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/gc/Barrier.h ./../../dist/include/gc >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config/nsinstall -R -m 644 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../public/HashTable.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../public/LegacyIntTypes.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../public/MemoryMetrics.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../public/TemplateLib.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../public/Utility.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../public/Vector.h ./../../dist/include/js >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/config/nsinstall -R -m 644 /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../../mfbt/Assertions.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../../mfbt/Attributes.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../../mfbt/GuardObjects.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../../mfbt/LinkedList.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../../mfbt/MSStdInt.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../../mfbt/RangedPtr.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../../mfbt/RefPtr.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../../mfbt/StdInt.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../../mfbt/Types.h /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/../../mfbt/Util.h ./../../dist/include/mozilla >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src' >make[4]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make libs_tier_js >make[4]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >libs_tier_js >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[5]: `js/src/Makefile' is up to date. >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make -C js/src libs >make[5]: Entering directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src' >jsoplengen.cpp >powerpc64-unknown-linux-gnu-g++ -o host_jsoplengen.o -c -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -I/usr/lib64/libffi-3.0.10/include -I. -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/include/nspr -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/assembler -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/yarr -I/usr/include/nspr /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsoplengen.cpp >powerpc64-unknown-linux-gnu-g++ -o host_jsoplengen -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -I/usr/lib64/libffi-3.0.10/include -I. -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/include/nspr -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/assembler -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/yarr host_jsoplengen.o >./host_jsoplengen /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src/jsautooplen.h >jsalloc.cpp >jsanalyze.cpp >powerpc64-unknown-linux-gnu-g++ -o jsalloc.o -c -fvisibility=hidden -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -DEXPORT_JS_API -DIMPL_MFBT -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -I/usr/lib64/libffi-3.0.10/include -I. -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/include/nspr -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/assembler -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/yarr -fPIC -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsalloc.pp /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsalloc.cpp >powerpc64-unknown-linux-gnu-g++ -o jsanalyze.o -c -fvisibility=hidden -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -DEXPORT_JS_API -DIMPL_MFBT -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -I/usr/lib64/libffi-3.0.10/include -I. -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/include/nspr -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/assembler -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/yarr -fPIC -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsanalyze.pp /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsanalyze.cpp >jsapi.cpp >powerpc64-unknown-linux-gnu-g++ -o jsapi.o -c -fvisibility=hidden -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -DEXPORT_JS_API -DIMPL_MFBT -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -I/usr/lib64/libffi-3.0.10/include -I. -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/include/nspr -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/assembler -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/yarr -fPIC -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsapi.pp /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsapi.cpp >jsarray.cpp >powerpc64-unknown-linux-gnu-g++ -o jsarray.o -c -fvisibility=hidden -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -DEXPORT_JS_API -DIMPL_MFBT -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -I/usr/lib64/libffi-3.0.10/include -I. -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/include/nspr -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/assembler -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/yarr -fPIC -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsarray.pp /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsarray.cpp >jsatom.cpp >powerpc64-unknown-linux-gnu-g++ -o jsatom.o -c -fvisibility=hidden -DOSTYPE=\"Linux2.6.39\" -DOSARCH=Linux -DEXPORT_JS_API -DIMPL_MFBT -DJS_HAS_CTYPES -DDLL_PREFIX=\"lib\" -DDLL_SUFFIX=\".so\" -DNO_NSPR_10_SUPPORT -I/usr/lib64/libffi-3.0.10/include -I. -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I. -I./../../dist/include -I./../../dist/include/nsprpub -I/usr/include/nspr -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/assembler -I/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/yarr -fPIC -fno-rtti -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pipe -fPIC -mminimal-toc -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -g -O3 -freorder-blocks -finline-limit=50 -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsatom.pp /var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsatom.cpp >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsapi.cpp: In constructor 'JSRuntime::JSRuntime()': >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsapi.cpp:702:5: error: class 'JSRuntime' does not have any field named 'execAlloc_' >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsapi.cpp: In destructor 'JSRuntime::~JSRuntime()': >/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/js/src/jsapi.cpp:844:39: error: 'execAlloc_' was not declared in this scope >make[5]: *** [jsapi.o] Error 1 >make[5]: *** Waiting for unfinished jobs.... >make[5]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu/js/src' >make[4]: *** [libs_tier_js] Error 2 >make[4]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[3]: *** [tier_js] Error 2 >make[3]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[2]: *** [default] Error 2 >make[2]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release/obj-powerpc64-unknown-linux-gnu' >make[1]: *** [realbuild] Error 2 >make[1]: Leaving directory `/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release' >make: *** [build] Error 2 >emake failed > [31;01m*[0m ERROR: www-client/firefox-12.0 failed (compile phase): > [31;01m*[0m emake failed > [31;01m*[0m > [31;01m*[0m Call stack: > [31;01m*[0m ebuild.sh, line 85: Called src_compile > [31;01m*[0m environment, line 6512: Called die > [31;01m*[0m The specific snippet of code: > [31;01m*[0m CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" MOZ_MAKE_FLAGS="${MAKEOPTS}" emake -f client.mk || die "emake failed"; > [31;01m*[0m > [31;01m*[0m If you need support, post the output of 'emerge --info =www-client/firefox-12.0', > [31;01m*[0m the complete build log and the output of 'emerge -pqv =www-client/firefox-12.0'. > [31;01m*[0m The complete build log is located at '/var/tmp/portage/www-client/firefox-12.0/temp/build.log'. > [31;01m*[0m The ebuild environment file is located at '/var/tmp/portage/www-client/firefox-12.0/temp/environment'. > [31;01m*[0m S: '/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release' > >Environment: > >declare -x ABI="ppc64" >declare -x ALDFLAGS="-Wl,-O1 -Wl,--as-needed" >declare -x ALLOWED_FLAGS="-pipe -O -O1 -O2 -Os -mcpu -march -mtune -fstack-protector -fstack-protector-all -fbounds-checking -fno-strict-overflow -fno-PIE -fno-pie -fno-unit-at-a-time -g -g[0-9] -ggdb -ggdb[0-9] -gstabs -gstabs+ -fno-ident -fpermissive -W* -w -fno-stack-protector -fno-stack-protector-all -fno-strict-aliasing -fno-bounds-checking -fstrict-overflow -fno-omit-frame-pointer -mregparm -mno-app-regs -mapp-regs -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-avx -mno-aes -mno-pclmul -mno-sse4a -mno-3dnow -mno-popcnt -mno-abm -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 -mplt -msoft-float -mno-soft-float -mhard-float -mno-hard-float -mfpu -mieee -mieee-with-inexact -mschedule -mfloat-gprs -mspe -mno-spe -mtls-direct-seg-refs -mno-tls-direct-seg-refs -mflat -mno-flat -mno-faster-structs -mfaster-structs -m32 -m64 -mx32 -mabi -mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 -mcmodel -mstack-bias -mno-stack-bias -msecure-plt -m*-toc -D* -U* -mno-fma4 -mno-movbe -mno-xop -mno-lwp -mno-fsgsbase -mno-rdrnd -mno-f16c -mno-bmi -mno-tbm" >declare -x ALSA_CARDS="" >declare -x ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" >declare -x ANT_HOME="/usr/share/ant" >declare -x APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" >declare -x ARCH="ppc64" >declare -- ASM_DEPEND=">=dev-lang/yasm-1.1" >declare -- AT_M4DIR="" >declare -- AT_SYS_M4DIR="" >declare -- AUTOTOOLS_AUTO_DEPEND="yes" >declare -- AUTOTOOLS_DEPEND="|| ( >=sys-devel/automake-1.11.1:1.11 ) =sys-devel/autoconf-2.1* sys-devel/libtool" >declare -x BOOTSTRAP_USE="cxx unicode" >declare -x BUILD_OPT="1" >declare -x CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" >declare -x CAMERAS="ptp2" >declare -x CBUILD="powerpc64-unknown-linux-gnu" >declare -x CCASFLAGS="" >declare -x CFLAGS="-pipe -fPIC -mminimal-toc" >declare -x CFLAGS_default >declare -x CFLAGS_ppc="-m32" >declare -x CFLAGS_ppc64="-m64" >declare -- CHANGESET="e56ecd8b3a68" >declare -- CHECKREQS_DISK_BUILD="4G" >declare -x CHOST="powerpc64-unknown-linux-gnu" >declare -x CHOST_default="powerpc64-unknown-linux-gnu" >declare -x CHOST_ppc="powerpc-unknown-linux-gnu" >declare -x CHOST_ppc64="powerpc64-unknown-linux-gnu" >declare -x COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" >declare -x CPPFLAGS="" >declare -x CROSSCOMPILE_OPTS="" >declare -x CTARGET_default="powerpc64-unknown-linux-gnu" >declare -x CURL_SSL="" >declare -x CXXFLAGS="-pipe -fPIC -mminimal-toc" >declare -x DEFAULT_ABI="ppc64" >declare -x DEFINED_PHASES=" compile configure install postinst postrm preinst prepare setup unpack" >declare DEPEND=" > >=sys-devel/binutils-2.16.1 > >=dev-libs/nss-3.13.3 > >=dev-libs/nspr-4.9 > >=dev-libs/glib-2.26:2 > >=media-libs/mesa-7.10 > media-libs/libpng[apng] > virtual/libffi > system-sqlite? ( >=dev-db/sqlite-3.7.10[fts3,secure-delete,threadsafe,unlock-notify,debug=] ) > webm? ( >=media-libs/libvpx-1.0.0 > media-libs/alsa-lib ) > crashreporter? ( net-misc/curl ) > selinux? ( sec-policy/selinux-mozilla ) > virtual/pkgconfig > pgo? ( > =dev-lang/python-2*[sqlite] > >=sys-devel/gcc-4.5 ) > webm? ( x86? ( >=dev-lang/yasm-1.1 ) > amd64? ( >=dev-lang/yasm-1.1 ) > virtual/opengl ) >=sys-apps/sed-4 x11-libs/libXrender > x11-libs/libXt > x11-libs/libXmu > >=sys-libs/zlib-1.1.4 > virtual/pkgconfig > =dev-lang/python-2*[threads] app-arch/zip > app-arch/unzip > >=app-text/hunspell-1.2 > dev-libs/expat > >=dev-libs/libIDL-0.8.0 > >=dev-libs/libevent-1.4.7 > >=x11-libs/cairo-1.8[X] > >=x11-libs/gtk+-2.8.6:2 > >=x11-libs/pango-1.10.1[X] > virtual/jpeg > virtual/freedesktop-icon-theme > alsa? ( media-libs/alsa-lib ) > dbus? ( >=dev-libs/dbus-glib-0.72 ) > libnotify? ( >=x11-libs/libnotify-0.4 ) > startup-notification? ( >=x11-libs/startup-notification-0.8 ) > wifi? ( net-wireless/wireless-tools ) || ( >=sys-devel/automake-1.11.1:1.11 ) =sys-devel/autoconf-2.1* sys-devel/libtool pgo? ( > !prefix? ( x11-base/xorg-server[xvfb] ) > x11-apps/xhost > ) app-arch/unzip" >declare DESCRIPTION="Firefox Web Browser" >declare -x DESKTOP_SESSION="LXDE" >declare -x DESTTREE="/usr" >declare -x DIROPTIONS="-m0755" >declare -x EAPI="3" >declare -- ECLASSDIR_LOCAL="/usr/portage/eclass" >declare -x ELIBC="glibc" >declare -x ELT_APPLIED_PATCHES=" portage/1.2.0 sed/1.5.6" >declare -- EPATCH_COMMON_OPTS="-g0 -E --no-backup-if-mismatch" >declare -- EPATCH_EXCLUDE="" >declare -- EPATCH_FORCE="no" >declare -- EPATCH_MULTI_MSG="Applying various patches (bugfixes/updates) ..." >declare -- EPATCH_OPTS="" >declare -- EPATCH_SINGLE_MSG="" >declare -- EPATCH_SOURCE="/var/tmp/portage/www-client/firefox-12.0/work/patch" >declare -- EPATCH_SUFFIX="patch.bz2" >declare -x EPYTHON="python2.7" >declare -x EXEOPTIONS="-m0755" >declare -x FCFLAGS="-fPIC -mminimal-toc" >declare -x FETCHCOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port=22 ; exec rsync --rsh=\\\"ssh -p\\\${port}\\\" -avP \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\"" >declare -x FFLAGS="-fPIC -mminimal-toc" >declare -x GCC_SPECS="" >declare -- GCONFTOOL_BIN="/usr/bin/gconftool-2" >declare -x GDK_USE_XFT="1" >declare -x GDMSESSION="LXDE" >declare -x GDM_LANG="en_US.UTF-8" >declare -x GDM_XSERVER_LOCATION="local" >declare -- GLIB_COMPILE_SCHEMAS="/usr/bin/glib-compile-schemas" >declare -x GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" >declare -x GRUB_PLATFORMS="" >declare -x GSETTINGS_BACKEND="dconf" >declare -- GTK_UPDATE_ICON_CACHE="/usr/bin/gtk-update-icon-cache" >declare HOMEPAGE="http://www.mozilla.com/firefox" >declare -x INHERITED=" multilib toolchain-funcs user eutils check-reqs flag-o-matic gnome2-utils python mozcoreconf-2 mozconfig-3 pax-utils fdo-mime libtool autotools virtualx nsplugins mozextension mozlinguas" >declare -x INPUT_DEVICES="" >declare -x INSDESTTREE="" >declare -x INSOPTIONS="-m0644" >declare IUSE="bindist +crashreporter +ipc +minimal pgo selinux system-sqlite +webm custom-cflags custom-optimization +alsa +dbus debug libnotify startup-notification system-sqlite wifi pgo linguas_af linguas_ak linguas_ar linguas_as linguas_ast linguas_be linguas_bg linguas_bn_BD linguas_bn_IN linguas_br linguas_bs linguas_ca linguas_cs linguas_csb linguas_cy linguas_da linguas_de linguas_el linguas_en_GB linguas_en_ZA linguas_eo linguas_es_AR linguas_es_CL linguas_es_ES linguas_es_MX linguas_et linguas_eu linguas_fa linguas_fi linguas_fr linguas_fy_NL linguas_ga_IE linguas_gd linguas_gl linguas_gu_IN linguas_he linguas_hi_IN linguas_hr linguas_hu linguas_hy_AM linguas_id linguas_is linguas_it linguas_ja linguas_kk linguas_kn linguas_ko linguas_ku linguas_lg linguas_lt linguas_lv linguas_mai linguas_mk linguas_ml linguas_mr linguas_nb_NO linguas_nl linguas_nn_NO linguas_nso linguas_or linguas_pa_IN linguas_pl linguas_pt_BR linguas_pt_PT linguas_rm linguas_ro linguas_ru linguas_si linguas_sk linguas_sl linguas_son linguas_sq linguas_sr linguas_sv_SE linguas_ta linguas_ta_LK linguas_te linguas_th linguas_tr linguas_uk linguas_vi linguas_zh_CN linguas_zh_TW linguas_zu" >declare -x JAVAC="/etc/java-config-2/current-system-vm/bin/javac" >declare -x JAVA_HOME="/etc/java-config-2/current-system-vm" >declare -x JDK_HOME="/etc/java-config-2/current-system-vm" >declare -x KERNEL="linux" >declare -x KERNEL_ABI="ppc64" >declare -x KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" >declare -x KV="2.6.39.4" >declare -x LANG="C" >declare -x LCD_DEVICES="" >declare -x LC_ADDRESS="en_US.utf8" >declare -x LC_ALL="C" >declare -x LC_COLLATE="de_DE.UTF-8" >declare -x LC_CTYPE="C" >declare -x LC_IDENTIFICATION="en_US.utf8" >declare -x LC_MEASUREMENT="en_US.utf8" >declare -x LC_MESSAGES="C" >declare -x LC_MONETARY="de_DE.UTF-8" >declare -x LC_NAME="en_US.utf8" >declare -x LC_NUMERIC="de_DE.UTF-8" >declare -x LC_PAPAER="de_DE.UTF-8" >declare -x LC_PAPER="en_US.utf8" >declare -x LC_TELEPHONE="en_US.utf8" >declare -x LC_TIME="en_US.utf8" >declare -x LDFLAGS="-Wl,-O1 -Wl,--as-needed" >declare -x LDFLAGS_default >declare -x LDFLAGS_ppc="-m elf32ppc" >declare -x LDFLAGS_ppc64="-m elf64ppc" >declare -x LIBDIR_amd64="lib64" >declare -x LIBDIR_default="lib" >declare -x LIBDIR_ppc64="lib64" >declare -x LIBOPTIONS="-m0644" >declare -x LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" >declare -x LICENSE="|| ( MPL-1.1 GPL-2 LGPL-2.1 )" >declare -x LINGUAS="" >declare -x MAKEOPTS="-j4" >declare -- MEXTENSIONS="default" >declare -x MOZILLA_CLIENT="1" >declare -- MOZILLA_FIVE_HOME="/usr/lib64/firefox" >declare -- MOZ_ESR="" >declare -- MOZ_FTP_URI="ftp://ftp.mozilla.org/pub/firefox/releases/" >declare -- MOZ_LANGPACK_PREFIX="12.0/linux-i686/xpi/" >declare -- MOZ_LANGPACK_SUFFIX=".xpi" >declare -a MOZ_LANGS='([0]="af" [1]="ak" [2]="ar" [3]="as" [4]="ast" [5]="be" [6]="bg" [7]="bn-BD" [8]="bn-IN" [9]="br" [10]="bs" [11]="ca" [12]="cs" [13]="csb" [14]="cy" [15]="da" [16]="de" [17]="el" [18]="en" [19]="en-GB" [20]="en-US" [21]="en-ZA" [22]="eo" [23]="es-AR" [24]="es-CL" [25]="es-ES" [26]="es-MX" [27]="et" [28]="eu" [29]="fa" [30]="fi" [31]="fr" [32]="fy-NL" [33]="ga-IE" [34]="gd" [35]="gl" [36]="gu-IN" [37]="he" [38]="hi-IN" [39]="hr" [40]="hu" [41]="hy-AM" [42]="id" [43]="is" [44]="it" [45]="ja" [46]="kk" [47]="kn" [48]="ko" [49]="ku" [50]="lg" [51]="lt" [52]="lv" [53]="mai" [54]="mk" [55]="ml" [56]="mr" [57]="nb-NO" [58]="nl" [59]="nn-NO" [60]="nso" [61]="or" [62]="pa-IN" [63]="pl" [64]="pt-BR" [65]="pt-PT" [66]="rm" [67]="ro" [68]="ru" [69]="si" [70]="sk" [71]="sl" [72]="son" [73]="sq" [74]="sr" [75]="sv-SE" [76]="ta" [77]="ta-LK" [78]="te" [79]="th" [80]="tr" [81]="uk" [82]="vi" [83]="zh-CN" [84]="zh-TW" [85]="zu")' >declare -- MOZ_P="firefox-12.0" >declare -- MOZ_PN="firefox" >declare -- MOZ_PV="12.0" >declare -x MULTILIB_ABIS="ppc64" >declare -x NETBEANS="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" >declare -x NO_STATIC_LIB="1" >declare -x OPENGL_PROFILE="xorg-x11" >declare -- PATCH="firefox-12.0-patches-0.1" >declare -x PATH="/usr/lib64/portage/bin/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/powerpc64-unknown-linux-gnu/gcc-bin/4.5.3" >declare -- PAX_MARKINGS="PT" >declare PDEPEND="" >declare -x PHP_INI_VERSION="production" >declare -x PHP_TARGETS="" >declare -x PKG_CONFIG_PATH="/usr/lib64/pkgconfig" >declare -- PLUGINS_DIR="nsbrowser/plugins" >declare -a PORTAGE_DOCOMPRESS='([0]="/usr/share/doc" [1]="/usr/share/info" [2]="/usr/share/man")' >declare -a PORTAGE_DOCOMPRESS_SKIP='([0]="/usr/share/doc/firefox-12.0/html")' >declare -x PRELINK_PATH_MASK="/usr/lib64/libfreebl3.so:/usr/lib64/libnssdbm3.so:/usr/lib64/libsoftokn3.so" >declare -x PRINTER="printer" >declare -x PROFILE_ARCH="ppc64" >declare -x PROFILE_ONLY_VARIABLES="ARCH ELIBC KERNEL USERLAND" >declare -x PROPERTIES="" >declare -x PROVIDE="" >declare -x PYTHONDONTWRITEBYTECODE="1" >declare -- PYTHON_ABI="2.7" >declare -- PYTHON_COLORS="0" >declare -- PYTHON_REQUESTED_ACTIVE_VERSION="2" >declare -- PYTHON_SANITY_CHECKS_EXECUTED="1" >declare -- PYTHON_TEST_VERBOSITY="1" >declare -x QA_PRESTRIPPED="usr/lib64/firefox/firefox" >declare -x RDEPEND=" > >=sys-devel/binutils-2.16.1 > >=dev-libs/nss-3.13.3 > >=dev-libs/nspr-4.9 > >=dev-libs/glib-2.26:2 > >=media-libs/mesa-7.10 > media-libs/libpng[apng] > virtual/libffi > system-sqlite? ( >=dev-db/sqlite-3.7.10[fts3,secure-delete,threadsafe,unlock-notify,debug=] ) > webm? ( >=media-libs/libvpx-1.0.0 > media-libs/alsa-lib ) > crashreporter? ( net-misc/curl ) > selinux? ( sec-policy/selinux-mozilla ) x11-libs/libXrender > x11-libs/libXt > x11-libs/libXmu > >=sys-libs/zlib-1.1.4 app-arch/zip > app-arch/unzip > >=app-text/hunspell-1.2 > dev-libs/expat > >=dev-libs/libIDL-0.8.0 > >=dev-libs/libevent-1.4.7 > >=x11-libs/cairo-1.8[X] > >=x11-libs/gtk+-2.8.6:2 > >=x11-libs/pango-1.10.1[X] > virtual/jpeg > virtual/freedesktop-icon-theme > alsa? ( media-libs/alsa-lib ) > dbus? ( >=dev-libs/dbus-glib-0.72 ) > libnotify? ( >=x11-libs/libnotify-0.4 ) > startup-notification? ( >=x11-libs/startup-notification-0.8 ) > wifi? ( net-wireless/wireless-tools ) " >declare REPOSITORY >declare REQUIRED_USE="" >declare -x RESTRICT="" >declare -x RESUMECOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port=22 ; exec rsync --rsh=\\\"ssh -p\\\${port}\\\" -avP \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\"" >declare -x RUBY_TARGETS="" >declare -x S="/var/tmp/portage/www-client/firefox-12.0/work/mozilla-release" >declare -x SAL_USE_VCLPLUGIN="gtk" >declare -x SANDBOX_DEBUG="0" >declare -x SANDBOX_DENY="" >declare -x SANDBOX_PID="7373" >declare -x SANDBOX_PREDICT="/var/tmp/portage/www-client/firefox-12.0/homedir:/dev/crypto:/proc/self/coredump_filter:/var/cache/fontconfig" >declare -x SANDBOX_READ="/:/var/tmp" >declare -x SANDBOX_VERBOSE="1" >declare -x SANDBOX_WRITE=":/dev/console:/dev/fd:/dev/full:/dev/null:/dev/pts/:/dev/pty:/dev/shm:/dev/tts:/dev/tty:/dev/vc/:/dev/zero:/proc/self/fd:/tmp/:/usr/lib/cf:/usr/lib/conftest:/usr/lib32/cf:/usr/lib32/conftest:/usr/lib64/cf:/usr/lib64/conftest:/usr/tmp/cf:/usr/tmp/conftest:/var/tmp:/var/tmp/:/var/tmp/portage/www-client/firefox-12.0/homedir/.bash_history" >declare -x SANE_BACKENDS="" >declare -- SCROLLKEEPER_DIR="/var/lib/scrollkeeper" >declare -- SCROLLKEEPER_UPDATE_BIN="/usr/bin/scrollkeeper-update" >declare -x SLOT="0" >declare SRC_URI=" > linguas_af? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/af.xpi -> firefox-12.0-af.xpi ) > linguas_ak? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ak.xpi -> firefox-12.0-ak.xpi ) > linguas_ar? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ar.xpi -> firefox-12.0-ar.xpi ) > linguas_as? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/as.xpi -> firefox-12.0-as.xpi ) > linguas_ast? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ast.xpi -> firefox-12.0-ast.xpi ) > linguas_be? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/be.xpi -> firefox-12.0-be.xpi ) > linguas_bg? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/bg.xpi -> firefox-12.0-bg.xpi ) > linguas_bn_BD? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/bn-BD.xpi -> firefox-12.0-bn-BD.xpi ) > linguas_bn_IN? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/bn-IN.xpi -> firefox-12.0-bn-IN.xpi ) > linguas_br? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/br.xpi -> firefox-12.0-br.xpi ) > linguas_bs? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/bs.xpi -> firefox-12.0-bs.xpi ) > linguas_ca? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ca.xpi -> firefox-12.0-ca.xpi ) > linguas_cs? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/cs.xpi -> firefox-12.0-cs.xpi ) > linguas_csb? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/csb.xpi -> firefox-12.0-csb.xpi ) > linguas_cy? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/cy.xpi -> firefox-12.0-cy.xpi ) > linguas_da? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/da.xpi -> firefox-12.0-da.xpi ) > linguas_de? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/de.xpi -> firefox-12.0-de.xpi ) > linguas_el? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/el.xpi -> firefox-12.0-el.xpi ) > linguas_en_GB? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/en-GB.xpi -> firefox-12.0-en-GB.xpi ) > linguas_en_ZA? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/en-ZA.xpi -> firefox-12.0-en-ZA.xpi ) > linguas_eo? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/eo.xpi -> firefox-12.0-eo.xpi ) > linguas_es_AR? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/es-AR.xpi -> firefox-12.0-es-AR.xpi ) > linguas_es_CL? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/es-CL.xpi -> firefox-12.0-es-CL.xpi ) > linguas_es_ES? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/es-ES.xpi -> firefox-12.0-es-ES.xpi ) > linguas_es_MX? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/es-MX.xpi -> firefox-12.0-es-MX.xpi ) > linguas_et? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/et.xpi -> firefox-12.0-et.xpi ) > linguas_eu? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/eu.xpi -> firefox-12.0-eu.xpi ) > linguas_fa? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/fa.xpi -> firefox-12.0-fa.xpi ) > linguas_fi? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/fi.xpi -> firefox-12.0-fi.xpi ) > linguas_fr? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/fr.xpi -> firefox-12.0-fr.xpi ) > linguas_fy_NL? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/fy-NL.xpi -> firefox-12.0-fy-NL.xpi ) > linguas_ga_IE? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ga-IE.xpi -> firefox-12.0-ga-IE.xpi ) > linguas_gd? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/gd.xpi -> firefox-12.0-gd.xpi ) > linguas_gl? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/gl.xpi -> firefox-12.0-gl.xpi ) > linguas_gu_IN? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/gu-IN.xpi -> firefox-12.0-gu-IN.xpi ) > linguas_he? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/he.xpi -> firefox-12.0-he.xpi ) > linguas_hi_IN? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/hi-IN.xpi -> firefox-12.0-hi-IN.xpi ) > linguas_hr? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/hr.xpi -> firefox-12.0-hr.xpi ) > linguas_hu? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/hu.xpi -> firefox-12.0-hu.xpi ) > linguas_hy_AM? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/hy-AM.xpi -> firefox-12.0-hy-AM.xpi ) > linguas_id? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/id.xpi -> firefox-12.0-id.xpi ) > linguas_is? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/is.xpi -> firefox-12.0-is.xpi ) > linguas_it? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/it.xpi -> firefox-12.0-it.xpi ) > linguas_ja? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ja.xpi -> firefox-12.0-ja.xpi ) > linguas_kk? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/kk.xpi -> firefox-12.0-kk.xpi ) > linguas_kn? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/kn.xpi -> firefox-12.0-kn.xpi ) > linguas_ko? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ko.xpi -> firefox-12.0-ko.xpi ) > linguas_ku? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ku.xpi -> firefox-12.0-ku.xpi ) > linguas_lg? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/lg.xpi -> firefox-12.0-lg.xpi ) > linguas_lt? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/lt.xpi -> firefox-12.0-lt.xpi ) > linguas_lv? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/lv.xpi -> firefox-12.0-lv.xpi ) > linguas_mai? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/mai.xpi -> firefox-12.0-mai.xpi ) > linguas_mk? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/mk.xpi -> firefox-12.0-mk.xpi ) > linguas_ml? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ml.xpi -> firefox-12.0-ml.xpi ) > linguas_mr? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/mr.xpi -> firefox-12.0-mr.xpi ) > linguas_nb_NO? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/nb-NO.xpi -> firefox-12.0-nb-NO.xpi ) > linguas_nl? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/nl.xpi -> firefox-12.0-nl.xpi ) > linguas_nn_NO? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/nn-NO.xpi -> firefox-12.0-nn-NO.xpi ) > linguas_nso? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/nso.xpi -> firefox-12.0-nso.xpi ) > linguas_or? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/or.xpi -> firefox-12.0-or.xpi ) > linguas_pa_IN? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/pa-IN.xpi -> firefox-12.0-pa-IN.xpi ) > linguas_pl? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/pl.xpi -> firefox-12.0-pl.xpi ) > linguas_pt_BR? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/pt-BR.xpi -> firefox-12.0-pt-BR.xpi ) > linguas_pt_PT? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/pt-PT.xpi -> firefox-12.0-pt-PT.xpi ) > linguas_rm? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/rm.xpi -> firefox-12.0-rm.xpi ) > linguas_ro? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ro.xpi -> firefox-12.0-ro.xpi ) > linguas_ru? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ru.xpi -> firefox-12.0-ru.xpi ) > linguas_si? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/si.xpi -> firefox-12.0-si.xpi ) > linguas_sk? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/sk.xpi -> firefox-12.0-sk.xpi ) > linguas_sl? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/sl.xpi -> firefox-12.0-sl.xpi ) > linguas_son? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/son.xpi -> firefox-12.0-son.xpi ) > linguas_sq? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/sq.xpi -> firefox-12.0-sq.xpi ) > linguas_sr? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/sr.xpi -> firefox-12.0-sr.xpi ) > linguas_sv_SE? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/sv-SE.xpi -> firefox-12.0-sv-SE.xpi ) > linguas_ta? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ta.xpi -> firefox-12.0-ta.xpi ) > linguas_ta_LK? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/ta-LK.xpi -> firefox-12.0-ta-LK.xpi ) > linguas_te? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/te.xpi -> firefox-12.0-te.xpi ) > linguas_th? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/th.xpi -> firefox-12.0-th.xpi ) > linguas_tr? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/tr.xpi -> firefox-12.0-tr.xpi ) > linguas_uk? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/uk.xpi -> firefox-12.0-uk.xpi ) > linguas_vi? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/vi.xpi -> firefox-12.0-vi.xpi ) > linguas_zh_CN? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/zh-CN.xpi -> firefox-12.0-zh-CN.xpi ) > linguas_zh_TW? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/zh-TW.xpi -> firefox-12.0-zh-TW.xpi ) > linguas_zu? > ( ftp://ftp.mozilla.org/pub/firefox/releases//12.0/linux-i686/xpi/zu.xpi -> firefox-12.0-zu.xpi ) > http://dev.gentoo.org/~anarchy/mozilla/patchsets/firefox-12.0-patches-0.1.tar.xz > ftp://ftp.mozilla.org/pub/firefox/releases//12.0/source/firefox-12.0.source.tar.bz2" >declare -x SYMLINK_LIB="yes" >declare -x USE="alsa dbus elibc_glibc kernel_linux minimal ppc64 userland_GNU webm" >declare -x USERLAND="GNU" >declare -x USERNAME="michael" >declare -x USE_PTHREADS="1" >declare -x VIDEO_CARDS="" >declare -- VIRTUALX_COMMAND="emake" >declare -- VIRTUALX_DEPEND=" > !prefix? ( x11-base/xorg-server[xvfb] ) > x11-apps/xhost >" >declare -- VIRTUALX_REQUIRED="pgo" >declare -x WANT_AUTOCONF="2.1" >declare -x WANT_AUTOMAKE="1.11" >declare -x WANT_LIBTOOL="latest" >declare -x WINDOWID="27262989" >declare -x WINDOWPATH="0" >declare -x XDG_CONFIG_DIRS="/etc/xdg" >declare -x XDG_CONFIG_HOME="/home/michael/.config" >declare -x XDG_CURRENT_DESKTOP="LXDE" >declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share:/usr/share/gdm" >declare -x XDG_MENU_PREFIX="lxde-" >declare -x XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" >declare -x XTERM_LOCALE="de_DE.UTF-8" >declare -x XTERM_SHELL="/bin/su" >declare -x XTERM_VERSION="XTerm(276)" >declare -a _CPYTHON2_GLOBALLY_SUPPORTED_ABIS='([0]="2.4" [1]="2.5" [2]="2.6" [3]="2.7")' >declare -a _CPYTHON3_GLOBALLY_SUPPORTED_ABIS='([0]="3.1" [1]="3.2")' >declare -x _E_DOCDESTTREE_="" >declare -x _E_EXEDESTTREE_="" >declare -a _JYTHON_GLOBALLY_SUPPORTED_ABIS='([0]="2.5-jython")' >declare -a _LATEST_AUTOMAKE='([0]="1.11.1:1.11")' >declare -x _LXSESSION_PID="2530" >declare -a _PYPY_GLOBALLY_SUPPORTED_ABIS='([0]="2.7-pypy-1.7" [1]="2.7-pypy-1.8")' >declare -- _PYTHON_ABI_EXTRACTION_COMMAND="import platform >import sys >sys.stdout.write(\".\".join(str(x) for x in sys.version_info[:2])) >if platform.system()[:4] == \"Java\": > sys.stdout.write(\"-jython\") >elif hasattr(platform, \"python_implementation\") and platform.python_implementation() == \"PyPy\": > sys.stdout.write(\"-pypy-\" + \".\".join(str(x) for x in sys.pypy_version_info[:2]))" >declare -- _PYTHON_ABI_PATTERN_REGEX="([[:alnum:]]|\\.|-|\\*|\\[|\\])+" >declare -- _PYTHON_ECLASS_INHERITED="1" >declare -a _PYTHON_GLOBALLY_SUPPORTED_ABIS='([0]="2.4" [1]="2.5" [2]="2.6" [3]="2.7" [4]="3.1" [5]="3.2" [6]="2.5-jython" [7]="2.7-pypy-1.7" [8]="2.7-pypy-1.8")' >declare -- _PYTHON_SHEBANG_BASE_PART_REGEX="^#![[:space:]]*([^[:space:]]*/usr/bin/env[[:space:]]+)?([^[:space:]]*/)?(jython|pypy-c|python)" >declare -- __ELT_NOTED_TMP="true" >declare -- ___ECLASS_ONCE_AUTOTOOLS="recur -_+^+_- spank" >declare -- ___ECLASS_ONCE_EUTILS="recur -_+^+_- spank" >declare -- ___ECLASS_ONCE_FLAG_O_MATIC="recur -_+^+_- spank" >declare -- ___ECLASS_ONCE_LIBTOOL="recur -_+^+_- spank" >declare -- ___ECLASS_ONCE_MULTILIB="recur -_+^+_- spank" >declare -- ___ECLASS_ONCE_PAX_UTILS="recur -_+^+_- spank" >declare -- ___ECLASS_ONCE_TOOLCHAIN_FUNCS="recur -_+^+_- spank" >declare -- ___ECLASS_ONCE_USER="recur -_+^+_- spank" >declare -- _libtool_atom="sys-devel/libtool" >declare -a mozlinguas='()' >declare -- phase_func >ELT_libtool_version () >{ > ( unset VERSION; > eval $(grep -e '^[[:space:]]*VERSION=' "$1"); > echo "${VERSION:-0}" ) >} >ELT_try_and_apply_patch () >{ > local ret=0; > local file=$1; > local patch=$2; > local src=$3; > local disp="${src} patch"; > local log="${T}/elibtool.log"; > if [[ -z ${__ELT_NOTED_TMP} ]]; then > __ELT_NOTED_TMP=true; > printf 'temp patch: %s\n' "${patch}" > "${log}"; > fi; > printf '\nTrying %s\n' "${disp}" >> "${log}"; > if patch -p0 --dry-run "${file}" "${patch}" >> "${log}" 2>&1; then > einfo " Applying ${disp} ..."; > patch -p0 -g0 --no-backup-if-mismatch "${file}" "${patch}" >> "${log}" 2>&1; > ret=$?; > export ELT_APPLIED_PATCHES="${ELT_APPLIED_PATCHES} ${src}"; > else > ret=1; > fi; > return "${ret}" >} >ELT_walk_patches () >{ > local patch tmp; > local ret=1; > local file=$1; > local patch_set=$2; > local patch_dir="$(elt_patch_dir)/${patch_set}"; > local rem_int_dep=$3; > [[ -z ${patch_set} ]] && return 1; > [[ ! -d ${patch_dir} ]] && return 1; > local sed_args=(-e "s:@GENTOO_LIBDIR@:$(get_libdir):g"); > if [[ -n ${rem_int_dep} ]]; then > sed_args+=(-e "s|@REM_INT_DEP@|${rem_int_dep}|g"); > fi; > pushd "$(elt_patch_dir)" > /dev/null || die; > for patch in $(find "${patch_set}" -maxdepth 1 -type f | LC_ALL=C sort -r); > do > tmp="${T}/libtool-elt.patch"; > sed "${sed_args[@]}" "${patch}" > "${tmp}" || die; > if ELT_try_and_apply_patch "${file}" "${tmp}" "${patch}"; then > ret=0; > break; > fi; > done; > popd > /dev/null; > return ${ret} >} >PYTHON () >{ > _python_check_python_pkg_setup_execution; > local ABI_output="0" absolute_path_output="0" final_ABI="0" PYTHON_ABI="${PYTHON_ABI}" python_interpreter python2="0" python3="0"; > while (($#)); do > case "$1" in > -2) > python2="1" > ;; > -3) > python3="1" > ;; > --ABI) > ABI_output="1" > ;; > -a | --absolute-path) > absolute_path_output="1" > ;; > -f | --final-ABI) > final_ABI="1" > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > if [[ "${ABI_output}" == "1" && "${absolute_path_output}" == "1" ]]; then > die "${FUNCNAME}(): '--ABI' and '--absolute-path' options cannot be specified simultaneously"; > fi; > if [[ "$((${python2} + ${python3} + ${final_ABI}))" -gt 1 ]]; then > die "${FUNCNAME}(): '-2', '-3' or '--final-ABI' options cannot be specified simultaneously"; > fi; > if [[ "$#" -eq 0 ]]; then > if [[ "${final_ABI}" == "1" ]]; then > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_calculate_PYTHON_ABIS; > PYTHON_ABI="${PYTHON_ABIS##* }"; > else > if [[ "${python2}" == "1" ]]; then > PYTHON_ABI="$(ROOT="/" eselect python show --python2 --ABI)"; > if [[ -z "${PYTHON_ABI}" ]]; then > die "${FUNCNAME}(): Active version of CPython 2 not set"; > else > if [[ "${PYTHON_ABI}" != "2."* ]]; then > die "${FUNCNAME}(): Internal error in \`eselect python show --python2\`"; > fi; > fi; > else > if [[ "${python3}" == "1" ]]; then > PYTHON_ABI="$(ROOT="/" eselect python show --python3 --ABI)"; > if [[ -z "${PYTHON_ABI}" ]]; then > die "${FUNCNAME}(): Active version of CPython 3 not set"; > else > if [[ "${PYTHON_ABI}" != "3."* ]]; then > die "${FUNCNAME}(): Internal error in \`eselect python show --python3\`"; > fi; > fi; > else > if _python_package_supporting_installation_for_multiple_python_abis; then > if ! _python_abi-specific_local_scope; then > die "${FUNCNAME}() should be used in ABI-specific local scope"; > fi; > else > PYTHON_ABI="$("${EPREFIX}/usr/bin/python" -c "${_PYTHON_ABI_EXTRACTION_COMMAND}")"; > if [[ -z "${PYTHON_ABI}" ]]; then > die "${FUNCNAME}(): Failure of extraction of locally active version of Python"; > fi; > fi; > fi; > fi; > fi; > else > if [[ "$#" -eq 1 ]]; then > if [[ "${final_ABI}" == "1" ]]; then > die "${FUNCNAME}(): '--final-ABI' option and Python ABI cannot be specified simultaneously"; > fi; > if [[ "${python2}" == "1" ]]; then > die "${FUNCNAME}(): '-2' option and Python ABI cannot be specified simultaneously"; > fi; > if [[ "${python3}" == "1" ]]; then > die "${FUNCNAME}(): '-3' option and Python ABI cannot be specified simultaneously"; > fi; > PYTHON_ABI="$1"; > else > die "${FUNCNAME}(): Invalid usage"; > fi; > fi; > if [[ "${ABI_output}" == "1" ]]; then > echo -n "${PYTHON_ABI}"; > return; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then > python_interpreter="python${PYTHON_ABI}"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then > python_interpreter="jython${PYTHON_ABI%-jython}"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then > python_interpreter="pypy-c${PYTHON_ABI#*-pypy-}"; > fi; > fi; > fi; > if [[ "${absolute_path_output}" == "1" ]]; then > echo -n "${EPREFIX}/usr/bin/${python_interpreter}"; > else > echo -n "${python_interpreter}"; > fi; > fi; > if [[ -n "${ABI}" && "${ABI}" != "${DEFAULT_ABI}" && "${DEFAULT_ABI}" != "default" ]]; then > echo -n "-${ABI}"; > fi >} >VER_major () >{ > [[ -z $1 ]] && return 1; > local VER=$@; > echo "${VER%%[^[:digit:]]*}" >} >VER_micro () >{ > [[ -z $1 ]] && return 1; > local VER=$@; > VER=${VER#*.*.}; > echo "${VER%%[^[:digit:]]*}" >} >VER_minor () >{ > [[ -z $1 ]] && return 1; > local VER=$@; > VER=${VER#*.}; > echo "${VER%%[^[:digit:]]*}" >} >VER_to_int () >{ > [[ -z $1 ]] && return 1; > local VER_MAJOR=$(VER_major "$1"); > local VER_MINOR=$(VER_minor "$1"); > local VER_MICRO=$(VER_micro "$1"); > local VER_int=$(( VER_MAJOR * 65536 + VER_MINOR * 256 + VER_MICRO )); > if [[ ${VER_int} -ge 65536 ]]; then > echo "${VER_int}"; > return 0; > fi; > echo 1; > return 1 >} >Xeconf () >{ > debug-print-function ${FUNCNAME} "$@"; > VIRTUALX_COMMAND="econf" virtualmake "$@" >} >Xemake () >{ > debug-print-function ${FUNCNAME} "$@"; > VIRTUALX_COMMAND="emake" virtualmake "$@" >} >Xmake () >{ > debug-print-function ${FUNCNAME} "$@"; > ewarn "QA: you should not execute make directly"; > ewarn "QA: rather execute Xemake -j1 if you have issues with parallel make"; > VIRTUALX_COMMAND="emake -j1" virtualmake "$@" >} >_assert_pkg_ebuild_phase () >{ > case ${EBUILD_PHASE} in > setup | preinst | postinst) > > ;; > *) > eerror "'$1()' called from '${EBUILD_PHASE}' phase which is not OK:"; > eerror "You may only call from pkg_{setup,preinst,postinst} functions."; > eerror "Package fails at QA and at life. Please file a bug."; > die "Bad package! $1 is only for use in some pkg_* functions!" > ;; > esac >} >_autotools_m4dir_include () >{ > local x include_opts; > for x in "$@"; > do > case ${x} in > -I) > > ;; > *) > [[ ! -d ${x} ]] && ewarn "autotools.eclass: '${x}' does not exist"; > include_opts+=" -I ${x}" > ;; > esac; > done; > echo ${include_opts} >} >_elibtoolize () >{ > local opts g=; > [[ -n $(autotools_check_macro AC_PROG_LIBTOOL AM_PROG_LIBTOOL LT_INIT) ]] || return 0; > [[ -f GNUmakefile.am || -f Makefile.am ]] && opts="--automake"; > [[ ${CHOST} == *-darwin* ]] && g=g; > autotools_run_tool ${LIBTOOLIZE:-${g}libtoolize} "$@" ${opts}; > eaclocal >} >_epatch_draw_line () >{ > [[ -z $1 ]] && set "$(printf "%65s" '')"; > echo "${1//?/=}" >} >_filter-hardened () >{ > local f; > for f in "$@"; > do > case "${f}" in > -fPIC | -fpic | -fPIE | -fpie | -Wl,pie | -pie) > gcc-specs-pie || continue; > is-flagq -nopie || append-flags -nopie > ;; > -fstack-protector) > gcc-specs-ssp || continue; > is-flagq -fno-stack-protector || append-flags $(test-flags -fno-stack-protector) > ;; > -fstack-protector-all) > gcc-specs-ssp-to-all || continue; > is-flagq -fno-stack-protector-all || append-flags $(test-flags -fno-stack-protector-all) > ;; > -fno-strict-overflow) > gcc-specs-nostrict || continue; > is-flagq -fstrict-overflow || append-flags $(test-flags -fstrict-overflow) > ;; > esac; > done >} >_filter-var () >{ > local f x var=$1 new=(); > shift; > for f in ${!var}; > do > for x in "$@"; > do > [[ ${f} == ${x} ]] && continue 2; > done; > new+=("${f}"); > done; > eval export ${var}=\""${new[*]}"\" >} >_gcc-install-dir () >{ > echo "$(LC_ALL=C $(tc-getCC) -print-search-dirs 2> /dev/null | awk '$1=="install:" {print $2}')" >} >_gcc-specs-directive_raw () >{ > local cc=$(tc-getCC); > local specfiles=$(LC_ALL=C ${cc} -v 2>&1 | awk '$1=="Reading" {print $NF}'); > ${cc} -dumpspecs 2> /dev/null | cat - ${specfiles} | awk -v directive=$1 'BEGIN { pspec=""; spec=""; outside=1 } >$1=="*"directive":" { pspec=spec; spec=""; outside=0; next } > outside || NF==0 || ( substr($1,1,1)=="*" && substr($1,length($1),1)==":" ) { outside=1; next } > spec=="" && substr($0,1,1)=="+" { spec=pspec " " substr($0,2); next } > { spec=spec $0 } >END { print spec }'; > return 0 >} >_gcc-specs-exists () >{ > [[ -f $(_gcc-install-dir)/$1 ]] >} >_gcc_fullversion () >{ > local ver="$1"; > shift; > set -- `$(tc-getCPP "$@") -E -P - <<<"__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__"`; > eval echo "$ver" >} >_is_flagq () >{ > local x; > for x in ${!1}; > do > [[ ${x} == $2 ]] && return 0; > done; > return 1 >} >_pax_list_files () >{ > local f cmd; > cmd=$1; > shift; > for f in "$@"; > do > ${cmd} " ${f}"; > done >} >_python_abi-specific_local_scope () >{ > [[ " ${FUNCNAME[@]:2} " =~ " "(_python_final_sanity_checks|python_execute_function|python_mod_optimize|python_mod_cleanup)" " ]] >} >_python_calculate_PYTHON_ABIS () >{ > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_initial_sanity_checks; > if [[ "$(declare -p PYTHON_ABIS 2> /dev/null)" != "declare -x PYTHON_ABIS="* ]] && has "${EAPI:-0}" 0 1 2 3 4; then > local PYTHON_ABI; > if [[ "$(declare -p USE_PYTHON 2> /dev/null)" == "declare -x USE_PYTHON="* ]]; then > local cpython_enabled="0"; > if [[ -z "${USE_PYTHON}" ]]; then > die "USE_PYTHON variable is empty"; > fi; > for PYTHON_ABI in ${USE_PYTHON}; > do > if ! has "${PYTHON_ABI}" "${_PYTHON_GLOBALLY_SUPPORTED_ABIS[@]}"; then > die "USE_PYTHON variable contains invalid value '${PYTHON_ABI}'"; > fi; > if has "${PYTHON_ABI}" "${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}" "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}"; then > cpython_enabled="1"; > fi; > if ! _python_check_python_abi_matching --patterns-list "${PYTHON_ABI}" "${RESTRICT_PYTHON_ABIS}"; then > export PYTHON_ABIS+="${PYTHON_ABIS:+ }${PYTHON_ABI}"; > fi; > done; > if [[ -z "${PYTHON_ABIS//[${IFS}]/}" ]]; then > die "USE_PYTHON variable does not enable any Python ABI supported by ${CATEGORY}/${PF}"; > fi; > if [[ "${cpython_enabled}" == "0" ]]; then > die "USE_PYTHON variable does not enable any CPython ABI"; > fi; > else > local python_version python2_version python3_version support_python_major_version; > if ! has_version "dev-lang/python"; then > die "${FUNCNAME}(): 'dev-lang/python' is not installed"; > fi; > python_version="$("${EPREFIX}/usr/bin/python" -c 'from sys import version_info; print(".".join(str(x) for x in version_info[:2]))')"; > if has_version "=dev-lang/python-2*"; then > if [[ "$(readlink "${EPREFIX}/usr/bin/python2")" != "python2."* ]]; then > die "'${EPREFIX}/usr/bin/python2' is not valid symlink"; > fi; > python2_version="$("${EPREFIX}/usr/bin/python2" -c 'from sys import version_info; print(".".join(str(x) for x in version_info[:2]))')"; > support_python_major_version="0"; > for PYTHON_ABI in "${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}"; > do > if ! _python_check_python_abi_matching --patterns-list "${PYTHON_ABI}" "${RESTRICT_PYTHON_ABIS}"; then > support_python_major_version="1"; > break; > fi; > done; > if [[ "${support_python_major_version}" == "1" ]]; then > if _python_check_python_abi_matching --patterns-list "${python2_version}" "${RESTRICT_PYTHON_ABIS}"; then > die "Active version of CPython 2 is not supported by ${CATEGORY}/${PF}"; > fi; > else > python2_version=""; > fi; > fi; > if has_version "=dev-lang/python-3*"; then > if [[ "$(readlink "${EPREFIX}/usr/bin/python3")" != "python3."* ]]; then > die "'${EPREFIX}/usr/bin/python3' is not valid symlink"; > fi; > python3_version="$("${EPREFIX}/usr/bin/python3" -c 'from sys import version_info; print(".".join(str(x) for x in version_info[:2]))')"; > support_python_major_version="0"; > for PYTHON_ABI in "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}"; > do > if ! _python_check_python_abi_matching --patterns-list "${PYTHON_ABI}" "${RESTRICT_PYTHON_ABIS}"; then > support_python_major_version="1"; > break; > fi; > done; > if [[ "${support_python_major_version}" == "1" ]]; then > if _python_check_python_abi_matching --patterns-list "${python3_version}" "${RESTRICT_PYTHON_ABIS}"; then > die "Active version of CPython 3 is not supported by ${CATEGORY}/${PF}"; > fi; > else > python3_version=""; > fi; > fi; > if [[ -z "${python2_version}" && -z "${python3_version}" ]]; then > eerror "${CATEGORY}/${PF} requires at least one of the following packages:"; > for PYTHON_ABI in "${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}" "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}"; > do > if ! _python_check_python_abi_matching --patterns-list "${PYTHON_ABI}" "${RESTRICT_PYTHON_ABIS}"; then > eerror " dev-lang/python:${PYTHON_ABI}"; > fi; > done; > die "No supported version of CPython installed"; > fi; > if [[ -n "${python2_version}" && "${python_version}" == "2."* && "${python_version}" != "${python2_version}" ]]; then > eerror "Python wrapper is configured incorrectly or '${EPREFIX}/usr/bin/python2' symlink"; > eerror "is set incorrectly. Use \`eselect python\` to fix configuration."; > die "Incorrect configuration of Python"; > fi; > if [[ -n "${python3_version}" && "${python_version}" == "3."* && "${python_version}" != "${python3_version}" ]]; then > eerror "Python wrapper is configured incorrectly or '${EPREFIX}/usr/bin/python3' symlink"; > eerror "is set incorrectly. Use \`eselect python\` to fix configuration."; > die "Incorrect configuration of Python"; > fi; > PYTHON_ABIS="${python2_version} ${python3_version}"; > PYTHON_ABIS="${PYTHON_ABIS# }"; > export PYTHON_ABIS="${PYTHON_ABIS% }"; > fi; > fi; > _python_final_sanity_checks >} >_python_check_python_abi_matching () >{ > local pattern patterns patterns_list="0" PYTHON_ABI; > while (($#)); do > case "$1" in > --patterns-list) > patterns_list="1" > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > if [[ "$#" -ne 2 ]]; then > die "${FUNCNAME}() requires 2 arguments"; > fi; > PYTHON_ABI="$1"; > if [[ "${patterns_list}" == "0" ]]; then > pattern="$2"; > if [[ "${pattern}" == *"-cpython" ]]; then > [[ "${PYTHON_ABI}" =~ ^[[:digit:]]+\.[[:digit:]]+$ && "${PYTHON_ABI}" == ${pattern%-cpython} ]]; > else > if [[ "${pattern}" == *"-jython" ]]; then > [[ "${PYTHON_ABI}" == ${pattern} ]]; > else > if [[ "${pattern}" == *"-pypy-"* ]]; then > [[ "${PYTHON_ABI}" == ${pattern} ]]; > else > if [[ "${PYTHON_ABI}" =~ ^[[:digit:]]+\.[[:digit:]]+$ ]]; then > [[ "${PYTHON_ABI}" == ${pattern} ]]; > else > if [[ "${PYTHON_ABI}" =~ ^[[:digit:]]+\.[[:digit:]]+-jython$ ]]; then > [[ "${PYTHON_ABI%-jython}" == ${pattern} ]]; > else > if [[ "${PYTHON_ABI}" =~ ^[[:digit:]]+\.[[:digit:]]+-pypy-[[:digit:]]+\.[[:digit:]]+$ ]]; then > [[ "${PYTHON_ABI%-pypy-*}" == ${pattern} ]]; > else > die "${FUNCNAME}(): Unrecognized Python ABI '${PYTHON_ABI}'"; > fi; > fi; > fi; > fi; > fi; > fi; > else > patterns="${2// / >}"; > while read pattern; do > if _python_check_python_abi_matching "${PYTHON_ABI}" "${pattern}"; then > return 0; > fi; > done <<< "${patterns}"; > return 1; > fi >} >_python_check_python_pkg_setup_execution () >{ > [[ " ${FUNCNAME[@]:1} " =~ " "(python_set_active_version|python_pkg_setup)" " ]] && return; > if ! has "${EAPI:-0}" 0 1 2 3 && [[ -z "${PYTHON_PKG_SETUP_EXECUTED}" ]]; then > die "python_pkg_setup() not called"; > fi >} >_python_clean_compiled_modules () >{ > _python_initialize_prefix_variables; > _python_set_color_variables; > [[ "${FUNCNAME[1]}" =~ ^(python_mod_optimize|python_mod_cleanup)$ ]] || die "${FUNCNAME}(): Invalid usage"; > local base_module_name compiled_file compiled_files=() dir path py_file root; > root="${EROOT%/}"; > for path in "$@"; > do > compiled_files=(); > if [[ -d "${path}" ]]; then > while read -d '' -r compiled_file; do > compiled_files+=("${compiled_file}"); > done < <(find "${path}" "(" -name "*.py[co]" -o -name "*\$py.class" ")" -print0); > if [[ "${EBUILD_PHASE}" == "postrm" ]]; then > find "${path}" -type d | sort -r | while read -r dir; do > if rmdir "${dir}" 2> /dev/null; then > echo "${_CYAN}<<< ${dir}${_NORMAL}"; > fi; > done; > fi; > else > if [[ "${path}" == *.py ]]; then > base_module_name="${path##*/}"; > base_module_name="${base_module_name%.py}"; > if [[ -d "${path%/*}/__pycache__" ]]; then > while read -d '' -r compiled_file; do > compiled_files+=("${compiled_file}"); > done < <(find "${path%/*}/__pycache__" "(" -name "${base_module_name}.*.py[co]" -o -name "${base_module_name}\$py.class" ")" -print0); > fi; > compiled_files+=("${path}c" "${path}o" "${path%.py}\$py.class"); > fi; > fi; > for compiled_file in "${compiled_files[@]}"; > do > [[ ! -f "${compiled_file}" ]] && continue; > dir="${compiled_file%/*}"; > dir="${dir##*/}"; > if [[ "${compiled_file}" == *.py[co] ]]; then > if [[ "${dir}" == "__pycache__" ]]; then > base_module_name="${compiled_file##*/}"; > base_module_name="${base_module_name%.*py[co]}"; > base_module_name="${base_module_name%.*}"; > py_file="${compiled_file%__pycache__/*}${base_module_name}.py"; > else > py_file="${compiled_file%[co]}"; > fi; > if [[ "${EBUILD_PHASE}" == "postinst" ]]; then > [[ -f "${py_file}" && "${compiled_file}" -nt "${py_file}" ]] && continue; > else > [[ -f "${py_file}" ]] && continue; > fi; > echo "${_BLUE}<<< ${compiled_file%[co]}[co]${_NORMAL}"; > rm -f "${compiled_file%[co]}"[co]; > else > if [[ "${compiled_file}" == *\$py.class ]]; then > if [[ "${dir}" == "__pycache__" ]]; then > base_module_name="${compiled_file##*/}"; > base_module_name="${base_module_name%\$py.class}"; > py_file="${compiled_file%__pycache__/*}${base_module_name}.py"; > else > py_file="${compiled_file%\$py.class}.py"; > fi; > if [[ "${EBUILD_PHASE}" == "postinst" ]]; then > [[ -f "${py_file}" && "${compiled_file}" -nt "${py_file}" ]] && continue; > else > [[ -f "${py_file}" ]] && continue; > fi; > echo "${_BLUE}<<< ${compiled_file}${_NORMAL}"; > rm -f "${compiled_file}"; > else > die "${FUNCNAME}(): Unrecognized file type: '${compiled_file}'"; > fi; > fi; > dir="${compiled_file%/*}"; > while [[ "${dir}" != "${root}" ]]; do > if rmdir "${dir}" 2> /dev/null; then > echo "${_CYAN}<<< ${dir}${_NORMAL}"; > else > break; > fi; > dir="${dir%/*}"; > done; > done; > done >} >_python_final_sanity_checks () >{ > if ! _python_implementation && [[ "$(declare -p PYTHON_SANITY_CHECKS_EXECUTED 2> /dev/null)" != "declare -- PYTHON_SANITY_CHECKS_EXECUTED="* || " ${FUNCNAME[@]:1} " =~ " "(python_set_active_version|python_pkg_setup)" " && -z "${PYTHON_SKIP_SANITY_CHECKS}" ]]; then > local PYTHON_ABI="${PYTHON_ABI}"; > for PYTHON_ABI in ${PYTHON_ABIS-${PYTHON_ABI}}; > do > if ! has_version "$(python_get_implementational_package)"; then > die "$(python_get_implementational_package) is not installed"; > fi; > if [[ "$(EPYTHON="$(PYTHON)" python -c "${_PYTHON_ABI_EXTRACTION_COMMAND}")" != "${PYTHON_ABI}" ]]; then > eerror "Path to 'python': '$(type -p python)'"; > eerror "ABI: '${ABI}'"; > eerror "DEFAULT_ABI: '${DEFAULT_ABI}'"; > eerror "EPYTHON: '$(PYTHON)'"; > eerror "PYTHON_ABI: '${PYTHON_ABI}'"; > eerror "Locally active version of Python: '$(EPYTHON="$(PYTHON)" python -c "${_PYTHON_ABI_EXTRACTION_COMMAND}")'"; > die "'python' does not respect EPYTHON variable"; > fi; > done; > fi; > PYTHON_SANITY_CHECKS_EXECUTED="1" >} >_python_get_implementation () >{ > local ignore_invalid="0"; > while (($#)); do > case "$1" in > --ignore-invalid) > ignore_invalid="1" > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > if [[ "$#" -ne 1 ]]; then > die "${FUNCNAME}() requires 1 argument"; > fi; > if [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+$ ]]; then > echo "CPython"; > else > if [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+-jython$ ]]; then > echo "Jython"; > else > if [[ "$1" =~ ^[[:digit:]]+\.[[:digit:]]+-pypy-[[:digit:]]+\.[[:digit:]]+$ ]]; then > echo "PyPy"; > else > if [[ "${ignore_invalid}" == "0" ]]; then > die "${FUNCNAME}(): Unrecognized Python ABI '$1'"; > fi; > fi; > fi; > fi >} >_python_implementation () >{ > if [[ "${CATEGORY}/${PN}" == "dev-lang/python" ]]; then > return 0; > else > if [[ "${CATEGORY}/${PN}" == "dev-java/jython" ]]; then > return 0; > else > if [[ "${CATEGORY}/${PN}" == "dev-python/pypy" ]]; then > return 0; > else > return 1; > fi; > fi; > fi >} >_python_initial_sanity_checks () >{ > if [[ "$(declare -p PYTHON_SANITY_CHECKS_EXECUTED 2> /dev/null)" != "declare -- PYTHON_SANITY_CHECKS_EXECUTED="* || " ${FUNCNAME[@]:1} " =~ " "(python_set_active_version|python_pkg_setup)" " && -z "${PYTHON_SKIP_SANITY_CHECKS}" ]]; then > if [[ "$(readlink "${EPREFIX}/usr/bin/python")" != "python-wrapper" ]]; then > eerror "'${EPREFIX}/usr/bin/python' is not valid symlink."; > eerror "Use \`eselect python set \${python_interpreter}\` to fix this problem."; > die "'${EPREFIX}/usr/bin/python' is not valid symlink"; > fi; > if [[ "$(<"${EPREFIX}/usr/bin/python-config")" != *"Gentoo python-config wrapper script"* ]]; then > eerror "'${EPREFIX}/usr/bin/python-config' is not valid script"; > eerror "Use \`eselect python set \${python_interpreter}\` to fix this problem."; > die "'${EPREFIX}/usr/bin/python-config' is not valid script"; > fi; > fi >} >_python_initialize_prefix_variables () >{ > if has "${EAPI:-0}" 0 1 2; then > if [[ -n "${ROOT}" && -z "${EROOT}" ]]; then > EROOT="${ROOT%/}${EPREFIX}/"; > fi; > if [[ -n "${D}" && -z "${ED}" ]]; then > ED="${D%/}${EPREFIX}/"; > fi; > fi >} >_python_package_supporting_installation_for_multiple_python_abis () >{ > if has "${EAPI:-0}" 0 1 2 3 4; then > if [[ -n "${SUPPORT_PYTHON_ABIS}" ]]; then > return 0; > else > return 1; > fi; > else > die "${FUNCNAME}(): Support for EAPI=\"${EAPI}\" not implemented"; > fi >} >_python_prepare_flags () >{ > local array=() deleted_flag element flags new_value old_flag old_value operator pattern prefix variable; > for variable in CPPFLAGS CFLAGS CXXFLAGS LDFLAGS; > do > eval "_PYTHON_SAVED_${variable}=\"\${!variable}\""; > for prefix in PYTHON_USER_ PYTHON_; > do > if [[ "$(declare -p ${prefix}${variable} 2> /dev/null)" == "declare -a ${prefix}${variable}="* ]]; then > eval "array=(\"\${${prefix}${variable}[@]}\")"; > for element in "${array[@]}"; > do > if [[ "${element}" =~ ^${_PYTHON_ABI_PATTERN_REGEX}\ (\+|-)\ .+ ]]; then > pattern="${element%% *}"; > element="${element#* }"; > operator="${element%% *}"; > flags="${element#* }"; > if _python_check_python_abi_matching "${PYTHON_ABI}" "${pattern}"; then > if [[ "${operator}" == "+" ]]; then > eval "export ${variable}+=\"\${variable:+ }${flags}\""; > else > if [[ "${operator}" == "-" ]]; then > flags="${flags// / >}"; > old_value="${!variable// / >}"; > new_value=""; > while read old_flag; do > while read deleted_flag; do > if [[ "${old_flag}" == ${deleted_flag} ]]; then > continue 2; > fi; > done <<< "${flags}"; > new_value+="${new_value:+ }${old_flag}"; > done <<< "${old_value}"; > eval "export ${variable}=\"\${new_value}\""; > fi; > fi; > fi; > else > die "Element '${element}' of ${prefix}${variable} array has invalid syntax"; > fi; > done; > else > if [[ -n "$(declare -p ${prefix}${variable} 2> /dev/null)" ]]; then > die "${prefix}${variable} should be indexed array"; > fi; > fi; > done; > done >} >_python_restore_flags () >{ > local variable; > for variable in CPPFLAGS CFLAGS CXXFLAGS LDFLAGS; > do > eval "${variable}=\"\${_PYTHON_SAVED_${variable}}\""; > unset _PYTHON_SAVED_${variable}; > done >} >_python_set_color_variables () >{ > if [[ "${PYTHON_COLORS}" != "0" && "${NOCOLOR:-false}" =~ ^(false|no)$ ]]; then > _BOLD='[1m'; > _RED='[1;31m'; > _GREEN='[1;32m'; > _BLUE='[1;34m'; > _CYAN='[1;36m'; > _NORMAL='[0m'; > else > _BOLD=; > _RED=; > _GREEN=; > _BLUE=; > _CYAN=; > _NORMAL=; > fi >} >_python_test_hook () >{ > if [[ "$#" -ne 1 ]]; then > die "${FUNCNAME}() requires 1 argument"; > fi; > if _python_package_supporting_installation_for_multiple_python_abis && [[ "$(type -t "${_PYTHON_TEST_FUNCTION}_$1_hook")" == "function" ]]; then > "${_PYTHON_TEST_FUNCTION}_$1_hook"; > fi >} >_tc-getPROG () >{ > local tuple=$1; > local v var vars=$2; > local prog=$3; > var=${vars%% *}; > for v in ${vars}; > do > if [[ -n ${!v} ]]; then > export ${var}="${!v}"; > echo "${!v}"; > return 0; > fi; > done; > local search=; > [[ -n $4 ]] && search=$(type -p "$4-${prog}"); > [[ -z ${search} && -n ${!tuple} ]] && search=$(type -p "${!tuple}-${prog}"); > [[ -n ${search} ]] && prog=${search##*/}; > export ${var}=${prog}; > echo "${!var}" >} >all-flag-vars () >{ > echo {C,CPP,CXX,CCAS,F,FC,LD}FLAGS >} >append-cflags () >{ > [[ $# -eq 0 ]] && return 0; > export CFLAGS=$(test-flags-CC ${CFLAGS} "$@"); > return 0 >} >append-cppflags () >{ > [[ $# -eq 0 ]] && return 0; > export CPPFLAGS="${CPPFLAGS} $*"; > return 0 >} >append-cxxflags () >{ > [[ $# -eq 0 ]] && return 0; > export CXXFLAGS=$(test-flags-CXX ${CXXFLAGS} "$@"); > return 0 >} >append-fflags () >{ > [[ $# -eq 0 ]] && return 0; > export FFLAGS=$(test-flags-F77 ${FFLAGS} "$@"); > export FCFLAGS=$(test-flags-FC ${FCFLAGS} "$@"); > return 0 >} >append-flags () >{ > [[ $# -eq 0 ]] && return 0; > append-cflags "$@"; > append-cxxflags "$@"; > append-fflags "$@"; > return 0 >} >append-ldflags () >{ > [[ $# -eq 0 ]] && return 0; > local flag; > for flag in "$@"; > do > [[ ${flag} == -l* ]] && ewarn "Appending a library link instruction (${flag}); libraries to link to should not be passed through LDFLAGS"; > done; > export LDFLAGS="${LDFLAGS} $*"; > return 0 >} >append-lfs-flags () >{ > [[ $# -ne 0 ]] && die "append-lfs-flags takes no arguments"; > append-cppflags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE >} >append-libs () >{ > [[ $# -eq 0 ]] && return 0; > local flag; > for flag in "$@"; > do > [[ ${flag} == -l* ]] && flag=${flag#-l}; > export LIBS="${LIBS} -l${flag}"; > done; > return 0 >} >autotools_check_macro () >{ > [[ -f configure.ac || -f configure.in ]] || return 0; > local macro; > for macro in "$@"; > do > WANT_AUTOCONF="2.5" autoconf $(autotools_m4dir_include) --trace="${macro}" 2> /dev/null; > done; > return 0 >} >autotools_check_macro_val () >{ > local macro=$1 scan_out; > autotools_check_macro "${macro}" | gawk -v macro="${macro}" '($0 !~ /^[[:space:]]*(#|dnl)/) { > if (match($0, macro ":(.*)$", res)) > print res[1] > }' | uniq; > return 0 >} >autotools_env_setup () >{ > if [[ ${WANT_AUTOMAKE} == "latest" ]]; then > local pv; > for pv in ${_LATEST_AUTOMAKE[@]/#*:}; > do > ROOT=/ has_version "=sys-devel/automake-${pv}*" && export WANT_AUTOMAKE="${pv}"; > done; > [[ ${WANT_AUTOMAKE} == "latest" ]] && die "Cannot find the latest automake! Tried ${_LATEST_AUTOMAKE}"; > fi; > [[ ${WANT_AUTOCONF} == "latest" ]] && export WANT_AUTOCONF=2.5 >} >autotools_get_auxdir () >{ > autotools_check_macro_val AC_CONFIG_AUX_DIR >} >autotools_get_subdirs () >{ > autotools_check_macro_val AC_CONFIG_SUBDIRS >} >autotools_m4dir_include () >{ > _autotools_m4dir_include ${AT_M4DIR} >} >autotools_m4sysdir_include () >{ > _autotools_m4dir_include $(eval echo ${AT_SYS_M4DIR}) >} >autotools_run_tool () >{ > local autofail=true m4flags=false; > while [[ -n $1 ]]; do > case $1 in > --at-no-fail) > autofail=false > ;; > --at-m4flags) > m4flags=true > ;; > *) > break > ;; > esac; > shift; > done; > if [[ ${EBUILD_PHASE} != "unpack" && ${EBUILD_PHASE} != "prepare" ]]; then > ewarn "QA Warning: running $1 in ${EBUILD_PHASE} phase"; > fi; > autotools_env_setup; > local STDERR_TARGET="${T}/$1.out"; > if [[ -e ${STDERR_TARGET} ]]; then > local i=1; > while :; do > STDERR_TARGET="${T}/$1-${i}.out"; > [[ -e ${STDERR_TARGET} ]] || break; > : $(( i++ )); > done; > fi; > if ${m4flags}; then > set -- "${1}" $(autotools_m4dir_include) "${@:2}" $(autotools_m4sysdir_include); > fi; > printf "***** $1 *****\n***** PWD: ${PWD}\n***** $*\n\n" > "${STDERR_TARGET}"; > ebegin "Running $@"; > "$@" >> "${STDERR_TARGET}" 2>&1; > if ! eend $? && ${autofail}; then > echo; > eerror "Failed Running $1 !"; > eerror; > eerror "Include in your bugreport the contents of:"; > eerror; > eerror " ${STDERR_TARGET}"; > echo; > die "Failed Running $1 !"; > fi >} >built_with_use () >{ > local hidden="no"; > if [[ $1 == "--hidden" ]]; then > hidden="yes"; > shift; > fi; > local missing_action="die"; > if [[ $1 == "--missing" ]]; then > missing_action=$2; > shift; > shift; > case ${missing_action} in > true | false | die) > > ;; > *) > die "unknown action '${missing_action}'" > ;; > esac; > fi; > local opt=$1; > [[ ${opt:0:1} = "-" ]] && shift || opt="-a"; > local PKG=$(best_version $1); > [[ -z ${PKG} ]] && die "Unable to resolve $1 to an installed package"; > shift; > local USEFILE=${ROOT}/var/db/pkg/${PKG}/USE; > local IUSEFILE=${ROOT}/var/db/pkg/${PKG}/IUSE; > if [[ ! -e ${USEFILE} ]] || [[ ! -e ${IUSEFILE} && ${hidden} == "no" ]]; then > case ${missing_action} in > true) > return 0 > ;; > false) > return 1 > ;; > die) > die "Unable to determine what USE flags $PKG was built with" > ;; > esac; > fi; > if [[ ${hidden} == "no" ]]; then > local IUSE_BUILT=($(<"${IUSEFILE}")); > local expand; > for expand in $(echo ${USE_EXPAND} | tr '[:upper:]' '[:lower:]'); > do > if [[ $1 == ${expand}_* ]]; then > expand=""; > break; > fi; > done; > if [[ -n ${expand} ]]; then > if ! has $1 ${IUSE_BUILT[@]#[-+]}; then > case ${missing_action} in > true) > return 0 > ;; > false) > return 1 > ;; > die) > die "$PKG does not actually support the $1 USE flag!" > ;; > esac; > fi; > fi; > fi; > local USE_BUILT=$(<${USEFILE}); > while [[ $# -gt 0 ]]; do > if [[ ${opt} = "-o" ]]; then > has $1 ${USE_BUILT} && return 0; > else > has $1 ${USE_BUILT} || return 1; > fi; > shift; > done; > [[ ${opt} = "-a" ]] >} >check-reqs_disk () >{ > debug-print-function ${FUNCNAME} "$@"; > [[ -z ${2} ]] && die "Usage: ${FUNCNAME} [path] [size]"; > local path=${1}; > local size=${2}; > local space_megs; > check-reqs_start_phase ${size} "disk space at \"${path}\""; > space_megs=$(df -Pm "${1}" 2>/dev/null | awk 'FNR == 2 {print $4}'); > if [[ $? == 0 && -n ${space_megs} ]]; then > if [[ ${space_megs} -lt $(check-reqs_get_mebibytes ${size}) ]]; then > eend 1; > check-reqs_unsatisfied ${size} "disk space at \"${path}\""; > else > eend 0; > fi; > else > eend 1; > ewarn "Couldn't determine disk space, skipping..."; > fi >} >check-reqs_get_mebibytes () >{ > debug-print-function ${FUNCNAME} "$@"; > [[ -z ${1} ]] && die "Usage: ${FUNCNAME} [size]"; > local unit=${1:(-1)}; > local size=${1%[GMT]}; > case ${unit} in > G) > echo $((1024 * size)) > ;; > [M0-9]) > echo ${size} > ;; > T) > echo $((1024 * 1024 * size)) > ;; > *) > die "${FUNCNAME}: Unknown unit: ${unit}" > ;; > esac >} >check-reqs_get_number () >{ > debug-print-function ${FUNCNAME} "$@"; > [[ -z ${1} ]] && die "Usage: ${FUNCNAME} [size]"; > local unit=${1:(-1)}; > local size=${1%[GMT]}; > if [[ ${size} == ${1} ]]; then > ewarn "QA: Package does not specify unit for the size check"; > ewarn "QA: Assuming mebibytes."; > ewarn "QA: File bug against the package. It should specify the unit."; > fi; > echo ${size} >} >check-reqs_get_unit () >{ > debug-print-function ${FUNCNAME} "$@"; > [[ -z ${1} ]] && die "Usage: ${FUNCNAME} [size]"; > local unit=${1:(-1)}; > case ${unit} in > G) > echo "gibibytes" > ;; > [M0-9]) > echo "mebibytes" > ;; > T) > echo "tebibytes" > ;; > *) > die "${FUNCNAME}: Unknown unit: ${unit}" > ;; > esac >} >check-reqs_memory () >{ > debug-print-function ${FUNCNAME} "$@"; > [[ -z ${1} ]] && die "Usage: ${FUNCNAME} [size]"; > local size=${1}; > local actual_memory; > check-reqs_start_phase ${size} "RAM"; > if [[ -r /proc/meminfo ]]; then > actual_memory=$(awk '/MemTotal/ { print $2 }' /proc/meminfo); > else > actual_memory=$(sysctl hw.physmem 2>/dev/null ); > [[ "$?" == "0" ]] && actual_memory=$(echo $actual_memory | sed -e 's/^[^:=]*[:=]//' ); > fi; > if [[ -n ${actual_memory} ]]; then > if [[ ${actual_memory} -lt $((1024 * $(check-reqs_get_mebibytes ${size}))) ]]; then > eend 1; > check-reqs_unsatisfied ${size} "RAM"; > else > eend 0; > fi; > else > eend 1; > ewarn "Couldn't determine amount of memory, skipping..."; > fi >} >check-reqs_output () >{ > debug-print-function ${FUNCNAME} "$@"; > local msg="ewarn"; > [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && msg="eerror"; > if [[ -n ${CHECKREQS_FAILED} ]]; then > ${msg}; > ${msg} "Space constrains set in the ebuild were not met!"; > ${msg} "The build will most probably fail, you should enhance the space"; > ${msg} "as per failed tests."; > ${msg}; > [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && die "Build requirements not met!"; > fi >} >check-reqs_pkg_pretend () >{ > debug-print-function ${FUNCNAME} "$@"; > check-reqs_pkg_setup "$@" >} >check-reqs_pkg_setup () >{ > debug-print-function ${FUNCNAME} "$@"; > check-reqs_prepare; > check-reqs_run; > check-reqs_output >} >check-reqs_prepare () >{ > debug-print-function ${FUNCNAME} "$@"; > if [[ -z ${CHECKREQS_MEMORY} && -z ${CHECKREQS_DISK_BUILD} && -z ${CHECKREQS_DISK_USR} && -z ${CHECKREQS_DISK_VAR} ]]; then > eerror "Set some check-reqs eclass variables if you want to use it."; > eerror "If you are user and see this message file a bug against the package."; > die "${FUNCNAME}: check-reqs eclass called but not actualy used!"; > fi >} >check-reqs_run () >{ > debug-print-function ${FUNCNAME} "$@"; > unset CHECKREQS_FAILED; > [[ -n ${CHECKREQS_MEMORY} ]] && check-reqs_memory ${CHECKREQS_MEMORY}; > [[ -n ${CHECKREQS_DISK_BUILD} ]] && check-reqs_disk "${T}" "${CHECKREQS_DISK_BUILD}"; > [[ -n ${CHECKREQS_DISK_USR} ]] && check-reqs_disk "${EROOT}/usr" "${CHECKREQS_DISK_USR}"; > [[ -n ${CHECKREQS_DISK_VAR} ]] && check-reqs_disk "${EROOT}/var" "${CHECKREQS_DISK_VAR}" >} >check-reqs_start_phase () >{ > debug-print-function ${FUNCNAME} "$@"; > [[ -z ${2} ]] && die "Usage: ${FUNCNAME} [size] [location]"; > local size=${1}; > local location=${2}; > local sizeunit="$(check-reqs_get_number ${size}) $(check-reqs_get_unit ${size})"; > ebegin "Checking for at least ${sizeunit} ${location}" >} >check-reqs_unsatisfied () >{ > debug-print-function ${FUNCNAME} "$@"; > [[ -z ${2} ]] && die "Usage: ${FUNCNAME} [size] [location]"; > local msg="ewarn"; > local size=${1}; > local location=${2}; > local sizeunit="$(check-reqs_get_number ${size}) $(check-reqs_get_unit ${size})"; > [[ ${EBUILD_PHASE} == "pretend" && -z ${I_KNOW_WHAT_I_AM_DOING} ]] && msg="eerror"; > ${msg} "There is NOT at least ${sizeunit} ${location}"; > CHECKREQS_FAILED="true" >} >check_license () >{ > die "you no longer need this as portage supports ACCEPT_LICENSE itself" >} >check_reqs () >{ > debug-print-function ${FUNCNAME} "$@"; > echo; > ewarn "QA: Package calling old ${FUNCNAME} function."; > ewarn "QA: Please file a bug against the package."; > ewarn "QA: It should call check-reqs_pkg_pretend and check-reqs_pkg_setup"; > ewarn "QA: and possibly use EAPI=4 or later."; > echo; > check-reqs_pkg_setup "$@" >} >config_rpath_update () >{ > local dst src=$(type -P gettext | sed 's:bin/gettext:share/gettext/config.rpath:'); > [[ $# -eq 0 ]] && set -- $(find -name config.rpath); > [[ $# -eq 0 ]] && return 0; > einfo "Updating all config.rpath files"; > for dst in "$@"; > do > einfo " ${dst}"; > cp "${src}" "${dst}" || die; > done >} >darwintoolize () >{ > die "Use elibtoolize" >} >doicon () >{ > ( local i j ret; > insinto /usr/share/pixmaps; > for i in "$@"; > do > if [[ -f ${i} ]]; then > doins "${i}"; > ((ret+=$?)); > else > if [[ -d ${i} ]]; then > for j in "${i}"/*.png; > do > doins "${j}"; > ((ret+=$?)); > done; > else > ((++ret)); > fi; > fi; > done; > exit ${ret} ) >} >domenu () >{ > ( local i j ret=0; > insinto /usr/share/applications; > for i in "$@"; > do > if [[ -f ${i} ]]; then > doins "${i}"; > ((ret+=$?)); > else > if [[ -d ${i} ]]; then > for j in "${i}"/*.desktop; > do > doins "${j}"; > ((ret+=$?)); > done; > else > ((++ret)); > fi; > fi; > done; > exit ${ret} ) >} >eaclocal () >{ > [[ ! -f aclocal.m4 || -n $(grep -e 'generated.*by aclocal' aclocal.m4) ]] && autotools_run_tool --at-m4flags aclocal "$@" $(eaclocal_amflags) >} >eaclocal_amflags () >{ > local aclocal_opts amflags_file; > for amflags_file in GNUmakefile.am Makefile.am GNUmakefile.in Makefile.in; > do > [[ -e ${amflags_file} ]] || continue; > autotools_env_setup; > aclocal_opts=$(sed -n "/^ACLOCAL_AMFLAGS[[:space:]]*=/{ # match the first line > s:[^=]*=::p; # then gobble up all escaped lines > : nextline /\\\\$/{ n; p; b nextline; } }" ${amflags_file}); > eval aclocal_opts=\""${aclocal_opts}"\"; > break; > done; > echo ${aclocal_opts} >} >eautoconf () >{ > if [[ ! -f configure.ac && ! -f configure.in ]]; then > echo; > eerror "No configure.{ac,in} present in '${PWD}'!"; > echo; > die "No configure.{ac,in} present!"; > fi; > autotools_run_tool --at-m4flags autoconf "$@" >} >eautoheader () >{ > [[ -n $(autotools_check_macro "AC_CONFIG_HEADERS") ]] || return 0; > autotools_run_tool --at-no-fail --at-m4flags autoheader "$@" >} >eautomake () >{ > local extra_opts; > local makefile_name; > for makefile_name in {GNUmakefile,{M,m}akefile}.am ""; > do > [[ -f ${makefile_name} ]] && break; > done; > if [[ -z ${makefile_name} ]]; then > local am_init_automake=$(sed -n '/AM_INIT_AUTOMAKE/{s:#.*::;s:\<dnl\>.*::;p}' configure.??); > if [[ ${am_init_automake} != *"AM_INIT_AUTOMAKE"* ]]; then > return 0; > fi; > else > if [[ -z ${FROM_EAUTORECONF} && -f ${makefile_name%.am}.in ]]; then > local used_automake; > local installed_automake; > installed_automake=$(WANT_AUTOMAKE= automake --version | head -n 1 | sed -e 's:.*(GNU automake) ::'); > used_automake=$(head -n 1 < ${makefile_name%.am}.in | sed -e 's:.*by automake \(.*\) from .*:\1:'); > if [[ ${installed_automake} != ${used_automake} ]]; then > einfo "Automake used for the package (${used_automake}) differs from"; > einfo "the installed version (${installed_automake})."; > eautoreconf; > return 0; > fi; > fi; > fi; > [[ -f INSTALL && -f AUTHORS && -f ChangeLog && -f NEWS && -f README ]] || extra_opts="${extra_opts} --foreign"; > autotools_run_tool automake --add-missing --copy ${extra_opts} "$@" >} >eautopoint () >{ > autotools_run_tool autopoint "$@" >} >eautoreconf () >{ > local x auxdir g; > if [[ -z ${AT_NO_RECURSIVE} ]]; then > for x in $(autotools_get_subdirs); > do > if [[ -d ${x} ]]; then > pushd "${x}" > /dev/null; > AT_NOELIBTOOLIZE="yes" eautoreconf; > popd > /dev/null; > fi; > done; > fi; > auxdir=$(autotools_get_auxdir); > einfo "Running eautoreconf in '${PWD}' ..."; > [[ -n ${auxdir} ]] && mkdir -p ${auxdir}; > eaclocal; > [[ ${CHOST} == *-darwin* ]] && g=g; > if ${LIBTOOLIZE:-${g}libtoolize} -n --install &>/dev/null; then > _elibtoolize --copy --force --install; > else > _elibtoolize --copy --force; > fi; > eautoconf; > eautoheader; > [[ ${AT_NOEAUTOMAKE} != "yes" ]] && FROM_EAUTORECONF="yes" eautomake ${AM_OPTS}; > [[ ${AT_NOELIBTOOLIZE} == "yes" ]] && return 0; > S=${PWD} elibtoolize --force; > return 0 >} >ebeep () >{ > ewarn "QA Notice: ebeep is not defined in EAPI=${EAPI}, please file a bug at http://bugs.gentoo.org" >} >econf_build () >{ > tc-env_build econf --build=${CBUILD:-${CHOST}} "$@" >} >ecvs_clean () >{ > [[ -z $* ]] && set -- .; > find "$@" -type d -name 'CVS' -prune -print0 | xargs -0 rm -rf; > find "$@" -type f -name '.cvs*' -print0 | xargs -0 rm -rf >} >edos2unix () >{ > [[ $# -eq 0 ]] && return 0; > sed -i 's/\r$//' -- "$@" || die >} >egetent () >{ > local db=$1 key=$2; > [[ $# -ge 3 ]] && die "usage: egetent <database> <key>"; > case ${db} in > passwd | group) > > ;; > *) > die "sorry, database '${db}' not yet supported; file a bug" > ;; > esac; > case ${CHOST} in > *-darwin[678]) > case ${key} in > *[!0-9]*) > nidump ${db} . | awk -F: "(\$1 ~ /^${key}\$/) {print;exit;}" > ;; > *) > nidump ${db} . | awk -F: "(\$3 == ${key}) {print;exit;}" > ;; > esac > ;; > *-darwin*) > local mykey; > case ${db} in > passwd) > db="Users" mykey="UniqueID" > ;; > group) > db="Groups" mykey="PrimaryGroupID" > ;; > esac; > case ${key} in > *[!0-9]*) > dscl . -read /${db}/${key} 2> /dev/null | grep RecordName > ;; > *) > dscl . -search /${db} ${mykey} ${key} 2> /dev/null > ;; > esac > ;; > *-freebsd* | *-dragonfly*) > case ${db} in > passwd) > db="user" > ;; > *) > > ;; > esac; > local opts; > if [[ ${key} == [[:digit:]]* ]]; then > [[ ${db} == "user" ]] && opts="-u" || opts="-g"; > fi; > pw show ${db} ${opts} "${key}" -q > ;; > *-netbsd* | *-openbsd*) > grep "${key}:\*:" /etc/${db} > ;; > *) > nscd -i "${db}" 2> /dev/null; > getent "${db}" "${key}" > ;; > esac >} >egethome () >{ > local pos; > [[ $# -eq 1 ]] || die "usage: egethome <user>"; > case ${CHOST} in > *-darwin* | *-freebsd* | *-dragonfly*) > pos=9 > ;; > *) > pos=6 > ;; > esac; > egetent passwd "$1" | cut -d: -f${pos} >} >egetshell () >{ > local pos; > [[ $# -eq 1 ]] || die "usage: egetshell <user>"; > case ${CHOST} in > *-darwin* | *-freebsd* | *-dragonfly*) > pos=10 > ;; > *) > pos=7 > ;; > esac; > egetent passwd "$1" | cut -d: -f${pos} >} >elibtoolize () >{ > local x; > local do_portage="no"; > local do_reversedeps="no"; > local do_only_patches="no"; > local do_uclibc="yes"; > local deptoremove=; > local do_shallow="no"; > local force="false"; > local elt_patches="install-sh ltmain portage relink max_cmd_len sed test tmp cross as-needed"; > for x in "$@"; > do > case ${x} in > --portage) > do_portage="yes" > ;; > --reverse-deps) > do_reversedeps="yes"; > elt_patches+=" fix-relink" > ;; > --patch-only) > do_only_patches="yes" > ;; > --remove-internal-dep=*) > deptoremove=${x#--remove-internal-dep=}; > [[ -n ${deptoremove} ]] && elt_patches+=" rem-int-dep" > ;; > --shallow) > do_shallow="yes" > ;; > --no-uclibc) > do_uclibc="no" > ;; > --force) > force="true" > ;; > *) > eerror "Invalid elibtoolize option: ${x}"; > die "elibtoolize called with ${x} ??" > ;; > esac; > done; > [[ ${do_uclibc} == "yes" ]] && elt_patches+=" uclibc-conf uclibc-ltconf"; > case ${CHOST} in > *-aix*) > elt_patches+=" hardcode aixrtl aix-noundef" > ;; > *-darwin*) > elt_patches+=" darwin-ltconf darwin-ltmain darwin-conf" > ;; > *-solaris*) > elt_patches+=" sol2-conf" > ;; > *-freebsd*) > elt_patches+=" fbsd-conf fbsd-ltconf" > ;; > *-hpux*) > elt_patches+=" hpux-conf deplibs hc-flag-ld hardcode hardcode-relink relink-prog no-lc" > ;; > *-irix*) > elt_patches+=" irix-ltmain" > ;; > *-mint*) > elt_patches+=" mint-conf" > ;; > esac; > if $(tc-getLD) --version 2>&1 | grep -qs 'GNU gold'; then > elt_patches+=" gold-conf"; > fi; > set --; > if [[ ${do_shallow} == "yes" ]]; then > [[ -f ${S}/ltmain.sh ]] && set -- "${S}"; > else > set -- $(find "${S}" -name ltmain.sh -printf '%h '); > fi; > local d p; > for d in "$@"; > do > export ELT_APPLIED_PATCHES=; > if [[ -f ${d}/.elibtoolized ]]; then > ${force} || continue; > fi; > local outfunc="einfo"; > [[ -f ${d}/.elibtoolized ]] && outfunc="ewarn"; > ${outfunc} "Running elibtoolize in: ${d#${WORKDIR}/}/"; > if [[ ${outfunc} == "ewarn" ]]; then > ewarn " We've already been run in this tree; you should"; > ewarn " avoid this if possible (perhaps by filing a bug)"; > fi; > for p in ${elt_patches}; > do > local ret=0; > case ${p} in > portage) > if ! grep -qs 'We do not want portage' "${d}/ltmain.sh"; then > ELT_walk_patches "${d}/ltmain.sh" "${p}"; > ret=$?; > fi > ;; > rem-int-dep) > ELT_walk_patches "${d}/ltmain.sh" "${p}" "${deptoremove}"; > ret=$? > ;; > fix-relink) > if grep -qs 'inst_prefix_dir' "${d}/ltmain.sh"; then > ELT_walk_patches "${d}/ltmain.sh" "${p}"; > ret=$?; > fi > ;; > max_cmd_len) > if grep -qs 'max_cmd_len' "${d}/ltmain.sh"; then > ELT_walk_patches "${d}/ltmain.sh" "${p}"; > ret=$?; > fi > ;; > as-needed) > ELT_walk_patches "${d}/ltmain.sh" "${p}"; > ret=$? > ;; > uclibc-conf) > if grep -qs 'Transform linux' "${d}/configure"; then > ELT_walk_patches "${d}/configure" "${p}"; > ret=$?; > else > if [[ ! -e ${d}/configure ]] && grep -qs 'Transform linux' "${d}/../configure"; then > ELT_walk_patches "${d}/../configure" "${p}"; > ret=$?; > fi; > fi > ;; > uclibc-ltconf) > if [[ -s ${d}/ltconfig ]]; then > ELT_walk_patches "${d}/ltconfig" "${p}"; > ret=$?; > fi > ;; > fbsd-conf) > if grep -qs 'version_type=freebsd-' "${d}/configure"; then > ELT_walk_patches "${d}/configure" "${p}"; > ret=$?; > else > if [[ ! -e ${d}/configure ]] && grep -qs 'version_type=freebsd-' "${d}/../configure"; then > ELT_walk_patches "${d}/../configure" "${p}"; > ret=$?; > fi; > fi > ;; > fbsd-ltconf) > if [[ -s ${d}/ltconfig ]]; then > ELT_walk_patches "${d}/ltconfig" "${p}"; > ret=$?; > fi > ;; > darwin-conf) > if grep -qs '&& echo \.so ||' "${d}/configure"; then > ELT_walk_patches "${d}/configure" "${p}"; > ret=$?; > else > if [[ ! -e ${d}/configure ]] && grep -qs '&& echo \.so ||' "${d}/../configure"; then > ELT_walk_patches "${d}/../configure" "${p}"; > ret=$?; > fi; > fi > ;; > darwin-ltconf) > if [[ -s ${d}/ltconfig ]]; then > ELT_walk_patches "${d}/ltconfig" "${p}"; > ret=$?; > fi > ;; > darwin-ltmain) > if [[ -e ${d}/ltmain.sh ]] && ! grep -qs 'verstring="-compatibility_version' "${d}/ltmain.sh"; then > ELT_walk_patches "${d}/ltmain.sh" "${p}"; > ret=$?; > fi > ;; > aixrtl | hpux-conf) > ret=1; > local subret=0; > while [[ $subret -eq 0 ]]; do > subret=1; > if [[ -e ${d}/configure ]]; then > ELT_walk_patches "${d}/configure" "${p}"; > subret=$?; > else > if [[ ! -e ${d}/configure && -e ${d}/../configure ]]; then > ELT_walk_patches "${d}/../configure" "${p}"; > subret=$?; > fi; > fi; > if [[ $subret -eq 0 ]]; then > ret=0; > fi; > done > ;; > mint-conf | gold-conf | sol2-conf) > ret=1; > local subret=1; > if [[ -e ${d}/configure ]]; then > ELT_walk_patches "${d}/configure" "${p}"; > subret=$?; > else > if [[ -e ${d}/../configure ]]; then > ELT_walk_patches "${d}/../configure" "${p}"; > subret=$?; > else > if [[ -e ${d}/../../configure ]]; then > ELT_walk_patches "${d}/../../configure" "${p}"; > subret=$?; > fi; > fi; > fi; > if [[ $subret -eq 0 ]]; then > ret=0; > fi > ;; > install-sh) > ELT_walk_patches "${d}/install-sh" "${p}"; > ret=$? > ;; > cross) > if tc-is-cross-compiler; then > ELT_walk_patches "${d}/ltmain.sh" "${p}"; > ret=$?; > fi > ;; > *) > ELT_walk_patches "${d}/ltmain.sh" "${p}"; > ret=$? > ;; > esac; > if [[ ${ret} -ne 0 ]]; then > case ${p} in > relink) > local version=$(ELT_libtool_version "${d}/ltmain.sh"); > if ! grep -qs 'inst_prefix_dir' "${d}/ltmain.sh" && [[ $(VER_to_int "${version}") -ge $(VER_to_int "1.4.0") ]]; then > ewarn " Could not apply relink.patch!"; > fi > ;; > portage) > if [[ ${do_portage} == "yes" ]]; then > if ! grep -qs 'We do not want portage' "${d}/ltmain.sh"; then > echo; > eerror "Portage patch requested, but failed to apply!"; > eerror "Please file a bug report to add a proper patch."; > die "Portage patch requested, but failed to apply!"; > fi; > else > if grep -qs 'We do not want portage' "${d}/ltmain.sh"; then > :; > else > local version=$(ELT_libtool_version "${d}"/ltmain.sh); > echo; > eerror "Portage patch failed to apply (ltmain.sh version ${version})!"; > eerror "Please file a bug report to add a proper patch."; > die "Portage patch failed to apply!"; > fi; > ELT_APPLIED_PATCHES="portage"; > fi > ;; > uclibc-*) > [[ ${CHOST} == *-uclibc ]] && ewarn " uClibc patch set '${p}' failed to apply!" > ;; > fbsd-*) > if [[ ${CHOST} == *-freebsd* ]]; then > if [[ -z $(grep 'Handle Gentoo/FreeBSD as it was Linux' "${d}/configure" "${d}/../configure" 2>/dev/null) ]]; then > eerror " FreeBSD patch set '${p}' failed to apply!"; > die "FreeBSD patch set '${p}' failed to apply!"; > fi; > fi > ;; > darwin-*) > [[ ${CHOST} == *"-darwin"* ]] && ewarn " Darwin patch set '${p}' failed to apply!" > ;; > esac; > fi; > done; > if [[ -z ${ELT_APPLIED_PATCHES} ]]; then > if [[ ${do_portage} == "no" && ${do_reversedeps} == "no" && ${do_only_patches} == "no" && ${deptoremove} == "" ]]; then > ewarn "Cannot apply any patches, please file a bug about this"; > die; > fi; > fi; > rm -f "${d}/libtool"; > > "${d}/.elibtoolized"; > done >} >elt_patch_dir () >{ > local d="${ECLASSDIR}/ELT-patches"; > if [[ ! -d ${d} ]]; then > d="${ECLASSDIR_LOCAL}/ELT-patches"; > fi; > echo "${d}" >} >emktemp () >{ > local exe="touch"; > [[ $1 == -d ]] && exe="mkdir" && shift; > local topdir=$1; > if [[ -z ${topdir} ]]; then > [[ -z ${T} ]] && topdir="/tmp" || topdir=${T}; > fi; > if ! type -P mktemp > /dev/null; then > local tmp=/; > while [[ -e ${tmp} ]]; do > tmp=${topdir}/tmp.${RANDOM}.${RANDOM}.${RANDOM}; > done; > ${exe} "${tmp}" || ${exe} -p "${tmp}"; > echo "${tmp}"; > else > if [[ ${exe} == "touch" ]]; then > TMPDIR="${topdir}" mktemp -t tmp.XXXXXXXXXX; > else > TMPDIR="${topdir}" mktemp -dt tmp.XXXXXXXXXX; > fi; > fi >} >enewgroup () >{ > _assert_pkg_ebuild_phase ${FUNCNAME}; > local egroup=$1; > shift; > if [[ -z ${egroup} ]]; then > eerror "No group specified !"; > die "Cannot call enewgroup without a group"; > fi; > if [[ -n $(egetent group "${egroup}") ]]; then > return 0; > fi; > einfo "Adding group '${egroup}' to your system ..."; > local egid=$1; > shift; > if [[ ! -z ${egid} ]]; then > if [[ ${egid} -gt 0 ]]; then > if [[ -n $(egetent group ${egid}) ]]; then > egid="next available; requested gid taken"; > fi; > else > eerror "Groupid given but is not greater than 0 !"; > die "${egid} is not a valid GID"; > fi; > else > egid="next available"; > fi; > einfo " - Groupid: ${egid}"; > if [[ $# -gt 0 ]]; then > die "extra arguments no longer supported; please file a bug"; > fi; > function _enewgroup_next_gid () > { > if [[ ${egid} == *[!0-9]* ]]; then > for ((egid = 101; egid <= 999; egid++)) > do > [[ -z $(egetent group ${egid}) ]] && break; > done; > fi > }; > case ${CHOST} in > *-darwin*) > _enewgroup_next_gid; > dscl . create "/groups/${egroup}" gid ${egid}; > dscl . create "/groups/${egroup}" passwd '*' > ;; > *-freebsd* | *-dragonfly*) > _enewgroup_next_gid; > pw groupadd "${egroup}" -g ${egid} || die > ;; > *-netbsd*) > _enewgroup_next_gid; > groupadd -g ${egid} "${egroup}" || die > ;; > *) > local opts; > if [[ ${egid} == *[!0-9]* ]]; then > opts=""; > else > opts="-g ${egid}"; > fi; > groupadd -r ${opts} "${egroup}" || die > ;; > esac >} >enewuser () >{ > _assert_pkg_ebuild_phase ${FUNCNAME}; > local euser=$1; > shift; > if [[ -z ${euser} ]]; then > eerror "No username specified !"; > die "Cannot call enewuser without a username"; > fi; > if [[ -n $(egetent passwd "${euser}") ]]; then > return 0; > fi; > einfo "Adding user '${euser}' to your system ..."; > local opts=(); > local euid=$1; > shift; > if [[ -n ${euid} && ${euid} != -1 ]]; then > if [[ ${euid} -gt 0 ]]; then > if [[ -n $(egetent passwd ${euid}) ]]; then > euid="next"; > fi; > else > eerror "Userid given but is not greater than 0 !"; > die "${euid} is not a valid UID"; > fi; > else > euid="next"; > fi; > if [[ ${euid} == "next" ]]; then > for ((euid = 101; euid <= 999; euid++)) > do > [[ -z $(egetent passwd ${euid}) ]] && break; > done; > fi; > opts+=(-u ${euid}); > einfo " - Userid: ${euid}"; > local eshell=$1; > shift; > if [[ ! -z ${eshell} ]] && [[ ${eshell} != "-1" ]]; then > if [[ ! -e ${ROOT}${eshell} ]]; then > eerror "A shell was specified but it does not exist !"; > die "${eshell} does not exist in ${ROOT}"; > fi; > if [[ ${eshell} == */false || ${eshell} == */nologin ]]; then > eerror "Do not specify ${eshell} yourself, use -1"; > die "Pass '-1' as the shell parameter"; > fi; > else > for eshell in /sbin/nologin /usr/sbin/nologin /bin/false /usr/bin/false /dev/null; > do > [[ -x ${ROOT}${eshell} ]] && break; > done; > if [[ ${eshell} == "/dev/null" ]]; then > eerror "Unable to identify the shell to use, proceeding with userland default."; > case ${USERLAND} in > GNU) > eshell="/bin/false" > ;; > BSD) > eshell="/sbin/nologin" > ;; > Darwin) > eshell="/usr/sbin/nologin" > ;; > *) > die "Unable to identify the default shell for userland ${USERLAND}" > ;; > esac; > fi; > fi; > einfo " - Shell: ${eshell}"; > opts+=(-s "${eshell}"); > local ehome=$1; > shift; > if [[ -z ${ehome} ]] || [[ ${ehome} == "-1" ]]; then > ehome="/dev/null"; > fi; > einfo " - Home: ${ehome}"; > opts+=(-d "${ehome}"); > local egroups=$1; > shift; > local g egroups_arr; > IFS="," read -r -a egroups_arr <<< "${egroups}"; > shift; > if [[ ${#egroups_arr[@]} -gt 0 ]]; then > local defgroup exgroups; > for g in "${egroups_arr[@]}"; > do > if [[ -z $(egetent group "${g}") ]]; then > eerror "You must add group ${g} to the system first"; > die "${g} is not a valid GID"; > fi; > if [[ -z ${defgroup} ]]; then > defgroup=${g}; > else > exgroups+=",${g}"; > fi; > done; > opts+=(-g "${defgroup}"); > if [[ ! -z ${exgroups} ]]; then > opts+=(-G "${exgroups:1}"); > fi; > fi; > einfo " - Groups: ${egroups:-(none)}"; > if [[ $# -gt 0 ]]; then > die "extra arguments no longer supported; please file a bug"; > else > local comment="added by portage for ${PN}"; > opts+=(-c "${comment}"); > einfo " - GECOS: ${comment}"; > fi; > case ${CHOST} in > *-darwin*) > dscl . create "/users/${euser}" uid ${euid}; > dscl . create "/users/${euser}" shell "${eshell}"; > dscl . create "/users/${euser}" home "${ehome}"; > dscl . create "/users/${euser}" realname "added by portage for ${PN}"; > for g in "${egroups_arr[@]}"; > do > dscl . merge "/groups/${g}" users "${euser}"; > done > ;; > *-freebsd* | *-dragonfly*) > pw useradd "${euser}" "${opts[@]}" || die > ;; > *-netbsd*) > useradd "${opts[@]}" "${euser}" || die > ;; > *-openbsd*) > useradd -u ${euid} -s "${eshell}" -d "${ehome}" -g "${egroups}" "${euser}" || die > ;; > *) > useradd -r "${opts[@]}" "${euser}" || die > ;; > esac; > if [[ ! -e ${ROOT}/${ehome} ]]; then > einfo " - Creating ${ehome} in ${ROOT}"; > mkdir -p "${ROOT}/${ehome}"; > chown "${euser}" "${ROOT}/${ehome}"; > chmod 755 "${ROOT}/${ehome}"; > fi >} >epatch () >{ > function _epatch_draw_line () > { > [[ -z $1 ]] && set "$(printf "%65s" '')"; > echo "${1//?/=}" > }; > unset P4CONFIG P4PORT P4USER; > local EPATCH_OPTS=(${EPATCH_OPTS[*]}); > while [[ $# -gt 0 ]]; do > case $1 in > -*) > EPATCH_OPTS+=("$1") > ;; > *) > break > ;; > esac; > shift; > done; > if [[ $# -gt 1 ]]; then > local m; > for m in "$@"; > do > epatch "${m}"; > done; > return 0; > fi; > local SINGLE_PATCH="no"; > [[ $# -eq 0 ]] && set -- "${EPATCH_SOURCE}"; > if [[ -f $1 ]]; then > SINGLE_PATCH="yes"; > set -- "$1"; > local EPATCH_SUFFIX=$1; > else > if [[ -d $1 ]]; then > set -- "$1"/*${EPATCH_SUFFIX:+."${EPATCH_SUFFIX}"}; > else > if [[ -f ${EPATCH_SOURCE}/$1 ]]; then > epatch "${EPATCH_SOURCE}/$1"; > return $?; > else > [[ $# -ne 0 ]] && EPATCH_SOURCE=$1; > echo; > eerror "Cannot find \$EPATCH_SOURCE! Value for \$EPATCH_SOURCE is:"; > eerror; > eerror " ${EPATCH_SOURCE}"; > eerror " ( ${EPATCH_SOURCE##*/} )"; > echo; > die "Cannot find \$EPATCH_SOURCE!"; > fi; > fi; > fi; > EPATCH_OPTS="${EPATCH_COMMON_OPTS} ${EPATCH_OPTS[*]}"; > local PIPE_CMD; > case ${EPATCH_SUFFIX##*\.} in > xz) > PIPE_CMD="xz -dc" > ;; > lzma) > PIPE_CMD="lzma -dc" > ;; > bz2) > PIPE_CMD="bzip2 -dc" > ;; > gz | Z | z) > PIPE_CMD="gzip -dc" > ;; > ZIP | zip) > PIPE_CMD="unzip -p" > ;; > *) > > ;; > esac; > [[ ${SINGLE_PATCH} == "no" ]] && einfo "${EPATCH_MULTI_MSG}"; > local x; > for x in "$@"; > do > [[ ! -f ${x} ]] && continue; > local patchname=${x##*/}; > local a=${patchname#*_}; > a=${a%%_*}; > if ! [[ ${SINGLE_PATCH} == "yes" || ${EPATCH_FORCE} == "yes" || ${a} == all || ${a} == ${ARCH} ]]; then > continue; > fi; > if [[ -n ${EPATCH_EXCLUDE} ]]; then > eshopts_push -o noglob; > local ex; > for ex in ${EPATCH_EXCLUDE}; > do > if [[ ${patchname} == ${ex} ]]; then > eshopts_pop; > continue 2; > fi; > done; > eshopts_pop; > fi; > if [[ ${SINGLE_PATCH} == "yes" ]]; then > if [[ -n ${EPATCH_SINGLE_MSG} ]]; then > einfo "${EPATCH_SINGLE_MSG}"; > else > einfo "Applying ${patchname} ..."; > fi; > else > einfo " ${patchname} ..."; > fi; > local STDERR_TARGET="${T}/${patchname}.out"; > if [[ -e ${STDERR_TARGET} ]]; then > STDERR_TARGET="${T}/${patchname}-$$.out"; > fi; > printf "***** %s *****\nPWD: %s\n\n" "${patchname}" "${PWD}" > "${STDERR_TARGET}"; > local count=0; > local PATCH_TARGET; > if [[ -n ${PIPE_CMD} ]]; then > PATCH_TARGET="${T}/$$.patch"; > echo "PIPE_COMMAND: ${PIPE_CMD} ${x} > ${PATCH_TARGET}" >> "${STDERR_TARGET}"; > if ! ( ${PIPE_CMD} "${x}" > "${PATCH_TARGET}" ) >> "${STDERR_TARGET}" 2>&1; then > echo; > eerror "Could not extract patch!"; > count=5; > break; > fi; > else > PATCH_TARGET=${x}; > fi; > local abs_paths=$(egrep -n '^[-+]{3} /' "${PATCH_TARGET}" | awk '$2 != "/dev/null" { print }'); > if [[ -n ${abs_paths} ]]; then > count=1; > printf "NOTE: skipping -p0 due to absolute paths in patch:\n%s\n" "${abs_paths}" >> "${STDERR_TARGET}"; > fi; > local rel_paths=$(egrep -n '^[-+]{3} [^ ]*[.][.]/' "${PATCH_TARGET}"); > if [[ -n ${rel_paths} ]]; then > eqawarn "QA Notice: Your patch uses relative paths '../'."; > eqawarn " In the future this will cause a failure."; > eqawarn "${rel_paths}"; > fi; > local patch_cmd; > while [[ ${count} -lt 5 ]]; do > patch_cmd="${BASH_ALIASES[patch]:-patch} -p${count} ${EPATCH_OPTS}"; > ( _epatch_draw_line "***** ${patchname} *****"; > echo; > echo "PATCH COMMAND: ${patch_cmd} < '${PATCH_TARGET}'"; > echo; > _epatch_draw_line "***** ${patchname} *****"; > ${patch_cmd} --dry-run -f < "${PATCH_TARGET}" 2>&1; > ret=$?; > echo; > echo "patch program exited with status ${ret}"; > exit ${ret} ) >> "${STDERR_TARGET}"; > if [ $? -eq 0 ]; then > ( _epatch_draw_line "***** ${patchname} *****"; > echo; > echo "ACTUALLY APPLYING ${patchname} ..."; > echo; > _epatch_draw_line "***** ${patchname} *****"; > ${patch_cmd} < "${PATCH_TARGET}" 2>&1; > ret=$?; > echo; > echo "patch program exited with status ${ret}"; > exit ${ret} ) >> "${STDERR_TARGET}"; > if [ $? -ne 0 ]; then > echo; > eerror "A dry-run of patch command succeeded, but actually"; > eerror "applying the patch failed!"; > count=5; > fi; > break; > fi; > : $(( count++ )); > done; > if [[ -n ${PIPE_CMD} ]]; then > rm -f "${PATCH_TARGET}"; > fi; > if [[ ${count} -ge 5 ]]; then > echo; > eerror "Failed Patch: ${patchname} !"; > eerror " ( ${PATCH_TARGET} )"; > eerror; > eerror "Include in your bugreport the contents of:"; > eerror; > eerror " ${STDERR_TARGET}"; > echo; > die "Failed Patch: ${patchname}!"; > fi; > rm -f "${STDERR_TARGET}"; > cat >> "${T}/epatch.log" <<-EOF >PATCH: ${x} >CMD: ${patch_cmd} >PWD: ${PWD} > >EOF > > eend 0; > done; > [[ ${SINGLE_PATCH} == "no" ]] && einfo "Done with patching"; > : >} >epatch_user () >{ > [[ $# -ne 0 ]] && die "epatch_user takes no options"; > local applied="${T}/epatch_user.log"; > [[ -e ${applied} ]] && return 2; > local EPATCH_SOURCE check base=${PORTAGE_CONFIGROOT%/}/etc/portage/patches; > for check in ${CATEGORY}/{${P}-${PR},${P},${PN}}; > do > EPATCH_SOURCE=${base}/${CTARGET}/${check}; > [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${base}/${CHOST}/${check}; > [[ -r ${EPATCH_SOURCE} ]] || EPATCH_SOURCE=${base}/${check}; > if [[ -d ${EPATCH_SOURCE} ]]; then > EPATCH_SOURCE=${EPATCH_SOURCE} EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" EPATCH_MULTI_MSG="Applying user patches from ${EPATCH_SOURCE} ..." epatch; > echo "${EPATCH_SOURCE}" > "${applied}"; > return 0; > fi; > done; > echo "none" > "${applied}"; > return 1 >} >epause () >{ > ewarn "QA Notice: epause is not defined in EAPI=${EAPI}, please file a bug at http://bugs.gentoo.org" >} >epunt_cxx () >{ > local dir=$1; > [[ -z ${dir} ]] && dir=${S}; > ebegin "Removing useless C++ checks"; > local f; > find "${dir}" -name configure | while read f; do > patch --no-backup-if-mismatch -p0 "${f}" "${PORTDIR}/eclass/ELT-patches/nocxx/nocxx.patch" > /dev/null; > done; > eend 0 >} >eshopts_pop () >{ > local s; > estack_pop eshopts s || die "${FUNCNAME}: unbalanced push"; > if [[ ${s} == "shopt -"* ]]; then > eval "${s}" || die "${FUNCNAME}: sanity: invalid shopt options: ${s}"; > else > set +$- || die "${FUNCNAME}: sanity: invalid shell settings: $-"; > set -${s} || die "${FUNCNAME}: sanity: unable to restore saved shell settings: ${s}"; > fi >} >eshopts_push () >{ > if [[ $1 == -[su] ]]; then > estack_push eshopts "$(shopt -p)"; > [[ $# -eq 0 ]] && return 0; > shopt "$@" || die "${FUNCNAME}: bad options to shopt: $*"; > else > estack_push eshopts $-; > [[ $# -eq 0 ]] && return 0; > set "$@" || die "${FUNCNAME}: bad options to set: $*"; > fi >} >estack_pop () >{ > [[ $# -eq 0 || $# -gt 2 ]] && die "estack_pop: incorrect # of arguments"; > local __estack_name="__ESTACK_$1__"; > shift; > local __estack_retvar=$1; > shift; > eval local __estack_i=\${#${__estack_name}\[@\]}; > [[ $(( --__estack_i )) -eq -1 ]] && return 1; > if [[ -n ${__estack_retvar} ]]; then > eval ${__estack_retvar}=\"\${${__estack_name}\[${__estack_i}\]}\"; > fi; > eval unset ${__estack_name}\[${__estack_i}\] >} >estack_push () >{ > [[ $# -eq 0 ]] && die "estack_push: incorrect # of arguments"; > local stack_name="__ESTACK_$1__"; > shift; > eval ${stack_name}+=\( \"\$@\" \) >} >esvn_clean () >{ > [[ -z $* ]] && set -- .; > find "$@" -type d -name '.svn' -prune -print0 | xargs -0 rm -rf >} >eumask_pop () >{ > [[ $# -eq 0 ]] || die "${FUNCNAME}: we take no options"; > local s; > estack_pop eumask s || die "${FUNCNAME}: unbalanced push"; > umask ${s} || die "${FUNCNAME}: sanity: could not restore umask: ${s}" >} >eumask_push () >{ > estack_push eumask "$(umask)"; > umask "$@" || die "${FUNCNAME}: bad options to umask: $*" >} >fdo-mime_desktop_database_update () >{ > has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=; > has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"; > if [ -x "${EPREFIX}/usr/bin/update-desktop-database" ]; then > einfo "Updating desktop mime database ..."; > "${EPREFIX}/usr/bin/update-desktop-database" -q "${EROOT}usr/share/applications"; > fi >} >fdo-mime_mime_database_update () >{ > has "${EAPI:-0}" 0 1 2 && ! use prefix && EPREFIX=; > has "${EAPI:-0}" 0 1 2 && ! use prefix && EROOT="${ROOT}"; > if [ -x "${EPREFIX}/usr/bin/update-mime-database" ]; then > einfo "Updating shared mime info database ..."; > "${EPREFIX}/usr/bin/update-mime-database" "${EROOT}usr/share/mime"; > fi >} >filter-flags () >{ > _filter-hardened "$@"; > local v; > for v in $(all-flag-vars); > do > _filter-var ${v} "$@"; > done; > return 0 >} >filter-ldflags () >{ > _filter-var LDFLAGS "$@"; > return 0 >} >filter-lfs-flags () >{ > [[ $# -ne 0 ]] && die "filter-lfs-flags takes no arguments"; > filter-flags -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE >} >filter-mfpmath () >{ > local orig_mfpmath new_math prune_math; > orig_mfpmath=$(get-flag -mfpmath); > new_math=$(get-flag mfpmath); > new_math=" ${new_math//,/ } "; > prune_math=""; > for prune_math in "$@"; > do > new_math=${new_math/ ${prune_math} / }; > done; > new_math=$(echo ${new_math}); > new_math=${new_math// /,}; > if [[ -z ${new_math} ]]; then > filter-flags ${orig_mfpmath}; > else > replace-flags ${orig_mfpmath} -mfpmath=${new_math}; > fi; > return 0 >} >gcc-fullversion () >{ > _gcc_fullversion '$1.$2.$3' "$@" >} >gcc-major-version () >{ > _gcc_fullversion '$1' "$@" >} >gcc-micro-version () >{ > _gcc_fullversion '$3' "$@" >} >gcc-minor-version () >{ > _gcc_fullversion '$2' "$@" >} >gcc-specs-directive () >{ > local directive subdname subdirective; > directive="$(_gcc-specs-directive_raw $1)"; > while [[ ${directive} == *%\(*\)* ]]; do > subdname=${directive/*%\(}; > subdname=${subdname/\)*}; > subdirective="$(_gcc-specs-directive_raw ${subdname})"; > directive="${directive//\%(${subdname})/${subdirective}}"; > done; > echo "${directive}"; > return 0 >} >gcc-specs-nostrict () >{ > local directive; > directive=$(gcc-specs-directive cc1); > return $([[ "${directive/\{!fstrict-overflow:}" != "${directive}" ]]) >} >gcc-specs-now () >{ > local directive; > directive=$(gcc-specs-directive link_command); > return $([[ "${directive/\{!nonow:}" != "${directive}" ]]) >} >gcc-specs-pie () >{ > local directive; > directive=$(gcc-specs-directive cc1); > return $([[ "${directive/\{!nopie:}" != "${directive}" ]]) >} >gcc-specs-relro () >{ > local directive; > directive=$(gcc-specs-directive link_command); > return $([[ "${directive/\{!norelro:}" != "${directive}" ]]) >} >gcc-specs-ssp () >{ > local directive; > directive=$(gcc-specs-directive cc1); > return $([[ "${directive/\{!fno-stack-protector:}" != "${directive}" ]]) >} >gcc-specs-ssp-to-all () >{ > local directive; > directive=$(gcc-specs-directive cc1); > return $([[ "${directive/\{!fno-stack-protector-all:}" != "${directive}" ]]) >} >gcc-version () >{ > _gcc_fullversion '$1.$2' "$@" >} >gen_usr_ldscript () >{ > local lib libdir=$(get_libdir) output_format="" auto=false suffix=$(get_libname); > [[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/; > tc-is-static-only && return; > dodir /usr/${libdir}; > if [[ $1 == "-a" ]]; then > auto=true; > shift; > dodir /${libdir}; > fi; > output_format=$($(tc-getCC) ${CFLAGS} ${LDFLAGS} -Wl,--verbose 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p'); > [[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )"; > for lib in "$@"; > do > local tlib; > if ${auto}; then > lib="lib${lib}${suffix}"; > else > [[ -r ${ED}/${libdir}/${lib} ]] || continue; > fi; > case ${CTARGET:-${CHOST}} in > *-darwin*) > if ${auto}; then > tlib=$(scanmacho -qF'%S#F' "${ED}"/usr/${libdir}/${lib}); > else > tlib=$(scanmacho -qF'%S#F' "${ED}"/${libdir}/${lib}); > fi; > [[ -z ${tlib} ]] && die "unable to read install_name from ${lib}"; > tlib=${tlib##*/}; > if ${auto}; then > mv "${ED}"/usr/${libdir}/${lib%${suffix}}.*${suffix#.} "${ED}"/${libdir}/ || die; > if [[ ${tlib} != ${lib%${suffix}}.*${suffix#.} ]]; then > mv "${ED}"/usr/${libdir}/${tlib%${suffix}}.*${suffix#.} "${ED}"/${libdir}/ || die; > fi; > rm -f "${ED}"/${libdir}/${lib}; > fi; > if [[ ! -w "${ED}/${libdir}/${tlib}" ]]; then > chmod u+w "${ED}${libdir}/${tlib}"; > local nowrite=yes; > fi; > install_name_tool -id "${EPREFIX}"/${libdir}/${tlib} "${ED}"/${libdir}/${tlib} || die "install_name_tool failed"; > [[ -n ${nowrite} ]] && chmod u-w "${ED}${libdir}/${tlib}"; > pushd "${ED}/usr/${libdir}" > /dev/null; > ln -snf "../../${libdir}/${tlib}" "${lib}"; > popd > /dev/null > ;; > *-aix* | *-irix* | *64*-hpux* | *-interix* | *-winnt*) > if ${auto}; then > mv "${ED}"/usr/${libdir}/${lib}* "${ED}"/${libdir}/ || die; > tlib=$(readlink "${ED}"/${libdir}/${lib}); > tlib=${tlib##*/}; > if [[ -z ${tlib} ]]; then > tlib=${lib}; > else > rm -f "${ED}"/${libdir}/${lib}; > fi; > else > tlib=${lib}; > fi; > pushd "${ED}/usr/${libdir}" > /dev/null; > ln -snf "../../${libdir}/${tlib}" "${lib}"; > popd > /dev/null > ;; > hppa*-hpux*) > if ${auto}; then > tlib=$(chatr "${ED}"/usr/${libdir}/${lib} | sed -n '/internal name:/{n;s/^ *//;p;q}'); > [[ -z ${tlib} ]] && tlib=${lib}; > tlib=${tlib##*/}; > mv "${ED}"/usr/${libdir}/${lib}* "${ED}"/${libdir}/ || die; > if [[ ${tlib} != ${lib}* ]]; then > mv "${ED}"/usr/${libdir}/${tlib}* "${ED}"/${libdir}/ || die; > fi; > [[ ${tlib} != ${lib} ]] && rm -f "${ED}"/${libdir}/${lib}; > else > tlib=$(chatr "${ED}"/${libdir}/${lib} | sed -n '/internal name:/{n;s/^ *//;p;q}'); > [[ -z ${tlib} ]] && tlib=${lib}; > tlib=${tlib##*/}; > fi; > pushd "${ED}"/usr/${libdir} > /dev/null; > ln -snf "../../${libdir}/${tlib}" "${lib}"; > [[ ${tlib} != ${lib} ]] && ln -snf "../../${libdir}/${tlib}" "${tlib}"; > popd > /dev/null > ;; > *) > if ${auto}; then > tlib=$(scanelf -qF'%S#F' "${ED}"/usr/${libdir}/${lib}); > [[ -z ${tlib} ]] && die "unable to read SONAME from ${lib}"; > mv "${ED}"/usr/${libdir}/${lib}* "${ED}"/${libdir}/ || die; > if [[ ${tlib} != ${lib}* ]]; then > mv "${ED}"/usr/${libdir}/${tlib}* "${ED}"/${libdir}/ || die; > fi; > rm -f "${ED}"/${libdir}/${lib}; > else > tlib=${lib}; > fi; > cat > "${ED}/usr/${libdir}/${lib}" <<-END_LDSCRIPT >/* GNU ld script > Since Gentoo has critical dynamic libraries in /lib, and the static versions > in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we > run into linking problems. This "fake" dynamic lib is a linker script that > redirects the linker to the real lib. And yes, this works in the cross- > compiling scenario as the sysroot-ed linker will prepend the real path. > > See bug http://bugs.gentoo.org/4411 for more info. > */ >${output_format} >GROUP ( ${EPREFIX}/${libdir}/${tlib} ) >END_LDSCRIPT > > ;; > esac > fperms a+x "/usr/${libdir}/${lib}" || die "could not change perms on ${lib}"; > done >} >get-flag () >{ > local f var findflag="$1"; > for var in $(all-flag-vars); > do > for f in ${!var}; > do > if [ "${f/${findflag}}" != "${f}" ]; then > printf "%s\n" "${f/-${findflag}=}"; > return 0; > fi; > done; > done; > return 1 >} >get_abi_CFLAGS () >{ > get_abi_var CFLAGS "$@" >} >get_abi_CHOST () >{ > get_abi_var CHOST "$@" >} >get_abi_CTARGET () >{ > get_abi_var CTARGET "$@" >} >get_abi_FAKE_TARGETS () >{ > get_abi_var FAKE_TARGETS "$@" >} >get_abi_LDFLAGS () >{ > get_abi_var LDFLAGS "$@" >} >get_abi_LIBDIR () >{ > get_abi_var LIBDIR "$@" >} >get_abi_var () >{ > local flag=$1; > local abi=${2:-${ABI:-${DEFAULT_ABI:-default}}}; > local var="${flag}_${abi}"; > echo ${!var} >} >get_all_abis () >{ > local order=""; > if [[ -z ${MULTILIB_ABIS} ]]; then > echo "default"; > return 0; > fi; > for x in ${MULTILIB_ABIS}; > do > if [[ ${x} != ${DEFAULT_ABI} ]]; then > order="${order:+${order} }${x}"; > fi; > done; > order="${order:+${order} }${DEFAULT_ABI}"; > echo ${order}; > return 0 >} >get_all_libdirs () >{ > local libdirs; > local abi; > local dir; > for abi in ${MULTILIB_ABIS}; > do > libdirs+=" $(get_abi_LIBDIR ${abi})"; > done; > [[ " ${libdirs} " != *" lib "* ]] && libdirs+=" lib"; > echo "${libdirs}" >} >get_install_abis () >{ > local order=""; > if [[ -z ${MULTILIB_ABIS} ]]; then > echo "default"; > return 0; > fi; > if [[ ${EMULTILIB_PKG} == "true" ]]; then > for x in ${MULTILIB_ABIS}; > do > if [[ ${x} != "${DEFAULT_ABI}" ]]; then > has ${x} ${ABI_DENY} || order="${order} ${x}"; > fi; > done; > has ${DEFAULT_ABI} ${ABI_DENY} || order="${order} ${DEFAULT_ABI}"; > if [[ -n ${ABI_ALLOW} ]]; then > local ordera=""; > for x in ${order}; > do > if has ${x} ${ABI_ALLOW}; then > ordera="${ordera} ${x}"; > fi; > done; > order=${ordera}; > fi; > else > order=${DEFAULT_ABI}; > fi; > if [[ -z ${order} ]]; then > die "The ABI list is empty. Are you using a proper multilib profile? Perhaps your USE flags or MULTILIB_ABIS are too restrictive for this package."; > fi; > echo ${order}; > return 0 >} >get_libdir () >{ > local CONF_LIBDIR; > if [ -n "${CONF_LIBDIR_OVERRIDE}" ]; then > echo ${CONF_LIBDIR_OVERRIDE}; > else > get_abi_LIBDIR; > fi >} >get_libname () >{ > local libname; > local ver=$1; > case ${CHOST} in > *-cygwin | mingw* | *-mingw*) > libname="dll" > ;; > *-darwin*) > libname="dylib" > ;; > *-mint*) > libname="irrelevant" > ;; > hppa*-hpux*) > libname="sl" > ;; > *) > libname="so" > ;; > esac; > if [[ -z $* ]]; then > echo ".${libname}"; > else > for ver in "$@"; > do > case ${CHOST} in > *-darwin*) > echo ".${ver}.${libname}" > ;; > *-mint*) > echo ".${libname}" > ;; > *) > echo ".${libname}.${ver}" > ;; > esac; > done; > fi >} >get_modname () >{ > local modname; > local ver=$1; > case ${CHOST} in > *-darwin*) > modname="bundle" > ;; > *) > modname="so" > ;; > esac; > echo ".${modname}" >} >gnome2_environment_reset () >{ > export G_HOME="${T}"; > export GST_REGISTRY="${T}/registry.xml"; > export XDG_DATA_HOME="${T}/.local/share"; > export XDG_CONFIG_HOME="${T}/.config"; > export XDG_CACHE_HOME="${T}/.cache"; > export XDG_RUNTIME_DIR="${T}/run"; > mkdir -p "${XDG_DATA_HOME}" "${XDG_CONFIG_HOME}" "${XDG_CACHE_HOME}" "${XDG_RUNTIME_DIR}"; > chmod 0700 "${XDG_RUNTIME_DIR}" >} >gnome2_gconf_install () >{ > has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}"; > local updater="${EROOT}${GCONFTOOL_BIN}"; > if [[ ! -x "${updater}" ]]; then > debug-print "${updater} is not executable"; > return; > fi; > if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then > debug-print "No GNOME 2 GConf schemas found"; > return; > fi; > unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL; > export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT};")"; > einfo "Installing GNOME 2 GConf schemas"; > local F; > for F in ${GNOME2_ECLASS_SCHEMAS}; > do > if [[ -e "${EROOT}${F}" ]]; then > debug-print "Installing schema: ${F}"; > "${updater}" --makefile-install-rule "${EROOT}${F}" > /dev/null; > fi; > done; > pids=$(pgrep -x gconfd-2); > if [[ $? == 0 ]]; then > ebegin "Reloading GConf schemas"; > kill -HUP ${pids}; > eend $?; > fi >} >gnome2_gconf_savelist () >{ > has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}"; > pushd "${ED}" &>/dev/null; > export GNOME2_ECLASS_SCHEMAS=$(find 'etc/gconf/schemas/' -name '*.schemas' 2> /dev/null); > popd &>/dev/null >} >gnome2_gconf_uninstall () >{ > has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}"; > local updater="${EROOT}${GCONFTOOL_BIN}"; > if [[ ! -x "${updater}" ]]; then > debug-print "${updater} is not executable"; > return; > fi; > if [[ -z "${GNOME2_ECLASS_SCHEMAS}" ]]; then > debug-print "No GNOME 2 GConf schemas found"; > return; > fi; > unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL; > export GCONF_CONFIG_SOURCE="$("${updater}" --get-default-source | sed "s;:/;:${ROOT};")"; > einfo "Uninstalling GNOME 2 GConf schemas"; > local F; > for F in ${GNOME2_ECLASS_SCHEMAS}; > do > if [[ -e "${EROOT}${F}" ]]; then > debug-print "Uninstalling gconf schema: ${F}"; > "${updater}" --makefile-uninstall-rule "${EROOT}${F}" > /dev/null; > fi; > done; > pids=$(pgrep -x gconfd-2); > if [[ $? == 0 ]]; then > ebegin "Reloading GConf schemas"; > kill -HUP ${pids}; > eend $?; > fi >} >gnome2_icon_cache_update () >{ > has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}"; > local updater="${EROOT}${GTK_UPDATE_ICON_CACHE}"; > if [[ ! -x "${updater}" ]]; then > debug-print "${updater} is not executable"; > return; > fi; > if [[ -z "${GNOME2_ECLASS_ICONS}" ]]; then > debug-print "No icon cache to update"; > return; > fi; > ebegin "Updating icons cache"; > local retval=0; > local fails=(); > for dir in ${GNOME2_ECLASS_ICONS}; > do > if [[ -f "${EROOT}${dir}/index.theme" ]]; then > local rv=0; > "${updater}" -qf "${EROOT}${dir}"; > rv=$?; > if [[ ! $rv -eq 0 ]]; then > debug-print "Updating cache failed on ${EROOT}${dir}"; > fails[$(( ${#fails[@]} + 1 ))]="${EROOT}${dir}"; > retval=2; > fi; > else > if [[ $(ls "${EROOT}${dir}") = "icon-theme.cache" ]]; then > rm "${EROOT}${dir}/icon-theme.cache"; > fi; > fi; > if [[ -z $(ls "${EROOT}${dir}") ]]; then > rmdir "${EROOT}${dir}"; > fi; > done; > eend ${retval}; > for f in "${fails[@]}"; > do > eerror "Failed to update cache with icon $f"; > done >} >gnome2_icon_savelist () >{ > has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}"; > pushd "${ED}" &>/dev/null; > export GNOME2_ECLASS_ICONS=$(find 'usr/share/icons' -maxdepth 1 -mindepth 1 -type d 2> /dev/null); > popd &>/dev/null >} >gnome2_omf_fix () >{ > local omf_makefiles filename; > omf_makefiles="$@"; > if [[ -f ${S}/omf.make ]]; then > omf_makefiles="${omf_makefiles} ${S}/omf.make"; > fi; > if [[ -f ${S}/gnome-doc-utils.make ]]; then > omf_makefiles="${omf_makefiles} ${S}/gnome-doc-utils.make"; > fi; > for filename in $(find "${S}" -name "Makefile.in" -o -name "Makefile.am" |sort); > do > omf_makefiles="${omf_makefiles} ${filename}"; > done; > ebegin "Fixing OMF Makefiles"; > local retval=0; > local fails=(); > for omf in ${omf_makefiles}; > do > sed -i -e 's:scrollkeeper-update:true:' "${omf}"; > retval=$?; > if [[ $retval -ne 0 ]]; then > debug-print "updating of ${omf} failed"; > fails[$(( ${#fails[@]} + 1 ))]=$omf; > retval=2; > fi; > done; > eend $retval; > for f in "${fails[@]}"; > do > eerror "Failed to update OMF Makefile $f"; > done >} >gnome2_schemas_savelist () >{ > has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}"; > pushd "${ED}" &>/dev/null; > export GNOME2_ECLASS_GLIB_SCHEMAS=$(find 'usr/share/glib-2.0/schemas' -name '*.gschema.xml' 2>/dev/null); > popd &>/dev/null >} >gnome2_schemas_update () >{ > has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}"; > local updater="${EROOT}${GLIB_COMPILE_SCHEMAS}"; > if [[ ! -x ${updater} ]]; then > debug-print "${updater} is not executable"; > return; > fi; > if [[ -z ${GNOME2_ECLASS_GLIB_SCHEMAS} ]]; then > debug-print "No GSettings schemas to update"; > return; > fi; > ebegin "Updating GSettings schemas"; > ${updater} --allow-any-name "$@" "${EROOT%/}/usr/share/glib-2.0/schemas" &>/dev/null; > eend $? >} >gnome2_scrollkeeper_savelist () >{ > has ${EAPI:-0} 0 1 2 && ! use prefix && ED="${D}"; > pushd "${ED}" &>/dev/null; > export GNOME2_ECLASS_SCROLLS=$(find 'usr/share/omf' -type f -name "*.omf" 2> /dev/null); > popd &>/dev/null >} >gnome2_scrollkeeper_update () >{ > has ${EAPI:-0} 0 1 2 && ! use prefix && EROOT="${ROOT}"; > local updater="${EROOT}${SCROLLKEEPER_UPDATE_BIN}"; > if [[ ! -x "${updater}" ]]; then > debug-print "${updater} is not executable"; > return; > fi; > if [[ -z "${GNOME2_ECLASS_SCROLLS}" ]]; then > debug-print "No scroll cache to update"; > return; > fi; > ebegin "Updating scrollkeeper database ..."; > "${updater}" -q -p "${EROOT}${SCROLLKEEPER_DIR}"; > eend $? >} >has_m32 () >{ > die "${FUNCNAME}: don't use this anymore" >} >has_m64 () >{ > eqawarn "${FUNCNAME}: don't use this anymore"; > local temp="$(emktemp)"; > echo "int main() { return(0); }" > "${temp}".c; > MY_CC=$(tc-getCC); > ${MY_CC/ .*/} -m64 -o "$(emktemp)" "${temp}".c > /dev/null 2>&1; > local ret=$?; > rm -f "${temp}".c; > [[ ${ret} != 1 ]] && return 0; > return 1 >} >has_multilib_profile () >{ > [ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ] >} >host-is-pax () >{ > grep -qs ^PaX: /proc/self/status >} >in_iuse () >{ > debug-print-function ${FUNCNAME} "${@}"; > [[ ${#} -eq 1 ]] || die "Invalid args to ${FUNCNAME}()"; > local flag=${1}; > local liuse=(${IUSE}); > has "${flag}" "${liuse[@]#[+-]}" >} >inst_plugin () >{ > dodir /usr/$(get_libdir)/${PLUGINS_DIR}; > dosym ${1} /usr/$(get_libdir)/${PLUGINS_DIR}/$(basename ${1}) >} >is-flag () >{ > is-flagq "$@" && echo true >} >is-flagq () >{ > [[ -n $2 ]] && die "Usage: is-flag <flag>"; > local var; > for var in $(all-flag-vars); > do > _is_flagq ${var} "$1" && return 0; > done; > return 1 >} >is-ldflag () >{ > is-ldflagq "$@" && echo true >} >is-ldflagq () >{ > [[ -n $2 ]] && die "Usage: is-ldflag <flag>"; > _is_flagq LDFLAGS $1 >} >is_final_abi () >{ > has_multilib_profile || return 0; > set -- $(get_install_abis); > local LAST_ABI=$#; > [[ ${!LAST_ABI} == ${ABI} ]] >} >list-paxables () >{ > file "$@" 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//' >} >make_desktop_entry () >{ > [[ -z $1 ]] && die "make_desktop_entry: You must specify the executable"; > local exec=${1}; > local name=${2:-${PN}}; > local icon=${3:-${PN}}; > local type=${4}; > local fields=${5}; > if [[ -z ${type} ]]; then > local catmaj=${CATEGORY%%-*}; > local catmin=${CATEGORY##*-}; > case ${catmaj} in > app) > case ${catmin} in > accessibility) > type="Utility;Accessibility" > ;; > admin) > type=System > ;; > antivirus) > type=System > ;; > arch) > type="Utility;Archiving" > ;; > backup) > type="Utility;Archiving" > ;; > cdr) > type="AudioVideo;DiscBurning" > ;; > dicts) > type="Office;Dictionary" > ;; > doc) > type=Documentation > ;; > editors) > type="Utility;TextEditor" > ;; > emacs) > type="Development;TextEditor" > ;; > emulation) > type="System;Emulator" > ;; > laptop) > type="Settings;HardwareSettings" > ;; > office) > type=Office > ;; > pda) > type="Office;PDA" > ;; > vim) > type="Development;TextEditor" > ;; > xemacs) > type="Development;TextEditor" > ;; > esac > ;; > dev) > type="Development" > ;; > games) > case ${catmin} in > action | fps) > type=ActionGame > ;; > arcade) > type=ArcadeGame > ;; > board) > type=BoardGame > ;; > emulation) > type=Emulator > ;; > kids) > type=KidsGame > ;; > puzzle) > type=LogicGame > ;; > roguelike) > type=RolePlaying > ;; > rpg) > type=RolePlaying > ;; > simulation) > type=Simulation > ;; > sports) > type=SportsGame > ;; > strategy) > type=StrategyGame > ;; > esac; > type="Game;${type}" > ;; > gnome) > type="Gnome;GTK" > ;; > kde) > type="KDE;Qt" > ;; > mail) > type="Network;Email" > ;; > media) > case ${catmin} in > gfx) > type=Graphics > ;; > *) > case ${catmin} in > radio) > type=Tuner > ;; > sound) > type=Audio > ;; > tv) > type=TV > ;; > video) > type=Video > ;; > esac; > type="AudioVideo;${type}" > ;; > esac > ;; > net) > case ${catmin} in > dialup) > type=Dialup > ;; > ftp) > type=FileTransfer > ;; > im) > type=InstantMessaging > ;; > irc) > type=IRCClient > ;; > mail) > type=Email > ;; > news) > type=News > ;; > nntp) > type=News > ;; > p2p) > type=FileTransfer > ;; > voip) > type=Telephony > ;; > esac; > type="Network;${type}" > ;; > sci) > case ${catmin} in > astro*) > type=Astronomy > ;; > bio*) > type=Biology > ;; > calc*) > type=Calculator > ;; > chem*) > type=Chemistry > ;; > elec*) > type=Electronics > ;; > geo*) > type=Geology > ;; > math*) > type=Math > ;; > physics) > type=Physics > ;; > visual*) > type=DataVisualization > ;; > esac; > type="Education;Science;${type}" > ;; > sys) > type="System" > ;; > www) > case ${catmin} in > client) > type=WebBrowser > ;; > esac; > type="Network;${type}" > ;; > *) > type= > ;; > esac; > fi; > if [ "${SLOT}" == "0" ]; then > local desktop_name="${PN}"; > else > local desktop_name="${PN}-${SLOT}"; > fi; > local desktop="${T}/$(echo ${exec} | sed 's:[[:space:]/:]:_:g')-${desktop_name}.desktop"; > type=${type%;}${type:+;}; > eshopts_push -s extglob; > if [[ -n ${icon} && ${icon} != /* ]] && [[ ${icon} == *.xpm || ${icon} == *.png || ${icon} == *.svg ]]; then > ewarn "As described in the Icon Theme Specification, icon file extensions are not"; > ewarn "allowed in .desktop files if the value is not an absolute path."; > icon=${icon%.@(xpm|png|svg)}; > fi; > eshopts_pop; > cat > "${desktop}" <<-EOF >[Desktop Entry] >Name=${name} >Type=Application >Comment=${DESCRIPTION} >Exec=${exec} >TryExec=${exec%% *} >Icon=${icon} >Categories=${type} >EOF > > if [[ ${fields:-=} != *=* ]]; then > ewarn "make_desktop_entry: update your 5th arg to read Path=${fields}"; > fields="Path=${fields}"; > fi; > [[ -n ${fields} ]] && printf '%b\n' "${fields}" >> "${desktop}"; > ( insinto /usr/share/applications; > doins "${desktop}" ) || die "installing desktop file failed" >} >make_session_desktop () >{ > [[ -z $1 ]] && eerror "$0: You must specify the title" && return 1; > [[ -z $2 ]] && eerror "$0: You must specify the command" && return 1; > local title=$1; > local command=$2; > local desktop=${T}/${wm:-${PN}}.desktop; > shift 2; > cat > "${desktop}" <<-EOF >[Desktop Entry] >Name=${title} >Comment=This session logs you into ${title} >Exec=${command} $* >TryExec=${command} >Type=XSession >EOF > > ( insinto /usr/share/xsessions; > doins "${desktop}" ) >} >make_wrapper () >{ > local wrapper=$1 bin=$2 chdir=$3 libdir=$4 path=$5; > local tmpwrapper=$(emktemp); > cat > "${tmpwrapper}" <<EOF >#!/bin/sh >cd "${chdir:-.}" >if [ -n "${libdir}" ] ; then > if [ "\${LD_LIBRARY_PATH+set}" = "set" ] ; then > export LD_LIBRARY_PATH="\${LD_LIBRARY_PATH}:${libdir}" > else > export LD_LIBRARY_PATH="${libdir}" > fi >fi >exec ${bin} "\$@" >EOF > > chmod go+rx "${tmpwrapper}"; > if [[ -n ${path} ]]; then > ( exeinto "${path}"; > newexe "${tmpwrapper}" "${wrapper}" ) || die; > else > newbin "${tmpwrapper}" "${wrapper}" || die; > fi >} >makemake2 () >{ > for m in $(find ../ -name Makefile.in); > do > topdir=$(echo "$m" | sed -r 's:[^/]+:..:g'); > sed -e "s:@srcdir@:.:g" -e "s:@top_srcdir@:${topdir}:g" < ${m} > ${m%.in} || die "sed ${m} failed"; > done >} >makeopts_jobs () >{ > [[ $# -eq 0 ]] && set -- ${MAKEOPTS}; > local x jobs; > for x in "$@"; > do > [[ ${x} == -j* ]] && jobs=${x#-j}; > done; > echo ${jobs:-1} >} >moz_pkgsetup () >{ > export LANG="C"; > export LC_ALL="C"; > export LC_MESSAGES="C"; > export LC_CTYPE="C"; > export MOZILLA_CLIENT=1; > export BUILD_OPT=1; > export NO_STATIC_LIB=1; > export USE_PTHREADS=1; > export ALDFLAGS=${LDFLAGS}; > python_set_active_version 2 >} >mozconfig_annotate () >{ > declare reason=$1 x; > shift; > [[ $# -gt 0 ]] || die "mozconfig_annotate missing flags for ${reason}\!"; > for x in ${*}; > do > echo "ac_add_options ${x} # ${reason}" >> .mozconfig; > done >} >mozconfig_config () >{ > mozconfig_annotate '' --enable-default-toolkit=cairo-gtk2; > if has bindist ${IUSE}; then > mozconfig_use_enable !bindist official-branding; > if [[ ${PN} == firefox ]] && use bindist; then > mozconfig_annotate '' --with-branding=browser/branding/aurora; > fi; > fi; > mozconfig_use_enable alsa ogg; > mozconfig_use_enable alsa wave; > if has +crashreporter ${IUSE}; then > mozconfig_use_enable crashreporter; > fi; > mozconfig_use_enable dbus; > mozconfig_use_enable debug; > mozconfig_use_enable debug tests; > mozconfig_use_enable debug debugger-info-modules; > if has +ipc ${IUSE}; then > mozconfig_use_enable ipc; > fi; > mozconfig_use_enable libnotify; > mozconfig_use_enable startup-notification; > mozconfig_use_enable system-sqlite; > if use system-sqlite; then > mozconfig_annotate '' --with-sqlite-prefix="${EPREFIX}"/usr; > fi; > mozconfig_use_enable wifi necko-wifi; > if [[ ${PN} == xulrunner ]]; then > mozconfig_annotate 'mozjs' --enable-shared-js; > fi; > if has +webm ${IUSE} && use webm; then > if ! use alsa; then > echo "Enabling alsa support due to webm request"; > mozconfig_annotate '+webm -alsa' --enable-ogg; > mozconfig_annotate '+webm -alsa' --enable-wave; > mozconfig_annotate '+webm' --enable-webm; > mozconfig_annotate '+webm' --with-system-libvpx="${EPREFIX}"/usr; > else > mozconfig_use_enable webm; > mozconfig_annotate '+webm' --with-system-libvpx="${EPREFIX}"/usr; > fi; > else > mozconfig_annotate '' --disable-webm; > mozconfig_annotate '' --disable-system-libvpx; > fi; > if use amd64 || use x86 || use arm || use sparc; then > mozconfig_annotate '' --enable-tracejit; > fi; > mozconfig_annotate '' --with-system-nspr --with-nspr-prefix="${EPREFIX}"/usr; > mozconfig_annotate '' --with-system-nss --with-nss-prefix="${EPREFIX}"/usr; > mozconfig_annotate '' --x-includes="${EPREFIX}"/usr/include --x-libraries="${EPREFIX}"/usr/$(get_libdir); > mozconfig_annotate '' --with-system-libevent="${EPREFIX}"/usr; > mozconfig_annotate '' --enable-system-hunspell; > mozconfig_annotate '' --disable-gnomevfs; > mozconfig_annotate '' --disable-gnomeui; > mozconfig_annotate '' --enable-gio; > if [[ ${PN} != thunderbird ]]; then > mozconfig_annotate 'places' --enable-storage --enable-places --enable-places_bookmarks; > mozconfig_annotate '' --enable-oji --enable-mathml; > mozconfig_annotate 'broken' --disable-mochitest; > fi >} >mozconfig_final () >{ > declare ac opt hash reason; > echo; > echo "=========================================================="; > echo "Building ${PF} with the following configuration"; > grep ^ac_add_options .mozconfig | while read ac opt hash reason; do > [[ -z ${hash} || ${hash} == \# ]] || die "error reading mozconfig: ${ac} ${opt} ${hash} ${reason}"; > printf " %-30s %s\n" "${opt}" "${reason:-mozilla.org default}"; > done; > echo "=========================================================="; > echo; > declare exts=$(sed -n 's/^ac_add_options --enable-extensions=\([^ ]*\).*/\1/p' .mozconfig | xargs); > sed -i '/^ac_add_options --enable-extensions/d' .mozconfig; > echo "ac_add_options --enable-extensions=${exts// /,}" >> .mozconfig >} >mozconfig_init () >{ > declare enable_optimize pango_version myext x; > declare XUL=$([[ ${PN} == xulrunner ]] && echo true || echo false); > declare FF=$([[ ${PN} == firefox ]] && echo true || echo false); > declare IC=$([[ ${PN} == icecat ]] && echo true || echo false); > declare SM=$([[ ${PN} == seamonkey ]] && echo true || echo false); > declare TB=$([[ ${PN} == thunderbird ]] && echo true || echo false); > declare EM=$([[ ${PN} == enigmail ]] && echo true || echo false); > case ${PN} in > *xulrunner) > cp xulrunner/config/mozconfig .mozconfig || die "cp xulrunner/config/mozconfig failed" > ;; > *firefox) > cp browser/config/mozconfig .mozconfig || die "cp browser/config/mozconfig failed" > ;; > *icecat) > cp browser/config/mozconfig .mozconfig || die "cp browser/config/mozconfig failed" > ;; > seamonkey) > : > .mozconfig || die "initial mozconfig creation failed"; > mozconfig_annotate "" --enable-application=suite > ;; > *thunderbird) > : > .mozconfig || die "initial mozconfig creation failed"; > mozconfig_annotate "" --enable-application=mail > ;; > enigmail) > cp mail/config/mozconfig .mozconfig || die "cp mail/config/mozconfig failed" > ;; > esac; > if [[ ${ARCH} == hppa ]]; then > mozconfig_annotate "more than -O0 causes a segfault on hppa" --enable-optimize=-O0; > else > if [[ ${ARCH} == x86 ]]; then > mozconfig_annotate "less then -O2 causes a segfault on x86" --enable-optimize=-O2; > else > if use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then > if is-flag -O0; then > mozconfig_annotate "from CFLAGS" --enable-optimize=-O0; > else > if [[ ${ARCH} == ppc ]] && has_version '>=sys-libs/glibc-2.8'; then > mozconfig_annotate "more than -O1 segfaults on ppc with glibc-2.8" --enable-optimize=-O1; > else > if is-flag -O1; then > mozconfig_annotate "from CFLAGS" --enable-optimize=-O1; > else > if is-flag -Os; then > mozconfig_annotate "from CFLAGS" --enable-optimize=-Os; > else > mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2; > fi; > fi; > fi; > fi; > else > mozconfig_annotate "mozilla default" --enable-optimize; > fi; > fi; > fi; > filter-flags '-O*'; > use custom-cflags || strip-flags; > case "${ARCH}" in > alpha) > append-flags -fPIC -mieee > ;; > ia64) > append-flags -fPIC > ;; > ppc64) > append-flags -fPIC -mminimal-toc > ;; > ppc) > if [[ $(gcc-major-version).$(gcc-minor-version) == 3.3 ]]; then > append-flags -fno-strict-aliasing; > fi > ;; > x86) > if [[ $(gcc-major-version) -eq 3 ]]; then > if [[ $(gcc-minor-version) -lt 2 || ( $(gcc-minor-version) -eq 2 && $(gcc-micro-version) -lt 3 ) ]]; then > replace-flags -march=pentium4 -march=pentium3; > filter-flags -msse2; > fi; > fi > ;; > esac; > if [[ $(gcc-major-version) -eq 3 ]]; then > mozconfig_annotate "building with >=gcc-3" --enable-old-abi-compat-wrappers; > CXXFLAGS="${CXXFLAGS} -Wno-deprecated"; > fi; > append-flags "$MAKEEDIT_FLAGS"; > mozconfig_annotate system_libs --with-system-jpeg --with-system-zlib --enable-pango --enable-svg --enable-system-cairo; > mozconfig_annotate disable_update_strip --disable-installer --disable-pedantic --disable-updater --disable-strip --disable-strip-libs --disable-install-strip; > if [[ ${PN} != seamonkey ]]; then > mozconfig_annotate basic_profile --enable-single-profile --disable-profilesharing --disable-profilelocking; > fi; > if is-flag '-mcpu=ultrasparc*' || is-flag '-mtune=ultrasparc*'; then > mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc; > fi; > if use x86 && [[ ${enable_optimize} != -O0 ]]; then > mozconfig_annotate "${ARCH} optimized build" --enable-elf-dynstr-gc; > fi; > ! has_version ">=sys-libs/glibc-2.4" && mozconfig_annotate "we have old glibc" --disable-jemalloc >} >mozconfig_use_enable () >{ > declare flag=$(use_enable "$@"); > mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}" >} >mozconfig_use_extension () >{ > declare minus=$(use $1 || echo -); > mozconfig_annotate "${minus:-+}$1" --enable-extensions=${minus}${2} >} >mozconfig_use_with () >{ > declare flag=$(use_with "$@"); > mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}" >} >mozlinguas_export () >{ > if [[ ${PN} == seamonkey ]]; then > [[ ${PV} =~ alpha ]] && return; > else > [[ ${PV} =~ alpha|beta ]] && return; > fi; > local lingua; > mozlinguas=(); > for lingua in ${LINGUAS}; > do > if has ${lingua} en en_US; then > continue; > else > if has ${lingua} "${MOZ_LANGS[@]//-/_}"; then > has ${lingua//_/-} "${mozlinguas[@]}" || mozlinguas+=(${lingua//_/-}); > continue; > else > :; > fi; > fi; > ewarn "Sorry, but ${P} does not support the ${lingua} locale"; > done >} >mozlinguas_src_install () >{ > local x; > mozlinguas_export; > for x in "${mozlinguas[@]}"; > do > xpi_install "${WORKDIR}/${MOZ_P}-${x}"; > done >} >mozlinguas_src_unpack () >{ > local x; > mozlinguas_export; > for x in "${mozlinguas[@]}"; > do > xpi_unpack "${MOZ_P}-${x}.xpi"; > done; > if [[ "${mozlinguas[*]}" != "" && "${mozlinguas[*]}" != "en" ]]; then > einfo "Selected language packs (first will be default): ${mozlinguas[*]}"; > fi >} >multilib_env () >{ > local CTARGET=${1:-${CTARGET}}; > case ${CTARGET} in > x86_64*) > export CFLAGS_x86=${CFLAGS_x86--m32}; > export CHOST_x86=${CTARGET/x86_64/i686}; > export CTARGET_x86=${CHOST_x86}; > if [[ ${SYMLINK_LIB} == "yes" ]]; then > export LIBDIR_x86="lib32"; > else > export LIBDIR_x86="lib"; > fi; > export CFLAGS_amd64=${CFLAGS_amd64--m64}; > export CHOST_amd64=${CTARGET}; > export CTARGET_amd64=${CHOST_amd64}; > export LIBDIR_amd64="lib64"; > export CFLAGS_x32=${CFLAGS_x32--mx32}; > export CHOST_x32=${CTARGET}; > export CTARGET_x32=${CHOST_x32}; > export LIBDIR_x32="libx32"; > : ${MULTILIB_ABIS=amd64 x86}; > : ${DEFAULT_ABI=amd64} > ;; > mips64*) > export CFLAGS_o32=${CFLAGS_o32--mabi=32}; > export CHOST_o32=${CTARGET/mips64/mips}; > export CTARGET_o32=${CHOST_o32}; > export LIBDIR_o32="lib"; > export CFLAGS_n32=${CFLAGS_n32--mabi=n32}; > export CHOST_n32=${CTARGET}; > export CTARGET_n32=${CHOST_n32}; > export LIBDIR_n32="lib32"; > export CFLAGS_n64=${CFLAGS_n64--mabi=64}; > export CHOST_n64=${CTARGET}; > export CTARGET_n64=${CHOST_n64}; > export LIBDIR_n64="lib64"; > : ${MULTILIB_ABIS=n64 n32 o32}; > : ${DEFAULT_ABI=n32} > ;; > powerpc64*) > export CFLAGS_ppc=${CFLAGS_ppc--m32}; > export CHOST_ppc=${CTARGET/powerpc64/powerpc}; > export CTARGET_ppc=${CHOST_ppc}; > export LIBDIR_ppc="lib"; > export CFLAGS_ppc64=${CFLAGS_ppc64--m64}; > export CHOST_ppc64=${CTARGET}; > export CTARGET_ppc64=${CHOST_ppc64}; > export LIBDIR_ppc64="lib64"; > : ${MULTILIB_ABIS=ppc64 ppc}; > : ${DEFAULT_ABI=ppc64} > ;; > s390x*) > export CFLAGS_s390=${CFLAGS_s390--m31}; > export CHOST_s390=${CTARGET/s390x/s390}; > export CTARGET_s390=${CHOST_s390}; > export LIBDIR_s390="lib"; > export CFLAGS_s390x=${CFLAGS_s390x--m64}; > export CHOST_s390x=${CTARGET}; > export CTARGET_s390x=${CHOST_s390x}; > export LIBDIR_s390x="lib64"; > : ${MULTILIB_ABIS=s390x s390}; > : ${DEFAULT_ABI=s390x} > ;; > sparc*) > export CFLAGS_sparc32=${CFLAGS_sparc32--m32}; > export CHOST_sparc32=${CTARGET/sparc64/sparc}; > export CTARGET_sparc32=${CHOST_sparc32}; > export LIBDIR_sparc32="lib"; > export CFLAGS_sparc64=${CFLAGS_sparc64--m64}; > export CHOST_sparc64=${CTARGET}; > export CTARGET_sparc64=${CHOST_sparc64}; > export LIBDIR_sparc64="lib64"; > : ${MULTILIB_ABIS=sparc64 sparc32}; > : ${DEFAULT_ABI=sparc64} > ;; > *) > : ${MULTILIB_ABIS=default}; > : ${DEFAULT_ABI=default} > ;; > esac; > export MULTILIB_ABIS DEFAULT_ABI >} >multilib_toolchain_setup () >{ > local v vv; > export ABI=$1; > if [[ ${__DEFAULT_ABI_SAVED} == "true" ]]; then > for v in CHOST CBUILD AS CC CXX LD; > do > vv="__abi_saved_${v}"; > export ${v}="${!vv}"; > unset ${vv}; > done; > unset __DEFAULT_ABI_SAVED; > fi; > if [[ ${ABI} != ${DEFAULT_ABI} ]]; then > for v in CHOST CBUILD AS CC CXX LD; > do > export __abi_saved_${v}="${!v}"; > done; > export __DEFAULT_ABI_SAVED="true"; > export CHOST=$(get_abi_CHOST ${DEFAULT_ABI}); > export CC="$(tc-getCC) $(get_abi_CFLAGS)"; > export CXX="$(tc-getCXX) $(get_abi_CFLAGS)"; > export LD="$(tc-getLD) $(get_abi_LDFLAGS)"; > export CHOST=$(get_abi_CHOST $1); > export CBUILD=$(get_abi_CHOST $1); > fi >} >newicon () >{ > ( insinto /usr/share/pixmaps; > newins "$@" ) >} >newmenu () >{ > ( insinto /usr/share/applications; > newins "$@" ) >} >no-as-needed () >{ > case $($(tc-getLD) -v 2>&1 </dev/null) in > *GNU*) > echo "-Wl,--no-as-needed" > ;; > esac >} >number_abis () >{ > set -- `get_install_abis`; > echo $# >} >path_exists () >{ > local opt=$1; > [[ ${opt} == -[ao] ]] && shift || opt="-a"; > [[ $# -eq 0 ]] && return 1; > local p r=0; > for p in "$@"; > do > [[ -e ${p} ]]; > : $(( r += $? )); > done; > case ${opt} in > -a) > return $(( r != 0 )) > ;; > -o) > return $(( r == $# )) > ;; > esac >} >pax-mark () >{ > local f flags fail=0 failures="" zero_load_alignment; > flags=${1//-}; > shift; > if type -p paxctl > /dev/null && has PT ${PAX_MARKINGS}; then > einfo "PT PaX marking -${flags}"; > _pax_list_files einfo "$@"; > for f in "$@"; > do > paxctl -q${flags} "${f}" && continue; > paxctl -qc${flags} "${f}" && continue; > paxctl -qC${flags} "${f}" && continue; > fail=1; > failures="${failures} ${f}"; > done; > else > if type -p scanelf > /dev/null && [[ ${PAX_MARKINGS} != "none" ]]; then > einfo "Fallback PaX marking -${flags}"; > _pax_list_files einfo "$@"; > scanelf -Xxz ${flags} "$@"; > else > if [[ ${PAX_MARKINGS} != "none" ]]; then > failures="$*"; > fail=1; > fi; > fi; > fi; > if [[ ${fail} == 1 ]]; then > ewarn "Failed to set PaX markings -${flags} for:"; > _pax_list_files ewarn ${failures}; > ewarn "Executables may be killed by PaX kernels."; > fi; > return ${fail} >} >pkg_mv_plugins () >{ > has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${ROOT}"; > if [ -d "${ROOT}/$1" -a ! -L "${ROOT}/$1" ]; then > mkdir -p "${EROOT}"/usr/$(get_libdir)/${PLUGINS_DIR}; > cp -a "${EROOT}"/$1/* "${EROOT}"/usr/$(get_libdir)/${PLUGINS_DIR}; > rm -rf "${EROOT}"/$1; > fi >} >pkg_nofetch () >{ > _eapi0_pkg_nofetch "$@" >} >pkg_postinst () >{ > fdo-mime_desktop_database_update; > gnome2_icon_cache_update >} >pkg_postrm () >{ > gnome2_icon_cache_update >} >pkg_preinst () >{ > gnome2_icon_savelist >} >pkg_setup () >{ > moz_pkgsetup; > unset DBUS_SESSION_BUS_ADDRESS DISPLAY ORBIT_SOCKETDIR SESSION_MANAGER XDG_SESSION_COOKIE XAUTHORITY; > if ! use bindist; then > einfo; > elog "You are enabling official branding. You may not redistribute this build"; > elog "to any users on your network or the internet. Doing so puts yourself into"; > elog "a legal problem with Mozilla Foundation"; > elog "You can disable it by emerging ${PN} _with_ the bindist USE-flag"; > fi; > if use pgo; then > einfo; > ewarn "You will do a double build for profile guided optimization."; > ewarn "This will result in your build taking at least twice as long as before."; > fi; > if use pgo || use debug || use test; then > CHECKREQS_DISK_BUILD="8G"; > else > CHECKREQS_DISK_BUILD="4G"; > fi; > check-reqs_pkg_setup >} >preserve_old_lib () >{ > if [[ ${EBUILD_PHASE} != "preinst" ]]; then > eerror "preserve_old_lib() must be called from pkg_preinst() only"; > die "Invalid preserve_old_lib() usage"; > fi; > [[ -z $1 ]] && die "Usage: preserve_old_lib <library to preserve> [more libraries to preserve]"; > has preserve-libs ${FEATURES} && return 0; > local lib dir; > for lib in "$@"; > do > [[ -e ${ROOT}/${lib} ]] || continue; > dir=${lib%/*}; > dodir ${dir} || die "dodir ${dir} failed"; > cp "${ROOT}"/${lib} "${D}"/${lib} || die "cp ${lib} failed"; > touch "${D}"/${lib}; > done >} >preserve_old_lib_notify () >{ > if [[ ${EBUILD_PHASE} != "postinst" ]]; then > eerror "preserve_old_lib_notify() must be called from pkg_postinst() only"; > die "Invalid preserve_old_lib_notify() usage"; > fi; > has preserve-libs ${FEATURES} && return 0; > local lib notice=0; > for lib in "$@"; > do > [[ -e ${ROOT}/${lib} ]] || continue; > if [[ ${notice} -eq 0 ]]; then > notice=1; > ewarn "Old versions of installed libraries were detected on your system."; > ewarn "In order to avoid breaking packages that depend on these old libs,"; > ewarn "the libraries are not being removed. You need to run revdep-rebuild"; > ewarn "in order to remove these old dependencies. If you do not have this"; > ewarn "helper program, simply emerge the 'gentoolkit' package."; > ewarn; > fi; > [[ ${PN} == "mpfr" ]] && lib=${lib##*/}; > ewarn " # revdep-rebuild --library '${lib}'"; > done; > if [[ ${notice} -eq 1 ]]; then > ewarn; > ewarn "Once you've finished running revdep-rebuild, it should be safe to"; > ewarn "delete the old libraries. Here is a copy & paste for the lazy:"; > for lib in "$@"; > do > ewarn " # rm '${lib}'"; > done; > fi >} >python_clean_installation_image () >{ > if [[ "${EBUILD_PHASE}" != "install" ]]; then > die "${FUNCNAME}() can be used only in src_install() phase"; > fi; > _python_check_python_pkg_setup_execution; > _python_initialize_prefix_variables; > local file files=() quiet="0"; > while (($#)); do > case "$1" in > -q | --quiet) > quiet="1" > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > die "${FUNCNAME}(): Invalid usage" > ;; > esac; > shift; > done; > while read -d '' -r file; do > files+=("${file}"); > done < <(find "${ED}" "(" -name "*.py[co]" -o -name "*\$py.class" ")" -type f -print0); > if [[ "${#files[@]}" -gt 0 ]]; then > if [[ "${quiet}" == "0" ]]; then > ewarn "Deleting byte-compiled Python modules needlessly generated by build system:"; > fi; > for file in "${files[@]}"; > do > if [[ "${quiet}" == "0" ]]; then > ewarn " ${file}"; > fi; > rm -f "${file}"; > if [[ "${file%/*}" == *"/__pycache__" ]]; then > rmdir "${file%/*}" 2> /dev/null; > fi; > done; > fi; > function python_clean_sitedirs () > { > if [[ -d "${ED}$(python_get_sitedir)" ]]; then > find "${ED}$(python_get_sitedir)" "(" -name "*.c" -o -name "*.h" -o -name "*.la" ")" -type f -print0 | xargs -0 rm -f; > fi > }; > if _python_package_supporting_installation_for_multiple_python_abis; then > python_execute_function -q python_clean_sitedirs; > else > python_clean_sitedirs; > fi; > unset -f python_clean_sitedirs >} >python_clean_py-compile_files () >{ > _python_check_python_pkg_setup_execution; > local file files=() quiet="0"; > while (($#)); do > case "$1" in > -q | --quiet) > quiet="1" > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > die "${FUNCNAME}(): Invalid usage" > ;; > esac; > shift; > done; > while read -d '' -r file; do > files+=("${file#./}"); > done < <(find -name py-compile -type f -print0); > for file in "${files[@]}"; > do > if [[ "${quiet}" == "0" ]]; then > einfo "Cleaning '${file}' file"; > fi; > echo "#!/bin/sh" > "${file}"; > done >} >python_convert_shebangs () >{ > _python_check_python_pkg_setup_execution; > local argument file files=() only_executables="0" python_interpreter quiet="0" recursive="0" shebangs_converted="0"; > while (($#)); do > case "$1" in > -r | --recursive) > recursive="1" > ;; > -q | --quiet) > quiet="1" > ;; > -x | --only-executables) > only_executables="1" > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > if [[ "$#" -eq 0 ]]; then > die "${FUNCNAME}(): Missing Python version and files or directories"; > else > if [[ "$#" -eq 1 ]]; then > die "${FUNCNAME}(): Missing files or directories"; > fi; > fi; > if [[ -n "$(_python_get_implementation --ignore-invalid "$1")" ]]; then > python_interpreter="$(PYTHON "$1")"; > else > python_interpreter="python$1"; > fi; > shift; > for argument in "$@"; > do > if [[ ! -e "${argument}" ]]; then > die "${FUNCNAME}(): '${argument}' does not exist"; > else > if [[ -f "${argument}" ]]; then > files+=("${argument}"); > else > if [[ -d "${argument}" ]]; then > if [[ "${recursive}" == "1" ]]; then > while read -d '' -r file; do > files+=("${file}"); > done < <(find "${argument}" $([[ "${only_executables}" == "1" ]] && echo -perm /111) -type f -print0); > else > die "${FUNCNAME}(): '${argument}' is not a regular file"; > fi; > else > die "${FUNCNAME}(): '${argument}' is not a regular file or a directory"; > fi; > fi; > fi; > done; > for file in "${files[@]}"; > do > file="${file#./}"; > [[ "${only_executables}" == "1" && ! -x "${file}" ]] && continue; > if [[ "$(head -n1 "${file}")" =~ ${_PYTHON_SHEBANG_BASE_PART_REGEX} ]]; then > [[ "$(sed -ne "2p" "${file}")" =~ ^"# Gentoo '".*"' wrapper script generated by python_generate_wrapper_scripts()"$ ]] && continue; > shebangs_converted="1"; > if [[ "${quiet}" == "0" ]]; then > einfo "Converting shebang in '${file}'"; > fi; > sed -e "1s:^#![[:space:]]*\([^[:space:]]*/usr/bin/env[[:space:]]\)\?[[:space:]]*\([^[:space:]]*/\)\?\(jython\|pypy-c\|python\)\([[:digit:]]\+\(\.[[:digit:]]\+\)\?\)\?\(\$\|[[:space:]].*\):#!\1\2${python_interpreter}\6:" -i "${file}" || die "Conversion of shebang in '${file}' failed"; > fi; > done; > if [[ "${shebangs_converted}" == "0" ]]; then > ewarn "${FUNCNAME}(): Python scripts not found"; > fi >} >python_copy_sources () >{ > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_check_python_pkg_setup_execution; > local dir dirs=() PYTHON_ABI; > if [[ "$#" -eq 0 ]]; then > if [[ "${WORKDIR}" == "${S}" ]]; then > die "${FUNCNAME}() cannot be used with current value of S variable"; > fi; > dirs=("${S%/}"); > else > dirs=("$@"); > fi; > _python_calculate_PYTHON_ABIS; > for PYTHON_ABI in ${PYTHON_ABIS}; > do > for dir in "${dirs[@]}"; > do > cp -pr "${dir}" "${dir}-${PYTHON_ABI}" > /dev/null || die "Copying of sources failed"; > done; > done >} >python_disable_pyc () >{ > _python_check_python_pkg_setup_execution; > if [[ "$#" -ne 0 ]]; then > die "${FUNCNAME}() does not accept arguments"; > fi; > export PYTHONDONTWRITEBYTECODE="1" >} >python_enable_pyc () >{ > _python_check_python_pkg_setup_execution; > if [[ "$#" -ne 0 ]]; then > die "${FUNCNAME}() does not accept arguments"; > fi; > unset PYTHONDONTWRITEBYTECODE >} >python_execute_function () >{ > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_check_python_pkg_setup_execution; > _python_set_color_variables; > local action action_message action_message_template default_function="0" failure_message failure_message_template final_ABI="0" function iterated_PYTHON_ABIS nonfatal="0" previous_directory previous_directory_stack previous_directory_stack_length PYTHON_ABI quiet="0" return_code separate_build_dirs="0" source_dir; > while (($#)); do > case "$1" in > --action-message) > action_message_template="$2"; > shift > ;; > -d | --default-function) > default_function="1" > ;; > --failure-message) > failure_message_template="$2"; > shift > ;; > -f | --final-ABI) > final_ABI="1" > ;; > --nonfatal) > nonfatal="1" > ;; > -q | --quiet) > quiet="1" > ;; > -s | --separate-build-dirs) > separate_build_dirs="1" > ;; > --source-dir) > source_dir="$2"; > shift > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > if [[ -n "${source_dir}" && "${separate_build_dirs}" == 0 ]]; then > die "${FUNCNAME}(): '--source-dir' option can be specified only with '--separate-build-dirs' option"; > fi; > if [[ "${default_function}" == "0" ]]; then > if [[ "$#" -eq 0 ]]; then > die "${FUNCNAME}(): Missing function name"; > fi; > function="$1"; > shift; > if [[ -z "$(type -t "${function}")" ]]; then > die "${FUNCNAME}(): '${function}' function is not defined"; > fi; > else > if has "${EAPI:-0}" 0 1; then > die "${FUNCNAME}(): '--default-function' option cannot be used in this EAPI"; > fi; > if [[ "${EBUILD_PHASE}" == "configure" ]]; then > if has "${EAPI}" 2 3; then > function python_default_function () > { > econf "$@" > }; > else > function python_default_function () > { > nonfatal econf "$@" > }; > fi; > else > if [[ "${EBUILD_PHASE}" == "compile" ]]; then > function python_default_function () > { > emake "$@" > }; > else > if [[ "${EBUILD_PHASE}" == "test" ]]; then > function python_default_function () > { > local emake_cmd="${MAKE:-make} ${MAKEOPTS} ${EXTRA_EMAKE}"; > if ${emake_cmd} -j1 -n check &>/dev/null; then > ${emake_cmd} -j1 check "$@"; > else > if ${emake_cmd} -j1 -n test &>/dev/null; then > ${emake_cmd} -j1 test "$@"; > fi; > fi > }; > else > if [[ "${EBUILD_PHASE}" == "install" ]]; then > function python_default_function () > { > emake DESTDIR="${D}" install "$@" > }; > else > die "${FUNCNAME}(): '--default-function' option cannot be used in this ebuild phase"; > fi; > fi; > fi; > fi; > function="python_default_function"; > fi; > if _python_abi-specific_local_scope; then > die "${FUNCNAME}(): Invalid call stack"; > fi; > if [[ "${quiet}" == "0" ]]; then > [[ "${EBUILD_PHASE}" == "setup" ]] && action="Setting up"; > [[ "${EBUILD_PHASE}" == "unpack" ]] && action="Unpacking"; > [[ "${EBUILD_PHASE}" == "prepare" ]] && action="Preparation"; > [[ "${EBUILD_PHASE}" == "configure" ]] && action="Configuration"; > [[ "${EBUILD_PHASE}" == "compile" ]] && action="Building"; > [[ "${EBUILD_PHASE}" == "test" ]] && action="Testing"; > [[ "${EBUILD_PHASE}" == "install" ]] && action="Installation"; > [[ "${EBUILD_PHASE}" == "preinst" ]] && action="Preinstallation"; > [[ "${EBUILD_PHASE}" == "postinst" ]] && action="Postinstallation"; > [[ "${EBUILD_PHASE}" == "prerm" ]] && action="Preuninstallation"; > [[ "${EBUILD_PHASE}" == "postrm" ]] && action="Postuninstallation"; > fi; > _python_calculate_PYTHON_ABIS; > if [[ "${final_ABI}" == "1" ]]; then > iterated_PYTHON_ABIS="$(PYTHON -f --ABI)"; > else > iterated_PYTHON_ABIS="${PYTHON_ABIS}"; > fi; > for PYTHON_ABI in ${iterated_PYTHON_ABIS}; > do > if [[ "${EBUILD_PHASE}" == "test" ]] && _python_check_python_abi_matching --patterns-list "${PYTHON_ABI}" "${PYTHON_TESTS_RESTRICTED_ABIS}"; then > if [[ "${quiet}" == "0" ]]; then > echo " ${_GREEN}*${_NORMAL} ${_BLUE}Testing of ${CATEGORY}/${PF} with $(python_get_implementation_and_version) skipped${_NORMAL}"; > fi; > continue; > fi; > _python_prepare_flags; > if [[ "${quiet}" == "0" ]]; then > if [[ -n "${action_message_template}" ]]; then > eval "action_message=\"${action_message_template}\""; > else > action_message="${action} of ${CATEGORY}/${PF} with $(python_get_implementation_and_version)..."; > fi; > echo " ${_GREEN}*${_NORMAL} ${_BLUE}${action_message}${_NORMAL}"; > fi; > if [[ "${separate_build_dirs}" == "1" ]]; then > if [[ -n "${source_dir}" ]]; then > export BUILDDIR="${S}/${source_dir}-${PYTHON_ABI}"; > else > export BUILDDIR="${S}-${PYTHON_ABI}"; > fi; > pushd "${BUILDDIR}" > /dev/null || die "pushd failed"; > else > export BUILDDIR="${S}"; > fi; > previous_directory="$(pwd)"; > previous_directory_stack="$(dirs -p)"; > previous_directory_stack_length="$(dirs -p | wc -l)"; > if ! has "${EAPI}" 0 1 2 3 && has "${PYTHON_ABI}" ${FAILURE_TOLERANT_PYTHON_ABIS}; then > EPYTHON="$(PYTHON)" nonfatal "${function}" "$@"; > else > EPYTHON="$(PYTHON)" "${function}" "$@"; > fi; > return_code="$?"; > _python_restore_flags; > if [[ "${return_code}" -ne 0 ]]; then > if [[ -n "${failure_message_template}" ]]; then > eval "failure_message=\"${failure_message_template}\""; > else > failure_message="${action} failed with $(python_get_implementation_and_version) in ${function}() function"; > fi; > if [[ "${nonfatal}" == "1" ]]; then > if [[ "${quiet}" == "0" ]]; then > ewarn "${failure_message}"; > fi; > else > if [[ "${final_ABI}" == "0" ]] && has "${PYTHON_ABI}" ${FAILURE_TOLERANT_PYTHON_ABIS}; then > if [[ "${EBUILD_PHASE}" != "test" ]] || ! has test-fail-continue ${FEATURES}; then > local enabled_PYTHON_ABIS= other_PYTHON_ABI; > for other_PYTHON_ABI in ${PYTHON_ABIS}; > do > [[ "${other_PYTHON_ABI}" != "${PYTHON_ABI}" ]] && enabled_PYTHON_ABIS+="${enabled_PYTHON_ABIS:+ }${other_PYTHON_ABI}"; > done; > export PYTHON_ABIS="${enabled_PYTHON_ABIS}"; > fi; > if [[ "${quiet}" == "0" ]]; then > ewarn "${failure_message}"; > fi; > if [[ -z "${PYTHON_ABIS}" ]]; then > die "${function}() function failed with all enabled Python ABIs"; > fi; > else > die "${failure_message}"; > fi; > fi; > fi; > if [[ "$(dirs -p | wc -l)" -lt "${previous_directory_stack_length}" ]]; then > die "Directory stack decreased illegally"; > fi; > while [[ "$(dirs -p | wc -l)" -gt "${previous_directory_stack_length}" ]]; do > popd > /dev/null || die "popd failed"; > done; > cd "${previous_directory}"; > if [[ "$(dirs -p)" != "${previous_directory_stack}" ]]; then > die "Directory stack changed illegally"; > fi; > if [[ "${separate_build_dirs}" == "1" ]]; then > popd > /dev/null || die "popd failed"; > fi; > unset BUILDDIR; > done; > if [[ "${default_function}" == "1" ]]; then > unset -f python_default_function; > fi >} >python_execute_nosetests () >{ > _python_check_python_pkg_setup_execution; > _python_set_color_variables; > local PYTHONPATH_template separate_build_dirs; > while (($#)); do > case "$1" in > -P | --PYTHONPATH) > PYTHONPATH_template="$2"; > shift > ;; > -s | --separate-build-dirs) > separate_build_dirs="1" > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > function python_test_function () > { > local evaluated_PYTHONPATH; > eval "evaluated_PYTHONPATH=\"${PYTHONPATH_template}\""; > _PYTHON_TEST_FUNCTION="python_execute_nosetests" _python_test_hook pre; > if [[ -n "${evaluated_PYTHONPATH}" ]]; then > echo ${_BOLD}PYTHONPATH="${evaluated_PYTHONPATH}" nosetests --verbosity="${PYTHON_TEST_VERBOSITY}" "$@"${_NORMAL}; > PYTHONPATH="${evaluated_PYTHONPATH}" nosetests --verbosity="${PYTHON_TEST_VERBOSITY}" "$@" || return "$?"; > else > echo ${_BOLD}nosetests --verbosity="${PYTHON_TEST_VERBOSITY}" "$@"${_NORMAL}; > nosetests --verbosity="${PYTHON_TEST_VERBOSITY}" "$@" || return "$?"; > fi; > _PYTHON_TEST_FUNCTION="python_execute_nosetests" _python_test_hook post > }; > if _python_package_supporting_installation_for_multiple_python_abis; then > python_execute_function ${separate_build_dirs:+-s} python_test_function "$@"; > else > if [[ -n "${separate_build_dirs}" ]]; then > die "${FUNCNAME}(): Invalid usage"; > fi; > python_test_function "$@" || die "Testing failed"; > fi; > unset -f python_test_function >} >python_execute_py.test () >{ > _python_check_python_pkg_setup_execution; > _python_set_color_variables; > local PYTHONPATH_template separate_build_dirs; > while (($#)); do > case "$1" in > -P | --PYTHONPATH) > PYTHONPATH_template="$2"; > shift > ;; > -s | --separate-build-dirs) > separate_build_dirs="1" > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > function python_test_function () > { > local evaluated_PYTHONPATH; > eval "evaluated_PYTHONPATH=\"${PYTHONPATH_template}\""; > _PYTHON_TEST_FUNCTION="python_execute_py.test" _python_test_hook pre; > if [[ -n "${evaluated_PYTHONPATH}" ]]; then > echo ${_BOLD}PYTHONPATH="${evaluated_PYTHONPATH}" py.test $([[ "${PYTHON_TEST_VERBOSITY}" -ge 2 ]] && echo -v) "$@"${_NORMAL}; > PYTHONPATH="${evaluated_PYTHONPATH}" py.test $([[ "${PYTHON_TEST_VERBOSITY}" -ge 2 ]] && echo -v) "$@" || return "$?"; > else > echo ${_BOLD}py.test $([[ "${PYTHON_TEST_VERBOSITY}" -gt 1 ]] && echo -v) "$@"${_NORMAL}; > py.test $([[ "${PYTHON_TEST_VERBOSITY}" -gt 1 ]] && echo -v) "$@" || return "$?"; > fi; > _PYTHON_TEST_FUNCTION="python_execute_py.test" _python_test_hook post > }; > if _python_package_supporting_installation_for_multiple_python_abis; then > python_execute_function ${separate_build_dirs:+-s} python_test_function "$@"; > else > if [[ -n "${separate_build_dirs}" ]]; then > die "${FUNCNAME}(): Invalid usage"; > fi; > python_test_function "$@" || die "Testing failed"; > fi; > unset -f python_test_function >} >python_execute_trial () >{ > _python_check_python_pkg_setup_execution; > _python_set_color_variables; > local PYTHONPATH_template separate_build_dirs; > while (($#)); do > case "$1" in > -P | --PYTHONPATH) > PYTHONPATH_template="$2"; > shift > ;; > -s | --separate-build-dirs) > separate_build_dirs="1" > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > function python_test_function () > { > local evaluated_PYTHONPATH; > eval "evaluated_PYTHONPATH=\"${PYTHONPATH_template}\""; > _PYTHON_TEST_FUNCTION="python_execute_trial" _python_test_hook pre; > if [[ -n "${evaluated_PYTHONPATH}" ]]; then > echo ${_BOLD}PYTHONPATH="${evaluated_PYTHONPATH}" trial $([[ "${PYTHON_TEST_VERBOSITY}" -ge 4 ]] && echo --spew) "$@"${_NORMAL}; > PYTHONPATH="${evaluated_PYTHONPATH}" trial $([[ "${PYTHON_TEST_VERBOSITY}" -ge 4 ]] && echo --spew) "$@" || return "$?"; > else > echo ${_BOLD}trial $([[ "${PYTHON_TEST_VERBOSITY}" -ge 4 ]] && echo --spew) "$@"${_NORMAL}; > trial $([[ "${PYTHON_TEST_VERBOSITY}" -ge 4 ]] && echo --spew) "$@" || return "$?"; > fi; > _PYTHON_TEST_FUNCTION="python_execute_trial" _python_test_hook post > }; > if _python_package_supporting_installation_for_multiple_python_abis; then > python_execute_function ${separate_build_dirs:+-s} python_test_function "$@"; > else > if [[ -n "${separate_build_dirs}" ]]; then > die "${FUNCNAME}(): Invalid usage"; > fi; > python_test_function "$@" || die "Testing failed"; > fi; > unset -f python_test_function >} >python_generate_wrapper_scripts () >{ > if [[ "${EBUILD_PHASE}" != "install" ]]; then > die "${FUNCNAME}() can be used only in src_install() phase"; > fi; > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_check_python_pkg_setup_execution; > _python_initialize_prefix_variables; > local eselect_python_option file force="0" quiet="0" PYTHON_ABI PYTHON_ABIS_list python2_enabled="0" python3_enabled="0" respect_EPYTHON="0"; > while (($#)); do > case "$1" in > -E | --respect-EPYTHON) > respect_EPYTHON="1" > ;; > -f | --force) > force="1" > ;; > -q | --quiet) > quiet="1" > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > if [[ "$#" -eq 0 ]]; then > die "${FUNCNAME}(): Missing arguments"; > fi; > _python_calculate_PYTHON_ABIS; > for PYTHON_ABI in "${_CPYTHON2_GLOBALLY_SUPPORTED_ABIS[@]}"; > do > if has "${PYTHON_ABI}" ${PYTHON_ABIS}; then > python2_enabled="1"; > fi; > done; > for PYTHON_ABI in "${_CPYTHON3_GLOBALLY_SUPPORTED_ABIS[@]}"; > do > if has "${PYTHON_ABI}" ${PYTHON_ABIS}; then > python3_enabled="1"; > fi; > done; > if [[ "${python2_enabled}" == "1" && "${python3_enabled}" == "1" ]]; then > eselect_python_option=; > else > if [[ "${python2_enabled}" == "1" && "${python3_enabled}" == "0" ]]; then > eselect_python_option="--python2"; > else > if [[ "${python2_enabled}" == "0" && "${python3_enabled}" == "1" ]]; then > eselect_python_option="--python3"; > else > die "${FUNCNAME}(): Unsupported environment"; > fi; > fi; > fi; > PYTHON_ABIS_list="$("$(PYTHON -f)" -c "print(', '.join('\"%s\"' % x for x in reversed('${PYTHON_ABIS}'.split())))")"; > for file in "$@"; > do > if [[ -f "${file}" && "${force}" == "0" ]]; then > die "${FUNCNAME}(): '${file}' already exists"; > fi; > if [[ "${quiet}" == "0" ]]; then > einfo "Generating '${file#${ED%/}}' wrapper script"; > fi; > cat > "${file}" <<EOF >#!/usr/bin/env python ># Gentoo '${file##*/}' wrapper script generated by python_generate_wrapper_scripts() > >import os >import re >import subprocess >import sys > >cpython_ABI_re = re.compile(r"^(\d+\.\d+)$") >jython_ABI_re = re.compile(r"^(\d+\.\d+)-jython$") >pypy_ABI_re = re.compile(r"^\d+\.\d+-pypy-(\d+\.\d+)$") >cpython_interpreter_re = re.compile(r"^python(\d+\.\d+)$") >jython_interpreter_re = re.compile(r"^jython(\d+\.\d+)$") >pypy_interpreter_re = re.compile(r"^pypy-c(\d+\.\d+)$") >cpython_shebang_re = re.compile(r"^#![ \t]*(?:${EPREFIX}/usr/bin/python|(?:${EPREFIX})?/usr/bin/env[ \t]+(?:${EPREFIX}/usr/bin/)?python)") >python_shebang_options_re = re.compile(r"^#![ \t]*${EPREFIX}/usr/bin/(?:jython|pypy-c|python)(?:\d+(?:\.\d+)?)?[ \t]+(-\S)") >python_verification_output_re = re.compile("^GENTOO_PYTHON_TARGET_SCRIPT_PATH supported\n$") > >pypy_versions_mapping = { > "1.5": "2.7", > "1.6": "2.7", > "1.7": "2.7", > "1.8": "2.7", >} > >def get_PYTHON_ABI(python_interpreter): > cpython_matched = cpython_interpreter_re.match(python_interpreter) > jython_matched = jython_interpreter_re.match(python_interpreter) > pypy_matched = pypy_interpreter_re.match(python_interpreter) > if cpython_matched is not None: > PYTHON_ABI = cpython_matched.group(1) > elif jython_matched is not None: > PYTHON_ABI = jython_matched.group(1) + "-jython" > elif pypy_matched is not None: > PYTHON_ABI = pypy_versions_mapping[pypy_matched.group(1)] + "-pypy-" + pypy_matched.group(1) > else: > PYTHON_ABI = None > return PYTHON_ABI > >def get_python_interpreter(PYTHON_ABI): > cpython_matched = cpython_ABI_re.match(PYTHON_ABI) > jython_matched = jython_ABI_re.match(PYTHON_ABI) > pypy_matched = pypy_ABI_re.match(PYTHON_ABI) > if cpython_matched is not None: > python_interpreter = "python" + cpython_matched.group(1) > elif jython_matched is not None: > python_interpreter = "jython" + jython_matched.group(1) > elif pypy_matched is not None: > python_interpreter = "pypy-c" + pypy_matched.group(1) > else: > python_interpreter = None > return python_interpreter > >EOF > > if [[ "$?" != "0" ]]; then > die "${FUNCNAME}(): Generation of '$1' failed"; > fi; > if [[ "${respect_EPYTHON}" == "1" ]]; then > cat >> "${file}" <<EOF >python_interpreter = os.environ.get("EPYTHON") >if python_interpreter: > PYTHON_ABI = get_PYTHON_ABI(python_interpreter) > if PYTHON_ABI is None: > sys.stderr.write("%s: EPYTHON variable has unrecognized value '%s'\n" % (sys.argv[0], python_interpreter)) > sys.exit(1) >else: > try: > environment = os.environ.copy() > environment["ROOT"] = "/" > eselect_process = subprocess.Popen(["${EPREFIX}/usr/bin/eselect", "python", "show"${eselect_python_option:+, $(echo "\"")}${eselect_python_option}${eselect_python_option:+$(echo "\"")}], env=environment, stdout=subprocess.PIPE) > if eselect_process.wait() != 0: > raise ValueError > except (OSError, ValueError): > sys.stderr.write("%s: Execution of 'eselect python show${eselect_python_option:+ }${eselect_python_option}' failed\n" % sys.argv[0]) > sys.exit(1) > > python_interpreter = eselect_process.stdout.read() > if not isinstance(python_interpreter, str): > # Python 3 > python_interpreter = python_interpreter.decode() > python_interpreter = python_interpreter.rstrip("\n") > > PYTHON_ABI = get_PYTHON_ABI(python_interpreter) > if PYTHON_ABI is None: > sys.stderr.write("%s: 'eselect python show${eselect_python_option:+ }${eselect_python_option}' printed unrecognized value '%s'\n" % (sys.argv[0], python_interpreter)) > sys.exit(1) > >wrapper_script_path = os.path.realpath(sys.argv[0]) >target_executable_path = "%s-%s" % (wrapper_script_path, PYTHON_ABI) >if not os.path.exists(target_executable_path): > sys.stderr.write("%s: '%s' does not exist\n" % (sys.argv[0], target_executable_path)) > sys.exit(1) >EOF > > if [[ "$?" != "0" ]]; then > die "${FUNCNAME}(): Generation of '$1' failed"; > fi; > else > cat >> "${file}" <<EOF >try: > environment = os.environ.copy() > environment["ROOT"] = "/" > eselect_process = subprocess.Popen(["${EPREFIX}/usr/bin/eselect", "python", "show"${eselect_python_option:+, $(echo "\"")}${eselect_python_option}${eselect_python_option:+$(echo "\"")}], env=environment, stdout=subprocess.PIPE) > if eselect_process.wait() != 0: > raise ValueError >except (OSError, ValueError): > sys.stderr.write("%s: Execution of 'eselect python show${eselect_python_option:+ }${eselect_python_option}' failed\n" % sys.argv[0]) > sys.exit(1) > >python_interpreter = eselect_process.stdout.read() >if not isinstance(python_interpreter, str): > # Python 3 > python_interpreter = python_interpreter.decode() >python_interpreter = python_interpreter.rstrip("\n") > >PYTHON_ABI = get_PYTHON_ABI(python_interpreter) >if PYTHON_ABI is None: > sys.stderr.write("%s: 'eselect python show${eselect_python_option:+ }${eselect_python_option}' printed unrecognized value '%s'\n" % (sys.argv[0], python_interpreter)) > sys.exit(1) > >wrapper_script_path = os.path.realpath(sys.argv[0]) >for PYTHON_ABI in [PYTHON_ABI, ${PYTHON_ABIS_list}]: > target_executable_path = "%s-%s" % (wrapper_script_path, PYTHON_ABI) > if os.path.exists(target_executable_path): > break >else: > sys.stderr.write("%s: No target script exists for '%s'\n" % (sys.argv[0], wrapper_script_path)) > sys.exit(1) > >python_interpreter = get_python_interpreter(PYTHON_ABI) >if python_interpreter is None: > sys.stderr.write("%s: Unrecognized Python ABI '%s'\n" % (sys.argv[0], PYTHON_ABI)) > sys.exit(1) >EOF > > if [[ "$?" != "0" ]]; then > die "${FUNCNAME}(): Generation of '$1' failed"; > fi; > fi > cat >> "${file}" <<EOF > >target_executable = open(target_executable_path, "rb") >target_executable_first_line = target_executable.readline() >target_executable.close() >if not isinstance(target_executable_first_line, str): > # Python 3 > target_executable_first_line = target_executable_first_line.decode("utf_8", "replace") > >options = [] >python_shebang_options_matched = python_shebang_options_re.match(target_executable_first_line) >if python_shebang_options_matched is not None: > options = [python_shebang_options_matched.group(1)] > >cpython_shebang_matched = cpython_shebang_re.match(target_executable_first_line) > >if cpython_shebang_matched is not None: > try: > python_interpreter_path = "${EPREFIX}/usr/bin/%s" % python_interpreter > os.environ["GENTOO_PYTHON_TARGET_SCRIPT_PATH_VERIFICATION"] = "1" > python_verification_process = subprocess.Popen([python_interpreter_path, "-c", "pass"], stdout=subprocess.PIPE) > del os.environ["GENTOO_PYTHON_TARGET_SCRIPT_PATH_VERIFICATION"] > if python_verification_process.wait() != 0: > raise ValueError > > python_verification_output = python_verification_process.stdout.read() > if not isinstance(python_verification_output, str): > # Python 3 > python_verification_output = python_verification_output.decode() > > if not python_verification_output_re.match(python_verification_output): > raise ValueError > > if cpython_interpreter_re.match(python_interpreter) is not None: > os.environ["GENTOO_PYTHON_PROCESS_NAME"] = os.path.basename(sys.argv[0]) > os.environ["GENTOO_PYTHON_WRAPPER_SCRIPT_PATH"] = sys.argv[0] > os.environ["GENTOO_PYTHON_TARGET_SCRIPT_PATH"] = target_executable_path > > if hasattr(os, "execv"): > os.execv(python_interpreter_path, [python_interpreter_path] + options + sys.argv) > else: > sys.exit(subprocess.Popen([python_interpreter_path] + options + sys.argv).wait()) > except (KeyboardInterrupt, SystemExit): > raise > except: > pass > for variable in ("GENTOO_PYTHON_PROCESS_NAME", "GENTOO_PYTHON_WRAPPER_SCRIPT_PATH", "GENTOO_PYTHON_TARGET_SCRIPT_PATH", "GENTOO_PYTHON_TARGET_SCRIPT_PATH_VERIFICATION"): > if variable in os.environ: > del os.environ[variable] > >if hasattr(os, "execv"): > os.execv(target_executable_path, sys.argv) >else: > sys.exit(subprocess.Popen([target_executable_path] + sys.argv[1:]).wait()) >EOF > > if [[ "$?" != "0" ]]; then > die "${FUNCNAME}(): Generation of '$1' failed"; > fi; > fperms +x "${file#${ED%/}}" || die "fperms '${file}' failed"; > done >} >python_get_implementation () >{ > _python_check_python_pkg_setup_execution; > local final_ABI="0" PYTHON_ABI="${PYTHON_ABI}"; > while (($#)); do > case "$1" in > -f | --final-ABI) > final_ABI="1" > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > die "${FUNCNAME}(): Invalid usage" > ;; > esac; > shift; > done; > if [[ "${final_ABI}" == "1" ]]; then > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > PYTHON_ABI="$(PYTHON -f --ABI)"; > else > if _python_package_supporting_installation_for_multiple_python_abis; then > if ! _python_abi-specific_local_scope; then > die "${FUNCNAME}() should be used in ABI-specific local scope"; > fi; > else > PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}"; > fi; > fi; > echo "$(_python_get_implementation "${PYTHON_ABI}")" >} >python_get_implementation_and_version () >{ > _python_check_python_pkg_setup_execution; > local final_ABI="0" PYTHON_ABI="${PYTHON_ABI}"; > while (($#)); do > case "$1" in > -f | --final-ABI) > final_ABI="1" > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > die "${FUNCNAME}(): Invalid usage" > ;; > esac; > shift; > done; > if [[ "${final_ABI}" == "1" ]]; then > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > PYTHON_ABI="$(PYTHON -f --ABI)"; > else > if _python_package_supporting_installation_for_multiple_python_abis; then > if ! _python_abi-specific_local_scope; then > die "${FUNCNAME}() should be used in ABI-specific local scope"; > fi; > else > PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}"; > fi; > fi; > if [[ "${PYTHON_ABI}" =~ ^[[:digit:]]+\.[[:digit:]]+-[[:alnum:]]+-[[:digit:]]+\.[[:digit:]]+$ ]]; then > echo "$(_python_get_implementation "${PYTHON_ABI}") ${PYTHON_ABI##*-} (Python ${PYTHON_ABI%%-*})"; > else > echo "$(_python_get_implementation "${PYTHON_ABI}") ${PYTHON_ABI%%-*}"; > fi >} >python_get_implementational_package () >{ > _python_check_python_pkg_setup_execution; > local final_ABI="0" PYTHON_ABI="${PYTHON_ABI}"; > while (($#)); do > case "$1" in > -f | --final-ABI) > final_ABI="1" > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > die "${FUNCNAME}(): Invalid usage" > ;; > esac; > shift; > done; > if [[ "${final_ABI}" == "1" ]]; then > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > PYTHON_ABI="$(PYTHON -f --ABI)"; > else > if _python_package_supporting_installation_for_multiple_python_abis; then > if ! _python_abi-specific_local_scope; then > die "${FUNCNAME}() should be used in ABI-specific local scope"; > fi; > else > PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}"; > fi; > fi; > if [[ "${EAPI:-0}" == "0" ]]; then > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then > echo "=dev-lang/python-${PYTHON_ABI}*"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then > echo "=dev-java/jython-${PYTHON_ABI%-jython}*"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then > echo "=dev-python/pypy-${PYTHON_ABI#*-pypy-}*"; > fi; > fi; > fi; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then > echo "dev-lang/python:${PYTHON_ABI}"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then > echo "dev-java/jython:${PYTHON_ABI%-jython}"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then > echo "dev-python/pypy:${PYTHON_ABI#*-pypy-}"; > fi; > fi; > fi; > fi >} >python_get_includedir () >{ > _python_check_python_pkg_setup_execution; > local base_path="0" final_ABI="0" prefix PYTHON_ABI="${PYTHON_ABI}"; > while (($#)); do > case "$1" in > -b | --base-path) > base_path="1" > ;; > -f | --final-ABI) > final_ABI="1" > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > die "${FUNCNAME}(): Invalid usage" > ;; > esac; > shift; > done; > if [[ "${base_path}" == "0" ]]; then > prefix="/"; > fi; > if [[ "${final_ABI}" == "1" ]]; then > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > PYTHON_ABI="$(PYTHON -f --ABI)"; > else > if _python_package_supporting_installation_for_multiple_python_abis; then > if ! _python_abi-specific_local_scope; then > die "${FUNCNAME}() should be used in ABI-specific local scope"; > fi; > else > PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}"; > fi; > fi; > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then > echo "${prefix}usr/include/python${PYTHON_ABI}"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then > echo "${prefix}usr/share/jython-${PYTHON_ABI%-jython}/Include"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then > echo "${prefix}usr/$(get_libdir)/pypy${PYTHON_ABI#*-pypy-}/include"; > fi; > fi; > fi >} >python_get_libdir () >{ > _python_check_python_pkg_setup_execution; > local base_path="0" final_ABI="0" prefix PYTHON_ABI="${PYTHON_ABI}"; > while (($#)); do > case "$1" in > -b | --base-path) > base_path="1" > ;; > -f | --final-ABI) > final_ABI="1" > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > die "${FUNCNAME}(): Invalid usage" > ;; > esac; > shift; > done; > if [[ "${base_path}" == "0" ]]; then > prefix="/"; > fi; > if [[ "${final_ABI}" == "1" ]]; then > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > PYTHON_ABI="$(PYTHON -f --ABI)"; > else > if _python_package_supporting_installation_for_multiple_python_abis; then > if ! _python_abi-specific_local_scope; then > die "${FUNCNAME}() should be used in ABI-specific local scope"; > fi; > else > PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}"; > fi; > fi; > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then > echo "${prefix}usr/$(get_libdir)/python${PYTHON_ABI}"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then > echo "${prefix}usr/share/jython-${PYTHON_ABI%-jython}/Lib"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then > die "${FUNCNAME}(): PyPy has multiple standard library directories"; > fi; > fi; > fi >} >python_get_library () >{ > _python_check_python_pkg_setup_execution; > local base_path="0" final_ABI="0" linker_option="0" prefix PYTHON_ABI="${PYTHON_ABI}"; > while (($#)); do > case "$1" in > -b | --base-path) > base_path="1" > ;; > -f | --final-ABI) > final_ABI="1" > ;; > -l | --linker-option) > linker_option="1" > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > die "${FUNCNAME}(): Invalid usage" > ;; > esac; > shift; > done; > if [[ "${base_path}" == "0" ]]; then > prefix="/"; > fi; > if [[ "${base_path}" == "1" && "${linker_option}" == "1" ]]; then > die "${FUNCNAME}(): '--base-path' and '--linker-option' options cannot be specified simultaneously"; > fi; > if [[ "${final_ABI}" == "1" ]]; then > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > PYTHON_ABI="$(PYTHON -f --ABI)"; > else > if _python_package_supporting_installation_for_multiple_python_abis; then > if ! _python_abi-specific_local_scope; then > die "${FUNCNAME}() should be used in ABI-specific local scope"; > fi; > else > PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}"; > fi; > fi; > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then > if [[ "${linker_option}" == "1" ]]; then > echo "-lpython${PYTHON_ABI}"; > else > echo "${prefix}usr/$(get_libdir)/libpython${PYTHON_ABI}$(get_libname)"; > fi; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then > die "${FUNCNAME}(): Jython does not have shared library"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then > die "${FUNCNAME}(): PyPy does not have shared library"; > fi; > fi; > fi >} >python_get_sitedir () >{ > _python_check_python_pkg_setup_execution; > local base_path="0" final_ABI="0" prefix PYTHON_ABI="${PYTHON_ABI}"; > while (($#)); do > case "$1" in > -b | --base-path) > base_path="1" > ;; > -f | --final-ABI) > final_ABI="1" > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > die "${FUNCNAME}(): Invalid usage" > ;; > esac; > shift; > done; > if [[ "${base_path}" == "0" ]]; then > prefix="/"; > fi; > if [[ "${final_ABI}" == "1" ]]; then > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > PYTHON_ABI="$(PYTHON -f --ABI)"; > else > if _python_package_supporting_installation_for_multiple_python_abis; then > if ! _python_abi-specific_local_scope; then > die "${FUNCNAME}() should be used in ABI-specific local scope"; > fi; > else > PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}"; > fi; > fi; > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then > echo "${prefix}usr/$(get_libdir)/python${PYTHON_ABI}/site-packages"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then > echo "${prefix}usr/share/jython-${PYTHON_ABI%-jython}/Lib/site-packages"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then > echo "${prefix}usr/$(get_libdir)/pypy${PYTHON_ABI#*-pypy-}/site-packages"; > fi; > fi; > fi >} >python_get_version () >{ > _python_check_python_pkg_setup_execution; > local final_ABI="0" language="0" language_version full="0" major="0" minor="0" micro="0" PYTHON_ABI="${PYTHON_ABI}" python_command; > while (($#)); do > case "$1" in > -f | --final-ABI) > final_ABI="1" > ;; > -l | --language) > language="1" > ;; > --full) > full="1" > ;; > --major) > major="1" > ;; > --minor) > minor="1" > ;; > --micro) > micro="1" > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > die "${FUNCNAME}(): Invalid usage" > ;; > esac; > shift; > done; > if [[ "${final_ABI}" == "1" ]]; then > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--final-ABI' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > else > if _python_package_supporting_installation_for_multiple_python_abis && ! _python_abi-specific_local_scope; then > die "${FUNCNAME}() should be used in ABI-specific local scope"; > fi; > fi; > if [[ "$((${full} + ${major} + ${minor} + ${micro}))" -gt 1 ]]; then > die "${FUNCNAME}(): '--full', '--major', '--minor' or '--micro' options cannot be specified simultaneously"; > fi; > if [[ "${language}" == "1" ]]; then > if [[ "${final_ABI}" == "1" ]]; then > PYTHON_ABI="$(PYTHON -f --ABI)"; > else > if [[ -z "${PYTHON_ABI}" ]]; then > PYTHON_ABI="$(PYTHON --ABI)"; > fi; > fi; > language_version="${PYTHON_ABI%%-*}"; > if [[ "${full}" == "1" ]]; then > die "${FUNCNAME}(): '--language' and '--full' options cannot be specified simultaneously"; > else > if [[ "${major}" == "1" ]]; then > echo "${language_version%.*}"; > else > if [[ "${minor}" == "1" ]]; then > echo "${language_version#*.}"; > else > if [[ "${micro}" == "1" ]]; then > die "${FUNCNAME}(): '--language' and '--micro' options cannot be specified simultaneously"; > else > echo "${language_version}"; > fi; > fi; > fi; > fi; > else > if [[ "${full}" == "1" ]]; then > python_command="import sys; print('.'.join(str(x) for x in getattr(sys, 'pypy_version_info', sys.version_info)[:3]))"; > else > if [[ "${major}" == "1" ]]; then > python_command="import sys; print(getattr(sys, 'pypy_version_info', sys.version_info)[0])"; > else > if [[ "${minor}" == "1" ]]; then > python_command="import sys; print(getattr(sys, 'pypy_version_info', sys.version_info)[1])"; > else > if [[ "${micro}" == "1" ]]; then > python_command="import sys; print(getattr(sys, 'pypy_version_info', sys.version_info)[2])"; > else > if [[ -n "${PYTHON_ABI}" && "${final_ABI}" == "0" ]]; then > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "CPython" ]]; then > echo "${PYTHON_ABI}"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "Jython" ]]; then > echo "${PYTHON_ABI%-jython}"; > else > if [[ "$(_python_get_implementation "${PYTHON_ABI}")" == "PyPy" ]]; then > echo "${PYTHON_ABI#*-pypy-}"; > fi; > fi; > fi; > return; > fi; > python_command="from sys import version_info; print('.'.join(str(x) for x in version_info[:2]))"; > fi; > fi; > fi; > fi; > if [[ "${final_ABI}" == "1" ]]; then > "$(PYTHON -f)" -c "${python_command}"; > else > "$(PYTHON ${PYTHON_ABI})" -c "${python_command}"; > fi; > fi >} >python_merge_intermediate_installation_images () >{ > if [[ "${EBUILD_PHASE}" != "install" ]]; then > die "${FUNCNAME}() can be used only in src_install() phase"; > fi; > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_check_python_pkg_setup_execution; > _python_initialize_prefix_variables; > local absolute_file b file files=() intermediate_installation_images_directory PYTHON_ABI quiet="0" regex shebang version_executable wrapper_scripts=() wrapper_scripts_set=(); > while (($#)); do > case "$1" in > -q | --quiet) > quiet="1" > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > if [[ "$#" -ne 1 ]]; then > die "${FUNCNAME}() requires 1 argument"; > fi; > intermediate_installation_images_directory="$1"; > if [[ ! -d "${intermediate_installation_images_directory}" ]]; then > die "${FUNCNAME}(): Intermediate installation images directory '${intermediate_installation_images_directory}' does not exist"; > fi; > _python_calculate_PYTHON_ABIS; > if [[ "$(PYTHON -f --ABI)" == 3.* ]]; then > b="b"; > fi; > while read -d '' -r file; do > files+=("${file}"); > done < <("$(PYTHON -f)" -c "import os >import sys > >if hasattr(sys.stdout, 'buffer'): > # Python 3 > stdout = sys.stdout.buffer >else: > # Python 2 > stdout = sys.stdout > >files_set = set() > >os.chdir(${b}'${intermediate_installation_images_directory}') > >for PYTHON_ABI in ${b}'${PYTHON_ABIS}'.split(): > for root, dirs, files in os.walk(PYTHON_ABI + ${b}'${EPREFIX}'): > root = root[len(PYTHON_ABI + ${b}'${EPREFIX}')+1:] > files_set.update(root + ${b}'/' + file for file in files) > >for file in sorted(files_set): > stdout.write(file) > stdout.write(${b}'\x00')" || die "${FUNCNAME}(): Failure of extraction of files in intermediate installation images"); > for PYTHON_ABI in ${PYTHON_ABIS}; > do > if [[ ! -d "${intermediate_installation_images_directory}/${PYTHON_ABI}" ]]; then > die "${FUNCNAME}(): Intermediate installation image for Python ABI '${PYTHON_ABI}' does not exist"; > fi; > pushd "${intermediate_installation_images_directory}/${PYTHON_ABI}${EPREFIX}" > /dev/null || die "pushd failed"; > for file in "${files[@]}"; > do > version_executable="0"; > for regex in "/usr/bin/.*" "/usr/sbin/.*" "${PYTHON_VERSIONED_SCRIPTS[@]}"; > do > if [[ "/${file}" =~ ^${regex}$ ]]; then > version_executable="1"; > break; > fi; > done; > for regex in "${PYTHON_VERSIONED_EXECUTABLES[@]}"; > do > if [[ "/${file}" =~ ^${regex}$ ]]; then > version_executable="2"; > break; > fi; > done; > if [[ "${version_executable}" != "0" ]]; then > for regex in "${PYTHON_NONVERSIONED_EXECUTABLES[@]}"; > do > if [[ "/${file}" =~ ^${regex}$ ]]; then > version_executable="0"; > break; > fi; > done; > fi; > [[ "${version_executable}" == "0" ]] && continue; > if [[ -L "${file}" ]]; then > absolute_file="$(readlink "${file}")"; > if [[ "${absolute_file}" == /* ]]; then > absolute_file="${intermediate_installation_images_directory}/${PYTHON_ABI}${EPREFIX}/${absolute_file##/}"; > else > if [[ "${file}" == */* ]]; then > absolute_file="${intermediate_installation_images_directory}/${PYTHON_ABI}${EPREFIX}/${file%/*}/${absolute_file}"; > else > absolute_file="${intermediate_installation_images_directory}/${PYTHON_ABI}${EPREFIX}/${absolute_file}"; > fi; > fi; > else > absolute_file="${intermediate_installation_images_directory}/${PYTHON_ABI}${EPREFIX}/${file}"; > fi; > [[ ! -x "${absolute_file}" ]] && continue; > shebang="$(head -n1 "${absolute_file}")" || die "Extraction of shebang from '${absolute_file}' failed"; > if [[ "${version_executable}" == "2" ]]; then > wrapper_scripts+=("${ED}${file}"); > else > if [[ "${version_executable}" == "1" ]]; then > if [[ "${shebang}" =~ ${_PYTHON_SHEBANG_BASE_PART_REGEX}([[:digit:]]+(\.[[:digit:]]+)?)?($|[[:space:]]+) ]]; then > wrapper_scripts+=("${ED}${file}"); > else > version_executable="0"; > fi; > fi; > fi; > [[ "${version_executable}" == "0" ]] && continue; > if [[ -e "${file}-${PYTHON_ABI}" ]]; then > die "${FUNCNAME}(): '${EPREFIX}/${file}-${PYTHON_ABI}' already exists"; > fi; > mv "${file}" "${file}-${PYTHON_ABI}" || die "Renaming of '${file}' failed"; > if [[ "${shebang}" =~ ${_PYTHON_SHEBANG_BASE_PART_REGEX}[[:digit:]]*($|[[:space:]]+) ]]; then > if [[ -L "${file}-${PYTHON_ABI}" ]]; then > python_convert_shebangs $([[ "${quiet}" == "1" ]] && echo --quiet) "${PYTHON_ABI}" "${absolute_file}"; > else > python_convert_shebangs $([[ "${quiet}" == "1" ]] && echo --quiet) "${PYTHON_ABI}" "${file}-${PYTHON_ABI}"; > fi; > fi; > done; > popd > /dev/null || die "popd failed"; > if ROOT="/" has_version '>=sys-apps/coreutils-6.9.90'; then > cp -fr --preserve=all --no-preserve=context "${intermediate_installation_images_directory}/${PYTHON_ABI}/"* "${D}" || die "Merging of intermediate installation image for Python ABI '${PYTHON_ABI} into installation image failed"; > else > if ROOT="/" has_version sys-apps/coreutils; then > cp -fr --preserve=all "${intermediate_installation_images_directory}/${PYTHON_ABI}/"* "${D}" || die "Merging of intermediate installation image for Python ABI '${PYTHON_ABI} into installation image failed"; > else > cp -fpr "${intermediate_installation_images_directory}/${PYTHON_ABI}/"* "${D}" || die "Merging of intermediate installation image for Python ABI '${PYTHON_ABI} into installation image failed"; > fi; > fi; > done; > rm -fr "${intermediate_installation_images_directory}"; > if [[ "${#wrapper_scripts[@]}" -ge 1 ]]; then > rm -f "${T}/python_wrapper_scripts"; > for file in "${wrapper_scripts[@]}"; > do > echo -n "${file}" >> "${T}/python_wrapper_scripts"; > echo -en "\x00" >> "${T}/python_wrapper_scripts"; > done; > while read -d '' -r file; do > wrapper_scripts_set+=("${file}"); > done < <("$(PYTHON -f)" -c "import sys > >if hasattr(sys.stdout, 'buffer'): > # Python 3 > stdout = sys.stdout.buffer >else: > # Python 2 > stdout = sys.stdout > >python_wrapper_scripts_file = open('${T}/python_wrapper_scripts', 'rb') >files = set(python_wrapper_scripts_file.read().rstrip(${b}'\x00').split(${b}'\x00')) >python_wrapper_scripts_file.close() > >for file in sorted(files): > stdout.write(file) > stdout.write(${b}'\x00')" || die "${FUNCNAME}(): Failure of extraction of set of wrapper scripts"); > python_generate_wrapper_scripts $([[ "${quiet}" == "1" ]] && echo --quiet) "${wrapper_scripts_set[@]}"; > fi >} >python_mod_cleanup () >{ > if [[ "${EBUILD_PHASE}" != "postrm" ]]; then > die "${FUNCNAME}() can be used only in pkg_postrm() phase"; > fi; > _python_check_python_pkg_setup_execution; > _python_initialize_prefix_variables; > local allow_evaluated_non_sitedir_paths="0" dir iterated_PYTHON_ABIS PYTHON_ABI="${PYTHON_ABI}" root search_paths=() sitedir; > if _python_package_supporting_installation_for_multiple_python_abis; then > if has "${EAPI:-0}" 0 1 2 3 && [[ -z "${PYTHON_ABIS}" ]]; then > die "${FUNCNAME}(): python_pkg_setup() or python_execute_function() not called"; > fi; > iterated_PYTHON_ABIS="${PYTHON_ABIS}"; > else > if has "${EAPI:-0}" 0 1 2 3; then > iterated_PYTHON_ABIS="${PYTHON_ABI:-$(PYTHON --ABI)}"; > else > iterated_PYTHON_ABIS="${PYTHON_ABI}"; > fi; > fi; > root="${EROOT%/}"; > while (($#)); do > case "$1" in > --allow-evaluated-non-sitedir-paths) > allow_evaluated_non_sitedir_paths="1" > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > if [[ "${allow_evaluated_non_sitedir_paths}" == "1" ]] && ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--allow-evaluated-non-sitedir-paths' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > if [[ "$#" -eq 0 ]]; then > die "${FUNCNAME}(): Missing files or directories"; > fi; > if ! has "${EAPI:-0}" 0 1 2 || _python_package_supporting_installation_for_multiple_python_abis || _python_implementation || [[ "${CATEGORY}/${PN}" == "sys-apps/portage" ]]; then > while (($#)); do > if [[ "$1" =~ ^($|(\.|\.\.|/)($|/)) ]]; then > die "${FUNCNAME}(): Invalid argument '$1'"; > else > if ! _python_implementation && [[ "$1" =~ ^/usr/lib(32|64)?/python[[:digit:]]+\.[[:digit:]]+ ]]; then > die "${FUNCNAME}(): Paths of directories / files in site-packages directories must be relative to site-packages directories"; > else > if [[ "$1" =~ ^/ ]]; then > if _python_package_supporting_installation_for_multiple_python_abis; then > if [[ "${allow_evaluated_non_sitedir_paths}" != "1" ]]; then > die "${FUNCNAME}(): Absolute paths cannot be used in ebuilds of packages supporting installation for multiple Python ABIs"; > fi; > if [[ "$1" != *\$* ]]; then > die "${FUNCNAME}(): '$1' has invalid syntax"; > fi; > for PYTHON_ABI in ${iterated_PYTHON_ABIS}; > do > eval "search_paths+=(\"\${root}$1\")"; > done; > else > search_paths+=("${root}$1"); > fi; > else > for PYTHON_ABI in ${iterated_PYTHON_ABIS}; > do > search_paths+=("${root}$(python_get_sitedir)/$1"); > done; > fi; > fi; > fi; > shift; > done; > else > ewarn; > ewarn "Deprecation Warning: Usage of ${FUNCNAME}() in packages not supporting installation"; > ewarn "for multiple Python ABIs in EAPI <=2 is deprecated and will be disallowed on 2011-08-01."; > ewarn "Use EAPI >=3 and call ${FUNCNAME}() with paths having appropriate syntax."; > ewarn "The ebuild needs to be fixed. Please report a bug, if it has not been already reported."; > ewarn; > search_paths=("${@#/}"); > search_paths=("${search_paths[@]/#/${root}/}"); > fi; > _python_clean_compiled_modules "${search_paths[@]}" >} >python_mod_optimize () >{ > if [[ "${EBUILD_PHASE}" != "postinst" ]]; then > die "${FUNCNAME}() can be used only in pkg_postinst() phase"; > fi; > _python_check_python_pkg_setup_execution; > _python_initialize_prefix_variables; > if ! has "${EAPI:-0}" 0 1 2 || _python_package_supporting_installation_for_multiple_python_abis || _python_implementation || [[ "${CATEGORY}/${PN}" == "sys-apps/portage" ]]; then > local allow_evaluated_non_sitedir_paths="0" dir dirs=() evaluated_dirs=() evaluated_files=() file files=() iterated_PYTHON_ABIS options=() other_dirs=() other_files=() previous_PYTHON_ABI="${PYTHON_ABI}" return_code root site_packages_dirs=() site_packages_files=() stderr stderr_line; > if _python_package_supporting_installation_for_multiple_python_abis; then > if has "${EAPI:-0}" 0 1 2 3 && [[ -z "${PYTHON_ABIS}" ]]; then > die "${FUNCNAME}(): python_pkg_setup() or python_execute_function() not called"; > fi; > iterated_PYTHON_ABIS="${PYTHON_ABIS}"; > else > if has "${EAPI:-0}" 0 1 2 3; then > iterated_PYTHON_ABIS="${PYTHON_ABI:=$(PYTHON --ABI)}"; > else > iterated_PYTHON_ABIS="${PYTHON_ABI}"; > fi; > fi; > root="${EROOT%/}"; > while (($#)); do > case "$1" in > --allow-evaluated-non-sitedir-paths) > allow_evaluated_non_sitedir_paths="1" > ;; > -l | -f | -q) > options+=("$1") > ;; > -d | -x) > options+=("$1" "$2"); > shift > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > if [[ "${allow_evaluated_non_sitedir_paths}" == "1" ]] && ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}(): '--allow-evaluated-non-sitedir-paths' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > if [[ "$#" -eq 0 ]]; then > die "${FUNCNAME}(): Missing files or directories"; > fi; > while (($#)); do > if [[ "$1" =~ ^($|(\.|\.\.|/)($|/)) ]]; then > die "${FUNCNAME}(): Invalid argument '$1'"; > else > if ! _python_implementation && [[ "$1" =~ ^/usr/lib(32|64)?/python[[:digit:]]+\.[[:digit:]]+ ]]; then > die "${FUNCNAME}(): Paths of directories / files in site-packages directories must be relative to site-packages directories"; > else > if [[ "$1" =~ ^/ ]]; then > if _python_package_supporting_installation_for_multiple_python_abis; then > if [[ "${allow_evaluated_non_sitedir_paths}" != "1" ]]; then > die "${FUNCNAME}(): Absolute paths cannot be used in ebuilds of packages supporting installation for multiple Python ABIs"; > fi; > if [[ "$1" != *\$* ]]; then > die "${FUNCNAME}(): '$1' has invalid syntax"; > fi; > if [[ "$1" == *.py ]]; then > evaluated_files+=("$1"); > else > evaluated_dirs+=("$1"); > fi; > else > if [[ -d "${root}$1" ]]; then > other_dirs+=("${root}$1"); > else > if [[ -f "${root}$1" ]]; then > other_files+=("${root}$1"); > else > if [[ -e "${root}$1" ]]; then > eerror "${FUNCNAME}(): '${root}$1' is not a regular file or a directory"; > else > eerror "${FUNCNAME}(): '${root}$1' does not exist"; > fi; > fi; > fi; > fi; > else > for PYTHON_ABI in ${iterated_PYTHON_ABIS}; > do > if [[ -d "${root}$(python_get_sitedir)/$1" ]]; then > site_packages_dirs+=("$1"); > break; > else > if [[ -f "${root}$(python_get_sitedir)/$1" ]]; then > site_packages_files+=("$1"); > break; > else > if [[ -e "${root}$(python_get_sitedir)/$1" ]]; then > eerror "${FUNCNAME}(): '$1' is not a regular file or a directory"; > else > eerror "${FUNCNAME}(): '$1' does not exist"; > fi; > fi; > fi; > done; > fi; > fi; > fi; > shift; > done; > options+=("-q"); > for PYTHON_ABI in ${iterated_PYTHON_ABIS}; > do > if ((${#site_packages_dirs[@]})) || ((${#site_packages_files[@]})) || ((${#evaluated_dirs[@]})) || ((${#evaluated_files[@]})); then > return_code="0"; > stderr=""; > ebegin "Compilation and optimization of Python modules for $(python_get_implementation_and_version)"; > if ((${#site_packages_dirs[@]})) || ((${#evaluated_dirs[@]})); then > for dir in "${site_packages_dirs[@]}"; > do > dirs+=("${root}$(python_get_sitedir)/${dir}"); > done; > for dir in "${evaluated_dirs[@]}"; > do > eval "dirs+=(\"\${root}${dir}\")"; > done; > stderr+="${stderr:+ >}$("$(PYTHON)" -m compileall "${options[@]}" "${dirs[@]}" 2>&1)" || return_code="1"; > if ! has "$(_python_get_implementation "${PYTHON_ABI}")" Jython PyPy; then > "$(PYTHON)" -O -m compileall "${options[@]}" "${dirs[@]}" &>/dev/null || return_code="1"; > fi; > _python_clean_compiled_modules "${dirs[@]}"; > fi; > if ((${#site_packages_files[@]})) || ((${#evaluated_files[@]})); then > for file in "${site_packages_files[@]}"; > do > files+=("${root}$(python_get_sitedir)/${file}"); > done; > for file in "${evaluated_files[@]}"; > do > eval "files+=(\"\${root}${file}\")"; > done; > stderr+="${stderr:+ >}$("$(PYTHON)" -m py_compile "${files[@]}" 2>&1)" || return_code="1"; > if ! has "$(_python_get_implementation "${PYTHON_ABI}")" Jython PyPy; then > "$(PYTHON)" -O -m py_compile "${files[@]}" &>/dev/null || return_code="1"; > fi; > _python_clean_compiled_modules "${files[@]}"; > fi; > eend "${return_code}"; > if [[ -n "${stderr}" ]]; then > eerror "Syntax errors / warnings in Python modules for $(python_get_implementation_and_version):" &>/dev/null; > while read stderr_line; do > eerror " ${stderr_line}"; > done <<< "${stderr}"; > fi; > fi; > unset dirs files; > done; > if _python_package_supporting_installation_for_multiple_python_abis; then > if [[ -n "${previous_PYTHON_ABI}" ]]; then > PYTHON_ABI="${previous_PYTHON_ABI}"; > else > unset PYTHON_ABI; > fi; > fi; > if ((${#other_dirs[@]})) || ((${#other_files[@]})); then > return_code="0"; > stderr=""; > ebegin "Compilation and optimization of Python modules placed outside of site-packages directories for $(python_get_implementation_and_version)"; > if ((${#other_dirs[@]})); then > stderr+="${stderr:+ >}$("$(PYTHON ${PYTHON_ABI})" -m compileall "${options[@]}" "${other_dirs[@]}" 2>&1)" || return_code="1"; > if ! has "$(_python_get_implementation "${PYTHON_ABI}")" Jython PyPy; then > "$(PYTHON ${PYTHON_ABI})" -O -m compileall "${options[@]}" "${other_dirs[@]}" &>/dev/null || return_code="1"; > fi; > _python_clean_compiled_modules "${other_dirs[@]}"; > fi; > if ((${#other_files[@]})); then > stderr+="${stderr:+ >}$("$(PYTHON ${PYTHON_ABI})" -m py_compile "${other_files[@]}" 2>&1)" || return_code="1"; > if ! has "$(_python_get_implementation "${PYTHON_ABI}")" Jython PyPy; then > "$(PYTHON ${PYTHON_ABI})" -O -m py_compile "${other_files[@]}" &>/dev/null || return_code="1"; > fi; > _python_clean_compiled_modules "${other_files[@]}"; > fi; > eend "${return_code}"; > if [[ -n "${stderr}" ]]; then > eerror "Syntax errors / warnings in Python modules placed outside of site-packages directories for $(python_get_implementation_and_version):" &>/dev/null; > while read stderr_line; do > eerror " ${stderr_line}"; > done <<< "${stderr}"; > fi; > fi; > else > ewarn; > ewarn "Deprecation Warning: Usage of ${FUNCNAME}() in packages not supporting installation"; > ewarn "for multiple Python ABIs in EAPI <=2 is deprecated and will be disallowed on 2011-08-01."; > ewarn "Use EAPI >=3 and call ${FUNCNAME}() with paths having appropriate syntax."; > ewarn "The ebuild needs to be fixed. Please report a bug, if it has not been already reported."; > ewarn; > local myroot mydirs=() myfiles=() myopts=() return_code="0"; > myroot="${EROOT%/}"; > while (($#)); do > case "$1" in > -l | -f | -q) > myopts+=("$1") > ;; > -d | -x) > myopts+=("$1" "$2"); > shift > ;; > --) > shift; > break > ;; > -*) > die "${FUNCNAME}(): Unrecognized option '$1'" > ;; > *) > break > ;; > esac; > shift; > done; > if [[ "$#" -eq 0 ]]; then > die "${FUNCNAME}(): Missing files or directories"; > fi; > while (($#)); do > if [[ "$1" =~ ^($|(\.|\.\.|/)($|/)) ]]; then > die "${FUNCNAME}(): Invalid argument '$1'"; > else > if [[ -d "${myroot}/${1#/}" ]]; then > mydirs+=("${myroot}/${1#/}"); > else > if [[ -f "${myroot}/${1#/}" ]]; then > myfiles+=("${myroot}/${1#/}"); > else > if [[ -e "${myroot}/${1#/}" ]]; then > eerror "${FUNCNAME}(): ${myroot}/${1#/} is not a regular file or directory"; > else > eerror "${FUNCNAME}(): ${myroot}/${1#/} does not exist"; > fi; > fi; > fi; > fi; > shift; > done; > myopts+=(-q); > PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}"; > ebegin "Compilation and optimization of Python modules for $(python_get_implementation) $(python_get_version)"; > if ((${#mydirs[@]})); then > "$(PYTHON ${PYTHON_ABI})" "${myroot}$(python_get_libdir)/compileall.py" "${myopts[@]}" "${mydirs[@]}" || return_code="1"; > "$(PYTHON ${PYTHON_ABI})" -O "${myroot}$(python_get_libdir)/compileall.py" "${myopts[@]}" "${mydirs[@]}" &>/dev/null || return_code="1"; > _python_clean_compiled_modules "${mydirs[@]}"; > fi; > if ((${#myfiles[@]})); then > "$(PYTHON ${PYTHON_ABI})" "${myroot}$(python_get_libdir)/py_compile.py" "${myfiles[@]}" || return_code="1"; > "$(PYTHON ${PYTHON_ABI})" -O "${myroot}$(python_get_libdir)/py_compile.py" "${myfiles[@]}" &>/dev/null || return_code="1"; > _python_clean_compiled_modules "${myfiles[@]}"; > fi; > eend "${return_code}"; > fi >} >python_need_rebuild () >{ > if _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages supporting installation for multiple Python ABIs"; > fi; > _python_check_python_pkg_setup_execution; > if [[ "$#" -ne 0 ]]; then > die "${FUNCNAME}() does not accept arguments"; > fi; > export PYTHON_NEED_REBUILD="$(PYTHON --ABI)" >} >python_pkg_setup () >{ > if [[ "${EBUILD_PHASE}" != "setup" ]]; then > die "${FUNCNAME}() can be used only in pkg_setup() phase"; > fi; > if [[ "$#" -ne 0 ]]; then > die "${FUNCNAME}() does not accept arguments"; > fi; > export JYTHON_SYSTEM_CACHEDIR="1"; > addwrite "${EPREFIX}/var/cache/jython"; > if _python_package_supporting_installation_for_multiple_python_abis; then > _python_calculate_PYTHON_ABIS; > export EPYTHON="$(PYTHON -f)"; > else > PYTHON_ABI="${PYTHON_ABI:-$(PYTHON --ABI)}"; > fi; > if ! has "${EAPI:-0}" 0 1 && [[ -n "${PYTHON_USE_WITH}" || -n "${PYTHON_USE_WITH_OR}" ]]; then > if [[ -n "${PYTHON_USE_WITH_OPT}" ]]; then > if [[ "${PYTHON_USE_WITH_OPT}" == !* ]]; then > use ${PYTHON_USE_WITH_OPT#!} && return; > else > use !${PYTHON_USE_WITH_OPT} && return; > fi; > fi; > function python_pkg_setup_check_USE_flags () > { > local python_atom USE_flag; > python_atom="$(python_get_implementational_package)"; > for USE_flag in ${PYTHON_USE_WITH}; > do > if ! has_version "${python_atom}[${USE_flag}]"; then > eerror "Please rebuild ${python_atom} with the following USE flags enabled: ${PYTHON_USE_WITH}"; > die "Please rebuild ${python_atom} with the following USE flags enabled: ${PYTHON_USE_WITH}"; > fi; > done; > for USE_flag in ${PYTHON_USE_WITH_OR}; > do > if has_version "${python_atom}[${USE_flag}]"; then > return; > fi; > done; > if [[ -n ${PYTHON_USE_WITH_OR} ]]; then > eerror "Please rebuild ${python_atom} with at least one of the following USE flags enabled: ${PYTHON_USE_WITH_OR}"; > die "Please rebuild ${python_atom} with at least one of the following USE flags enabled: ${PYTHON_USE_WITH_OR}"; > fi > }; > if _python_package_supporting_installation_for_multiple_python_abis; then > PYTHON_SKIP_SANITY_CHECKS="1" python_execute_function -q python_pkg_setup_check_USE_flags; > else > python_pkg_setup_check_USE_flags; > fi; > unset -f python_pkg_setup_check_USE_flags; > fi; > PYTHON_PKG_SETUP_EXECUTED="1" >} >python_set_active_version () >{ > if [[ "${EBUILD_PHASE}" != "setup" ]]; then > die "${FUNCNAME}() can be used only in pkg_setup() phase"; > fi; > if _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages supporting installation for multiple Python ABIs"; > fi; > if [[ "$#" -ne 1 ]]; then > die "${FUNCNAME}() requires 1 argument"; > fi; > _python_initial_sanity_checks; > if [[ -z "${PYTHON_ABI}" ]]; then > if [[ -n "$(_python_get_implementation --ignore-invalid "$1")" ]]; then > PYTHON_ABI="$1"; > if ! _python_implementation && ! has_version "$(python_get_implementational_package)"; then > die "${FUNCNAME}(): '$(python_get_implementational_package)' is not installed"; > fi; > export EPYTHON="$(PYTHON "$1")"; > else > if [[ "$1" == "2" ]]; then > if ! _python_implementation && ! has_version "=dev-lang/python-2*"; then > die "${FUNCNAME}(): '=dev-lang/python-2*' is not installed"; > fi; > export EPYTHON="$(PYTHON -2)"; > PYTHON_ABI="${EPYTHON#python}"; > PYTHON_ABI="${PYTHON_ABI%%-*}"; > else > if [[ "$1" == "3" ]]; then > if ! _python_implementation && ! has_version "=dev-lang/python-3*"; then > die "${FUNCNAME}(): '=dev-lang/python-3*' is not installed"; > fi; > export EPYTHON="$(PYTHON -3)"; > PYTHON_ABI="${EPYTHON#python}"; > PYTHON_ABI="${PYTHON_ABI%%-*}"; > else > die "${FUNCNAME}(): Unrecognized argument '$1'"; > fi; > fi; > fi; > fi; > _python_final_sanity_checks; > PYTHON_REQUESTED_ACTIVE_VERSION="$1" >} >python_src_compile () >{ > if [[ "${EBUILD_PHASE}" != "compile" ]]; then > die "${FUNCNAME}() can be used only in src_compile() phase"; > fi; > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_check_python_pkg_setup_execution; > python_execute_function -d -s -- "$@" >} >python_src_configure () >{ > if [[ "${EBUILD_PHASE}" != "configure" ]]; then > die "${FUNCNAME}() can be used only in src_configure() phase"; > fi; > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_check_python_pkg_setup_execution; > python_execute_function -d -s -- "$@" >} >python_src_install () >{ > if [[ "${EBUILD_PHASE}" != "install" ]]; then > die "${FUNCNAME}() can be used only in src_install() phase"; > fi; > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_check_python_pkg_setup_execution; > if has "${EAPI:-0}" 0 1 2 3; then > python_execute_function -d -s -- "$@"; > else > function python_installation () > { > emake DESTDIR="${T}/images/${PYTHON_ABI}" install "$@" > }; > python_execute_function -s python_installation "$@"; > unset python_installation; > python_merge_intermediate_installation_images "${T}/images"; > fi >} >python_src_prepare () >{ > if [[ "${EBUILD_PHASE}" != "prepare" ]]; then > die "${FUNCNAME}() can be used only in src_prepare() phase"; > fi; > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_check_python_pkg_setup_execution; > if [[ "$#" -ne 0 ]]; then > die "${FUNCNAME}() does not accept arguments"; > fi; > python_copy_sources >} >python_src_test () >{ > if [[ "${EBUILD_PHASE}" != "test" ]]; then > die "${FUNCNAME}() can be used only in src_test() phase"; > fi; > if ! _python_package_supporting_installation_for_multiple_python_abis; then > die "${FUNCNAME}() cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs"; > fi; > _python_check_python_pkg_setup_execution; > python_execute_function -d -s -- "$@" >} >raw-ldflags () >{ > local x input="$@"; > [[ -z ${input} ]] && input=${LDFLAGS}; > set --; > for x in ${input}; > do > x=${x#-Wl,}; > set -- "$@" ${x//,/ }; > done; > echo "$@" >} >replace-cpu-flags () >{ > local newcpu="$#"; > newcpu="${!newcpu}"; > while [ $# -gt 1 ]; do > replace-flags "-march=${1}" "-march=${newcpu}"; > replace-flags "-mcpu=${1}" "-mcpu=${newcpu}"; > replace-flags "-mtune=${1}" "-mtune=${newcpu}"; > shift; > done; > return 0 >} >replace-flags () >{ > [[ $# != 2 ]] && die "Usage: replace-flags <old flag> <new flag>"; > local f var new; > for var in $(all-flag-vars); > do > new=(); > for f in ${!var}; > do > [[ ${f} == ${1} ]] && f=${2}; > new+=("${f}"); > done; > eval export ${var}=\""${new[*]}"\"; > done; > return 0 >} >replace-sparc64-flags () >{ > local SPARC64_CPUS="ultrasparc3 ultrasparc v9"; > if [ "${CFLAGS/mtune}" != "${CFLAGS}" ]; then > for x in ${SPARC64_CPUS}; > do > CFLAGS="${CFLAGS/-mcpu=${x}/-mcpu=v8}"; > done; > else > for x in ${SPARC64_CPUS}; > do > CFLAGS="${CFLAGS/-mcpu=${x}/-mcpu=v8 -mtune=${x}}"; > done; > fi; > if [ "${CXXFLAGS/mtune}" != "${CXXFLAGS}" ]; then > for x in ${SPARC64_CPUS}; > do > CXXFLAGS="${CXXFLAGS/-mcpu=${x}/-mcpu=v8}"; > done; > else > for x in ${SPARC64_CPUS}; > do > CXXFLAGS="${CXXFLAGS/-mcpu=${x}/-mcpu=v8 -mtune=${x}}"; > done; > fi; > export CFLAGS CXXFLAGS >} >setup-allowed-flags () >{ > ALLOWED_FLAGS="-pipe"; > ALLOWED_FLAGS+=" -O -O1 -O2 -Os -mcpu -march -mtune"; > ALLOWED_FLAGS+=" -fstack-protector -fstack-protector-all"; > ALLOWED_FLAGS+=" -fbounds-checking -fno-strict-overflow"; > ALLOWED_FLAGS+=" -fno-PIE -fno-pie -fno-unit-at-a-time"; > ALLOWED_FLAGS+=" -g -g[0-9] -ggdb -ggdb[0-9] -gstabs -gstabs+"; > ALLOWED_FLAGS+=" -fno-ident -fpermissive"; > ALLOWED_FLAGS+=" -W* -w"; > ALLOWED_FLAGS+=" -fno-stack-protector -fno-stack-protector-all -fno-strict-aliasing -fno-bounds-checking -fstrict-overflow -fno-omit-frame-pointer"; > ALLOWED_FLAGS+=" -mregparm -mno-app-regs -mapp-regs -mno-mmx -mno-sse -mno-sse2 -mno-sse3 -mno-ssse3 -mno-sse4 -mno-sse4.1 -mno-sse4.2 -mno-avx -mno-aes -mno-pclmul -mno-sse4a -mno-3dnow -mno-popcnt -mno-abm -mips1 -mips2 -mips3 -mips4 -mips32 -mips64 -mips16 -mplt -msoft-float -mno-soft-float -mhard-float -mno-hard-float -mfpu -mieee -mieee-with-inexact -mschedule -mfloat-gprs -mspe -mno-spe -mtls-direct-seg-refs -mno-tls-direct-seg-refs -mflat -mno-flat -mno-faster-structs -mfaster-structs -m32 -m64 -mx32 -mabi -mlittle-endian -mbig-endian -EL -EB -fPIC -mlive-g0 -mcmodel -mstack-bias -mno-stack-bias -msecure-plt -m*-toc -D* -U*"; > ALLOWED_FLAGS+=" -mno-fma4 -mno-movbe -mno-xop -mno-lwp"; > ALLOWED_FLAGS+=" -mno-fsgsbase -mno-rdrnd -mno-f16c -mno-bmi -mno-tbm"; > export ALLOWED_FLAGS; > return 0 >} >share_plugins_dir () >{ > if [[ ${PN} == seamonkey ]]; then > rm -rf "${D}"${MOZILLA_FIVE_HOME}/plugins || die "failed to remove existing plugins dir"; > fi; > if [[ ${PN} == *-bin ]]; then > PLUGIN_BASE_PATH="/usr/$(get_libdir)"; > else > PLUGIN_BASE_PATH=".."; > fi; > dosym "${PLUGIN_BASE_PATH}/nsbrowser/plugins" "${MOZILLA_FIVE_HOME}/plugins" >} >src_compile () >{ > if use pgo; then > addpredict /root; > addpredict /etc/gconf; > gnome2_environment_reset; > shopt -s nullglob; > cards=$(echo -n /dev/dri/card* | sed 's/ /:/g'); > if test -n "${cards}"; then > addpredict "${cards}"; > else > cards=$(echo -n /dev/ati/card* /dev/nvidiactl* | sed 's/ /:/g'); > if test -n "${cards}"; then > export LIBGL_ALWAYS_INDIRECT=1; > fi; > fi; > shopt -u nullglob; > CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" MOZ_MAKE_FLAGS="${MAKEOPTS}" Xemake -f client.mk profiledbuild || die "Xemake failed"; > else > CC="$(tc-getCC)" CXX="$(tc-getCXX)" LD="$(tc-getLD)" MOZ_MAKE_FLAGS="${MAKEOPTS}" emake -f client.mk || die "emake failed"; > fi >} >src_configure () >{ > MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"; > MEXTENSIONS="default"; > mozconfig_init; > mozconfig_config; > use alpha && append-ldflags "-Wl,--no-relax"; > mozconfig_annotate '' --prefix="${EPREFIX}"/usr; > mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir); > mozconfig_annotate '' --enable-extensions="${MEXTENSIONS}"; > mozconfig_annotate '' --disable-gconf; > mozconfig_annotate '' --disable-mailnews; > mozconfig_annotate '' --enable-canvas; > mozconfig_annotate '' --enable-safe-browsing; > mozconfig_annotate '' --with-system-png; > mozconfig_annotate '' --enable-system-ffi; > mozconfig_annotate 'Missing fetures' --disable-system-cairo; > mozconfig_annotate '' --with-default-mozilla-five-home=${MOZILLA_FIVE_HOME}; > mozconfig_annotate '' --target="${CTARGET:-${CHOST}}"; > mozconfig_use_enable system-sqlite; > if use pgo; then > echo "mk_add_options PROFILE_GEN_SCRIPT='\$(PYTHON) \$(OBJDIR)/_profile/pgo/profileserver.py'" >> "${S}"/.mozconfig; > fi; > mozconfig_final; > if [[ $(gcc-major-version) -lt 4 ]]; then > append-cxxflags -fno-stack-protector; > else > if [[ $(gcc-major-version) -gt 4 || $(gcc-minor-version) -gt 3 ]]; then > if use amd64 || use x86; then > append-flags -mno-avx; > fi; > fi; > fi >} >src_install () >{ > MOZILLA_FIVE_HOME="/usr/$(get_libdir)/${PN}"; > local obj_dir="$(echo */config.log)"; > obj_dir="${obj_dir%/*}"; > cd "${S}/${obj_dir}"; > pax-mark m "${S}/${obj_dir}"/dist/bin/xpcshell; > cp "${FILESDIR}"/gentoo-default-prefs.js-1 "${S}/${obj_dir}/dist/bin/defaults/pref/all-gentoo.js" || die; > MOZ_MAKE_FLAGS="${MAKEOPTS}" emake DESTDIR="${D}" install || die "emake install failed"; > mozlinguas_src_install; > local size sizes icon_path icon name; > if use bindist; then > sizes="16 32 48"; > icon_path="${S}/browser/branding/aurora"; > icon="aurora"; > name="Aurora"; > else > sizes="16 22 24 32 256"; > icon_path="${S}/browser/branding/official"; > icon="${PN}"; > name="Mozilla Firefox"; > fi; > for size in ${sizes}; > do > insinto "/usr/share/icons/hicolor/${size}x${size}/apps"; > newins "${icon_path}/default${size}.png" "${icon}.png" || die; > done; > insinto "/usr/share/icons/hicolor/128x128/apps"; > newins "${icon_path}/mozicon128.png" "${icon}.png" || die; > newicon "${icon_path}/content/icon48.png" "${icon}.png" || die; > newmenu "${FILESDIR}/icon/${PN}.desktop" "${PN}.desktop" || die; > sed -i -e "s:@NAME@:${name}:" -e "s:@ICON@:${icon}:" "${ED}/usr/share/applications/${PN}.desktop" || die; > if use startup-notification; then > echo "StartupNotify=true" >> "${ED}/usr/share/applications/${PN}.desktop"; > fi; > pax-mark m "${ED}"${MOZILLA_FIVE_HOME}/{firefox,firefox-bin,plugin-container}; > share_plugins_dir; > if use minimal; then > rm -rf "${ED}"/usr/include "${ED}${MOZILLA_FIVE_HOME}"/{idl,include,lib,sdk} || die "Failed to remove sdk and headers"; > fi; > use sparc && { > sed -e 's/Firefox/FirefoxGentoo/g' -i "${ED}/${MOZILLA_FIVE_HOME}/application.ini" || die "sparc sed failed" > } >} >src_mv_plugins () >{ > has "${EAPI:-0}" 0 1 2 && ! use prefix && ED="${D}"; > keepdir /usr/$(get_libdir)/${PLUGINS_DIR}; > cp -a "${ED}"/$1/* "${ED}"/usr/$(get_libdir)/${PLUGINS_DIR}; > rm -rf "${ED}"/$1; > dosym /usr/$(get_libdir)/${PLUGINS_DIR} $1 >} >src_prepare () >{ > EPATCH_SUFFIX="patch" EPATCH_FORCE="yes" epatch "${WORKDIR}/firefox"; > epatch_user; > if use debug; then > sed -i -e "s:GNOME_DISABLE_CRASH_DIALOG=1:GNOME_DISABLE_CRASH_DIALOG=0:g" "${S}"/build/unix/run-mozilla.sh || die "sed failed!"; > fi; > sed -i -e "s:gnomevfs::" "${S}/"browser/confvars.sh -e "s:gnomevfs::" "${S}/"xulrunner/confvars.sh || die "Failed to remove gnomevfs extension"; > sed -i -e "s:/usr/lib/mozilla/plugins:/usr/$(get_libdir)/nsbrowser/plugins:" "${S}"/xpcom/io/nsAppFileLocationProvider.cpp || die "sed failed to replace plugin path!"; > sed -e "s:\(/no-such-file\):${T}\1:g" -i "${S}"/config/rules.mk -i "${S}"/js/src/config/rules.mk -i "${S}"/nsprpub/configure{.in,} || die; > sed -e '/#include <curl\/types.h>/d' -i "${S}"/toolkit/crashreporter/google-breakpad/src/common/linux/http_upload.cc -i "${S}"/toolkit/crashreporter/google-breakpad/src/common/linux/libcurl_wrapper.cc -i "${S}"/config/system-headers -i "${S}"/js/src/config/system-headers || die "Sed failed"; > eautoreconf >} >src_test () >{ > _eapi0_src_test "$@" >} >src_unpack () >{ > unpack ${A}; > mozlinguas_src_unpack >} >strip-flags () >{ > local x y var; > setup-allowed-flags; > set -f; > for var in $(all-flag-vars); > do > local new=(); > for x in ${!var}; > do > local flag=${x%%=*}; > for y in ${ALLOWED_FLAGS}; > do > if [[ -z ${flag%%${y}} ]]; then > new+=("${x}"); > break; > fi; > done; > done; > if _is_flagq ${var} "-O*" && ! _is_flagq new "-O*"; then > new+=(-O2); > fi; > eval export ${var}=\""${new[*]}"\"; > done; > set +f; > return 0 >} >strip-linguas () >{ > local ls newls nols; > if [[ $1 == "-i" ]] || [[ $1 == "-u" ]]; then > local op=$1; > shift; > ls=$(find "$1" -name '*.po' -exec basename {} .po ';'); > shift; > local d f; > for d in "$@"; > do > if [[ ${op} == "-u" ]]; then > newls=${ls}; > else > newls=""; > fi; > for f in $(find "$d" -name '*.po' -exec basename {} .po ';'); > do > if [[ ${op} == "-i" ]]; then > has ${f} ${ls} && newls="${newls} ${f}"; > else > has ${f} ${ls} || newls="${newls} ${f}"; > fi; > done; > ls=${newls}; > done; > else > ls="$@"; > fi; > nols=""; > newls=""; > for f in ${LINGUAS}; > do > if has ${f} ${ls}; then > newls="${newls} ${f}"; > else > nols="${nols} ${f}"; > fi; > done; > [[ -n ${nols} ]] && einfo "Sorry, but ${PN} does not support the LINGUAS:" ${nols}; > export LINGUAS=${newls:1} >} >strip-unsupported-flags () >{ > export CFLAGS=$(test-flags-CC ${CFLAGS}); > export CXXFLAGS=$(test-flags-CXX ${CXXFLAGS}); > export FFLAGS=$(test-flags-F77 ${FFLAGS}); > export FCFLAGS=$(test-flags-FC ${FCFLAGS}) >} >tc-arch () >{ > tc-ninja_magic_to_arch portage "$@" >} >tc-arch-kernel () >{ > tc-ninja_magic_to_arch kern "$@" >} >tc-endian () >{ > local host=$1; > [[ -z ${host} ]] && host=${CTARGET:-${CHOST}}; > host=${host%%-*}; > case ${host} in > alpha*) > echo big > ;; > arm*b*) > echo big > ;; > arm*) > echo little > ;; > cris*) > echo little > ;; > hppa*) > echo big > ;; > i?86*) > echo little > ;; > ia64*) > echo little > ;; > m68*) > echo big > ;; > mips*l*) > echo little > ;; > mips*) > echo big > ;; > powerpc*) > echo big > ;; > s390*) > echo big > ;; > sh*b*) > echo big > ;; > sh*) > echo little > ;; > sparc*) > echo big > ;; > x86_64*) > echo little > ;; > *) > echo wtf > ;; > esac >} >tc-env_build () >{ > CFLAGS=${BUILD_CFLAGS:--O1 -pipe} CXXFLAGS=${BUILD_CXXFLAGS:--O1 -pipe} CPPFLAGS=${BUILD_CPPFLAGS} LDFLAGS=${BUILD_LDFLAGS} AR=$(tc-getBUILD_AR) AS=$(tc-getBUILD_AS) CC=$(tc-getBUILD_CC) CPP=$(tc-getBUILD_CPP) CXX=$(tc-getBUILD_CXX) LD=$(tc-getBUILD_LD) NM=$(tc-getBUILD_NM) PKG_CONFIG=$(tc-getBUILD_PKG_CONFIG) RANLIB=$(tc-getBUILD_RANLIB) "$@" >} >tc-export () >{ > local var; > for var in "$@"; > do > [[ $(type -t tc-get${var}) != "function" ]] && die "tc-export: invalid export variable '${var}'"; > eval tc-get${var} > /dev/null; > done >} >tc-getAR () >{ > tc-getPROG AR ar "$@" >} >tc-getAS () >{ > tc-getPROG AS as "$@" >} >tc-getBUILD_AR () >{ > tc-getBUILD_PROG AR ar "$@" >} >tc-getBUILD_AS () >{ > tc-getBUILD_PROG AS as "$@" >} >tc-getBUILD_CC () >{ > tc-getBUILD_PROG CC gcc "$@" >} >tc-getBUILD_CPP () >{ > tc-getBUILD_PROG CPP cpp "$@" >} >tc-getBUILD_CXX () >{ > tc-getBUILD_PROG CXX g++ "$@" >} >tc-getBUILD_LD () >{ > tc-getBUILD_PROG LD ld "$@" >} >tc-getBUILD_NM () >{ > tc-getBUILD_PROG NM nm "$@" >} >tc-getBUILD_OBJCOPY () >{ > tc-getBUILD_PROG OBJCOPY objcopy "$@" >} >tc-getBUILD_PKG_CONFIG () >{ > tc-getBUILD_PROG PKG_CONFIG pkg-config "$@" >} >tc-getBUILD_PROG () >{ > _tc-getPROG CBUILD "BUILD_$1 $1_FOR_BUILD HOST$1" "${@:2}" >} >tc-getBUILD_RANLIB () >{ > tc-getBUILD_PROG RANLIB ranlib "$@" >} >tc-getBUILD_STRIP () >{ > tc-getBUILD_PROG STRIP strip "$@" >} >tc-getCC () >{ > tc-getPROG CC gcc "$@" >} >tc-getCPP () >{ > tc-getPROG CPP cpp "$@" >} >tc-getCXX () >{ > tc-getPROG CXX g++ "$@" >} >tc-getDLLWRAP () >{ > tc-getPROG DLLWRAP dllwrap "$@" >} >tc-getF77 () >{ > tc-getPROG F77 gfortran "$@" >} >tc-getFC () >{ > tc-getPROG FC gfortran "$@" >} >tc-getGCJ () >{ > tc-getPROG GCJ gcj "$@" >} >tc-getLD () >{ > tc-getPROG LD ld "$@" >} >tc-getNM () >{ > tc-getPROG NM nm "$@" >} >tc-getOBJCOPY () >{ > tc-getPROG OBJCOPY objcopy "$@" >} >tc-getPKG_CONFIG () >{ > tc-getPROG PKG_CONFIG pkg-config "$@" >} >tc-getPROG () >{ > _tc-getPROG CHOST "$@" >} >tc-getRANLIB () >{ > tc-getPROG RANLIB ranlib "$@" >} >tc-getRC () >{ > tc-getPROG RC windres "$@" >} >tc-getSTRIP () >{ > tc-getPROG STRIP strip "$@" >} >tc-has-openmp () >{ > local base="${T}/test-tc-openmp"; > cat > "${base}.c" <<-EOF >#include <omp.h> >int main() { >int nthreads, tid, ret = 0; >#pragma omp parallel private(nthreads, tid) >{ >tid = omp_get_thread_num(); >nthreads = omp_get_num_threads(); ret += tid + nthreads; >} >return ret; >} >EOF > > $(tc-getCC "$@") -fopenmp "${base}.c" -o "${base}" &>/dev/null; > local ret=$?; > rm -f "${base}"*; > return ${ret} >} >tc-has-tls () >{ > local base="${T}/test-tc-tls"; > cat > "${base}.c" <<-EOF >int foo(int *i) { >static __thread int j = 0; >return *i ? j : *i; >} >EOF > > local flags; > case $1 in > -s) > flags="-S" > ;; > -c) > flags="-c" > ;; > -l) > > ;; > -*) > die "Usage: tc-has-tls [-c|-l] [toolchain prefix]" > ;; > esac; > : ${flags:=-fPIC -shared -Wl,-z,defs}; > [[ $1 == -* ]] && shift; > $(tc-getCC "$@") ${flags} "${base}.c" -o "${base}" &>/dev/null; > local ret=$?; > rm -f "${base}"*; > return ${ret} >} >tc-is-cross-compiler () >{ > return $([[ ${CBUILD:-${CHOST}} != ${CHOST} ]]) >} >tc-is-hardfloat () >{ > [[ ${CTARGET//_/-} == *-hardfloat-* ]] && echo "yes" || echo "no" >} >tc-is-softfloat () >{ > case ${CTARGET} in > bfin* | h8300*) > echo "only" > ;; > *) > [[ ${CTARGET//_/-} == *-softfloat-* ]] && echo "yes" || echo "no" > ;; > esac >} >tc-is-static-only () >{ > local host=${CTARGET:-${CHOST}}; > return $([[ ${host} == *-mint* ]]) >} >tc-ninja_magic_to_arch () >{ > function ninj () > { > [[ ${type} == "kern" ]] && echo $1 || echo $2 > }; > local type=$1; > local host=$2; > [[ -z ${host} ]] && host=${CTARGET:-${CHOST}}; > case ${host} in > alpha*) > echo alpha > ;; > arm*) > echo arm > ;; > avr*) > ninj avr32 avr > ;; > bfin*) > ninj blackfin bfin > ;; > cris*) > echo cris > ;; > hppa*) > ninj parisc hppa > ;; > i?86*) > if [[ ${type} == "kern" ]] && [[ $(KV_to_int ${KV}) -lt $(KV_to_int 2.6.24) || ${host} == *freebsd* ]]; then > echo i386; > else > echo x86; > fi > ;; > ia64*) > echo ia64 > ;; > m68*) > echo m68k > ;; > mips*) > echo mips > ;; > nios2*) > echo nios2 > ;; > nios*) > echo nios > ;; > powerpc*) > if [[ ${type} == "kern" ]] && [[ $(KV_to_int ${KV}) -ge $(KV_to_int 2.6.16) ]]; then > echo powerpc; > else > if [[ ${type} == "kern" ]] && [[ $(KV_to_int ${KV}) -eq $(KV_to_int 2.6.15) ]]; then > if [[ ${host} == powerpc64* ]] || [[ ${PROFILE_ARCH} == "ppc64" ]]; then > echo powerpc; > else > echo ppc; > fi; > else > if [[ ${host} == powerpc64* ]]; then > echo ppc64; > else > if [[ ${PROFILE_ARCH} == "ppc64" ]]; then > ninj ppc64 ppc; > else > echo ppc; > fi; > fi; > fi; > fi > ;; > s390*) > echo s390 > ;; > sh64*) > ninj sh64 sh > ;; > sh*) > echo sh > ;; > sparc64*) > ninj sparc64 sparc > ;; > sparc*) > [[ ${PROFILE_ARCH} == "sparc64" ]] && ninj sparc64 sparc || echo sparc > ;; > vax*) > echo vax > ;; > x86_64*freebsd*) > echo amd64 > ;; > x86_64*) > if [[ ${type} == "kern" ]] && [[ $(KV_to_int ${KV}) -ge $(KV_to_int 2.6.24) ]]; then > echo x86; > else > ninj x86_64 amd64; > fi > ;; > *) > echo unknown > ;; > esac >} >test-flag-CC () >{ > test-flag-PROG "CC" "$1" >} >test-flag-CXX () >{ > test-flag-PROG "CXX" "$1" >} >test-flag-F77 () >{ > test-flag-PROG "F77" "$1" >} >test-flag-FC () >{ > test-flag-PROG "FC" "$1" >} >test-flag-PROG () >{ > local comp=$1; > local flag=$2; > [[ -z ${comp} || -z ${flag} ]] && return 1; > local PROG=$(tc-get${comp}); > ${PROG} "${flag}" -c -o /dev/null -xc /dev/null > /dev/null 2>&1 >} >test-flags () >{ > test-flags-CC "$@" >} >test-flags-CC () >{ > test-flags-PROG "CC" "$@" >} >test-flags-CXX () >{ > test-flags-PROG "CXX" "$@" >} >test-flags-F77 () >{ > test-flags-PROG "F77" "$@" >} >test-flags-FC () >{ > test-flags-PROG "FC" "$@" >} >test-flags-PROG () >{ > local comp=$1; > local flags; > local x; > shift; > [[ -z ${comp} ]] && return 1; > for x in "$@"; > do > test-flag-${comp} "${x}" && flags="${flags}${flags:+ }${x}"; > done; > echo "${flags}"; > [[ -n ${flags} ]] >} >test_version_info () >{ > if [[ $($(tc-getCC) --version 2>&1) == *$1* ]]; then > return 0; > else > return 1; > fi >} >uclibctoolize () >{ > die "Use elibtoolize" >} >use_if_iuse () >{ > in_iuse $1 || return 1; > use $1 >} >usex () >{ > use "$1" && echo "${2-yes}$4" || echo "${3-no}$5" >} >validate_desktop_entries () >{ > if [[ -x /usr/bin/desktop-file-validate ]]; then > einfo "Checking desktop entry validity"; > local directories=""; > for d in /usr/share/applications $@; > do > [[ -d ${D}${d} ]] && directories="${directories} ${D}${d}"; > done; > if [[ -n ${directories} ]]; then > for FILE in $(find ${directories} -name "*\.desktop" -not -path '*.hidden*' | sort -u 2>/dev/null); > do > local temp=$(desktop-file-validate ${FILE} | grep -v "warning:" | sed -e "s|error: ||" -e "s|${FILE}:|--|g" ); > [[ -n $temp ]] && elog ${temp/--/${FILE/${D}/}:}; > done; > fi; > echo ""; > else > einfo "Passing desktop entry validity check. Install dev-util/desktop-file-utils, if you want to help to improve Gentoo."; > fi >} >virtualmake () >{ > debug-print-function ${FUNCNAME} "$@"; > local i=0; > local retval=0; > local OLD_SANDBOX_ON="${SANDBOX_ON}"; > local XVFB=$(type -p Xvfb); > local XHOST=$(type -p xhost); > local xvfbargs="-screen 0 800x600x24"; > if [[ -n ${maketype} ]]; then > ewarn "QA: ebuild is exporting \$maketype=${maketype}"; > ewarn "QA: Ebuild should be migrated to use VIRTUALX_COMMAND=${maketype} instead."; > ewarn "QA: Setting VIRTUALX_COMMAND to \$maketype conveniently for now."; > VIRTUALX_COMMAND=${maketype}; > fi; > if [[ -n ${XVFB} && -n ${XHOST} ]] && ( [[ -z ${DISPLAY} ]] || ! ( ${XHOST} &>/dev/null ) ); then > debug-print "${FUNCNAME}: running Xvfb hack"; > export XAUTHORITY=; > einfo "Scanning for an open DISPLAY to start Xvfb ..."; > XDISPLAY=$(i=0; while [[ -f /tmp/.X${i}-lock ]] ; do ((i++));done; echo ${i}); > debug-print "${FUNCNAME}: XDISPLAY=${XDISPLAY}"; > export SANDBOX_ON="0"; > debug-print "${FUNCNAME}: ${XVFB} :${XDISPLAY} ${xvfbargs}"; > ${XVFB} :${XDISPLAY} ${xvfbargs} &>/dev/null & sleep 2; > local start=${XDISPLAY}; > while [[ ! -f /tmp/.X${XDISPLAY}-lock ]]; do > if ((XDISPLAY - start > 15)); then > eerror "'${XVFB} :${XDISPLAY} ${xvfbargs}' returns:"; > echo; > ${XVFB} :${XDISPLAY} ${xvfbargs}; > echo; > eerror "If possible, correct the above error and try your emerge again."; > die "Unable to start Xvfb"; > fi; > ((XDISPLAY++)); > debug-print "${FUNCNAME}: ${XVFB} :${XDISPLAY} ${xvfbargs}"; > ${XVFB} :${XDISPLAY} ${xvfbargs} &>/dev/null & sleep 2; > done; > export SANDBOX_ON="${OLD_SANDBOX_ON}"; > einfo "Starting Xvfb on \$DISPLAY=${XDISPLAY} ..."; > export DISPLAY=:${XDISPLAY}; > debug-print "${FUNCNAME}: ${VIRTUALX_COMMAND} \"$@\""; > ${VIRTUALX_COMMAND} "$@"; > retval=$?; > kill $(cat /tmp/.X${XDISPLAY}-lock); > else > debug-print "${FUNCNAME}: attaching to running X display"; > debug-print "${FUNCNAME}: ${VIRTUALX_COMMAND} \"$@\""; > ${VIRTUALX_COMMAND} "$@"; > retval=$?; > fi; > [[ ${retval} -ne 0 ]] && die "${FUNCNAME}: the ${VIRTUALX_COMMAND} failed."; > return 0 >} >xpi_install () >{ > local emid; > [[ ${#} -ne 1 ]] && die "$FUNCNAME takes exactly one argument, please specify an xpi to unpack"; > x="${1}"; > cd ${x}; > emid="$(sed -n -e '/install-manifest/,$ { /em:id/!d; s/.*[\">]\([^\"<>]*\)[\"<].*/\1/; p; q }' "${x}"/install.rdf)" || die "failed to determine extension id"; > insinto "${MOZILLA_FIVE_HOME}"/extensions/${emid}; > doins -r "${x}"/* || die "failed to copy extension" >} >xpi_unpack () >{ > local xpi xpiname srcdir; > [[ -z "$*" ]] && die "Nothing passed to the $FUNCNAME command. please pass which xpi to unpack"; > for xpi in "$@"; > do > einfo "Unpacking ${xpi} to ${PWD}"; > xpiname=$(basename ${xpi%.*}); > if [[ "${xpi:0:2}" != "./" ]] && [[ "${xpi:0:1}" != "/" ]]; then > srcdir="${DISTDIR}/"; > fi; > [[ -s "${srcdir}${xpi}" ]] || die "${xpi} does not exist"; > case "${xpi##*.}" in > ZIP | zip | jar | xpi) > mkdir "${WORKDIR}/${xpiname}" && unzip -qo "${srcdir}${xpi}" -d "${WORKDIR}/${xpiname}" || die "failed to unpack ${xpi}" > ;; > *) > einfo "unpack ${xpi}: file format not recognized. Ignoring." > ;; > esac; > done >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 417051
: 312659