From b37c07a28035b1a9c0299fd097e7d029cf5f883a Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 20 Sep 2015 19:40:59 -0600 Subject: [PATCH] Windows: generate "lib/msvc" content from cross-compile --- racket/src/racket/Makefile.in | 16 ++++++++++++++-- racket/src/racket/dynsrc/Makefile.in | 17 +++++++++++++++-- racket/src/racket/gc2/Makefile.in | 2 +- 3 files changed, 30 insertions(+), 5 deletions(-) diff --git a/racket/src/racket/Makefile.in b/racket/src/racket/Makefile.in index 3055055387..396a2eff78 100644 --- a/racket/src/racket/Makefile.in +++ b/racket/src/racket/Makefile.in @@ -221,10 +221,10 @@ lib/libracketxxxxxxx.dll: lib/libmzgcxxxxxxx.dll libracket.@LIBSFX@ mzsj86g.o @MZLINKER@ -shared -o lib/libracketxxxxxxx.dll mzsj86g.o -Wl,--output-def -Wl,libracket.def -Wl,--whole-archive libracket.@LIBSFX@ -Wl,--no-whole-archive -lshell32 -luser32 -lws2_32 lib/libmzgcxxxxxxx.dll -static-libgcc libracket.dll.a: lib/libracketxxxxxxx.dll - @DLLTOOL@ --def libracket.def -D libracketxxxxxxx.dll --output-delaylib libracket.dll.a + @DLLTOOL@ --def libracket.def -D libracketxxxxxxx.dll --output-exp libracketxxxxxxx.exp --output-lib libracketxxxxxxx.lib --output-delaylib libracket.dll.a libmzgc.dll.a: lib/libmzgcxxxxxxx.dll - @DLLTOOL@ --def libmzgc.def -D libmzgcxxxxxxx.dll --output-delaylib libmzgc.dll.a + @DLLTOOL@ --def libmzgc.def -D libmzgcxxxxxxx.dll --output-lib libmzgcxxxxxxx.lib --output-exp libmzgcxxxxxxx.lib --output-delaylib libmzgc.dll.a rres.o : $(srcdir)/../worksp/racket/racket.rc @WINDRES@ -i $(srcdir)/../worksp/racket/racket.rc -o rres.o @@ -445,6 +445,13 @@ mingw-install: cd ..; cp racket/MzCOM.tlb "$(DESTDIR)$(libpltdir)/MzCOM.tlb" mingw-install-cgc: + cd ..; mkdir -p "$(DESTDIR)$(libdir)/msvc" + cd ..; $(ICP) racket/libmzgcxxxxxxx.lib "$(DESTDIR)$(libdir)/msvc/libmzgcxxxxxxx.lib" + cd ..; $(ICP) racket/libmzgcxxxxxxx.exp "$(DESTDIR)$(libdir)/msvc/libmzgcxxxxxxx.exp" + cd ..; $(ICP) racket/libracketxxxxxxx.lib "$(DESTDIR)$(libdir)/msvc/libracketxxxxxxx.lib" + cd ..; $(ICP) racket/libracketxxxxxxx.exp "$(DESTDIR)$(libdir)/msvc/libracketxxxxxxx.exp" + cd ..; $(ICP) racket/mzdyn3m.o "$(DESTDIR)$(libdir)/msvc/mzdyn.obj" + cd ..; $(ICP) racket/mzdyn3m.exp "$(DESTDIR)$(libdir)/msvc/mzdyn.exp" 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@@EXE_SUFFIX@" @@ -459,6 +466,11 @@ mingw-install-cgc-final: $(NOOP) mingw-install-3m: + cd ..; mkdir -p "$(DESTDIR)$(libdir)/msvc" + cd ..; $(ICP) racket/gc2/libracket3mxxxxxxx.lib "$(DESTDIR)$(libdir)/msvc/libracket3mxxxxxxx.lib" + cd ..; $(ICP) racket/gc2/libracket3mxxxxxxx.exp "$(DESTDIR)$(libdir)/msvc/libracket3mxxxxxxx.exp" + cd ..; $(ICP) racket/mzdyn3m.o "$(DESTDIR)$(libdir)/msvc/mzdyn3m.obj" + cd ..; $(ICP) racket/mzdyn3m.exp "$(DESTDIR)$(libdir)/msvc/mzdyn3m.exp" cd ..; $(ICP) racket/racket@MMM@ "$(DESTDIR)@MZINSTALLBINDIR@/Racket@MMM_INSTALLED@@EXE_SUFFIX@" cd ..; $(ICP) racket/mzcom@MMM@ "$(DESTDIR)$(libdir)/MzCOM@MMM_INSTALLED@@EXE_SUFFIX@" cd ..; $(ICP) racket/lib/libracket3mxxxxxxx.dll "$(DESTDIR)$(libdir)/libracket3mxxxxxxx.dll" diff --git a/racket/src/racket/dynsrc/Makefile.in b/racket/src/racket/dynsrc/Makefile.in index 2fbfa887dd..ccaa261257 100644 --- a/racket/src/racket/dynsrc/Makefile.in +++ b/racket/src/racket/dynsrc/Makefile.in @@ -23,13 +23,21 @@ CFLAGS = @CFLAGS@ @COMPFLAGS@ CPPFLAGS = @PREFLAGS@ ALL_CFLAGS = $(CFLAGS) $(CPPFLAGS) -I$(builddir)/.. -I$(srcdir)/../include -I$(srcdir)/../src @MZOPTIONS@ -dynlib: +dynlib@NOT_MINGW@: $(MAKE) ../mzdyn.o $(MAKE) ../starter@EXE_SUFFIX@ -dynlib3m: +dynlib@MINGW@: + $(MAKE) dynlib@NOT_MINGW@ + $(MAKE) ../mzdyn.exp + +dynlib3m@NOT_MINGW@: $(MAKE) ../mzdyn3m.o +dynlib3m@MINGW@: + $(MAKE) dynlib3m@NOT_MINGW@ + $(MAKE) ../mzdyn3m.exp + dynexample: $(MAKE) ../dynexmpl.so @@ -65,6 +73,11 @@ sres.o: smrres.o: @WINDRES@ -DMRSTART -i $(srcdir)/../../worksp/starters/start.rc -o smrres.o +../mzdyn.exp: ../mzdyn.o + @DLLTOOL@ --output-exp ../mzdyn.exp ../mzdyn.o +../mzdyn3m.exp: ../mzdyn3m.o + @DLLTOOL@ --output-exp ../mzdyn3m.exp ../mzdyn3m.o + # Cygwin ######################################## ILIBDIR = $(libpltdir) diff --git a/racket/src/racket/gc2/Makefile.in b/racket/src/racket/gc2/Makefile.in index 42fb655448..4b5c53545a 100644 --- a/racket/src/racket/gc2/Makefile.in +++ b/racket/src/racket/gc2/Makefile.in @@ -529,7 +529,7 @@ $(MZFWMMM): ../libracket3m.@LIBSFX@ @MZLINKER@ -shared -o ../lib/libracket3mxxxxxxx.dll ../mzsj86g.o -Wl,--output-def -Wl,libracket3m.def -Wl,--whole-archive ../libracket3m.@LIBSFX@ -Wl,--no-whole-archive -lshell32 -luser32 -lws2_32 -static-libgcc libracket3m.dll.a: ../lib/libracket3mxxxxxxx.dll - @DLLTOOL@ --def libracket3m.def -D libracket3mxxxxxxx.dll --output-delaylib libracket3m.dll.a + @DLLTOOL@ --def libracket3m.def -D libracket3mxxxxxxx.dll --output-exp libracket3mxxxxxxx.exp --output-lib libracket3mxxxxxxx.lib --output-delaylib libracket3m.dll.a MW_RACKET_LIBS = gc2/libracket3m.dll.a @LDFLAGS@ @LIBS@ -ldelayimp -static-libgcc