Subject: Re: configure our project

From: Zheng Gengbing <[email-masked]>
Date: Mon, 6 May 1996 09:34:11 +0800 (EAT)

On Sun, 5 May 1996, Guansong Zhang wrote:

> On May 5,  9:56am, Zheng Gengbing wrote:
> > Subject: Re: 1.46
> > On Sat, 4 May 1996, Guansong Zhang wrote:
> >
> > > The following is my step to update 1.45 to 1.46
> > >
> > > 1. configure:
> > >
> > > in config a Makefile is added, this is used for us to create new configure
> and
> > > config.h.in from configure.in.
> > >
> > > I moved the configure.in to config dir, and move the Makefile.in back to
> top
> > > dir.
> > >
> >
> >
> >
> > 	This will cause trouble , now config.h can not be generated .
> > In fact , it is a convention that  Gnu put configure.in in project root .
> >  Place in config will cause configure can not find the config.h.in,
> > the AC_CONFIG_AUX_DIR and AC_CONFIG_HEADER can not work well togather .
> > so I suggest we put configure.in in project root also.
> >
> 
> Sorry I don't pay attention to this. My idea is: GNU use top root as default
> position for configure.in because they don't have a dedicated dir to put things
> like:
> 
> config.guess   config.sub   install-sh
> 
> They are also put in the top dir.
> 
> Now it seems I don't handle this well.
>

	AC_CONFIG_AUX_DIR and AC_CONFIG_HEADER can not work well ,because
if you do not create configure in top dir , configure cannot find 
config.h.in or config.guess .

> >
> > 	I added acconfig.h in project root dir . That is for autoheader
> > to generate defintions not recognized by it . So I add WANT_LIST again .
> > We can add other AC_DEFINE easily then.
> 
> Though we can do so, but I don't feel comfortable to complicate the job of
> configure. In fact, I don't think our project is complex enough for the need of
> writing a seperate acconfig.h. I think configure.in will do the job good
> enough.
> 
> Why do we insiste on configuring WANT_LIST?
> 
> My oponion is that we don't need this acconfig.h. But if PKU still think it is
> a good idea. I will give up.
>

	I will delete WANT_LIST at last , but it doesn't matter now .
And I add acconfig.h just for later development . Who knows , we will meet
some complex configuration as the compiler improve . But now , if you feel
it uncomfortable , I will delete that later .

> 
> > Agian acconfig.h must be placed in same dir with configure.in in
> > project root .Every gnu software do so , do not change that again .
> >
> 
> I won't change it this time, but I want to change another file's position. Can
> we put the generated config.h file in src/include? This will be consistent with
> the name of src.

	That's easy . But as I think config.h is about configuration 
information , to separate them is better .

> 
> But after configure this file is in config/ now. Can we write something in
> configure.in to move?
> 

	I have tried this long before , though I have not found a good 
resolution .

***************************************************************************
*     Zheng Gengbin                 *                                     *
*                                   *                                     *
*  Dept. of Computer Science        *  Phone:  86-10-2585088              *
*         & Technology              *  Email:                             *
*                                   *      [email-masked]   *
*  Peking University P.R.China      *  Mail:                              *
*                                   *      Room 1077 ,Building 47,        *
*                                   *      Peking University, P.R.China   *
***************************************************************************

---

From: Zheng Gengbing <[email-masked]>
Date: Mon, 6 May 1996 19:47:51 +0800 (EAT)

Hi,

	Now I have completed the new version of 1.47 .
	In this version , I made some dramatic change about :

	1.  makeSymbVar , if the decl argument is HARD , makesymb will
	   not report error , just use the symbol found .

	   now ,in every specification part statement ,
	   all makeSymVar should use decl=HARD , while all statement in
	   execution part should use decl=SOFT . decl = HARD means define
	   a variable , it only search symbol in current scope only , while 
           decl=SOFT mean refer to a variable , and search it in parent
	   scope also. decl=HARD does not mean to the decl field of symbol
	   table is HRAD , we only assign it HARD  when it is type 
	   declared ,for example   integer i . now decl of i is HARD
	   while  if pointer j  , decl of j is SOFT . We use decl to
	   check if a variable is type declared more than once .

	2. delete in_prog ( comment out it ) . modified makeProgram ...
	   and some actions .
	   I think after this change , we completely remove the bug of
	   null program statement head .

	3. I find if we both place format , entry, data in specification
	  and execute part , it cause no bug , but only the conflict
	  reported by yacc is increased. SO I simply added them .

  test result:
++++++++++++++++++  test?.f ++++++++++

		hpf2dep:  all parssed without error and warning 
		dumpdep:  ok.
		hpfcc:    all passed (test1.f 39 errors , testh.f 6 errors) 
		unparse:  all passed test1 have warning .

To get above result :
1. modified test1.f 
only comment out 2 places:

test1.f:!zgs CHARACTER * (2), obj10
test1.f:!zgs DATA var15, (var16 (var20), var17 (var20) % cmp12, &

  the second error is report bacause COMMA instead of COMMA2 returned by 
lex .  I am not very clear about this .

2. modified testh.f

common out
testh.f:!zgs for 1.40 LOGICAL var15 (2) = .TRUE.
testh.f:!zgs for 1.40 LOGICAL var17 (2) = .TRUE.
 this are semantic errors .

++++++++++++++++++  testhp  +++++++++++++++

	hpf2dep : pass all without any error .
	dumpdep : ok
	hpfcc   : core dump 
			evolve+ , ivp+ , t2+ , t2_dummy+
			( these core dump are all concerned with io part ,
				which is now in development )
	unparse : all passed 

++++++++++++++++   test90  +++++++++++++++++

	hpf2dep : pass all without any error .
	hpfcc   : core dump 
			concord2 , detour , survey , tour
	dumpdep : ok.
	unparse : all parsed with some warnings. 

please note,
	The dumpdep is not the latest version with HTML.
	And unparser maybe is not latest version tool. 	

	Today I have no time to improve configure , so just copy from 
1.46 . We will discuss later about this .