[jamming] Jambase for Macintosh MPW
mpsuzuki at hiroshima-u.ac.jp
mpsuzuki at hiroshima-u.ac.jp
Wed Sep 28 09:15:18 PDT 2005
Dear Sirs,
On Wed, 28 Sep 2005 16:50:25 +0900
mpsuzuki at hiroshima-u.ac.jp wrote:
>Next issue is updating Jambase for vanilla MPW.
>Please wait for my next post.
Now I'm writing a patch for Jambase, to use Jam in vanilla MPW.
MPW has a tool "CreateMake" to generate MPW Makefile, I collect
its outputs for applications & libraries, and trying to reflect
them into Jamfile.
http://developer.apple.com/tools/mpw-tools/commandref/createmake.html
It seems that MPW has too many switchs to specify target.
(line starts with '*' means available target for specified
conditions)
CPU = m68k
binary format = classic
subformat = model near (16bit pointer)
* target = Application (GUI application)
* target = SIOW Application (CLI application)
* target = MPW Tool (CLI application in MPW Shell)
* target = Static Library (Archive library)
* target = Code Resource (resource fork)
subformat = model far (32bit pointer)
* target = Application (GUI application)
* target = SIOW Application (CLI application)
* target = MPW Tool (CLI application in MPW Shell)
* target = Static Library (Archive library)
* target = Code Resource (resource fork)
binary format = CFM-68K
* target = Application (GUI application)
* target = SIOW Application (CLI application)
* target = Static Library (Archive library)
* target = Shared Library (Shared library)
* target = Code Resource (resource fork)
CPU = PowerPC
binary format = CFM
framework = vanilla
* target = Application (GUI application)
* target = SIOW Application (CLI application)
* target = MPW Tool (CLI application in MPW Shell)
* target = Static Library (Archive library)
* target = Shared Library (Shared library)
* target = Code Resource (resource fork)
framework = Carbon
* target = Application (GUI application)
* target = Static Library (Archive library)
* target = Shared Library (Shared library)
* target = Code Resource (resource fork)
1. OSPLAT utilization
---------------------
My first question is the level that "OSPLAT" can specify.
Of course, CPU is suitable for OSPLAT to include.
I think binary format is either suitable for OSPLAT to include.
But I don't think subformat, framework, target are not suitable
for OSPLAT to include. How do you think about?
2. Switchs for MPW target
-------------------------
My second question is "how to pass the information which OS, OSMINOR,
OSPLAT don't have?" (subformat, framework, target).
For example, in the case of
CPU = m68k && binary format = classic && subformat = model far,
when "Hello World" is compiled as MPW Tool (an application which is
executed from MPW Shell command line), the compiled binary should be
typed as "MPST" (by adding '-t "MPST"' to LDFLAGs).
If same source is compiled as SIOW Application (an application which
opens CLI window by itself), the compiled binary should be typed as
"APPL" (by adding '-t "APPL"' to LDFLAGS). Of course, additional
libraries to open CLI window should be added to LDFLAGS.
But, the source of "Hello World" is completely same in both case,
so I think explicit specification of SIOW Appl./MPW Tool in Jamfile
is not expected. And, I think, software maintainer don't want to
write each building rules into Jamfile either (because Jamfile
becomes complexed). Possibly it is expected that Jam has builtin
rules for all subformat, frameworks and targets, and users can
pass minimum switches to choose builtin rule.
So, how to pass such information (for minimum switch) to Jam?
Regards,
mpsuzuki
More information about the jamming
mailing list