Non-Apple compiler integration in Xcode 2.1
Non-Apple compiler integration in Xcode 2.1
- Subject: Non-Apple compiler integration in Xcode 2.1
- From: Michael Casteel <email@hidden>
- Date: Tue, 14 Jun 2005 21:51:23 -0700
I am trying to get a Pascal compiler (Free Pascal 2.0) working under
Xcode 2.1. Many thanks to Dr. Rolf Jansen for releasing integration
logic for Xcode 1.5, but significant changes are needed to his work due
to differences between Xcode 1.5 and 2, it seems. Even then, a few
things remain to be worked around. Custom build step details are
included below.
The basic approach is to create a custom build step for Pascal sources,
one which runs the Free Pascal compiler and yields a .o output. The
Pascal interfaces from UI3.4 have been placed within reach of the
compiler, so Pascal files (units as well as programs) generally compile.
- Xcode won't pick up Free Pascal's .o files and link. Free Pascal
automatically links when compiling the main program, but then the
executable needs to be copied into the bundle (I use a script phase at
the end of the target). Unsure as yet how I'll get some of my C 'bridge'
code to integrate into this...
- When a C source file is in the target, Xcode zooms off to compile and
link it *before* doing any of the Pascal (custom script) build steps.
It's getting mad at the missing _main that somebody else mentioned here.
I hope that I can put the C code into a 'library' target, then figure
out how to get it to link with my Pascal code.
I'm working on a Carbon project, and once I get more figured out, I hope
to be able to make updated templates that will work with Xcode 2.1 and
Free Pascal.
I haven't found anything useful on the xcode-users archive, at least not
with the search terms I have tried.
Here's my compile script for Pascal source (in the target Rules):
echo Compiling $INPUT_FILE_NAME
if [ $BUILD_STYLE = Debug ]; then
echo "Build Style = Debug"
/usr/local/bin/ppcppc $INPUT_FILE_NAME -Ci -Co -g -gl -O1 -vr
-Mmacpas -Tdarwin -k"-framework Carbon"
-Fi/Developer/Pascal/UPInterfaces -Fu/Developer/Pascal/UPInterfaces
-FE$OBJECT_FILE_DIR -o$INPUT_FILE_BASE.o
else
echo "Build Style = Release"
/usr/local/bin/ppcppc $INPUT_FILE_NAME -O3 -vr -Xs -Mmacpas -Tdarwin
-k"-framework Carbon -prebind" -Fi/Developer/Pascal/UPInterfaces
-Fu/Developer/Pascal/UPInterfaces -FE$OBJECT_FILE_DIR
-o$INPUT_FILE_BASE.o
fi
With this specified as 'output files':
$(OBJECT_FILE_DIR)/$(INPUT_FILE_BASE).o
NOTE: careful where you use $(...), it's picky.
--
Mike Casteel
email@hidden Seattle, WA
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden