axs 14/10/14 16:10:36 Modified: ChangeLog Added: mozconfig-v5.31.eclass mozconfig-v5.33.eclass mozcoreconf-v3.eclass Removed: mozconfig-v4.1.eclass Log: added bumps to mozilla config eclasses and removed old
Revision Changes Path 1.1383 eclass/ChangeLog file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1383&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?rev=1.1383&content-type=text/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/ChangeLog?r1=1.1382&r2=1.1383 Index: ChangeLog =================================================================== RCS file: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v retrieving revision 1.1382 retrieving revision 1.1383 diff -u -r1.1382 -r1.1383 --- ChangeLog 9 Oct 2014 16:55:28 -0000 1.1382 +++ ChangeLog 14 Oct 2014 16:10:36 -0000 1.1383 @@ -1,6 +1,11 @@ # ChangeLog for eclass directory # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1382 2014/10/09 16:55:28 pesa Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/ChangeLog,v 1.1383 2014/10/14 16:10:36 axs Exp $ + + 14 Oct 2014; Ian Stakenvicius (_AxS_) <a...@gentoo.org> + -mozconfig-v4.1.eclass, +mozconfig-v5.31.eclass, +mozconfig-v5.33.eclass, + +mozcoreconf-v3.eclass: + added bumps to mozilla config eclasses and removed old 09 Oct 2014; Davide Pesavento <p...@gentoo.org> qt5-build.eclass: Fix assignments to RESTRICT. 1.1 eclass/mozconfig-v5.31.eclass file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mozconfig-v5.31.eclass?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mozconfig-v5.31.eclass?rev=1.1&content-type=text/plain Index: mozconfig-v5.31.eclass =================================================================== # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/eclass/mozconfig-v5.31.eclass,v 1.1 2014/10/14 16:10:36 axs Exp $ # # @ECLASS: mozconfig-v5.31.eclass # @MAINTAINER: # mozilla team <mozi...@gentoo.org> # @BLURB: the new mozilla common configuration eclass for FF31 and newer, v5 # @DESCRIPTION: # This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey) # to provide a single common place for the common mozilla engine compoments. # # The eclass provides all common dependencies as well as common use flags. # # Some use flags which may be optional in particular mozilla packages can be # supported through setting eclass variables. # # This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3, # and so ebuilds inheriting this eclass do not need to inherit that. inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3 case ${EAPI} in 0|1|2|3|4) die "EAPI=${EAPI} not supported" esac # @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI # @DESCRIPTION: # Set this variable before the inherit line, when an ebuild needs to provide # optional necko-wifi support via IUSE="wifi". Currently this would include # ebuilds for firefox, and potentially seamonkey. # # Leave the variable UNSET if necko-wifi support should not be available. # Set the variable to "enabled" if the use flag should be enabled by default. # Set the variable to any value if the use flag should exist but not be default-enabled. # @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT # @DESCRIPTION: # Set this variable before the inherit line, when an ebuild needs to provide # optional necko-wifi support via IUSE="jit". Currently this would include # ebuilds for firefox, and potentially seamonkey. # # Leave the variable UNSET if optional jit support should not be available. # Set the variable to "enabled" if the use flag should be enabled by default. # Set the variable to any value if the use flag should exist but not be default-enabled. # use-flags common among all mozilla ebuilds IUSE="${IUSE} dbus debug gstreamer pulseaudio startup-notification system-cairo system-icu system-jpeg system-sqlite +system-libvpx" # some notes on deps: # gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14 # media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau RDEPEND=">=app-text/hunspell-1.2 dev-libs/atk dev-libs/expat >=dev-libs/libevent-1.4.7 >=x11-libs/cairo-1.10[X] >=x11-libs/gtk+-2.14:2 x11-libs/gdk-pixbuf >=x11-libs/pango-1.22.0 >=media-libs/libpng-1.6.10:0=[apng] >=media-libs/mesa-10.2:* media-libs/fontconfig >=media-libs/freetype-2.4.10 kernel_linux? ( media-libs/alsa-lib ) pulseaudio? ( media-sound/pulseaudio ) >=sys-libs/zlib-1.2.3 virtual/freedesktop-icon-theme dbus? ( >=sys-apps/dbus-0.60 >=dev-libs/dbus-glib-0.72 ) startup-notification? ( >=x11-libs/startup-notification-0.8 ) >=dev-libs/glib-2.26:2 virtual/libffi gstreamer? ( media-plugins/gst-plugins-meta:1.0[ffmpeg] ) x11-libs/libX11 x11-libs/libXext x11-libs/libXrender x11-libs/libXt system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 ) system-icu? ( >=dev-libs/icu-51.1 ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) system-sqlite? ( >=dev-db/sqlite-3.8.4.2:3[secure-delete,debug=] ) system-libvpx? ( =media-libs/libvpx-1.3.0* ) " if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then IUSE+=" +wifi" else IUSE+=" wifi" fi RDEPEND+=" wifi? ( >=sys-apps/dbus-0.60 >=dev-libs/dbus-glib-0.72 net-wireless/wireless-tools )" fi if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then IUSE+=" +jit" else IUSE+=" jit" fi fi DEPEND="app-arch/zip app-arch/unzip >=sys-devel/binutils-2.16.1 ${RDEPEND}" # @FUNCTION: mozconfig_config # @DESCRIPTION: # Set common configure options for mozilla packages. # Call this within src_configure() phase, after mozconfig_init # # Example: # # inherit mozconfig-v5.31 # # src_configure() { # mozconfig_init # mozconfig_config # # ... misc ebuild-unique settings via calls to # # ... mozconfig_{annotate,use_with,use_enable} # mozconfig_final # } mozconfig_config() { # Migrated from mozcoreconf-2 mozconfig_annotate 'system_libs' \ --with-system-zlib \ --enable-pango \ --enable-svg 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 debug mozconfig_use_enable debug tests if ! use debug ; then mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols fi mozconfig_use_enable startup-notification if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then # wifi pulls in dbus so manage both here mozconfig_use_enable wifi necko-wifi if use wifi && ! use dbus; then echo "Enabling dbus support due to wifi request" mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus else mozconfig_use_enable dbus fi else mozconfig_use_enable dbus mozconfig_annotate 'disabled' --disable-necko-wifi fi mozconfig_annotate 'required' --enable-ogg mozconfig_annotate 'required' --enable-wave if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then mozconfig_use_enable jit ion mozconfig_use_enable jit yarr-jit fi # These are enabled by default in all mozilla applications 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 '' --prefix="${EPREFIX}"/usr mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) mozconfig_annotate '' --enable-system-hunspell mozconfig_annotate '' --disable-gnomevfs mozconfig_annotate '' --disable-gnomeui mozconfig_annotate '' --enable-gio mozconfig_annotate '' --disable-crashreporter mozconfig_annotate '' --with-system-png mozconfig_annotate '' --enable-system-ffi mozconfig_annotate '' --disable-gold mozconfig_annotate '' --disable-gconf # We must force enable jemalloc 3 threw .mozconfig echo "export MOZ_JEMALLOC=1" >> "${S}"/.mozconfig || die mozconfig_annotate '' --enable-jemalloc mozconfig_annotate '' --enable-replace-malloc mozconfig_annotate '' --target="${CTARGET:-${CHOST}}" mozconfig_annotate '' --build="${CTARGET:-${CHOST}}" if use gstreamer; then mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0 else mozconfig_annotate '' --disable-gstreamer fi mozconfig_use_enable pulseaudio mozconfig_use_enable system-cairo mozconfig_use_enable system-sqlite mozconfig_use_with system-jpeg mozconfig_use_with system-icu mozconfig_use_enable system-icu intl-api mozconfig_use_with system-libvpx } 1.1 eclass/mozconfig-v5.33.eclass file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mozconfig-v5.33.eclass?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mozconfig-v5.33.eclass?rev=1.1&content-type=text/plain Index: mozconfig-v5.33.eclass =================================================================== # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/eclass/mozconfig-v5.33.eclass,v 1.1 2014/10/14 16:10:36 axs Exp $ # # @ECLASS: mozconfig-v5.33.eclass # @MAINTAINER: # mozilla team <mozi...@gentoo.org> # @BLURB: the new mozilla common configuration eclass for FF33 and newer, v5 # @DESCRIPTION: # This eclass is used in mozilla ebuilds (firefox, thunderbird, seamonkey) # to provide a single common place for the common mozilla engine compoments. # # The eclass provides all common dependencies as well as common use flags. # # Some use flags which may be optional in particular mozilla packages can be # supported through setting eclass variables. # # This eclass inherits mozconfig helper functions as defined in mozcoreconf-v3, # and so ebuilds inheriting this eclass do not need to inherit that. inherit multilib flag-o-matic toolchain-funcs mozcoreconf-v3 case ${EAPI} in 0|1|2|3|4) die "EAPI=${EAPI} not supported" esac # @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_WIFI # @DESCRIPTION: # Set this variable before the inherit line, when an ebuild needs to provide # optional necko-wifi support via IUSE="wifi". Currently this would include # ebuilds for firefox, and potentially seamonkey. # # Leave the variable UNSET if necko-wifi support should not be available. # Set the variable to "enabled" if the use flag should be enabled by default. # Set the variable to any value if the use flag should exist but not be default-enabled. # @ECLASS-VARIABLE: MOZCONFIG_OPTIONAL_JIT # @DESCRIPTION: # Set this variable before the inherit line, when an ebuild needs to provide # optional necko-wifi support via IUSE="jit". Currently this would include # ebuilds for firefox, and potentially seamonkey. # # Leave the variable UNSET if optional jit support should not be available. # Set the variable to "enabled" if the use flag should be enabled by default. # Set the variable to any value if the use flag should exist but not be default-enabled. # use-flags common among all mozilla ebuilds IUSE="${IUSE} dbus debug gstreamer pulseaudio startup-notification system-cairo system-icu system-jpeg system-sqlite +system-libvpx" # some notes on deps: # gtk:2 minimum is technically 2.10 but gio support (enabled by default) needs 2.14 # media-libs/mesa needs to be 10.2 or above due to a bug with flash+vdpau RDEPEND=">=app-text/hunspell-1.2 dev-libs/atk dev-libs/expat >=dev-libs/libevent-1.4.7 >=x11-libs/cairo-1.10[X] >=x11-libs/gtk+-2.14:2 x11-libs/gdk-pixbuf >=x11-libs/pango-1.22.0 >=media-libs/libpng-1.6.10:0=[apng] >=media-libs/mesa-10.2:* media-libs/fontconfig >=media-libs/freetype-2.4.10 kernel_linux? ( media-libs/alsa-lib ) pulseaudio? ( media-sound/pulseaudio ) virtual/freedesktop-icon-theme dbus? ( >=sys-apps/dbus-0.60 >=dev-libs/dbus-glib-0.72 ) startup-notification? ( >=x11-libs/startup-notification-0.8 ) >=dev-libs/glib-2.26:2 >=sys-libs/zlib-1.2.3 virtual/libffi gstreamer? ( >=media-libs/gstreamer-1.2.3:1.0 >=media-libs/gst-plugins-base-1.2.3:1.0 >=media-libs/gst-plugins-good-1.2.3:1.0 >=media-plugins/gst-plugins-libav-1.1.0_pre20130128-r1:1.0 ) x11-libs/libX11 x11-libs/libXext x11-libs/libXrender x11-libs/libXt system-cairo? ( >=x11-libs/cairo-1.12[X] >=x11-libs/pixman-0.19.2 ) system-icu? ( >=dev-libs/icu-51.1 ) system-jpeg? ( >=media-libs/libjpeg-turbo-1.2.1 ) system-sqlite? ( >=dev-db/sqlite-3.8.5:3[secure-delete,debug=] ) system-libvpx? ( =media-libs/libvpx-1.3.0* ) " if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]]; then if [[ ${MOZCONFIG_OPTIONAL_WIFI} = "enabled" ]]; then IUSE+=" +wifi" else IUSE+=" wifi" fi RDEPEND+=" wifi? ( >=sys-apps/dbus-0.60 >=dev-libs/dbus-glib-0.72 net-wireless/wireless-tools )" fi if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then if [[ ${MOZCONFIG_OPTIONAL_JIT} = "enabled" ]]; then IUSE+=" +jit" else IUSE+=" jit" fi fi DEPEND="app-arch/zip app-arch/unzip >=sys-devel/binutils-2.16.1 ${RDEPEND}" # @FUNCTION: mozconfig_config # @DESCRIPTION: # Set common configure options for mozilla packages. # Call this within src_configure() phase, after mozconfig_init # # Example: # # inherit mozconfig-v5.33 # # src_configure() { # mozconfig_init # mozconfig_config # # ... misc ebuild-unique settings via calls to # # ... mozconfig_{annotate,use_with,use_enable} # mozconfig_final # } mozconfig_config() { # Migrated from mozcoreconf-2 mozconfig_annotate 'system_libs' \ --with-system-zlib \ --enable-pango \ --enable-svg 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 debug mozconfig_use_enable debug tests if ! use debug ; then mozconfig_annotate 'disabled by Gentoo' --disable-debug-symbols fi mozconfig_use_enable startup-notification if [[ -n ${MOZCONFIG_OPTIONAL_WIFI} ]] ; then # wifi pulls in dbus so manage both here mozconfig_use_enable wifi necko-wifi if use wifi && ! use dbus; then echo "Enabling dbus support due to wifi request" mozconfig_annotate 'dbus required by necko-wifi' --enable-dbus else mozconfig_use_enable dbus fi else mozconfig_use_enable dbus mozconfig_annotate 'disabled' --disable-necko-wifi fi # These are forced-on for webm support mozconfig_annotate 'required' --enable-ogg mozconfig_annotate 'required' --enable-wave if [[ -n ${MOZCONFIG_OPTIONAL_JIT} ]]; then mozconfig_use_enable jit ion mozconfig_use_enable jit yarr-jit fi # These are enabled by default in all mozilla applications 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 '' --prefix="${EPREFIX}"/usr mozconfig_annotate '' --libdir="${EPREFIX}"/usr/$(get_libdir) mozconfig_annotate 'Gentoo default' --enable-system-hunspell mozconfig_annotate '' --disable-gnomevfs mozconfig_annotate '' --disable-gnomeui mozconfig_annotate '' --enable-gio mozconfig_annotate '' --disable-crashreporter mozconfig_annotate 'Gentoo default' --with-system-png mozconfig_annotate '' --enable-system-ffi mozconfig_annotate 'Gentoo default to honor system linker' --disable-gold mozconfig_annotate '' --disable-gconf mozconfig_annotate 'Gentoo default' --with-system-zlib # We must force-enable jemalloc 3 via .mozconfig echo "export MOZ_JEMALLOC=1" >> "${S}"/.mozconfig || die mozconfig_annotate '' --enable-jemalloc mozconfig_annotate '' --enable-replace-malloc mozconfig_annotate '' --target="${CTARGET:-${CHOST}}" mozconfig_annotate '' --build="${CTARGET:-${CHOST}}" if use gstreamer; then mozconfig_annotate '+gstreamer' --enable-gstreamer=1.0 else mozconfig_annotate '' --disable-gstreamer fi mozconfig_use_enable pulseaudio mozconfig_use_enable system-cairo mozconfig_use_enable system-sqlite mozconfig_use_with system-jpeg mozconfig_use_with system-icu mozconfig_use_enable system-icu intl-api mozconfig_use_with system-libvpx } 1.1 eclass/mozcoreconf-v3.eclass file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mozcoreconf-v3.eclass?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/mozcoreconf-v3.eclass?rev=1.1&content-type=text/plain Index: mozcoreconf-v3.eclass =================================================================== # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/eclass/mozcoreconf-v3.eclass,v 1.1 2014/10/14 16:10:36 axs Exp $ # # @ECLASS: mozcoreconf.eclass # @MAINTAINER: # Mozilla team <mozi...@gentoo.org> # @BLURB: core options and configuration functions for mozilla # @DESCRIPTION: # # inherit mozconfig-v5.* or above for mozilla configuration support PYTHON_COMPAT=( python2_7 ) PYTHON_REQ_USE='threads,sqlite' inherit multilib flag-o-matic python-any-r1 versionator IUSE="${IUSE} custom-cflags custom-optimization" DEPEND="virtual/pkgconfig ${PYTHON_DEPS}" # @FUNCTION: mozconfig_annotate # @DESCRIPTION: # add an annotated line to .mozconfig # # Example: # mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc # => ac_add_options --enable-js-ultrasparc # building on ultrasparc 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 } # @FUNCTION: mozconfig_use_enable # @DESCRIPTION: # add a line to .mozconfig based on a USE-flag # # Example: # mozconfig_use_enable truetype freetype2 # => ac_add_options --enable-freetype2 # +truetype mozconfig_use_enable() { declare flag=$(use_enable "$@") mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}" } # @FUNCTION mozconfig_use_with # @DESCRIPTION # add a line to .mozconfig based on a USE-flag # # Example: # mozconfig_use_with kerberos gss-api /usr/$(get_libdir) # => ac_add_options --with-gss-api=/usr/lib # +kerberos mozconfig_use_with() { declare flag=$(use_with "$@") mozconfig_annotate "$(use $1 && echo +$1 || echo -$1)" "${flag}" } # @FUNCTION mozconfig_use_extension # @DESCRIPTION # enable or disable an extension based on a USE-flag # # Example: # mozconfig_use_extension gnome gnomevfs # => ac_add_options --enable-extensions=gnomevfs mozconfig_use_extension() { declare minus=$(use $1 || echo -) mozconfig_annotate "${minus:-+}$1" --enable-extensions=${minus}${2} } moz_pkgsetup() { # Ensure we use C locale when building export LANG="C" export LC_ALL="C" export LC_MESSAGES="C" export LC_CTYPE="C" # Ensure that we have a sane build enviroment export MOZILLA_CLIENT=1 export BUILD_OPT=1 export NO_STATIC_LIB=1 export USE_PTHREADS=1 export ALDFLAGS=${LDFLAGS} # ensure MOZCONFIG is not defined eval unset MOZCONFIG # nested configure scripts in mozilla products generate unrecognized options # false positives when toplevel configure passes downwards. export QA_CONFIGURE_OPTIONS=".*" if [[ $(gcc-major-version) -eq 3 ]]; then ewarn "Unsupported compiler detected, DO NOT file bugs for" ewarn "outdated compilers. Bugs opened with gcc-3 will be closed" ewarn "invalid." fi python-any-r1_pkg_setup } # @FUNCTION: mozconfig_init # @DESCRIPTION # Initialize mozilla configuration and populate with core settings. # This should be called in src_configure before any other mozconfig_* functions. 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 SM=$([[ ${PN} == seamonkey ]] && echo true || echo false) declare TB=$([[ ${PN} == thunderbird ]] && echo true || echo false) #################################### # # Setup the initial .mozconfig # See http://www.mozilla.org/build/configure-build.html # #################################### 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" ;; seamonkey) # Must create the initial mozconfig to enable application : >.mozconfig || die "initial mozconfig creation failed" mozconfig_annotate "" --enable-application=suite ;; *thunderbird) # Must create the initial mozconfig to enable application : >.mozconfig || die "initial mozconfig creation failed" mozconfig_annotate "" --enable-application=mail ;; esac #################################### # # CFLAGS setup and ARCH support # #################################### # Set optimization level if [[ ${ARCH} == hppa ]]; then mozconfig_annotate "more than -O0 causes a segfault on hppa" --enable-optimize=-O0 elif [[ ${ARCH} == x86 ]]; then mozconfig_annotate "less then -O2 causes a segfault on x86" --enable-optimize=-O2 elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then # Set optimization level based on CFLAGS if is-flag -O0; then mozconfig_annotate "from CFLAGS" --enable-optimize=-O0 elif [[ ${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 elif is-flag -O3; then mozconfig_annotate "from CFLAGS" --enable-optimize=-O3 elif is-flag -O1; then mozconfig_annotate "from CFLAGS" --enable-optimize=-O1 elif is-flag -Os; then mozconfig_annotate "from CFLAGS" --enable-optimize=-Os else mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2 fi else # Enable Mozilla's default mozconfig_annotate "mozilla default" --enable-optimize fi # Strip optimization so it does not end up in compile string filter-flags '-O*' # Strip over-aggressive CFLAGS use custom-cflags || strip-flags # Additional ARCH support case "${ARCH}" in alpha) # Historically we have needed to add -fPIC manually for 64-bit. # Additionally, alpha should *always* build with -mieee for correct math # operation append-flags -fPIC -mieee ;; ia64) # Historically we have needed to add this manually for 64-bit append-flags -fPIC ;; ppc64) append-flags -fPIC -mminimal-toc ;; esac # Go a little faster; use less RAM append-flags "$MAKEEDIT_FLAGS" #################################### # # mozconfig setup # #################################### mozconfig_annotate disable_update_strip \ --disable-pedantic \ --disable-updater \ --disable-strip \ --disable-install-strip \ --disable-installer \ --disable-strip-libs if [[ ${PN} != seamonkey ]]; then mozconfig_annotate basic_profile \ --disable-profilelocking \ --enable-single-profile \ --disable-profilesharing fi # Here is a strange one... if is-flag '-mcpu=ultrasparc*' || is-flag '-mtune=ultrasparc*'; then mozconfig_annotate "building on ultrasparc" --enable-js-ultrasparc fi # Currently --enable-elf-dynstr-gc only works for x86, # thanks to Jason Wever <we...@gentoo.org> for the fix. if use x86 && [[ ${enable_optimize} != -O0 ]]; then mozconfig_annotate "${ARCH} optimized build" --enable-elf-dynstr-gc fi # jemalloc won't build with older glibc ! has_version ">=sys-libs/glibc-2.4" && mozconfig_annotate "we have old glibc" --disable-jemalloc } # @FUNCTION: mozconfig_final # @DESCRIPTION: # Display a table describing all configuration options paired # with reasons, then clean up extensions list. # This should be called in src_configure at the end of all other mozconfig_* functions. 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 # Resolve multiple --enable-extensions down to one 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 }