added CYGWIN support
authorBrian Paul <brian.paul@tungstengraphics.com>
Thu, 22 Apr 2004 16:16:42 +0000 (16:16 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Thu, 22 Apr 2004 16:16:42 +0000 (16:16 +0000)
bin/mklib

index fc109b2336347296625d9a86c8393ee78609592e..49a5daf1a15ebe3e8e53cb3a6c1fda3ac6f16372 100755 (executable)
--- a/bin/mklib
+++ b/bin/mklib
@@ -498,6 +498,46 @@ case $ARCH in
        FINAL_LIBS="${LIBNAME}"
        ;;
 
+     CYGWIN*)
+       # GCC-based environment
+       CYGNAME="cyg${LIBNAME}"     # prefix with "cyg"
+       LIBNAME="lib${LIBNAME}"     # prefix with "lib"
+
+        if [ $STATIC = 1 ] ; then
+            echo "mklib: Making" $ARCH "static library: " ${LIBNAME}.a
+            LINK="ar"
+            OPTS="-ru"
+            # make lib
+            ${LINK} ${OPTS} ${LIBNAME}.a ${OBJECTS}
+           ranlib ${LIBNAME}.a
+            # finish up
+            FINAL_LIBS=${LIBNAME}.a
+        else
+           OPTS="-shared -Wl,-export-all -Wl,--out-implib=${LIBNAME}-${MAJOR}.dll.a"
+            echo "mklib: Making" $ARCH "shared library: " ${LIBNAME}-${MAJOR}.dll
+
+            if [ $CPLUSPLUS = 1 ] ; then
+                LINK="g++"
+            else
+                LINK="gcc"
+            fi
+
+            # rm any old libs
+            rm -f ${LIBNAME}-${MAJOR}.dll
+            rm -f ${LIBNAME}.dll.a
+            rm -f ${LIBNAME}.a
+
+            # make lib
+            ${LINK} ${OPTS} -o ${CYGNAME}-${MAJOR}.dll ${OBJECTS} ${DEPS}
+            # make usual symlinks
+            ln -s ${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a
+            # finish up
+            FINAL_LIBS="${LIBNAME}-${MAJOR}.dll.a ${LIBNAME}.dll.a"
+           # special case for installing in bin
+            FINAL_BINS="${CYGNAME}-${MAJOR}.dll"
+        fi
+       ;;
+
     'example')
        # If you're adding support for a new architecture, you can
        # start with this: