This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
One version number, take three
- From: Zack Weinberg <zack at codesourcery dot com>
- To: libstdc++ at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Wed, 09 Mar 2005 23:20:00 -0800
- Subject: One version number, take three
Yet another revision of the patch to keep GCC's version number in just
one place. Notable changes from the previous revision:
1) There is no longer a copy of the datestamp in
libstdc++-v3/include/bits/c++config.
2) The version files have moved from the top-level config directory to
the gcc subdirectory, to avoid concerns about synchronization between
gcc and src.
3) fastjar had a few more places where it was assuming the old
versioning scheme. These have been fixed. Also, its Makefile.in has
been properly regenerated with automake now, instead of hand-hacking.
This version has also been tested with a complete bootstrap and 'make
check' cycle, all languages including Ada and treelang, on i686-linux.
And I spot-checked that "./xgcc --version" still prints the right thing.
The maintainer scripts are still impossible to test, and I'm still
looking for another careful pair of eyes over the whole thing.
zw
===================================================================
Index: config/gcc-version.m4
--- config/gcc-version.m4 2 Dec 2004 11:03:18 -0000 1.1
+++ config/gcc-version.m4 1 Jan 1970 00:00:00 -0000
@@ -1,28 +0,0 @@
-dnl Usage: TL_AC_GCC_VERSION(TOPSRCDIR)
-dnl
-dnl Set up the variables:
-dnl
-dnl gcc_version_trigger: pathname of gcc's version.c, if available
-dnl gcc_version_full: full gcc version string
-dnl gcc_version: the first "word" in $gcc_version_full
-dnl
-dnl TOPSRCDIR is the top-level source directory.
-AC_DEFUN([TL_AC_GCC_VERSION],
-[
-changequote(,)dnl
-if test "${with_gcc_version_trigger+set}" = set; then
- gcc_version_trigger=$with_gcc_version_trigger
-else
- gcc_version_trigger=$1/gcc/version.c
-fi
-if test -f "${gcc_version_trigger}"; then
- gcc_version_full=`grep version_string "${gcc_version_trigger}" | sed -e 's/.*"\([^"]*\)".*/\1/'`
-else
- gcc_version_full=`$CC -v 2>&1 | sed -n 's/^gcc version //p'`
-fi
-gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
-changequote([,])dnl
-AC_SUBST(gcc_version_trigger)
-AC_SUBST(gcc_version_full)
-AC_SUBST(gcc_version)
-])dnl
===================================================================
Index: fastjar/Makefile.am
--- fastjar/Makefile.am 15 Nov 2004 23:50:05 -0000 1.22
+++ fastjar/Makefile.am 10 Mar 2005 07:08:45 -0000
@@ -63,12 +63,16 @@ TEXINFO_TEX = ../gcc/doc/include/texinfo
info_TEXINFOS = fastjar.texi
fastjar_TEXINFOS = \
../gcc/doc/include/gcc-common.texi \
- ../gcc/doc/include/gpl.texi
+ ../gcc/doc/include/gpl.texi \
+ gcc-vers.texi
man_MANS = fastjar.1 grepjar.1
EXTRA_DIST = $(man_MANS)
+BASEVER = $(srcdir)/../gcc/BASE-VER
+DEVPHASE = $(srcdir)/../gcc/DEV-PHASE
+
TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
-POD2MAN = pod2man --center="GNU" --release="gcc-@gcc_version@"
+POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))"
.pod.1:
-($(POD2MAN) --section=1 $< > $(@).T$$$$ && \
@@ -83,6 +87,17 @@ fastjar.pod: $(srcdir)/fastjar.texi
grepjar.pod: $(srcdir)/fastjar.texi
-$(TEXI2POD) -D grepjar $< > $@
+fastjar.1 grepjar.1: $(BASEVER)
+
+# gcc-vers.texi is generated from the version files.
+gcc-vers.texi: $(BASEVER) $(DEVPHASE)
+ (echo "@set version-GCC $(shell cat $(BASEVER))"; \
+ if [ "$(shell cat $(DEVPHASE))" = "experimental" ]; \
+ then echo "@set DEVELOPMENT"; \
+ else echo "@clear DEVELOPMENT"; \
+ fi) > $@T
+ mv -f $@T $@
+
# GCC LOCAL CHANGE
# The following commands allow us to release tarballs with the man pages
# and info documentation prebuilt. This feature is enabled via
===================================================================
Index: fastjar/Makefile.in
--- fastjar/Makefile.in 2 Dec 2004 11:03:20 -0000 1.30
+++ fastjar/Makefile.in 10 Mar 2005 07:08:45 -0000
@@ -49,7 +49,6 @@ DIST_COMMON = README $(am__configure_dep
COPYING ChangeLog INSTALL NEWS
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/accross.m4 \
- $(top_srcdir)/../config/gcc-version.m4 \
$(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
@@ -175,9 +174,6 @@ build_alias = @build_alias@
datadir = @datadir@
exec_prefix = @exec_prefix@
fastjar_warn_cflags = @fastjar_warn_cflags@
-gcc_version = @gcc_version@
-gcc_version_full = @gcc_version_full@
-gcc_version_trigger = @gcc_version_trigger@
host_alias = @host_alias@
includedir = @includedir@
infodir = @infodir@
@@ -253,12 +249,15 @@ TEXINFO_TEX = ../gcc/doc/include/texinfo
info_TEXINFOS = fastjar.texi
fastjar_TEXINFOS = \
../gcc/doc/include/gcc-common.texi \
- ../gcc/doc/include/gpl.texi
+ ../gcc/doc/include/gpl.texi \
+ gcc-vers.texi
man_MANS = fastjar.1 grepjar.1
EXTRA_DIST = $(man_MANS)
+BASEVER = $(srcdir)/../gcc/BASE-VER
+DEVPHASE = $(srcdir)/../gcc/DEV-PHASE
TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
-POD2MAN = pod2man --center="GNU" --release="gcc-@gcc_version@"
+POD2MAN = pod2man --center="GNU" --release="gcc-$(shell cat $(BASEVER))"
@GENINSRC_FALSE@STAMP_GENINSRC =
# GCC LOCAL CHANGE
@@ -924,6 +923,17 @@ fastjar.pod: $(srcdir)/fastjar.texi
grepjar.pod: $(srcdir)/fastjar.texi
-$(TEXI2POD) -D grepjar $< > $@
+fastjar.1 grepjar.1: $(BASEVER)
+
+# gcc-vers.texi is generated from the version files.
+gcc-vers.texi: $(BASEVER) $(DEVPHASE)
+ (echo "@set version-GCC $(shell cat $(BASEVER))"; \
+ if [ "$(shell cat $(DEVPHASE))" = "experimental" ]; \
+ then echo "@set DEVELOPMENT"; \
+ else echo "@clear DEVELOPMENT"; \
+ fi) > $@T
+ mv -f $@T $@
+
all-local: $(STAMP_GENINSRC)
stamp-geninsrc: fastjar.1 grepjar.1 fastjar.info
===================================================================
Index: fastjar/aclocal.m4
--- fastjar/aclocal.m4 2 Dec 2004 11:03:20 -0000 1.10
+++ fastjar/aclocal.m4 10 Mar 2005 07:08:45 -0000
@@ -1083,5 +1083,4 @@ AC_SUBST([am__untar])
]) # _AM_PROG_TAR
m4_include([../config/accross.m4])
-m4_include([../config/gcc-version.m4])
m4_include([acinclude.m4])
===================================================================
Index: fastjar/configure
--- fastjar/configure 2 Dec 2004 11:03:20 -0000 1.22
+++ fastjar/configure 10 Mar 2005 07:08:45 -0000
@@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RM CP CHMOD MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT fastjar_warn_cflags CPP EGREP ZLIBS ZDEPS ZINCS GENINSRC_TRUE GENINSRC_FALSE gcc_version_trigger gcc_version_full gcc_version LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE RM CP CHMOD MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT fastjar_warn_cflags CPP EGREP ZLIBS ZDEPS ZINCS GENINSRC_TRUE GENINSRC_FALSE LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -5226,23 +5226,6 @@ else
fi
-
-if test "${with_gcc_version_trigger+set}" = set; then
- gcc_version_trigger=$with_gcc_version_trigger
-else
- gcc_version_trigger=$srcdir/../gcc/version.c
-fi
-if test -f "${gcc_version_trigger}"; then
- gcc_version_full=`grep version_string "${gcc_version_trigger}" | sed -e 's/.*"\([^"]*\)".*/\1/'`
-else
- gcc_version_full=`$CC -v 2>&1 | sed -n 's/^gcc version //p'`
-fi
-gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
-
-
-
-
-
ac_config_files="$ac_config_files Makefile install-defs.sh"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@@ -5948,9 +5931,6 @@ s,@ZDEPS@,$ZDEPS,;t t
s,@ZINCS@,$ZINCS,;t t
s,@GENINSRC_TRUE@,$GENINSRC_TRUE,;t t
s,@GENINSRC_FALSE@,$GENINSRC_FALSE,;t t
-s,@gcc_version_trigger@,$gcc_version_trigger,;t t
-s,@gcc_version_full@,$gcc_version_full,;t t
-s,@gcc_version@,$gcc_version,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
CEOF
===================================================================
Index: fastjar/configure.ac
--- fastjar/configure.ac 2 Dec 2004 11:03:21 -0000 1.6
+++ fastjar/configure.ac 10 Mar 2005 07:08:45 -0000
@@ -89,6 +89,4 @@ AC_MSG_CHECKING([whether to place genera
AC_MSG_RESULT($generated_files_in_srcdir)
AM_CONDITIONAL(GENINSRC, test x$generated_files_in_srcdir = xyes)
-TL_AC_GCC_VERSION([$srcdir/..])
-
AC_OUTPUT(Makefile install-defs.sh)
===================================================================
Index: gcc/BASE-VER
--- gcc/BASE-VER 1 Jan 1970 00:00:00 -0000
+++ gcc/BASE-VER 10 Mar 2005 07:08:45 -0000
@@ -0,0 +1 @@
+4.1.0
===================================================================
Index: gcc/DATESTAMP
--- gcc/DATESTAMP 1 Jan 1970 00:00:00 -0000
+++ gcc/DATESTAMP 10 Mar 2005 07:08:45 -0000
@@ -0,0 +1 @@
+20050310
===================================================================
Index: gcc/DEV-PHASE
--- gcc/DEV-PHASE 1 Jan 1970 00:00:00 -0000
+++ gcc/DEV-PHASE 10 Mar 2005 07:08:45 -0000
@@ -0,0 +1 @@
+experimental
===================================================================
Index: gcc/Makefile.in
--- gcc/Makefile.in 4 Mar 2005 21:35:49 -0000 1.1451
+++ gcc/Makefile.in 10 Mar 2005 07:08:45 -0000
@@ -426,10 +426,6 @@ OBJC_BOEHM_GC=@objc_boehm_gc@
GTHREAD_FLAGS=@gthread_flags@
extra_modes_file=@extra_modes_file@
host_hook_obj=@out_host_hook_obj@
-# Be prepared for gcc2 merges.
-gcc_version=@gcc_version@
-gcc_version_trigger=@gcc_version_trigger@
-version=$(gcc_version)
# ------------------------
# Installation directories
@@ -687,6 +683,27 @@ TM_P_H = tm_p.h $(tm_p_file_list)
GTM_H = tm.h $(tm_file_list)
TM_H = $(GTM_H) insn-constants.h insn-flags.h
+# Variables for version information.
+BASEVER = $(srcdir)/BASE-VER # 4.x.y
+DEVPHASE = $(srcdir)/DEV-PHASE # experimental, prerelease, ""
+DATESTAMP = $(srcdir)/DATESTAMP # YYYYMMDD or empty
+
+BASEVER_c = $(shell cat $(BASEVER))
+DEVPHASE_c = $(shell cat $(DEVPHASE))
+DATESTAMP_c = $(shell cat $(DATESTAMP))
+
+version = $(BASEVER_c)
+
+# For use in version.c - double quoted strings, with appropriate
+# surrounding punctuation and spaces, and with the datestamp and
+# development phase collapsed to the empty string in release mode
+# (i.e. if DEVPHASE_c is empty). The space immediately after the
+# comma in the $(if ...) constructs is significant - do not remove it.
+BASEVER_s = "\"$(BASEVER_c)\""
+DEVPHASE_s = "\"$(if $(DEVPHASE_c), ($(DEVPHASE_c)))\""
+DATESTAMP_s = "\"$(if $(DEVPHASE_c), $(DATESTAMP_c))\""
+
+# Shorthand variables for dependency lists.
TARGET_H = $(TM_H) target.h insn-modes.h
MACHMODE_H = machmode.h mode-classes.def insn-modes.h
HOOKS_H = hooks.h $(MACHMODE_H)
@@ -1038,7 +1055,7 @@ endif
# Rebuilding this configuration
# -----------------------------
-Makefile: config.status $(srcdir)/Makefile.in $(srcdir)/version.c $(LANG_MAKEFRAGS)
+Makefile: config.status $(srcdir)/Makefile.in $(LANG_MAKEFRAGS)
LANGUAGES="$(CONFIG_LANGUAGES)" \
CONFIG_HEADERS= \
CONFIG_SHELL="$(SHELL)" \
@@ -1115,7 +1132,7 @@ cstamp-h: config.in config.status
# Really, really stupid make features, such as SUN's KEEP_STATE, may force
# a target to build even if it is up-to-date. So we must verify that
# config.status does not exist before failing.
-config.status: $(srcdir)/configure $(srcdir)/config.gcc version.c
+config.status: $(srcdir)/configure $(srcdir)/config.gcc
@if [ ! -f config.status ] ; then \
echo You must configure gcc. Look at http://gcc.gnu.org/install/ for details.; \
false; \
@@ -1547,7 +1564,10 @@ options.o: options.c options.h opts.h in
dumpvers: dumpvers.c
-version.o: version.c version.h
+version.o: version.c version.h $(DATESTAMP) $(BASEVER) $(DEVPHASE)
+ $(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
+ -DBASEVER=$(BASEVER_s) -DDATESTAMP=$(DATESTAMP_s) \
+ -DDEVPHASE=$(DEVPHASE_s) -c $(srcdir)/version.c $(OUTPUT_OPTION)
gtype-desc.o: gtype-desc.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
varray.h $(HASHTAB_H) $(SPLAY_TREE_H) bitmap.h $(TREE_H) $(RTL_H) \
@@ -1569,9 +1589,10 @@ ggc-none.o: ggc-none.c $(CONFIG_H) $(SYS
stringpool.o: stringpool.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \
$(TREE_H) $(GGC_H) gt-stringpool.h
-prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) Makefile prefix.h
+prefix.o: prefix.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) prefix.h \
+ Makefile $(BASEVER)
$(CC) $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) \
- -DPREFIX=\"$(prefix)\" \
+ -DPREFIX=\"$(prefix)\" -DBASEVER=$(BASEVER_s) \
-c $(srcdir)/prefix.c $(OUTPUT_OPTION)
convert.o: convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) $(FLAGS_H) \
@@ -2759,15 +2780,16 @@ test-protoize-simple: ./protoize ./unpro
-rm -f tmp-proto.[cs] tmp-proto$(objext)
# gcov-iov.c is run on the build machine to generate gcov-iov.h from version.c
-build/gcov-iov.o: gcov-iov.c version.c $(BCONFIG_H) coretypes.h $(GTM_H) \
+build/gcov-iov.o: gcov-iov.c $(BCONFIG_H) coretypes.h $(GTM_H) \
$(SYSTEM_H) coretypes.h $(TM_H)
build/gcov-iov$(build_exeext): build/gcov-iov.o
$(CC_FOR_BUILD) $(BUILD_CFLAGS) $(BUILD_LDFLAGS) build/gcov-iov.o -o $@
gcov-iov.h: s-iov
-s-iov: build/gcov-iov$(build_exeext)
- build/gcov-iov$(build_exeext) > tmp-gcov-iov.h
+s-iov: build/gcov-iov$(build_exeext) $(BASEVER) $(DEVPHASE)
+ build/gcov-iov$(build_exeext) '$(BASEVER_c)' '$(DEVPHASE_c)' \
+ > tmp-gcov-iov.h
$(SHELL) $(srcdir)/../move-if-change tmp-gcov-iov.h gcov-iov.h
$(STAMP) s-iov
@@ -2964,24 +2986,37 @@ info: $(INFOFILES) lang.info @GENINSRC@
srcinfo: $(INFOFILES)
-cp -p $^ $(srcdir)/doc
-TEXI_CPP_FILES = cpp.texi fdl.texi cppenv.texi cppopts.texi
+TEXI_CPP_FILES = cpp.texi fdl.texi cppenv.texi cppopts.texi \
+ gcc-common.texi gcc-vers.texi
-TEXI_GCC_FILES = gcc.texi gcc-common.texi frontends.texi standards.texi \
- invoke.texi extend.texi md.texi objc.texi gcov.texi trouble.texi \
- bugreport.texi service.texi contribute.texi compat.texi funding.texi \
- gnu.texi gpl.texi fdl.texi contrib.texi cppenv.texi cppopts.texi \
+TEXI_GCC_FILES = gcc.texi gcc-common.texi gcc-vers.texi frontends.texi \
+ standards.texi invoke.texi extend.texi md.texi objc.texi \
+ gcov.texi trouble.texi bugreport.texi service.texi \
+ contribute.texi compat.texi funding.texi gnu.texi gpl.texi \
+ fdl.texi contrib.texi cppenv.texi cppopts.texi \
implement-c.texi
-TEXI_GCCINT_FILES = gccint.texi gcc-common.texi contribute.texi makefile.texi \
- configterms.texi portability.texi interface.texi passes.texi \
- c-tree.texi rtl.texi md.texi tm.texi hostconfig.texi fragments.texi \
- configfiles.texi collect2.texi headerdirs.texi funding.texi gnu.texi \
- gpl.texi fdl.texi contrib.texi languages.texi sourcebuild.texi \
- gty.texi libgcc.texi cfg.texi tree-ssa.texi
+TEXI_GCCINT_FILES = gccint.texi gcc-common.texi gcc-vers.texi \
+ contribute.texi makefile.texi configterms.texi \
+ portability.texi interface.texi passes.texi c-tree.texi \
+ rtl.texi md.texi tm.texi hostconfig.texi fragments.texi \
+ configfiles.texi collect2.texi headerdirs.texi funding.texi \
+ gnu.texi gpl.texi fdl.texi contrib.texi languages.texi \
+ sourcebuild.texi gty.texi libgcc.texi cfg.texi tree-ssa.texi
TEXI_GCCINSTALL_FILES = install.texi install-old.texi fdl.texi
-TEXI_CPPINT_FILES = cppinternals.texi
+TEXI_CPPINT_FILES = cppinternals.texi gcc-common.texi gcc-vers.texi
+
+# gcc-vers.texi is generated from the version files.
+gcc-vers.texi: $(BASEVER) $(DEVPHASE)
+ (echo "@set version-GCC $(BASEVER_c)"; \
+ if [ "$(DEVPHASE_c)" = "experimental" ]; \
+ then echo "@set DEVELOPMENT"; \
+ else echo "@clear DEVELOPMENT"; \
+ fi) > $@T
+ mv -f $@T $@
+
# The *.1, *.7, *.info, and *.dvi files are being generated from implicit
# patterns. To use them, put each of the specific targets with its
@@ -2994,7 +3029,7 @@ doc/cppinternals.info: $(TEXI_CPPINT_FIL
doc/%.info: %.texi
if [ x$(BUILD_INFO) = xinfo ]; then \
- $(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir) \
+ $(MAKEINFO) $(MAKEINFOFLAGS) -I . -I $(docdir) \
-I $(docdir)/include -o $@ $<; \
fi
@@ -3019,11 +3054,11 @@ dvi:: doc/gcc.dvi doc/gccint.dvi doc/gcc
doc/cppinternals.dvi
doc/%.dvi: %.texi
- $(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
+ $(TEXI2DVI) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
# Duplicate entry to handle renaming of gccinstall.dvi
doc/gccinstall.dvi: $(TEXI_GCCINSTALL_FILES)
- $(TEXI2DVI) -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
+ $(TEXI2DVI) -I . -I $(abs_docdir) -I $(abs_docdir)/include -o $@ $<
html:: $(htmldir)/cpp/index.html $(htmldir)/gcc/index.html \
$(htmldir)/gccinstall/index.html $(htmldir)/gccint/index.html \
@@ -4179,8 +4214,6 @@ risky-stage4: stage4
XGETTEXT = @XGETTEXT@
GMSGFMT = @GMSGFMT@
MSGMERGE = msgmerge
-
-PACKAGE = @PACKAGE@
CATALOGS = @CATALOGS@
.PHONY: build- install- build-po install-po update-po
@@ -4204,13 +4237,13 @@ update-po: $(CATALOGS:.gmo=.pox)
# The new .po has to be gone over by hand, so we deposit it into
# build/po with a different extension.
-# If build/po/$(PACKAGE).pot exists, use it (it was just created),
+# If build/po/gcc.pot exists, use it (it was just created),
# else use the one in srcdir.
.po.pox:
-test -d po || mkdir po
- $(MSGMERGE) $< `if test -f po/$(PACKAGE).pot; \
- then echo po/$(PACKAGE).pot; \
- else echo $(srcdir)/po/$(PACKAGE).pot; fi` -o $@
+ $(MSGMERGE) $< `if test -f po/gcc.pot; \
+ then echo po/gcc.pot; \
+ else echo $(srcdir)/po/gcc.pot; fi` -o $@
# This rule has to look for .gmo modules in both srcdir and
# the cwd, and has to check that we actually have a catalog
@@ -4227,8 +4260,8 @@ install-po:
dir=$(localedir)/$$lang/LC_MESSAGES; \
echo $(mkinstalldirs) $(DESTDIR)$$dir; \
$(mkinstalldirs) $(DESTDIR)$$dir || exit 1; \
- echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
- $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/$(PACKAGE).mo; \
+ echo $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
+ $(INSTALL_DATA) $$cat $(DESTDIR)$$dir/gcc.mo; \
done
# Rule for regenerating the message template (gcc.pot).
@@ -4238,9 +4271,9 @@ install-po:
# Note that exgettext has an awk script embedded in it which requires a
# fairly modern (POSIX-compliant) awk.
# The .pot file is left in the build directory.
-$(PACKAGE).pot: po/$(PACKAGE).pot
-po/$(PACKAGE).pot: force options.c
+gcc.pot: po/gcc.pot
+po/gcc.pot: force options.c
-test -d po || mkdir po
$(MAKE) srcextra
AWK=$(AWK) $(SHELL) $(srcdir)/po/exgettext \
- $(XGETTEXT) $(PACKAGE) $(srcdir)
+ $(XGETTEXT) gcc $(srcdir)
===================================================================
Index: gcc/aclocal.m4
--- gcc/aclocal.m4 2 Dec 2004 11:04:01 -0000 1.100
+++ gcc/aclocal.m4 10 Mar 2005 07:08:45 -0000
@@ -2,7 +2,6 @@ m4_include([../config/accross.m4])
m4_include([../config/acx.m4])
m4_include([../config/gettext-sister.m4])
m4_include([../config/gcc-lib-path.m4])
-m4_include([../config/gcc-version.m4])
m4_include([../config/iconv.m4])
m4_include([../config/lcmessage.m4])
m4_include([../config/lib-ld.m4])
===================================================================
Index: gcc/config.in
--- gcc/config.in 15 Dec 2004 23:50:14 -0000 1.202
+++ gcc/config.in 10 Mar 2005 07:08:45 -0000
@@ -64,8 +64,8 @@
valgrind (a memory checker). This is extremely expensive. */
#undef ENABLE_VALGRIND_CHECKING
-/* Define to 1 if installation paths should be looked up in Windows32
- Registry. Ignored on non windows32 hosts. */
+/* Define to 1 if installation paths should be looked up in the Windows
+ Registry. Ignored on non-Windows hosts. */
#undef ENABLE_WIN32_REGISTRY
/* Define to the name of a file containing a list of extra machine modes for
@@ -531,9 +531,6 @@
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O
-/* The name of this program for internationalization purposes. */
-#undef PACKAGE
-
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
@@ -589,7 +586,10 @@
/* Define if location_t is fileline integer cookie. */
#undef USE_MAPPED_LOCATION
-/* Define to be the last portion of registry key on windows hosts. */
+/* Define to be the last component of the Windows registry key under which to
+ look for installation paths. The full key used will be
+ HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}.
+ The default is the GCC version number. */
#undef WIN32_REGISTRY_KEY
/* whether byteorder is bigendian */
===================================================================
Index: gcc/configure
--- gcc/configure 28 Feb 2005 13:25:41 -0000 1.887
+++ gcc/configure 10 Mar 2005 07:08:45 -0000
@@ -309,7 +309,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_subdir host_subdir target_subdir gcc_version_trigger gcc_version_full gcc_version GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn warn_cflags WERROR nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file PACKAGE VERSION USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default set_gcc_lib_path GMPLIBS GMPINC LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical build_subdir host_subdir target_subdir GENINSRC CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT NO_MINUS_C_MINUS_O OUTPUT_OPTION CPP EGREP strict1_warn warn_cflags WERROR nocommon_flag TREEBROWSER valgrind_path valgrind_path_defines valgrind_command coverage_flags enable_multilib enable_shared TARGET_SYSTEM_ROOT TARGET_SYSTEM_ROOT_DEFINE CROSS_SYSTEM_HEADER_DIR onestep SET_MAKE AWK LN_S LN RANLIB ac_ct_RANLIB ranlib_flags INSTALL INSTALL_PROGRAM INSTALL_DATA make_compare_target have_mktemp_command MAKEINFO BUILD_INFO GENERATED_MANPAGES FLEX BISON NM AR stage1_cflags COLLECT2_LIBS GNAT_LIBEXC LDEXP_LIB TARGET_GETGROUPS_T LIBICONV LTLIBICONV LIBICONV_DEP manext objext gthread_flags extra_modes_file USE_NLS LIBINTL LIBINTL_DEP INCINTL XGETTEXT GMSGFMT POSUB CATALOGS host_cc_for_libada CROSS ALL SYSTEM_HEADER_DIR inhibit_libc CC_FOR_BUILD BUILD_CFLAGS STMP_FIXINC STMP_FIXPROTO collect2 libgcc_visibility GGC zlibdir zlibinc MAINT gcc_tooldir dollar slibdir objdir subdirs srcdir all_boot_languages all_compilers all_gtfiles all_gtfiles_files_langs all_gtfiles_files_files all_lang_makefrags all_lang_makefiles all_languages all_stagestuff build_exeext build_install_headers_dir build_xm_file_list build_xm_include_list build_xm_defines check_languages cc_set_by_configure quoted_cc_set_by_configure cpp_install_dir xmake_file tmake_file extra_gcc_objs extra_headers_list extra_objs extra_parts extra_passes extra_programs float_h_file gcc_config_arguments gcc_gxx_include_dir libstdcxx_incdir host_exeext host_xm_file_list host_xm_include_list host_xm_defines out_host_hook_obj install lang_opt_files lang_specs_files lang_tree_files local_prefix md_file objc_boehm_gc out_file out_object_file stage_prefix_set_by_configure quoted_stage_prefix_set_by_configure thread_file tm_file_list tm_include_list tm_defines tm_p_file_list tm_p_include_list xm_file_list xm_include_list xm_defines c_target_objs cxx_target_objs target_cpu_default set_gcc_lib_path GMPLIBS GMPINC LIBOBJS LTLIBOBJS'
ac_subst_files='language_hooks'
# Initialize some variables set by options.
@@ -1383,9 +1383,6 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers auto-host.h:config.in"
-#Set to 1 on a release branch
-is_release=
-
# Determine the host, build, and target systems
ac_aux_dir=
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
@@ -1606,23 +1603,6 @@ echo "$as_me: error:
{ (exit 1); exit 1; }; }
fi
-
-if test "${with_gcc_version_trigger+set}" = set; then
- gcc_version_trigger=$with_gcc_version_trigger
-else
- gcc_version_trigger=$srcdir/../gcc/version.c
-fi
-if test -f "${gcc_version_trigger}"; then
- gcc_version_full=`grep version_string "${gcc_version_trigger}" | sed -e 's/.*"\([^"]*\)".*/\1/'`
-else
- gcc_version_full=`$CC -v 2>&1 | sed -n 's/^gcc version //p'`
-fi
-gcc_version=`echo ${gcc_version_full} | sed -e 's/\([^ ]*\) .*/\1/'`
-
-
-
-
-
# -----------
# Directories
# -----------
@@ -1669,7 +1649,7 @@ if test x${gcc_gxx_include_dir} = x; the
if test x${enable_version_specific_runtime_libs} = xyes; then
gcc_gxx_include_dir='${libsubdir}/include/c++'
else
- libstdcxx_incdir=c++/${gcc_version}
+ libstdcxx_incdir='c++/$(version)'
gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/"${libstdcxx_incdir}
fi
fi
@@ -6257,6 +6237,10 @@ fi
# Enable -Werror in bootstrap stage2 and later.
+is_release=
+if test x"`cat $srcdir/DEV-PHASE`" != xexperimental; then
+ is_release=yes
+fi
# Check whether --enable-werror or --disable-werror was given.
if test "${enable_werror+set}" = set; then
enableval="$enable_werror"
@@ -7394,7 +7378,7 @@ if test "${gcc_cv_prog_makeinfo_modern+s
else
ac_prog_version=`$MAKEINFO --version 2>&1 |
sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
- echo "configure:7397: version of makeinfo is $ac_prog_version" >&5
+ echo "configure:7381: version of makeinfo is $ac_prog_version" >&5
case $ac_prog_version in
'') gcc_cv_prog_makeinfo_modern=no;;
4.[2-9]*)
@@ -12235,16 +12219,6 @@ static const struct {
EOF
# Internationalization
-PACKAGE=gcc
-VERSION="$gcc_version"
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-
-
# If we haven't got the data from the intl directory,
# assume NLS is disabled.
USE_NLS=no
@@ -12319,19 +12293,11 @@ if test "${enable_win32_registry+set}" =
enableval="$enable_win32_registry"
fi;
-case $host_os in
- win32 | pe | cygwin* | mingw32* | uwin*)
-echo "$as_me:$LINENO: checking whether windows registry support is requested" >&5
-echo $ECHO_N "checking whether windows registry support is requested... $ECHO_C" >&6
-if test "x$enable_win32_registry" != xno; then
-
-cat >>confdefs.h <<\_ACEOF
-#define ENABLE_WIN32_REGISTRY 1
-_ACEOF
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- echo "$as_me:$LINENO: checking for library containing RegOpenKeyExA" >&5
+case $host_os in
+ win32 | pe | cygwin* | mingw32* | uwin*)
+ if test "x$enable_win32_registry" != xno; then
+ echo "$as_me:$LINENO: checking for library containing RegOpenKeyExA" >&5
echo $ECHO_N "checking for library containing RegOpenKeyExA... $ECHO_C" >&6
if test "${ac_cv_search_RegOpenKeyExA+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
@@ -12455,41 +12421,29 @@ echo "${ECHO_T}$ac_cv_search_RegOpenKeyE
if test "$ac_cv_search_RegOpenKeyExA" != no; then
test "$ac_cv_search_RegOpenKeyExA" = "none required" || LIBS="$ac_cv_search_RegOpenKeyExA $LIBS"
-fi
-
else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+ enable_win32_registry=no
fi
-# Check if user specified a different registry key.
-case "x${enable_win32_registry}" in
-x | xyes)
- # default.
- gcc_cv_win32_registry_key="$VERSION"
- ;;
-xno)
- # no registry lookup.
- gcc_cv_win32_registry_key=''
- ;;
-*)
- # user-specified key.
- gcc_cv_win32_registry_key="$enable_win32_registry"
- ;;
-esac
+ fi
-if test "x$enable_win32_registry" != xno; then
- echo "$as_me:$LINENO: checking registry key on windows hosts" >&5
-echo $ECHO_N "checking registry key on windows hosts... $ECHO_C" >&6
+ if test "x$enable_win32_registry" != xno; then
+
+cat >>confdefs.h <<\_ACEOF
+#define ENABLE_WIN32_REGISTRY 1
+_ACEOF
+
+
+ if test "x$enable_win32_registry" != xyes \
+ && test "x$enable_win32_registry" != x; then
cat >>confdefs.h <<_ACEOF
-#define WIN32_REGISTRY_KEY "$gcc_cv_win32_registry_key"
+#define WIN32_REGISTRY_KEY "$enable_win32_registry"
_ACEOF
- echo "$as_me:$LINENO: result: $gcc_cv_win32_registry_key" >&5
-echo "${ECHO_T}$gcc_cv_win32_registry_key" >&6
-fi
-;;
+ fi
+ fi
+ ;;
esac
# Get an absolute path to the GCC top-level source directory
@@ -12809,6 +12763,8 @@ elif test -x "$AS" && test x$host = x$ta
gcc_cv_as="$AS"
fi
+gcc_version=`cat $srcdir/BASE-VER`
+
if test "x$gcc_cv_as" = x; then
# Search the same directories that the installed compiler will
# search. Else we may find the wrong assembler and lose. If we
@@ -16034,9 +15990,6 @@ s,@target_noncanonical@,$target_noncanon
s,@build_subdir@,$build_subdir,;t t
s,@host_subdir@,$host_subdir,;t t
s,@target_subdir@,$target_subdir,;t t
-s,@gcc_version_trigger@,$gcc_version_trigger,;t t
-s,@gcc_version_full@,$gcc_version_full,;t t
-s,@gcc_version@,$gcc_version,;t t
s,@GENINSRC@,$GENINSRC,;t t
s,@CC@,$CC,;t t
s,@CFLAGS@,$CFLAGS,;t t
@@ -16095,8 +16048,6 @@ s,@manext@,$manext,;t t
s,@objext@,$objext,;t t
s,@gthread_flags@,$gthread_flags,;t t
s,@extra_modes_file@,$extra_modes_file,;t t
-s,@PACKAGE@,$PACKAGE,;t t
-s,@VERSION@,$VERSION,;t t
s,@USE_NLS@,$USE_NLS,;t t
s,@LIBINTL@,$LIBINTL,;t t
s,@LIBINTL_DEP@,$LIBINTL_DEP,;t t
===================================================================
Index: gcc/configure.ac
--- gcc/configure.ac 26 Feb 2005 21:43:29 -0000 2.95
+++ gcc/configure.ac 10 Mar 2005 07:08:46 -0000
@@ -30,9 +30,6 @@ AC_INIT
AC_CONFIG_SRCDIR(tree.c)
AC_CONFIG_HEADER(auto-host.h:config.in)
-#Set to 1 on a release branch
-is_release=
-
# Determine the host, build, and target systems
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
@@ -100,8 +97,6 @@ AC_MSG_ERROR([
*** and run configure again.])
fi
-TL_AC_GCC_VERSION([$srcdir/..])
-
# -----------
# Directories
# -----------
@@ -139,7 +134,7 @@ if test x${gcc_gxx_include_dir} = x; the
if test x${enable_version_specific_runtime_libs} = xyes; then
gcc_gxx_include_dir='${libsubdir}/include/c++'
else
- libstdcxx_incdir=c++/${gcc_version}
+ libstdcxx_incdir='c++/$(version)'
changequote(<<, >>)dnl
gcc_gxx_include_dir="\$(libsubdir)/\$(unlibsubdir)/..\`echo \$(exec_prefix) | sed -e 's|^\$(prefix)||' -e 's|/[^/]*|/..|g'\`/include/"${libstdcxx_incdir}
changequote([, ])dnl
@@ -375,6 +370,10 @@ fi
AC_SUBST(warn_cflags)
# Enable -Werror in bootstrap stage2 and later.
+is_release=
+if test x"`cat $srcdir/DEV-PHASE`" != xexperimental; then
+ is_release=yes
+fi
AC_ARG_ENABLE(werror,
[ --enable-werror enable -Werror in bootstrap stage2 and later], [],
[if test x$is_release = x ; then
@@ -1411,13 +1410,6 @@ EOF
changequote([,])dnl
# Internationalization
-PACKAGE=gcc
-VERSION="$gcc_version"
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE",
- [The name of this program for internationalization purposes.])
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-
ZW_GNU_GETTEXT_SISTER_DIR
# If LIBINTL contains LIBICONV, then clear LIBICONV so we don't get
@@ -1435,44 +1427,30 @@ AC_ARG_ENABLE(win32-registry,
--enable-win32-registry=KEY
use KEY instead of GCC version as the last portion
of the registry key],,)
+
case $host_os in
- win32 | pe | cygwin* | mingw32* | uwin*)
-AC_MSG_CHECKING(whether windows registry support is requested)
-if test "x$enable_win32_registry" != xno; then
- AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
-[Define to 1 if installation paths should be looked up in Windows32
- Registry. Ignored on non windows32 hosts.])
- AC_MSG_RESULT(yes)
- AC_SEARCH_LIBS(RegOpenKeyExA, advapi32)
-else
- AC_MSG_RESULT(no)
-fi
+ win32 | pe | cygwin* | mingw32* | uwin*)
+ if test "x$enable_win32_registry" != xno; then
+ AC_SEARCH_LIBS(RegOpenKeyExA, advapi32,, [enable_win32_registry=no])
+ fi
-# Check if user specified a different registry key.
-case "x${enable_win32_registry}" in
-x | xyes)
- # default.
- gcc_cv_win32_registry_key="$VERSION"
- ;;
-xno)
- # no registry lookup.
- gcc_cv_win32_registry_key=''
- ;;
-*)
- # user-specified key.
- gcc_cv_win32_registry_key="$enable_win32_registry"
+ if test "x$enable_win32_registry" != xno; then
+ AC_DEFINE(ENABLE_WIN32_REGISTRY, 1,
+ [Define to 1 if installation paths should be looked up in the Windows
+ Registry. Ignored on non-Windows hosts.])
+
+ if test "x$enable_win32_registry" != xyes \
+ && test "x$enable_win32_registry" != x; then
+ AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$enable_win32_registry",
+ [Define to be the last component of the Windows registry key under which
+ to look for installation paths. The full key used will be
+ HKEY_LOCAL_MACHINE/SOFTWARE/Free Software Foundation/{WIN32_REGISTRY_KEY}.
+ The default is the GCC version number.])
+ fi
+ fi
;;
esac
-if test "x$enable_win32_registry" != xno; then
- AC_MSG_CHECKING(registry key on windows hosts)
- AC_DEFINE_UNQUOTED(WIN32_REGISTRY_KEY, "$gcc_cv_win32_registry_key",
- [Define to be the last portion of registry key on windows hosts.])
- AC_MSG_RESULT($gcc_cv_win32_registry_key)
-fi
-;;
-esac
-
# Get an absolute path to the GCC top-level source directory
holddir=`${PWDCMD-pwd}`
cd $srcdir
@@ -1769,6 +1747,8 @@ elif test -x "$AS" && test x$host = x$ta
gcc_cv_as="$AS"
fi
+gcc_version=`cat $srcdir/BASE-VER`
+
if test "x$gcc_cv_as" = x; then
# Search the same directories that the installed compiler will
# search. Else we may find the wrong assembler and lose. If we
===================================================================
Index: gcc/gccbug.in
--- gcc/gccbug.in 15 Jul 2004 16:52:43 -0000 1.20
+++ gcc/gccbug.in 10 Mar 2005 07:08:46 -0000
@@ -31,7 +31,11 @@ SUBMITTER=net
GNATS_ADDR=gcc-gnats@gcc.gnu.org
# The default release for this host.
-DEFAULT_RELEASE="@gcc_version_full@"
+# We have to guess at what program_transform_name might have done.
+# "sed 1q" because neither "head -1" nor "head -n 1" is universal, argh.
+
+DEFAULT_GCC="`echo $0 | sed -e 's/bug//'`"
+DEFAULT_RELEASE="`$DEFAULT_GCC --version | sed 1q`"
# The default organization.
DEFAULT_ORGANIZATION=
===================================================================
Index: gcc/gcov-iov.c
--- gcc/gcov-iov.c 9 Jul 2003 12:12:29 -0000 1.4
+++ gcc/gcov-iov.c 10 Mar 2005 07:08:46 -0000
@@ -1,6 +1,6 @@
/* Generate gcov version string from version.c. See gcov-io.h for
description of how the version string is generated.
- Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
Contributed by Nathan Sidwell <nathan@codesourcery.com>
This file is part of GCC.
@@ -20,46 +20,50 @@ along with GCC; see the file COPYING. I
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
-#include "bconfig.h"
-#include "system.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "version.c" /* We want the actual string. */
+#include <stdio.h>
+#include <stdlib.h>
-int main (int, char **);
+/* Command line arguments are the base GCC version and the development
+ phase (the latter may be an empty string). */
int
-main (int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED)
+main (int argc, char **argv)
{
- unsigned version = 0;
+ unsigned int version = 0;
unsigned char v[4];
- unsigned ix;
- char const *ptr = version_string;
- unsigned major, minor = 0;
- char s = 0;
-
- major = atoi (ptr);
- while (*ptr && *ptr != '.')
- ptr++;
- if (*ptr)
- minor = atoi (ptr + 1);
- while (*ptr)
- if (*ptr++ == '(')
- {
- s = *ptr;
- break;
- }
+ unsigned int ix;
+ unsigned long major;
+ unsigned long minor = 0;
+ char phase = 0;
+ char *ptr;
+
+ if (argc != 3)
+ {
+ fprintf (stderr, "usage: %s 'version' 'phase'\n", argv[0]);
+ return 1;
+ }
+
+ ptr = argv[1];
+ major = strtoul (ptr, &ptr, 10);
+
+ if (*ptr == '.')
+ minor = strtoul (ptr + 1, 0, 10);
+
+ phase = argv[2][0];
+ if (phase == '\0')
+ phase = '*';
v[0] = (major < 10 ? '0' : 'A' - 10) + major;
v[1] = (minor / 10) + '0';
v[2] = (minor % 10) + '0';
- v[3] = s ? s : '*';
+ v[3] = phase;
for (ix = 0; ix != 4; ix++)
version = (version << 8) | v[ix];
printf ("/* Generated automatically by the program `%s'\n", argv[0]);
- printf (" from `%s'. */\n", version_string);
+ printf (" from `%s (%lu %lu) and %s (%c)'. */\n",
+ argv[1], major, minor, argv[2], phase);
printf ("\n");
printf ("#define GCOV_VERSION ((gcov_unsigned_t)%#08x) /* %.4s */\n",
version, v);
===================================================================
Index: gcc/intl.c
--- gcc/intl.c 23 Jul 2004 06:59:34 -0000 1.11
+++ gcc/intl.c 10 Mar 2005 07:08:46 -0000
@@ -51,8 +51,8 @@ gcc_init_libintl (void)
setlocale (LC_ALL, "");
#endif
- (void) bindtextdomain (PACKAGE, LOCALEDIR);
- (void) textdomain (PACKAGE);
+ (void) bindtextdomain ("gcc", LOCALEDIR);
+ (void) textdomain ("gcc");
/* Opening quotation mark. */
open_quote = _("`");
===================================================================
Index: gcc/libada-mk.in
--- gcc/libada-mk.in 26 Feb 2005 21:43:30 -0000 2.3
+++ gcc/libada-mk.in 10 Mar 2005 07:08:46 -0000
@@ -23,7 +23,6 @@
exeext=@host_exeext@
libdir=@libdir@
-gcc_version=@gcc_version@
NOCOMMON_FLAG=@nocommon_flag@
WARN_CFLAGS=@warn_cflags@
gcc_tmake_file=@tmake_file@
===================================================================
Index: gcc/prefix.c
--- gcc/prefix.c 30 Jun 2004 18:45:57 -0000 1.44
+++ gcc/prefix.c 10 Mar 2005 07:08:48 -0000
@@ -124,6 +124,10 @@ save_string (const char *s, int len)
#if defined(_WIN32) && defined(ENABLE_WIN32_REGISTRY)
+#ifndef WIN32_REGISTRY_KEY
+# define WIN32_REGISTRY_KEY BASEVER
+#endif
+
/* Look up "key" in the registry, as above. */
static char *
===================================================================
Index: gcc/version.c
--- gcc/version.c 10 Mar 2005 00:19:28 -0000 1.2629
+++ gcc/version.c 10 Mar 2005 07:08:48 -0000
@@ -1,11 +1,14 @@
#include "version.h"
-/* This is the string reported as the version number by all components
- of the compiler. If you distribute a modified version of GCC,
- please modify this string to indicate that, e.g. by putting your
- organization's name in parentheses at the end of the string. */
+/* This is the trailing component of the string reported as the
+ version number by all components of the compiler. For an official
+ FSF release, it is empty. If you distribute a modified version of
+ GCC, please change this string to indicate that. The suggested
+ format is a leading space, followed by your organization's name
+ in parentheses. You may also wish to include a number indicating
+ the revision of your modified compiler. */
-const char version_string[] = "4.1.0 20050310 (experimental)";
+#define VERSUFFIX ""
/* This is the location of the online document giving instructions for
reporting bugs. If you distribute a modified version of GCC,
@@ -15,3 +18,8 @@ const char version_string[] = "4.1.0 200
not bugs in your modifications.) */
const char bug_report_url[] = "<URL:http://gcc.gnu.org/bugs.html>";
+
+/* The complete version string, assembled from several pieces.
+ BASEVER, DATESTAMP, and DEVPHASE are defined by the Makefile. */
+
+const char version_string[] = BASEVER DATESTAMP DEVPHASE VERSUFFIX;
===================================================================
Index: gcc/ada/Make-lang.in
--- gcc/ada/Make-lang.in 10 Feb 2005 13:54:45 -0000 1.98
+++ gcc/ada/Make-lang.in 10 Mar 2005 07:08:48 -0000
@@ -377,16 +377,18 @@ doc/gnat_ugn_unw.texi: $(srcdir)/ada/gna
ada/doctools/xgnatugn unw $(srcdir)/ada/gnat_ugn.texi \
$(srcdir)/ada/ug_words doc/gnat_ugn_unw.texi
-doc/gnat_ugn_unw.info: doc/gnat_ugn_unw.texi \
- $(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
+doc/gnat_ugn_unw.info: doc/gnat_ugn_unw.texi \
+ $(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi \
+ gcc-vers.texi
+
if [ x$(BUILD_INFO) = xinfo ]; then \
rm -f $(@)*; \
$(MAKEINFO) $(MAKEINFOFLAGS) -I$(docdir)/include \
-I$(srcdir)/ada -o $@ $<; \
else true; fi
-doc/gnat_rm.info: ada/gnat_rm.texi $(docdir)/include/fdl.texi \
- $(docdir)/include/gcc-common.texi
+doc/gnat_rm.info: ada/gnat_rm.texi $(docdir)/include/fdl.texi \
+ $(docdir)/include/gcc-common.texi gcc-vers.texi
if [ x$(BUILD_INFO) = xinfo ]; then \
rm -f $(@)*; \
$(MAKEINFO) $(MAKEINFOFLAGS) -I$(docdir)/include \
@@ -415,12 +417,12 @@ install-info:: $(DESTDIR)$(infodir)/gnat
dvi:: doc/gnat_ugn_unw.dvi \
doc/gnat_rm.dvi doc/gnat-style.dvi
-doc/gnat_ugn_unw.dvi: doc/gnat_ugn_unw.texi \
- $(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
+doc/gnat_ugn_unw.dvi: doc/gnat_ugn_unw.texi $(docdir)/include/fdl.texi \
+ $(docdir)/include/gcc-common.texi gcc-vers.texi
$(TEXI2DVI) -c -I $(abs_docdir)/include -o $@ $<
-doc/gnat_rm.dvi: ada/gnat_rm.texi \
- $(docdir)/include/fdl.texi $(docdir)/include/gcc-common.texi
+doc/gnat_rm.dvi: ada/gnat_rm.texi $(docdir)/include/fdl.texi \
+ $(docdir)/include/gcc-common.texi gcc-vers.texi
$(TEXI2DVI) -c -I $(abs_docdir)/include -o $@ $<
doc/gnat-style.dvi: ada/gnat-style.texi $(docdir)/include/fdl.texi
===================================================================
Index: gcc/config/alpha/x-vms
--- gcc/config/alpha/x-vms 5 Apr 2004 03:58:44 -0000 1.9
+++ gcc/config/alpha/x-vms 10 Mar 2005 07:08:51 -0000
@@ -1,5 +1,5 @@
# Under VMS, directory names cannot contain dots.
-version:=$(shell echo $(gcc_version) | sed -e 's/\./_/g')
+version:=$(shell echo $(BASEVER_c) | sed -e 's/\./_/g')
libsubdir=$(libdir)/gcc-lib
===================================================================
Index: gcc/config/i386/t-nwld
--- gcc/config/i386/t-nwld 19 Feb 2005 11:44:06 -0000 1.6
+++ gcc/config/i386/t-nwld 10 Mar 2005 07:08:51 -0000
@@ -38,7 +38,7 @@ SHLIB_SRC = $(srcdir)/config/i386/netwar
SHLIB_LINK = set -e; \
cat $(SHLIB_DEF) >@shlib_base_name@.def; \
echo "name $(SHLIB_NAME)" >>@shlib_base_name@.def; \
- echo "version $(gcc_version)" | sed "s!\.!,!g" >>@shlib_base_name@.def; \
+ echo "version $(version)" | sed "s!\.!,!g" >>@shlib_base_name@.def; \
touch libgcc/build; \
echo "build $$$$(($$$$(<libgcc/build)+0))" >>@shlib_base_name@.def; \
echo "export @$(SHLIB_MAP)" >>@shlib_base_name@.def; \
===================================================================
Index: gcc/doc/include/gcc-common.texi
--- gcc/doc/include/gcc-common.texi 2 Mar 2005 14:03:44 -0000 1.12
+++ gcc/doc/include/gcc-common.texi 10 Mar 2005 07:08:51 -0000
@@ -2,14 +2,13 @@
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.
-@c Common values used in the GCC manuals:
+@c Version number and development mode.
+@c version-GCC is @set to the base GCC version number.
+@c DEVELOPMENT is @set for an in-development version, @clear for a
+@c release version (corresponding to ``experimental''/anything else
+@c in gcc/DEV-PHASE).
-@set version-GCC 4.1.0
-
-@c DEVELOPMENT is set to indicate an in-development version,
-@c as compared to a release version. When making a release
-@c branch, clear this.
-@set DEVELOPMENT
+@include gcc-vers.texi
@c Common macros to support generating man pages:
===================================================================
Index: gcc/fortran/Make-lang.in
--- gcc/fortran/Make-lang.in 13 Nov 2004 07:35:54 -0000 1.12
+++ gcc/fortran/Make-lang.in 10 Mar 2005 07:08:51 -0000
@@ -153,7 +153,8 @@ GFORTRAN_TEXI = \
$(srcdir)/doc/include/fdl.texi \
$(srcdir)/doc/include/gpl.texi \
$(srcdir)/doc/include/funding.texi \
- $(srcdir)/doc/include/gcc-common.texi
+ $(srcdir)/doc/include/gcc-common.texi \
+ gcc-vers.texi
doc/gfortran.info: $(GFORTRAN_TEXI)
if [ x$(BUILD_INFO) = xinfo ]; then \
===================================================================
Index: gcc/java/Make-lang.in
--- gcc/java/Make-lang.in 6 Mar 2005 08:42:31 -0000 1.154
+++ gcc/java/Make-lang.in 10 Mar 2005 07:08:58 -0000
@@ -370,8 +370,9 @@ java/jcf-path.o: java/jcf-path.c $(CONFI
-DDEFAULT_TARGET_VERSION=\"$(version)\" \
$(srcdir)/java/jcf-path.c $(OUTPUT_OPTION)
-TEXI_JAVA_FILES = java/gcj.texi $(docdir)/include/fdl.texi $(docdir)/include/gpl.texi \
- $(docdir)/include/gcc-common.texi
+TEXI_JAVA_FILES = java/gcj.texi $(docdir)/include/fdl.texi \
+ $(docdir)/include/gpl.texi $(docdir)/include/gcc-common.texi \
+ gcc-vers.texi
# Documentation
doc/gcj.info: $(TEXI_JAVA_FILES)
===================================================================
Index: gcc/treelang/Make-lang.in
--- gcc/treelang/Make-lang.in 6 Mar 2005 16:02:40 -0000 1.52
+++ gcc/treelang/Make-lang.in 10 Mar 2005 07:09:15 -0000
@@ -166,7 +166,8 @@ TEXI_TREELANG_FILES = treelang/treelang.
$(docdir)/include/gcc-common.texi \
$(docdir)/include/gpl.texi \
$(docdir)/include/fdl.texi \
- $(docdir)/include/funding.texi
+ $(docdir)/include/funding.texi \
+ gcc-vers.texi
doc/treelang.info: $(TEXI_TREELANG_FILES)
$(MAKEINFO) $(MAKEINFOFLAGS) -I $(docdir)/include -o $@ $<
===================================================================
Index: libstdc++-v3/include/Makefile.am
--- libstdc++-v3/include/Makefile.am 2 Mar 2005 12:56:23 -0000 1.97
+++ libstdc++-v3/include/Makefile.am 10 Mar 2005 07:09:35 -0000
@@ -521,8 +521,11 @@ stamp-host: ${host_headers} ${host_heade
# Host includes dynamic.
${host_builddir}/c++config.h: ${top_builddir}/config.h \
${glibcxx_srcdir}/include/bits/c++config \
- stamp-${host_alias}
+ stamp-${host_alias} \
+ ${toplevel_srcdir}/gcc/DATESTAMP
@cat ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
+ sed -e 's/^/#define __GLIBCXX__ /' \
+ < ${toplevel_srcdir}/gcc/DATESTAMP >> $@ ;\
sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
-e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
-e 's/VERSION/_GLIBCXX_VERSION/g' \
===================================================================
Index: libstdc++-v3/include/Makefile.in
--- libstdc++-v3/include/Makefile.in 2 Mar 2005 12:56:24 -0000 1.127
+++ libstdc++-v3/include/Makefile.in 10 Mar 2005 07:09:35 -0000
@@ -900,8 +900,11 @@ stamp-host: ${host_headers} ${host_heade
# Host includes dynamic.
${host_builddir}/c++config.h: ${top_builddir}/config.h \
${glibcxx_srcdir}/include/bits/c++config \
- stamp-${host_alias}
+ stamp-${host_alias} \
+ ${toplevel_srcdir}/gcc/DATESTAMP
@cat ${glibcxx_srcdir}/include/bits/c++config > $@ ;\
+ sed -e 's/^/#define __GLIBCXX__ /' \
+ < ${toplevel_srcdir}/gcc/DATESTAMP >> $@ ;\
sed -e 's/HAVE_/_GLIBCXX_HAVE_/g' \
-e 's/PACKAGE/_GLIBCXX_PACKAGE/g' \
-e 's/VERSION/_GLIBCXX_VERSION/g' \
===================================================================
Index: libstdc++-v3/include/bits/c++config
--- libstdc++-v3/include/bits/c++config 10 Mar 2005 00:19:29 -0000 1.1399
+++ libstdc++-v3/include/bits/c++config 10 Mar 2005 07:09:35 -0000
@@ -34,9 +34,6 @@
// Pick up any OS-specific definitions.
#include <bits/os_defines.h>
-// The current version of the C++ library in compressed ISO date format.
-#define __GLIBCXX__ 20050310
-
// Allow use of "export template." This is currently not a feature
// that g++ supports.
// #define _GLIBCXX_EXPORT_TEMPLATE 1
===================================================================
Index: maintainer-scripts/README
--- maintainer-scripts/README 10 Mar 2001 00:08:49 -0000 1.1
+++ maintainer-scripts/README 10 Mar 2005 07:09:41 -0000
@@ -1,6 +1,6 @@
This directory contains various files used by the gccadmin account on
gcc.gnu.org, mainly for automated tasks such as the daily update of
-the date in version.c. There isn't presently any scheme for files
+the date in gcc/DATESTAMP. There isn't presently any scheme for files
checked in here to be automatically checked out and used by gccadmin,
so the files in CVS and those used by gccadmin must be kept in sync
manually.
===================================================================
Index: maintainer-scripts/gcc_release
--- maintainer-scripts/gcc_release 14 Aug 2004 16:47:52 -0000 1.63
+++ maintainer-scripts/gcc_release 10 Mar 2005 07:09:41 -0000
@@ -140,15 +140,25 @@ EOF
fi
done
- # Update `gcc/version.c'.
- for x in gcc/version.c; do
- y=`basename ${x}`
- (changedir `dirname ${SOURCE_DIRECTORY}/${x}` && \
- sed -e 's|version_string\[\] = \".*\"|version_string\[\] = \"'${RELEASE}'\"|g' < ${y} > ${y}.new && \
- mv ${y}.new ${y} && \
- ${CVS} ci -m 'Update version' ${y}) || \
- error "Could not update ${x}"
- done
+ # Update gcc/DEV-PHASE if it exists, otherwise gcc/version.c.
+
+ if [ -f ${SOURCE_DIRECTORY}/gcc/DEV-PHASE ]; then
+ [ `cat ${SOURCE_DIRECTORY}/gcc/BASE-VER` = ${RELEASE} ] || \
+ error "Release number ${RELEASE} does not match BASE-VER"
+ (changedir ${SOURCE_DIRECTORY}/gcc && \
+ : > DEV-PHASE && \
+ ${CVS} ci -m 'Mark as release' DEV-PHASE) || \
+ error "Could not update DEV-PHASE"
+ else
+ for x in gcc/version.c; do
+ y=`basename ${x}`
+ (changedir `dirname ${SOURCE_DIRECTORY}/${x}` && \
+ sed -e 's|version_string\[\] = \".*\"|version_string\[\] = \"'${RELEASE}'\"|g' < ${y} > ${y}.new && \
+ mv ${y}.new ${y} && \
+ ${CVS} ci -m 'Update version' ${y}) || \
+ error "Could not update ${x}"
+ done
+ fi
# Make sure we tag the sources for a final release.
TAG="gcc_`echo ${RELEASE} | tr . _`_release"
===================================================================
Index: maintainer-scripts/update_version
--- maintainer-scripts/update_version 31 Dec 2004 00:11:08 -0000 1.15
+++ maintainer-scripts/update_version 10 Mar 2005 07:09:41 -0000
@@ -36,6 +36,11 @@ textstring_FILES="gcc/gcc/version.c"
# version is contained within a #define
cppdefine_FILES="gcc/libstdc++-v3/include/bits/c++config"
+# version is all there is
+datestamp_FILES="gcc/gcc/DATESTAMP"
+
+FILES="$textstring_FILES $cppdefine_FILES $datestamp_FILES"
+
# Assume all will go well.
RESULT=0
@@ -45,9 +50,9 @@ for BRANCH in $BRANCHES; do
# you check out files with -r HEAD, CVS will not let you check
# in changes.
if test "$BRANCH" = HEAD; then
- ${CVS} co $textstring_FILES $cppdefine_FILES
+ ${CVS} co $FILES
else
- ${CVS} co -r $BRANCH $textstring_FILES $cppdefine_FILES
+ ${CVS} co -r $BRANCH $FILES
fi
# There are no files to commit yet.
@@ -81,6 +86,19 @@ for BRANCH in $BRANCHES; do
fi
done
+ for file in $datestamp_FILES; do
+ if test -f $file; then
+ echo ${CURR_DATE} > $file.new
+
+ if /usr/bin/cmp -s $file $file.new; then
+ rm -f $file.new
+ else
+ mv -f $file.new $file
+ COMMIT_FILES="$COMMIT_FILES $file"
+ fi
+ fi
+ done
+
if test -n "$COMMIT_FILES" \
&& ! ${CVS} commit -m "Daily bump." $COMMIT_FILES; then
# If we could not commit the files, indicate failure.
===================================================================
Index: maintainer-scripts/update_web_docs
--- maintainer-scripts/update_web_docs 13 May 2004 10:30:28 -0000 1.24
+++ maintainer-scripts/update_web_docs 10 Mar 2005 07:09:41 -0000
@@ -88,7 +88,7 @@ find $CVSROOT/gcc -name \*.texi,v -print
# Checkout all the texi files.
-cvs -Q export -r$RELEASE `cat FILES` gcc/gcc/doc/install.texi2html gcc/gcc/doc/include/texinfo.tex gcc/gcc/ada/xgnatugn.adb gcc/gcc/ada/ug_words
+cvs -Q export -r$RELEASE `cat FILES` gcc/gcc/doc/install.texi2html gcc/gcc/doc/include/texinfo.tex gcc/gcc/ada/xgnatugn.adb gcc/gcc/ada/ug_words gcc/gcc/BASE-VER gcc/gcc/DEV-PHASE
# Build a tarball of the sources.
tar cf docs-sources.tar gcc
@@ -107,6 +107,16 @@ if [ -f gcc/gcc/ada/xgnatugn.adb ]; then
gcc/gcc/ada/ug_words gnat_ugn_unw.texi
fi
+# Generate gcc-vers.texi.
+(
+ echo "@set version-GCC $(cat gcc/gcc/BASE-VER)"
+ if "$(cat gcc/gcc/DEV-PHASE)" = "experimental"; then
+ echo "@set DEVELOPMENT"
+ else
+ echo "@clear DEVELOPMENT"
+ fi
+) > $includedir/gcc-vers.texi
+
# Now convert the relevant files from texi to HTML and PostScript.
for file in $MANUALS; do
filename=`find . -name ${file}.texi`