autoconf
[Top][All Lists]
Advanced

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

Re: call AC_DISABLE_SHARED "conditionally" for a certain host


From: Florian Schricker
Subject: Re: call AC_DISABLE_SHARED "conditionally" for a certain host
Date: Wed, 15 Feb 2006 15:29:10 +0100

Hi!

Florian Schricker <address@hidden> schrieb am 14.02.06 17:02:12:
> 
> Hi!
> 
> (again - you helped me out on some automake issue already! :-))
> 
> On Tue, 2006-02-14 at 11:49 +0100, Ralf Wildenhues wrote:
> > > Currently I am on the way on moving some software projects from custom
> > > makefiles to autoconf. These projects mostly depend on Xerces-C; since
> > > we want to support Linux, Darwin & MinGW32 I ran into trouble with DLLs
> > > on MinGW32 depending on Xerces-C DLLs so, for the first releases I
> > > figured I might just want to disable shared libs on MinGW32  before
> > > digging deeper on where the problems are.
> > 
> > Please let us know where the MINGW32 problems are.  If you did not use
> > `-no-undefined' while linking, please do so.  Maybe that solves your
> > issues.
> 
> I got quite far already - am working on this for some time now - and
> "-no-undefined" got me the farthest but I still had unresolved symbols
> among other errors which all seem to come from the fact that dynamic
> linking on Win32 is ... dumb. :-/
> I have yet to try "--enable-runtime-pseudo-reloc" together with
> "-no-undefined" as I had gotten some linker message which suggested to
> use it; however I am still puzzled why using DLLs is such a pita
> compared to GNU/Linux & Darwin. :-(
> If anyone's interested I'll report more on this - but I'm not sure if
> any of you is interested in problems with Xerces-C DLLs?! :-)
> 
> 
> > Well, hope this gets you set for the release:  use
> > 
> > | AC_CANONICAL_HOST
> > | case "$host" in
> > |   *-*-linux* | *-*-darwin*)
> > |     AC_ENABLE_SHARED
> > |     ;;
> > |   *-*-mingw32*)
> > |     AC_DISABLE_SHARED
> > |     ;;
> > | esac
> 
> Thanks for that - will test it!

Well... I get:

checking whether to build shared libraries... no
checking whether to build static libraries... yes

on MinGW32, which is good - but still shared objects are build:

if /bin/sh ../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I..   
-I/C/local/include/re-group  -g -O2 -MT messagelog.lo -MD -MP -MF 
".deps/messagelog.Tpo" \
  -c -o messagelog.lo `test -f 'messagelog.cpp' || echo './'`messagelog.cpp; \
then mv ".deps/messagelog.Tpo" ".deps/messagelog.Plo"; \
else rm -f ".deps/messagelog.Tpo"; exit 1; \
fi
 g++ -DHAVE_CONFIG_H -I. -I. -I.. -I/C/local/include/re-group -g -O2 -MT 
messagelog.lo -MD -MP -MF .deps/messagelog.Tpo -c messagelog.cpp -o messagelog.o

and in the end "it" still tries to build a shared lib, which fails since I do 
not provide "-no-undefined" with:

libtool: link: warning: undefined symbols not allowed in i686-pc-mingw32 shared 
libraries

(I know about  this error.)


Something I am missing, again? :-/


regards,
Florian Schricker





reply via email to

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