freetype
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CodeWarrior project file is not ready to build (Re: [ft] Mac Build - Des


From: mpsuzuki
Subject: CodeWarrior project file is not ready to build (Re: [ft] Mac Build - Desperate)
Date: Tue, 14 Oct 2008 00:10:44 +0900

Dear CodeWarrior users,

In this weekend, I was trying to improve a project file
for CodeWarrior IDE builds/mac/ftlib.prj.xml to support
3 architechtures: CFM MSL, Mach-O MSL, Mach-O BSD. And,
I found that CW project file (both of traditional binary
and XML formats) could not store the pathnames of source
files. When I copy the project file to vanilla source
tree of FreeType2, CW starts to scan the source tree and
determine which source files should be compiled.

This is the root of the problem reported by RJJ (2 years ago, sorry):

        Why CW tries to compile builds/amiga/src/base/ftsystem.c
        instead of src/base/ftsystem.c?

When a CW project file tells CW to load a source file
named "ftsystem.c", it cannot specify the directory
including the file. The CW crawls all directories (maybe
in the alphabetical order) and loads the first file named
"ftsystem". Therefore, builds/amiga/src/base/ftsystem.c
is prioritized than src/base/ftsystem.c.

I could not find any switches to prevent or restrict this
scanning behaviour. It means - when the developers trying
to build FreeType2 by CW, they must remove unused files
from the source directories before importing the project
file. Maybe the expected building process for project file
would be "open a project file and start the building", but
it is almost impossible for FreeType2.

Maybe the stable (and easy-to-maintain) solution would be
using Metrowerks C compilers and linkers out of CW IDE:
legacy CW provides MPW plugins to invoke some developer
tools via MPW Shell, later CW provides the compilers and
linker for Unix shell. However, the command line option
of CW C compiler is incompatible with most compilers on
Unix (e.g. -Dxxx, -Ixxx and -Lxxx are unavailable.
-d xxx, -i xxx, and -l xxx should be used), so CW-specific
Makefile or Jamfile is required.

I suppose the requirement to support CW for MacOS is
now decreasing, so later efforts would be less meaningful.
But I want to prioritze the working for Carbon-free FOND
parser. If anybody who has CodeWarrior 7 (the first version
supporting Mach-O binary) and interested in the maintenance
of CW project file, please let me know. I will write some
ad-hoc Makefile to simplify the source tree to work with
the annoying behaviour of CW.

Maybe this is too off-topic issue in this list. If anybody
has a comment, please post to freetype-devel list. I have
another proposal to work with legacy CW, I will post it to
freetype-devel.

Regards,
mpsuzuki


On Wed, 13 Dec 2006 14:50:00 +0900
address@hidden wrote:

>Hi,
>
>Thank you for rewriting your trouble report (to fit my poor
>English).
>
>On Tue, 12 Dec 2006 13:30:54 EST
>address@hidden wrote:
>
>>If cw7.0 there is no place to put any pre-processor definitions
>>so I put these in a file I called ftwcoptions.h. I then had to 
>>include this as a prefix file.
>
>Oh, I slipped to consider the possibility that older
>CW has no interface. I guess the user can freely choose
>the name of "ftcwoptions.h" or anything else (e.g.
>ftcwoptions.h, ft2cw7options.h, etc etc). Am I right?
> 
>>I added src/base/ftsystem.c put CW kept picking up
>>builds/amiga/src/base/ftsystem.c. I don't know how or why.
>
>I see.
>If you rename "builds/amiga" folder to "builds/zamiga",
>does CW pick up "builds/unix/ftsystem.c"?




reply via email to

[Prev in Thread] Current Thread [Next in Thread]