From 09dbfee7927cd4a690961aaa4a1690136235ff05 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 24 Apr 2011 08:54:53 -0600 Subject: [PATCH] kFreeBSD configuration fixes and use "uconfig.h" for default configuration --- src/configure | 2 +- src/racket/configure.ac | 2 +- src/racket/sconfig.h | 36 ++++++++---------------------------- 3 files changed, 10 insertions(+), 30 deletions(-) diff --git a/src/configure b/src/configure index 30fdd1ff2f..f7a0f5aa96 100755 --- a/src/configure +++ b/src/configure @@ -3880,7 +3880,7 @@ case $OS in enable_cgcdefault="yes" EXTRALIBS="-Wl,-brtl,-bE:\$(srcdir)/../racket/include/racket.exp" ;; - FreeBSD) + *FreeBSD) LIBS="$LIBS -rdynamic" DYN_CFLAGS="-fPIC" GC_THREADS_FLAG="-DGC_FREEBSD_THREADS" diff --git a/src/racket/configure.ac b/src/racket/configure.ac index 1d5794d4ce..d607bbe7fc 100644 --- a/src/racket/configure.ac +++ b/src/racket/configure.ac @@ -513,7 +513,7 @@ case $OS in enable_cgcdefault="yes" EXTRALIBS="-Wl,-brtl,-bE:\$(srcdir)/../racket/include/racket.exp" ;; - FreeBSD) + *FreeBSD) LIBS="$LIBS -rdynamic" DYN_CFLAGS="-fPIC" GC_THREADS_FLAG="-DGC_FREEBSD_THREADS" diff --git a/src/racket/sconfig.h b/src/racket/sconfig.h index 2a55d5f13b..064ed41cec 100644 --- a/src/racket/sconfig.h +++ b/src/racket/sconfig.h @@ -320,7 +320,7 @@ /************** x86/FreeBSD with gcc ****************/ -#if defined(__FreeBSD__) +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) # if defined(__i386__) # define SCHEME_PLATFORM_LIBRARY_SUBPATH "i386-freebsd" @@ -914,12 +914,15 @@ #ifndef FLAGS_ALREADY_SET +/* assume generic Unix: */ +#include "uconfig.h" +# define SIGSET_IS_SIGNAL +# define SIGSET_NEEDS_REINSTALL + /*********************/ /* Operating System */ /*********************/ -#define SYSTEM_TYPE_NAME "unix" - /* SYSTEM_TYPE_NAME must be a string; this will be converted into a symbol for the result of (system-type) */ @@ -932,11 +935,6 @@ /* Language Features */ /*********************/ -#define TIME_SYNTAX -#define PROCESS_FUNCTION -#define DIR_FUNCTION -#define GETENV_FUNCTION - /* TIME_SYNTAX adds the (time ...) syntax; this may need to be turned off for compilation on some systems. CLOCKS_PER_SEC relates the values returned by clock() to @@ -976,9 +974,6 @@ /* Filesystem */ /*******************/ -#define UNIX_FILE_SYSTEM -#define EXPAND_FILENAME_TILDE - /* UNIX_FILE_SYSTEM indicates that filenames are as in Unix, with forward slash separators, ".." as the parent directory, "/" as the root directory, and case-sensitivity */ @@ -1029,16 +1024,13 @@ None of these flags are required, but char-ready? may return spurious #ts if they are set up incorrectly. */ -#define HAS_STANDARD_IOB -#define FILES_HAVE_FDS -#define USE_UNIX_SOCKETS_TCP -#define CLOSE_ALL_FDS_AFTER_FORK - /* HAS_STANDARD_IOB, HAS_GNU_IOB, HAS_CYGWIN_IOB, HAS_LINUX_IOB, HAS_BSD_IOB, and HAS_SCO_IOB are mutually exclusive; they describe how to read the FILE* structure to determine if there are available cached characters. */ + /* USE_FD_PORTS uses Unix-style open(), etc., for file ports. */ + /* FILES_HAVE_FDS means that a FILE* is always associated with a file desciptor, which can be select-ed to see if there are pending bytes. Don't use this unless one of the HAS__IOB @@ -1116,10 +1108,6 @@ /* These are flags about the implementation of system, process, etc. */ -# define UNIX_PROCESSES -# define SIGSET_IS_SIGNAL -# define SIGSET_NEEDS_REINSTALL - /* UNIX_PROCESSES implements the process functions for Unix; uses sigset() to install the signal handler. */ @@ -1288,10 +1276,6 @@ /* Stack Maniuplations */ /***********************/ -# define DO_STACK_CHECK -# define UNIX_FIND_STACK_BOUNDS -# define STACK_SAFETY_MARGIN 50000 - /* DO_STACK_CHECK checks for stack overflow during execution. Requires either UNIX_FIND_STACK_BOUNDS, USE_STACKAVAIL, MACOS_FIND_STACK_BOUNDS, or ASSUME_FIXED_STACK_SIZE. */ @@ -1327,8 +1311,6 @@ /* Dynamic Loading */ /***********************/ -#define UNIX_DYNAMIC_LOAD - /* UNIX_DYNAMIC_LOAD implements dynamic extensions under Unix using dlopen(); you may have to add the -ldl flag in the LIBS Makefile variable. The library doesn't exist under Linux without @@ -1406,8 +1388,6 @@ /* Miscellaneous */ /***********************/ -#define UNISTD_INCLUDE - /* USE_MAP_ANON indicates that mmap should use BSD's MAP_ANON flag rather than trying to open /dev/zero */