# 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. 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 : windows : lib ; # Except with gcc. type.set-generated-target-suffix STATIC_LIB : gcc 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 : gcc : lib ; type.set-generated-target-suffix IMPORT_LIB : 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 : windows : "" ; # But use it again on mingw type.set-generated-target-prefix SHARED_LIB : gcc windows : lib ; type.set-generated-target-prefix SHARED_LIB : clang windows : lib ; # And use 'cyg' on cygwin type.set-generated-target-prefix SHARED_LIB : cygwin : cyg ; type.set-generated-target-suffix SHARED_LIB : windows : dll ; type.set-generated-target-suffix SHARED_LIB : cygwin : dll ; type.set-generated-target-suffix SHARED_LIB : 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 : : "" ;