# HG changeset patch # User Michael Goffioul # Date 1371858636 14400 # Node ID b39e8dc859f7f1c853afd7a9a27390fc37706bf2 # Parent 21586f2d1fe710ddf485fd87842b988c9e56501b [MSVC] enable gmplib compilation - create clgfortran.exe wrapper (to make libtool happy) - make cc-msvc/clgcc/clg++ to ignore --export-all-symbols and --output-def diff -r 21586f2d1fe7 -r b39e8dc859f7 Makefile.in --- a/Makefile.in Fri Jun 21 15:39:22 2013 -0400 +++ b/Makefile.in Fri Jun 21 19:50:36 2013 -0400 @@ -159,7 +159,7 @@ MXE_RANLIB := ranlib MXE_CC := clgcc MXE_CXX := clg++ - MXE_F77 := gfortran-msvc + MXE_F77 := clgfortran MXE_DLLTOOL := true MXE_NM := nm MXE_STRIP := true @@ -173,6 +173,7 @@ MXE_AR := ar MXE_RANLIB := ranlib MXE_CC := gcc + MXE_CCAS := gcc MXE_CXX := g++ MXE_F77 := gfortran MXE_DLLTOOL := dlltool diff -r 21586f2d1fe7 -r b39e8dc859f7 src/build-msvctools/Makefile --- a/src/build-msvctools/Makefile Fri Jun 21 15:39:22 2013 -0400 +++ b/src/build-msvctools/Makefile Fri Jun 21 19:50:36 2013 -0400 @@ -3,6 +3,7 @@ cc-msvc.exe \ clgcc.exe \ clg++.exe \ + clgfortran.exe \ dirent.h \ dirent.lib \ getopt.h \ @@ -111,6 +112,9 @@ gfortran-msvc.exe: gfortran-msvc.cc cl -nologo -O2 -EHsc gfortran-msvc.cc +clgfortran.exe: gfortran-msvc.exe + cp -a $< $@ + gfortran-msvc-gcc-patch.stamp: (cd ../gcc-$(GCCVERSION)/ && patch -p1) < gcc.diff (cd ../gcc-$(GCCVERSION)/ && \ @@ -162,6 +166,7 @@ $(INSTALL) clg++.exe $(DESTDIR)/bin/ $(INSTALL) lt-postproc $(DESTDIR)/bin/ $(INSTALL) gfortran-msvc.exe $(DESTDIR)/bin/ + $(INSTALL) clgfortran.exe $(DESTDIR)/bin/ $(INSTALL) ranlib-msvc $(DESTDIR)/bin/ $(INSTALL) $(LIBRARY_PREFIX)gfortran-msvc$(LIBRARY_SUFFIX).dll $(DESTDIR)/bin/ $(INSTALL) -d $(DESTDIR)/include diff -r 21586f2d1fe7 -r b39e8dc859f7 src/build-msvctools/cc-msvc.cc --- a/src/build-msvctools/cc-msvc.cc Fri Jun 21 15:39:22 2013 -0400 +++ b/src/build-msvctools/cc-msvc.cc Fri Jun 21 19:50:36 2013 -0400 @@ -556,10 +556,20 @@ } else if (arg == "-m386" || arg == "-m486" || arg == "-mpentium" || arg == "-mpentiumpro" || arg == "-pedantic" || starts_with(arg, "-W") || - arg == "-fPIC" || arg == "-nostdlib") + arg == "-fPIC" || arg == "-nostdlib" || arg == "--export-all-symbols") { // ignore } + else if (arg == "--output-def") + { + if (i < argc-1) + ++i; + else + { + cerr << "ERROR: argument missing for " << arg << endl; + return 1; + } + } else if (arg == "-noembed") { mt_embed = false; diff -r 21586f2d1fe7 -r b39e8dc859f7 src/gmp.mk --- a/src/gmp.mk Fri Jun 21 15:39:22 2013 -0400 +++ b/src/gmp.mk Fri Jun 21 19:50:36 2013 -0400 @@ -10,6 +10,13 @@ $(PKG)_URL_2 := ftp://ftp.cs.tu-berlin.de/pub/gnu/$(PKG)/$($(PKG)_FILE) $(PKG)_DEPS := +ifeq ($(MXE_SYSTEM),msvc) + $(PKG)_CONFIGURE_OPTIONS := CC_FOR_BUILD='$(MXE_CC)' CCAS='gcc -c' ac_cv_func_memset='yes' + COMMA := , +else + $(PKG)_CONFIGURE_OPTIONS := CC_FOR_BUILD=gcc +endif + define $(PKG)_UPDATE $(WGET) -q -O- 'http://www.gmplib.org/' | \ grep '