Skip to content

Commit 5095597

Browse files
committed
Improve MinGW building
1 parent f536d4e commit 5095597

File tree

3 files changed

+63
-1
lines changed

3 files changed

+63
-1
lines changed

.cirrus.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,6 @@ task:
146146
env:
147147
EXEC_CMD: wine
148148
HOST: x86_64-w64-mingw32
149-
CXXFLAGS: -O2 -static -static-libgcc -static-libstdc++
150149
BUILD:
151150
<< : *MERGE_BASE
152151
test_script:

build-aux/m4/ax_check_link_flag.m4

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# ===========================================================================
2+
# https://www.gnu.org/software/autoconf-archive/ax_check_link_flag.html
3+
# ===========================================================================
4+
#
5+
# SYNOPSIS
6+
#
7+
# AX_CHECK_LINK_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT])
8+
#
9+
# DESCRIPTION
10+
#
11+
# Check whether the given FLAG works with the linker or gives an error.
12+
# (Warnings, however, are ignored)
13+
#
14+
# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on
15+
# success/failure.
16+
#
17+
# If EXTRA-FLAGS is defined, it is added to the linker's default flags
18+
# when the check is done. The check is thus made with the flags: "LDFLAGS
19+
# EXTRA-FLAGS FLAG". This can for example be used to force the linker to
20+
# issue an error when a bad flag is given.
21+
#
22+
# INPUT gives an alternative input source to AC_LINK_IFELSE.
23+
#
24+
# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this
25+
# macro in sync with AX_CHECK_{PREPROC,COMPILE}_FLAG.
26+
#
27+
# LICENSE
28+
#
29+
# Copyright (c) 2008 Guido U. Draheim <[email protected]>
30+
# Copyright (c) 2011 Maarten Bosmans <[email protected]>
31+
#
32+
# Copying and distribution of this file, with or without modification, are
33+
# permitted in any medium without royalty provided the copyright notice
34+
# and this notice are preserved. This file is offered as-is, without any
35+
# warranty.
36+
37+
#serial 6
38+
39+
AC_DEFUN([AX_CHECK_LINK_FLAG],
40+
[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF
41+
AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_ldflags_$4_$1])dnl
42+
AC_CACHE_CHECK([whether the linker accepts $1], CACHEVAR, [
43+
ax_check_save_flags=$LDFLAGS
44+
LDFLAGS="$LDFLAGS $4 $1"
45+
AC_LINK_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])],
46+
[AS_VAR_SET(CACHEVAR,[yes])],
47+
[AS_VAR_SET(CACHEVAR,[no])])
48+
LDFLAGS=$ax_check_save_flags])
49+
AS_VAR_IF(CACHEVAR,yes,
50+
[m4_default([$2], :)],
51+
[m4_default([$3], :)])
52+
AS_VAR_POPDEF([CACHEVAR])dnl
53+
])dnl AX_CHECK_LINK_FLAGS

configure.ac

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,16 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [
8888
]
8989
)
9090

91+
case $host in
92+
*mingw*)
93+
dnl -static is interpreted by libtool, where it has a different meaning.
94+
dnl In libtool-speak, it's -all-static.
95+
AX_CHECK_LINK_FLAG([[-static]],[LIBTOOL_APP_LDFLAGS="$LIBTOOL_APP_LDFLAGS -all-static"])
96+
AX_CHECK_COMPILE_FLAG([[-static-libgcc]],[CXXFLAGS="$CXXFLAGS -static-libgcc"])
97+
AX_CHECK_COMPILE_FLAG([[-static-libstdc++]],[CXXFLAGS="$CXXFLAGS -static-libstdc++"])
98+
;;
99+
esac
100+
91101
AX_CHECK_COMPILE_FLAG([-Wall],[WARN_CXXFLAGS="$WARN_CXXFLAGS -Wall"],,[[$CXXFLAG_WERROR]])
92102
## Some compilers (gcc) ignore unknown -Wno-* options, but warn about all
93103
## unknown options if any other warning is produced. Test the -Wfoo case, and

0 commit comments

Comments
 (0)