From 0dc2aa3d09661a6943e64887137cc4ef07366a56 Mon Sep 17 00:00:00 2001 From: Graydon Hoare Date: Tue, 28 Jun 2011 11:18:25 -0700 Subject: [PATCH] Bit more work on mingw cross. Pending on other changes now (test combination, build artifact locations) --- Makefile.in | 1 + mk/platform.mk | 50 ++++++++++++++++++++++----------------------- src/etc/snapshot.py | 2 +- 3 files changed, 26 insertions(+), 27 deletions(-) diff --git a/Makefile.in b/Makefile.in index 9f65d42adb4..a6dcd003d36 100644 --- a/Makefile.in +++ b/Makefile.in @@ -166,6 +166,7 @@ SREQ2 := stage2/rustc$(X) $(LREQ) rt/main.o stage2/glue.o \ export CFG_SRC_DIR export CFG_VERSION export CFG_LLVM_ROOT +export CFG_ENABLE_MINGW_CROSS ###################################################################### # Subprograms diff --git a/mk/platform.mk b/mk/platform.mk index 020595015af..84fcf0705c3 100644 --- a/mk/platform.mk +++ b/mk/platform.mk @@ -74,24 +74,6 @@ CFG_TESTLIB=$(CFG_BUILD_DIR)/$(strip \ stage2/lib, \ )))) -ifdef CFG_WINDOWSY - CFG_INFO := $(info cfg: windows-y environment) - - CFG_EXE_SUFFIX := .exe - CFG_LIB_NAME=$(1).dll - CFG_LDPATH :=$(CFG_LDPATH):$(CFG_LLVM_BINDIR) - CFG_LDPATH :=$(CFG_LDPATH):$$PATH - CFG_RUN_TEST=PATH="$(CFG_LDPATH):$(call CFG_TESTLIB,$(1))" $(1) - CFG_RUN_TARG=PATH="$(CFG_BUILD_DIR)/$(1)/lib:$(CFG_LDPATH)" $(2) - - CFG_PATH_MUNGE := $(strip perl -i.bak -p \ - -e 's@\\(\S)@/\1@go;' \ - -e 's@^/([a-zA-Z])/@\1:/@o;') - CFG_GCCISH_CFLAGS += -march=i686 -O2 - CFG_GCCISH_LINK_FLAGS += -shared -fPIC - CFG_DEF_SUFFIX := .def -endif - ifdef CFG_UNIXY CFG_INFO := $(info cfg: unix-y environment) @@ -104,13 +86,6 @@ ifdef CFG_UNIXY $(CFG_VALGRIND) $(1) ifdef CFG_ENABLE_MINGW_CROSS - CFG_EXE_SUFFIX := .exe - CFG_LIB_NAME=$(1).dll - CFG_DEF_SUFFIX := .def - CFG_LDPATH :=$(CFG_LDPATH):$(CFG_LLVM_BINDIR) - CFG_LDPATH :=$(CFG_LDPATH):$$PATH - CFG_RUN_TARG=PATH=$(CFG_BUILD_DIR)/$(1)/lib:$(CFG_LDPATH) $(2) - CFG_RUN_TEST=PATH=$(CFG_LDPATH):$(call CFG_TESTLIB,$(1)) $(1) CFG_WINDOWSY := 1 CFG_INFO := $(info cfg: mingw-cross) CFG_GCCISH_CROSS := i586-mingw32msvc- @@ -118,7 +93,7 @@ ifdef CFG_UNIXY CFG_VALGRIND += wine endif - CFG_GCCISH_CFLAGS := -fno-strict-aliasing -march=i686 -O2 + CFG_GCCISH_CFLAGS := -fno-strict-aliasing -march=i586 -O2 CFG_GCCISH_PRE_LIB_FLAGS := CFG_GCCISH_POST_LIB_FLAGS := CFG_GCCISH_DEF_FLAG := @@ -136,6 +111,29 @@ ifdef CFG_UNIXY endif endif + +ifdef CFG_WINDOWSY + CFG_INFO := $(info cfg: windows-y environment) + + CFG_EXE_SUFFIX := .exe + CFG_LIB_NAME=$(1).dll + CFG_DEF_SUFFIX := .def + CFG_LDPATH :=$(CFG_LDPATH):$(CFG_LLVM_BINDIR) + CFG_LDPATH :=$(CFG_LDPATH):$$PATH + CFG_RUN_TEST=PATH="$(CFG_LDPATH):$(call CFG_TESTLIB,$(1))" $(1) + CFG_RUN_TARG=PATH="$(CFG_BUILD_DIR)/$(1)/lib:$(CFG_LDPATH)" $(2) + + ifndef CFG_ENABLE_MINGW_CROSS + CFG_PATH_MUNGE := $(strip perl -i.bak -p \ + -e 's@\\(\S)@/\1@go;' \ + -e 's@^/([a-zA-Z])/@\1:/@o;') + CFG_GCCISH_CFLAGS += -march=i686 -O2 + CFG_GCCISH_LINK_FLAGS += -shared -fPIC + endif + +endif + + ifdef CFG_CLANG CFG_INFO := $(info cfg: using clang) CFG_GCCISH_CFLAGS += -Wall -Werror -fno-rtti -fno-exceptions -g diff --git a/src/etc/snapshot.py b/src/etc/snapshot.py index e567de5ab68..3922d7314f7 100644 --- a/src/etc/snapshot.py +++ b/src/etc/snapshot.py @@ -52,7 +52,7 @@ def full_snapshot_name(date, rev, platform, hsh): def get_kernel(): - if os.name == "nt": + if os.name == "nt" or scrub(os.getenv("CFG_ENABLE_MINGW_CROSS")): return "winnt" kernel = os.uname()[0].lower() if kernel == "darwin":