www.delorie.com/gnu/docs/libtool/libtool_7.html   search  
 
Buy GNU books!


Libtool

[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3. Using libtool

It makes little sense to talk about using libtool in your own packages until you have seen how it makes your life simpler. The examples in this chapter introduce the main features of libtool by comparing the standard library building procedure to libtool's operation on two different platforms:

`a23'
An Ultrix 4.2 platform with only static libraries.

`burger'
A NetBSD/i386 1.2 platform with shared libraries.

You can follow these examples on your own platform, using the preconfigured libtool script that was installed with libtool (see section 5.3 Configuring libtool).

Source files for the following examples are taken from the `demo' subdirectory of the libtool distribution. Assume that we are building a library, `libhello', out of the files `foo.c' and `hello.c'.

Note that the `foo.c' source file uses the cos math library function, which is usually found in the standalone math library, and not the C library (see section `Trigonometric Functions' in The GNU C Library Reference Manual). So, we need to add -lm to the end of the link line whenever we link `foo.o' or `foo.lo' into an executable or a library (see section 8. Inter-library dependencies).

The same rule applies whenever you use functions that don't appear in the standard C library... you need to add the appropriate -lname flag to the end of the link line when you link against those objects.

After we have built that library, we want to create a program by linking `main.o' against `libhello'.

3.1 Creating object files  Compiling object files for libraries.
3.2 Linking libraries  Creating libraries from object files.
3.3 Linking executables  Linking object files against libtool libraries.
3.4 Debugging executables  Running GDB on libtool-generated programs.
3.5 Installing libraries  Making libraries available to users.
3.6 Installing executables  Making programs available to users.
3.7 Linking static libraries  When shared libraries are not wanted.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

  webmaster     delorie software   privacy  
  Copyright 2003   by The Free Software Foundation     Updated Jun 2003