mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-08 13:10:19 +02:00
2003-05-29 Stefan Jahn <stefan@lkcc.org>
* 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 <stefan@lkcc.org> * 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 <stefan@lkcc.org> * raw-ltdl.c: Some more modifications for mingw32 platforms. 2003-05-29 Stefan Jahn <stefan@lkcc.org> * 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 <stefan@lkcc.org> * standalone/Makefile.am: Setup to build on mingw32.
This commit is contained in:
parent
42ad901d04
commit
2e945bccca
21 changed files with 150 additions and 45 deletions
|
@ -1,3 +1,8 @@
|
|||
2003-05-29 Stefan Jahn <stefan@lkcc.org>
|
||||
|
||||
* 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 <user42@zip.com.au>
|
||||
|
||||
* README (Cross building Guile): Remove --with-cc-for-build in favour
|
||||
|
|
13
configure.in
13
configure.in
|
@ -483,7 +483,9 @@ AC_TYPE_GETGROUPS
|
|||
AC_TYPE_SIGNAL
|
||||
AC_TYPE_MODE_T
|
||||
|
||||
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;],
|
||||
AC_CACHE_VAL(guile_cv_have_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)
|
||||
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 $have_libc_stack_end = yes; then
|
||||
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
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2003-05-29 Stefan Jahn <stefan@lkcc.org>
|
||||
|
||||
* raw-ltdl.c: Some more modifications for mingw32 platforms.
|
||||
|
||||
2003-03-24 Marius Vollmer <marius.vollmer@uni-dortmund.de>
|
||||
|
||||
* raw-ltdl.c: Include <config.h> instead of
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -1,3 +1,35 @@
|
|||
2003-05-29 Stefan Jahn <stefan@lkcc.org>
|
||||
|
||||
* 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 <D.Herrmann@tu-bs.de>
|
||||
|
||||
* eval.c (SCM_CEVAL): In case of an application, all checks for a
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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__ */
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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"),
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -1,3 +1,10 @@
|
|||
2003-05-29 Stefan Jahn <stefan@lkcc.org>
|
||||
|
||||
* 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 <user42@zip.com.au>
|
||||
|
||||
* srfi-1.scm (delete): Fix predicate arg order to match srfi-1 spec.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2003-05-29 Stefan Jahn <stefan@lkcc.org>
|
||||
|
||||
* standalone/Makefile.am: Setup to build on mingw32.
|
||||
|
||||
2003-05-27 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
||||
|
||||
* tests/elisp.test: Added missing quote around vector constants.
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue