Closed
Bug 202425
Opened 21 years ago
Closed 21 years ago
gfx freetype sets local defines which are not tracked by the dependency system
Categories
(SeaMonkey :: Build Config, defect)
Tracking
(Not tracked)
RESOLVED
FIXED
mozilla1.4beta
People
(Reporter: saugart, Assigned: netscape)
Details
Attachments
(7 files, 1 obsolete file)
604 bytes,
text/plain
|
Details | |
166.09 KB,
application/x-bzip2
|
Details | |
734 bytes,
patch
|
darin.moz
:
review+
|
Details | Diff | Splinter Review |
13.89 KB,
text/plain
|
Details | |
775 bytes,
application/octet-stream
|
Details | |
308 bytes,
text/plain
|
Details | |
14.59 KB,
patch
|
blizzard
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030415 Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a) Gecko/20030415 I built mozilla from the CVS source last night (April 16, 2003) on Linux. My system has a version of freetype2, which Mozilla cheerfully detected during its configuration process: checking for freetype-config... (cached) /usr/bin/freetype-config checking for FreeType - version >= 6.1.0... yes However, MOZ_ENABLE_FREETYPE2 is not enabled in mozilla-config.h Reproducible: Didn't try Steps to Reproduce: 1. Download a source tarball (I used the 1.4a source) 2. Install the .mozconfig file I will attach as attachment #1 [details] [diff] [review]. 3. make -f client.mk 2>&1 | tee make.out 4) dist/bin/mozilla Actual Results: Mozilla downloaded the latest CVS, configured, and built. When I started mozilla, I got the warning: WARNING: freetype not compiled in, file nsFT2FontNode.cpp, line 51 There is no MOZ_ENABLE_FREETYPE2 defined in mozilla-config.h. Expected Results: Had freetype2 support compiled in. Not displayed the warning. Had MOZ_ENABLE_FREETYPE2 defined in mozilla-config.h. I'm attaching the make.out file (make's output) as attachment #2 [details] [diff] [review].
Reporter | ||
Comment 1•21 years ago
|
||
Reporter | ||
Comment 2•21 years ago
|
||
The uncompressed version is long: 2 MB; 31,000 lines. The bzip2'd version is 172 KB.
Assignee | ||
Comment 3•21 years ago
|
||
When changing configure options, you need to run a 'make distclean' between builds. The MOZ_ENABLE_FREETYPE2 define is set by the local Makefile based upon the MOZ_ENABLE_FREETYPE2 environment definition. I don't see nsFT2FontNode.cpp being recompiled in your log so it appears to have been compiled already with a previous configuration. There's no logic in the local Makefile to make sure that the files which depend upon the local -DMOZ_ENABLE_FREETYPE2 define are rebuilt when the env variable changes. Either -DMOZ_ENABLE_FREETYPE2 needs to be moved up to the global header or a local header needs to be generated with that define.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: CVS Build of mozilla: MOZ_ENABLE_FREETYPE2 unexpectedly not defined → gfx freetype sets local defines which are not tracked by the dependency system
Assignee | ||
Comment 4•21 years ago
|
||
Haven't tested the code changes but this is the basic idea for the build system changes.
Assignee | ||
Comment 5•21 years ago
|
||
This is just the generic code to remove non-global defines from mozilla-config.h.
Attachment #121012 -
Attachment is obsolete: true
Assignee | ||
Updated•21 years ago
|
Attachment #121017 -
Flags: review?(darin)
Comment 6•21 years ago
|
||
Comment on attachment 121017 [details] [diff] [review] non-global defines v1.0 (checked in) r=darin
Attachment #121017 -
Flags: review?(darin) → review+
Reporter | ||
Comment 7•21 years ago
|
||
Thanks to Christopher Seawood for Comment #3. I could not bear the thought of doing a "make distclean" and then presumably waiting for hours for another build, so I cheated. First, I used LXR to search for all the places in the source code that mention USE_FREETYPE, FT2_<anything>, and MOZ_ENABLE_FREETYPE2. This gave me the attached file: (see my next attachment for more)
Reporter | ||
Comment 8•21 years ago
|
||
I then wrote a bit of awk to pull out the file names alone and generate a shell script with a bunch of lines of the form: touch <filename-affected-by-config-change> Here it is.
Reporter | ||
Comment 9•21 years ago
|
||
I drive the awk script with this little bit of Bourne shell. I did manual review on the output until I was happy with it (special-cased some files that didn't need touching), and then piped the output through "sh". At any rate, this probably saved me a lot of waiting, even given the time to do some manual review, and I thought I'd share the trick. Obviously this is not a useful general solution to the problem -- but it can be a timesaver.
Assignee | ||
Updated•21 years ago
|
Attachment #121017 -
Attachment description: non-global defines v1.0 → non-global defines v1.0 (checked in)
Assignee | ||
Comment 10•21 years ago
|
||
This patch generates a gfx/gfx-config.h file at configure time which contains the gfx specific defines. Atm, that's just MOZ_ENABLE_FREETYPE2.
Assignee | ||
Updated•21 years ago
|
Attachment #121260 -
Flags: superreview?(roc+moz)
Attachment #121260 -
Flags: review?(blizzard)
Attachment #121260 -
Flags: superreview?(roc+moz) → superreview+
Updated•21 years ago
|
Attachment #121260 -
Flags: review?(blizzard) → review+
Assignee | ||
Comment 11•21 years ago
|
||
Amid much carnage, the patch was checked in.
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.4beta
Updated•20 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•