[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [ft-devel] Configuring for alternative build environments
From: |
Del Merritt |
Subject: |
Re: [ft-devel] Configuring for alternative build environments |
Date: |
Fri, 30 Nov 2012 08:40:46 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
On 11/30/2012 07:46 AM, Werner LEMBERG wrote:
The problem is that I have a customized version of ftoption.h.
According to CUSTOMIZE, "Just put your custom `ftoption.h' file into
the objects directory". When I do this sequence:
$ cd ~/work
$ cp jni-ftoption.h ~/work/ft2-jni/ftoption.h
$ cd ~/work/ft2-jni
$ ~/ft2/freetype2/configure CFLAGS=-fPIC
$ make
My customized version of ftoption.h disappears! Oops.
This is a bug. I've just fixed it in the git repository. Thanks for
the report, and please retry!
Thanks. I happen to have worked around this for now, but I will try to
hook up to the repository at some point.
Related: CUSTOMIZE seems silent on the handling of modules.cfg in
this scenario of building outside of the FT source tree.
Can you suggest a patch to CUSTOMIZE?
Here's the suggestion, with a bonus tweak to INSTALL.CROSS.
-Del
------ patches with diff -Naur -----
--- freetype-2.4.10/docs/CUSTOMIZE 2009-03-14 09:45:26.000000000 -0400
+++ freetype-2.4.10-dm/docs/CUSTOMIZE 2012-11-30 08:32:27.234734059 -0500
@@ -31,6 +31,10 @@
make uses `modules.cfg' to generate `ftmodule.h' (in the object
directory).
+ If you build FreeType in a directory separate from the source files,
+ put your customized modules.cfg in that directory; that way you can
+ keep the source files "clean".
+
If you don't use GNU make you have to manually edit the file
`include/freetype/config/ftmodule.h' (which is *not* used with if
compiled with GNU make) to add or remove the drivers and components
@@ -77,10 +81,12 @@
[This is actually a combination of method 2 and 3.]
- Just put your custom `ftoption.h' file into the objects directory
- (normally `<topdir>/objs'), which GNU make prefers over the
- standard location. No action is needed for `ftmodule.h' because
- it is generated automatically in the objects directory.
+ Just put your custom `ftoption.h' file into the objects directory
+ (normally `<topdir>/objs' if you build in the source tree, or the
+ directory where you invoke configure if you build in a separate
+ directory), which GNU make prefers over the standard location. No
+ action is needed for `ftmodule.h' because it is generated
+ automatically in the objects directory.
2. Using the C include path
--- freetype-2.4.10/docs/INSTALL.CROSS 2009-03-14 09:45:26.000000000
-0400
+++ freetype-2.4.10-dm/docs/INSTALL.CROSS 2012-11-30
08:34:17.606736132 -0500
@@ -44,11 +44,11 @@
the option pair `--host=' and `--target='. This is broken and
doesn't work. Similarly, an explicit CC specification like
- env CC=mips-ip22-linux-gcc ./configure
+ env CC=mips-ip22-linux-gcc ./configure # BAD
or
- env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure
+ env CC=/usr/local/mips-ip22-linux/bin/gcc ./configure # BAD
doesn't work either; such a configuration confuses the
`configure' script while trying to find the cross and native C