Opened 18 years ago

Closed 18 years ago

#1707 closed defect (fixed)

Firefox/Thunderbird-1.5 build instructions

Reported by: Dan Nicholson Owned by: Randy McMurchy
Priority: high Milestone: 6.2.0
Component: BOOK Version: SVN
Severity: normal Keywords:
Cc:

Description

Please read this thread in the blfs-dev mailing list:

http://linuxfromscratch.org/pipermail/blfs-dev/2005-December/012230.html

Summary I'd like the following changes to the build instructions considered:

  1. Object directory
  2. Use .mozconfig file for build parameters
  3. Use Mozilla client.mk custom makefile (optional)

Attachments (1)

mozconfig-firefox (1.9 KB ) - added by Dan Nicholson 18 years ago.
.mozconfig for Firefox-1.5 with comments

Download all attachments as: .zip

Change History (13)

comment:1 by Randy McMurchy, 18 years ago

Milestone: future6.2
op_sys: AllLinux
Owner: changed from blfs-book@… to Randy McMurchy
rep_platform: PCAll
Version: ~CVSa-SVN

comment:2 by Randy McMurchy, 18 years ago

Status: newassigned

by Dan Nicholson, 18 years ago

Attachment: mozconfig-firefox added

.mozconfig for Firefox-1.5 with comments

comment:3 by b3nt@…, 18 years ago

I just wanted to add that if you run configure it checks the options in the mozconfig in just the same way as if they were command line switches. The attached mozconfig options look good to me. Just a couple of queries, it might be good to put a comment above the --disable-accessibility option. People with disabilities may not want that in their mozconfig. http://www.mozilla.org/access/slideshow/text And setting a default-mozilla-five-home, does it make a difference? Not sure. I think Randy has already said he doesn't like the MOZ_OBJDIR build and I can see his point of view. I can't see any compelling reason to do it that way. I do OBJDIR builds myself and I'd like to argue in favour of it but.. Another thing, Open Office might need a switch passed to the Firefox build. I think it may be ac_add_options --enable-ldap

comment:4 by Dan Nicholson, 18 years ago

(In reply to comment #2)

Just a couple of queries, it might be good to put a comment above the --disable-accessibility option. People with disabilities may not want that in their mozconfig. http://www.mozilla.org/access/slideshow/text

Yeah, good call. I just added comments to my own file before attaching, and I disable it. Should be commented in the book.

And setting a default-mozilla-five-home, does it make a difference? Not sure.

I never noticed that it did anything. I never used it until I saw it in the BLFS book. I don't have the energy to try to search through the source tree to see what it does, either. I'll probably drop it in my own build.

The same goes for BUILD_OFFICIAL and MOZILLA_OFFICIAL. This is undocumented on the online Mozilla configurator, which makes me think it does nothing. Further, I grepped through the source and did a lot of searching, and I don't think it does anything any more. I've tried various combinations of export, mk_add_options and unset, but I never noticed any difference in the build logs.

The only place in the source that I noticed anything conditional had to do with

the winnt and wince targets. The only reason I don't drop it is because of this page which might be outdated http://www.mozilla.org/build/distribution.html.

I think Randy has already said he doesn't like the MOZ_OBJDIR build and I can see his point of view. I can't see any compelling reason to do it that way. I do OBJDIR builds myself and I'd like to argue in favour of it but..

Bruce said he wanted it somewhere in the long mail thread, but I don't care that much. I would like to leave it in the mozconfig commented if it's deemed not necessary, though. Then people can use it if they want. I personally like to use an objdir for any large packages. One good use is in testing where you can keep old objdirs and diff them.

Another thing, Open Office might need a switch passed to the Firefox build. I think it may be ac_add_options --enable-ldap

Yes, I keep forgetting about that. That should be in there, probably commented.

That's the right switch, too.

comment:5 by Randy McMurchy, 18 years ago

The --default-mozilla-five-home config parm is used to set the value of MOZILLA_FIVE_HOME. With that, and this:

rml@rmlinux: ~/build/mozilla > grep -lr MOZILLA_FIVE_HOME * build/unix/run-mozilla.sh build/unix/vms/mozilla.com build/package/debian/runner config/rules.mk configure configure.in embedding/browser/cocoa/src/nsCocoaBrowserService.mm embedding/browser/qt/plugin/plugin.cpp extensions/java/xpcom/tests/TestArray.java extensions/java/xpcom/tests/TestJavaProxy.java extensions/java/xpcom/tests/TestParams.java extensions/java/xpcom/tests/TestProps.java extensions/java/xpcom/tests/TestQI.java intl/ctl/src/pangoLite/pango-utils.c js/src/xpconnect/tests/idispatch/Tests/jsDriver.pl layout/html/tests/style/rtest.sh layout/html/tests/style/runtests.sh modules/oji/tests/README modules/oji/tests/FAQ modules/oji/tests/build/README modules/oji/tests/script/autorun.pl toolkit/mozapps/installer/unix/wizard/mozilla-installer toolkit/xre/nsAppRunner.cpp webshell/tests/viewer/nsMacMain.cpp xpcom/glue/standalone/nsGREDirServiceProvider.cpp xpcom/io/nsDirectoryService.cpp xpcom/io/nsDirectoryServiceDefs.h xpcom/obsolete/nsSpecialSystemDirectory.cpp xpfe/bootstrap/mozilla.in xpfe/bootstrap/nsAppRunner.cpp xpfe/bootstrap/nsNativeAppSupportGtk.cpp xpfe/bootstrap/nsNativeAppSupportPh.cpp xpinstall/wizard/unix/src2/mozilla-installer

why would we want to consider removing it?

comment:6 by andy@…, 18 years ago

What does MOZILLA_FIVE_HOME do? Why does a --default-mozilla-five-home need to be set?

comment:7 by Randy McMurchy, 18 years ago

MOZILLA_FIVE_HOME is used to identify where the Firefox binaries are located. If you grep the source tree for 'default-mozilla-five-home' you can see some examples in the code where it is found.

comment:8 by andy@…, 18 years ago

But isn't $MOZILLA_FIVE_HOME set by the run-mozilla.sh script at runtime? Why does it need to be set at compile time?

comment:9 by Dan Nicholson, 18 years ago

I started writing a reply two days ago, was about done, then closed firefox to check when MOZILLA_FIVE_HOME is set. Whoops.

Short answer: we should keep --default-mozilla-five-home for safety.

OK, so MOZILLA_FIVE_HOME is set at runtime by run-mozilla.sh. This value is set to MOZ_DIST_BIN which is set to dirname $0. And the directory for run-mozilla.sh is hard-coded into /usr/bin/firefox as moz_libdir. This is set at compile-time from browser/app/mozilla.in independently of DEFAULT_MOZILLA_FIVE_HOME. So, just running firefox is independent of DEFAULT_MOZILLA_FIVE_HOME.

Grepping through the object directory and the installed files, I find that that define -DDEFAULT_MOZILLA_FIVE_HOME exists in /usr/bin/firefox-config and /usr/include/firefox-1.5/mozilla-config.h. firefox-config seems to be a pkg-config sort of script a la freetype-config. It seems that compiling a package that depends on firefox will pull in -DDEFAULT_MOZILLA_FIVE_HOME=... So, unless someone knows whether packages that depend on firefox use this or not, it seems we should keep setting it to be safe.

Otherwise, I think it's mostly historical where you could set MOZILLA_FIVE_HOME, and /usr/bin/mozilla would look there for the libraries.

Dan

comment:10 by andy@…, 18 years ago

I wondered about other applications that may compile against Firefox, but the only one I use (Yelp-2.12.2 or Yelp-2.13.1) works fine when compiled against Firefox-1.5 without a default-mozilla-five-home.

comment:11 by Randy McMurchy, 18 years ago

See http://linuxfromscratch.org/pipermail/blfs-dev/2005-December/012526.html for the first round of summarization of everyone's comments so far. Let's keep the discussion on -dev, however, as it is so much easier to keep up there, than it is on the -book list and using BZ.

comment:12 by Randy McMurchy, 18 years ago

Resolution: fixed
Status: assignedclosed

Converted Firefox to use a different build system (a .mozconfig file and 'make -f client.mk build/install'). All valid comments in this bug were fixed/corrected/updated/whateverwasnecessary.

Notes have been placed in the Thunderbird and Mozilla bugs about converting their build methods as well.

Closing this bug as FIXED.

Note: See TracTickets for help on using tickets.