[Unison-hackers] XCode expert needed

Alan Schmitt alan.schmitt at polytechnique.org
Sat Mar 22 04:29:42 EDT 2008


On 21 mars 08, at 21:02, Steve Kalkwarf wrote:
>> My questions are:
>> - how can I set OCAMLLIBDIR in the XCode interface to make it able  
>> to build?
>> - where is the black magic that adds this path to the building?
>> - does someone know how to extend the XCode project to include
>> a phase that figures out what this path is (as in the Makefile)?
>
> I don't have the time to check out all the assorted project
> trees, but if you can point me at a disk image the source tree
> you work from, I can probably sort out the Xcode dependencies
> for you.

Great, thanks a lot.

I put the sources for the 2.27 branch here:
http://alan.petitepomme.net/2.27.tar.gz

You don't need to have OCaml to help me, as the issue is purely in the  
XCode part, which is in the src/uimacnew directory.

The problem is: we use xcodebuild to build Unison from the command  
line, typically like this (in the src/uimacnew directory):
xcodebuild OCAMLLIBDIR="/Users/schmitta/godi/lib/ocaml/std-lib"
the argument given is when the include files for caml are, which are  
needed to compile MyController.c.

With such invocation, the gcc calls look like:
     /Developer/usr/bin/gcc-4.0 -x objective-c -arch i386 -pipe -Wno- 
trigraphs -fpascal-strings -fasm-blocks -Os -mdynamic-no-pic -fmessage- 
length=0 -fvisibility=hidden -gdwarf-2 -I/Users/schmitta/src/unison/ 
branches/2.27/src/uimacnew/build/uimac.build/Default/uimac.build/ 
Unison.hmap -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -F/ 
Users/schmitta/src/unison/branches/2.27/src/uimacnew/build/Default -F/ 
Users/schmitta/src/unison/branches/2.27/src/uimacnew -I/Users/schmitta/ 
src/unison/branches/2.27/src/uimacnew/build/Default/include -I/Users/ 
schmitta/godi/lib/ocaml/std-lib -I/Users/schmitta/src/unison/branches/ 
2.27/src/uimacnew/build/uimac.build/Default/uimac.build/DerivedSources  
-c /Users/schmitta/src/unison/branches/2.27/src/uimacnew/ 
MyController.m -o /Users/schmitta/src/unison/branches/2.27/src/ 
uimacnew/build/uimac.build/Default/uimac.build/Objects-normal/i386/ 
MyController.o

(deep in the middle there is the "-I/Users/schmitta/godi/lib/ocaml/std- 
lib")

Now when using the "Build" button of XCode, compilation fails because  
these include files are not found, which makes sense as I do not say  
where they are. In order to debug, I want to build from XCode GUI, so  
I would like to either:
- specify OCAMLLIBDIR such that it is correctly set when building with  
XCode's GUI, or
- add an include path to the project

If you can explain me why positioning this variable result in adding  
the include path, it would even be better!

Thanks again,

Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.seas.upenn.edu/pipermail/unison-hackers/attachments/20080322/5b457402/attachment.htm
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : http://lists.seas.upenn.edu/pipermail/unison-hackers/attachments/20080322/5b457402/PGP.sig


More information about the Unison-hackers mailing list