SCons User Guide 0.92 | ||
---|---|---|
<<< Previous | Building and Linking with Libraries | Next >>> |
Usually, you build a library because you want to link it with one or more programs. You link libraries with a program by specifying the libraries in the LIBS construction variable, and by specifying the directory in which the library will be found in the LIBPATH construction variable:
env = Environment(LIBS = 'foo', LIBPATH = '.') env.Library('foo', ['f1.c', 'f2.c', 'f3.c']) env.Program('prog.c') |
Notice, of course, that you don't need to specify a library prefix (like lib) or suffix (like .a or .lib). SCons uses the correct prefix or suffix for the current system.
On a POSIX or Linux system, a build of the above example would look like:
% scons
cc -c f1.c -o f1.o
cc -c f2.c -o f2.o
cc -c f3.c -o f3.o
ar r libfoo.a f1.o f2.o f3.o
ranlib libfoo.a
cc -c prog.c -o prog.o
cc -o prog -L. -lfoo prog.o
On a Windows system, a build of the above example would look like:
C:\>scons
cl /Fof1.obj f1.c
cl /Fof2.obj f2.c
cl /Fof3.obj f3.c
lib /nologo /OUT:foo.lib f1.obj f2.obj f3.obj
cl /Foprog.obj prog.c
link /OUT:prog.exe /LIBPATH:. foo.lib prog.obj
As usual, notice that SCons has taken care of constructing the correct command lines to link with the specified library on each system.
<<< Previous | Home | Next >>> |
Building and Linking with Libraries | Up | Finding Libraries: the LIBPATH Construction Variable |