Robert,

> Ok, here it is.  This patch changes AC_LIBTOOL_PROG_COMPILER_PIC
> so that it only appends -DPIC to the default "C" tag and the CXX
> tag for C++.  I would also like to deprecate -DPIC in the 1.5 release
> to make it clear we intend to do away with it.  I would also like
> to ask anyone who does depend on this to let us know when/where/why &
> how
> so we can add a section to the documentation on how to modify
> code to not need -DPIC.

Inline assembler is compiler dependent anyway. So for inline assembler
the correct syntax is

#if defined(__GNUC__) && !defined(__PIC__) && defined(__i386)
        asm( /* Non-PIC asm implementation */ )
#else
        /* C implementation */
#endif

or, respectively

#if defined(__GNUC__) && defined(__i386)
        asm( /* PIC asm implementation */ )
#else
        /* C implementation */
#endif

Perhaps there should also be a small comment why #ifndef __PIC__ is not
enough.

If you have compiler independent code that you want to conditionally
compile depending on the PIC setting, you have a real problem now, since
there is no longer a standardized preprocessor symbol, and you cannot
work around that. It may be worth investigating whether glibc has such
portions (they don't use libtool, but set -DPIC for themselves when
compiling the shared library; there are lots of #ifdef PIC in the code)
and whether this warrants a check in configure whether we need to set
-D__PIC__ in order to get that feature back.

   Simon

-- 
GPG Fingerprint: 040E B5F7 84F1 4FBC CEAD  ADC6 18A0 CC8D 5706 A4B4

Attachment: msg03469/pgp00000.pgp
Description: PGP signature

_______________________________________________
Libtool mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/libtool

Reply via email to