By chance I found the following .mozconfig file in my portage tmp dir: # This file specifies the build flags for Firefox. You can use it by adding: # . $topsrcdir/browser/config/mozconfig # to the top of your mozconfig file. mk_add_options MOZ_CO_PROJECT=browser ac_add_options --enable-application=browser ac_add_options --enable-optimize # mozilla default ac_add_options --disable-installer # gentoo ac_add_options --disable-pedantic # gentoo ac_add_options --enable-crypto # gentoo ac_add_options --with-system-jpeg # gentoo ac_add_options --with-system-zlib # gentoo ac_add_options --disable-updater # gentoo ac_add_options --enable-default-toolkit=gtk2 # gentoo ac_add_options --enable-pango # gentoo ac_add_options --enable-svg # gentoo ac_add_options --enable-svg-renderer=cairo # gentoo ac_add_options --enable-system-cairo # gentoo ac_add_options --disable-strip # gentoo ac_add_options --disable-strip-libs # gentoo ac_add_options --disable-install-strip # gentoo ac_add_options --with-distribution-id=org.gentoo # gentoo ac_add_options --enable-single-profile # gentoo ac_add_options --disable-profilesharing # gentoo ac_add_options --disable-profilelocking # gentoo ac_add_options --enable-default-toolkit=cairo-gtk2 # thebes ac_add_options --enable-ipv6 # +ipv6 ac_add_options --disable-dbus # ac_add_options --disable-startup-notification # -startup-notification ac_add_options --disable-freetype2 # gentoo ac_add_options --disable-debug # -debug ac_add_options --disable-tests # -debug ac_add_options --enable-reorder # -debug ac_add_options --disable-mailnews # ac_add_options --disable-mochitest # broken ac_add_options --disable-crashreporter # broken ac_add_options --enable-system-hunspell # ac_add_options --enable-image-encoder=all # ac_add_options --enable-canvas # ac_add_options --with-system-nspr # ac_add_options --with-system-nss # ac_add_options --enable-system-lcms # ac_add_options --enable-oji # ac_add_options --enable-mathml # ac_add_options --enable-storage # places ac_add_options --enable-places # places ac_add_options --enable-places_bookmarks # places ac_add_options --with-default-mozilla-five-home=/usr/lib64/mozilla-firefox # ac_add_options --with-libxul-sdk=/usr/lib64/xulrunner-1.9 # ac_add_options --enable-official-branding # ac_add_options --enable-extensions=default,typeaheadfind,-venkman I don't know how this file gets generated, but many of these settings don't make sense, are conflicting, obsolete, or already default. Reproducible: Always Steps to Reproduce: A few examples: ac_add_options --enable-default-toolkit=gtk2 # gentoo ac_add_options --enable-default-toolkit=cairo-gtk2 # thebes Only the second one makes sense for FF3 and is already the default. You can remove both. These are already the default and can be removed: ac_add_options --enable-crypto # gentoo ac_add_options --enable-oji # ac_add_options --enable-mathml # ac_add_options --enable-storage # places ac_add_options --enable-places # places ac_add_options --enable-svg # gentoo ac_add_options --enable-svg-renderer=cairo # gentoo ac_add_options --enable-canvas # ac_add_options --disable-mailnews # These don't exist at all: ac_add_options --enable-places_bookmarks # places ac_add_options --enable-ipv6 # +ipv6 ac_add_options --disable-freetype2 # gentoo ac_add_options --enable-reorder # -debug Hmm, this one is doubtful, too: ac_add_options --enable-extensions=default,typeaheadfind,-venkman AFAICT, typeaheadfind has not UI in FF3 any more and cannot be used.
I've removed some of them. I didn't touch the "These are already the default and can be removed:", in case upstream changes his mind... Need to have a look at typeaheadfind as well. Thanks for the report, and feel free to report anything else :)
Peter, for your curiosity here is how I build seamonkey from scratch: cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/client.mk # http://developer.mozilla.org/en/docs/Setting_up_jprof cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/tools/jprof cd mozilla make -f client.mk checkout MOZ_CO_PROJECT=suite #MOZ_DEBUG_FLAGS="-g3 -O0 -ggdb" CFLAGS="-g3 -O0 -ggdb" CXXFLAGS="-g3 -O0 -ggdb" ./configure --enable-debug --disable-optimize --enable-debug-modules=all --enable-debugger-info-modules --enable-detect-webshell-leaks --enable-svg --enable-svg-renderer-libart --enable-image-decoders=all --with-qtdir=/usr/qt/3 --enable-application=suite --disable-freetype2 --enable-jprof #./configure --enable-debug --disable-optimize --with-gssapi=/usr/heimdal --enable-jprof --enable-debug-modules=all --enable-debugger-info-modules --enable-application=suite --disable-necko-disk-cache --enable-wrap-malloc --enable-detect-webshell-leaks --enable-boehm --enable-svg --enable-svg-renderer-libart --enable-image-decoders=all --disable-composer --enable-pango --with-qtdir=/usr/qt/3 --with-ft-prefix=/usr ./configure --disable-optimize --enable-debug='-g3 -O0 -ggdb' --enable-debug-modules=all --enable-debugger-info-modules --enable-detect-webshell-leaks --enable-svg --enable-svg-renderer-libart --enable-image-decoders=all --with-qtdir=/usr/qt/3 --enable-application=suite --disable-freetype2 --enable-jprof --enable-default-toolkit=cairo-gtk2 --enable-xft --disable-gssapi --enable-pango make -f client.mk build # MOZILLA_FIVE_HOME=`pwd` XPCOM_DEBUG_BREAK=trap ./mozilla -g # http://developer.mozilla.org/en/Mozilla_Source_Code_(Mercurial) hg clone http://hg.mozilla.org/mozilla-central/ ./mozilla-from-hg # Generate a mozconfig yourself, or use this minimal default one echo '. $topsrcdir/browser/config/mozconfig' > .mozconfig # configure will be automatically generated using the 'autoconf-2.13' # command, except on OS X where autoconf213 will be used. # If autoconf-2.13 isn't the right name for your system, as # is the case on Ubuntu Linux, use the real command name as # demonstrated below. echo 'mk_add_options AUTOCONF=autoconf2.13' >> .mozconfig # Now do the build; configure will be run automatically make -f client.mk build ./configure --disable-optimize --enable-debug='-g3 -O0 -ggdb' --enable-debug-modules=all --enable-debugger-info-modules --enable-detect-webshell-leaks --enable-svg --enable-svg-renderer-libart --enable-image-decoders=all --with-qtdir=/usr/qt/3 --enable-application=suite --disable-freetype2 --enable-jprof --enable-default-toolkit=cairo-gtk2 --enable-xft --disable-gssapi --enable-pango make hg pull unset CVSROOT python client.py checkout
And the resulting file which I do use: $ cat comm-central/.mozconfig mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sm mk_add_options AUTOCONF=autoconf-2.13 ac_add_options --disable-optimize --enable-debug=-ggdb --enable-debug-modules=all --enable-debugger-info-modules --enable-detect-webshell-leaks --enable-svg --enable-svg-renderer-libart --enable-image-decoders=all --with-qtdir=/usr/qt/3 --enable-application=suite --disable-freetype2 --enable-jprof --enable-default-toolkit=cairo-gtk2 --enable-xft --disable-gssapi $
(In reply to comment #1) > I didn't touch the "These are already the default and can be removed:", in case > upstream changes his mind... Raúl, upstream usually has good reasons for changing defaults, I had hoped that the package maintainers of distributions would follow changes in this area. But of course that is difficult to do because ./configure --help doesn't like defaults. But comparing the output of that command between versions should at least help to identify obsolete flags... They cannot switch off SVG, Canvas, Places or Storage any more, they need that for too many things themselves. And they are fully committed to cairo, so that option can really go, too. They can never again switch on mailnews, because that's in another repo now. And if you leave in e.g. --enable-oji that won't help at all because OJI support for plugins will be removed in Firefox after 3.5 anyway... ------------------------------------------------------------------------------ (In reply to comment #3) Martin, are these options you want to use for ebuilds of (binary) Mozilla products for general Gentoo users? > ac_add_options --disable-optimize --enable-debug=-ggdb > --enable-debug-modules=all --enable-debugger-info-modules So you want to do a lot of debugging? > --enable-detect-webshell-leaks --enable-svg --enable-svg-renderer-libart libart support is gone AFAIK. > --enable-image-decoders=all --with-qtdir=/usr/qt/3 --enable-application=suite > --disable-freetype2 --enable-jprof --enable-default-toolkit=cairo-gtk2 > --enable-xft --disable-gssapi Are you really planning to ues JProf? You don't need the qtdir thing for a GTK-based buil...
(In reply to comment #4) > (In reply to comment #3) > Martin, are these options you want to use for ebuilds of (binary) Mozilla > products for general Gentoo users? > > > ac_add_options --disable-optimize --enable-debug=-ggdb > > --enable-debug-modules=all --enable-debugger-info-modules > > So you want to do a lot of debugging? Was tracing some ASSERTIONs and it took me ages to figure out using the old docs about all sorts of "mozilla" sources how to do it using _current_ build system. However, would be great if these would be enabled when USE=debug. > > > --enable-detect-webshell-leaks --enable-svg --enable-svg-renderer-libart > > libart support is gone AFAIK. Didn't know, thanks. I haven't actually investigated that in detail. > > > --enable-image-decoders=all --with-qtdir=/usr/qt/3 --enable-application=suite > > --disable-freetype2 --enable-jprof --enable-default-toolkit=cairo-gtk2 > > --enable-xft --disable-gssapi > > Are you really planning to use JProf? You don't need the qtdir thing for a > GTK-based build... I did due to terribly slow seamonkey browser when some animated GIFs were shown. The idea was that it is caused by freetype2 support but I think I never came to a conclusion myself. Would have hoped that cairo-gtk2 mutually excludes qtdir value then. ;-)
If you feel this is still valid with the latest feel free to reopen and I will try to explain everything to you.
(In reply to comment #6) > If you feel this is still valid with the latest feel free to reopen and I will > try to explain everything to you. My main interest is to support binaries with full debug. It is extremely difficult to get them right on Gentoo: 1. (USE=debug does not do what you really think it should do) 2. one has to adjust C*FLAGS and FEATURES in /etc/make.conf. 3. adjust kernel setup through systcl so that core-dumps are generated 4. set "ulimit -c unlimited" in shell settings (I have opened some DOC bug to fix the Gentoo documentation on that but it is still opened: bug #289364 and #289483) The above is not enough for seamonkey/firefox/thunderbird, because their configure overrides C*FLAGS and maybe removes debug even more actively, I forgot, I had some bugs opened on this in bugzilla.mozilla.org. The summary is that one has to include those `--disable-optimize --enable-debug='-O0 -ggdb' --enable-debug-modules=all' to get really a binary with debug symbols. For me it means you should really introduce a USE=debug flags and give it the right meaning (pass to configure --enable-debug --disable-optimize ...). BTW, both these configure flags had to be specified, at least in the past.