gnu-crypto-discuss
[Top][All Lists]
Advanced

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

[GNU Crypto] Re: GCJ build


From: Olivier LF
Subject: [GNU Crypto] Re: GCJ build
Date: Thu, 24 Oct 2002 22:31:16 +1000
User-agent: Mutt/1.4i

On Wed, Oct 23, 2002 at 11:05:33PM +1000, Raif S. Naffah wrote:
> 
> that's a very good point! should we do the same for the top level 
> directory too?
> 

I'd say yes.

> doesn't the user need to have LIBTOOL anyway to use the gcj/ tools? 
> doesn't including the Makefile.in as you point out in the previous part 
> of the message enough to address the needs for people who want to just 
> compile sources?
> 

You need libtool for gcj but if you want to offer all types of builds
from the one "configure" script then you'll run into this problem. 

Bytecode compilation does not need libtool or shared library plumbing,
so if I say:

    configure --with-compiler=jikes --with-rt-jar=path/to/rt.jar

with a fully operational Jikes compiler, I expect it to work. In
practice it may fail on libtool or linker problems.
This is because "configure" must perform the AM_LIBTOOL stuff (and may
fail if thing are not to its liking). Also, it is of no use to 
the Jikes compilation it must be performed!

The LIBTOOL step cannot be skiped otherwise the resulting Makefile 
has syntax errors in it.

I can't remember the exact problem but from the top of my head you get
something like that:


Makefile.am includes the offending:

lib_LTLIBRARIES = lib-gnu-crypto.la
...
...



immediately, the generated Makefile.in includes targets like this one:


$(LIBTOOL_THIS): $(LIBTOOL_THAT)
        $(AND_LIBTOOL_THAT) blah blah




"configure" resolves the variables in the AM_LIBTOOL step and produces 
a Makefile similar to this:


this_libtool: that_libtool
        and_more_libtool blah blah




Now if the jikes compilation skips the AM_LIBTOOL macro, the variables 
are not resolved and the resulting Makefile includes this lovelly target:


:
        blah blah


Of course running "make" on such a broken Makefile does not help in 
compiling anything!

I assume, the ultimate solution would be for configure to skip AM_LIBTOOL 
but initialise the missing Makefile.in variables with
reasonable defaults. The values are mostly irrelevent as these targets are
not executed anyway. The only requirement is a Makefile free of syntax 
errors.

At the time I gave up! Considering that Ant is so simple (and fast) to use, I
decided it didn't worse the effort and time, and went on using Ant
scripts for bytecode compilation and specific GCJ Makefile.am for GCJ
native compilation.


Olivier

--
----------------------------------------------------------------------
Olivier Louchart-Fletcher




reply via email to

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