This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
One version number, &c, take two
- From: Zack Weinberg <zack at codesourcery dot com>
- To: gcc-patches at gcc dot gnu dot org, libstdc++ at gcc dot gnu dot org
- Cc: Mark Mitchell <mark at codesourcery dot com>, "Joseph S. Myers"<joseph at codesourcery dot com>, DJ Delorie <dj at redhat dot com>
- Date: Tue, 08 Mar 2005 23:42:19 -0800
- Subject: One version number, &c, take two
This is a revised version of my patch to consolidate version number
handling further, streamline the release process a little, and avoid
re-running configure when the datestamp changes. The patch adds three
files in the toplevel config/ directory. GCC-BASE-VER contains the
base version number of the compiler. DATESTAMP contains the tree
datestamp in the usual YYYYMMDD format; it is empty in a release
tarball. GCC-DEV-PHASE contains the word "experimental" on
development branches, "prerelease" on release branches, and is empty
in releases. All three files are syntax-free.
Everything in the gcc directory that used to look at version.c or
doc/include/gcc-common.texi for the version number, now gets what it
needs from one of these files. There is still a copy of the datestamp
in libstdc++-v3/include/bits/c++config.
The revision addresses many of the errors and omissions in my previous
patch (http://gcc.gnu.org/ml/gcc-patches/2005-03/msg00195.html):
- glibcbug.in has been restored, but still does not depend on
autoconf substituting the GCC version number.
- configure.ac now looks at config/GCC-DEV-PHASE to determine whether
is_release should be true. It is therefore no longer necessary to
modify configure.ac and regenerate configure when making a release branch.
- gcc_release has been updated for the new scheme, but should still
work with the old. Note that it does not do anything that it
didn't do before; in particular, it is still required to bump the
version number by hand (which now involves editing three files).
- All documentation that I am aware of has been updated.
branching.html no longer documents the old procedure, on the theory
that no one will ever need to do it that way again; releasing.html
does still document the old procedure and indicate which branches
get which treatment.
- "make info" and "make dvi" have both been verified to work.
I am soliciting the following:
- A careful eye on all of these changes, particularly the changes to
the maintainer scripts, which cannot be tested in advance.
- From the libstdc++ folks: Advice on how to eliminate the copy of
the date stamp in c++config (note that config/DATESTAMP presently
is empty in a release tarball, although that could be changed ...
come to think, that would reduce the number of steps in the release
process, too).
- Information about any places I have neglected to update.
zw
config:
* DATESTAMP, GCC-BASE-VER, GCC-DEV-PHASE: New files.
* gcc-version.m4: Delete.
fastjar:
* Makefile.am (gcc-vers.texi): New rule.
(fastjar_TEXINFOS): Add gcc-vers.texi.
* Makefile.in: Regenerate (by hand).
gcc:
* aclocal.m4: Don't include gcc-version.m4.
* configure.ac (is_release): Determine based on contents of
config/GCC-DEV-PHASE.
(gcc_version): Determine based on contents of config/GCC-BASE-VER.
(TL_AC_GCC_VERSION): Delete.
(libstdcxx_incdir): Defer expansion of $(version) to Makefile.
(PACKAGE, VERSION): Delete all references.
(WIN32_REGISTRY_KEY): Only define if user overrode default.
* config.in, configure: Regenerate.
* Makefile.in (gcc_version, gcc_version_trigger, PACKAGE): Delete.
(BASEVER, DATESTAMP, DEVPHASE, BASEVER_c, DATESTAMP_c, DEVPHASE_c)
(BASEVER_s, DATESTAMP_s, DEVPHASE_s): New variables.
(version): Base on $(BASEVER_c).
(Makefile): Don't depend on version.c.
(build/gcov-iov.o): Likewise.
(version.o): Depend on version files. Add custom build rule.
(prefix.o): Similarly.
(s-iov): Similarly.
(gcc-vers.texi): New rule.
(TEXI_CPP_FILES, TEXI_GCC_FILES, TEXI_GCCINT_FILES)
(TEXI_CPPINT_FILES): Add gcc-vers.texi.
(doc/%.info, doc/%.dvi, doc/gccinstall.dvi): Add -I. to command.
(all uses of $(PACKAGE)): Replace with "gcc".
* gccbug.in: Determine release number at runtime.
* gcov-iov.c: Take base version and development phase on the
command line instead of including version.c.
* intl.c: Replace all uses of PACKAGE with "gcc".
* libada-mk.in (gcc_version): Delete. unused.
* prefix.c: If WIN32_REGISTRY_KEY is not defined, use BASEVER.
* version.c (VERSUFFIX): New #define, hook for redistributors.
Change commentary to match.
(version_string): Assemble from pieces.
* config/alpha/x-vms, config/i386/t-nwld: Do not use $(gcc_version).
* doc/include/gcc-common.texi: Include gcc-vers.texi for
version-GCC and DEVELOPMENT.
gcc/ada:
* Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
(doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi to
dependencies.
gcc/fortran:
* Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
gcc/java:
* Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
gcc/treelang:
* Make-lang.in (TEXI_TREELANG_FILES): Add gcc-vers.texi.
maintainer-scripts:
* README: Update to match.
* gcc_release: If config/DATESTAMP exists, update it and
config/GCC-DEV-PHASE rather than gcc/version.c.
* update_version: Add support for updating config/DATESTAMP.
* update_web_docs: Generate gcc-vers.texi.
wwwdocs/htdocs:
* branching.html, releasing.html: Revise for new versioning scheme.
===================================================================
Index: config/DATESTAMP
--- config/DATESTAMP 1 Jan 1970 00:00:00 -0000
+++ config/DATESTAMP 9 Mar 2005 07:16:40 -0000
@@ -0,0 +1 @@
+20050302
===================================================================
Index: config/GCC-BASE-VER
--- config/GCC-BASE-VER 1 Jan 1970 00:00:00 -0000
+++ config/GCC-BASE-VER 9 Mar 2005 07:16:40 -0000
@@ -0,0 +1 @@
+4.1.0
===================================================================
Index: config/GCC-DEV-PHASE
--- config/GCC-DEV-PHASE 1 Jan 1970 00:00:00 -0000
+++ config/GCC-DEV-PHASE 9 Mar 2005 07:16:40 -0000
@@ -0,0 +1 @@
+experimental
===================================================================
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 9 Mar 2005 07:16:40 -0000
@@ -63,7 +63,8 @@ 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)
@@ -83,6 +84,17 @@ fastjar.pod: $(srcdir)/fastjar.texi
grepjar.pod: $(srcdir)/fastjar.texi
-$(TEXI2POD) -D grepjar $< > $@
+# gcc-vers.texi is generated from the version files.
+BASEVER = $(srcdir)/../config/GCC-BASE-VER
+DEVPHASE = $(srcdir)/../config/GCC-DEV-PHASE
+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 9 Mar 2005 07:16:40 -0000
@@ -253,12 +253,14 @@ 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)
TEXI2POD = perl $(srcdir)/../contrib/texi2pod.pl
POD2MAN = pod2man --center="GNU" --release="gcc-@gcc_version@"
+BASEVER = $(srcdir)/../config/GCC-BASE-VER
+DEVPHASE = $(srcdir)/../config/GCC-DEV-PHASE
@GENINSRC_FALSE@STAMP_GENINSRC =
# GCC LOCAL CHANGE
@@ -924,6 +926,15 @@ fastjar.pod: $(srcdir)/fastjar.texi
grepjar.pod: $(srcdir)/fastjar.texi
-$(TEXI2POD) -D grepjar $< > $@
+# 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: gcc/Makefile.in
--- gcc/Makefile.in 4 Mar 2005 21:35:49 -0000 1.1451
+++ gcc/Makefile.in 9 Mar 2005 07:16:40 -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)/../config/GCC-BASE-VER # 4.x.y
+DATESTAMP = $(srcdir)/../config/DATESTAMP # YYYYMMDD or empty
+DEVPHASE = $(srcdir)/../config/GCC-DEV-PHASE # experimental, prerelease, ""
+
+BASEVER_c = $(shell cat $(BASEVER))
+DATESTAMP_c = $(shell cat $(DATESTAMP))
+DEVPHASE_c = $(shell cat $(DEVPHASE))
+
+version = $(BASEVER_c)
+
+# For use in version.c - double quoted strings, with a leading space
+# on the datestamp if it is nonempty, and a leading space and
+# parentheses around the development phase if it is nonempty. The
+# space immediately after the comma in the $(if ...) constructs is
+# significant - do not remove it.
+BASEVER_s = "\"$(BASEVER_c)\""
+DATESTAMP_s = "\"$(if $(DATESTAMP_c), $(DATESTAMP_c))\""
+DEVPHASE_s = "\"$(if $(DEVPHASE_c), ($(DEVPHASE_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,12 @@ options.o: options.c options.h opts.h in
dumpvers: dumpvers.c
-version.o: version.c version.h
+# The space between the comma and the $(shell cat $(DATESTAMP)) below
+# is significant. Do not reformat that line.
+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 +1591,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 +2782,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 +2988,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 +3031,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 +3056,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 +4216,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 +4239,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 +4262,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 +4273,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 9 Mar 2005 07:16:40 -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/configure.ac
--- gcc/configure.ac 26 Feb 2005 21:43:29 -0000 2.95
+++ gcc/configure.ac 9 Mar 2005 07:16:40 -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/../config/GCC-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/../config/GCC-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 9 Mar 2005 07:16:40 -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 9 Mar 2005 07:16:40 -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 9 Mar 2005 07:16:40 -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 9 Mar 2005 07:16:40 -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 9 Mar 2005 07:16:40 -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 9 Mar 2005 00:16:18 -0000 1.2628
+++ gcc/version.c 9 Mar 2005 07:16:40 -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 20050309 (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 9 Mar 2005 07:16:43 -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 9 Mar 2005 07:16:43 -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 9 Mar 2005 07:16:43 -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 9 Mar 2005 07:16:47 -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 toplevel/config/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 9 Mar 2005 07:16:47 -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 9 Mar 2005 07:16:47 -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 9 Mar 2005 07:17:07 -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: maintainer-scripts/README
--- maintainer-scripts/README 10 Mar 2001 00:08:49 -0000 1.1
+++ maintainer-scripts/README 9 Mar 2005 07:17:30 -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 config/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 9 Mar 2005 07:17:30 -0000
@@ -140,15 +140,26 @@ 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 config/DATESTAMP and config/GCC-DEV-PHASE if they exist,
+ # otherwise gcc/version.c.
+ if [ -f ${SOURCE_DIRECTORY}/config/DATESTAMP ]; then
+ [ `cat ${SOURCE_DIRECTORY}/config/GCC-BASE-VER` = ${RELEASE} ] || \
+ error "Release number ${RELEASE} does not match GCC-BASE-VER"
+ (changedir ${SOURCE_DIRECTORY}/config && \
+ : > DATESTAMP && \
+ : > GCC-DEV-PHASE && \
+ ${CVS} ci -m 'Update version for release' DATESTAMP GCC-DEV-PHASE) || \
+ error "Could not update DATESTAMP and GCC-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 9 Mar 2005 07:17:30 -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/config/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 9 Mar 2005 07:17:30 -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/config/GCC-BASE-VER gcc/config/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/config/GCC-BASE-VER)"
+ if "$(cat gcc/config/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`
===================================================================
Index: htdocs/branching.html
--- htdocs/branching.html 11 Sep 2004 19:54:17 -0000 1.17
+++ htdocs/branching.html 9 Mar 2005 07:41:01 -0000
@@ -20,15 +20,12 @@ cvs rtag -b -r gcc-3_5-branchpoint gcc-3
<li>Update <code>cvs.html</code> web page to list the new branch tags.</li>
-<li>Update the file <code>gcc/version.c</code> on the branch, to say
+<li>Update the file <code>config/GCC-DEV-PHASE</code> on the branch, to say
"prerelease" instead of "experimental".</li>
-<li>Update the file <code>gcc/version.c</code> on the mainline, to use
+<li>Update the file <code>config/GCC-BASE-VER</code> on the mainline, to use
the next major release number (e.g., 3.2 instead of 3.1).</li>
-<li>Update <code>doc/include/gcc-common.texi</code> on the mainline to
-use the next major release number.</li>
-
<li>Create a new <code>htdocs/gcc-<var>VERSION</var></code> directory
for the next major release in the <code>wwwdocs</code> repository and
populate it with initial copies of <code>changes.html</code> and
@@ -42,9 +39,6 @@ Update the toplevel <code>buildstat.html
release branch, the current release series, and active development
(mainline). Update the version and development stage for mainline.</li>
-<li>Update <code>doc/include/gcc-common.texi</code> on the branch to use
-<code>@clear DEVELOPMENT</code>.</li>
-
<li>Update <code>maintainer-scripts/crontab</code> on the mainline by
adding an entry to make shapshots of the new branch and adjusting the
version number of the mainline snapshots.
@@ -65,9 +59,6 @@ new snapshot as well as the mail itself
<a href="http://gcc.gnu.org/translation.html#submit">Send them
to the translation project</a>.</li>
-<li>Update the file <code>gcc/configure.ac</code> so that the
-<code>is_release</code> shell variable is 1.</li>
-
<li>Create new versions in Bugzilla corresponding to the new mainline
version. This can be accomplished by choosing products, choosing gcc,
and editing the versions. Please do <strong>not</strong> delete old
===================================================================
Index: htdocs/releasing.html
--- htdocs/releasing.html 25 Nov 2004 10:52:45 -0000 1.22
+++ htdocs/releasing.html 9 Mar 2005 07:41:01 -0000
@@ -50,10 +50,23 @@ also files such as <code>/some/where/gcc
<li>Remove pre-release sources from gcc.gnu.org:~ftp/pub/gcc/.</li>
</ol>
+<li>If you are making a release of GCC 4.1 or later: Increment the
+version number in <code>config/GCC-BASE-VER</code>. Restore the date
+stamp to <code>config/DATESTAMP</code>, and the word "prerelease"
+(without the quotation marks) to <code>config/GCC-DEV-PHASE</code>.
+Check these files in.<br />
+If you are making a release of GCC 4.0 or earlier: Increment the
+version number in <code>gcc/version.c</code>, and put back the date
+stamp and (prerelease) annotation. Increment the version number in
+<code>doc/include/gcc-common.texi</code>.</li>
+
+<li>Notify developers that checkins to the branch are once again
+allowed.</li>
+</ol>
<h2>Web Site Updates</h2>
-<ol start="7">
+<ol start="9">
<li>Update the <code>releases.html</code> and <code>develop.html</code>
web pages.</li>
@@ -80,7 +93,7 @@ you remove the links to it).</li>
<h2>Announcements</h2>
-<ol start="13">
+<ol start="15">
<li>Announce the release to the gcc-announce@gcc.gnu.org and gcc@gcc.gnu.org
mailing lists.
<ul>
@@ -89,15 +102,6 @@ mailing lists.
FSF.</li>
</ul></li>
-<li>Increment the version number in <code>gcc/version.c</code>, and
-put back the date stamp and (prerelease) annotation. Increment the
-version number in <code>doc/include/gcc-common.texi</code>.</li>
-
-<li>Notify developers that checkins to the branch are once again
-allowed.</li>
-</ol>
-
-
<h2>Bugzilla Updates</h2>
<ol start="16">