stamph processing fix

2001-07-03 Thread Derek R. Price

Hi!

Akim told me awhile back to port forward and resubmit some patches if
I noticed that they hadn't been accepted after some time had passed.
Anyway, it's been awhile, so here's a resubmission of the patch that
fixes the stamp-h? processing which configure is currently doing.

Basically, the old configure creates the initial stamp files in the
wrong places.

This fixes that as well as adding support for a more concise, less
loopy, more correctly placed, and less knowledgable (it doesn't need to
check for existance of directories and create them sometimes) configure
script when AC_FOREACH is available.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
It does me no injury for my neighbor to say there are twenty gods or no god.
It neither picks my pocket nor breaks my leg.

- Thomas Jefferson




? tmp.diff
Index: ChangeLog
===
RCS file: /cvs/automake/automake/ChangeLog,v
retrieving revision 1.1448
diff -u -r1.1448 ChangeLog
--- ChangeLog   2001/07/03 04:19:35 1.1448
+++ ChangeLog   2001/07/03 15:46:09
@@ -1,3 +1,12 @@
+2001-07-02  Derek Price  [EMAIL PROTECTED]
+
+   * m4/header.m4 (AM_CONFIG_HEADER): Create stamp-h files in the correct
+   locations.
+   * tests/dirname.test: New test.
+   * tests/stamph2.test: New test.
+   * tests/Makefile.am: Add new tests.
+   * tests/Makefile.in: Regenerated.
+
 2001-07-02  Tom Tromey  [EMAIL PROTECTED]
 
Fix for libtool2.test:
Index: m4/header.m4
===
RCS file: /cvs/automake/automake/m4/header.m4,v
retrieving revision 1.7
diff -u -r1.7 header.m4
--- header.m4   2000/08/06 12:36:53 1.7
+++ header.m4   2001/07/03 15:46:10
@@ -10,19 +10,57 @@
 AC_PREREQ([2.12])
 
 AC_DEFUN([AM_CONFIG_HEADER],
+[ifdef([AC_FOREACH],dnl
+[dnl init our file count if it isn't already
+m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], 
+[0]))
+dnl prepare to store our destination file list for use in config.status
+AC_FOREACH([_AM_File], [$1],
+   [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
+   m4_define([_AM_Config_Header_Index], 
+m4_incr(_AM_Config_Header_Index))
+   dnl and add it to the list of files AC keeps track of, along
+   dnl with our hook
+   AC_CONFIG_HEADERS(_AM_File,
+dnl COMMANDS, [, INIT-CMDS]
+[# update the timestamp
+echo timestamp AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index[
+][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
+   m4_popdef([_AM_Dest])])],dnl
 [AC_CONFIG_HEADER([$1])
   AC_OUTPUT_COMMANDS(
ifelse(patsubst([$1], [[^ ]], []),
  [],
  [test -z $CONFIG_HEADERS || echo timestamp dnl
-  patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),
-  [am_indx=1
-  for am_file in $1; do
-case  $CONFIG_HEADERS  in
-* $am_file *)
-  echo timestamp  `echo $am_file | sed 's%:.*%%;s%[^/]*$%%'`stamp-h$am_indx
-  ;;
-esac
-am_indx=\`expr \$am_indx + 1\`
-  done])
-])
+  patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
+[am_indx=1
+for am_file in $1; do
+  case  \$CONFIG_HEADERS  in
+  * \$am_file *)
+am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
+if test -n \$am_dir; then
+  am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
+  for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
+am_tmpdir=\$am_tmpdir\$am_subdir/
+if test ! -d \$am_tmpdir; then
+  mkdir \$am_tmpdir
+fi
+  done
+fi
+echo timestamp  \$am_dirstamp-h\$am_indx
+;;
+  esac
+  am_indx=\`expr \$am_indx + 1\`
+done])
+])]) # AM_CONFIG_HEADER
+
+# _AM_DIRNAME(PATH)
+# -
+# Like AS_DIRNAME, only do it during macro expansion
+AC_DEFUN([_AM_DIRNAME],
+   [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
+ m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
+   m4_if(m4_regexp([$1], [^/.*]), -1,
+ [.],
+ m4_patsubst([$1], [^\(/\).*], [\1])),
+   m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
+ m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
+]) # _AM_DIRNAME
Index: tests/Makefile.am
===
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.319
diff -u -r1.319 Makefile.am
--- Makefile.am 2001/07/03 04:19:36 1.319
+++ Makefile.am 2001/07/03 15:46:10
@@ -101,6 +101,7 @@
 depend2.test \
 depend3.test \
 depend4.test \
+dirname.test \
 discover.test \
 distcommon.test \
 distdir.test \
@@ -247,6 +248,7 @@
 spell3.test \
 spelling.test \
 stamph.test \
+stamph2.test \
 stdlib.test \
 subdir.test \
 

Re: depcomp problem [Fwd: Trying to compile latest CVS on old SCO unixware 2]

2001-06-18 Thread Derek R. Price

Stephen Cameron wrote:

 It's getting a bit weird now,

 Making all in lib
 source='argmatch.c' object='argmatch.o' libtool=no \
 depfile='.deps/argmatch.Po' tmpdepfile='.deps/argmatch.TPo' \
 depmode=none /bin/sh ../depcomp \
 ../compile cc -DHAVE_CONFIG_H -I. -I. -I.. -I../src -I../src  -g -c
 -o argmatch.o `test -f argmatch.c || echo './'`argmatch.c
 UX:as: ERROR: (EOF):cannot open output file: argmatch.o: Is a directory

 Say what?!?

The test system probably had ofile defaulting to ./argmatch.o or somesuch...


 So now I try ineptly patching compile which gets me a little further, loads
 of .c files compile, but:
 --- compile.origMon Jun 18 05:09:55 2001
 +++ compile Mon Jun 18 05:11:53 2001
 @@ -47,8 +47,18 @@
  done

  test -z $ofile  {
 -   echo compile: no \`-o' option seen 12
 -   exit 1
 +   if [ $cfile =  ]
 +   then
 +   echo compile: no \`-o' option seen, and no .c file. 12
 +   exit 1
 +   else
 +   ofile=`echo $cfile | sed -e s/\.c$/.o/`
 +   if [ $ofile = $cfile ]
 +   then
 + echo compile: could not guess .o file from .c file: $cfile
 + exit 1
 +   fi
 +   fi
  }

  test -z $cfile  {

This sounds suspicious, perhaps a symptom of a bug in the makefile rules if you
realy needed it - compile is designed to work around a problem with -o and -c
being used at the same time, so it shouldn't be called without -o or -c...


 @@ -60,7 +70,7 @@
  cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`

  # Create the lock directory.
 -lockdir=`echo $ofile | sed -e 's|/|_|g'`
 +lockdir=`echo $ofile.lock | sed -e 's|/|_|g'`
  while true; do
 if mkdir $lockdir  /dev/null 21; then
break

Okay, but I have a nitpick.  You shouldn't need the quotes around $ofile.lock:
$ofile.lock should be sufficient.


 Then running make again:

 []
 UX:mv: ERROR: version.o and version.o are identical
 ../compile cc  -g   -o cvs  add.o admin.o annotate.o  buffer.o
 checkin.o checkout.o  classify.o client.o commit.o  create_adm.o cvsrc.o diff.o
  edit.o entries.o error.o  expand_path.o fileattr.o filesubr.o  find_names.o
 hardlink.o hash.o  history.o ignore.o import.o  lock.o log.o login.o logmsg.o
 main.o mkmodules.o modules.o  myndbm.o no_diff.o parseinfo.o  patch.o rcs.o
 rcscmds.o  recurse.o release.o remove.o  repos.o root.o run.o scramble.o
 server.o status.o subr.o tag.o  update.o vers_ts.o watch.o  wrapper.o zlib.o
 ../diff/libdiff.a  ../lib/libcvs.a  ../zlib/libz.a  version.o -lsocket -lgen
 compile: no `.c' file seen

Okay, this sounds like an Automake bug now.  I suspect compile shouldn't be called
for linking... only when both -o and -c are specified.  I'm cc'ing Automake again.

Automake folks:  I've included a revised patch for the lockdir line as I'm pretty
sure you'll want that bit whatever else comes out of this.


 Hmmm.  At this point I have to wonder if this compile script is all it's
 cracked up to be.  It doesn't seem to be able to use cc to just link...(and my
 patch is wrong in that area too.)For that matter, compile may be generated by
 automake for all I know.

 And, BTW, that [UX:mv: ERROR: x.o and x.o are identical appears for pretty
 much every file that gets compiled...

 And I wonder about the line in the script:

 $prog $args

 Would that have problems with quoted arguments passed into the script? Not that
 cvs would run into that, but still.

Actually, I think it would, but the source of the problem is the loop that
constructs $args, not this call.  I've included a patch for this too.


 Feel free to forward this email to the automake list, if that's a more
 appropriate destination.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
Round up the usual suspects.

- Claude Rains as Captain Louis Renault, _Casablanca_




Index: ChangeLog
===
RCS file: /cvs/automake/automake/ChangeLog,v
retrieving revision 1.1430
diff -u -r1.1430 ChangeLog
--- ChangeLog   2001/06/18 01:08:34 1.1430
+++ ChangeLog   2001/06/18 18:29:45
@@ -1,3 +1,9 @@
+2001-06-18  Derek Price  [EMAIL PROTECTED]
+   Stephen Cameron  [EMAIL PROTECTED]
+
+   * lib/compile: Make sure lockdir doesn't have the same name as the
+   object file.
+
 2001-06-17  Tom Tromey  [EMAIL PROTECTED]
 
* automake.in (require_file_internal): Check for already-required
Index: lib/compile
===
RCS file: /cvs/automake/automake/lib/compile,v
retrieving revision 1.3
diff -u -r1.3 compile
--- compile 2000/10/16 09:01:36 1.3
+++ compile 2001/06/18 18:29:46
@@ -60,7 +60,7 @@
 cofile=`echo $cfile | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
 
 # Create the lock directory.
-lockdir=`echo $ofile | sed -e 's|/|_|g'`
+lockdir=`echo $ofile.lock | sed -e 's|/|_|g'`
 while 

depcomp problem [Fwd: Trying to compile latest CVS on old SCO unixware 2]

2001-06-14 Thread Derek R. Price

Sounds like this could be fixed in depcomp?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
Very funny Scotty, now beam down my clothes!





Hi,

I'm Trying to update an old SCO unixware 2 box...Currently I have CVS 1.10.8
there. (Yeah, shame on me)

The cc's -o option refuses to overwrite existing .o files...:

scameron@unixdev 208 $ make
UX:make: WARNING: No suffix list.
make  all-recursive
UX:make: WARNING: No suffix list.
Making all in lib
source='argmatch.c' object='argmatch.o' libtool=no \
depfile='.deps/argmatch.Po' tmpdepfile='.deps/argmatch.TPo' \
depmode=none /bin/sh ../depcomp \
cc -DHAVE_CONFIG_H -I. -I. -I.. -I../src -I../src  -g -c -o
argmatch.o `test -f argmatch.c || echo './'`argmatch.c
UX:cc: ERROR: -o would overwrite argmatch.o
*** Error code 1 (bu21)
UX:make: ERROR: fatal error.
*** Error code 1 (bu21)
UX:make: ERROR: fatal error.
*** Error code 1 (bu21)
UX:make: ERROR: fatal error.

I could edit the Makefile, but I know that's not the best way...
(Maybe the best way is for me to install gcc, etc...)
Any other thoughts?

-- steve


__
Do You Yahoo!?
Spot the hottest trends in music, movies, and more.
http://buzz.yahoo.com/

___
Bug-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-cvs





Re: aclocal doesn't check AUTOMAKE_OPTIONS (VERSION)

2001-05-22 Thread Derek R. Price

Akim Demaille wrote:

  Tom == Tom Tromey [EMAIL PROTECTED] writes:

 Tom We're planning to get rid of aclocal in the future.  I forget
 Tom exactly what form that plan takes.  Akim knows.

 First of all, the responsibility will move to Autoconf, aclocal has
 nothing to do with Automake.

 The main plan is to get rid of aclocal.m4 too, and to include, at the
 M4 level, all the m4/*.m4 files which are needed.  This is doable, we
 actually have a proto since months.

 Wrt this actual problem, I'm afraid there will always have some
 problems due to incorrectly synchronized sets of tools :(

 In the future Automake will read the traces.  We perfectly can imagine
 a macro to declare an Automake requirement, and automake checking this
 requirement.

 Conversely, hm...  I dunno.

How about something as simple as allowing a version to be specified in an
*.m4 file.  Then if the macro version is less than the version of the
copy in the m4 dir then autoconf won't copy the new (old) version over
m4/* unless forced?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
Travel advisories - Alaska:  Tourists are warned to wear tiny bells on
their clothing when hiking in bear country.  The bells warn away MOST
bears.  Tourists are also cautioned to watch the ground on the trail,
paying particular attention to bear droppings, to be alert for the
presence of Grizzly Bears.  One can tell Grizzly droppings by the tiny
bells in them.







Re: AC_CONFIG_AUX_DIR now required when mdate-sh resides in subdir?

2001-05-22 Thread Derek R. Price

Jim Meyering wrote:

 Hi Derek,

 Recently, automake changed so that I get the following in fileutils-4.1,
 even though I've put a copy of mdate-sh (though not in the official tarball)
 in doc/.

   $ automake --gnits --include-deps
   doc/Makefile.am:2: required file `./mdate-sh' not found

 I don't use AC_CONFIG_AUX_DIR.  The last time I checked, I found it didn't
 work because some of those aux files live at the top level, and others
 (like mdate-sh and texinfo.tex) belong in doc/.

That's the way AC_CONFIG_AUX_DIR is defined.  It allows for the relocation of
_all_ of the auxiliary files used in configuration.  This can be decidedly
convenient if you have two doc directories for some reason.  An explicit
exception was made for texinfo.tex, but only when AC_CONFIG_AUX_DIR isn't set
explicitly.

I would guess that a similar exception for mdate-sh would be acceptable if
others thought it a good idea.  I don't know much about it, but glancing
through the code seems to confirm that an exception wouldn't hurt.  My glance
through the code also seems to confirm that this shouldn't be too hard to
accomplish.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
May the forces of evil become confused on the way to your house.

-- George Carlin







Re: possible bug with depcomp

2001-04-19 Thread Derek R. Price

Akim Demaille wrote:

  "Robert" == Robert Collins [EMAIL PROTECTED] writes:

 Robert The project I'm converting to automake uses
 Robert AC_CONFIG_AUX_DIR(cfgaux).  The dependency cehcking code was
 Robert looking for depend in the srcdir, not the srcdir/cfgaux. I'm
 Robert using a cvs version of autoconf - it's possible they've
 Robert changed the variables used...

 Robert Anyway, I've worked around it by dnl'ing the AC_CONFIG_AUX_DIR
 Robert directive. Funny thing was, when I did that and ran automake
 Robert --foreign --add-missing -c, it installed depcomp into "lib/",
 Robert but all the other scripts into ".".

 It's a known bug, and it's really painful.  Derek has posted a fix,
 but we are still waiting for the FSF's agreement.

IIRC, The workaround was to not let AM install depcomp itself but to stuff
it into '.' or cfgaux as appropriate.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
I will not waste chalk.
I will not waste chalk.
I will not waste chalk...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: Default postscript cleans miss *.cps *.fns.

2001-04-11 Thread Derek R. Price

Akim Demaille wrote:

  "Tom" == Tom Tromey [EMAIL PROTECTED] writes:

  "Akim" == Akim Demaille [EMAIL PROTECTED] writes:
 Akim elsif (/^\@(syncode|print)index \w+ (\w*)/) { push
 Akim @clean_suffixes, "$1s";

 Tom Shouldn't that be "$2s" here?

 Yes, definitely.  Thanks!

Neither one worked.  I grepped for "@(syncode|print)index" in CVS's
texinfo source and got the following:

@printindex cp

Are the two \w segments above a typo or maybe just not the general case?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
It'll take a miracle to get you out of Casablanca and the Germans have outlawed
miracles.

- Sydney Greenstreet as Senor Ferrari, _Casablanca_







Re: Default postscript cleans miss *.cps *.fns.

2001-04-11 Thread Derek R. Price

Akim Demaille wrote:

   elsif (/^\@syncodeindex \w+ (\w*)/
 || /^\@printindex (\w+)/)
   {
 push @clean_suffixes, "$1s";
   }

Yep.  That works.


 IIRC, you also had problems with fns.  What does a `grep fn *texi*' gives?

Not much obviously useful, but you prompted me to look in the cvs.fns file.
Except for the first line, lines are of the form:

\entry {\code {command}}{index}

Where command is variable and index is a number.  Using `fgrep -w "command"
*.texi*' reveals that each command has a corresponding texinfo command like
the following in the manual:

@deffn Command {command} ...

where `Command' (with a capital 'C') is a literal and ... varies.  `fgrep -w
deffn' reveals:


 cvs.texinfo:@deffn Command {cvs add} [@code{-k} kflag] [@code{-m}
 message] files @dots{}
 cvs.texinfo:@end deffn
 cvs.texinfo:@deffn Command {cvs remove} [options] files @dots{}
 cvs.texinfo:@end deffn
 cvs.texinfo:@deffn Command {cvs annotate} [@code{-flR}] [@code{-r
 rev}|@code{-D date}] files @dots{}
 cvs.texinfo:@end deffn
 cvs.texinfo:@deffn Command {cvs watch on} [@code{-lR}] files
 @dots{}
 cvs.texinfo:@end deffn
 cvs.texinfo:@deffn Command {cvs watch off} [@code{-lR}] files
 @dots{}
 cvs.texinfo:@end deffn
 cvs.texinfo:@deffn Command {cvs watch add} [@code{-a} action]
 [@code{-lR}] files @dots{}
 cvs.texinfo:@end deffn
 cvs.texinfo:@deffn Command {cvs watch remove} [@code{-a} action]
 [@code{-lR}] files @dots{}
 cvs.texinfo:@end deffn
 cvs.texinfo:@deffn Command {cvs edit} [options] files @dots{}
 cvs.texinfo:@end deffn
 cvs.texinfo:@deffn Command {cvs unedit} [@code{-lR}] files @dots{}
 cvs.texinfo:@end deffn
 cvs.texinfo:@deffn Command {cvs watchers} [@code{-lR}] files
 @dots{}
 cvs.texinfo:@end deffn
 cvs.texinfo:@deffn Command {cvs editors} [@code{-lR}] files @dots{}

 cvs.texinfo:@end deffn

Which is the same order the entries appear in cvs.fns.  Glancing at the
texinfo manual reveals that `Command' is a category argument and not
literal.  Will that do the trick?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
It is as useless to argue with those who have renounced the use and authority
of reason as to administer medication to the dead.

- Thomas Jefferson







Re: overriding tested automake aclocal in test suite

2001-04-10 Thread Derek R. Price

Tom Tromey wrote:

  "Derek" == Derek R Price [EMAIL PROTECTED] writes:

 Derek Is there some reason the automake test suite doesn't allow the
 Derek user to override its AUTOMAKE  ACLOCAL variables?  I like to
 Derek do it on ocassion to compare the current behavior against my
 Derek installed version and the like.

 No, there's no reason.  Send a patch...

Attached.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
I will not carve gods.
I will not carve gods.
I will not carve gods...

  - Bart Simpson on chalkboard, _The Simpsons_




Index: defs
===
RCS file: /cvs/automake/automake/tests/defs,v
retrieving revision 1.23
diff -u -r1.23 defs
--- defs2001/03/04 21:05:09 1.23
+++ defs2001/03/23 21:30:05
@@ -71,7 +71,7 @@
 # See how Automake should be run.  We put --foreign as the default
 # strictness to avoid having to create lots and lots of files.  A test
 # can override this by specifying a different strictness.
-AUTOMAKE="$PERL ../../automake --amdir=$srcdir/.. --foreign"
+: ${AUTOMAKE-"$PERL ../../automake --amdir=$srcdir/.. --foreign"}
 
 # See how aclocal should be run.
-ACLOCAL="$PERL ../../aclocal --acdir=$srcdir/../m4"
+: ${ACLOCAL-"$PERL ../../aclocal --acdir=$srcdir/../m4"}



Re: overriding tested automake aclocal in test suite

2001-04-10 Thread Derek R. Price

Tom Tromey wrote:

  "Derek" == Derek R Price [EMAIL PROTECTED] writes:

 Derek Is there some reason the automake test suite doesn't allow the
 Derek user to override its AUTOMAKE  ACLOCAL variables?

 Thanks for the patch.  I wrote a ChangeLog entry for you.  Could you
 write it next time?

Yep.  Sorry about that.  Busy day.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
This is the fourth?
- Thomas Jefferson's last words
(he died on the 4th of July)







depcomp bug (was [Fwd: CVS update: ccvs])

2001-04-05 Thread Derek R. Price

Hey folks!

One of the other CVS developers reported a bug in depcomp on BSD/OS.
Apparently the included /bin/sh doesn't set $? inside of the
conditional.  His original message and fix are attached.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
Boy:  A noise with dirt on it





Derek R. Price writes:
  * depcomp: Don't count on $? being set in then or else clauses.
 
 What system is this happening on?  depcomp is part of the Automake
 distribution.

Boy, that was fast!  I was going to send you a message suggesting that
you pass that change on to the Automake folks, but you beat me to it. 
It happens on my BSD/OS system with bin/sh (but not with bash or ksh). 

Looking at the SUS-2 specs for sh:

http://www.opengroup.org/onlinepubs/7908799/xcu/chap2.html

I don't see any requirement that the exit status of the conditional be
available in $? in the then and else clauses and given one counter
example and the fact that it's easy enough to work around, it seems like
the prudent thing to do.

-Larry Jones

He's just jealous because I accomplish so much more than he does. -- Calvin



Index: depcomp
===
RCS file: /home2/cvsroot/ccvs/depcomp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- depcomp 2000/12/21 22:14:19 1.1
+++ depcomp 2001/04/04 18:21:01 1.2
@@ -61,9 +61,9 @@
   if test -z "$gccflag"; then
 gccflag=-MD,
   fi
-  if "$@" -Wp,"$gccflag$tmpdepfile"; then :
-  else
-stat=$?
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat != 0; then
 rm -f "$tmpdepfile"
 exit $stat
   fi
@@ -102,9 +102,9 @@
   # trick.  Instead we must use -M and then rename the resulting .d
   # file.  This is also the case for older versions of gcc, which
   # don't implement -Wp.
-  if "$@" -MD; then :
-  else
-stat=$?
+  "$@" -MD
+  stat=$?
+  if test $stat != 0; then
 rm -f FIXME
 exit $stat
   fi
@@ -118,9 +118,7 @@
 "$@" -MDupdate "$tmpdepfile"
   fi
   stat=$?
-  if test $stat -eq 0; then :
-  else
-stat=$?
+  if test $stat != 0; then
 rm -f "$tmpdepfile"
 exit $stat
   fi



Re: Default postscript cleans miss *.cps *.fns.

2001-03-22 Thread Derek R. Price

Akim Demaille wrote:

 | Akim Demaille wrote:
 |
 |  Could you `grep indexcode' your texi sources?  Thanks!
 |
 | [dprice@empress doc]$ fgrep indexcode cvs.texinfo
 | [dprice@empress doc]$

 Actually I meant _all_ your sources.  And in fact, @include would be
 useful too.

Sorry for the delay in response.  I'm just catching up on this list and
the cc went to the account I'm not using anymore.


 [dprice@empress doc]$ ls *.t*x*
 CVSvn.texi  CVSvn.texi.in  cvs.texinfo  cvsclient.texi
 texinfo.tex
 [dprice@empress doc]$ egrep 'indexcode|@include' *.t*x*
 cvsclient.texi:@include CVSvn.texi
 cvs.texinfo:@include CVSvn.texi
 texinfo.tex:% @include fileinsert text of that file as
 input.
 texinfo.tex:  % Read the included file in a group so nested
 @include's work.
 texinfo.tex:% they're defined in; @include reads the file
 inside a group.
 [dprice@empress doc]$

I wasn't sure whether you wanted texinfo.tex included and there wasn't
much output, so I left it in.

FYI:  the *.cps  *.fns files are only being created for cvs.texinfo.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
Where are we going?  And what's with this handbasket?







Re: FYI: On the way to -w

2001-03-21 Thread Derek R. Price

Akim Demaille wrote:

 Tom Tromey [EMAIL PROTECTED] writes:

  What remains in order to enable `use strict'?

[. . .]


    $require_file_found{'depcomp'} = 1 if -f "$depcomp_dir/depcomp";

 it is because of this guy.  It should not be used directly here, but
 to fix this properly, I have to understand how to use the regular
 mechanisms (i.e., study what you said about the special case of
 depcomp not being like missing and the like).

 We could use use strict right now *if* we declare %require_file_found
 is global.  But I didn't because it's a lie, it's not where we are
 going to.

I sent a patch a while ago, ostensibly to fix the depcomp support, but which
cleans up a bunch of the require_file stuff, including removing this line.  And
oh, was it a mess before I went at it.

You should have the rest of the asssignments necessary to use it shortly.  I
mailed them Monday evening.  I can even resubmit a new version which resolves the
current conflicts, I believe, as long as I do it on my own time.  I'm not sure how
long it'll be before I can do automake work on my day job again.  :)

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] CollabNet ( http://collab.net )
--
On every question of construction [of the Constitution], let us carry ourselves
back to the time when the Constitution was adopted, recollect the spirit
manifested in the debates, and instead of trying what meaning may be squeezed
out of the text, or invented against it, conform to the probable one in which
it was passed.
- Thomas Jefferson, letter to William Johnson,
June 12, 1823, _The Complete Jefferson_, p. 322.







Default postscript cleans miss *.cps *.fns.

2001-03-14 Thread Derek R. Price

Building postscript docs from *.texi sources using the default automake
targets, the dev version of CVS produces cvs.cps  cvs.fns files as side
effects.  These files aren't removed by 'make clean' and thus break a
distcheck.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
"I tried to think but nothing happened!"
- Curly







Re: Default postscript cleans miss *.cps *.fns.

2001-03-14 Thread Derek R. Price

Akim Demaille wrote:

 hi Derek,

Hi.  :)


 Could you `grep indexcode' your texi sources?  Thanks!

[dprice@empress doc]$ fgrep indexcode cvs.texinfo
[dprice@empress doc]$

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
If thou dost marry, I'll give thee this plague for
thy dowry:  be thou as chaste as ice, as pure as snow,
thou shalt not escape calumny.  Get thee to a nunnery.
Go, farewell.  Or if thou wilt needs marry, marry a fool.
For wise men know well enough what monsters you
make of them.  To a nunnery, go, and quickly, too.  Fare-
well.

 - Hamlet, Act III, Scene 1, Lines 135-141







Re: yaccvpath.test

2001-03-02 Thread Derek R. Price

Alexandre Oliva wrote:

 On Feb 28, 2001, "Derek R. Price" [EMAIL PROTECTED] wrote:

  CVS uses a single second sleep to guarentee timestamps change cross-platform

 IIRC, FAT filesystems can only store even second numbers.  So, in
 order to be 100% safe, you'd need to sleep for 2 seconds, but a
 1-second sleep should be ok on at least 50% of the cases.

I don't think so.  The CVS code does the following, regardless of the platform:

while (last_register_time  time ((time_t *) NULL) == last_register_time)
{
* sleep 20ms *
}

Where last_register_time is the last time a file was written (recorded just after
writing).

In other words, this code simply waits until the next second.  I don't usually
work on the Windows specific code myself, but everything here except the sleep
function is common code, and unless the clock and not just the file system has a
2 second granularity, then a race condition would have been created.  I haven't
seen the bug reports and I know for a fact that the Windows sleep function was
just recently rewritten to allow millisecond granularity, so the rest is
doubtful.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not celebrate meaningless milestones.
I will not celebrate meaningless milestones.
I will not celebrate meaningless milestones...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: Current problems

2001-02-28 Thread Derek R. Price

Akim Demaille wrote:

 # Now do all the work on each file.
 foreach my $am_file (@input_files)
 {
 if (! -f ($am_file . '.am'))
 {
 am_error ("\`" . $am_file . ".am' does not exist");
 }
 else
 {
 generate_makefile ($output_files{$am_file}, $am_file);
 }
 }

 and there is a sub:

 # Print an error message and set exit status.
 sub am_error
 {
 warn "$me: ${am_file}.am: @_\n";
 $exit_status = 1;
 }

Only a global is going to be seen within a separate function...

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not hide behind the Fifth Amendment.
I will not hide behind the Fifth Amendment.
I will not hide behind the Fifth Amendment...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: Current problems

2001-02-28 Thread Derek R. Price

Akim Demaille wrote:

 "Derek R. Price" [EMAIL PROTECTED] writes:

  Only a global is going to be seen within a separate function...

 Right, but `my' at the top level is a global.  The problem was really
 related to the specific semantics of foreach.

Huh.  You're right.  I didn't believe you, but I just went and tested it
myself.  :)

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
There are two major products to come out of Berkley: LSD and UNIX.  We don't
believe this to be a coincidence.







Re: yaccvpath.test

2001-02-28 Thread Derek R. Price

Pavel Roskin wrote:

 Some unices (including GNU/Linux) are not very precise with respect to the
 timestamps. It's likely that parse.c and the new parse.y are created in
 the same second, so parse.c will appear to be up-to-date.  Adding "sleep
 3" (I have no idea what would be a minimal safe time) before the new

CVS uses a single second sleep to guarentee timestamps change cross-platform
and we don't see bug reports about it.  Only ocassionaly complaints that
scripts which invoke CVS many times take too long.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
"A slipping gear could let your M203 grenade launcher fire when you
least expect it. That would make you quite unpopular in what's left of
your unit."
-- In the August 1993 issue, page 9, of PS magazine, the
   Army's magazine of preventive maintenance







Re: subdirs.am and $(RECURSIVE_TARGETS)

2001-02-24 Thread Derek R. Price

Tom Tromey wrote:

  "Akim" == akim  [EMAIL PROTECTED] writes:

 Akim I wonder why we have a hard coded list list this in subdirs.am:
 Akim [ ... -recursive targets ... ]

 Historical reasons only, ie, I never thought of it.

 Akim Not only to I find this more pleasant, but most importantly it's
 Akim a win for Automake (we can have more modular *.am files which
 Akim register their own recursive targets), and it's a win for users
 Akim who can += on RECURSIVE_TARGETS.

 In the not-too-distant past, you couldn't `+=' an internally-defined
 variable.

I feel the need to point out that the -recursive portions of the targets
in the RECURSIVE_TARGETS macro seem somewhat redundant since users would
be required to end any new targets they wished to add to
RECURSIVE_TARGETS with the same string due to the way recursive targets
are defined.

i.e. a user should be able to add

RECURSIVE_TARGETS += mytarget

thus implicitly defining mytarget  mytarget-recursive, and mytarget
would call mytarget-local, mytarget-recursive,  mytarget-hook as
appropriate.

Of course I don't have my head nearly deep enough in those implementation
details at the moment to even start detailing how I would code the above.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
"Very funny Scotty, now beam down my clothes!"







Re: 57-my-last-mying-changes.patch

2001-02-23 Thread Derek R. Price

Tom Tromey wrote:

  "Akim" == Akim Demaille [EMAIL PROTECTED] writes:

 Akim Six, six for them! (I'm not counting those for file handles,
 Akim which perl refuses as my, not sure to understand why).

 The way file handles work is another reason to dislike Perl.  At
 least, I've always found them confusing.

The Perl5 file handles are different.  This example is for reading a file.
Really, the arguments to "new" are the same arguments open accepted.:


 require 5.004;
 use IO::File;

 my $fh = new IO::File " filetoread";
 while ($fh-getline)
 {
 dostuff $_;
 }

The other functions available for old style file handles are similar.  These
are just front ends for the old Perl builtins, but context switching just
happens automatically now.  e.g. $fh-eof, $fh-print, $fh-open (usually
called implicitly with arguments to new), $fh-close (unnecessary - "undef
$fh" will autoclose), $fh-autoflush, $fh-fileno, etc.

"$fh-getlines;" will work like calling $fh in an array context.

"my $line = $fh-getline;"  "my @lines = $fh-getlines;" (to read an entire
file) are valid constructs.  I don't remember if the same was true of , but
I think so.

P.S.  You probably won't need to know, but Perl5 prior to 5.004 used
FileHandle in lieu of IO::File, and FileHandle is still supported as a front
end for IO::File, but is deprecated.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
As honest as the day is long.

- S. Z. Sakall as Headwaiter Carl, _Casablanca_







Re: PATCH: patsubst support

2001-02-23 Thread Derek R. Price

Tom Tromey wrote:

 if FOO
 var = a b
 endif
 derived = $(var:%=%.c)
 if BAR
 var = c d
 endif

Isn't the order irrelevant here since derived won't be evaluated until
it's used?

Um, the gmake manual calls this "expanded when read, except for the shell
commands in rules, the right-hand sides of variable definitions using
`=', and the bodies of variable definitions using the `define'
directive".

Derek
--
Derek Price  CVS Solutions Architect (
http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Before you criticize someone, walk a mile in his shoes.  That way, if
he gets angry, he'll be a mile away - and barefoot.





tests graceful tool dependencies

2001-02-22 Thread Derek R. Price

From tests/defs:


 # User can set which tools from Autoconf to use.
 test -z "$AUTOCONF"  AUTOCONF=autoconf
 if ($AUTOCONF --version) /dev/null 21; then
   has_autoconf=:
   needs_autoconf=:
 else
   has_autoconf=false
   needs_autoconf='exit 77'
 fi

What's preventing you from removing the needs_autoconf variable entirely
and assigning something like

AUTOCONF='exit 77 '

in the case that autoconf is missing or broken?  It removes a step and
becomes transparent when a test doesn't want to test $has_autoconf.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not burp in class.
I will not burp in class.
I will not burp in class...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: tests graceful tool dependencies

2001-02-22 Thread Derek R. Price

"Derek R. Price" wrote:

 AUTOCONF='exit 77 '

Excuse me:

AUTOCONF='exit 77  dummy'

to keep the parser eternally happy.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Every man's reason [is] his own rightful umpire.  This principle, with that of
acquiescence in the will of the majority, will preserve us free and prosperous
as long as they are sacredly observed.

- Thomas Jefferson to John F. Watson, 1814







Re: tests graceful tool dependencies

2001-02-22 Thread Derek R. Price

"Derek R. Price" wrote:

 "Derek R. Price" wrote:

  AUTOCONF='exit 77 '

 Excuse me:

 AUTOCONF='exit 77  dummy'

 to keep the parser eternally happy.

Or almost eternally happy.  Due to some wierdness where my Bash only evaluates a
variable as a single command (i.e. ignoring ';', '',  '||'), the following was
necessary:


 test='eval exit 77  dummy'

This does the Right Thing (tm) in all the following cases:


 $test
 ($test)
 $test -args and -more args
 :; $test; dummy; more
 :  $test
 : || $test
 false || $test
 false  $test
 $test  :
 $test || :
 $test  false
 $test || false
 if $test; then :; fi

I expect more parens aren't going to change anything.  Did I miss anything?

Derek
--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
The policy of the American government is to leave their citizens free, neither
restraining nor aiding them in their pursuits.

- Thomas Jefferson





Re: tests graceful tool dependencies

2001-02-22 Thread Derek R. Price

"Derek R. Price" wrote:

  test='eval exit 77  dummy'

Whoops.  Excuse me.  That works in every case except ($test).  The subshell created
by parens breaks things.  I guess that isn't all that robust.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not sleep through my education.
I will not sleep through my education.
I will not sleep through my education...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: Testsuite fails

2001-02-22 Thread Derek R. Price

Akim Demaille wrote:

 Pavel Roskin [EMAIL PROTECTED] writes:

  We probably need a special macro, e.g.  AC_REQUIRE_FILE, so that the
  macros will be able to indicate what files they need.

 This is what Derek and I are working on :)  But I doubt 2.50 will be
 the good starting point, 2.51 will.

Incidentally, I think we're going to need AM_ALL_LINGUAS or the like to replace
the simple ALL_LINGUAS variable set.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Since English is a mess, it maps well onto the problem space,
which is also a mess, which we call reality.

- Larry Wall







Redundant PACKAGE VERSION set in test suite?

2001-02-22 Thread Derek R. Price

Is there a good reason that the following constructs occasionally appear
in 'configure.in's as created by the test suite?

AM_INIT_AUTOMAKE(nonesuch, nonesuch)
PACKAGE=nonesuch
VERSION=nonesuch

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
"If triangles had a God, He'd have three sides."

-- Old Yiddish Proverb







Re: Optimizing Makefiles

2001-02-21 Thread Derek R. Price

Akim Demaille wrote:

 What is the general policy wrt `optimizations' in automake vs leaving
 some job to make?  For instance there are many places with code like:

 if ($relative_dir eq '.')
 {
 push (@files, 'acconfig.h');
 }
 else
 {
 push (@files, '$(top_srcdir)/acconfig.h');
 }

 While it certainly more elegant from the Makefile point of view, it
 results in many little places in automake where the core code is
 ``polluted''.  Don't we want to continue like this?

Aside from optimization, there's another diffrence in the above.  The
first will be looked for in VPATH and the second won't be when
$(top_srcdir) is absolute.  Not sure this matters.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Always glad to share my ignorance - I've got plenty.







Re: Small autoreconf patch

2001-02-12 Thread Derek R. Price

Tim Van Holder wrote:

  * remake-hdr.am (@STAMP@): Use .T as suffix for the
  temporary file.
 
  You should probably patch autoconf's autoreconf too.
 
   What part would need patching?
 
  The one that choose stamp file names like those created by automake.

 Right - I hadn't noticed this:

 stamp_num=`test "$tcount" -gt 1  echo "$tcount"`
 stamp=$template_dir/stamp-h$stamp_num.in

 once tcount becomes larger than 9, there are potential problems.

 Now:
  a) how likely is it that tcount becomes 10 or more?

When AM_CONFIG_HEADER is called on more than 9 headers.


  b) what impact does using a different name (e.g. st-h-$stamp.in)
 have?

Jut namespace impact and aestetic concerns, I believe, but you may want
to hear from someone else on this one.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I don't know what's right any longer!  You have to think for both of us - for
all of us!

- Ingrid Bergman as Elsa, _Casablanca_







Re: Patch 3 of 4: Avoid 8+3 filename trouble

2001-02-12 Thread Derek R. Price

Tom Tromey wrote:

  "Tim" == Tim Van Holder [EMAIL PROTECTED] writes:

 Tim 2001-02-10  Tim Van Holder  [EMAIL PROTECTED]

 Tim* remake-hdr.am (@STAMP@): Use .T as suffix for the
 Timtemporary file.

 I don't think this is sufficient.  I think you also have to change
 AM_CONFIG_HEADER as well.  See m4/header.m4.

Which is already broken and effectively unused.  The only reason things
were working is that the make targets recreated the stamp files anyhow.
I've submitted a patch to fix this already.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
"It's difficult to work in a group when you're omnipotent."

-Q, "Deja Q"







AC_CANONICAL_* *_triplet

2001-02-09 Thread Derek R. Price

Is there a good reason that Automake renames the three variables set by
AC_CANONICAL_* ('build', 'host',  'target') to 'build_triplet', 'host_triplet',
 'target_triplet'?

Because using the current traces design, 'build', 'host',  'target' would be
substituted automatically, allowing removal/simplification of some code once AC
2.13 is no longer supported, if the rename was unnecessary.  This would include
removal of the following FIXME comment and associated code:

# Generate some useful variables when AC_CANONICAL_* used.  FIXME:
# this should use generic %configure_vars method.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not sell school property.
I will not sell school property.
I will not sell school property...

  - Bart Simpson on chalkboard, _The Simpsons_







removing $seen_canonical

2001-02-09 Thread Derek R. Price

I've removed the references to $seen_canonical, re one of the FIXME
comments on the way to enabling traces.  I know this patch is kinda
largish, but even if it doesn't get checked in yet, I'd like some
feedback.  This is somewhat integral to my work on traces.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
Once Law was sitting on the bench
And Mercy knelt a-weeping.
"Clear out!" he cried, "disordered wench!
Nor come before me creeping.
Upon you knees if you appear,
'Tis plain you have no standing here."

Then Justice came.  His Honor cried:
"YOUR states? -- Devil seize you!"
"Amica curiae," she replied --
"Friend of the court, so please you."
"Begone!" he shouted -- "There's the door --
I never saw your face before!"
-- Ambrose Bierce, "The Devil's Dictionary"




Index: ChangeLog
===
RCS file: /cvs/automake/automake/ChangeLog,v
retrieving revision 1.1014
diff -u -r1.1014 ChangeLog
--- ChangeLog   2001/02/10 01:26:54 1.1014
+++ ChangeLog   2001/02/10 05:06:50
@@ -1,3 +1,7 @@
+2001-02-10  Derek Price  [EMAIL PROTECTED]
+
+   * automake.in: Replace $seen_canonical with %configure_vars.
+
 2001-02-09  Raja R Harinath  [EMAIL PROTECTED]
 
* depcomp (gcc3): Propagate exit code.
Index: automake.in
===
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.872
diff -u -r1.872 automake.in
--- automake.in 2001/02/09 07:06:53 1.872
+++ automake.in 2001/02/10 05:06:54
@@ -191,10 +191,6 @@
 # TRUE if AC_DECL_YYTEXT was seen.
 $seen_decl_yytext = 0;
 
-# TRUE if we've seen AC_CANONICAL_(HOST|SYSTEM).  The presence of
-# AC_CHECK_TOOL also sets this.
-$seen_canonical = 0;
-
 # TRUE if we've seen AC_ARG_PROGRAM.
 $seen_arg_prog = 0;
 
@@ -606,10 +602,14 @@
   @libtoolize_files)
if $seen_libtool;
 
-# AC_CANONICAL_HOST and AC_CANONICAL_SYSTEM need config.guess and
-# config.sub.
+   # AC_CANONICAL_BUILD, AC_CANONICAL_HOST, and
+   # AC_CANONICAL_(SYSTEM|TARGET) need config.guess and config.sub.
+   #
+   # FIXME - When traces is enabled, only 'build' need be checked here
+   # since AC_CANONICAL_BUILD is required by AC_CANONICAL_HOST, which is
+   # required by AC_CANONICAL_TARGET, as of AC 2.50..
 require_config_file ($FOREIGN, 'config.guess', 'config.sub')
-   if $seen_canonical;
+   if $configure_vars{'build'} || $configure_vars{'host'};
 }
 
 # We still need Makefile.in here, because sometimes the `dist'
@@ -3932,29 +3932,18 @@
   . "\t\@echo 'set tool \$(DEJATOOL)'  \$\@-t\n"
   . "\t\@echo 'set srcdir \$(srcdir)'  \$\@-t\n"
   . "\t\@echo 'set objdir' \`pwd\`  \$\@-t\n");
-
-# Extra stuff for AC_CANONICAL_*
-local (@whatlist) = ();
-if ($seen_canonical)
-{
-push (@whatlist, 'host');
-}
 
-# Extra stuff only for AC_CANONICAL_SYSTEM.
-if ($seen_canonical == $AC_CANONICAL_SYSTEM)
+   my $c;
+   foreach $c ('build', 'host', 'target')
 {
-push (@whatlist, 'target', 'build');
+   # Maybe an error message if both of these are not set is a good
+   # idea?  It might be overkill.
+   $output_rules .= "\t\@echo 'set ${c}_triplet \$(${c})'  \$\@-t\n"
+   if defined $configure_vars{$c};
+   $output_rules .= "\t\@echo 'set ${c}_alias \$(${c}_alias})'  \$\@-t\n"
+   if defined $configure_vars{"${c}_alias"};
 }
 
-local ($c1, $c2);
-foreach $c1 (@whatlist)
-{
-foreach $c2 ('alias', 'triplet')
-{
-$output_rules .= "\t\@echo 'set ${c1}_${c2} \$(${c1}_${c2})'  
\$\@-t\n";
-}
-}
-
 $output_rules .= ("\t\@echo '## All variables above are generated by 
configure. Do Not Edit ##'  \$\@-t\n"
   . "\t\@test ! -f site.exp || sed '1,/^## All variables 
above are.*##/ d' site.exp  \$\@-t\n"
   . "\t\@test ! -f site.exp || mv site.exp site.bak\n"
@@ -4228,6 +4217,21 @@
 }
 
 
+
+# found_ac_canonical_x ($x, $where)
+# --
+# Helper function which sets %configure_vars for an AC_CANONICAL_* invocation
+sub found_ac_canonical_x
+{
+my $c;
+foreach $c ('', '_alias', '_cpu', '_vendor', '_os')
+{
+   $configure_vars{$_[0] . $c} = $_[1];
+}
+}
+
+
+
 # scan_one_autoconf_file ($FILENAME)
 # ---
 # Scan one file for interesting things.  Subroutine of
@@ -,12 +4448,25 @@
}
}
 
-# Handle AC_CANONICAL_*.  Always allow upgrading to
-# 

Re: DIST_COMMON broke

2001-02-07 Thread Derek R. Price

"Derek R. Price" wrote:

 "Derek R. Price" wrote:

  Looks like someone broke the 'make dist' target in the last few days.
  Specifically, input files from AC_OUTPUT are no longer being added to
  DIST_COMMON...

 Here's the patch.

This doesn't appear to be the correct fix.  I'll write the test case Tom just requested
and see if I can't figure out anymore.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
77. (D)inner not ready: (A)bort, (R)etry, (P)izza?







Re: DIST_COMMON broke

2001-02-07 Thread Derek R. Price

Tom Tromey wrote:

 Anyway I wrote a test for the weird case and checked it in.

 I also checked in a fix for both the recent bugs in that area.  I'm
 afraid I'm not entirely sure why my fix fixes distcommon.test :-(.

Checked in?  Fixes?  I'm not pulling any changes...

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Travel advisories - Alaska:  Tourists are warned to wear tiny bells on
their clothing when hiking in bear country.  The bells warn away MOST
bears.  Tourists are also cautioned to watch the ground on the trail,
paying particular attention to bear droppings, to be alert for the
presence of Grizzly Bears.  One can tell Grizzly droppings by the tiny
bells in them.







Re: DIST_COMMON broke

2001-02-07 Thread Derek R. Price

Tom Tromey wrote:

  "Pavel" == Pavel Roskin [EMAIL PROTECTED] writes:

  I'm checking this in.

 Pavel I'm sorry, but the bug seems to be yours. The new test fails
 Pavel after automake.in changes from revision 1.848 to 1.849.

 Oh, I know it is mine..

 Pavel In fact it says directly: "Don't push @inputs onto the dist list."
 Pavel Not good. Many programs rely on that.

 It is more complicated than that.  The require_file_with_conf_line
 call sometimes pushes onto the dist list.

 This area still requires more work.  I think I know another case where
 it can fail: suppose you do `AC_OUTPUT(subdir/foo)' where there is no
 Makefile.am in subdir?  Then I think no rule to rebuild subdir/foo
 will be generated.

You're right.  Here's a test for that too.  Well, if you still want it, re
Pavel's recent email.

Just a note, some of the logic you just mentioned seems to be in
maybe_push_required_file, but I haven't studied require_file_internal long
enough to know what it's supposed to be doing.

Also, looking at this area of the code reminds me that I sent a,
unfortunately largish, patch in something over a month ago that hasn't been
reviewed to my knowledge.  The patch was intended to fix a misplaced depcomp
file (a bug which is still present in the current CVS Automake, I might
add), but I had also ended up removing all the "special case '.'" bugs the
code is littered with FIXME comments about (especially around the
require_file_* functions).  I have only had to alter the patch once (well,
okay, so the test was also broken and I fixed that too), so far, to keep it
in sync with the CVS Automake, but with all the work going on lately this
might get worse.  If somebody could review it and maybe check it in it would
be greatly appreciated.  It cleans up a bunch of code.  I'll include the new
patch in a subsequent email.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
If that plane leaves the ground and you're not with him, you'll regret it.
Maybe not today and maybe not tomorrow, but soon and for the rest of your life.

- Humphrey Bogart as Rick, _Casablanca_




#! /bin/sh

# A test for failure to include files and targets provided in AC_OUTPUT
# when the subdir doesn't contain a Makefile.am

. $srcdir/defs || exit 1

cat  configure.in  EOF
AM_INIT_AUTOMAKE(nonesuch, nonesuch)
AC_OUTPUT(subdir/bar \
  Makefile)
EOF

:  Makefile.am

mkdir subdir
:  subdir/bar.in

$AUTOMAKE || exit 1

# verify bar.in
grep '^subdir/bar.in:' Makefile.in || exit 1
# yeah, so it eats _all_ the backslashes...
sed '/\\$/{N;s/\\.//g;}' testSubDir/Makefile.in \
|grep '^DIST_COMMON.*subdir/bar.in' Makefile.in || exit 1

exit 0



Re: DIST_COMMON broke

2001-02-07 Thread Derek R. Price

"Derek R. Price" wrote:

 Tom Tromey wrote:

  Derek Checked in?  Fixes?  I'm not pulling any changes...
 
  I can't explain that.  I've seen the commit message and everything.
 
  You aren't using the subversions automake are you?
  That is a mirror that doesn't update.

 Yeah, I am.  Where is the other one?

Nevermind.  Found it from the Automake home page.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
89. A day without sunshine is like, you know, night.







Re: tests/ChangeLog

2001-02-07 Thread Derek R. Price

Pavel Roskin wrote:

 On 7 Feb 2001, Tom Tromey wrote:

  I've long considered it a mistake that tests/ChangeLog exists.  I
  think it should be merged with the main ChangeLog.
 
  How about I rename tests/ChangeLog and we start putting entries into
  the toplevel ChangeLog?  Any objections?

 No objections.

 In fact, by having two ChangeLogs GNU Automake "endorses" its users to use
 this style. This should be fixed.

Looks like you need to regenerate the Makefile.in - you broke make dist:


 [dprice@empress automake-clean]$ make dist
 chmod -R a+w automake-1.4c  /dev/null 21; rm -rf automake-1.4c
 mkdir automake-1.4c
 /bin/sh ./mkinstalldirs automake-1.4c/. .
 for subdir in . m4 tests; do \
   if test "$subdir" = .; then :; else \
 test -d automake-1.4c/$subdir \
 || mkdir automake-1.4c/$subdir \
 || exit 1; \
 (cd $subdir  \
   make  top_distdir=../automake-1.4c
 distdir=../automake-1.4c/$subdir distdir) \
   || exit 1; \
   fi; \
 done
 make[1]: Entering directory `/home/dprice/work/automake-clean/m4'
 make[1]: Leaving directory `/home/dprice/work/automake-clean/m4'
 make[1]: Entering directory
 `/home/dprice/work/automake-clean/tests'
 make[1]: *** No rule to make target `ChangeLog', needed by
 `distdir'.  Stop.
 make[1]: Leaving directory `/home/dprice/work/automake-clean/tests'

 make: *** [distdir] Error 1

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not bring sheep to class.
I will not bring sheep to class.
I will not bring sheep to class...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: DIST_COMMON broke

2001-02-07 Thread Derek R. Price

Tom Tromey wrote:

  "Derek" == Derek R Price [EMAIL PROTECTED] writes:

 Derek Also, looking at this area of the code reminds me that I sent
 Derek a, unfortunately largish, patch in something over a month ago
 Derek that hasn't been reviewed to my knowledge.  The patch was
 Derek intended to fix a misplaced depcomp file (a bug which is still
 Derek present in the current CVS Automake, I might add), but I had
 Derek also ended up removing all the "special case '.'" bugs the code
 Derek is littered with FIXME comments about (especially around the
 Derek require_file_* functions).

 Yeah, I still have a few of your patches sitting in my mailbox.

 We have to get the assignment stuff worked out.
 I've been putting that off since I hate dealing with it.

I got some preliminary email in that direction from Brian Youmans
@gnu.org the other day.  I filled out the email form and returned it.
The original mail said that would get me the next set of forms, but
I haven't seen them yet, nor, in fact, received any reply at all.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
For sale:  One parachute.  Never opened.  Small stain.







Re: DIST_COMMON broke

2001-02-07 Thread Derek R. Price

Tom Tromey wrote:

  "Derek" == Derek R Price [EMAIL PROTECTED] writes:

 Derek Also, looking at this area of the code reminds me that I sent
 Derek a, unfortunately largish, patch in something over a month ago
 Derek that hasn't been reviewed to my knowledge.  The patch was
 Derek intended to fix a misplaced depcomp file (a bug which is still
 Derek present in the current CVS Automake, I might add), but I had
 Derek also ended up removing all the "special case '.'" bugs the code
 Derek is littered with FIXME comments about (especially around the
 Derek require_file_* functions).

 Yeah, I still have a few of your patches sitting in my mailbox.

Well, when you get around to it, this one should take the place of my
last depcomp patch.  I fixed tests/depcomp, tidied the ChangeLog based on
the standards and practices Raja  Akim made me aware of, and merged the
rest with the current CVS Autoconf.

ChangeLog entry:

* automake.in (require_file_with_conf_line,
require_file_with_line, require_file): Pass a @require_file_path
of $relative_dir instead of '.' to require_file_internal so that
all the special casing of '.' can be removed elsewhere.
(require_config_file, require_conf_file_with_line,
require_conf_file_with_conf_line): Remove special casing for '.'
and make sure $config_aux_dir is maintained properly.
(require_file_internal): Remove special casing of '.' and set
@require_file_path when missing files are added.
(maybe_push_required_file): Remove special casing of '.'
(handle_dependencies): Remove a workaround for a bug now fixed
and remove $config_aux_dir special casing.
(handle_configure): Remove special casing for $config_aux_dir
(handle_python): Ditto.
(yacc_lex_finish_helper): Change $config_aux_dir switch to
switch on the value of $config_aux_dir_set_in_configure_in.
(handle_texinfo): Ditto.
(scan_one_configure_file): Set $config_aux_dir and
$config_aux_dir_set_in_configure_in properly so special casing
on the value of $config_aux_dir can be removed elsewhere.

* tests/depcomp.test: New file.
* tests/confsub.test: Look for depcomp in $(top_srcdir) instead
of the
first subdir containing a C file.
* tests/libobj2.test: Ditto.
* tests/Makefile.am (TESTS): Added 'depcomp.test'.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not aim for the head.
I will not aim for the head.
I will not aim for the head...

  - Bart Simpson on chalkboard, _The Simpsons_




Index: ChangeLog
===
RCS file: /cvs/automake/automake/ChangeLog,v
retrieving revision 1.1001
diff -u -r1.1001 ChangeLog
--- ChangeLog   2001/02/07 21:51:39 1.1001
+++ ChangeLog   2001/02/07 23:27:58
@@ -522,6 +522,35 @@
* automake.in (handle_ltlibraries): Allow _LDFLAGS to be
conditionally defined.  Fixes PR automake/77 and ldflags.test.
 
+2000-12-05  Derek Price  [EMAIL PROTECTED]
+
+   * automake.in (require_file_with_conf_line,
+   require_file_with_line, require_file): Pass a @require_file_path
+   of $relative_dir instead of '.' to require_file_internal so that
+   all the special casing of '.' can be removed elsewhere.
+   (require_config_file, require_conf_file_with_line,
+   require_conf_file_with_conf_line): Remove special casing for '.'
+   and make sure $config_aux_dir is maintained properly.
+   (require_file_internal): Remove special casing of '.' and set
+   @require_file_path when missing files are added.
+   (maybe_push_required_file): Remove special casing of '.'
+   (handle_dependencies): Remove a workaround for a bug now fixed
+   and remove $config_aux_dir special casing.
+   (handle_configure): Remove special casing for $config_aux_dir
+   (handle_python): Ditto.
+   (yacc_lex_finish_helper): Change $config_aux_dir switch to
+   switch on the value of $config_aux_dir_set_in_configure_in.
+   (handle_texinfo): Ditto.
+   (scan_one_configure_file): Set $config_aux_dir and
+   $config_aux_dir_set_in_configure_in properly so special casing
+   on the value of $config_aux_dir can be removed elsewhere.
+
+   * tests/depcomp.test: New file.
+   * tests/confsub.test: Look for depcomp in $(top_srcdir) instead of the
+   first subdir containing a C file.
+   * tests/libobj2.test: Ditto.
+   * tests/Makefile.am (TESTS): Added 'depcomp.test'.
+
 2000-11-25  Tom Tromey  [EMAIL PROTECTED]
 
* automake.in (file_contents_with_transform): Added file name and
Index: automake.in
===
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1

AM_CONFIG_HEADER stamp-h files edition 3

2001-02-06 Thread Derek R. Price

Inspired by Akim Demaille's use of ifdef, I wrote a third edition of
this patch which increases functionality when used with a current
Autoconf.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
99. Daddy, why doesn't this magnet pick up this floppy disk?







Re: AM_CONFIG_HEADER stamp-h files edition 3

2001-02-06 Thread Derek R. Price

"Derek R. Price" wrote:

 Inspired by Akim Demaille's use of ifdef, I wrote a third edition of
 this patch which increases functionality when used with a current
 Autoconf.

I just wanted to let you all know that.

...

Ok, fine, here's the patch.  :)

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
99. Daddy, why doesn't this magnet pick up this floppy disk?




? automake-stamph3.diff
? automake-1.4c-stamph3.diff
? tests/automake-1.4c-stamph3.diff
Index: ChangeLog
===
RCS file: /cvs/automake/ChangeLog,v
retrieving revision 1.997
diff -u -r1.997 ChangeLog
--- ChangeLog   2001/02/06 10:25:21 1.997
+++ ChangeLog   2001/02/06 18:07:37
@@ -77,6 +77,10 @@
about libtool, and maintainer-clean.
* clean.am, libtool.am: Handle these.
 
+2001-02-05  Derek Price  [EMAIL PROTECTED]
+
+   * m4/header.m4 (AM_CONFIG_HEADER): create stamp-h files in the correct
+   locations.
 
 2001-02-05  Akim Demaille  [EMAIL PROTECTED]
 
Index: m4/header.m4
===
RCS file: /cvs/automake/m4/header.m4,v
retrieving revision 1.7
diff -u -r1.7 header.m4
--- m4/header.m42000/08/06 12:36:53 1.7
+++ m4/header.m42001/02/06 18:07:39
@@ -10,19 +10,57 @@
 AC_PREREQ([2.12])
 
 AC_DEFUN([AM_CONFIG_HEADER],
+[ifdef([AC_FOREACH],dnl
+[dnl init our file count if it isn't already
+m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], 
+[0]))
+dnl prepare to store our destination file list for use in config.status
+AC_FOREACH([_AM_File], [$1],
+   [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
+   m4_define([_AM_Config_Header_Index], 
+m4_incr(_AM_Config_Header_Index))
+   dnl and add it to the list of files AC keeps track of, along
+   dnl with our hook
+   AC_CONFIG_HEADERS(_AM_File,
+dnl COMMANDS, [, INIT-CMDS]
+[# update the timestamp
+echo timestamp "AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
+][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
+   m4_popdef([_AM_Dest])])],dnl
 [AC_CONFIG_HEADER([$1])
   AC_OUTPUT_COMMANDS(
ifelse(patsubst([$1], [[^ ]], []),
  [],
  [test -z "$CONFIG_HEADERS" || echo timestamp dnl
-  patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),
-  [am_indx=1
-  for am_file in $1; do
-case " $CONFIG_HEADERS " in
-*" $am_file "*)
-  echo timestamp  `echo $am_file | sed 's%:.*%%;s%[^/]*$%%'`stamp-h$am_indx
-  ;;
-esac
-am_indx=\`expr \$am_indx + 1\`
-  done])
-])
+  patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),dnl
+[am_indx=1
+for am_file in $1; do
+  case " \$CONFIG_HEADERS " in
+  *" \$am_file "*)
+am_dir=\`echo \$am_file |sed 's%:.*%%;s%[^/]*\$%%'\`
+if test -n "\$am_dir"; then
+  am_tmpdir=\`echo \$am_dir |sed 's%^\(/*\).*\$%\1%'\`
+  for am_subdir in \`echo \$am_dir |sed 's%/% %'\`; do
+am_tmpdir=\$am_tmpdir\$am_subdir/
+if test ! -d \$am_tmpdir; then
+  mkdir \$am_tmpdir
+fi
+  done
+fi
+echo timestamp  "\$am_dir"stamp-h\$am_indx
+;;
+  esac
+  am_indx=\`expr \$am_indx + 1\`
+done])
+])]) # AM_CONFIG_HEADER
+
+# _AM_DIRNAME(PATH)
+# -
+# Like AS_DIRNAME, only do it during macro expansion
+AC_DEFUN([_AM_DIRNAME],
+   [m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
+ m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
+   m4_if(m4_regexp([$1], [^/.*]), -1,
+ [.],
+ m4_patsubst([$1], [^\(/\).*], [\1])),
+   m4_patsubst([$1], [^\(//\)\([^/].*\|$\)], [\1])),
+ m4_patsubst([$1], [^\(.*[^/]\)//*[^/][^/]*/*$], [\1]))[]dnl
+]) # _AM_DIRNAME
Index: tests/Makefile.am
===
RCS file: /cvs/automake/tests/Makefile.am,v
retrieving revision 1.248
diff -u -r1.248 Makefile.am
--- tests/Makefile.am   2001/02/04 03:18:01 1.248
+++ tests/Makefile.am   2001/02/06 18:07:39
@@ -88,6 +88,7 @@
 depacl2.test \
 depend.test \
 depend3.test \
+dirname.test \
 discover.test \
 distdir.test \
 double.test \
@@ -226,6 +227,7 @@
 spell3.test \
 spelling.test \
 stamph.test \
+stamph2.test \
 stdlib.test \
 subdir.test \
 subdir2.test \
Index: tests/dirname.test
===
RCS file: tests/dirname.test
diff -N tests/dirname.test
--- /dev/null   Tue Aug 29 07:25:14 2000
+++ tests/dirname.test  Tue Feb  6 10:07:39 2001
@@ -0,0 +1,46 @@
+#! /bin/sh
+
+# Test the operation of the _AM_DIRNAME macro from m4/header.m4
+
+. $srcdir/defs || exit 1

Bug + patch

2001-02-05 Thread Derek R. Price

Somebody checked in a bad quote recently.  It breaks at least the
stamph/header targets.  Patch attached.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
82. Hold a hard drive to your ear -- listen to the C.




? automake-1.4c.tar.gz
? automake-1.4c.acconfig_h.diff
Index: ChangeLog
===
RCS file: /cvs/automake/ChangeLog,v
retrieving revision 1.992
diff -u -r1.992 ChangeLog
--- ChangeLog   2001/02/05 09:11:10 1.992
+++ ChangeLog   2001/02/06 04:19:20
@@ -1,3 +1,7 @@
+2001-02-05  Derek Price  [EMAIL PROTECTED]
+
+   * automake.in (handle_configure): fix syntax error
+
 2001-02-05  Akim Demaille  [EMAIL PROTECTED]
 
* automake.in (handle_texinfo): No longer hard code the clean
Index: automake.in
===
RCS file: /cvs/automake/automake.in,v
retrieving revision 1.859
diff -u -r1.859 automake.in
--- automake.in 2001/02/05 09:11:10 1.859
+++ automake.in 2001/02/06 04:19:24
@@ -3387,7 +3387,7 @@
{
# Strange quoting because this gets fed through
# Perl.
-   push (@files, '\$(top_srcdir)/acconfig.h');
+   push (@files, '$(top_srcdir)/acconfig.h');
}
}
 



Re: amtraces

2001-02-04 Thread Derek R. Price

Akim Demaille wrote:

 "Derek R. Price" [EMAIL PROTECTED] writes:

 All these comments are related to the same idea: Automake must know as
 less as possible about macros.  It means that if needed, we have to

 ~/src/ace % echo "AC_INIT AC_CANONICAL_SYSTEM" | ace -t AC_CANONICAL_SYSTEM -t 
AC_CANONICAL_HOST -
 /tmp/ac23991/stdin:1:AC_CANONICAL_SYSTEM:
 /tmp/ac23991/stdin:1:AC_CANONICAL_HOST:

 i.e., drop AC_CANONICAL_SYSTEM *dead*.

Are you sure?  I poked through the code a bit and it looks like AC_CANONICAL_SYSTEM is 
now an alias
for AC_CANONICAL_TARGET which requires AC_CANONICAL_HOST but sets some extra variables 
which AM seems
to have handlers for as part of its AC_CANONICAL_SYSTEM handling...


  +# Some things required by Automake.
  +AC_ARG_PROGRAM = sub { $seen_arg_prog = $_[0] },

 Hm, I'm in favor of having AC_ARG_PROGRAM always run.  I see no use in
 having only partial support for this option across configures.  In
 addition, AM_INIT_AUTOMAKE, IIRC, calls it by itself.

 Pavel, Alexandre, any problem with integrating AC_ARG_PROGRAM in AC_INIT?


  +AM_C_PROTOTYPES = sub { $am_c_prototypes = $_[0] },

 Should be moved to an Autoconf macro.

  +AC_CHECK_TOOL = \scan_autoconf_traces_AC_CANONICAL_HOST,

 Sounds wrong: you don't need AC_CANONICAL_HOST to use AC_CHECK_TOOL.

  +AM_CONDITIONAL = sub { $configure_cond{$_[2]} = $_[0] },
  +AC_CONFIG_AUX_DIR = sub { @config_aux_path = $_[2] },

 This macro gives too many problem.  Alexandre D. knows what I'm
 referring to, I'd like him to start a thread in autoconf@ about this.

Let me know when there's a fix I can use.  My basic premise was to convert 
scan_one_autoconf_file as
directly as possible while removing the redundancies I could spot.


  +AC_CONFIG_FILES = sub { scan_autoconf_config_files ($_[2]) },
  +# Handle configuration headers
  +AC_CONFIG_HEADER = \scan_autoconf_traces_AC_CONFIG_HEADER,
  +AC_CONFIG_HEADERS = \scan_autoconf_traces_AC_CONFIG_HEADER,
  +AM_CONFIG_HEADER = \scan_autoconf_traces_AM_CONFIG_HEADER,

 Nope, they all point to only AC_CONFIG_HEADERS.  Don't trace the others.

This works for AC_CONFIG_HEADERS, but not for AM_CONFIG_HEADER.  AM requires 
AM_CONFIG_HEADERS to be
used so it needs to catch the call to AC_CONFIG_HEADER so it can warn the user about 
their mistake.


  +AC_DECL_YYTEXT =
  + sub { unless ($seen_decl_yytext eq $_[0])
  +   {
  + $seen_decl_yytext = $_[0];
  + am_conf_line_warning (
  + split (/:/, $_[0]),
  + "\`AC_DECL_YYTEXT' is covered by \`AM_PROG_LEX'");
  +   }
  + },

 No longer exists, there is only AC_PROG_LEX which includes this.
 AM_PROG_LEX is deprecated.

I added obsolete and deprecated warnings for AC_DECL_YYTEXT and AM_PROG_LEX, 
respectively.
AC_PROG_LEX is still setting the $seen_decl_yytext variable.  Maybe someone will want 
to change the
name?  I added a comment to this effect.


  +AM_ENABLE_MULTILIB = sub { $seen_multilib = $_[0] },
  +AC_EXEEXT = sub { $seen_exeext = 1 },

 No longer exists, exeext is always computed when there is some
 compilation involved, i.e., when Automake wants to use exeext and
 obkext, don't check for them: they've been checked for.  Or just look
 at $ac_subst{EXEEXT}.

Changed the areas in the code to look for $configure_vars{EXEEXT} instead of 
$seen_exeext.  If these
are always checked for then maybe when tracing is required the special casing can be 
removed
entirely.


  +# Check for NLS support.
  +AM_GNU_GETTEXT =
  + sub { # FIXME: eliminate redundant $ac_gettext_line
  +   $seen_gettext = $_[0];
  +   $ac_gettext_line = (split /:/, $_[0])[1];
  + },

 Why does it need to know this?  Hm, will look into the details some day.

  +# This macro handles several different things.
  +AM_INIT_AUTOMAKE =
  + sub { $seen_make_set = $_[0];
  +   $seen_arg_prog = $_[0];
  +   $seen_prog_install = $_[0];
  +   $package_version = $_[3];
  +   $package_version_line = (split /:/, $_[0])[2];
  +   $seen_init_automake = $_[0];
  + },

 Not good: --trace looks inside, you don't need to know how
 AM_INIT_AUTOMAKE is written and what it does.  And now the proper
 means to set the name/version of a package is via AC_INIT, more
 precisely tracing _AC_INIT_PACKAGE.  Note that we can introduce a
 macro just to ask for the value of an Autoconf macro:

I will examine this more closely.  The INSTALL and MAKE_SET stuff I removed already.


 /tmp % cat configure.ac  nostromo 14:40
 AC_INIT(GNU Hello, 1.0)

 m4_define([_AC_TRACE])
 m4_define([AC_TRACE], [_AC_TRACE(m4_defn([$1]))])

 AC_TRACE([AC_PACKAGE_NAME])
 AC_TRACE([AC_PACKAGE_TARNAME])
 AC_TRACE([AC_PACKAGE_STRING])
 AC_TRACE([AC_PACKAGE_VERSION])
 /tmp % ace -t _AC_TRACE  

Re: 31-ac-libsources.patch Re: amtraces

2001-02-04 Thread Derek R. Price

Akim Demaille wrote:

 FYI, I applied this to Autoconf:

 2001-02-03  Akim Demaille  [EMAIL PROTECTED]

 * acfunctions.m4 (AC_FUNC_ERROR_AT_LINE, AC_FUNC_ONSTACK): Use
 AC_LIBSOURCES.

 2001-02-03  Akim Demaille  [EMAIL PROTECTED]

 * acgeneral.m4 (AC_LIBOBJ_DECL): Remove.
 (AC_LIBSOURCES, AC_LIBSOURCE): New.

AC_REPLACE_FUNCS is still trying to call AC_LIBOBJ_DECL.  :(

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will finish what I sta
I will finish what I sta
I will finish what I sta...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: amtraces

2001-02-02 Thread Derek R. Price

[EMAIL PROTECTED] wrote:

 On Fri, Feb 02, 2001 at 01:17:13PM -0500, Derek R. Price wrote:
  Akim Demaille wrote:
 
   "Derek R. Price" [EMAIL PROTECTED] writes:
 
  Patch against the current CVS Automake attached.  Please excuse all the
  "print STDERR"s and my initials littered in comments around the things I was
  still working on.

 I'm really impressed!  Your work is impressive, congratulations!  I'm

Thanks.  :)  I tried to write a macro for CVS which made use of AC_FOREACH and
Automake couldn't handle it anymore.  I had to do _something_.


 that I certainly would like to toy with your implementation, I'd vote
 for an inclusion in Automake.  Do you have your papers?  :)

No, actually.  I probably should too, seeing as I've been hacking on CVS for a
couple of years now.  :)  Can someone send them to me?  I'd actually be
interested in learning the maintainer side of the process too since I'm probably
supposed to be doing some of this for CVS, if anyone could send me a link?


 I'd make one simple comment: I would not trust `:' as a separator, I'd
 play with more unlikely separators.  See the Autoconf documentation,

I figured, but : was already being used and seems to work well enough in most
cases.  If you look at my code, it should be easy to change the default.  You can
even change the FORMAT string on a per-macro basis by tweaking the
%traced_macro_format hash.  I've only had to do that for AC_CONFIG_FILES so far,
since that's the only macro my test base was passing arguments to in dest:source
format, but I imagine it would be necessary for AC_CONFIG_HEADER and any other
macro that takes filename arguments in that format.  Maybe tweaking the default
to something like you suggest would be easiest:


 The long SEPARATORs can be used to ease parsing of complex structures:

  $ autoconf -t 'AM_MISSING_PROG:${|:|}*'
  ACLOCAL|:|aclocal|:|$missing_dir
  AUTOCONF|:|autoconf|:|$missing_dir
  AUTOMAKE|:|automake|:|$missing_dir
  More traces deleted

On a side note, I think we could move to the multi-line inputs if we needed to
with only a little extra work, but right now my code still counts on single line
inputs.


  Now I think the structure of the comp-vars.am will need to be changed to
  define some var other than DEFS to @DEFAULT_INCLUDES@ and then that var
  should be included as part of the COMPILE makefile variable.

 I didn't look into the details, but can't we have some variable initialized
 in the top of configure.in which trigger this default behavior?

If I understood what you are suggesting, I don't think so, because the
information is stored in several of the template files.  Well, you could, but
I don't think switching between template files is the right idea here.  Anyhow,
as I understand things, the change I am suggesting shouldn't break backwards
compatibility.  I just wanted to see if an Automake guru could confirm that I was
on the right track.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
That liberty [is pure] which is to go to all, and not to the few or the rich
alone.
- Thomas Jefferson to H. Gates, 1798.







Re: amtraces

2001-02-02 Thread Derek R. Price

"Derek R. Price" wrote:

 [EMAIL PROTECTED] wrote:

  On Fri, Feb 02, 2001 at 01:17:13PM -0500, Derek R. Price wrote:
   Akim Demaille wrote:
   that I certainly would like to toy with your implementation, I'd vote
   for an inclusion in Automake.  Do you have your papers?  :)

 No, actually.  I probably should too, seeing as I've been hacking on CVS for a
 couple of years now.  :)  Can someone send them to me?  I'd actually be
 interested in learning the maintainer side of the process too since I'm probably
 supposed to be doing some of this for CVS, if anyone could send me a link?

Ok, I found the link on gnu.org on how and why.  You can send me the set allowing
multiple contributions, and I need an empployer disclaimer.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I wouldn't bring up Paris right now.  It's poor salesmanship.

- Humphrey Bogart as Rick, _Casablanca_







patch: stamp-h? files in subdirs

2001-01-31 Thread Derek R. Price

stamp-h? files in subdirs are still being created in the wrong locations
by an automake configure script.  The problem was in AM_CONFIG_HEADERS.
I fixed it, but is dependent on the autoconf beta.  Patch attached.

I was thinking of attempting to eliminate the need for the recreation of
stamp-h? files in the Makefile.in targets, but it looked like a hassle
to get the quotes right in an m4 macro.  If there's interest in this,
let me know and I'll spend some more time on it.

* m4/header.m4 (AM_CONFIG_HEADERS): fix stamp-h creation to
occur in
the correct locations
(_AM_DIRNAME): helper function which basically implements an sh
`dirname` in m4
* automake.in (scan_one_autoconf_file): change the warning
exception
for AC_CONFIG_HEADERS to match the new m4/header.m4
* stamph2.test: new
* dirname.test: new

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
The cafeteria deep fryer is not a toy.
The cafeteria deep fryer is not a toy.
The cafeteria deep fryer is not a toy...

  - Bart Simpson on chalkboard, _The Simpsons_




? automake-1.4c-stamph.diff
? m4/acheader.m4.sav
? tests/stamph2.test
? tests/dirname.test
Index: ChangeLog
===
RCS file: /cvs/automake/ChangeLog,v
retrieving revision 1.963
diff -u -r1.963 ChangeLog
--- ChangeLog   2001/01/31 04:05:43 1.963
+++ ChangeLog   2001/01/31 19:10:27
@@ -1,3 +1,12 @@
+2001-01-31  Derek Price  [EMAIL PROTECTED]
+
+   * m4/header.m4 (AM_CONFIG_HEADERS): fix stamp-h creation to occur in
+   the correct locations
+   (_AM_DIRNAME): helper function which basically implements an sh
+   `dirname` in m4
+   * automake.in (scan_one_autoconf_file): change the warning exception
+   for AC_CONFIG_HEADERS to match the new m4/header.m4
+
 2001-01-30  Tom Tromey  [EMAIL PROTECTED]
 
* automake.in (scan_one_autoconf_file): Don't mention
Index: automake.in
===
RCS file: /cvs/automake/automake.in,v
retrieving revision 1.839
diff -u -r1.839 automake.in
--- automake.in 2001/01/31 04:00:45 1.839
+++ automake.in 2001/01/31 19:10:31
@@ -4576,7 +4576,7 @@
# means we are actually scanning AM_CONFIG_HEADER from
# aclocal.m4.
if (/A([CM])_CONFIG_HEADERS?\s*\((.*)\)/
-$2 ne '[$1]')
+$2 !~ /^_AM_File,/)
{
am_conf_line_error
($filename, $., "\`automake requires \`AM_CONFIG_HEADER', not 
\`AC_CONFIG_HEADER'")
Index: m4/header.m4
===
RCS file: /cvs/automake/m4/header.m4,v
retrieving revision 1.7
diff -u -r1.7 header.m4
--- m4/header.m42000/08/06 12:36:53 1.7
+++ m4/header.m42001/01/31 19:10:31
@@ -1,3 +1,5 @@
+# AM_CONFIG_HEADER(HEADERS..., [COMMANDS], [INIT-CMDS])
+# -
 # Like AC_CONFIG_HEADER, but automatically create stamp file.
 
 # serial 3
@@ -7,22 +9,33 @@
 # that is generated.  We must strip everything past the first ":",
 # and everything past the last "/".
 
-AC_PREREQ([2.12])
+AC_PREREQ([2.49c])
 
 AC_DEFUN([AM_CONFIG_HEADER],
-[AC_CONFIG_HEADER([$1])
-  AC_OUTPUT_COMMANDS(
-   ifelse(patsubst([$1], [[^ ]], []),
- [],
- [test -z "$CONFIG_HEADERS" || echo timestamp dnl
-  patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),
-  [am_indx=1
-  for am_file in $1; do
-case " $CONFIG_HEADERS " in
-*" $am_file "*)
-  echo timestamp  `echo $am_file | sed 's%:.*%%;s%[^/]*$%%'`stamp-h$am_indx
-  ;;
-esac
-am_indx=\`expr \$am_indx + 1\`
-  done])
-])
+[dnl init our file count if it isn't already
+m4_ifndef([_AM_Config_Header_Index], m4_define([_AM_Config_Header_Index], 
+[0]))
+dnl prepare to store our destination file list for use in config.status
+AC_FOREACH([_AM_File], [$1],
+   [m4_pushdef([_AM_Dest], m4_patsubst(_AM_File, [:.*]))
+   m4_define([_AM_Config_Header_Index], 
+m4_incr(_AM_Config_Header_Index))
+   dnl and add it to the list of files AC keeps track of, along
+   dnl with our hook
+   AC_CONFIG_HEADERS(_AM_File,
+dnl COMMANDS, [, INIT-CMDS]
+[# update the timestamp
+echo timestamp "AS_ESCAPE(_AM_DIRNAME(]_AM_Dest[))/stamp-h]_AM_Config_Header_Index["
+][$2]m4_ifval([$3], [, [$3]]))dnl AC_CONFIG_HEADERS
+   m4_popdef([_AM_Dest])])
+]) # AM_CONFIG_HEADER
+
+# _AM_DIRNAME(PATH)
+# -
+# Like AS_DIRNAME, only do it during macro expansion
+AC_DEFUN([_AM_DIRNAME],
+[m4_if(m4_regexp([$1], [^.*[^/]//*[^/][^/]*/*$]), -1,
+m4_if(m4_regexp([$1], [^//\([^/]\|$\)]), -1,
+  m4_if(m4_regexp([$1], [^/.*]), -1,
+

amtraces functionality

2001-01-31 Thread Derek R. Price

The amtraces functionality for AC_CONFIG_FILES is totally broken.
Anyone mind if I spend a few minutes on it?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I don't suffer from stress.  I'm a carrier.
- Scott Adam's _Dilbert_







Re: patch: stamp-h? files in subdirs

2001-01-31 Thread Derek R. Price

Tim Van Holder wrote:

 (_AM_DIRNAME): helper function which basically implements an sh
 `dirname` in m4
 Only have 1 problem with it: no support for DOS-style paths (and this is
 conveniently not tested in your dirname.test either :-P).

Yeah, sorry.  I noticed that, but I decided that if it was good enough for
AS_DIRNAME it was good enough for _AM_DIRNAME.  I stripped the regex verbatim
from AS_DIRNAME and figured if anyone ever updated AS_DIRNAME someone would
catch _AM_DIRNAME eventually.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not drive the principal's car.
I will not drive the principal's car.
I will not drive the principal's car...

  - Bart Simpson on chalkboard, _The Simpsons_







stamp files

2001-01-26 Thread Derek R. Price

Why do automake stamp targets go through all the trouble of creating a
temporary stamp file before executing config.status and then moving the
stamp file into the correct position?

thirdfile.h: stamp-h3
@if test ! -f $@; then \
rm -f stamp-h3; \
$(MAKE) stamp-h3; \
else :; fi
stamp-h3: $(srcdir)/thirdfile.h.in $(top_builddir)/config.status
@rm -f stamp-h3 stamp-h3T
@echo timestamp  stamp-h3T 2 /dev/null
cd $(top_builddir) \
   CONFIG_FILES= CONFIG_HEADERS=thirdfile.h \
 $(SHELL) ./config.status
@mv stamp-h3T stamp-h3

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not aim for the head.
I will not aim for the head.
I will not aim for the head...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: More an autopackage

2001-01-22 Thread Derek R. Price

Harlan Stenn wrote:

 Are there several issues here?

 The package maintainer has the package to worry about.

Aha!  Here's the crossed wire.  What I was envisioning was a package tool
designed such that most platforms wouldn't _need_ devoted package maintainers.
A single package maintainer using Autopackage could conceivably do all their
testing on a single platform once Autopackage and the associated Automake
support was finished and debugged (heh).

Then a user could download a source distrobution and blindly build and/or
install the platform specific package they require.  An aim worth working in
Bourne shell for, I'd think.

Someone who wished to make such a built package available for download and do
any other value add they desired (previously a package maintainer), could still
do so using this tool.  I expect those sort of people would still have work,
but hopefully it wouldn't be more than tweaking the packages or the AP tool
itself and more time could be devoted to real development.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not call my teacher "Hot Cakes".
I will not call my teacher "Hot Cakes".
I will not call my teacher "Hot Cakes"...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: More an autopackage

2001-01-19 Thread Derek R. Price

Tom Tromey wrote:

 Unfortunately, I don't think it is that easy.

 First, Makefile.am contents can be conditional on the particular
 configuration.  That is why you really want to deal with the
 post-configuration package (using `make') and not Makefile.am.

 Second, the more complex post-install scripts are generated by
 automake itself.  For instance, take a look at the hair required to
 install an info page.  It would be a pain for developers to have to
 insert this code by hand (if they even know it exists).

Good point, but the general design I pointed out should still hold.
Only the generated Makefile would be the source for the data needed for
spec file generation rather than the Makefile.am, whether that's passed
in or scanned.  The pre/post install hair should be scannable from the
Makefile as well, whether that's for a shared library or info.

The spec file source would want room for install hooks as well, still.
That way instructions for, say, taking a daemon down and up again could
be inserted before automake acquires a daemon target.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Teacher is not a leper.
Teacher is not a leper.
Teacher is not a leper...

  - Bart Simpson on chalkboard, _The Simpsons_







Another problem with BSD Make

2001-01-16 Thread Derek R. Price

It seems some BSD makes don't look through VPATH for targets either
(i.e. when they're not found in $(builddir) make assumes they are
missing and rebuilds).

Mostly this isn't a problem, but there are a few cases where it is.  For
example, info targets are rebuilt every time and I can't create a
*_TEXINFOS dependency that works from outside $(srcdir) for both a build
and a make dist without extra configure work.

The following configure.in code will discover if the bug is present and
set an AUTOMAKE conditional switch based on that:

# BSD's logo is a devil for a reason, hey?
AC_CACHE_CHECK(for BSD VPATH bug in make, ccvs_cv_bsd_make_vpath_bug,
[if test ! -d ac_test_dir ; then
AC_TRY_COMMAND([mkdir ac_test_dir])
fi
cat conftestmake EOF
VPATH = ac_test_dir
ac_test_target: ac_test_dep
echo BSD VPATH bug present 2
ac_test_dep: ac_test_dep_dep
EOF
touch ac_test_dir/ac_test_dep_dep
touch ac_test_dir/ac_test_dep
touch ac_test_target
# Don't know why, but the following test doesn't work under FreeBSD 4.2
# without this sleep command
sleep 1
if AC_TRY_COMMAND([make -f conftestmake 21 /dev/null
|grep ^BSD\ VPATH\ bug\ present\$ /dev/null]) ; then
ccvs_cv_bsd_make_vpath_bug=yes
else
ccvs_cv_bsd_make_vpath_bug=no
fi
AC_TRY_COMMAND([rm -rf ac_test_dir ac_test_target conftestmake])])
# We also don't need to worry about the bug when $srcdir = $builddir
AM_CONDITIONAL(MAKE_TARGETS_IN_VPATH, \
test $ccvs_cv_bsd_make_vpath_bug = no \
|| test $srcdir = .)



I used the above test to create a conditional target for my *_TEXINFOS,
but there's nothing I can do about the info_TEXINFOS targets without
sticking my fingers into the automake code again.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
#! perl
@a = ( 0x2E805,0x6B39,0x15B3,0x45993,0x153C,0x1D9F );
for ( @a ) { ( $s, $i )=( 'a', 0 ); $s++ while $i++  $_; print "$s" }







Re: Package support (RPM, deb, pkg, kits, etc.)

2001-01-16 Thread Derek R. Price

Tom Tromey wrote:

 The idea behind DOCUMENTATION is to provide a way to install README
 and the other stuff that ends up (eg) in /usr/doc/$PACKAGE.

Just a note, I believe the RedHat standard is /usr/share/doc now.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
There is not a truth existing which I fear or would wish unknown to the whole
world.
- Thomas Jefferson to Henry Lee, 1826







[PATCH] Another BSD make incompatibility

2001-01-03 Thread Derek R. Price

Found another bug in automake's support for dependencies using BSD's make.  This
one is based on the fact that BSD make doesn't allow comments to continue on the
next line using '\'.  I just hooked into the existing conditional machinery
instead of stuffing "\@AMDEP\@" as the first item in the DEP_FILES list, as used
to happen.

There're new RPMs at:


http://alumni.engin.umich.edu/~oberon/automake-1.4c-0_CVSHome_org_2.noarch.rpm
http://alumni.engin.umich.edu/~oberon/automake-1.4c-0_CVSHome_org_2.src.rpm

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I find that the harder I work, the more luck I seem to have.

- Thomas Jefferson




Index: automake.in
===
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.813
diff -u -r1.813 automake.in
--- automake.in 2000/12/23 21:05:21 1.813
+++ automake.in 2000/12/29 20:30:22
@@ -3030,7 +3031,7 @@
local ($iter);
local (@deplist) = sort keys %dep_files;
 
-   define_pretty_variable ('DEP_FILES', '', ("\@AMDEP\@", @deplist));
+   define_pretty_variable ('DEP_FILES', "\@AMDEP\@", @deplist);
 
# Generate each `include' individually.  Irix 6 make will
# not properly include several files resulting from a
Index: ChangeLog
===
RCS file: /cvs/automake/automake/ChangeLog,v
retrieving revision 1.929
diff -u -r1.929 ChangeLog
--- ChangeLog   2000/12/23 21:42:43 1.929
+++ ChangeLog   2000/12/29 20:38:49
@@ -1,3 +1,11 @@
+2000-12-29  Derek Price  [EMAIL PROTECTED]
+
+   * automake.in (handle_dependencies): switched the DEP_FILES definition
+   to use the pretty_print conditional machinery rather than shoving
+   "\@AMDEP\@" in as the first list element since BSD make doesn't seem to
+   be able to handle backslashes for continuing comments on the following
+   line
+
 2000-12-28  Derek Price  [EMAIL PROTECTED]
 
* NEWS (New in 1.4c): Added



[Fwd: Ultrix problem]

2000-12-28 Thread Derek R. Price

Whoops.  Missed a list.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
He who laughs last thinks slowest.





Harlan Stenn wrote:

  /bin/sh: BA: not found
  WARNING: `:' is needed, and you do not seem to have it handy on your
  system.  You might have modified some files without having the
  proper tools for further handling them.  Check the `README' file,
  it often tells you about the needed prerequirements for installing
  this package.  You may also peek at any GNU archive site, in case
  some other package would contain this missing `:' program.
  configure: WARNING: `missing' script is too old or missing

Hmmm That warning looks to me like it came from the 'missing' script, but I
haven't been here long.  The content of the warning looks like your Ultrix
system can't handle the ':' command.  I didn't realize ':' was passed through
'missing' but maybe configure does something similar.  I didn't think 'missing'
would run until build time.

Anyway, the Bourne shells (/bin/sh programs) I know of treat ':' like a noop.
It's used to confuse some systems that don't like 'if's without 'else's (if
there is no 'else', put one in with a command to do nothing (put in a ':'
(noop))).  Of course, I remember that was Ultrix they were placating, but
I can't find the comments I remember with a cursory code review, so I'm
confused.

Maybe someone ran 'missing' from 'configure' with a ':' (noop) as a command to
see if 'missing' present and working?  'missing' might expect its program to be
in your path, so if it's a shell builtin it might fail?  Just guessing.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
And what if you track down these men and kill them?  What if you murdered all
of us?  From every corner of Europe hundreds, thousands, would rise to take our
places.

- Paul Henreid as Victor Laszlo, _Casablanca_







Re: [Fwd: --add-missing]

2000-12-26 Thread Derek R. Price

Tom Tromey wrote:

 I wouldn't be averse to adding a `pdf' target so that `make pdf' works
 as expected.  Someone else would have to write it though since I don't
 know how.

It should be the exact target used for DVI except for the addition of a
'--pdf' switch to the texi2dvi command line.  I'm using the following,
stripped directly from my Automake generated Makefile.in's DVI targets,
but I didn't research enough to know if any of the constituent elements
(TEXINPUTS, MAKEINFO, makeinfo includes) vary with Makefile.am
parameters:

SUFFIXES = .aux .txt .pdf
# texinfo based targets automake neglects to include
.texinfo.pdf:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
  MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $
.txi.pdf:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
  MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $
.texi.pdf:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
  MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(TEXI2DVI) --pdf $

By the way, there may not be much demand for it any longer, but we have
legacy targets to generate ASCII versions of our manuals as well.  I'm
told they ocassionally came in handy for mailing:

.texinfo.txt:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
  MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $ --no-headers
-o $@
.txi.txt:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
  MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $ --no-headers
-o $@
.texi.txt:
TEXINPUTS=$(srcdir):$$TEXINPUTS \
  MAKEINFO='$(MAKEINFO) -I $(srcdir)' $(MAKEINFO) $ --no-headers
-o $@

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
This is the fourth?
- Thomas Jefferson's last words
(he died on the 4th of July)







Re: distributing files generated by configure

2000-12-26 Thread Derek R. Price

Raja R Harinath wrote:

 BTW, why do you need to 'configure' or 'sed' substitute a version
 number into a .c file -- you already have config.h which defines the
 symbol 'VERSION' to the version number string.

That's a good point.  They're there because I just converted this source to use
Automake and I hadn't considered that yet.  version.c is the name of the file where
the information was kept before Automake.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not torment the emotionally frail.
I will not torment the emotionally frail.
I will not torment the emotionally frail...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: distributing files generated by configure

2000-12-26 Thread Derek R. Price

"Derek R. Price" wrote:

 Raja R Harinath wrote:

  BTW, why do you need to 'configure' or 'sed' substitute a version
  number into a .c file -- you already have config.h which defines the
  symbol 'VERSION' to the version number string.

 That's a good point.  They're there because I just converted this source to use
 Automake and I hadn't considered that yet.  version.c is the name of the file where
 the information was kept before Automake.

Although a quick glance at what it would take to switch over reveals that I would have
to hook into the application's init functions or rewrite some code to change over
since the VERSION is being sed'd dirtectly into a global string.  I don't want to
worry about that yet.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I am not a 32 year old woman.
I am not a 32 year old woman.
I am not a 32 year old woman...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: BSD make and dependencies

2000-12-26 Thread Derek R. Price

Tom Tromey wrote:Derek Apparently BSD wants something like the following:

 Derek .include "file"
 Derek or
 Derek .include file

 Yuck.  Does make have -I options too?

Don't know.  I didn't actually have a BSD box until last week and I haven't
touched it over the last few days.  I'll ask the guy who reported this to me
in the first place too.  I'll let you know what I discover.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
The Christmas Pageant does not stink.
The Christmas Pageant does not stink.
The Christmas Pageant does not stink...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: [PATCH] etags support

2000-12-22 Thread Derek R. Price

Tom Tromey wrote:

  "Derek" == Derek R Price [EMAIL PROTECTED] writes:

 Hmm.  I'm running RH 6.2 and /usr/bin/etags is the GNU version:

I just looked into it and it looks like etags was distributed with the
version of emacs (20.5) that was distributed with RedHat 6.2.  They've
removed it from the emacs package since and by default install the ctags
package which contains Exuberent ctags, which doubles as an etags
implementation.  It turns out I upgraded to RedHat 7.0 and forgot.  :)


 I don't mind supporting some other version of tags, but I think it
 would be easiest if we just introduced a new target.

[snip]


 The `--lang=none' thing is definitely specific to the Emacs etags.
 That must appear in your Makefile.am though -- meaning that your
 Makefile.am was written to work with the Emacs etags.  This isn't an
 uncommon practice, either.

'--lang=x' isn't though.  Exuberent ctags looks like it was trying to
mimic the original.  Not sure why there are differences.


 Adding configure machinery for this seems like overkill.

I'm still not so sure about that.  The targets are extremely similiar and
the output file has the same name and is in the same format.  In theory,
both programs should produce identical output, with the '--lang=none'
exception noted above.

Derek
--
Derek Price  CVS Solutions Architect (
http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Always glad to share my ignorance - I've got plenty.






distclean-generic bug

2000-12-22 Thread Derek R. Price

The distclean-generic target is removing the following files:

stamp-h stamp-h[0-9]*

The listing of 'stamp-h[0-9]*' causes 'stamp-h[0-9].in' files to be
removed incorrectly.

And incidentally, it would be unecessary to list stamp-h if you applied
the stamp-h fix I sent to the list sometime in the last week or so
(stamp-h will then never be created - the bug was that it was often
created but not used).

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Conscious is what you are aware of and conscience is what you wish you
weren't.







distributing files generated by configure

2000-12-22 Thread Derek R. Price

I have several files which are generated by configure that I want three
things to happen to.

1) Created in $(srcdir) rather than $(builddir) or, alternately and
second best, targets added which make the $(srcdir) counterparts
dependent on the $(builddir) versions.  I don't like option 2 because a
lot of diffing and touching will have to be going on to avoid updating
unchanged files.
2) Removed from distclean
3) Added to dist

The reason for this is to allow platforms which can't run configure
(Win32) to checkout from our CVS repository and build as correctly as if
they had grabbed a generated distribution.  The premise is that any file
checked into CVS should be in $(srcdir) and should not be removed from
$(srcdir) by distclean.  Our version.c file is an example of one of
these files - it is now generated with configure based on the
AM_INIT_AUTOMAKE version.

#3 is easy, but it doesn't look like it is going to be easy to get the
first two.

Am I missing something?  Is there a prescribed way to do this?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
They are laughing at me, not with me.
They are laughing at me, not with me.
They are laughing at me, not with me...

  - Bart Simpson on chalkboard, _The Simpsons_







BSD make and dependencies

2000-12-22 Thread Derek R. Price

Is there any support in Automake for BSD make's style of includes?
Apparently BSD wants something like the following:

.include file

or

.include file

Where  and  have similiar meanings to what they would have in a C
program include.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Old heads as well as young may sometimes be charged with ignorance and
presumption.  The natural course of the human mind is certainly from credulity
to skepticism.
- Thomas Jefferson to Caspar Wistar, 1807







Re: ./configure .deps directory

2000-12-21 Thread Derek R. Price

Tom Tromey wrote:

  "Derek" == Derek R Price [EMAIL PROTECTED] writes:

 Derek Is there a good reason the configure script creates
 Derek $(top_builddir)/.deps during the test that sets $DEPDIR and
 Derek doesn't delete it again?  Besides some developer or other
 Derek needing sleep?  ;)

 Derek My distribution certainly doesn't seem to need that directory
 Derek sitting around...

 This directory is needed by the dependency tracking implementation.

 I agree though that this macro is mysterious.  Why doesn't it create
 `_deps' if that is what is chosen?

What's $(top_builddir)/.deps get used for when there aren't any C
sources in $(top_srcdir) or $(top_builddir)?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
One woman has hurt you and you'll take it out on the rest of the world?  You're
a coward and a weakling!

- Ingrid Bergman as Elsa, _Casablanca_







vtexi.test failing

2000-12-21 Thread Derek R. Price

vtexi.test is failing in the CVS automake.  I assume it broke due to the
recent vtexi behavior change.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
[Let us] go on in doing with [the] pen what in other times was done with the
sword, [and] show that reformation is more practicable by operating on the mind
than on the body of man.

- Thomas Jefferson to Thomas Paine, 1792







New version of RPMs

2000-12-21 Thread Derek R. Price

I added the etags support to my RPMs:


http://alumni.engin.umich.edu/~oberon/automake-1.4a-0_CVSHome_org_5.src.rpm


http://alumni.engin.umich.edu/~oberon/automake-1.4a-0_CVSHome_org_5.src.rpm

Derek
--
Derek Price  CVS Solutions Architect (
http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
He always has.

  - Humphrey Bogart as Rick, _Casablanca_






Re: vtexi.test failing

2000-12-21 Thread Derek R. Price

"Derek R. Price" wrote:

 vtexi.test is failing in the CVS automake.  I assume it broke due to the
 recent vtexi behavior change.

I just looked and I was right.  The fix was simple - the test simply wasn't
expecting the $(srcdir)/ prefix on version.texi.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
This score just in: OS/2, Windows 95, LinuxPPC 2000.




Index: vtexi.test
===
RCS file: /cvs/automake/automake/tests/vtexi.test,v
retrieving revision 1.4
diff -u -r1.4 vtexi.test
--- vtexi.test  1997/02/23 19:41:20 1.4
+++ vtexi.test  2000/12/21 20:54:44
@@ -24,4 +24,4 @@
 
 $AUTOMAKE || exit 1
 
-grep '^textutils\.info: textutils\.texi version\.texi$' Makefile.in
+grep '^textutils\.info: textutils\.texi $(srcdir)/version\.texi$' Makefile.in



Re: [PATCH] etags support

2000-12-21 Thread Derek R. Price

Raja R Harinath wrote:

  I added a macro to test for the presence of etags and whether it
  supports "--etags-include=file" or "-i file" for includes.

 If Exuberent etags is supposed to be a drop-in replacement for Emacs
 etags, it should support the same options.  Otherwise, it is a bug in
 the distribution if it gives you a "non-standard" etags (you can call
 the Emacs etags the "standard").

Well, there is a precedent in the support for different compiler options and
I don't want to waste the time of potential CVS developers because they
couldn't get their TAGS file built.  A lot of CVS users are installing on
RedHat Linux at the moment.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Were it left for me to decide whether we should have a government without
newspapers, or newspapers without a government, I should not hesitate a moment
to prefer the latter.
- Thomas Jefferson
(appeared http://hotwired.lycos.com/special/lawsuit/ )







Re: New version of RPMs

2000-12-21 Thread Derek R. Price

"Derek R. Price" wrote:

 "Derek R. Price" wrote:

  I added the etags support to my RPMs:

 I regenerated them again using todays version of the CVS Automake since the
 failing vtexi.test wasn't a bug.

And one more try.  etags.m4 wasn't being installed re my recent email.
Regenerated.

http://alumni.engin.umich.edu/~oberon/automake-1.4a-0_CVSHome_org_7.noarch.rpm

http://alumni.engin.umich.edu/~oberon/automake-1.4a-0_CVSHome_org_7.src.rpm

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not prescribe medication.
I will not prescribe medication.
I will not prescribe medication...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: BOUNCE pdftex@tug.org: Non-member submission from [Derek R. Price derek.price@openavenue.com]

2000-12-20 Thread Derek R. Price

Raja R Harinath wrote:

  directory from the same source files, this would disable either the building
  of PDFs or it would disable everything else.

 Actually, new versions of texinfo.tex from ftp.gnu.org seem to not
 need a special pdftexinfo.tex.

Yep.  That seems to have done the trick as far as I'm concerned. 
*.info, *.ps,
and *.pdf all build and pass cursory inspection, anyhow.

Of course, now my users can miss upgrades to the distributed version of
texinfo.tex and possibly useful changes in their tex distribution's
operation,
but I guess I can confine that argument to the Automake folks and
Richard
Stallman for awhile.  :)

Derek

--
Derek Price  CVS Solutions Architect (
http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
All work and no play makes Bart a dull boy.
All work and no play makes Bart a dull boy.
All work and no play makes Bart a dull boy...

  - Bart Simpson on chalkboard, _The Simpsons_




Re: BOUNCE pdftex@tug.org: Non-member submission from [Derek R. Price derek.price@openavenue.com]

2000-12-19 Thread Derek R. Price

Sebastian Rahtz wrote:

 [EMAIL PROTECTED] writes:
  
   Assuming I have a texinfo.tex  a pdftexinfo.tex, both in '.', is there
   some command that will allow 'texi2dvi foo.texi' and 'texi2dvi --pdf
   foo.texi' to each find the appropriate texinfo.tex?
  

 surely the simpler answer is to put pdftexinfo.tex into the
 texmf/pdftex tree, and call it texinfo.tex?

Actually, yeah, and that was my solution, but I was trying to help out the
Automake folks who got me into this mess in the first place.  :)

Basically, the issue is that the GNU coding standards state that the
texinfo.tex you built your docs with should be included with a source
distribution so that an end user is sure to be able to build your docs too.
So Automake attempts to force this issue and copy its texinfo.tex into any
directory where docs are built unless it is overridden.  Unfortunately, if
you are attempting to build both PDFs and other types of output in the same
directory from the same source files, this would disable either the building
of PDFs or it would disable everything else.

Anyway, I was hoping for a solution compatible with the current GNU coding
standard short of putting pdftexinfo.tex  texinfo.tex in different
directories and overriding the TEXINPUTS path dependent on the target or
barbarically renaming the files before calling texi2dvi.  Aesthetically,
I think coding the filename switch inside the *texi source file would be most
pleasing, as the Makefile structure never has to distinguish between targets
except to supply the --pdf switch, and being able to specify a complete path
to a *texinfo.tex on the command line would be second best since it would
avoid the forced creation of extra directories.

Of course, a local structure mirroring the texmf tree structure which allowed
KPATHSEA to do most of the work without changes might be the most elegant.
Is any of this possible?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Conscious is what you are aware of and conscience is what you wish you
weren't.







[PATCH] m4/header.m4 bug

2000-12-15 Thread Derek R. Price

There was a bug in m4/header.m4 (AM_CONFIG_HEADER) which was causing
configure  config.status to create a $(top_builddir)/stamp-h file for
every header file instead of the $(top_builddir)/$(subdir)/stamp-h$index
file it was supposed to create.  Basically, a few shell metachars which
were supposed to be interpreted in config.status were being interpreted
in configure instead and leaving blank spots in config.status.  The
stamp files were still being created in the correct places in the
Makefile.ins  Makefiles, so it wasn't a fatal bug, but I fixed it
anyway.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Southern DOS: Y'all reckon? (yep/Nope)




Index: ChangeLog
===
RCS file: /cvs/automake/automake/ChangeLog,v
retrieving revision 1.910
diff -u -r1.910 ChangeLog
--- ChangeLog   2000/11/26 22:11:20 1.910
+++ ChangeLog   2000/12/15 19:55:12
@@ -1,3 +1,8 @@
+2000-12-15  Derek Price  [EMAIL PROTECTED]
+
+   * m4/header.m4 (AM_CONFIG_HEADER): This macro was broken due to
+   unescaped shell metachars
+
 2000-12-05  Derek Price  [EMAIL PROTECTED]
 
* automake.in (require_file_with_conf_line,
Index: m4/header.m4
===
RCS file: /cvs/automake/automake/m4/header.m4,v
retrieving revision 1.7
diff -u -r1.7 m4/header.m4
--- m4/header.m42000/08/06 12:36:53 1.7
+++ m4/header.m42000/12/15 19:49:31
@@ -18,9 +18,9 @@
   patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),
   [am_indx=1
   for am_file in $1; do
-case " $CONFIG_HEADERS " in
-*" $am_file "*)
-  echo timestamp  `echo $am_file | sed 's%:.*%%;s%[^/]*$%%'`stamp-h$am_indx
+case " \$CONFIG_HEADERS " in
+*" \$am_file "*)
+  echo timestamp  \`echo \$am_file | sed 's%:.*%%;s%[^/]*\$%%'\`stamp-h\$am_indx
   ;;
 esac
 am_indx=\`expr \$am_indx + 1\`



Re: depcomp fix rpm'd

2000-12-15 Thread Derek R. Price

I tacked in the AM_CONFIG_HEADER stamp-h fix too.  The current RPMs are now:

http://alumni.engin.umich.edu/~oberon/automake-1.4a-0_CVSHome_org_3.noarch.rpm

http://alumni.engin.umich.edu/~oberon/automake-1.4a-0_CVSHome_org_3.src.rpm

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
He who laughs last thinks slowest.

"Derek R. Price" wrote:

 I built RPMs out of the CVS automake and with my fix for the depcomp
 behavior.  I figured I'd post them in case anybody wants them.  The RPM
 source is almost identical to RedHat's 1.4 automake with some patches
 removed that wouldn't apply anymore and the depcomp patch added.  I'm
 not sure what the two patches I removed did, but I kept them in the
 source RPM in case anybody wants a look.  The build source is the
 current CVS automake as of 20 minutes ago.

 http://alumni.engin.umich.edu/~oberon/automake-1.4a-0_CVSHome_org_2.noarch.rpm

 http://alumni.engin.umich.edu/~oberon/automake-1.4a-0_CVSHome_org_2.src.rpm

 Derek

 --
 Derek Price  CVS Solutions Architect ( http://CVSHome.org )
 mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
 --
 It is error alone which needs the support of government.  Truth can stand by
 itself.
 - Thomas Jefferson





[PATCH] Re: [PATCH] m4/header.m4 bug

2000-12-15 Thread Derek R. Price

Here's the same patch again with a test case thrown in.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Nor was it uninteresting to the world that an experiment should be fairly and
fully made whether freedom of discussion, unaided by power, is not sufficient
for the propagation and protection of truth: whether a government conducting
itself in the true spirit of its constitution with zeal and purity and doing no
act which it would be unwilling the whole world should witness can be written
down by falsehood and defamation.  The experiment has been tried; [we] have
witnessed the scene; our fellow citizens have looked on, cool and collected.
They saw the latent source from which these outrages proceeded; they gathered
around their public functionaries, and when the Constitution called them to the
decision by suffrage, they pronounced their verdict, honorable to those who had
served them and consolatory to the friend of man who believes he may be
intrusted with his own affairs.

- Thomas Jefferson; 2nd Inaugural Address, 1805

"Derek R. Price" wrote:

 There was a bug in m4/header.m4 (AM_CONFIG_HEADER) which was causing
 configure  config.status to create a $(top_builddir)/stamp-h file for
 every header file instead of the $(top_builddir)/$(subdir)/stamp-h$index
 file it was supposed to create.  Basically, a few shell metachars which
 were supposed to be interpreted in config.status were being interpreted
 in configure instead and leaving blank spots in config.status.  The
 stamp files were still being created in the correct places in the
 Makefile.ins  Makefiles, so it wasn't a fatal bug, but I fixed it
 anyway.

 Derek

 --
 Derek Price  CVS Solutions Architect ( http://CVSHome.org )
 mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
 --
 Southern DOS: Y'all reckon? (yep/Nope)


Index: ChangeLog
===
RCS file: /cvs/automake/automake/ChangeLog,v
retrieving revision 1.910
diff -u -r1.910 ChangeLog
--- ChangeLog   2000/11/26 22:11:20 1.910
+++ ChangeLog   2000/12/15 19:55:12
@@ -1,3 +1,8 @@
+2000-12-15  Derek Price  [EMAIL PROTECTED]
+
+   * m4/header.m4 (AM_CONFIG_HEADER): This macro was broken due to
+   unescaped shell metachars
+
 2000-12-05  Derek Price  [EMAIL PROTECTED]
 
* automake.in (require_file_with_conf_line,
Index: m4/header.m4
===
RCS file: /cvs/automake/automake/m4/header.m4,v
retrieving revision 1.7
diff -u -r1.7 m4/header.m4
--- m4/header.m42000/08/06 12:36:53 1.7
+++ m4/header.m42000/12/15 19:49:31
@@ -18,9 +18,9 @@
   patsubst([$1], [^\([^:]*/\)?.*], [\1])stamp-h]),
   [am_indx=1
   for am_file in $1; do
-case " $CONFIG_HEADERS " in
-*" $am_file "*)
-  echo timestamp  `echo $am_file | sed 's%:.*%%;s%[^/]*$%%'`stamp-h$am_indx
+case " \$CONFIG_HEADERS " in
+*" \$am_file "*)
+  echo timestamp  \`echo \$am_file | sed 's%:.*%%;s%[^/]*\$%%'\`stamp-h\$am_indx
   ;;
 esac
 am_indx=\`expr \$am_indx + 1\`
--- /dev/null   Thu Aug 24 05:00:32 2000
+++ tests/stamph2.test  Fri Dec 15 15:57:48 2000
@@ -0,0 +1,29 @@
+#! /bin/sh
+
+# Make sure stamp-h* files are created where we expect
+
+. $srcdir/defs || exit 1
+
+cat  configure.in  'END'
+AC_INIT(Makefile.am)
+AM_INIT_AUTOMAKE(nonesuch, nonesuch)
+AM_CONFIG_HEADER(firstfile.h sdir/secondfile.h thirdfile.h)
+AC_OUTPUT(Makefile)
+END
+
+:  Makefile.am
+mkdir sdir
+:  firstfile.h.in
+:  sdir/secondfile.h.in
+:  thirdfile.h.in
+
+# Fail gracefully if no autoconf.
+(autoconf --version)  /dev/null 21 || exit 77
+
+$ACLOCAL || exit 1
+autoconf || exit 1
+$AUTOMAKE || exit 1
+./configure || exit 1
+
+(test -f stamp-h1  test -f sdir/stamp-h2  test -f stamp-h3) || exit 1
+exit 0
Index: tests/ChangeLog
===
RCS file: /cvs/automake/automake/tests/ChangeLog,v
retrieving revision 1.308
diff -u -r1.308 tests/ChangeLog
--- tests/ChangeLog 2000/11/26 01:37:30 1.308
+++ tests/ChangeLog 2000/12/15 21:02:11
@@ -1,3 +1,8 @@
+2000-12-15  Derek Price  [EMAIL PROTECTED]
+
+   * stamph2.test: new file
+   * Makefile.am (TESTS): Added stamph2.test
+
 2000-12-05  Derek Price  [EMAIL PROTECTED]
 
* depcomp.test: New File
Index: tests/Makefile.am
===
RCS file: /cvs/automake/automake/tests/Makefile.am,v
retrieving revision 1.239
diff -u -r1.239 tests/Makefile.am
--- tests/Makefile.am   2000/11/26 01:37:30 1.239
+++ tests/Makefile.am   2000/12/15 21:02:12
@@ -221,6 +222,7 @@
 spell3.test \
 spelling.test \
 stamph.test \
+stamph2.test \
 stdlib.test \
 subdir.test \
 subdir2.test \



Re: bug: depcomp misplaced

2000-12-06 Thread Derek R. Price

"Derek R. Price" wrote:

 2)  In the case of $config_aux_dir, I removed all the switches on '.' and '' and
 replaced three with a switch on a new variable $config_aux_dir_set_in_configure_in
 (yeah, I know that's a little long, but it sure is easy to interpret) which is set
 when AC_CONFIG_AUX_DIR is noticed initially since it seemed a little silly to
 check _every_ use of $config_aux_dir for '.' and '' for only three places which
 wanted to look in a local directory rather than use AC_CONFIG_AUX_DIR's actual
 value.

I should have specified $config_aux_dir rather than AC_CONFIG_AUX_DIR in the last 
reference of
this explanation, as the code sets $config_aux_dir to one of the default locations (it 
could be
'.', '..', or '../..', depending on where the first config file is found) and _this_ 
is what the
code which now switches on $config_aux_dir_set_in_configure_in is avoiding.  If 
AC_CONFIG_AUX_DIR
was used that code will use the specified value.  Hence the variable name.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
There are plenty of businesses like show business.
There are plenty of businesses like show business.
There are plenty of businesses like show business...

  - Bart Simpson on chalkboard, _The Simpsons_







bug: depcomp misplaced

2000-12-04 Thread Derek R. Price

The CVS automake, using --add-missing and not using AC_CONFIG_AUX_DIR,
is placing depcomp in whatever directory it first encounters C files in
then looking for it during configure in $(top_srcdir).

The problem appears to start on line 3054 of automake.in (in the
handle_dependencies function):

# Set location of depcomp.
local ($prefix) = ($config_aux_dir_specified ? $config_aux_dir
: '$(top_srcdir)');

define_variable ('depcomp', "\$(SHELL) $prefix/depcomp");

require_config_file ($FOREIGN, 'depcomp');

I'm not sure what the complete solution is, but it looks like
handle_dependencies isn't called until the first C file is encountered,
at which point require_config_file adds depcomp to '.' (which could be
a subdir of $(top_srcdir)), ignoring the fact that it just defined the
depcomp variable to '$(top_srcdir)/depcomp'.

My workaround was to copy depcomp into $(top_srcdir) myself and remove
the other copies.  After that everything worked like I thought it
should.  From my scan of the code, it looks like using the
AC_CONFIG_AUX_DIR macro in configure.in might also make things work, but
I never tested that theory.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
Computer Lie #1: You'll never use all that disk space.







Re: bug: depcomp misplaced

2000-12-04 Thread Derek R. Price

Unfortunately, not quite.  This causes depcomp to be incorrectly pushed
onto DIST_COMMON in the sudir/Makefile.in when maybe_push_required_file
gets called by require_file_internal.  Basically,
maybe_push_required_file expects $relative_dir to be set right and pushes
its file onto DIST_COMMON if $relative_dir/$file exists.  Unfortunately
$relative_dir gets set back to normal after require_config_file returns
and then DIST_COMMON gets written out into the wrong Makefile.in.  Or,
rather, the correct Makefile.in but containing the wrong 'depcomp'
reference.  I'm too tired and hungry to try and decipher any more right
now.  Anyone have any better ideas?

I've included my patch containing what I have so far since it fixes some
tests which should be fixed in case anyone wants to take a look before
I wake up from my nap and get something to eat.  Or in case I find
something better to do since I do have that workaround and other things
I could be working on.  pr87.test and subdir4.test are still failing
because of this.  Sorry about the rewritten toplevel Makefile.in, but
I figured I might as well include it since it gets rewritten on the first
make after a fresh checkout right now anyhow.  Oh, and I removed a hack
from automake.in that became unnecessary after $relative_dir was
redefined for require_config_file.  Or what should still be an
unnecessary hack after this problem gets fixed.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
82. Hold a hard drive to your ear -- listen to the C.

Raja R Harinath wrote:

 "Derek R. Price" [EMAIL PROTECTED] writes:
  The problem appears to start on line 3054 of automake.in (in the
  handle_dependencies function):
 
  # Set location of depcomp.
  local ($prefix) = ($config_aux_dir_specified ? $config_aux_dir
  : '$(top_srcdir)');
 
  define_variable ('depcomp', "\$(SHELL) $prefix/depcomp");
 
  require_config_file ($FOREIGN, 'depcomp');

 I remember that playing around with $relative_dir worked at some time.
 I don't have CVS automake checked out right now, but can you try
 replacing the last line above

require_config_file ($FOREIGN, 'depcomp');

 with the following hack

local ($save_dir) = ($relative_dir);
$relative_dir = '.';
require_config_file ($FOREIGN, 'depcomp');
$relative_dir = $save_dir;

 - Hari
 --
 Raja R Harinath -- [EMAIL PROTECTED]
 "When all else fails, read the instructions."  -- Cahn's Axiom
 "Our policy is, when in doubt, do the right thing."   -- Roy L Ash


? automake/automake-1.4a.tar.gz
Index: automake/Makefile.in
===
RCS file: /cvs/automake/automake/Makefile.in,v
retrieving revision 1.240
diff -u -r1.240 Makefile.in
--- Makefile.in 2000/11/18 23:58:24 1.240
+++ Makefile.in 2000/12/04 23:25:35
@@ -1,6 +1,7 @@
 # Makefile.in generated automatically by automake 1.4a from Makefile.am
 
-# Copyright (C) 1994, 1995-9, 2000 Free Software Foundation, Inc.
+# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000
+# Free Software Foundation, Inc.
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -314,6 +315,7 @@
rm -f $$i-[0-9]*; \
  fi; \
done
+
 
 install-dist_pkgdataDATA: $(dist_pkgdata_DATA)
@$(NORMAL_INSTALL)
Index: automake/automake.in
===
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.803
diff -u -r1.803 automake.in
--- automake.in 2000/11/26 01:39:48 1.803
+++ automake.in 2000/12/04 23:25:39
@@ -3042,22 +3042,17 @@
local ($config_aux_dir_specified) = ($config_aux_dir ne '.'
  $config_aux_dir ne '');
 
-   # Set $require_file_found{'depcomp'} if the depcomp file exists,
-   # before calling require_config_file on `depcomp'.  This makes
-   # require_file_internal skip its buggy existence test that would
-   # make automake fail (with `required file `lib/depcomp' not found')
-   # when AC_CONFIG_AUX_DIR is not set.  See tests/subdir4.test.
-   local ($depcomp_dir) = ($config_aux_dir_specified ? $config_aux_dir
-   : '.');
-   $require_file_found{'depcomp'} = 1 if -f "$depcomp_dir/depcomp";
-
# Set location of depcomp.
local ($prefix) = ($config_aux_dir_specified ? $config_aux_dir
   : '$(top_srcdir)');
 
define_variable ('depcomp', "\$(SHELL) $prefix/depcomp");
 
+   # set $relative_dir so depcomp gets installed in $top_srcdir
+   lo

defining recursive targets

2000-11-15 Thread Derek R. Price

is there some easy (i.e. not involving hacking) way to define a new
recursive target?  e.g.:

RECURSIVE_TARGETS = remotecheck

which would shove remotecheck-recursive into the list with generated
targets all-recursive, check-recursive, install-recursive, etc. and add
a remotecheck  remotecheck-local in each Makefile.in?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
160. I'm not a complete idiot - several parts are missing.







[Fwd: --add-missing]

2000-11-14 Thread Derek R. Price

Yep.  Looks like that could be used by configure to set, say,
TEX_TEXINPUTS  PDFTEX_TEXINPUTS and prepend include dirs differently
for different targets, but I suspect that if your TeX distribution
includes kpsewhich then your TeX applications can already find the
appropriate texinfo.tex.

Of course, I suppose this could still be used to find a more recent
texinfo.tex than was included with your automake distribution, which
would work slightly better than including an out-of-date texinfo.tex,
but the included texinfo.tex will still render PDF targets unbuildable
since texi2dvi will, by default, prefer a texinfo.tex in '.' over one
elsewhere.

In other words, a complete solution is probably some combination of
these two, so that TEX_TEXINPUTS or PDFTEX_TEXINPUTS is used when
available and the included texinfo.tex is used when the appropriate
texinfo.tex can't be found.

This is a little more work, but it seems much less baroque than mv'ing
texinfo.tex out of the way when a better one is found.  Then again,
maybe you can find a way to make that work.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
... one of the main causes of the fall of the Roman Empire was that,
lacking zero, they had no way to indicate successful termination of their C
programs.

- Robert Firth





Hi,

"Derek R. Price" [EMAIL PROTECTED] writes:
 Alexandre Oliva wrote:
  On Nov 13, 2000, "Derek R. Price" [EMAIL PROTECTED] wrote:
   Okay, is there some way short of symlinking the
   /usr/share/automake/texinfo.tex file by hand to make sure that automake
   --add-missing uses the "proper" texinfo.tex file (i.e. the one installed
   with the texinfo package and assumedly the most recent one)?
 
  I'm afraid not.  Any suggestions about how automake could find out
  where texinfo.tex from the texinfo package is installed, assuming it
  is?
 
 Well, after sifting the documentation for my distribution for several hours,
 I have discovered the "texmf.cnf" file.  It appears to define all sorts of
 possible search paths dependant on the format of your input and output files.

Assuming you're using teTeX (likely for most recent UNIX TeX
installations), you look for things using the 'kpsewhich' program,
like in

  kpsewhich texinfo.tex

The texmf.cnf file should be treated as an internal detail.

- Hari
-- 
Raja R Harinath -- [EMAIL PROTECTED]
"When all else fails, read the instructions."  -- Cahn's Axiom
"Our policy is, when in doubt, do the right thing."   -- Roy L Ash




Default clean files

2000-11-13 Thread Derek R. Price

I'm in the middle of an attempt to convert CVS to use automake but I'm
having some trouble.  Is there some way to selectively override clean
targets created by default for info targets without having to specify
the entire clean target manually?

I specified

info_TEXINFOS = cvs.texinfo cvsclient.texi

and it seems to be creating a clean target that removes the 'cvs.ps'
file despite the fact that 'cvs.ps' is listed in EXTRA_DIST.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
If genius is one percent inspiration and 99 percent perspiration, I
sure wind up sharing elevators with a lot of bright people.







--add-missing

2000-11-13 Thread Derek R. Price

Okay, is there some way short of symlinking the
/usr/share/automake/texinfo.tex file by hand to make sure that automake
--add-missing uses the "proper" texinfo.tex file (i.e. the one installed
with the texinfo package and assumedly the most recent one)?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
When you find yourself getting irritated with someone, try to remember
that all men are brothers...  a noogie or an Indian burn should do the
trick.







Re: texinfo.tex

2000-11-13 Thread Derek R. Price

"Derek R. Price" wrote:

 Why does AM require that texinfo.tex be included in the distribution in
 the first place?  It is installed with tex distributions by default
 anyhow, isn't it?  Its presence screws up my PDF target, which needs to

Okay, I found the no-texinfo.tex option to disable this behavior, but is there any
reason this is ever desirable?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
170. If you try to fail, and succeed, which have you done?







Re: Targets using automake

2000-11-03 Thread Derek R. Price

This same applies to targets using autoconf  autoheader.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
A burp is not an answer.
A burp is not an answer.
A burp is not an answer...

  - Bart Simpson on chalkboard, _The Simpsons_

"Derek R. Price" wrote:

 Automake seems to be creating targets by default that make use of
 automake whether or not the user has automake installed.  Timestamps
 seem to get fouled up in distribution often enough that I think this is
 very bad from a maintenance viewpoint (more questions to answer) and
 very rude to users.

 Is there some way to place any targets which make use of automake inside
 a conditional?  i.e. I want the fact that configure discovers that
 automake is not installed to disable the use of automake in any targets
 which might use them.  In this case that seems to mean the distdir
  Makefile.in targets.  I would actually only like the portion of the
 distdir target that recalls automake inside the conditional since
 I would like the target to work otherwise.

 This could be a very useful tool but without this feature I cannot use
 it in good conscience.

 Derek

 --
 Derek Price  CVS Solutions Architect ( http://CVSHome.org )
 mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
 --
 If you can read this, please flip me back over... (seen upside down, on a Jeep)





Re: Targets using automake

2000-11-03 Thread Derek R. Price

Akim Demaille wrote:

  "Derek" == Derek R Price [EMAIL PROTECTED] writes:

 Derek This could be a very useful tool but without this feature I
 Derek cannot use it in good conscience.

 What's wrong with the `missing' approach?  What version of Automake
 are you using?  I'm using CVS Automake for my package, and never found
 such problem.

 And I'm totally against AM_MAINTAINER_MODE :)

What's the 'missing' approach?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I am not deliciously saucy.
I am not deliciously saucy.
I am not deliciously saucy...

  - Bart Simpson on chalkboard, _The Simpsons_





Re: Targets using automake

2000-11-03 Thread Derek R. Price

Paul Berrevoets wrote:

 This should already be taken care of by the macro AM_MAINTAINER_MODE. If you use:
 ./configure --enable-maintainer-mode
 then the autoconf/automake targets are enabled. They should be disabled by default.

Doesn't it make more sense to enable/disable the targets based on whether the tools
are installed as opposed to a command line switch???

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I am not deliciously saucy.
I am not deliciously saucy.
I am not deliciously saucy...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: Targets using automake

2000-11-03 Thread Derek R. Price

Akim Demaille wrote:

 What's wrong with the `missing' approach?  What version of Automake
 are you using?  I'm using CVS Automake for my package, and never found
 such problem.

Oh, Version 1.4.  And what's 'CVS Automake' as opposed to automake?

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED]  OpenAvenue ( http://OpenAvenue.com )
--
All work and no play makes Bart a dull boy.
All work and no play makes Bart a dull boy.
All work and no play makes Bart a dull boy...

  - Bart Simpson on chalkboard, _The Simpsons_







Re: Targets using automake

2000-11-03 Thread Derek R. Price

Akim Demaille wrote:

 What's wrong with the `missing' approach?

I ran automake the first time without the '--add-missing' argument so
when it told me it wouldn't run because "AUTHORS" and "missing" weren't
present I simply touched the files in expectation of figuring out what
GNU wanted of me later and thus when I uninstalled automake to test the
new Makefile everything broke.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
The advertisement is the most truthful part of the paper.

- Thomas Jefferson







*-local targets

2000-11-03 Thread Derek R. Price

Is there some reason that *-local targets aren't always valid when their
parent exists?  I wanted to define distclean-hdr-local to remove
options.h-SAVED as well as options.h, but I can't seem to get it to
work.

Derek

--
Derek Price  CVS Solutions Architect ( http://CVSHome.org )
mailto:[EMAIL PROTECTED] OpenAvenue ( http://OpenAvenue.com )
--
I will not conduct my own fire drills.
I will not conduct my own fire drills.
I will not conduct my own fire drills...

  - Bart Simpson on chalkboard, _The Simpsons_