Skip to content

Commit 2102597

Browse files
committed
mk: mingw32 flags added
1 parent 26a5dc5 commit 2102597

File tree

2 files changed

+70
-63
lines changed

2 files changed

+70
-63
lines changed

configure

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ do
595595
make_dir rt/$t
596596
for i in \
597597
isaac linenoise sync test arch/i386 arch/x86_64 arch/arm \
598-
libuv
598+
libuv libuv/src
599599
do
600600
make_dir rt/$t/$i
601601
done

mk/platform.mk

Lines changed: 69 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,7 @@ CFG_GCCISH_CFLAGS += -fno-omit-frame-pointer
3636
# embedded into the executable, so use a no-op command.
3737
CFG_DSYMUTIL := true
3838

39-
# Hack: not sure how to test if a file exists in make other than this
40-
OS_SUPP = $(patsubst %,--suppressions=%,\
41-
$(wildcard $(CFG_SRC_DIR)src/etc/$(CFG_OSTYPE).supp*))
42-
43-
ifneq ($(findstring mingw,$(CFG_OSTYPE)),)
44-
CFG_WINDOWSY := 1
45-
endif
46-
47-
ifdef CFG_DISABLE_OPTIMIZE_CXX
48-
$(info cfg: disabling C++ optimization (CFG_DISABLE_OPTIMIZE_CXX))
49-
CFG_GCCISH_CFLAGS += -O0
50-
else
51-
CFG_GCCISH_CFLAGS += -O2
52-
endif
53-
39+
# x86_64-unknown-linux-gnu configuration
5440
CFG_LIB_NAME_x86_64-unknown-linux-gnu=lib$(1).so
5541
CFG_LIB_GLOB_x86_64-unknown-linux-gnu=lib$(1)-*.so
5642
CFG_LIB_DSYM_GLOB_x86_64-unknown-linux-gnu=lib$(1)-*.dylib.dSYM
@@ -62,10 +48,9 @@ CFG_GCCISH_PRE_LIB_FLAGS_x86_64-unknown-linux-gnu := -Wl,-whole-archive
6248
CFG_GCCISH_POST_LIB_FLAGS_x86_64-unknown-linux-gnu := -Wl,-no-whole-archive -Wl,-znoexecstack
6349
CFG_DEF_SUFFIX_x86_64-unknown-linux-gnu := .linux.def
6450
CFG_INSTALL_NAME_x86_64-unknown-linux-gnu =
65-
CFG_UNIXY := 1
66-
CFG_LDENV := LD_LIBRARY_PATH
6751
CFG_GCCISH_CROSS_x86_64-unknown-linux-gnu =
6852

53+
# x86_64-apple-darwin configuration
6954
CFG_LIB_NAME_x86_64-apple-darwin=lib$(1).dylib
7055
CFG_LIB_GLOB_x86_64-apple-darwin=lib$(1)-*.dylib
7156
CFG_LIB_DSYM_GLOB_x86_64-apple-darwin=lib$(1)-*.dylib.dSYM
@@ -78,10 +63,11 @@ CFG_GCCISH_POST_LIB_FLAGS_x86_64-apple-darwin :=
7863
CFG_DEF_SUFFIX_x86_64-apple-darwin := .darwin.def
7964
CFG_INSTALL_NAME_x86_64-apple-darwin = -Wl,-install_name,@rpath/$(1)
8065

66+
# arm-unknown-android configuration
8167
CFG_LIB_NAME_arm-unknown-android=lib$(1).so
8268
CFG_LIB_GLOB_arm-unknown-android=lib$(1)-*.so
8369
CFG_LIB_DSYM_GLOB_arm-unknown-android=lib$(1)-*.dylib.dSYM
84-
CFG_GCCISH_CFLAGS_arm-unknown-android := -fPIC -Wall -g -D__arm__ -DANDROID -D__ANDROID__
70+
CFG_GCCISH_CFLAGS_arm-unknown-android := -Wall -g -fPIC -D__arm__ -DANDROID -D__ANDROID__
8571
CFG_GCCISH_CXXFLAGS_arm-unknown-android := -fno-rtti
8672
CFG_GCCISH_LINK_FLAGS_arm-unknown-android := -shared -fPIC -ldl -g -lm -lsupc++ -lgnustl_shared
8773
CFG_GCCISH_DEF_FLAG_arm-unknown-android := -Wl,--export-dynamic,--dynamic-list=
@@ -91,6 +77,51 @@ CFG_DEF_SUFFIX_arm-unknown-android := .android.def
9177
CFG_INSTALL_NAME_arm-unknown-android =
9278
CFG_GCCISH_CROSS_arm-unknown-android = $(CFG_CROSS_PREFIX_arm)
9379

80+
# i686-pc-mingw32 configuration
81+
CFG_LIB_NAME_i686-pc-mingw32=lib$(1).dll
82+
CFG_LIB_GLOB_i686-pc-mingw32=lib$(1)-*.dll
83+
CFG_LIB_DSYM_GLOB_i686-pc-mingw32=lib$(1)-*.dylib.dSYM
84+
CFG_GCCISH_CFLAGS_i686-pc-mingw32 := -Wall -Werror -g -march=i686
85+
CFG_GCCISH_CXXFLAGS_i686-pc-mingw32 := -fno-rtti
86+
CFG_GCCISH_LINK_FLAGS_i686-pc-mingw32 := -shared -fPIC -g
87+
CFG_GCCISH_DEF_FLAG_i686-pc-mingw32 :=
88+
CFG_GCCISH_PRE_LIB_FLAGS_i686-pc-mingw32 :=
89+
CFG_GCCISH_POST_LIB_FLAGS_i686-pc-mingw32 :=
90+
CFG_DEF_SUFFIX_i686-pc-mingw32 := .def
91+
CFG_INSTALL_NAME_i686-pc-mingw32 =
92+
CFG_GCCISH_CROSS_i686-pc-mingw32 =
93+
94+
# Hack: not sure how to test if a file exists in make other than this
95+
OS_SUPP = $(patsubst %,--suppressions=%,\
96+
$(wildcard $(CFG_SRC_DIR)src/etc/$(CFG_OSTYPE).supp*))
97+
98+
ifneq ($(findstring mingw,$(CFG_OSTYPE)),)
99+
CFG_WINDOWSY := 1
100+
endif
101+
ifneq ($(findstring linux,$(CFG_OSTYPE)),)
102+
CFG_UNIXY := 1
103+
endif
104+
ifneq ($(findstring darwin,$(CFG_OSTYPE)),)
105+
CFG_UNIXY := 1
106+
endif
107+
108+
ifdef CFG_DISABLE_OPTIMIZE_CXX
109+
$(info cfg: disabling C++ optimization (CFG_DISABLE_OPTIMIZE_CXX))
110+
CFG_GCCISH_CFLAGS += -O0
111+
else
112+
CFG_GCCISH_CFLAGS += -O2
113+
endif
114+
115+
CFG_TESTLIB=$(CFG_BUILD_DIR)/$(2)/$(strip \
116+
$(if $(findstring stage0,$(1)), \
117+
stage0/$(CFG_LIBDIR), \
118+
$(if $(findstring stage1,$(1)), \
119+
stage1/$(CFG_LIBDIR), \
120+
$(if $(findstring stage2,$(1)), \
121+
stage2/$(CFG_LIBDIR), \
122+
$(if $(findstring stage3,$(1)), \
123+
stage3/$(CFG_LIBDIR), \
124+
)))))/rustc/$(CFG_HOST_TRIPLE)/$(CFG_LIBDIR)
94125

95126
ifneq ($(findstring linux,$(CFG_OSTYPE)),)
96127
# -znoexecstack is here because librt is for some reason being created
@@ -123,30 +154,26 @@ ifdef CFG_UNIXY
123154
CFG_RUN_TARG=$(call CFG_RUN,,$(2))
124155
CFG_RUN_TEST=$(call CFG_RUN,,$(CFG_VALGRIND) $(1))
125156
CFG_LIBUV_LINK_FLAGS=
126-
ifdef CFG_FBSD
127-
CFG_LIBUV_LINK_FLAGS=-lpthread -lkvm
128-
endif
129157

130-
# FIXME: This is surely super broken
131-
# ifdef CFG_ENABLE_MINGW_CROSS
132-
# CFG_WINDOWSY := 1
133-
# CFG_INFO := $(info cfg: mingw-cross)
134-
# CFG_GCCISH_CROSS := i586-mingw32msvc-
135-
# ifdef CFG_VALGRIND
136-
# CFG_VALGRIND += wine
137-
# endif
138-
139-
# CFG_GCCISH_CFLAGS := -march=i586
140-
# CFG_GCCISH_PRE_LIB_FLAGS :=
141-
# CFG_GCCISH_POST_LIB_FLAGS :=
142-
# CFG_GCCISH_DEF_FLAG :=
143-
# CFG_GCCISH_LINK_FLAGS := -shared
144-
145-
# ifeq ($(CFG_CPUTYPE), x86_64)
146-
# CFG_GCCISH_CFLAGS += -m32
147-
# CFG_GCCISH_LINK_FLAGS += -m32
148-
# endif
149-
# endif
158+
ifdef CFG_ENABLE_MINGW_CROSS
159+
CFG_WINDOWSY := 1
160+
CFG_INFO := $(info cfg: mingw-cross)
161+
CFG_GCCISH_CROSS := i586-mingw32msvc-
162+
ifdef CFG_VALGRIND
163+
CFG_VALGRIND += wine
164+
endif
165+
166+
CFG_GCCISH_CFLAGS := -march=i586
167+
CFG_GCCISH_PRE_LIB_FLAGS :=
168+
CFG_GCCISH_POST_LIB_FLAGS :=
169+
CFG_GCCISH_DEF_FLAG :=
170+
CFG_GCCISH_LINK_FLAGS := -shared
171+
172+
ifeq ($(CFG_CPUTYPE), x86_64)
173+
CFG_GCCISH_CFLAGS += -m32
174+
CFG_GCCISH_LINK_FLAGS += -m32
175+
endif
176+
endif
150177
ifdef CFG_VALGRIND
151178
CFG_VALGRIND += --error-exitcode=100 \
152179
--quiet \
@@ -161,48 +188,28 @@ ifdef CFG_UNIXY
161188
endif
162189
endif
163190

164-
165191
ifdef CFG_WINDOWSY
166192
CFG_INFO := $(info cfg: windows-y environment)
167193

168194
CFG_EXE_SUFFIX := .exe
169-
CFG_LIB_NAME=$(1).dll
170-
CFG_LIB_GLOB=$(1)-*.dll
171-
CFG_DEF_SUFFIX := .def
172195
ifdef MSYSTEM
173196
CFG_LDPATH :=$(CFG_LDPATH):$$PATH
174197
CFG_RUN=PATH="$(CFG_LDPATH):$(1)" $(2)
175198
else
176199
CFG_LDPATH :=
177200
CFG_RUN=$(2)
178201
endif
179-
180-
CFG_TESTLIB=$(CFG_BUILD_DIR)/$(2)/$(strip \
181-
$(if $(findstring stage0,$(1)), \
182-
stage0/$(CFG_LIBDIR), \
183-
$(if $(findstring stage1,$(1)), \
184-
stage1/$(CFG_LIBDIR), \
185-
$(if $(findstring stage2,$(1)), \
186-
stage2/$(CFG_LIBDIR), \
187-
$(if $(findstring stage3,$(1)), \
188-
stage3/$(CFG_LIBDIR), \
189-
)))))/rustc/$(CFG_BUILD_TRIPLE)/$(CFG_LIBDIR)
190-
191-
CFG_RUN_TARG=$(call CFG_RUN,$(HLIB$(1)_H_$(CFG_BUILD_TRIPLE)),$(2))
202+
CFG_RUN_TARG=$(call CFG_RUN,$(HLIB$(1)_H_$(CFG_HOST_TRIPLE)),$(2))
192203
CFG_RUN_TEST=$(call CFG_RUN,$(call CFG_TESTLIB,$(1),$(3)),$(1))
193204
CFG_LIBUV_LINK_FLAGS=-lWs2_32 -lpsapi -liphlpapi
194205

195206
ifndef CFG_ENABLE_MINGW_CROSS
196207
CFG_PATH_MUNGE := $(strip perl -i.bak -p \
197208
-e 's@\\(\S)@/\1@go;' \
198209
-e 's@^/([a-zA-Z])/@\1:/@o;')
199-
CFG_GCCISH_CFLAGS += -march=i686
200-
CFG_GCCISH_LINK_FLAGS += -shared -fPIC
201210
endif
202-
CFG_INSTALL_NAME =
203211
endif
204212

205-
206213
CFG_INFO := $(info cfg: using $(CFG_C_COMPILER))
207214
ifeq ($(CFG_C_COMPILER),clang)
208215
ifeq ($(origin CC),default)

0 commit comments

Comments
 (0)