FreeBSD patches; appears to be fully functional now.
authorRyan C. Gordon <icculus@icculus.org>
Wed, 17 Jul 2002 23:25:18 +0000
changeset 347 56ce50a62241
parent 346 504cd139c52a
child 348 12f110dd456a
FreeBSD patches; appears to be fully functional now.
configure.in
platform/unix.c
--- a/configure.in	Wed Jul 17 16:05:52 2002 +0000
+++ b/configure.in	Wed Jul 17 23:25:18 2002 +0000
@@ -226,6 +226,17 @@
   AC_MSG_RESULT([$this_is_macosx])
 fi
 
+this_is_freebsd=no
+if test x$we_have_sed = xyes; then
+  AC_MSG_CHECKING([if this is FreeBSD])
+  x=`echo $build_os |tr A-Z a-z |sed "s/.*freebsd.*/freebsd/"`
+  if test x$x = xfreebsd; then
+    this_is_freebsd=yes
+  fi
+
+  AC_MSG_RESULT([$this_is_freebsd])
+fi
+
 # Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS([stdlib.h string.h])
@@ -242,6 +253,13 @@
 AC_FUNC_MEMCMP
 AC_CHECK_FUNCS([memset strrchr])
 
+CFLAGS="$CFLAGS -D_REENTRANT -D_THREAD_SAFE"
+LDFLAGS="$LDFLAGS -no-undefined"
+
+if test x$this_is_freebsd = x$yes; then
+  LDFLAGS="$LDFLAGS -pthread"
+fi
+
 dnl Add Makefile conditionals
 AM_CONDITIONAL(BUILD_ZLIB, test x$enable_internal_zlib = xyes)
 AM_CONDITIONAL(BUILD_TEST_PHYSFS, test x$enable_testprog = xyes)
@@ -249,8 +267,6 @@
 AM_CONDITIONAL(BUILD_BEOS, test x$this_is_beos = xyes)
 AM_CONDITIONAL(BUILD_CYGWIN, test x$this_is_cygwin = xyes)
 
-LDFLAGS="$LDFLAGS -no-undefined"
-
 AC_OUTPUT([
 Makefile
 archivers/Makefile
--- a/platform/unix.c	Wed Jul 17 16:05:52 2002 +0000
+++ b/platform/unix.c	Wed Jul 17 23:25:18 2002 +0000
@@ -13,9 +13,15 @@
 /* BeOS uses beos.cpp and posix.c ... Cygwin and such use win32.c ... */
 #if ((!defined __BEOS__) && (!defined WIN32))
 
+#ifdef __FreeBSD__
+#  if (!defined __BSD__)
+#    define __BSD__
+#  endif
+#endif
+
 #if ((defined __APPLE__) && (defined __MACH__))
-#  if (!defined __DARWIN__)
-#    define __DARWIN__
+#  if (!defined __BSD__)
+#    define __BSD__
 #  endif
 #endif
 
@@ -33,10 +39,10 @@
 #include <time.h>
 #include <errno.h>
 
-#if (!defined __DARWIN__)
+#if (defined __BSD__)
+#include <sys/ucred.h>
+#else
 #include <mntent.h>
-#else
-#include <sys/ucred.h>
 #endif
 
 #include <sys/mount.h>
@@ -62,7 +68,7 @@
 
 
 
-#if (defined __DARWIN__)
+#if (defined __BSD__)
 
 char **__PHYSFS_platformDetectAvailableCDs(void)
 {