From 63678eb25cb51295f87294751797d8a93597dbae Mon Sep 17 00:00:00 2001 From: jjgarcia Date: Mon, 22 Nov 2004 19:02:58 +0000 Subject: [PATCH] Fixes for mingw32 --- src/Makefile.in | 2 +- src/c/load.d | 36 +++++++++++++++++------------------- src/c/symbols_list.h | 6 +++--- src/c/unixfsys.d | 21 +++++++++++---------- 4 files changed, 32 insertions(+), 33 deletions(-) diff --git a/src/Makefile.in b/src/Makefile.in index f46729e4e..1d3cbc5d9 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -108,7 +108,7 @@ install-base: flatinstall: BUILD-STAMP $(MAKE) bindir=$(prefix) libdir=$(prefix) install-base cd c; $(MAKE) prefix=$(prefix) flatinstall - cd doc; $(MAKE) prefix=$(prefix) flatinstall + cd doc; $(MAKE) prefix=$(prefix) docdir=$(prefix)/doc flatinstall uninstall: for i in $(TARGETS) ecl-config; do rm -rf $(bindir)/$$i; done diff --git a/src/c/load.d b/src/c/load.d index 4211888c7..5567597ef 100644 --- a/src/c/load.d +++ b/src/c/load.d @@ -18,25 +18,23 @@ #include "internal.h" #ifdef ENABLE_DLOPEN -#ifdef HAVE_DLFCN_H -#include -#define INIT_PREFIX "init_" -#endif -#ifdef HAVE_LINK_H -#include -#endif -#ifdef HAVE_MACH_O_DYLD_H -#include -#define INIT_PREFIX "_init_" -#endif -#if defined(mingw32) || defined(_MSC_VER) -#ifdef _MSC_VER -#include -#endif -#include -#include -#define INIT_PREFIX "init_" -#endif +# ifdef HAVE_DLFCN_H +# include +# define INIT_PREFIX "init_" +# endif +# ifdef HAVE_LINK_H +# include +# endif +# ifdef HAVE_MACH_O_DYLD_H +# include +# define INIT_PREFIX "_init_" +# endif +# if defined(mingw32) || defined(_MSC_VER) +# include +# include +# include +# define INIT_PREFIX "init_" +# endif #endif #ifdef ENABLE_DLOPEN diff --git a/src/c/symbols_list.h b/src/c/symbols_list.h index 133be5674..abc72ae0e 100644 --- a/src/c/symbols_list.h +++ b/src/c/symbols_list.h @@ -1096,9 +1096,6 @@ cl_symbols[] = { {SYS_ "GET-STRING-INPUT-STREAM-INDEX", SI_ORDINARY, si_get_string_input_stream_index, 1, OBJNULL}, {SYS_ "GETENV", SI_ORDINARY, si_getenv, 1, OBJNULL}, {SYS_ "GETCWD", SI_ORDINARY, si_getcwd, 0, OBJNULL}, -#ifdef _MSC_VER -{SYS_ "GET-LIBRARY-PATHNAME", SI_ORDINARY, si_get_library_pathname, 0, OBJNULL}, -#endif {SYS_ "HASH-SET", SI_ORDINARY, si_hash_set, 3, OBJNULL}, {SYS_ "HASH-TABLE-ITERATOR", SI_ORDINARY, si_hash_table_iterator, 1, OBJNULL}, {SYS_ "IHS-ENV", SI_ORDINARY, si_ihs_env, 1, OBJNULL}, @@ -1458,6 +1455,9 @@ cl_symbols[] = { #endif {EXT_ "RUN-PROGRAM", SI_ORDINARY, si_run_program, -1, OBJNULL}, +#if defined(_MSC_VER) || defined(mingw32) +{SYS_ "GET-LIBRARY-PATHNAME", SI_ORDINARY, si_get_library_pathname, 0, OBJNULL}, +#endif /* Tag for end of list */ {NULL, CL_ORDINARY, NULL, -1, OBJNULL}}; diff --git a/src/c/unixfsys.d b/src/c/unixfsys.d index cb7e86765..359b61ee3 100644 --- a/src/c/unixfsys.d +++ b/src/c/unixfsys.d @@ -29,14 +29,15 @@ #ifdef HAVE_DIRENT_H # include #else -# ifndef _MSC_VER +# if !defined(_MSC_VER) # include -# else -# include -# undef ERROR -# define MAXPATHLEN 512 # endif #endif +#if defined(_MSC_VER) || defined(mingw32) +# include +# undef ERROR +# define MAXPATHLEN 512 +#endif #ifndef HAVE_MKSTEMP # include #endif @@ -92,7 +93,7 @@ current_dir(void) { static cl_object file_kind(char *filename, bool follow_links) { -#ifdef _MSC_VER +#if defined(_MSC_VER) || defined(mingw32) DWORD dw = GetFileAttributes( filename ); if (dw == -1) return Cnil; @@ -187,11 +188,11 @@ cl_truename(cl_object pathname) filename = OBJNULL; } #endif -#ifdef _MSC_VER - if (filename->pathname.device != Cnil) +#if defined(_MSC_VER) || defined(mingw32) + if (pathname->pathname.device != Cnil) { char device[3] = {'\0', ':', '\0'}; - device[0] = filename->pathname.device->string.self[0]; + device[0] = pathname->pathname.device->string.self[0]; if (chdir( device ) < 0) goto ERROR; } @@ -704,7 +705,7 @@ si_getcwd(void) return cl_parse_namestring(3, current_dir(), Cnil, Cnil); } -#ifdef _MSC_VER +#if defined(_MSC_VER) || defined(mingw32) cl_object si_get_library_pathname(void) {