Only in bb2/: example diff -bwurp bb2/tools/gcc.jam boost/tools/gcc.jam --- bb2/tools/gcc.jam 2009-04-20 11:18:04.625000000 -0400 +++ boost/tools/gcc.jam 2009-04-19 22:26:40.565894400 -0400 @@ -542,6 +542,38 @@ generators.register generators.override gcc.mingw.link : gcc.link ; generators.override gcc.mingw.link.dll : gcc.link.dll ; +# The set of permissible input types is different on cygwin. +# So, define two sets of generators, with cygwin generators +# selected when target-os=windows. + +g = [ new gcc-linking-generator gcc.cygwin.link + : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB + : EXE + : gcc cygwin ] ; +$(g).set-rule-name gcc.link ; +generators.register $(g) ; + +g = [ new gcc-linking-generator gcc.cygwin.link.dll + : OBJ SEARCHED_LIB STATIC_LIB IMPORT_LIB + : IMPORT_LIB SHARED_LIB + : gcc cygwin ] ; +$(g).set-rule-name gcc.link.dll ; +generators.register $(g) ; + +generators.register + [ new gcc-linking-generator gcc.link + : LIB OBJ + : EXE + : gcc ] ; +generators.register + [ new gcc-linking-generator gcc.link.dll + : LIB OBJ + : SHARED_LIB + : gcc ] ; + +generators.override gcc.cygwin.link : gcc.link ; +generators.override gcc.cygwin.link.dll : gcc.link.dll ; + # Declare flags for linking. # First, the common flags. toolset.flags gcc.link OPTIONS on : -g ; @@ -553,6 +585,7 @@ toolset.flags gcc.link FINDLIBS-SA ; toolset.flags gcc.link.dll .IMPLIB-COMMAND windows : "-Wl,--out-implib," ; +toolset.flags gcc.link.dll .IMPLIB-COMMAND cygwin : "-Wl,--out-implib," ; # For static we made sure there are no dynamic libraries in the # link. On HP-UX not all system libraries exist as archived libraries (for Only in boost/tools: gcc.jam~ diff -bwurp bb2/tools/types/exe.jam boost/tools/types/exe.jam --- bb2/tools/types/exe.jam 2009-04-20 11:18:05.312500000 -0400 +++ boost/tools/types/exe.jam 2009-04-19 22:29:12.550269400 -0400 @@ -6,4 +6,4 @@ import type ; type.register EXE ; type.set-generated-target-suffix EXE : windows : "exe" ; -type.set-generated-target-suffix EXE : cygiwn : "exe" ; +type.set-generated-target-suffix EXE : cygwin : "exe" ; Only in boost/tools/types: exe.jam~ diff -bwurp bb2/tools/types/lib.jam boost/tools/types/lib.jam --- bb2/tools/types/lib.jam 2009-04-20 11:18:05.312500000 -0400 +++ boost/tools/types/lib.jam 2009-04-19 22:13:50.909644400 -0400 @@ -9,7 +9,7 @@ type.register LIB ; type.set-generated-target-prefix LIB : : "lib" ; type.set-generated-target-prefix LIB : windows : "" ; -type.set-generated-target-prefix LIB : cygwin : "" ; +type.set-generated-target-prefix LIB : cygwin : "cyg" ; # FIXME: should not register both extensions on both # platforms. @@ -25,6 +25,7 @@ type.set-generated-target-prefix IMPORT_ type.register SHARED_LIB : so dll dylib : LIB ; 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 ; Only in boost/tools/types: lib.jam~