manpagez: man pages & more
info libtool
Home | html | info | man

File: libtool.info,  Node: Compilers,  Next: Reloadable objects,  Up: Platform quirks

15.3.1 Compilers
----------------

The only compiler characteristics that affect libtool are the flags
needed (if any) to generate PIC objects.  In general, if a C compiler
supports certain PIC flags, then any derivative compilers support the
same flags.  Until there are some noteworthy exceptions to this rule,
this section will document only C compilers.

   The following C compilers have standard command line options,
regardless of the platform:

‘gcc’

     This is the GNU C compiler, which is also the system compiler for
     many free operating systems (FreeBSD, GNU/Hurd, GNU/Linux, Lites,
     NetBSD, and OpenBSD, to name a few).

     The ‘-fpic’ or ‘-fPIC’ flags can be used to generate
     position-independent code.  ‘-fPIC’ is guaranteed to generate
     working code, but the code is slower on m68k, m88k, and SPARC
     chips.  However, using ‘-fpic’ on those chips imposes arbitrary
     size limits on the shared libraries.

   The rest of this subsection lists compilers by the operating system
that they are bundled with:

‘aix3*’
‘aix4*’
     Most AIX compilers have no PIC flags, since AIX (with the exception
     of AIX for IA-64) runs on PowerPC and RS/6000 chips.  (1)

‘hpux10*’
     Use ‘+Z’ to generate PIC.

‘osf3*’
     Digital/UNIX 3.x does not have PIC flags, at least not on the
     PowerPC platform.

‘solaris2*’
     Use ‘-KPIC’ to generate PIC.

‘sunos4*’
     Use ‘-PIC’ to generate PIC.

   ---------- Footnotes ----------

   (1) All code compiled for the PowerPC and RS/6000 chips
(‘powerpc-*-*’, ‘powerpcle-*-*’, and ‘rs6000-*-*’) is
position-independent, regardless of the operating system or compiler
suite.  So, "regular objects" can be used to build shared libraries on
these systems and no special PIC compiler flags are required.

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.