[X-Unix] Re: Compile ?

William H. Magill magill at mcgillsociety.org
Fri Feb 25 18:24:33 PST 2005


> Am 25.02.2005 um 01:14 schrieb 
> x-unix-request at listserver.themacintoshguy.com:
>
>> Is there a tutorial or doc, that gives step by step,
>> on how to compile source code, into a app for the macintosh?
>> also allow to select certain feature of the code to turn on or off.

This is a topic for several basic computer programming courses. There 
have been many text books written about it as well as any number of 
O'Reilly books.

Already existing Open Source Unix apps are "straight forward" in that 
over the years there have been several tools developed to make the 
process work -- notably Configure and Make.
As was mentioned -- use Darwin Ports
       http://darwinports.opendarwin.org/
or Fink
       http://fink.sourceforge.net/

Virtually any Open Source app that you want has already been ported to 
OSX by either or both of theses projects.

Also, as was mentioned earlier each application has unique components 
(modules) which are compiled individually and then either inserted into 
libraries or otherwise linked together to form a complete program.

The "Configure" program is run to establish the "environment" necessary 
for your particular platform and deal with certain options that are 
common. It will ask you a collection of questions and provide 
"standard" answers for them which you can take or modify at your whim.

The "make" program runs a set of scripts that contain the rules for 
compiling "the stuff" -- which module has to be compiled first, what 
library it needs to be put into, etc. Make also will "frequently" 
control which portions of the code are compiled or not based on 
settings made in the "make files," frequently by Configure.

If none of this makes much sense, any basic O'Reilly text on writing 
programs in C for Unix will explain everything, in great detail.

Now, however, if you want to make a GUI app for OSX, you have a whole 
different kettle of fish to fry. Basically you need to become familiar 
with Apple's "Developer CD" and its environment. "Many" "new" GUI apps 
for OSX are being developed using Apple's X-Code development 
environment. Most older GUI apps were developed using Code Warrior. 
There are other "application development environments" available from 
third parties which manage all kinds of things for you "automagically."

... not the least of these things which require management for all apps 
is the source code itself. "CVS" (Concurrent Versions System) is the 
current "Source Code Management" system of choice for most Open Source 
projects. Older code may still use SCS itself or RCS (Revision Control 
System). (OSX supports rcs as does most of the BSD world, while SCS 
comes from the System V world.)

Again, if all of this alphabet soup is confusing -- go to O'Reilly 
(www.oreilly.com) and start with any of the "Nutshell" books on Unix 
programming.
[Note that O'Reilly also has a "Mac Dev Center which has lots of 
tutorials on many things.]

... and did I mention -- all of this can be modified depending upon 
which language you are using.

Again, your question is basically what keeps Computer Science Freshman 
occupied all year, and frequently Sophomores as well.


T.T.F.N.
William H. Magill
# Beige G3 [Rev A motherboard - 300 MHz 768 Meg] OS X 10.2.8
# Flat-panel iMac (2.1) [800MHz - Super Drive - 768 Meg] OS X 10.3.7
# PWS433a [Alpha 21164 Rev 7.2 (EV56)- 64 Meg] Tru64 5.1a
# XP1000  [Alpha 21264-3 (EV6) - 256 meg] FreeBSD 5.3
# XP1000  [Alpha 21264-A (EV 6.7) - 384 meg] FreeBSD 5.3
magill at mcgillsociety.org
magill at acm.org
magill at mac.com
whmagill at gmail.com



More information about the X-Unix mailing list