From 0809713a81c112f2ae303e1b43b3762f18c5fa94 Mon Sep 17 00:00:00 2001
From: Marcus Comstedt <marcus@mc.pp.se>
Date: Fri, 27 Feb 1998 18:08:46 +0100
Subject: [PATCH] Changes for BSDi.  Didn't I commit these already?  Apparently
 not...

Rev: src/Makefile.in:1.62
Rev: src/configure.in:1.161
---
 src/Makefile.in  |  2 +-
 src/configure.in | 35 ++++++++++++++++++++++++++++++-----
 2 files changed, 31 insertions(+), 6 deletions(-)

diff --git a/src/Makefile.in b/src/Makefile.in
index e3a093aed9..d8588be337 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -64,7 +64,7 @@ CPP=@CPP@
 
 AR=@AR@
 
-LD=$(CC)
+LD=@LD@
 LDFLAGS=$(CFLAGS) @LDFLAGS@ @LINKFORSHARED@
 
 RUNPIKE=$(TMP_BUILDDIR)/pike -m $(TMP_LIBDIR)/master.pike $(PIKEOPTS)
diff --git a/src/configure.in b/src/configure.in
index 2b49a2ca50..fd2d588ffc 100644
--- a/src/configure.in
+++ b/src/configure.in
@@ -1,4 +1,4 @@
-AC_REVISION("$Id: configure.in,v 1.160 1998/02/27 08:39:15 hubbe Exp $")
+AC_REVISION("$Id: configure.in,v 1.161 1998/02/27 17:08:44 marcus Exp $")
 AC_INIT(interpret.c)
 AC_CONFIG_HEADER(machine.h)
 
@@ -156,6 +156,8 @@ fi
 ])
 AC_MSG_RESULT($pike_cv_sys_os)
 
+LD='$(CC)'
+
 case "$pike_cv_sys_os" in
   SCO*)
      case "$CFLAGS" in
@@ -173,8 +175,13 @@ case "$pike_cv_sys_os" in
        ;;
      esac
   ;;
+  BSD/OS*)
+    LD="$BINDIR/smartlink shlicc"
+  ;;
 esac
 
+AC_SUBST(LD)
+
 #############################################################################
 
 
@@ -359,7 +366,7 @@ if test x$pike_cv_sys_os != xWindows_NT ; then
 
 echo Searching for include-file directories...
 if test $cppflags_is_set = no -a x${C_INCLUDE_PATH-} = x ; then
-  for d in /usr/local /sw/local /usr/gnu /opt/gnu /sw/gnu /sw /usr/freeware
+  for d in `echo $prefix | sed "s@^NONE@$ac_default_prefix@g"` /usr/local /sw/local /usr/gnu /opt/gnu /sw/gnu /sw /usr/freeware
   do
     AC_MSG_CHECKING($d/include)
     if test -d "$d/include/." ; then
@@ -375,7 +382,7 @@ fi
 
 echo Searching for library directories...
 if test $ldflags_is_set = no ; then
-  for d in /usr/local /sw/local /usr/gnu /opt/gnu /sw/gnu /sw /usr/freeware
+  for d in `echo $exec_prefix | sed "s@^NONE@$prefix@g" | sed "s@^NONE@$ac_default_prefix@g"` /usr/local /sw/local /usr/gnu /opt/gnu /sw/gnu /sw /usr/freeware
   do
     AC_MSG_CHECKING($d/lib)
     if test -d "$d/lib/." ; then
@@ -390,7 +397,7 @@ else
 fi
 
 echo Searching for binary directories...
-for d in "" /usr /usr/ccs /usr/local /sw/local /usr/gnu /opt/gnu /sw/gnu /sw /usr/freeware
+for d in `echo $exec_prefix | sed "s@^NONE@$prefix@g" | sed "s@^NONE@$ac_default_prefix@g"` "" /usr /usr/ccs /usr/local /sw/local /usr/gnu /opt/gnu /sw/gnu /sw /usr/freeware
 do
   AC_MSG_CHECKING($d/bin)
   if test -d "$d/bin/." ; then
@@ -763,12 +770,17 @@ int main()
         LIBS="${OLDLIBS} -lpthread -lmach -lexc -lc"
       ;;
  
+      xBSD/OS*)
+        LIBS="${OLDLIBS}"
+      ;;
+
       *)
         LIBS="${OLDLIBS} -lpthread"
       ;;
     esac
 
     AC_CHECK_FUNCS(pthread_init)
+    AC_CHECK_FUNCS(pthread_mutexattr_init)
 
     AC_MSG_CHECKING(posix threads)
 
@@ -791,7 +803,11 @@ int main()
 #ifdef HAVE_PTHREAD_INIT
   pthread_init();
 #endif /* HAVE_PTHREAD_INIT */
+#ifdef HAVE_PTHREAD_MUTEXATTR_INIT
   pthread_mutexattr_init(&attr);
+#else
+  memset(&attr, 0, sizeof(attr));
+#endif /* HAVE_PTHREAD_MUTEXATTR_INIT
   pthread_mutex_init(&tmp, &attr);
   pthread_mutex_lock(&tmp);
   pthread_create(&gazonk,0,foo,0);
@@ -1840,6 +1856,7 @@ then
 	FreeBSD*) LDSHARED="ld -Bshareable";;
 	NetBSD) LDSHARED="ld -Bshareable";;
 	OpenBSD*) LDSHARED="ld -Bshareable";;
+	BSD/OS*) LDSHARED="shlicc -r";;
 	SCO_SV*) LDSHARED="cc -G -KPIC -Wl,-Bexport";;
 	UNIX_SV) LDSHARED="ld -G";;
         Windows_NT*) LDSHARED="$CC -shared";;
@@ -1853,7 +1870,10 @@ AC_MSG_RESULT($LDSHARED)
 AC_MSG_CHECKING(CCSHARED)
 if test -z "$CCSHARED" ; then
   if test "$GCC" = yes ; then
-    CCSHARED="-fpic"
+    case $pike_cv_sys_os in
+      BSD/OS*) CCSHARED="";;
+      *) CCSHARED="-fpic";;
+    esac
   else
     case $pike_cv_sys_os in
 	hp*|HP*) CCSHARED="+z"; ;;
@@ -1933,12 +1953,17 @@ AC_CACHE_VAL(pike_cv_sys_dynamic_loading,
 
     OLD_CFLAGS="$CFLAGS"
     CFLAGS="$CFLAGS $LINKFORSHARED"
+    OLD_CC="$CC"
+    case "$LD" in
+      *shlicc) CC="$BINDIR/smartlink shlicc";;
+    esac
     AC_TRY_RUN([
 #define TESTING
 #include "$srcdir/dynamic_load.c"
 void testfunc2(void) { exit(0); }
 ], pike_cv_sys_dynamic_loading=yes, pike_cv_sys_dynamic_loading=no, pike_cv_sys_dynamic_loading=no)
     CFLAGS="$OLD_CFLAGS"
+    CC="$OLD_CC"
   else
     pike_cv_sys_dynamic_loading=no
   fi
-- 
GitLab