[Top][All Lists]
[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
Message not available