public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Re: Can we remove bison output from cvs?
@ 1999-01-31 23:58 Kaveh R. Ghazi
  1999-01-31 23:58 ` Joern Rennecke
  1999-01-31 23:58 ` Per Bothner
  0 siblings, 2 replies; 29+ messages in thread
From: Kaveh R. Ghazi @ 1999-01-31 23:58 UTC (permalink / raw)
  To: bcurrie, law; +Cc: bothner, egcs

 > From: Jeffrey A Law <law@hurl.cygnus.com>
 >  
 >   In message < 369956F2.649575E5@tssc.co.nz >you write:
 >   > Is the same feasable for auto* generated files?  I doen't see the need
 >   > for *any* generated files to be included in CVS (gperf etc included). 
 > I think we can generally work in that direction over time.  However, some
 > files like configure will probably stay in the repository.
 >  
 > It's a matter of what makes the CVS repo easiest to use for the largest group
 > of people.  Being able to configure and build without retrieving gperf,
 > bison, autoconf, automake, autogen, m4 (must use gnu-m4 for autoconf), texinfo
 > etc is a good thing.
 > jeff

	Agreed!

I'm able to test multiple platforms by mooching off of guest accounts. :-)

I don't have the luxury of getting the sysadmin to install the latest
copy of packageX and don't want to maintain these in my home directory. 
Building egcs already takes up enough space without having 10 other
tools installed in my home dir. 

You also have the problem of not having the right version of packageX
installed when you build.  If my system has bison < 1.25 installed, then
I am not testing what will eventually be the release.  (Again this
assumes I don't have the ability to upgrade the system bison or the
quota to maintain my own copy.)


	If its not already too late to stop this train (wreck), please
let's NOT remove generated files from the repo. 


		--Kaveh
--
Kaveh R. Ghazi			Engagement Manager / Project Services
ghazi@caip.rutgers.edu		Icon CMT Corp.

^ permalink raw reply	[flat|nested] 29+ messages in thread
* RE: Can we remove bison output from cvs?
@ 1999-01-31 23:58 Jan Reimers
  1999-01-31 23:58 ` Jeffrey A Law
  0 siblings, 1 reply; 29+ messages in thread
From: Jan Reimers @ 1999-01-31 23:58 UTC (permalink / raw)
  To: 'law@cygnus.com'; +Cc: 'egcs@cygnus.com'

> ----------
> From: 	Jeffrey A Law[SMTP:law@hurl.cygnus.com]
> Reply To: 	law@cygnus.com
> Sent: 	Thursday, January 14, 1999 4:49 PM
> To: 	Jan Reimers
> Subject: 	Re: Can we remove bison output from cvs? 
> 
> 
> 
>   In message
> <71B30885B657D111809D080009EEBBF34FE6C9@MAILSERV.molienergy.bc.ca>
> you write:
>   > OK, I'll try and check out the modules file tonight and make some
> mods.
>   > I'll try to test with a mock up repository on my disk, but someone
> with
>   > write access will have to do the real commit/test.
> As far as I know we don't currently use the modules at all, so don't
> worry
> about breaking anything.
> 
> Send the result to egcs-patches@cygnus.com
> 
> Fixing this would be a big win...
> 
> Thanks!  
> 
> jeff
> 
It seems CVS 1.10 does not support what we need to do in the modules
file, namely:

#start CVSROOT/modules
auto_generated_files -a {big list of auto generated files}

egcs_noauto -a !auto_generated_files egcs
#start CVSROOT/modules

the cvs modules parsing code does support the ignore directive, but ONLY
for directories, NOT for aliases (as I show above) or for individual
file names.  I didn't bother looking and non-release versions of cvs
like 1.10.{1->4} since I suspect few if any egcs users will be running
these versions.
	Anybody know what the cvs developers are up to in the area?
Would they accept a patch from an unknown?
	As for checking out things like egcs-core, egcs-g++, egcs-java
etc. I can try and set that up if it is useful.

________________________
                                                  
Jan N. Reimers (Ph.D.)
Manager, Materials Research 
NEC Moli Energy (Canada) Ltd.
________________________ 


^ permalink raw reply	[flat|nested] 29+ messages in thread
* RE: Can we remove bison output from cvs?
@ 1999-01-31 23:58 Jan Reimers
  1999-01-31 23:58 ` Jeffrey A Law
  0 siblings, 1 reply; 29+ messages in thread
From: Jan Reimers @ 1999-01-31 23:58 UTC (permalink / raw)
  To: 'egcs@cygnus.com'

> ----------
> From: 	Joern Rennecke[SMTP:amylaar@cygnus.co.uk]
> Sent: 	Thursday, January 14, 1999 2:34 PM
> To: 	ddsinc09@ix.netcom.com
> Cc: 	pfeifer@dbai.tuwien.ac.at; egcs@cygnus.com; bothner@cygnus.com;
> ghazi@caip.rutgers.edu
> Subject: 	Re: Can we remove bison output from cvs?
> 
> > Can the repository be split?  I.e.  the main repository contains the
> > hand crafted text files and a secondary repository contains derived
> text
> > for people without the "proper" tools.  Releases would, of course,
> > have to contain a merge of the trees.  For anyone to build without
> > all the development tools, they would have to cvs-get both trees and
> > do a symlink merge a la "mkmerge" or  a fairly straight forward
> script.
> 
> can handle multiple modules which may overlap in directory trees.  So
> if things are handled that way, you'd just check out a different
> module
> to get the generated files alongside with the source.
> The main cost is checking in the generated files whenever the source
> files
> are changed.
> Although it should be possible to do this automatically on the server
> side, but that'll need someone to tinker with the configuration to get
> it running.
Could this be extended to make chill/java/objc/testsuites optional for
CVS checkout?

JR

^ permalink raw reply	[flat|nested] 29+ messages in thread
* Re: Can we remove bison output from cvs?
@ 1999-01-31 23:58 Kaveh R. Ghazi
  1999-01-31 23:58 ` Per Bothner
  0 siblings, 1 reply; 29+ messages in thread
From: Kaveh R. Ghazi @ 1999-01-31 23:58 UTC (permalink / raw)
  To: bothner; +Cc: egcs, law

 > From: Per Bothner <bothner@cygnus.com>
 >  
 > > I don't have the luxury of getting the sysadmin to install the latest
 > > copy of packageX and don't want to maintain these in my home directory. 
 > > Building egcs already takes up enough space without having 10 other
 > > tools installed in my home dir. 
 >  
 > In that case, test snapshots (which will have the generated files
 > in them), rather than the instanteous state of the cvs archive.
 > Testing the cvs archive is useful to quickly catch new bugs,
 > but in terms of QA it is better to test the snapshots, because it
 > tests what the users will downloading.
 >  
 > The cvs archive is primarily for developers, plus people who want to
 > be on the bleeding edgs.  In both cases, I think it is reasonable
 > to require that people have bison+makeinfo installed.



	It may be reasonable but its not necessary.  What is the benefit
derived which outweighs the simplicity of having the generated files
there already?

Looking back at http://www.cygnus.com/ml/egcs/1999-Jan/0299.html you
only propose doing it, you never state how it would improve things. 




 > > (Again this assumes I don't have the ability to upgrade the system
 > > bison or the quota to maintain my own copy.)
 >  
 > You have a quota big enough for gcc, but not big enough for
 > gcc+bison?  I'm sorry, but that does not make sense.  Add a
 > couple more gcc toolchains, and you will no longer have room
 > for gcc.
 >         --Per Bothner


	No, think of bison+gperf+autoconf+automake+gnum4+texinfo+etc. 
If bison files are okay to remove we've already seen there's a bandwagon
waiting to remove other generated files. 

Then multiply by five platforms, (all five share the same NFS home
directory in my case.) I'm already maintaining a private dejagnu
snapshot for each one and that's 5 * 16Mb right there.  I don't want to
install 5 * (10 other tools) on top of that. 

Then think hard quota vs soft quota.  My hard quota is much larger than
my soft one.  I remove snapshot builds daily.  So the 7 day limit for
exceeding the soft quota never comes into play.  I would have to keep
these tools permanently so its charged against the lower soft quota
amount. 

	Hopefully this makes clear my issue is not just the space for
gcc+bison. :-)  Your proposal would hose me (and I suspect others)
considerably.  Please don't do it. 

		--Kaveh
--
Kaveh R. Ghazi			Engagement Manager / Project Services
ghazi@caip.rutgers.edu		Icon CMT Corp.

^ permalink raw reply	[flat|nested] 29+ messages in thread
* Re: Can we remove bison output from cvs?
@ 1999-01-31 23:58 Mike Stump
  0 siblings, 0 replies; 29+ messages in thread
From: Mike Stump @ 1999-01-31 23:58 UTC (permalink / raw)
  To: bothner, egcs

> Date: Sun, 10 Jan 1999 09:27:05 -0800
> From: Per Bothner <bothner@cygnus.com>

> This has been discussed before, and I don't recall any real objections.

While not in the exact form I was thinking, it does cover all the
bases I can think of right now.  My last proposal on the matter I
don't believe was dependent upon VPATH like this change.  All in all,
I support this change.

^ permalink raw reply	[flat|nested] 29+ messages in thread
* Can we remove bison output from cvs?
@ 1999-01-31 23:58 Per Bothner
  1999-01-31 23:58 ` Bill Currie
  1999-01-31 23:58 ` Joe Buck
  0 siblings, 2 replies; 29+ messages in thread
From: Per Bothner @ 1999-01-31 23:58 UTC (permalink / raw)
  To: egcs

This has been discussed before, and I don't recall any real objections.

I would like to propose that we remove bison-generated .c and .h
files from the cvs repository.  They would still be in the release
and snapshot tar-balls, generated by whatever script makes those
tar fils.  That way people who just want to build and install gcc
can do so without having to first install bison.  However, I see
no reason why we should not expect people building from cvs to
have bison installed.

There are a couple of tricky aspects to keep in mind:

When parse.c is built, it should be left in the build
directory, not the $(srcdir).  After all, it is a
generated file, not a source file, and we want to
allow people to have their $(srcdir) be on a read-only
filesystem.  Ok, that may be unlikely for people
building from a checked-out cvs tree.  Still, that
is how Cygnus has done it for years, it works, it is
clean, it is Right.

When building Net releases, these should (following GNU standards)
include generated bison output files.  In this case, the files
will end up in the $(srcdir).  One way to do that is for the
tar-file-generating script to build parse.c using srcdir="." .

The same Makefile has to work for both those who have
parse.c in the $(srcdir) (because they are building from
release tar files) and those who have parse.c in the
build directory (because they built from a cvs-based
source tree, and so built parse.c themselves).
By leaving the directory of parse.c unspecified, we can
let the make VPATH search mechanism take care of it.

Here is a patch for java/Makefile.in showing the proposed
change.  It may get a little hairier when bison is also
set to generate a parse.h file, but the basic idea is the same.

Any objections or comments?

Index: Makefile.in
===================================================================
RCS file: /egcs/carton/cvsfiles/egcs/gcc/java/Makefile.in,v
retrieving revision 1.22
diff -u -r1.22 Makefile.in
--- Makefile.in	1999/01/06 21:09:59	1.22
+++ Makefile.in	1999/01/10 17:09:05
@@ -223,24 +223,15 @@
         $(srcdir)/../machmode.h $(srcdir)/../machmode.def
 EXPR_H = $(srcdir)/../expr.h ../insn-codes.h
 
-# Separating PARSE_DIR from PARSE_RELDIR lets us easily change the
-# code to support building parse.c in the build directory, at some
-# expense in readability.
-PARSE_DIR = $(srcdir)
-PARSE_RELDIR = .
-PARSE_C = $(PARSE_DIR)/parse.c
-PARSE_SCAN_C = $(PARSE_DIR)/parse-scan.c
-PARSE_H = $(srcdir)/parse.h
-
-$(PARSE_C):  $(srcdir)/parse.y $(srcdir)/lex.c $(PARSE_H) $(srcdir)/lex.h
+parse.c:  $(srcdir)/parse.y $(srcdir)/lex.c $(srcdir)/parse.h $(srcdir)/lex.h
 	$(SET_BISON); \
-	cd $(PARSE_DIR) && $$bison -t -v $(BISONFLAGS) $(JAVABISONFLAGS) \
-	    -o parse.c $(PARSE_RELDIR)/parse.y
-$(PARSE_SCAN_C):  $(srcdir)/parse-scan.y $(srcdir)/lex.c $(PARSE_H) \
+	$$bison -t -v $(BISONFLAGS) $(JAVABISONFLAGS) \
+	    -o parse.c $(srcdir)/parse.y
+parse-scan.c:  $(srcdir)/parse-scan.y $(srcdir)/lex.c $(srcdir)/parse.h \
 	  $(srcdir)/lex.h
 	$(SET_BISON); \
-	cd $(PARSE_DIR) && $$bison -t -v $(BISONFLAGS) -o parse-scan.c \
-	    $(PARSE_RELDIR)/parse-scan.y
+	$$bison -t -v $(BISONFLAGS) -o parse-scan.c \
+	    S(srcdir)/parse-scan.y
 
 lex.c: keyword.h lex.h
 
	--Per Bothner
Cygnus Solutions     bothner@cygnus.com     http://www.cygnus.com/~bothner

^ permalink raw reply	[flat|nested] 29+ messages in thread
* Re: Can we remove bison output from cvs?
@ 1999-01-31 23:58 N8TM
  0 siblings, 0 replies; 29+ messages in thread
From: N8TM @ 1999-01-31 23:58 UTC (permalink / raw)
  To: law, jbuck; +Cc: dstarner98, egcs

In a message dated 1/10/99 2:04:11 PM Pacific Standard Time,
law@hurl.cygnus.com writes:

<< Has anyone tried 2.13 yet?   It's sitting on prep (told you they were close
 to a new release :-)
  >>
I have used autoconf-2.13 on various packages under cygwin-b20.1, including
egcs-19990103 under both NT and W95, and it works better than any previous
version.

^ permalink raw reply	[flat|nested] 29+ messages in thread
* Re: Can we remove bison output from cvs?
@ 1999-01-31 23:58 Kaveh R. Ghazi
  1999-01-31 23:58 ` Jeffrey A Law
  0 siblings, 1 reply; 29+ messages in thread
From: Kaveh R. Ghazi @ 1999-01-31 23:58 UTC (permalink / raw)
  To: bothner; +Cc: egcs

 > From: Per Bothner <bothner@cygnus.com>
 >  
 > > I remove snapshot builds daily.
 >  
 > But nobody is proposing removing the generated files from the
 > snapshots, only from the cvs archive!  

	I know.  By snapshot, I meant cvs ones.  I rebuild cvs checkouts
every night.  No need to rebuild a weekly tarball snapshot every night. :-)


 > If you want to test
 > the "instanteous" snapshots from the cvs archive, I think
 > it would make a lot of sense to have a main machine with cvs,
 > check it out, build a snapshot tarball from that (using
 > whatever script Jeff uses), and copy that tarball around
 > to your various machines.


	Okay that's fair.  If I use the same script Jeff uses to build
tarballs then I'm testing the same thing via cvs as what is released.



 > Note:  Thus means we should also release a script that
 > produces a snapshot from the cvs source tree.  This should
 > ideally be a "dist" rule in the Makefile, for compatibility
 > with automake.
 >         --Per Bothner


	If its a "dist" rule, then you have a circular dependency
situation where you have to configure egcs to create Makefile to call
the dist rule to create the generated files, one of which is configure
itself which is needed to configure egcs which...

	I think instead of (or in addition to) a dist rule, this should
be an external shell script in the contrib directory.  Then it could be
called by the egcs_update script which does the cvs checkout.  The
egcs_update script currently "touches" the generated files to make sure
the timestamps are correct.  It could instead call the "generator"
script to actually create the files. 

		--Kaveh
--
Kaveh R. Ghazi			Engagement Manager / Project Services
ghazi@caip.rutgers.edu		Icon CMT Corp.

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~1999-01-31 23:58 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-01-31 23:58 Can we remove bison output from cvs? Kaveh R. Ghazi
1999-01-31 23:58 ` Joern Rennecke
1999-01-31 23:58 ` Per Bothner
1999-01-31 23:58   ` Gerald Pfeifer
1999-01-31 23:58     ` Marc Lehmann
1999-01-31 23:58     ` Bruce Korb
1999-01-31 23:58       ` Joern Rennecke
1999-01-31 23:58         ` Bruce Korb
  -- strict thread matches above, loose matches on Subject: below --
1999-01-31 23:58 Jan Reimers
1999-01-31 23:58 ` Jeffrey A Law
1999-01-31 23:58 Jan Reimers
1999-01-31 23:58 ` Jeffrey A Law
1999-01-31 23:58   ` Bruce Korb
1999-01-31 23:58 Kaveh R. Ghazi
1999-01-31 23:58 ` Per Bothner
1999-01-31 23:58 Mike Stump
1999-01-31 23:58 Per Bothner
1999-01-31 23:58 ` Bill Currie
1999-01-31 23:58   ` Jeffrey A Law
1999-01-31 23:58 ` Joe Buck
1999-01-31 23:58   ` Jeffrey A Law
1999-01-31 23:58     ` Per Bothner
1999-01-31 23:58   ` David Starner
1999-01-31 23:58     ` Joe Buck
1999-01-31 23:58       ` Jeffrey A Law
1999-01-31 23:58       ` Marc Espie
1999-01-31 23:58 N8TM
1999-01-31 23:58 Kaveh R. Ghazi
1999-01-31 23:58 ` Jeffrey A Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).