mklib: Add Haiku build support
authorAlexander von Gluck <kallisti5@unixzen.com>
Mon, 26 Dec 2011 23:23:03 +0000 (16:23 -0700)
committerBrian Paul <brianp@vmware.com>
Mon, 26 Dec 2011 23:23:03 +0000 (16:23 -0700)
Signed-off-by: Brian Paul <brianp@vmware.com>
bin/mklib

index 70bd1a27a26b65434344071780ceb4f5df6a25c6..510ac915c8458bbcd3ffa919362cad43839832a1 100755 (executable)
--- a/bin/mklib
+++ b/bin/mklib
@@ -959,6 +959,43 @@ case $ARCH in
         fi
        ;;
 
+       'Haiku')
+               if [ $STATIC = 1 ] ; then
+                       LIBNAME="lib${LIBNAME}.a"
+                       if [ "x$LINK" = "x" ] ; then
+                               # -linker was not specified so set default link command now
+                               if [ $CPLUSPLUS = 1 ] ; then
+                                       LINK=g++
+                               else
+                                       LINK=gcc
+                               fi
+                       fi
+
+                       OPTS="-ru"
+                       if [ "${ALTOPTS}" ] ; then
+                               OPTS=${ALTOPTS}
+                       fi
+
+                       echo "mklib: Making static library for Haiku: " ${LIBNAME}
+
+                       # expand .a into .o files
+                       NEW_OBJECTS=`expand_archives ${LIBNAME}.obj $OBJECTS`
+
+                       # make static lib
+                       FINAL_LIBS=`make_ar_static_lib ${OPTS} 1 ${LIBNAME} ${NEW_OBJECTS}`
+
+                       # remove temporary extracted .o files
+                       rm -rf ${LIBNAME}.obj
+        else
+                       LIBNAME="lib${LIBNAME}.so"  # prefix with "lib", suffix with ".so"
+                       OPTS="-shared"
+
+                       echo "mklib: Making shared library for Haiku: " ${LIBNAME}
+                       ${LINK} ${OPTS} ${LDFLAGS} ${OBJECTS} ${DEPS} -o ${LIBNAME}
+                       FINAL_LIBS="${LIBNAME}"
+               fi
+       ;;
+
     'example')
        # If you're adding support for a new architecture, you can
        # start with this: