* How to patch fixincludes/Makefile for Interix?
@ 2011-06-03 17:01 Douglas B Rupp
2011-06-03 17:17 ` Bruce Korb
0 siblings, 1 reply; 8+ messages in thread
From: Douglas B Rupp @ 2011-06-03 17:01 UTC (permalink / raw)
To: gcc-patches, bkorb
I've been working on a resurrection patch for Interix, one remaining
problem is fixincludes/fixincl.c must be compiled on native Interix with
-D_ALL_SOURCE in order to find the getpagesize prototype.
This works (taking some liberties with diff...):
fixincludes/Makefile.in
-FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES)
+FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES) -D_ALL_SOURCE
Obviously unacceptable in general.
Fixincludes ignores a config/mh-interix, so adding
FIXINC_CFLAGS += -D_ALL_SOURCE doesn't work.
What is the correct solution? Any advice would be greatly appreciated.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: How to patch fixincludes/Makefile for Interix?
2011-06-03 17:01 How to patch fixincludes/Makefile for Interix? Douglas B Rupp
@ 2011-06-03 17:17 ` Bruce Korb
2011-06-04 20:43 ` [PATCH] fixincludes/Makefile for Interix Douglas B Rupp
0 siblings, 1 reply; 8+ messages in thread
From: Bruce Korb @ 2011-06-03 17:17 UTC (permalink / raw)
To: Douglas B Rupp; +Cc: gcc-patches
Hi Doug,
On Fri, Jun 3, 2011 at 10:00 AM, Douglas B Rupp <rupp@gnat.com> wrote:
>
> I've been working on a resurrection patch for Interix, one remaining problem
> is fixincludes/fixincl.c must be compiled on native Interix with
> -D_ALL_SOURCE in order to find the getpagesize prototype.
>
> This works (taking some liberties with diff...):
>
> fixincludes/Makefile.in
> -FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES)
> +FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES) -D_ALL_SOURCE
>
> Obviously unacceptable in general.
Obviously.
> Fixincludes ignores a config/mh-interix, so adding
> FIXINC_CFLAGS += -D_ALL_SOURCE doesn't work.
>
> What is the correct solution? Any advice would be greatly appreciated.
Without digging into makefile magic, it would seem to me that
you'd want to jigger Makefile.in to source $(top_srcdir)/config/mh-$(target)
and use FIXINC_CPPFLAGS (this being a pre-processor flag).
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] fixincludes/Makefile for Interix
2011-06-03 17:17 ` Bruce Korb
@ 2011-06-04 20:43 ` Douglas B Rupp
2011-06-05 17:19 ` Bruce Korb
0 siblings, 1 reply; 8+ messages in thread
From: Douglas B Rupp @ 2011-06-04 20:43 UTC (permalink / raw)
To: Bruce Korb; +Cc: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 163 bytes --]
Here's my proposed patch, along the lines you suggested. top_srcdir
didn't seem to be set, so I used srcdir instead.
Bootstrapped on x86_64-unknown-linux-gnu
[-- Attachment #2: fixinc.txt --]
[-- Type: text/plain, Size: 1968 bytes --]
2011-06-04 Douglas B Rupp <rupp@gnat.com>
* fixincludes/configure.ac (host_makefile_frag): Use mh-interix.
* fixincludes/configure: Regenerate
* fixincludes/Makefile.in (FIXINC_CPPFLAGS): New flag macro.
(@host_makefile_frag@): New substitution placeholder.
(.c.o): Use FIXINC_CPPFLAGS.
diff -rupN gcc.orig/fixincludes/configure.ac gcc/fixincludes/configure.ac
--- gcc.orig/fixincludes/configure.ac 2011-04-06 17:01:09.000000000 -0700
+++ gcc/fixincludes/configure.ac 2011-06-04 13:18:23.000000000 -0700
@@ -23,6 +23,20 @@ ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual]
# Determine the noncanonical target name, for directory use.
ACX_NONCANONICAL_TARGET
+host_makefile_frag=/dev/null
+if test -d ${srcdir}/../config ; then
+case "${host}" in
+ *-interix[[3-9]]*)
+ host_makefile_frag="config/mh-interix"
+ ;;
+esac
+fi
+
+if test $host_makefile_frag != /dev/null; then
+ eval host_makefile_frag=${srcdir}/../$host_makefile_frag
+fi
+AC_SUBST_FILE(host_makefile_frag)
+
# Specify the local prefix
local_prefix=
AC_ARG_WITH(local-prefix,
diff -rupN gcc.orig/fixincludes/Makefile.in gcc/fixincludes/Makefile.in
--- gcc.orig/fixincludes/Makefile.in 2011-04-06 17:01:09.000000000 -0700
+++ gcc/fixincludes/Makefile.in 2011-06-04 00:31:30.000000000 -0700
@@ -32,6 +32,11 @@ WARN_CFLAGS = @WARN_CFLAGS@ @WARN_PEDANT
LDFLAGS = @LDFLAGS@
INCLUDES = -I. -I$(srcdir) -I../include -I$(srcdir)/../include
FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES)
+FIXINC_CPPFLAGS =
+
+#### host specific makefile fragments come in here.
+@host_makefile_frag@
+###
# Directory where sources are, from where we are.
srcdir = @srcdir@
@@ -73,7 +78,7 @@ default : all
# Now figure out from those variables how to compile and link.
.c.o:
- $(CC) -c $(CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $(FIXINC_CFLAGS) $<
+ $(CC) -c $(CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $(FIXINC_CPPFLAGS) $(FIXINC_CFLAGS) $<
# The only suffixes we want for implicit rules are .c and .o.
.SUFFIXES:
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] fixincludes/Makefile for Interix
2011-06-04 20:43 ` [PATCH] fixincludes/Makefile for Interix Douglas B Rupp
@ 2011-06-05 17:19 ` Bruce Korb
2011-06-07 4:37 ` [PATCH] fixincludes/Makefile for Interix Rev 2 Douglas B Rupp
0 siblings, 1 reply; 8+ messages in thread
From: Bruce Korb @ 2011-06-05 17:19 UTC (permalink / raw)
To: Douglas B Rupp; +Cc: gcc-patches
On 06/04/11 13:43, Douglas B Rupp wrote:
> Here's my proposed patch, along the lines you suggested.
Hi Doug,
Excellent. Just a couple nits:
It is more normal and easier to read when you quote the entire shell
script fragment, as below (removing unnecessary "eval", too):
> diff -rupN gcc.orig/fixincludes/configure.ac gcc/fixincludes/configure.ac
> --- gcc.orig/fixincludes/configure.ac 2011-04-06 17:01:09.000000000 -0700
> +++ gcc/fixincludes/configure.ac 2011-06-04 13:18:23.000000000 -0700
> @@ -23,6 +23,20 @@ ACX_PROG_CC_WARNINGS_ARE_ERRORS([manual]
> # Determine the noncanonical target name, for directory use.
> ACX_NONCANONICAL_TARGET
>
> +[host_makefile_frag=/dev/null
> +if test -d ${srcdir}/../config ; then
> +case "${host}" in
> + *-interix[3-9]*)
> + host_makefile_frag="${srcdir}/../config/mh-interix"
> + ;;
> +esac
> +fi]
> +AC_SUBST_FILE(host_makefile_frag)
> +
> # Specify the local prefix
> local_prefix=
> AC_ARG_WITH(local-prefix,
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] fixincludes/Makefile for Interix Rev 2
2011-06-05 17:19 ` Bruce Korb
@ 2011-06-07 4:37 ` Douglas B Rupp
2011-06-07 7:20 ` Paolo Bonzini
0 siblings, 1 reply; 8+ messages in thread
From: Douglas B Rupp @ 2011-06-07 4:37 UTC (permalink / raw)
To: bkorb; +Cc: gcc-patches
[-- Attachment #1: Type: text/plain, Size: 70 bytes --]
Revised and retested patch attached.
OK to commit?
--Douglas Rupp
[-- Attachment #2: fixinc.txt --]
[-- Type: text/plain, Size: 2031 bytes --]
2011-06-06 Douglas B Rupp <rupp@gnat.com>
* fixincludes/configure.ac (host_makefile_frag): Use mh-interix.
* fixincludes/configure: Regenerate
* fixincludes/Makefile.in (FIXINC_CPPFLAGS): New flag macro.
(@host_makefile_frag@): New substitution placeholder.
(.c.o): Use FIXINC_CPPFLAGS.
diff -rupN gcc.orig/fixincludes/configure.ac gcc/fixincludes/configure.ac
--- gcc.orig/fixincludes/configure.ac 2011-04-06 17:01:09.000000000 -0700
+++ gcc/fixincludes/configure.ac 2011-06-06 21:31:54.000000000 -0700
@@ -23,6 +23,16 @@
# Determine the noncanonical target name, for directory use.
ACX_NONCANONICAL_TARGET
+[host_makefile_frag=/dev/null
+if test -d ${srcdir}/../config ; then
+case "${host}" in
+ *-interix[3-9]*)
+ host_makefile_frag="${srcdir}/../config/mh-interix"
+ ;;
+esac
+fi]
+AC_SUBST_FILE(host_makefile_frag)
+
# Specify the local prefix
local_prefix=
AC_ARG_WITH(local-prefix,
diff -rupN gcc.orig/fixincludes/Makefile.in gcc/fixincludes/Makefile.in
--- gcc.orig/fixincludes/Makefile.in 2011-04-06 17:01:09.000000000 -0700
+++ gcc/fixincludes/Makefile.in 2011-06-06 21:31:54.000000000 -0700
@@ -1,6 +1,6 @@
# Makefile for fixincludes.
#
-# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2009, 2010
+# Copyright (C) 1998, 1999, 2000, 2001, 2003, 2004, 2009, 2010, 2011
# Free Software Foundation, Inc.
#This file is part of fixincludes.
@@ -32,6 +32,11 @@
LDFLAGS = @LDFLAGS@
INCLUDES = -I. -I$(srcdir) -I../include -I$(srcdir)/../include
FIXINC_CFLAGS = -DHAVE_CONFIG_H $(INCLUDES)
+FIXINC_CPPFLAGS =
+
+#### host specific makefile fragments come in here.
+@host_makefile_frag@
+###
# Directory where sources are, from where we are.
srcdir = @srcdir@
@@ -73,7 +78,7 @@
# Now figure out from those variables how to compile and link.
.c.o:
- $(CC) -c $(CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $(FIXINC_CFLAGS) $<
+ $(CC) -c $(CFLAGS) $(WARN_CFLAGS) $(CPPFLAGS) $(FIXINC_CPPFLAGS) $(FIXINC_CFLAGS) $<
# The only suffixes we want for implicit rules are .c and .o.
.SUFFIXES:
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] fixincludes/Makefile for Interix Rev 2
2011-06-07 4:37 ` [PATCH] fixincludes/Makefile for Interix Rev 2 Douglas B Rupp
@ 2011-06-07 7:20 ` Paolo Bonzini
2011-06-08 6:29 ` [PATCH] fixincludes/Makefile for Interix Rev 3 Douglas B Rupp
0 siblings, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2011-06-07 7:20 UTC (permalink / raw)
To: Douglas B Rupp; +Cc: bkorb, gcc-patches
On 06/07/2011 06:37 AM, Douglas B Rupp wrote:
> Revised and retested patch attached.
>
> OK to commit?
It should be enough to add AC_USE_SYSTEM_EXTENSIONS to configure.ac
instead (right after AC_PROG_CC).
Paolo
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] fixincludes/Makefile for Interix Rev 3
2011-06-07 7:20 ` Paolo Bonzini
@ 2011-06-08 6:29 ` Douglas B Rupp
2011-06-08 7:47 ` Paolo Bonzini
0 siblings, 1 reply; 8+ messages in thread
From: Douglas B Rupp @ 2011-06-08 6:29 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Bruce Korb, gcc-patches
[-- Attachment #1: Type: text/plain, Size: 84 bytes --]
Reformulated as per your suggestion, and retested.
OK to commit?
--Douglas Rupp
[-- Attachment #2: fixinc.txt --]
[-- Type: text/plain, Size: 498 bytes --]
2011-06-07 Douglas B Rupp <rupp@gnat.com>
* fixincludes/configure.ac (AC_USE_SYSTEM_EXTENSIONS): Add.
* fixincludes/configure: Regenerate.
* fixincludes/config.h.in: Regenerate.
--- gcc.orig/fixincludes/configure.ac 2011-04-06 17:01:09.000000000 -0700
+++ gcc/fixincludes/configure.ac 2011-06-07 22:40:23.000000000 -0700
@@ -6,6 +6,7 @@
m4_sinclude(../libtool.m4)
AC_CANONICAL_SYSTEM
AC_PROG_CC
+AC_USE_SYSTEM_EXTENSIONS
AC_PROG_SED
# Figure out what compiler warnings we can enable.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] fixincludes/Makefile for Interix Rev 3
2011-06-08 6:29 ` [PATCH] fixincludes/Makefile for Interix Rev 3 Douglas B Rupp
@ 2011-06-08 7:47 ` Paolo Bonzini
0 siblings, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2011-06-08 7:47 UTC (permalink / raw)
To: Douglas B Rupp; +Cc: Bruce Korb, gcc-patches
On 06/08/2011 08:02 AM, Douglas B Rupp wrote:
> Reformulated as per your suggestion, and retested.
>
> OK to commit?
Yes, thanks!
Paolo
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-06-08 6:44 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-03 17:01 How to patch fixincludes/Makefile for Interix? Douglas B Rupp
2011-06-03 17:17 ` Bruce Korb
2011-06-04 20:43 ` [PATCH] fixincludes/Makefile for Interix Douglas B Rupp
2011-06-05 17:19 ` Bruce Korb
2011-06-07 4:37 ` [PATCH] fixincludes/Makefile for Interix Rev 2 Douglas B Rupp
2011-06-07 7:20 ` Paolo Bonzini
2011-06-08 6:29 ` [PATCH] fixincludes/Makefile for Interix Rev 3 Douglas B Rupp
2011-06-08 7:47 ` Paolo Bonzini
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).