[gccsdk] Shared library/Elf output from the autobuilder
alan_baa at hotmail.com
Fri Feb 29 08:15:28 PST 2008
> On Thu, 28 Feb 2008 12:49:11 -0800 Peter Naulls wrote:
> alan buckley wrote:
>> I would like to start experimenting with ELF applications and
>> shared libraries from the autobuilder.
>> What do I need to change?
>> I suspect it's the call to elf2aif in build-program and the
>> disable-shared code in ro-config, but is there anything else?
>> Should we add some setvars variables to allow the options
>> to be controlled.
>> e.g. something like:
>> AB_AIF_OUTPUT to run elf2aif on the result (default to "yes" for now)
>> AB_SHARED_LIB to create the shared library (default to "yes")
> Too many new vars, and wrong defaults ;-)
I thought there are several options for an application
ELF using shared libraries
ELF using static libraries
I also thought that ELF libraries are built as static and shared so that
the linking program could decide what to use.
Where am I mistaken?
> The variable RO_NOSTATIC was created earlier, although I'm not sure if
> it's actually used by any setvars now (ideally not), but this ensures
> the correct switches for static/dynamic flags in ro-config.
I'm not sure that this is used everywhere, the code I looked at was
grepping the config file to see how it turned off shared and that
didn't appear to be using the variable.
> Let's rename that to AB_NOSTATIC, which you would set in your
> build-setvars file (the optional file in your build location for
> autobuild stuff), and then also not run elf2aif when it it 'yes'
I think I agree with John's later post about double negatives.
How about AB_SHARED that means create and ELF program
or a shared as well as static version of the library?
Though I don't know how this covers the case where you
want an ELF program to use static libraries?
Or am I missing a point and the intention is that shared libraries
are always used unless the library is only built as static.
> In any case, I would perhaps prefer we mostly resolve static
> build issues under Cygwin before we move forward on this; otherwise
> there are too many unknowns.
This is why I proposed the "wrong" defaults. So that I could just
make one minor change for my testing while it continued to build
static libraries and aif files for everyone else. The variable would
then be in place for when the switch over to ELF as default
Telly addicts unite!
More information about the gcc