help-gift
[Top][All Lists]
Advanced

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

Re: [help-GIFT] GIFT on Mac OS X compile OK!


From: Wolfgang Müller
Subject: Re: [help-GIFT] GIFT on Mac OS X compile OK!
Date: Wed, 3 Mar 2004 21:14:01 +0100
User-agent: KMail/1.5

On Wednesday 03 March 2004 02:39, Seventeen wrote:
> Dear All,
>
> With my friends' help. The GIFT under Mac OS X finally compiled ok last
> night.
> The main problem of the process is that fink install all its stuff in
> /sw directory.
> So we need to add /sw/include for include files and /sw/lib to library.
> It will be better to do it in ./configure step.

AFAIK there is an option to configure where you can add include directories on 
the command line without changing any code whatsoever.

> For pass the compile of GIFTServer directory, just modify the following
> line of Makefile:
>
> LIBS = -lpthread -lm  -L/sw/lib -lexpat
>
> BTW, although the gift can be compiled, but still run with some error
> messge.

OK. I am on holidays the next couple of days, but there are two things I would 
like to say regarding your (very welcome) efforts.

1. I hope Makefile is Makefile.am.
The very long and complicated Makefiles of the GIFT are generated from a 
shorter Makefile, the Makefile.am by the configure script and the Makefile.in 
which is generated by automake (the ensemble of automake, autoconf [used to 
generate the Makefile.in] and libtool are the GNU autotools). So the only 
makefiles files it makes sense to modify are configure.in and the 
Makefile.am. Everything else gets lost at the next 

automake && autoconf && ./configure

So don't modify Makefiles unless you have really too much time.

2. Don't throw out code from files, but use #ifndef, #ifndef and a suitable 
symbol like 
#ifdef MAC
...//code for mac only
#endif
or 
#ifndef MAC
//code that does not work for macs
#endif

If you do that, I can do the tricky makefile/configure part one day.

The way you do it currently, what I have to do to apply your changes is:
a. Read and understand the changes 
b. apply the changes, i.e. think up the proper symbol, add it to the code, 
test compile on my machine,
c. have you test it

That's nice, but still I have to do quite some work, and currently I am a 
bottleneck in this process.

What I think I could handle better is the following workflow:
a. you do your changes, using only #ifdef (required), if possible adding 
Makefile.am and configure.in changes (would be nice, but not required).
b. test that it works (eventually only partially)
c. you run cvs diff
d. send me the result as a patch
e. I apply the patch. If I can compile the GNU/Linux version (eventually doing 
some small changes, but not big ones) I am happy and the patch will be 
commited, if not, the patch will not be committed. It's as simple as that.

This way, I can apply your suggestions in 5 minutes, between two compiles or 
two lectures. The current way I just have to squeeze in an hour here and and 
hour there, and currently streamlining the installation process under 
GNU/Linux is prioritary. David? Perl? In a couple of days, you get a mail 
from me.

3. The Mac will have about the same library problem as cygwin. I will look 
into making plugins an option, and normally linking the query engines 
statically. This should be a decent fix until someone comes up who wants to 
sort out the dynamic linking problems using libltdl. I will keep you posted.

Thanks a lot for the work you put into the GIFT.
Cheers, 
Wolfgang




reply via email to

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