gcc/ChangeLog:
PR driver/108866
* gcc.cc (default_compilers): Add EXTRA_DEFAULT_COMPILERS so the
config
of a target can add an extra compiler spec to default_compilers.
* config/i386/cygming.h: Add EXTRA_DEFAULT_COMPILERS spec for
windres.
* config/aarch64/cygming.h: Likewise.
Signed-off-by: Peter Damianov <[email protected]>
---
v3: Remove -m64 from aarch64, it doesn't exist.
gcc/config/aarch64/cygming.h | 10 ++++++++++
gcc/config/i386/cygming.h | 11 +++++++++++
gcc/gcc.cc | 5 +++++
3 files changed, 26 insertions(+)
diff --git a/gcc/config/aarch64/cygming.h
b/gcc/config/aarch64/cygming.h
index 1c7f8f58e64..d26d65684a5 100644
--- a/gcc/config/aarch64/cygming.h
+++ b/gcc/config/aarch64/cygming.h
@@ -254,4 +254,14 @@ still needed for compilation. */
#undef TARGET_ASM_LTO_END
#define TARGET_ASM_LTO_END mingw_pe_asm_lto_end
+/* Support for Windows resource files. */
+#define EXTRA_DEFAULT_COMPILERS \
+ {".rc", "@windres", 0, 0, 0}, \
+ {".res", "@windres", 0, 0, 0}, \
+ {"@windres", \
+ "%{!E:%{!M:%{!MM:windres \
+ %{I*:-I%*} %{D*:-D%*} %{U*:-U%*} \
+ %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O} %i}}}", \
+ 0, 0, 0},
+
#endif
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h
index 0a3173c4e93..23077f4fd52 100644
--- a/gcc/config/i386/cygming.h
+++ b/gcc/config/i386/cygming.h
@@ -474,3 +474,14 @@ do { \
(ix86_cmodel == CM_LARGE_PIC || ix86_cmodel == CM_MEDIUM_PIC)
#define HAVE_64BIT_POINTERS TARGET_64BIT_DEFAULT
+
+/* Support for Windows resource files. */
+#define EXTRA_DEFAULT_COMPILERS \
+ {".rc", "@windres", 0, 0, 0}, \
+ {".res", "@windres", 0, 0, 0}, \
+ {"@windres", \
+ "%{!E:%{!M:%{!MM:windres \
+ %{m32:--target=pe-i386} %{m64:--target=pe-x86-64} \
+ %{I*:-I%*} %{D*:-D%*} %{U*:-U%*} \
+ %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O} %i}}}", \
+ 0, 0, 0},
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index b5d0f759f14..bfe262bdc2d 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -1517,6 +1517,11 @@ static const struct compiler
default_compilers[] =
#endif
, 0, 0, 0},
+#ifndef EXTRA_DEFAULT_COMPILERS
+#define EXTRA_DEFAULT_COMPILERS
+#endif
+ EXTRA_DEFAULT_COMPILERS
+
#include "specs.h"
/* Mark end of table. */
{0, 0, 0, 0, 0}
--
2.47.3