repairs for MinGW build

Fix compiler warnings and installation bugs related to the
".exe" extension.
This commit is contained in:
Matthew Flatt 2015-08-17 08:32:12 -06:00
parent a3e359d9e1
commit fea2b1ce5e
9 changed files with 28 additions and 25 deletions

View File

@ -3997,8 +3997,6 @@
;; Not a decl
(values (reverse decls) el))))))
(define braces-then-semi '(typedef struct union enum __extension__))
(define (get-one e comma-sep?)
(let loop ([e e][result null][first #f][second #f])
(cond
@ -4018,7 +4016,7 @@
[(and (eq? '|,| (tok-n (car e))) comma-sep?)
(values (reverse (cons (car e) result)) (cdr e))]
[(and (braces? (car e))
(not (memq first '(typedef enum __extension__)))
(not (memq first '(typedef enum)))
(or (not (memq first '(static extern const struct union)))
(equal? second "C") ; => extern "C" ...
(equal? second "C++") ; => extern "C++" ...
@ -4030,7 +4028,10 @@
(values (reverse (cons (car e) result)) rest)
(values (reverse (list* (car rest) (car e) result)) (cdr rest))))]
[else (loop (cdr e) (cons (car e) result)
(or first (tok-n (car e)))
(or first (let ([s (tok-n (car e))])
(if (memq s '(__extension__))
#f ; skip over annotation when deciding shape
s)))
(or second (and first (tok-n (car e)))))])))
(define (foldl-statement e comma-sep? f a-init)

View File

@ -204,7 +204,7 @@ install-lib-cgc-wx_xt:
install-wx_xt-cgc:
$(MAKE) @MRLIBINSTALL@-cgc-wx_xt
cd ..; $(ICP) gracket/gracket@CGC@ "$(DESTDIR)$(libpltdir)/gracket@CGC_INSTALLED@"
cd ..; $(ICP) gracket/gracket@CGC@ "$(DESTDIR)$(libpltdir)/gracket@CGC_INSTALLED@@EXE_SUFFIX@"
cd ..; @STRIP_DEBUG@ "$(DESTDIR)$(libpltdir)/gracket@CGC_INSTALLED@@EXE_SUFFIX@"
@RUN_RACKET_CGC@ $(SELF_RACKET_FLAGS) -cu "$(srcdir)/../racket/collects-path.rkt" @DIRCVTPRE@"$(DESTDIR)$(libpltdir)/gracket@CGC_INSTALLED@@EXE_SUFFIX@"@DIRCVTPOST@ @COLLECTS_PATH@ @CONFIG_PATH@
@ -219,7 +219,7 @@ install-lib-3m-wx_xt:
install-wx_xt-3m:
$(MAKE) @MRLIBINSTALL@-3m-wx_xt
cd ..; $(ICP) gracket/gracket@MMM@ "$(DESTDIR)$(libpltdir)/gracket@MMM_INSTALLED@"
cd ..; $(ICP) gracket/gracket@MMM@ "$(DESTDIR)$(libpltdir)/gracket@MMM_INSTALLED@@EXE_SUFFIX@"
cd ..; @STRIP_DEBUG@ "$(DESTDIR)$(libpltdir)/gracket@MMM_INSTALLED@@EXE_SUFFIX@"
@RUN_RACKET_MMM@ $(SELF_RACKET_FLAGS) -cu "$(srcdir)/../racket/collects-path.rkt" @DIRCVTPRE@"$(DESTDIR)$(libpltdir)/gracket@MMM_INSTALLED@@EXE_SUFFIX@"@DIRCVTPOST@ @COLLECTS_PATH@ @CONFIG_PATH@

View File

@ -52,8 +52,10 @@ static void pre_filter_cmdline_arguments(int *argc, char ***argv);
#if WIN32
# define DLL_RELATIVE_PATH L"."
# ifndef INITIAL_COLLECTS_DIRECTORY
# define INITIAL_COLLECTS_DIRECTORY "../collects"
# endif
#endif
#ifndef INITIAL_CONFIG_DIRECTORY
# define INITIAL_CONFIG_DIRECTORY "../etc"
@ -113,7 +115,7 @@ static void init_console_in()
if (!console_in) {
console_in = GetStdHandle(STD_INPUT_HANDLE);
MZ_REGISTER_STATIC(console_inport);
console_inport = scheme_make_fd_input_port((int)console_in, scheme_intern_symbol("stdin"), 0, 0);
console_inport = scheme_make_fd_input_port((intptr_t)console_in, scheme_intern_symbol("stdin"), 0, 0);
}
}

View File

@ -405,14 +405,14 @@ mingw-install:
mingw-install-cgc:
cd ..; $(ICP) racket/lib/libmzgcxxxxxxx.dll "$(DESTDIR)$(libdir)/libmzgcxxxxxxx.dll"
cd ..; $(ICP) racket/lib/libracketxxxxxxx.dll "$(DESTDIR)$(libdir)/libracketxxxxxxx.dll"
cd ..; $(ICP) racket/racket@CGC@ "$(DESTDIR)@MZINSTALLBINDIR@/Racket@CGC_INSTALLED@"
cd ..; $(ICP) racket/racket@CGC@ "$(DESTDIR)@MZINSTALLBINDIR@/Racket@CGC_INSTALLED@@EXE_SUFFIX@"
@RUN_RACKET_CGC@ -cu "$(srcdir)/collects-path.rkt" @DIRCVTPRE@"$(DESTDIR)@MZINSTALLBINDIR@/Racket@CGC_INSTALLED@@EXE_SUFFIX@"@DIRCVTPOST@ $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
mingw-install-cgc-final:
$(NOOP)
mingw-install-3m:
cd ..; $(ICP) racket/racket@MMM@ "$(DESTDIR)@MZINSTALLBINDIR@/Racket@MMM_INSTALLED@"
cd ..; $(ICP) racket/racket@MMM@ "$(DESTDIR)@MZINSTALLBINDIR@/Racket@MMM_INSTALLED@@EXE_SUFFIX@"
cd ..; $(ICP) racket/lib/libracket3mxxxxxxx.dll "$(DESTDIR)$(libdir)/libracket3mxxxxxxx.dll"
@RUN_RACKET_MMM@ -cu "$(srcdir)/collects-path.rkt" @DIRCVTPRE@"$(DESTDIR)@MZINSTALLBINDIR@/Racket@MMM_INSTALLED@@EXE_SUFFIX@"@DIRCVTPOST@ $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@

View File

@ -25,7 +25,7 @@ ALL_CFLAGS = $(CFLAGS) $(CPPFLAGS) -I$(builddir)/.. -I$(srcdir)/../include -I$(s
dynlib:
$(MAKE) ../mzdyn.o
$(MAKE) ../starter
$(MAKE) ../starter@EXE_SUFFIX@
dynlib3m:
$(MAKE) ../mzdyn3m.o
@ -53,12 +53,12 @@ dynexmpl.o: $(srcdir)/dynexmpl.c $(HEADERS)
$(PLAIN_CC) $(ALL_CFLAGS) -c $(srcdir)/dynexmpl.c -o dynexmpl.o
../starter@NOT_MINGW@@EXE_SUFFIX@: $(srcdir)/ustart.c
$(PLAIN_CC) $(ALL_CFLAGS) -o ../starter $(srcdir)/ustart.c
$(PLAIN_CC) $(ALL_CFLAGS) -o ../starter@EXE_SUFFIX@ $(srcdir)/ustart.c
../starter@MINGW@@EXE_SUFFIX@: $(srcdir)/start.c ../mrstarter@EXE_SUFFIX@ sres.o
$(PLAIN_CC) $(ALL_CFLAGS) -o ../starter $(srcdir)/start.c sres.o
$(PLAIN_CC) $(ALL_CFLAGS) -o ../starter@EXE_SUFFIX@ $(srcdir)/start.c sres.o
../mrstarter@EXE_SUFFIX@: sres.o
$(PLAIN_CC) $(ALL_CFLAGS) -mwindows -DMRSTART -o ../mrstarter $(srcdir)/start.c sres.o
$(PLAIN_CC) $(ALL_CFLAGS) -mwindows -DMRSTART -o ../mrstarter@EXE_SUFFIX@ $(srcdir)/start.c sres.o
sres.o:
@WINDRES@ -i $(srcdir)/../../worksp/starters/start.rc -o sres.o

View File

@ -320,7 +320,7 @@ int wmain(int argc_in, wchar_t **argv_in)
if (_wstat(go, &st)) {
#ifdef USE_WINMAIN
wchar_t errbuff[MAXCOMMANDLEN * 2];
swprintf(errbuff,L"Can't find %s",go);
swprintf(errbuff,sizeof(errbuff),L"Can't find %s",go);
MessageBoxW(NULL,errbuff,L"Error",MB_OK);
#else
char errbuff[MAXCOMMANDLEN * 2];
@ -367,7 +367,7 @@ int wmain(int argc_in, wchar_t **argv_in)
if (cl_len > MAXCOMMANDLEN) {
#ifdef MRSTART
wchar_t errbuff[MAXCOMMANDLEN * 2];
swprintf(errbuff,L"Command line of %d characters exceeds %d characters: %.1024s",
swprintf(errbuff,sizeof(errbuff),L"Command line of %d characters exceeds %d characters: %.1024s",
cl_len, MAXCOMMANDLEN,command_line);
MessageBoxW(NULL,errbuff,L"Error",MB_OK);
#else

View File

@ -1906,8 +1906,8 @@ MZ_EXTERN void scheme_register_embedded_load(intptr_t len, const char *s);
typedef void (*Scheme_Exit_Proc)(int v);
MZ_EXTERN Scheme_Exit_Proc scheme_exit;
MZ_EXTERN void scheme_set_exit(Scheme_Exit_Proc p);
typedef void (*Scheme_At_Exit_Callback_Proc)();
typedef void (*Scheme_At_Exit_Proc)(Scheme_At_Exit_Callback_Proc);
typedef void (*Scheme_At_Exit_Callback_Proc)(void);
typedef int (*Scheme_At_Exit_Proc)(Scheme_At_Exit_Callback_Proc);
MZ_EXTERN void scheme_set_atexit(Scheme_At_Exit_Proc p);
typedef void (*scheme_console_printf_t)(char *str, ...);
MZ_EXTERN scheme_console_printf_t scheme_console_printf;

View File

@ -2411,9 +2411,9 @@ Scheme_Object *combine_link_path(char *copy, int len, char *clink, int clen,
# define MZ_UNC_WRITE 0x2
# define MZ_UNC_EXEC 0x4
static int UNC_stat(char *dirname, int len, int *flags, int *isdir, int *islink,
static int UNC_stat(const char *dirname, int len, int *flags, int *isdir, int *islink,
Scheme_Object **date, mzlonglong *filesize,
char **resolved_path, int set_flags)
const char **resolved_path, int set_flags)
/* dirname must be absolute */
{
/* Note: stat() doesn't work with UNC "drive" names or \\?\ paths.
@ -4179,7 +4179,7 @@ static char *filename_for_error(Scheme_Object *p)
}
#ifdef DOS_FILE_SYSTEM
static int enable_write_permission(char *fn)
static int enable_write_permission(const char *fn)
{
int len;
int flags;
@ -5407,10 +5407,10 @@ static Scheme_Object *do_directory_list(int break_ok, int argc, Scheme_Object *a
err_val = GetLastError();
if ((err_val == ERROR_DIRECTORY) && CreateSymbolicLinkProc) {
/* check for symbolic link */
char *resolved;
const char *resolved;
if (UNC_stat(filename, strlen(filename), NULL, NULL, NULL, NULL, NULL, &resolved, -1)) {
if (resolved) {
filename = resolved;
filename = (char *)resolved;
goto retry;
}
}

View File

@ -178,9 +178,9 @@ void *mzrt_thread_stub(void *data){
}
#ifdef WIN32
DWORD WINAPI mzrt_win_thread_stub(void *data)
uintptr_t WINAPI mzrt_win_thread_stub(void *data)
{
return (DWORD)mzrt_thread_stub(data);
return (uintptr_t)mzrt_thread_stub(data);
}
#endif