Index: libguile/numbers.c =================================================================== RCS file: /cvsroot/guile/guile/guile-core/libguile/numbers.c,v retrieving revision 1.220 diff -u -r1.220 numbers.c --- libguile/numbers.c 3 Jan 2004 21:38:38 -0000 1.220 +++ libguile/numbers.c 6 Jan 2004 09:49:32 -0000 @@ -153,7 +153,9 @@ +#ifndef __APPLE__ static const char s_bignum[] = "bignum"; +#endif SCM_C_INLINE_KEYWORD SCM scm_i_mkbig () Index: libguile/posix.c =================================================================== RCS file: /cvsroot/guile/guile/guile-core/libguile/posix.c,v retrieving revision 1.120 diff -u -r1.120 posix.c --- libguile/posix.c 15 Sep 2003 12:36:57 -0000 1.120 +++ libguile/posix.c 6 Jan 2004 09:49:34 -0000 @@ -97,7 +97,12 @@ #include +#if defined(__APPLE__) && defined(__DYNAMIC__) +#include +static char ** environ; +#else extern char ** environ; +#endif #ifdef HAVE_GRP_H #include @@ -1735,6 +1740,10 @@ void scm_init_posix () { +#if defined(__APPLE__) && defined(__DYNAMIC__) + environ = *_NSGetEnviron(); +#endif + scm_add_feature ("posix"); #ifdef HAVE_GETEUID scm_add_feature ("EIDs"); Index: libguile/stime.c =================================================================== RCS file: /cvsroot/guile/guile/guile-core/libguile/stime.c,v retrieving revision 1.82 diff -u -r1.82 stime.c --- libguile/stime.c 3 Jan 2004 22:25:24 -0000 1.82 +++ libguile/stime.c 6 Jan 2004 09:49:34 -0000 @@ -260,7 +260,12 @@ } static char tzvar[3] = "TZ"; +#if defined(__APPLE__) && defined(__DYNAMIC__) +#include +static char ** environ; +#else extern char ** environ; +#endif /* if zone is set, create a temporary environment with only a TZ string. other threads or interrupt handlers shouldn't be allowed @@ -671,6 +676,10 @@ void scm_init_stime() { +#if defined(__APPLE__) && defined(__DYNAMIC__) + environ = *_NSGetEnviron(); +#endif + scm_c_define ("internal-time-units-per-second", scm_long2num((long) SCM_TIME_UNITS_PER_SECOND)); Index: libguile/threads-plugin.c =================================================================== RCS file: /cvsroot/guile/guile/guile-core/libguile/threads-plugin.c,v retrieving revision 1.4 diff -u -r1.4 threads-plugin.c --- libguile/threads-plugin.c 5 Apr 2003 19:10:22 -0000 1.4 +++ libguile/threads-plugin.c 6 Jan 2004 09:49:35 -0000 @@ -181,6 +181,16 @@ || scm_i_plugin_rec_mutex_size > SCM_REC_MUTEX_MAXSIZE) { fprintf (stderr, "Internal error: Need to upgrade mutex size\n"); + fprintf (stderr, + "Mutex Size: %d\tCurrent Max: %ld\n", + scm_i_plugin_mutex_size, + SCM_MUTEX_MAXSIZE); + fprintf (stderr, + "Recursive Mutex Size: %d\tCurrent Max: %ld\n", + scm_i_plugin_rec_mutex_size, + SCM_REC_MUTEX_MAXSIZE); + + abort (); } } Index: libguile/threads-plugin.h =================================================================== RCS file: /cvsroot/guile/guile/guile-core/libguile/threads-plugin.h,v retrieving revision 1.3 diff -u -r1.3 threads-plugin.h --- libguile/threads-plugin.h 5 Apr 2003 19:10:22 -0000 1.3 +++ libguile/threads-plugin.h 6 Jan 2004 09:49:35 -0000 @@ -24,7 +24,11 @@ #include /* This file should *not* need to include pthread.h */ /* Size is checked in scm_init_threads_plugin */ +#ifdef __APPLE__ +#define SCM_MUTEX_MAXSIZE (12 * sizeof (long)) +#else #define SCM_MUTEX_MAXSIZE (9 * sizeof (long)) +#endif typedef struct { char _[SCM_MUTEX_MAXSIZE]; } scm_t_mutex; /*fixme* Should be defined similarly to scm_t_mutex. */