]> git.ipfire.org Git - thirdparty/HylaFAX.git/commitdiff
[Bug 291] Solaris DSO support
authorDarren Nickerson <darren.nickerson@ifax.com>
Fri, 24 May 2002 16:35:59 +0000 (16:35 +0000)
committerDarren Nickerson <darren.nickerson@ifax.com>
Fri, 24 May 2002 16:35:59 +0000 (16:35 +0000)
We didn't have it, and now we do. Thanks mainly to John Perkins, and of course
to Lee for feeding it to bugzilla

configure

index d1be4a90db1a32e68581fe68aabea9f10fe6d805..868e6e604e4bb82f2f87034e7a254efa5300fc75 100755 (executable)
--- a/configure
+++ b/configure
@@ -3254,8 +3254,8 @@ if [ "$DSO" = auto ]; then
        LIBUTIL=''
        LIBFAXSERVER='-lfaxserver'
        FAXD='${DEPTH}/faxd'
-       DSOOPTS='-shared -Wl,-soname,$@'
-       LLDOPTS='-L${UTIL} -L${FAXD} -lfaxutil'
+       DSOOPTS='-shared -fpic -Wl,-soname,$@'
+       LLDOPTS='-L${UTIL} -L${FAXD} -Wl,-rpath,${LIBDIR} -lfaxutil'
        DSO=LINUX
        CheckCCDSO()
        {
@@ -3276,6 +3276,34 @@ if [ "$DSO" = auto ]; then
            "t:t.o; \${C++F} ${DSOOPTS} -o t.${DSOSUF} t.o"
        }
        ;;
+    *-solaris*)
+       DSOSUF=so
+       LIBUTIL=''
+       LIBFAXSERVER='-lfaxserver'
+       FAXD='${DEPTH}/faxd'
+       # options here are passed directly to ld, not through g++ first
+       DSOOPTS='-G -h $@'
+       LLDOPTS='-L${UTIL} -L${FAXD} -R${LIBDIR} -lfaxutil'
+       DSO=SOLARIS
+       CheckCCDSO()
+       {
+       $RM t.c t.o t.${DSOSUF}
+       echo 'int f() { return 0; }'>t.c
+       capture cat t.c
+       runMake t \
+           't.o:; ${CCF} -c t.c' \
+           "t: t.o; \${CCF} ${DSOOPTS} -o t.${DSOSUF} t.o"
+       }
+       CheckCXXDSO()
+       {
+       $RM t.c++ t.o t.${DSOSUF}
+       echo 'int f() { return 0; }'>t.c++
+       capture cat t.c++
+       runMake t \
+           "t.o:; \${C++F} -c \${C++FILE} t.c++${MAKECXXOVERRIDE}" \
+           "t:t.o; \${C++F} ${DSOOPTS} -o t.${DSOSUF} t.o"
+       }
+       ;;
     *) Note "There is no support for building HylaFAX as DSOs on your system."
        DSO=no
        ;;
@@ -3308,9 +3336,6 @@ fi
 if [ "$DSO" = no ]; then
     MAKEDSOINCLUDE='#'
     DSOSUF=a DSOOPTS= DSODELAY= LLDOPTS=
-    case $ISGCC-$TARGET in
-       *-*-solaris*)   LLDOPTS="-L/usr/local/lib -R/usr/local/lib" ;;
-    esac
 else
     MAKEDSOINCLUDE="$MAKEINCLUDE"
 fi