public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
From: Jonathan Yong <jyong@gcc.gnu.org>
To: gcc-cvs@gcc.gnu.org
Subject: [gcc r14-5768] mingw: Exclude utf8 manifest [PR111170, PR108865]
Date: Thu, 23 Nov 2023 00:49:18 +0000 (GMT)	[thread overview]
Message-ID: <20231123004918.D3B253861865@sourceware.org> (raw)

https://gcc.gnu.org/g:4f1ebd54380e16927cd0085be939165870354eac

commit r14-5768-g4f1ebd54380e16927cd0085be939165870354eac
Author: Costas Argyris <costas.argyris@gmail.com>
Date:   Mon Nov 20 17:58:16 2023 +0000

    mingw: Exclude utf8 manifest [PR111170, PR108865]
    
    Make the utf8 manifest optional (on by default and
    explicitly off with --disable-win32-utf8-manifest)
    in the mingw hosts.
    
    Also eliminate duplication between the 32-bit and
    64-bit mingw hosts by putting them both in the
    same branch and special-case only the 64-bit long
    long setting.
    
    PR mingw/111170
    PR mingw/108865
    
    Signed-off-by: Costas Argyris <costas.argyris@gmail.com>
    Signed-off-by: Jonathan Yong <10walls@gmail.com>
    
    gcc/Changelog:
    
            * configure.ac: Handle new --enable-win32-utf8-manifest
            option.
            * config.host: allow win32 utf8 manifest to be disabled
            by user.
            * configure: Regenerate.

Diff:
---
 gcc/config.host  | 23 +++++++++--------------
 gcc/configure    | 27 +++++++++++++++++++++++++--
 gcc/configure.ac | 17 +++++++++++++++++
 3 files changed, 51 insertions(+), 16 deletions(-)

diff --git a/gcc/config.host b/gcc/config.host
index 5df85752ed4..21a988e6376 100644
--- a/gcc/config.host
+++ b/gcc/config.host
@@ -230,24 +230,19 @@ case ${host} in
     host_exeext=.exe
     host_lto_plugin_soname=cyglto_plugin.dll
     ;;
-  i[34567]86-*-mingw32*)
+  i[34567]86-*-mingw32* | x86_64-*-mingw*)
     host_xm_file=i386/xm-mingw32.h
-    host_xmake_file="${host_xmake_file} i386/x-mingw32 i386/x-mingw32-utf8"
+    host_xmake_file="${host_xmake_file} ${host_xmake_mingw} i386/x-mingw32"
+    host_extra_gcc_objs="${host_extra_gcc_objs} ${host_extra_gcc_objs_mingw} driver-mingw32.o"
+    host_extra_objs="${host_extra_objs} ${host_extra_objs_mingw}"
     host_exeext=.exe
     out_host_hook_obj=host-mingw32.o
-    host_extra_objs="${host_extra_objs} utf8-mingw32.o"
-    host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o utf8rc-mingw32.o"
-    host_lto_plugin_soname=liblto_plugin.dll
-    ;;
-  x86_64-*-mingw*)
-    use_long_long_for_widest_fast_int=yes
-    host_xm_file=i386/xm-mingw32.h
-    host_xmake_file="${host_xmake_file} i386/x-mingw32 i386/x-mingw32-utf8"
-    host_exeext=.exe
-    out_host_hook_obj=host-mingw32.o
-    host_extra_objs="${host_extra_objs} utf8-mingw32.o"
-    host_extra_gcc_objs="${host_extra_gcc_objs} driver-mingw32.o utf8rc-mingw32.o"
     host_lto_plugin_soname=liblto_plugin.dll
+    case ${host} in
+      x86_64-*-*)
+        use_long_long_for_widest_fast_int=yes
+        ;;
+    esac
     ;;
   aarch64*-*-darwin*)
     out_host_hook_obj="${out_host_hook_obj} host-aarch64-darwin.o"
diff --git a/gcc/configure b/gcc/configure
index cc0c3aad67b..fa110c5624a 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -1009,6 +1009,7 @@ enable_rpath
 with_libiconv_prefix
 with_libiconv_type
 enable_sjlj_exceptions
+enable_win32_utf8_manifest
 with_gcc_major_version_only
 enable_nls
 with_libintl_prefix
@@ -1740,6 +1741,11 @@ Optional Features:
   --disable-rpath         do not hardcode runtime library paths
   --enable-sjlj-exceptions
                           arrange to use setjmp/longjmp exception handling
+  --disable-win32-utf8-manifest
+                          disable embedding a utf8 manifest on mingw hosts
+  --enable-win32-utf8-manifest
+                          enable embedding a utf8 manifest on mingw hosts
+                          (default)
   --disable-nls           do not use Native Language Support
   --enable-secureplt      enable -msecure-plt by default for PowerPC
   --enable-mingw-wildcard Set whether to expand wildcard on command-line.
@@ -13046,6 +13052,23 @@ _ACEOF
 
 fi
 
+# Windows32 UTF-8 manifest support for running the driver and compiler
+# executables with the UTF-8 active code page on mingw hosts.
+# Non-mingw hosts ignore this option.
+# The shell variables this sets are picked up from the mingw branches
+# of config.host so they have to be set before it gets sourced.
+# Check whether --enable-win32-utf8-manifest was given.
+if test "${enable_win32_utf8_manifest+set}" = set; then :
+  enableval=$enable_win32_utf8_manifest;
+fi
+
+
+if test "x$enable_win32_utf8_manifest" != xno; then
+  host_xmake_mingw=i386/x-mingw32-utf8
+  host_extra_gcc_objs_mingw=utf8rc-mingw32.o
+  host_extra_objs_mingw=utf8-mingw32.o
+fi
+
 # --------------------------------------------------------
 # Build, host, and target specific configuration fragments
 # --------------------------------------------------------
@@ -21602,7 +21625,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 21605 "configure"
+#line 21628 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -21708,7 +21731,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 21711 "configure"
+#line 21734 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
diff --git a/gcc/configure.ac b/gcc/configure.ac
index d9a35069e30..5679bef338c 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1894,6 +1894,23 @@ if test $force_sjlj_exceptions = yes; then
     [Define 0/1 to force the choice for exception handling model.])
 fi
 
+# Windows32 UTF-8 manifest support for running the driver and compiler
+# executables with the UTF-8 active code page on mingw hosts.
+# Non-mingw hosts ignore this option.
+# The shell variables this sets are picked up from the mingw branches
+# of config.host so they have to be set before it gets sourced.
+AC_ARG_ENABLE(win32-utf8-manifest,
+[AS_HELP_STRING([--disable-win32-utf8-manifest],
+                [disable embedding a utf8 manifest on mingw hosts])
+AS_HELP_STRING([--enable-win32-utf8-manifest],
+               [enable embedding a utf8 manifest on mingw hosts (default)])],,)
+
+if test "x$enable_win32_utf8_manifest" != xno; then
+  host_xmake_mingw=i386/x-mingw32-utf8
+  host_extra_gcc_objs_mingw=utf8rc-mingw32.o
+  host_extra_objs_mingw=utf8-mingw32.o
+fi
+
 # --------------------------------------------------------
 # Build, host, and target specific configuration fragments
 # --------------------------------------------------------

                 reply	other threads:[~2023-11-23  0:49 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231123004918.D3B253861865@sourceware.org \
    --to=jyong@gcc.gnu.org \
    --cc=gcc-cvs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).