diff --git a/c-sdk/config/FreeBSD.mk b/c-sdk/config/FreeBSD.mk --- ldap/sdks/c-sdk/config/FreeBSD.mk +++ ldap/sdks/c-sdk/config/FreeBSD.mk @@ -79,8 +79,8 @@ DLL_SUFFIX = so.1.0 endif DSO_CFLAGS = -fPIC -DSO_LDOPTS = -Bshareable +DSO_LDOPTS = -shared -Wl,-soname,$(notdir $@) -MKSHLIB = $(LD) $(DSO_LDOPTS) +MKSHLIB = $(CC) $(DSO_LDOPTS) G++INCLUDES = -I/usr/include/g++ diff --git a/c-sdk/configure b/c-sdk/configure --- ldap/sdks/c-sdk/configure +++ ldap/sdks/c-sdk/configure @@ -4241,8 +4241,10 @@ EOF #define DRAGONFLY 1 EOF + LD='$(CC)' + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' DSO_CFLAGS=-fPIC - DSO_LDOPTS='-shared' + DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)' ;; *-freebsd*) @@ -4261,6 +4263,7 @@ EOF #define HAVE_BSD_FLOCK 1 EOF + LD='$(CC)' CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall" MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` if test "$MOZ_OBJFORMAT" = "elf"; then @@ -4268,8 +4271,9 @@ EOF else DLL_SUFFIX=so.1.0 fi + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' DSO_CFLAGS=-fPIC - DSO_LDOPTS=-Bshareable + DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)' ;; *-hpux*) @@ -6512,8 +6516,15 @@ echo "configure:6510: checking whether $ if test $? -eq 0; then if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then ac_cv_have_dash_pthread=yes - CFLAGS="$CFLAGS -pthread" - CXXFLAGS="$CXXFLAGS -pthread" + case "$target_os" in + dragonfly*|freebsd*) +# Freebsd doesn't use -pthread for compiles, it uses them for linking + ;; + *) + CFLAGS="$CFLAGS -pthread" + CXXFLAGS="$CXXFLAGS -pthread" + ;; + esac fi fi rm -f conftest* @@ -6542,7 +6553,22 @@ echo "configure:6526: checking whether $ _PTHREAD_LDFLAGS= fi ;; - *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*) + *-dragonfly*|*-freebsd*) + cat >> confdefs.h <<\EOF +#define _REENTRANT 1 +EOF + + cat >> confdefs.h <<\EOF +#define _THREAD_SAFE 1 +EOF + + if test "$ac_cv_have_dash_pthread" = "yes"; then + _PTHREAD_LDFLAGS="-pthread" + else + _PTHREAD_LDFLAGS="-lc_r" + fi + ;; + *-openbsd*|*-bsdi*|*-netbsd*) cat >> confdefs.h <<\EOF #define _THREAD_SAFE 1 EOF diff --git a/c-sdk/configure.in b/c-sdk/configure.in --- ldap/sdks/c-sdk/configure.in +++ ldap/sdks/c-sdk/configure.in @@ -1225,8 +1225,10 @@ tools are selected during the Xcode/Deve fi AC_DEFINE(XP_UNIX) AC_DEFINE(DRAGONFLY) + LD='$(CC)' + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' DSO_CFLAGS=-fPIC - DSO_LDOPTS='-shared' + DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)' ;; *-freebsd*) @@ -1236,6 +1238,7 @@ tools are selected during the Xcode/Deve AC_DEFINE(XP_UNIX) AC_DEFINE(FREEBSD) AC_DEFINE(HAVE_BSD_FLOCK) + LD='$(CC)' CFLAGS="$CFLAGS $(DSO_CFLAGS) -ansi -Wall" MOZ_OBJFORMAT=`test -x /usr/bin/objformat && /usr/bin/objformat || echo elf` if test "$MOZ_OBJFORMAT" = "elf"; then @@ -1243,8 +1246,9 @@ tools are selected during the Xcode/Deve else DLL_SUFFIX=so.1.0 fi + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' DSO_CFLAGS=-fPIC - DSO_LDOPTS=-Bshareable + DSO_LDOPTS='-shared -Wl,-soname,$(notdir $@)' ;; *-hpux*) @@ -2329,8 +2333,15 @@ if test -n "$USE_PTHREADS"; then if test $? -eq 0; then if test -z "`egrep -i '(unrecognize|unknown)' conftest.out | grep pthread`" && test -z "`egrep -i '(error|incorrect)' conftest.out`" ; then ac_cv_have_dash_pthread=yes - CFLAGS="$CFLAGS -pthread" - CXXFLAGS="$CXXFLAGS -pthread" + case "$target_os" in + dragonfly*|freebsd*) +# Freebsd doesn't use -pthread for compiles, it uses them for linking + ;; + *) + CFLAGS="$CFLAGS -pthread" + CXXFLAGS="$CXXFLAGS -pthread" + ;; + esac fi fi rm -f conftest* @@ -2361,7 +2372,17 @@ if test -n "$USE_PTHREADS"; then _PTHREAD_LDFLAGS= fi ;; - *-freebsd*|*-openbsd*|*-bsdi*|*-netbsd*) + *-dragonfly*|*-freebsd*) + AC_DEFINE(_REENTRANT) + AC_DEFINE(_THREAD_SAFE) + dnl -pthread links in -lc_r, so don't specify it explicitly. + if test "$ac_cv_have_dash_pthread" = "yes"; then + _PTHREAD_LDFLAGS="-pthread" + else + _PTHREAD_LDFLAGS="-lc_r" + fi + ;; + *-openbsd*|*-bsdi*|*-netbsd*) AC_DEFINE(_THREAD_SAFE) dnl -pthread links in -lc_r, so don't specify it explicitly. if test "$ac_cv_have_dash_pthread" = "yes"; then