aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorNicola Pero <nicola@gcc.gnu.org>2011-04-29 17:31:51 +0000
committerNicola Pero <nicola@gcc.gnu.org>2011-04-29 17:31:51 +0000
commita88fdc2ac3e9fb02fc1efd68dd8d40123b7ce4e3 (patch)
tree4f32fbcd681aec71ce44cdb1c154efe37d13950c /gcc/cp
parentd984c8ef7d4c467e80159dc010358c703dfa7fce (diff)
downloadgcc-a88fdc2ac3e9fb02fc1efd68dd8d40123b7ce4e3.zip
gcc-a88fdc2ac3e9fb02fc1efd68dd8d40123b7ce4e3.tar.gz
gcc-a88fdc2ac3e9fb02fc1efd68dd8d40123b7ce4e3.tar.bz2
In gcc/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>
In gcc/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com> * Makefile.in (ENABLE_MAINTAINER_RULES): New. In gcc/cp/: 2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>, Mike Stump <mikestump@comcast.net> * Make-lang.in ($(srcdir)/cp/cfns.h): Enable the dependency only in maintainer mode. Use the --output-file option of gperf instead of > to prevent creating an empty cp/cfns.h when gperf is not available. From-SVN: r173178
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog8
-rw-r--r--gcc/cp/Make-lang.in14
2 files changed, 20 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index e34f03f..7cd5eb6 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,11 @@
+2011-04-29 Nicola Pero <nicola.pero@meta-innovation.com>,
+ Mike Stump <mikestump@comcast.net>
+
+ * Make-lang.in ($(srcdir)/cp/cfns.h): Enable the dependency only
+ in maintainer mode. Use the --output-file option of gperf instead
+ of > to prevent creating an empty cp/cfns.h when gperf is not
+ available.
+
2011-04-28 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/48798
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
index d8bd905..3aef055 100644
--- a/gcc/cp/Make-lang.in
+++ b/gcc/cp/Make-lang.in
@@ -104,10 +104,20 @@ cc1plus$(exeext): $(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(LIBDEPS)
+$(LINKER) $(ALL_LINKERFLAGS) $(LDFLAGS) -o $@ \
$(CXX_OBJS) cc1plus-checksum.o $(BACKEND) $(LIBS) $(BACKENDLIBS)
-# Special build rules.
+ifeq ($(ENABLE_MAINTAINER_RULES), true)
+# Special build rule. This is a maintainer rule, that is only
+# available when GCC is configured with --enable-maintainer-mode. In
+# other cases, it is not available to avoid triggering rebuilds if a
+# user has the source checked out with unusual timestamps.
$(srcdir)/cp/cfns.h: $(srcdir)/cp/cfns.gperf
+else
+# We keep the rule so that you can still force a rebuild, even if you
+# didn't configure GCC with --enable-maintainer-mode, by manually
+# deleting the $(srcdir)/cp/cfns.h file.
+$(srcdir)/cp/cfns.h:
+endif
gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \
- $(srcdir)/cp/cfns.gperf > $(srcdir)/cp/cfns.h
+ $(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h
#
# Build hooks: