gcc2 sources available via anoncvs (although bootstrap is somewhat quirky).

Hans-Peter Nilsson hans-peter.nilsson@axis.com
Sun Sep 13 21:39:00 GMT 1998


Some may already be aware of this, but it was never announced
anywhere, AFAIK.

For those who are interested:

 The gcc2 source tree is available for anonymous CVS access.  It is
not bootstrappable and needs further tweaking, so beware.

--------------------- (Skim this if you know all about CVS.)

To use "anonymous CVS", first of all you need a copy of CVS (as
well as RCS, for versions of CVS earlier than 1.9.27).  CVS and
RCS are available at GNU mirror sites and
<URL: http://www.cyclic.com >.  CVS version 1.9 or later is
recommended. 

It is very much recommended that compression of the
data-connection is enabled at all times, so make sure "cvs -z9"
is present in your $HOME/.cvsrc file.

 When you have CVS installed, you need to log on to the CVS
server to enable the "anoncvs" account.  Do the following:

 cvs -d :pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot login

Reply with "anoncvs" at the password prompt.  Then you can check
out gcc with:

 cvs -d :pserver:anoncvs@anoncvs.gnu.org:/gd/gnu/anoncvsroot co gcc

This will create a copy of the gcc source tree in the current
directory, and also mark it for anonymous CVS access from the
GNU repository.  After that, whenever you want to update your
copy of gcc, just say:

 cvs update

For further information on CVS, see the info-files that come
with CVS, and some cvs-related information and pointers from the
egcs team at <URL: http://egcs.cygnus.com/cvs.html > (although the
CVS tree mentioned there is another one).

Note that the first check-out of the gcc2 tree through CVS takes
approximately 40 minutes through a 28kbps modem connection.

---------------------

Now the seamy side.

No "generated" files are present, you need to install
"autoconf", "gperf" and "bison" (probably others) to compile.

There are also some bugs; solutions are welcome.  For example,
"move-if-change" is not executable.  A file called "config.in"
seems to be missing from the CVS tree.

I have not yet been able to boot gcc2 from an anoncvs checkout
myself, but that is mainly due to the nature of the sources;
they are not compilable at the moment (sig11 during compilation
of stage2 regclass.c on a i686-pc-linux-gnulibc1 - no, I don't
think it's the hardware :-)

I know the following is needed:
 Make sure move-if-change is executable, "chmod a+x move-if-change" 
and make sure the following patch to Makefile.in is applied:

Index: Makefile.in
===================================================================
RCS file: /gd/gnu/anoncvsroot/gcc/Makefile.in,v
retrieving revision 1.549
diff -p -c -r1.549 Makefile.in
*** Makefile.in	1998/08/04 04:43:56	1.549
--- Makefile.in	1998/09/13 18:05:27
*************** RECOG_H = recog.h gansidecl.h
*** 703,709 ****
  .SUFFIXES: .in .def
  
  $(srcdir)/version.c: $(VERSION_DEP)
! 	(cd $(srcdir); cvs log -h $?) >tmp-ver
  	tag=`sed '1,/^sym/d;s/	*gcc-//;s/:.*$$//;q' tmp-ver`; \
  	ver=`echo $${tag} | sed 's/-.*//' | sed 's/_/./g'`; \
  	date=`echo $${tag} | sed 's/.*-//'`; \
--- 703,709 ----
  .SUFFIXES: .in .def
  
  $(srcdir)/version.c: $(VERSION_DEP)
! 	(cd $(srcdir); cvs log -h `basename $?`) >tmp-ver
  	tag=`sed '1,/^sym/d;s/	*gcc-//;s/:.*$$//;q' tmp-ver`; \
  	ver=`echo $${tag} | sed 's/-.*//' | sed 's/_/./g'`; \
  	date=`echo $${tag} | sed 's/.*-//'`; \


Now do "autoconf" in the gcc directory, and you should be able to
start a "/path/to/cvstree/gcc/configure && make bootstrap"; no
warranty whatsoever that it finishes without errors.

Other observations:
 During "../cvs_latest/configure" I saw the message below:
cat: ../cvs_latest/gcc/config.in: No such file or directory.  This is
probably due to a bug somewhere; I have not looked into it.

Again, solutions to the "move-if-change" and the "config.in" issues
are welcome.  Make sure to send the solution to this (the gcc2)
list too (gcc2@cygnus.com).  I can't modify anything myself, I'm
only the messenger.  A person with an FSF account may be of help.

brgds, H-P
-- 
Hans-Peter Nilsson, Axis Communications AB, S - 223 70 LUND, SWEDEN
Hans-Peter.Nilsson@axis.se | Tel +46 462701867,2701800
Fax +46 46136130 | RFC 1855 compliance implemented; report loss of brain.



More information about the Gcc mailing list