From 2e945bccca0209965dbbb1aea858f9bb7576641a Mon Sep 17 00:00:00 2001 From: Stefan Jahn Date: Thu, 29 May 2003 14:39:13 +0000 Subject: [PATCH] 2003-05-29 Stefan Jahn * configure.in: Removed -lm check and added a cached check for __libc_stack_end to get it building for mingw32 hosts. 2003-05-29 Stefan Jahn * win32-dirent.c: Use malloc() instead of scm_malloc(). * stime.c (s_scm_strftime): Add a type cast to avoid compiler warning. * posix.c (s_scm_putenv): Disable use of unsetenv() for the mingw32 build. * modules.c (s_scm_module_import_interface): Renamed local variable interface to _interface. Seems like 'interface' is a special compiler directive for the mingw32 compiler. * mkstemp.c: Provide prototype to avoid compiler warning. * load.c (s_scm_search_path): Fixed absolute and relative path detections for native Windows platforms. * gc.h, threads.h: Export some more symbols using SCM_API (necessary to build on mingw32). * gc-freelist.c ("s_scm_map_free_list", "s_scm_gc_set_debug_check_freelist_x"): Fixed use of FUNC_NAME. * fports.c (fport_fill_input): Disable use of fport_wait_for_input() on Win32 platforms. * filesys.c (s_scm_basename): Fixed __MINGW32__ code. * Makefile.am: Modified some rules for cross compiling. 2003-05-29 Stefan Jahn * raw-ltdl.c: Some more modifications for mingw32 platforms. 2003-05-29 Stefan Jahn * Makefile.am (libguile_srfi_srfi_1_la_LDFLAGS, libguile_srfi_srfi_4_la_LDFLAGS, libguile_srfi_srfi_13_14__la_LDFLAGS): Added the -no-undefined option for the mingw32 build. 2003-05-29 Stefan Jahn * standalone/Makefile.am: Setup to build on mingw32. --- ChangeLog | 5 +++++ configure.in | 19 ++++++++++-------- libguile-ltdl/ChangeLog | 4 ++++ libguile-ltdl/raw-ltdl.c | 7 +++---- libguile/ChangeLog | 32 +++++++++++++++++++++++++++++++ libguile/Makefile.am | 21 ++++++++++++++------ libguile/filesys.c | 4 ++-- libguile/fports.c | 4 ++++ libguile/gc-freelist.c | 5 +++-- libguile/gc.h | 14 +++++++++----- libguile/load.c | 26 +++++++++++++++++++++++++ libguile/mkstemp.c | 5 +++++ libguile/modules.c | 18 ++++++++--------- libguile/posix.c | 2 ++ libguile/stime.c | 2 +- libguile/threads.h | 2 +- libguile/win32-dirent.c | 6 +++--- srfi/ChangeLog | 7 +++++++ srfi/Makefile.am | 6 +++--- test-suite/ChangeLog | 4 ++++ test-suite/standalone/Makefile.am | 4 ++-- 21 files changed, 151 insertions(+), 46 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8852f6417..034ee9c7a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-05-29 Stefan Jahn + + * configure.in: Removed -lm check and added a cached check for + __libc_stack_end to get it building for mingw32 hosts. + 2003-05-19 Kevin Ryde * README (Cross building Guile): Remove --with-cc-for-build in favour diff --git a/configure.in b/configure.in index ad1bfa8d6..36298aeac 100644 --- a/configure.in +++ b/configure.in @@ -483,7 +483,9 @@ AC_TYPE_GETGROUPS AC_TYPE_SIGNAL AC_TYPE_MODE_T -AC_CHECK_LIB(m, main) +if test $MINGW32 = no; then + AC_CHECK_LIB(m, main) +fi AC_CHECK_FUNCS(gethostbyname) if test $ac_cv_func_gethostbyname = no; then AC_CHECK_LIB(nsl, gethostbyname) @@ -594,13 +596,14 @@ AC_CHECK_FUNCS(sethostent gethostent endhostent dnl inet_pton inet_ntop) AC_MSG_CHECKING(for __libc_stack_end) -AC_TRY_LINK([extern char *__libc_stack_end;], - [char *p = __libc_stack_end;], - have_libc_stack_end=yes, - have_libc_stack_end=no) -AC_MSG_RESULT($have_libc_stack_end) - -if test $have_libc_stack_end = yes; then +AC_CACHE_VAL(guile_cv_have_libc_stack_end, +[AC_TRY_LINK([extern char *__libc_stack_end;], + [char *p = __libc_stack_end;], + guile_cv_have_libc_stack_end=yes, + guile_cv_have_libc_stack_end=no)]) +AC_MSG_RESULT($guile_cv_have_libc_stack_end) + +if test $guile_cv_have_libc_stack_end = yes; then AC_DEFINE(HAVE_LIBC_STACK_END, 1, [Define if you have the __libc_stack_end variable.]) fi diff --git a/libguile-ltdl/ChangeLog b/libguile-ltdl/ChangeLog index 7fe4fb8a6..6c19c2366 100644 --- a/libguile-ltdl/ChangeLog +++ b/libguile-ltdl/ChangeLog @@ -1,3 +1,7 @@ +2003-05-29 Stefan Jahn + + * raw-ltdl.c: Some more modifications for mingw32 platforms. + 2003-03-24 Marius Vollmer * raw-ltdl.c: Include instead of diff --git a/libguile-ltdl/raw-ltdl.c b/libguile-ltdl/raw-ltdl.c index dec1ca3b7..09b7f0e08 100644 --- a/libguile-ltdl/raw-ltdl.c +++ b/libguile-ltdl/raw-ltdl.c @@ -163,11 +163,11 @@ static lt_ptr lt_erealloc LT_PARAMS((lt_ptr addr, size_t size)); #define rpl_realloc realloc /* These are the pointers that can be changed by the caller: */ -SCMLTSTATIC LT_GLOBAL_DATA lt_ptr (*lt_dlmalloc) LT_PARAMS((size_t size)) +SCMLTSTATIC lt_ptr (*lt_dlmalloc) LT_PARAMS((size_t size)) = (lt_ptr (*) LT_PARAMS((size_t))) malloc; -SCMLTSTATIC LT_GLOBAL_DATA lt_ptr (*lt_dlrealloc) LT_PARAMS((lt_ptr ptr, size_t size)) +SCMLTSTATIC lt_ptr (*lt_dlrealloc) LT_PARAMS((lt_ptr ptr, size_t size)) = (lt_ptr (*) LT_PARAMS((lt_ptr, size_t))) rpl_realloc; -SCMLTSTATIC LT_GLOBAL_DATA void (*lt_dlfree) LT_PARAMS((lt_ptr ptr)) +SCMLTSTATIC void (*lt_dlfree) LT_PARAMS((lt_ptr ptr)) = (void (*) LT_PARAMS((lt_ptr))) free; /* The following macros reduce the amount of typing needed to cast @@ -1185,7 +1185,6 @@ sys_wll_open (loader_data, filename) { lt_dlhandle cur; lt_module module = NULL; - const char *errormsg = NULL; char *searchname = NULL; char *ext; char self_name_buf[MAX_PATH]; diff --git a/libguile/ChangeLog b/libguile/ChangeLog index c330d13e9..f354f6638 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,3 +1,35 @@ +2003-05-29 Stefan Jahn + + * win32-dirent.c: Use malloc() instead of scm_malloc(). + + * stime.c (s_scm_strftime): Add a type cast to avoid compiler + warning. + + * posix.c (s_scm_putenv): Disable use of unsetenv() for the + mingw32 build. + + * modules.c (s_scm_module_import_interface): Renamed local + variable interface to _interface. Seems like 'interface' + is a special compiler directive for the mingw32 compiler. + + * mkstemp.c: Provide prototype to avoid compiler warning. + + * load.c (s_scm_search_path): Fixed absolute and relative + path detections for native Windows platforms. + + * gc.h, threads.h: Export some more symbols using SCM_API (necessary + to build on mingw32). + + * gc-freelist.c ("s_scm_map_free_list", + "s_scm_gc_set_debug_check_freelist_x"): Fixed use of FUNC_NAME. + + * fports.c (fport_fill_input): Disable use of + fport_wait_for_input() on Win32 platforms. + + * filesys.c (s_scm_basename): Fixed __MINGW32__ code. + + * Makefile.am: Modified some rules for cross compiling. + 2003-05-25 Dirk Herrmann * eval.c (SCM_CEVAL): In case of an application, all checks for a diff --git a/libguile/Makefile.am b/libguile/Makefile.am index 65cd20a42..c0f7e0102 100644 --- a/libguile/Makefile.am +++ b/libguile/Makefile.am @@ -42,15 +42,24 @@ gen_scmconfig_SOURCES = gen-scmconfig.c ## For some reason, OBJEXT does not include the dot gen-scmconfig.$(OBJEXT): gen-scmconfig.c if [ "$(cross_compiling)" = "yes" ]; then \ - $(CC_FOR_BUILD) -c -o $@ $<; \ + $(CC_FOR_BUILD) $(DEFS) $(INCLUDES) -c -o $@ $<; \ else \ $(COMPILE) -c -o $@ $<; \ fi -scmconfig.h: ${top_builddir}/config.h gen-scmconfig +## Override default rule; this should run on BUILD host. +gen-scmconfig$(EXEEXT): $(gen_scmconfig_OBJECTS) $(gen_scmconfig_DEPENDENCIES) + @rm -f gen-scmconfig$(EXEEXT) + if [ "$(cross_compiling)" = "yes" ]; then \ + $(CCLD_FOR_BUILD) -o $@ $(gen_scmconfig_OBJECTS); \ + else \ + $(LINK) $(gen_scmconfig_OBJECTS) $(LDADD) $(LIBS); \ + fi + +scmconfig.h: ${top_builddir}/config.h gen-scmconfig$(EXEEXT) rm -f scmconfig.h.tmp cat $(srcdir)/scmconfig.h.top > scmconfig.h.tmp - ./gen-scmconfig >> scmconfig.h.tmp + ./gen-scmconfig$(EXEEXT) >> scmconfig.h.tmp chmod 444 scmconfig.h.tmp rm -f scmconfig.h mv scmconfig.h.tmp scmconfig.h @@ -61,7 +70,7 @@ guile_filter_doc_snarfage_SOURCES = c-tokenize.c ## For some reason, OBJEXT does not include the dot c-tokenize.$(OBJEXT): c-tokenize.c if [ "$(cross_compiling)" = "yes" ]; then \ - $(CC_FOR_BUILD) -c -o $@ $<; \ + $(CC_FOR_BUILD) $(DEFS) $(INCLUDES) -c -o $@ $<; \ else \ $(COMPILE) -c -o $@ $<; \ fi @@ -271,10 +280,10 @@ alldotdocfiles = $(DOT_DOC_FILES) $(EXTRA_DOT_DOC_FILES) snarf2checkedtexi = GUILE="$(GUILE_FOR_BUILD)" $(top_srcdir)/scripts/snarf-check-and-output-texi dotdoc2texi = cat $(alldotdocfiles) | $(snarf2checkedtexi) -guile.texi: $(alldotdocfiles) guile +guile.texi: $(alldotdocfiles) guile$(EXEEXT) $(dotdoc2texi) --manual > $@ || { rm $@; false; } -guile-procedures.texi: $(alldotdocfiles) guile +guile-procedures.texi: $(alldotdocfiles) guile$(EXEEXT) $(dotdoc2texi) > $@ || { rm $@; false; } if HAVE_MAKEINFO diff --git a/libguile/filesys.c b/libguile/filesys.c index 3434756a3..91c00852f 100644 --- a/libguile/filesys.c +++ b/libguile/filesys.c @@ -1503,14 +1503,14 @@ SCM_DEFINE (scm_basename, "basename", 1, 1, 0, if (j == -1) end = i; #ifdef __MINGW32__ - while (i >= 0 && (f[i] != '/' || f[i] != '\\')) --i; + while (i >= 0 && f[i] != '/' && f[i] != '\\') --i; #else while (i >= 0 && f[i] != '/') --i; #endif /* ndef __MINGW32__ */ if (i == end) { #ifdef __MINGW32__ - if (len > 0 && (f[0] == '/' || f[i] == '\\')) + if (len > 0 && (f[0] == '/' || f[0] == '\\')) #else if (len > 0 && f[0] == '/') #endif /* ndef __MINGW32__ */ diff --git a/libguile/fports.c b/libguile/fports.c index 078135a8c..e30d7bb8c 100644 --- a/libguile/fports.c +++ b/libguile/fports.c @@ -513,6 +513,7 @@ fport_print (SCM exp, SCM port, scm_print_state *pstate SCM_UNUSED) return 1; } +#ifndef __MINGW32__ /* thread-local block for input on fport's fdes. */ static void fport_wait_for_input (SCM port) @@ -537,6 +538,7 @@ fport_wait_for_input (SCM port) while (n == -1 && errno == EINTR); } } +#endif /* !__MINGW32__ */ static void fport_flush (SCM port); @@ -549,7 +551,9 @@ fport_fill_input (SCM port) scm_t_port *pt = SCM_PTAB_ENTRY (port); scm_t_fport *fp = SCM_FSTREAM (port); +#ifndef __MINGW32__ fport_wait_for_input (port); +#endif /* !__MINGW32__ */ SCM_SYSCALL (count = read (fp->fdes, pt->read_buf, pt->read_buf_size)); if (count == -1) scm_syserror ("fport_fill_input"); diff --git a/libguile/gc-freelist.c b/libguile/gc-freelist.c index cebea1079..e9863695e 100644 --- a/libguile/gc-freelist.c +++ b/libguile/gc-freelist.c @@ -48,16 +48,17 @@ is unset before allocation. --hwn SCM_DEFINE (scm_map_free_list, "map-free-list", 0, 0, 0, (), "DEPRECATED\n") -#define FUNC_NAME s_scm_map_free_list +#define FUNC_NAME "s_scm_map_free_list" { scm_c_issue_deprecation_warning ("map-free-list has been removed from GUILE. Doing nothing\n"); return SCM_UNSPECIFIED; } +#undef FUNC_NAME SCM_DEFINE (scm_gc_set_debug_check_freelist_x, "gc-set-debug-check-freelist!", 1, 0, 0, (SCM flag), "DEPRECATED.\n") -#define FUNC_NAME s_scm_gc_set_debug_check_freelist_x +#define FUNC_NAME "s_scm_gc_set_debug_check_freelist_x" { scm_c_issue_deprecation_warning ("gc-set-debug-check-freelist! has been removed from GUILE. Doing nothing\n"); return SCM_UNSPECIFIED; diff --git a/libguile/gc.h b/libguile/gc.h index 3acaca11a..bebe856c4 100644 --- a/libguile/gc.h +++ b/libguile/gc.h @@ -235,7 +235,7 @@ void scm_i_expensive_validation_check (SCM cell); SCM_API int scm_block_gc; SCM_API int scm_gc_heap_lock; SCM_API unsigned int scm_gc_running_p; -extern scm_t_rec_mutex scm_i_sweep_mutex; +SCM_API scm_t_rec_mutex scm_i_sweep_mutex; #if (SCM_ENABLE_DEPRECATED == 1) @@ -260,10 +260,10 @@ SCM_API size_t scm_max_segment_size; *ls = SCM_EOL; \ scm_setspecific ((key), ls); } while (0) #define SCM_FREELIST_LOC(key) ((SCM *) scm_getspecific (key)) -extern scm_t_key scm_i_freelist; -extern scm_t_key scm_i_freelist2; -extern struct scm_t_cell_type_statistics scm_i_master_freelist; -extern struct scm_t_cell_type_statistics scm_i_master_freelist2; +SCM_API scm_t_key scm_i_freelist; +SCM_API scm_t_key scm_i_freelist2; +SCM_API struct scm_t_cell_type_statistics scm_i_master_freelist; +SCM_API struct scm_t_cell_type_statistics scm_i_master_freelist2; SCM_API unsigned long scm_gc_cells_swept; @@ -288,9 +288,13 @@ SCM_API scm_t_c_hook scm_after_sweep_c_hook; SCM_API scm_t_c_hook scm_after_gc_c_hook; #if defined (GUILE_DEBUG) || defined (GUILE_DEBUG_FREELIST) +#if (SCM_ENABLE_DEPRECATED == 1) +SCM scm_map_free_list (void); +#else #define scm_map_free_list deprecated #define scm_free_list_length deprecated #endif +#endif #if (SCM_ENABLE_DEPRECATED == 1) && defined (GUILE_DEBUG_FREELIST) SCM_API SCM scm_gc_set_debug_check_freelist_x (SCM flag); diff --git a/libguile/load.c b/libguile/load.c index b5a7757d0..71715263b 100644 --- a/libguile/load.c +++ b/libguile/load.c @@ -188,7 +188,11 @@ scm_internal_parse_path (char *path, SCM tail) do { /* Scan back to the beginning of the current element. */ do scan--; +#ifdef __MINGW32__ + while (scan >= path && *scan != ';'); +#else while (scan >= path && *scan != ':'); +#endif tail = scm_cons (scm_mem2string (scan + 1, elt_end - (scan + 1)), tail); elt_end = scan; @@ -273,7 +277,16 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0, filename_len = SCM_STRING_LENGTH (filename); /* If FILENAME is absolute, return it unchanged. */ +#ifdef __MINGW32__ + if (((filename_len >= 1) && + (filename_chars[0] == '/' || filename_chars[0] == '\\')) || + ((filename_len >= 3) && filename_chars[1] == ':' && + ((filename_chars[0] >= 'a' && filename_chars[0] <= 'z') || + (filename_chars[0] >= 'A' && filename_chars[0] <= 'Z')) && + (filename_chars[2] == '/' || filename_chars[2] == '\\'))) +#else if (filename_len >= 1 && filename_chars[0] == '/') +#endif return filename; /* Find the length of the longest element of path. */ @@ -306,7 +319,11 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0, extensions = SCM_EOL; break; } +#ifdef __MINGW32__ + else if (*endp == '/' || *endp == '\\') +#else else if (*endp == '/') +#endif /* This filename has no extension, so keep the current list of extensions. */ break; @@ -351,7 +368,11 @@ SCM_DEFINE (scm_search_path, "search-path", 2, 1, 0, /* Concatenate the path name and the filename. */ len = SCM_STRING_LENGTH (dir); memcpy (buf, SCM_STRING_CHARS (dir), len); +#ifdef __MINGW32__ + if (len >= 1 && buf[len - 1] != '/' && buf[len - 1] != '\\') +#else if (len >= 1 && buf[len - 1] != '/') +#endif buf[len++] = '/'; memcpy (buf + len, filename_chars, filename_len); len += filename_len; @@ -433,7 +454,12 @@ SCM_DEFINE (scm_primitive_load_path, "primitive-load-path", 1, 0, 0, if (SCM_FALSEP (full_filename)) { int absolute = (SCM_STRING_LENGTH (filename) >= 1 +#ifdef __MINGW32__ + && (SCM_STRING_CHARS (filename)[0] == '/' || + SCM_STRING_CHARS (filename)[0] == '\\')); +#else && SCM_STRING_CHARS (filename)[0] == '/'); +#endif SCM_MISC_ERROR ((absolute ? "Unable to load file ~S" : "Unable to find file ~S in load path"), diff --git a/libguile/mkstemp.c b/libguile/mkstemp.c index fe2487dae..25b23e23e 100644 --- a/libguile/mkstemp.c +++ b/libguile/mkstemp.c @@ -47,6 +47,11 @@ #define TMP_MAX 16384 #endif +/* We provide this prototype to avoid compiler warnings. If this ever + conflicts with a declaration in a system header file, we'll find + out, because we should include that header file here. */ +int mkstemp (char *); + /* Generate a unique temporary file name from TEMPLATE. TEMPLATE has the form: diff --git a/libguile/modules.c b/libguile/modules.c index 801bd7786..fd13c516b 100644 --- a/libguile/modules.c +++ b/libguile/modules.c @@ -401,25 +401,25 @@ SCM_DEFINE (scm_module_import_interface, "module-import-interface", 2, 0, 0, uses = SCM_MODULE_USES (module); while (SCM_CONSP (uses)) { - SCM interface = SCM_CAR (uses); + SCM _interface = SCM_CAR (uses); /* 1. Check module obarray */ - SCM b = scm_hashq_ref (SCM_MODULE_OBARRAY (interface), sym, SCM_BOOL_F); + SCM b = scm_hashq_ref (SCM_MODULE_OBARRAY (_interface), sym, SCM_BOOL_F); if (SCM_BOUND_THING_P (b)) - return interface; + return _interface; { - SCM binder = SCM_MODULE_BINDER (interface); + SCM binder = SCM_MODULE_BINDER (_interface); if (!SCM_FALSEP (binder)) /* 2. Custom binder */ { - b = scm_call_3 (binder, interface, sym, SCM_BOOL_F); + b = scm_call_3 (binder, _interface, sym, SCM_BOOL_F); if (SCM_BOUND_THING_P (b)) - return interface; + return _interface; } } /* 3. Search use list recursively. */ - interface = scm_module_import_interface (interface, sym); - if (!SCM_FALSEP (interface)) - return interface; + _interface = scm_module_import_interface (_interface, sym); + if (!SCM_FALSEP (_interface)) + return _interface; uses = SCM_CDR (uses); } return SCM_BOOL_F; diff --git a/libguile/posix.c b/libguile/posix.c index b7b1b27b4..2269bc365 100644 --- a/libguile/posix.c +++ b/libguile/posix.c @@ -1162,6 +1162,7 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0, SCM_VALIDATE_STRING (1, str); +#ifndef __MINGW32__ if (strchr (SCM_STRING_CHARS (str), '=') == NULL) { /* No '=' in argument means we should remove the variable from @@ -1170,6 +1171,7 @@ SCM_DEFINE (scm_putenv, "putenv", 1, 0, 0, unsetenv (SCM_STRING_CHARS (str)); } else +#endif { /* must make a new copy to be left in the environment, safe from gc. */ ptr = scm_malloc (SCM_STRING_LENGTH (str) + 1); diff --git a/libguile/stime.c b/libguile/stime.c index cecb49357..08276f9f4 100644 --- a/libguile/stime.c +++ b/libguile/stime.c @@ -561,7 +561,7 @@ SCM_DEFINE (scm_strftime, "strftime", 2, 0, 0, environment. interrupts and thread switching must be deferred until TZ is restored. */ char **oldenv = NULL; - SCM *velts = SCM_VELTS (stime); + SCM *velts = (SCM *) SCM_VELTS (stime); int have_zone = 0; if (!SCM_FALSEP (velts[10]) && *SCM_STRING_CHARS (velts[10]) != 0) diff --git a/libguile/threads.h b/libguile/threads.h index aa33bd440..cebdc7b69 100644 --- a/libguile/threads.h +++ b/libguile/threads.h @@ -238,7 +238,7 @@ extern scm_t_key scm_i_thread_key; They really refer to the root state of the running thread. */ #define SCM_THREAD_LOCAL_DATA (scm_i_plugin_getspecific (scm_i_root_state_key)) #define SCM_SET_THREAD_LOCAL_DATA(x) scm_i_set_thread_data(x) -extern scm_t_key scm_i_root_state_key; +SCM_API scm_t_key scm_i_root_state_key; SCM_API void scm_i_set_thread_data (void *); #endif /* SCM_THREADS_H */ diff --git a/libguile/win32-dirent.c b/libguile/win32-dirent.c index 5f997bb12..080ec0982 100644 --- a/libguile/win32-dirent.c +++ b/libguile/win32-dirent.c @@ -33,7 +33,7 @@ opendir (const char * name) if (!name || !*name) return NULL; - file = scm_malloc (strlen (name) + 3); + file = malloc (strlen (name) + 3); strcpy (file, name); if (file[strlen (name) - 1] != '/' && file[strlen (name) - 1] != '\\') strcat (file, "/*"); @@ -46,10 +46,10 @@ opendir (const char * name) return NULL; } - dir = scm_malloc (sizeof (DIR)); + dir = malloc (sizeof (DIR)); dir->mask = file; dir->fd = (int) hnd; - dir->data = scm_malloc (sizeof (WIN32_FIND_DATA)); + dir->data = malloc (sizeof (WIN32_FIND_DATA)); dir->allocation = sizeof (WIN32_FIND_DATA); dir->size = dir->allocation; dir->filepos = 0; diff --git a/srfi/ChangeLog b/srfi/ChangeLog index 133b4221a..0f49f554b 100644 --- a/srfi/ChangeLog +++ b/srfi/ChangeLog @@ -1,3 +1,10 @@ +2003-05-29 Stefan Jahn + + * Makefile.am (libguile_srfi_srfi_1_la_LDFLAGS, + libguile_srfi_srfi_4_la_LDFLAGS, + libguile_srfi_srfi_13_14__la_LDFLAGS): Added the -no-undefined + option for the mingw32 build. + 2003-05-13 Kevin Ryde * srfi-1.scm (delete): Fix predicate arg order to match srfi-1 spec. diff --git a/srfi/Makefile.am b/srfi/Makefile.am index 2c8eeab12..da52fa617 100644 --- a/srfi/Makefile.am +++ b/srfi/Makefile.am @@ -41,17 +41,17 @@ BUILT_SOURCES = srfi-1.x srfi-4.x srfi-13.x srfi-14.x libguile_srfi_srfi_1_la_SOURCES = srfi-1.x srfi-1.c libguile_srfi_srfi_1_la_LIBADD = ../libguile/libguile.la -libguile_srfi_srfi_1_la_LDFLAGS = -export-dynamic \ +libguile_srfi_srfi_1_la_LDFLAGS = -no-undefined -export-dynamic \ -version-info @LIBGUILE_SRFI_SRFI_1_INTERFACE@ libguile_srfi_srfi_4_la_SOURCES = srfi-4.x srfi-4.c libguile_srfi_srfi_4_la_LIBADD = ../libguile/libguile.la -libguile_srfi_srfi_4_la_LDFLAGS = -export-dynamic \ +libguile_srfi_srfi_4_la_LDFLAGS = -no-undefined -export-dynamic \ -version-info @LIBGUILE_SRFI_SRFI_4_INTERFACE@ libguile_srfi_srfi_13_14_la_SOURCES = srfi-13.x srfi-13.c srfi-14.x srfi-14.c libguile_srfi_srfi_13_14_la_LIBADD = ../libguile/libguile.la -libguile_srfi_srfi_13_14_la_LDFLAGS = -export-dynamic \ +libguile_srfi_srfi_13_14_la_LDFLAGS = -no-undefined -export-dynamic \ -version-info @LIBGUILE_SRFI_SRFI_13_14_INTERFACE@ srfidir = $(datadir)/guile/$(GUILE_EFFECTIVE_VERSION)/srfi diff --git a/test-suite/ChangeLog b/test-suite/ChangeLog index 02f51d522..4cdcdc0f5 100644 --- a/test-suite/ChangeLog +++ b/test-suite/ChangeLog @@ -1,3 +1,7 @@ +2003-05-29 Stefan Jahn + + * standalone/Makefile.am: Setup to build on mingw32. + 2003-05-27 Dirk Herrmann * tests/elisp.test: Added missing quote around vector constants. diff --git a/test-suite/standalone/Makefile.am b/test-suite/standalone/Makefile.am index 22d199a03..d9a841960 100644 --- a/test-suite/standalone/Makefile.am +++ b/test-suite/standalone/Makefile.am @@ -11,7 +11,7 @@ TESTS_ENVIRONMENT = "${top_builddir}/pre-inst-guile-env" test_cflags := \ -I$(top_srcdir)/test-suite/standalone \ -I$(top_srcdir) \ - -I$(top_srcdir)/libguile-ltdl + -I$(top_srcdir)/libguile-ltdl $(EXTRA_DEFS) snarfcppopts = $(DEFS) $(DEFAULT_INCLUDES) $(CPPFLAGS) $(CFLAGS) %.x: %.c @@ -39,7 +39,7 @@ TESTS += test-gh noinst_LTLIBRARIES += libtest-asmobs.la libtest_asmobs_la_SOURCES = test-asmobs-lib.c test-asmobs-lib.x libtest_asmobs_la_CFLAGS = ${test_cflags} -libtest_asmobs_la_LDFLAGS = -rpath `pwd` # so libtool will really build an .so +libtest_asmobs_la_LDFLAGS = -no-undefined -rpath `pwd` # so libtool will really build an .so libtest_asmobs_la_LIBADD = ${top_builddir}/libguile/libguile.la BUILT_SOURCES += test-asmobs-lib.x check_SCRIPTS += test-asmobs -- 2.20.1