Closed
Bug 202425
Opened 22 years ago
Closed 22 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•22 years ago
|
||
| Reporter | ||
Comment 2•22 years ago
|
||
The uncompressed version is long: 2 MB; 31,000 lines.
The bzip2'd version is 172 KB.
| Assignee | ||
Comment 3•22 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•22 years ago
|
||
Haven't tested the code changes but this is the basic idea for the build system
changes.
| Assignee | ||
Comment 5•22 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•22 years ago
|
Attachment #121017 -
Flags: review?(darin)
Comment 6•22 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•22 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•22 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•22 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•22 years ago
|
Attachment #121017 -
Attachment description: non-global defines v1.0 → non-global defines v1.0 (checked in)
| Assignee | ||
Comment 10•22 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•22 years ago
|
Attachment #121260 -
Flags: superreview?(roc+moz)
Attachment #121260 -
Flags: review?(blizzard)
Attachment #121260 -
Flags: superreview?(roc+moz) → superreview+
Updated•22 years ago
|
Attachment #121260 -
Flags: review?(blizzard) → review+
| Assignee | ||
Comment 11•22 years ago
|
||
Amid much carnage, the patch was checked in.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.4beta
Updated•21 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•