From 446163e239056462095abb2998bf7cc21edb4532 Mon Sep 17 00:00:00 2001 From: Thomas Preud'homme Date: Thu, 4 May 2017 11:02:08 +0000 Subject: [PATCH] configure.ac (--enable-mingw-wildcard): Add new configurable feature. 2017-05-04 Thomas Preud'homme * configure.ac (--enable-mingw-wildcard): Add new configurable feature. * configure: Regenerate. * config.in: Regenerate. * config/i386/driver-mingw32.c: new file. * config/i386/x-mingw32: Add rule to build driver-mingw32.o. * config.host: Link driver-mingw32.o on MinGW host. * doc/install.texi: Document new --enable-mingw-wildcard configure option. From-SVN: r247588 --- gcc/ChangeLog | 11 +++++++++++ gcc/config.host | 2 ++ gcc/config.in | 6 ++++++ gcc/config/i386/driver-mingw32.c | 26 ++++++++++++++++++++++++++ gcc/config/i386/x-mingw32 | 3 +++ gcc/configure | 22 ++++++++++++++++++++-- gcc/configure.ac | 10 ++++++++++ 7 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 gcc/config/i386/driver-mingw32.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 84c1f685744..9791c007345 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2017-05-04 Thomas Preud'homme + + * configure.ac (--enable-mingw-wildcard): Add new configurable feature. + * configure: Regenerate. + * config.in: Regenerate. + * config/i386/driver-mingw32.c: new file. + * config/i386/x-mingw32: Add rule to build driver-mingw32.o. + * config.host: Link driver-mingw32.o on MinGW host. + * doc/install.texi: Document new --enable-mingw-wildcard configure + option. + 2017-05-04 Marek Polacek PR tree-optimization/80612 diff --git a/gcc/config.host b/gcc/config.host index 6b28f3033ef..5e2db5327e3 100644 --- a/gcc/config.host +++ b/gcc/config.host @@ -239,6 +239,7 @@ case ${host} in host_xmake_file="${host_xmake_file} i386/x-mingw32" host_exeext=.exe out_host_hook_obj=host-mingw32.o + host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" host_lto_plugin_soname=liblto_plugin-0.dll ;; x86_64-*-mingw*) @@ -247,6 +248,7 @@ case ${host} in host_xmake_file="${host_xmake_file} i386/x-mingw32" host_exeext=.exe out_host_hook_obj=host-mingw32.o + host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o" host_lto_plugin_soname=liblto_plugin-0.dll ;; i[34567]86-*-darwin* | x86_64-*-darwin*) diff --git a/gcc/config.in b/gcc/config.in index d87cb3c9fab..bf2aa7b2e7d 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -2009,6 +2009,12 @@ #endif +/* Value to set mingw's _dowildcard to. */ +#ifndef USED_FOR_TARGET +#undef MINGW_DOWILDCARD +#endif + + /* Define if host mkdir takes a single argument. */ #ifndef USED_FOR_TARGET #undef MKDIR_TAKES_ONE_ARG diff --git a/gcc/config/i386/driver-mingw32.c b/gcc/config/i386/driver-mingw32.c new file mode 100644 index 00000000000..b70363ad26a --- /dev/null +++ b/gcc/config/i386/driver-mingw32.c @@ -0,0 +1,26 @@ +/* Host OS specific configuration for the gcc driver. + Copyright (C) 2017 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 3, or (at your option) +any later version. + +GCC is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GCC; see the file COPYING3. If not see +. */ + +#include "config.h" + +/* When defined, force the use (if non null) or not (otherwise) of CLI + globbing. */ +#ifdef MINGW_DOWILDCARD +int _dowildcard = MINGW_DOWILDCARD; +#endif diff --git a/gcc/config/i386/x-mingw32 b/gcc/config/i386/x-mingw32 index 6a2d5a50694..85f2793e5e9 100644 --- a/gcc/config/i386/x-mingw32 +++ b/gcc/config/i386/x-mingw32 @@ -29,3 +29,6 @@ host-mingw32.o : $(srcdir)/config/i386/host-mingw32.c $(CONFIG_H) $(SYSTEM_H) \ coretypes.h hosthooks.h hosthooks-def.h toplev.h $(DIAGNOSTIC_H) $(HOOKS_H) $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \ $(srcdir)/config/i386/host-mingw32.c + +driver-mingw32.o : $(srcdir)/config/i386/driver-mingw32.c $(CONFIG_H) + $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< diff --git a/gcc/configure b/gcc/configure index bde3dd8f77a..c823ffe6290 100755 --- a/gcc/configure +++ b/gcc/configure @@ -922,6 +922,7 @@ with_libiconv_prefix enable_sjlj_exceptions with_gcc_major_version_only enable_secureplt +enable_mingw_wildcard enable_leading_mingw64_underscores enable_cld enable_frame_pointer @@ -1634,6 +1635,8 @@ Optional Features: --enable-sjlj-exceptions arrange to use setjmp/longjmp exception handling --enable-secureplt enable -msecure-plt by default for PowerPC + --enable-mingw-wildcard Set whether to expand wildcard on command-line. + Default to platform configuration --enable-leading-mingw64-underscores enable leading underscores on 64 bit mingw targets --enable-cld enable -mcld by default for 32bit x86 @@ -11964,6 +11967,21 @@ if test "${enable_secureplt+set}" = set; then : fi +# Check whether --enable-mingw-wildcard was given. +if test "${enable_mingw_wildcard+set}" = set; then : + enableval=$enable_mingw_wildcard; +else + enable_mingw_wildcard=platform +fi + +if test x"$enable_mingw_wildcard" != xplatform ; then : + +cat >>confdefs.h <<_ACEOF +#define MINGW_DOWILDCARD $(test x"$enable_mingw_wildcard" = xno; echo $?) +_ACEOF + +fi + # Check whether --enable-leading-mingw64-underscores was given. if test "${enable_leading_mingw64_underscores+set}" = set; then : enableval=$enable_leading_mingw64_underscores; @@ -18422,7 +18440,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18425 "configure" +#line 18443 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18528,7 +18546,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 18531 "configure" +#line 18549 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/gcc/configure.ac b/gcc/configure.ac index 8b6a2ed3e20..acfe9797389 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -1811,6 +1811,16 @@ AC_ARG_ENABLE(secureplt, [enable -msecure-plt by default for PowerPC])], [], []) +AC_ARG_ENABLE(mingw-wildcard, +[AS_HELP_STRING([--enable-mingw-wildcard], + [Set whether to expand wildcard on command-line. + Default to platform configuration])], +[],[enable_mingw_wildcard=platform]) +AS_IF([test x"$enable_mingw_wildcard" != xplatform ], + [AC_DEFINE_UNQUOTED(MINGW_DOWILDCARD, + $(test x"$enable_mingw_wildcard" = xno; echo $?), + [Value to set mingw's _dowildcard to.])]) + AC_ARG_ENABLE(leading-mingw64-underscores, AS_HELP_STRING([--enable-leading-mingw64-underscores], [enable leading underscores on 64 bit mingw targets]), -- 2.30.2