diff mbox series

cgcc: teach cgcc about Hurd/GNU

Message ID 20190201202241.94597-1-luc.vanoostenryck@gmail.com (mailing list archive)
State Mainlined, archived
Headers show
Series cgcc: teach cgcc about Hurd/GNU | expand

Commit Message

Luc Van Oostenryck Feb. 1, 2019, 8:22 p.m. UTC
cgcc fails if it doesn't know about the system/OS as
returned by `uname -s`. This creates a build failure for
Debian since Hurd is one of their non-official 'ports'
but unknown to cgcc.

So, teach cgcc about 'GNU' (the OS/system name returned
on Hurd) and add the few predefines used to identify it.

Reported-by: Uwe Kleine-König <uwe@kleine-koenig.org>
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
---
 cgcc | 3 +++
 1 file changed, 3 insertions(+)
diff mbox series

Patch

diff --git a/cgcc b/cgcc
index f3909ae89..9c3ac8ce5 100755
--- a/cgcc
+++ b/cgcc
@@ -274,6 +274,9 @@  sub add_specs {
     } elsif ($spec eq 'darwin') {
 	return
 	    ' -D__APPLE__=1 -D__MACH__=1';
+    } elsif ($spec eq 'gnu') {		# Hurd
+	return &add_specs ('unix') .	# So, GNU is Unix, uh?
+	    ' -D__GNU__=1 -D__gnu_hurd__=1 -D__MACH__=1';
     } elsif ($spec eq 'unix') {
 	return ' -Dunix=1 -D__unix=1 -D__unix__=1';
     } elsif ( $spec =~ /^cygwin/) {