diff options
Diffstat (limited to 'jam-files/boost-build/tools/types/lib.jam')
-rw-r--r-- | jam-files/boost-build/tools/types/lib.jam | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/jam-files/boost-build/tools/types/lib.jam b/jam-files/boost-build/tools/types/lib.jam new file mode 100644 index 00000000..854ab8fd --- /dev/null +++ b/jam-files/boost-build/tools/types/lib.jam @@ -0,0 +1,74 @@ +# Copyright David Abrahams 2004. Distributed under the Boost +# Software License, Version 1.0. (See accompanying +# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +import type ; # for set-generated-target-suffix +import os ; + +# The following naming scheme is used for libraries. +# +# On *nix: +# libxxx.a static library +# libxxx.so shared library +# +# On windows (msvc) +# libxxx.lib static library +# xxx.dll DLL +# xxx.lib import library +# +# On windows (mingw): +# libxxx.a static library +# libxxx.dll DLL +# libxxx.dll.a import library +# +# On cygwin i.e. <target-os>cygwin +# libxxx.a static library +# cygxxx.dll DLL +# libxxx.dll.a import library +# + +type.register LIB ; + +# FIXME: should not register both extensions on both platforms. +type.register STATIC_LIB : a lib : LIB ; + +# The 'lib' prefix is used everywhere +type.set-generated-target-prefix STATIC_LIB : : lib ; + +# Use '.lib' suffix for windows +type.set-generated-target-suffix STATIC_LIB : <target-os>windows : lib ; + +# Except with gcc. +type.set-generated-target-suffix STATIC_LIB : <toolset>gcc <target-os>windows : a ; + +# Use xxx.lib for import libs +type IMPORT_LIB : : STATIC_LIB ; +type.set-generated-target-prefix IMPORT_LIB : : "" ; +type.set-generated-target-suffix IMPORT_LIB : : lib ; + +# Except with gcc (mingw or cygwin), where use libxxx.dll.a +type.set-generated-target-prefix IMPORT_LIB : <toolset>gcc : lib ; +type.set-generated-target-suffix IMPORT_LIB : <toolset>gcc : dll.a ; + +type.register SHARED_LIB : so dll dylib : LIB ; + +# Both mingw and cygwin use libxxx.dll naming scheme. +# On Linux, use "lib" prefix +type.set-generated-target-prefix SHARED_LIB : : lib ; +# But don't use it on windows +type.set-generated-target-prefix SHARED_LIB : <target-os>windows : "" ; +# But use it again on mingw +type.set-generated-target-prefix SHARED_LIB : <toolset>gcc <target-os>windows : lib ; +# And use 'cyg' on cygwin +type.set-generated-target-prefix SHARED_LIB : <target-os>cygwin : cyg ; + + +type.set-generated-target-suffix SHARED_LIB : <target-os>windows : dll ; +type.set-generated-target-suffix SHARED_LIB : <target-os>cygwin : dll ; +type.set-generated-target-suffix SHARED_LIB : <target-os>darwin : dylib ; + +type SEARCHED_LIB : : LIB ; +# This is needed so that when we create a target of SEARCHED_LIB +# type, there's no prefix or suffix automatically added. +type.set-generated-target-prefix SEARCHED_LIB : : "" ; +type.set-generated-target-suffix SEARCHED_LIB : : "" ; |