Re: BSD Make

2001-04-11 Thread Tom Tromey

> "Larry" == Larry Jones <[EMAIL PROTECTED]> writes:

Larry> It works save for one bug:

Grr.  Thanks for testing this.

Tom




Re: 82-lang-finish.patch

2001-04-11 Thread Tom Tromey

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

>> How hard is it going to be to move from the current object
>> implementation to the one we really want?

Akim> You want me to read in dead animals bodies :)

Well, dead vegetables anyway.

Akim> In short, reifying automake, I don't know.  Reifying languages,
Akim> macros and rules, yes! definitely!

Really I was just asking a syntactical question.  But I looked around
at some of my own Perl code that uses the object system, and I think I
answered my own question.  Basically I wanted to know if the 82- patch
and other Language patches were evolutionarily forward steps or steps
into a dead end.  And now I think they are the former.

So this patch is ok.

Tom




Re: 88-file-contents-include.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (@conditional_stack): Rename as...
Akim>   (@cond_stack): this.
Akim>   (&file_contents_internal): Support inclusion of files.

This patch is ripe for justification.  I assume this is just another
precursor to merging the two file readers?

Anyway, this patch is fine.  I just don't understand why we want it.

Tom




Re: 86-lang-lang.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (&finish_languages, &handle_single_transform_list)
Akim>   (&add_depend2, &handle_dependencies): No longer use the language
Akim>   name in `$lang'.  Rename `$lang_obj' as `$lang'.

Ok.

Tom




Re: 84-lang-output_arg.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (®ister_language): Rename `output-arg' as
Akim>   `output_arg' to match the Language attribute.
Akim>   Set the defaults in %options instead of $lang.

This should say `%option', not `%options'.
This is ok.

Tom




Re: 85-lang-new-hash.patch

2001-04-11 Thread Tom Tromey

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

Akim> The patch is really a proposal: it relies on a modified version of
Akim> Perl 5.6's Class::Struct.  The modification are minimal, and just
Akim> ensure that it works with 5.005:

I like this but we can't use it until the licensing is worked out.
Keeping this ugly is not a big burden.

Tom




Re: 83-lang-name.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (Language): Add attribute `name.
Akim>   (®ister_language): The name of the language is now given in the
Akim>   hash.
Akim>   No longer use `$lang' as the name of the language.
Akim>   Rename `$lang_obj' as `$lang'.

Ok

Tom




Re: 90-header-include-data.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (&am_install_var): Transform `ONE_PRIMARY'.
Akim>   * data.am: Use it.
Akim>   * header.am: Include data.am.

Ok.

All is clear now, thanks.

Tom




Re: 87-lang-extenions.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (&lang_extensions): Remove.
Akim>   (&add_depend2, &saw_sources_p): Adjust.
Akim>   * depend2.am: `%EXT%' no longer includes the dot.

Ok.

Tom




Re: 91-handle-java-python-lisp.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (&handle_emacs_lisp): Be like &handle_python, i.e.,
Akim>   return if there are no files, hook elist-comp on the Autoconf
Akim>   macro, rely on lisp.am to define variables.
Akim>   (&handle_python, &handle_java): Likewise.
Akim>   (&scan_one_autoconf_file): Pseudo AC_SUBST of `pythondir' and
Akim>   `PYTHON' must be handled here, not in `&handle_python'.
Akim>   * java.am: Define needed variables and rules.

This patch changes the java handling.

The old definitions:

Akim> -&define_variable ('JAVAC', 'javac');
Akim> -&define_variable ('JAVACFLAGS', '');

The new ones:

Akim> +JAVAC = @JAVAC@
Akim> +JAVACFLAGS = @JAVACFLAGS@

These shouldn't change.

Otherwise the patch is fine.

Tom




Re: 89-transform-primary.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (&am_install_var): Transform `PRIMARY'.
Akim>   * data.am: Equip with %PRIMARY%.

Ok.
I assume this is working up to something?

Tom




Re: 97-am-init-automake.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in ($seen_make_set, $seen_prog_install)
Akim>   ($seen_arg_prog): Remove.
Akim>   (&handle_programs, &handle_scripts, &scan_one_autoconf_file):
Akim>   Remove related code.

Ok.

Tom




Re: 96-ac-path-xtra.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in ($seen_path_xtra): Remove.
Akim>   (&handle_compile): Don't handle `AC_PATH_XTRA' AC_SUBST variables.
Akim>   (&scan_one_autoconf_file): Do it, instead of setting $seen_path_xtra.

Ok.

Tom




Re: 95-libs-var-am.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (&read_am_file, &file_contents_internal): Don't
Akim>   define macros when `FALSE', to avoid errors on doubly defined
Akim>   variables but under condition `FALSE'.  In order to allow...
Akim>   (&am_install_var): When reading the associated file for the first
Akim>   time, enable `%?FIRST%'.
Akim>   (&handle_libraries): Let libs.am define $(AR) and $(RANLIB).
Akim>   * libs.am: Do it when `%?FIRST%'.

This is ok.

However I wonder if it is really what we want.
This is an ad hoc mechanism in am_install_var.  But we'll also need an
ad hoc mechanism in add_depend2.

Why not introduce a syntax for defining something once?

*FOO = ...

We would interpret this after all other substitutions are applied
to the line.  That would make it useful for depend2.am.

At some point we should document the syntax of the .am files.  It
doesn't have to be anything formal; just a comment in automake.in.

Tom




Re: 94-ansi2knr.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (handle_compile): Let ansi2knr.am define $(ANSI2KNR).
Akim>   * ansi2knr.am: Do it.
Akim>   Prefer `if %?FOO% to `if %!FOO%.

Ok.

Please be aware that the ansi2knr code is fairly fragile.  We've had a
lot of bugs here in the past.  Extra care is required, especially
since it isn't actually tested very frequently.

Tom




Re: 92-lang-pure.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * automake.in (®ister_language, &finish_languages): Use `pure'
Akim>   as a Boolean.
Akim>   (®ister_language): Use %done properly with objects, not names.
Akim>   (&finish_languages): Replace `$non_c' with `$needs_c'.

Ok.

Tom




Re: 93-robert-fix.patch

2001-04-11 Thread Tom Tromey

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

Akim>   * program.am: Fix a stupid typo: now *all* (not none) the programs
Akim>   use `$(EXEEXT)'.
Akim>   Reported by Robert Boehne.

This already went in so I'm not looking at it.
I presume it was an obvious bug fix.

Tom




Re: BSD Make

2001-04-11 Thread Larry Jones

Tom Tromey writes:
> 
> Can you test the appended patch?  If it works I will check it in.  I
> don't have access to a BSD `make' to try it.

It works save for one bug:

> Index: m4/make.m4
[...]
> @@ -11,14 +10,27 @@
>  # If we don't find an include directive, just comment out the code.
>  AC_MSG_CHECKING([for style of include used by $am_make])
>  _am_include='#'
> -for am_inc in include .include; do

Here you delete the do...

> -   echo "$am_inc confinc" > confmf
> +_am_quote=
> +_am_result=none
> +# First try GNU make style include.
> +echo "include confinc" > confmf
> +if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
> +   _am_include=include
> +   _am_quote=
> +   _am_result=GNU
> +fi
> +# Now try BSD make style include.
> +if test "$_am_include" = "#"; then
> +   echo '.include "confinc"' > confmf
> if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
> -  _am_include=$am_inc
> -  break
> +  _am_include=.include
> +  _am_quote='"'
> +  _am_result=BSD
> fi
> +fi
>  done

... but here you neglected to delete the matching done.  After
correcting that, it works fine with BSD make and with GNU make.

-Larry Jones

Yep, we'd probably be dead by now if it wasn't for Twinkies. -- Calvin




Re: 82-lang-finish.patch

2001-04-11 Thread akim

On Thu, Apr 12, 2001 at 12:21:12AM +0200, [EMAIL PROTECTED] wrote:
> On Wed, Apr 11, 2001 at 03:10:07PM -0600, Tom Tromey wrote:
> > 
> > How hard is it going to be to move from the current object
> > implementation to the one we really want?
> 
> In short, reifying automake, I don't know.  Reifying languages, macros
> and rules, yes! definitely!

Hm, lemme guess: I was completely out of topic, and the question was
about languages, and languages only...

Technically, inheritance with Class::Struct is fine.

But (and this is part of my previous answer) if you mean ``how long
is it going to take to be some structure without circular dependency'',
I still have no idea today.  I can see layers arise, but still
circular layers :)




Re: 82-lang-finish.patch

2001-04-11 Thread akim

On Wed, Apr 11, 2001 at 03:10:07PM -0600, Tom Tromey wrote:
> 
> How hard is it going to be to move from the current object
> implementation to the one we really want?

You want me to read in dead animals bodies :)

I currently have no idea...  I'm sure macros and rules should be objects,
afterwards, I don't know.  Currently, by far, the handling of macros
is superior to that of rules, but there is still one big bad thing:
macros are split accross various hashes, instead of a single hash of
macro objects.  This should be very easy to reify.

I wanted to find some common interface for macros and rules, given
that they both share the conditional main root, but I'm not sure it
is the right way.

Now, for the core Automake, I just don't know.

Another fundamental guideline I try to follow is that the knowledge
should be in *.am files only, not automake.  Some projections in the
future (the 1?? patches being some signs of this future) I imagine
seem to show there is some contradiction between the two approaches.

In short, reifying automake, I don't know.  Reifying languages, macros
and rules, yes! definitely!




Re: BSD Make

2001-04-11 Thread Larry Jones

Tom Tromey writes:
> 
> > "Derek" == Derek R Price <[EMAIL PROTECTED]> writes:
> 
> Derek> A new bug report on the BSD make's include syntax...  sounds
> Derek> like we're pretty close.
> 
> Can you test the appended patch?  If it works I will check it in.  I
> don't have access to a BSD `make' to try it.

I'll test it tonight and let you know how it looks.

-Larry Jones

Start tying the sheets together.  We'll go out the window. -- Calvin




Re: BSD Make

2001-04-11 Thread Tom Tromey

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

Derek> A new bug report on the BSD make's include syntax...  sounds
Derek> like we're pretty close.

Can you test the appended patch?  If it works I will check it in.  I
don't have access to a BSD `make' to try it.

2001-04-11  Tom Tromey  <[EMAIL PROTECTED]>

* automake.in (handle_dependencies): Add `@_am_quote@' where
appropriate.
* m4/make.m4 (AM_MAKE_INCLUDE): Handle BSD-style make.

Tom

Index: automake.in
===
RCS file: /cvs/automake/automake/automake.in,v
retrieving revision 1.1034
diff -u -r1.1034 automake.in
--- automake.in 2001/04/10 09:20:59 1.1034
+++ automake.in 2001/04/11 21:18:52
@@ -3108,7 +3108,8 @@
$output_rules .= "\n";
foreach my $iter (@deplist)
{
-   $output_rules .= '@AMDEP_TRUE@@_am_include@ ' . $iter . "\n";
+   $output_rules .= ('@AMDEP_TRUE@@_am_include@ @_am_quote@'
+ . $iter . '@_am_quote@' . "\n");
}
 
$output_rules .= &file_contents ('depend');
Index: m4/make.m4
===
RCS file: /cvs/automake/automake/m4/make.m4,v
retrieving revision 1.4
diff -u -r1.4 make.m4
--- make.m4 2001/04/11 04:17:21 1.4
+++ make.m4 2001/04/11 21:18:52
@@ -3,7 +3,6 @@
 # Check to see how make treats includes.
 AC_DEFUN([AM_MAKE_INCLUDE],
 [am_make=${MAKE-make}
-# BSD make uses .include
 cat > confinc << 'END'
 doit:
@echo done
@@ -11,14 +10,27 @@
 # If we don't find an include directive, just comment out the code.
 AC_MSG_CHECKING([for style of include used by $am_make])
 _am_include='#'
-for am_inc in include .include; do
-   echo "$am_inc confinc" > confmf
+_am_quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+   _am_include=include
+   _am_quote=
+   _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$_am_include" = "#"; then
+   echo '.include "confinc"' > confmf
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
-  _am_include=$am_inc
-  break
+  _am_include=.include
+  _am_quote='"'
+  _am_result=BSD
fi
+fi
 done
 AC_SUBST(_am_include)
-AC_MSG_RESULT($_am_include)
+AC_SUBST(_am_quote)
+AC_MSG_RESULT($_am_result)
 rm -f confinc confmf
 ])




Re: 82-lang-finish.patch

2001-04-11 Thread Tom Tromey

Akim> I do share your dislike for the structure, but please, note that
Akim> we are defining methods per _object_.  Cleaner would mean one
Akim> *class* per language, which seems overkill to me.

Tom> Really?  Why?  To me it seems natural.

Akim> Yes, you are right.  But we still have to face the circular
Akim> dependency thingy.  I don't think Automake is ready for this.

Ok.

How hard is it going to be to move from the current object
implementation to the one we really want?

Is it simply a matter of rewriting into classes and then making a
factory to generate the objects for us?  That is, no changes in the
code that manipulates the objects themselves?

If that is the case then I'm more comfortable with the current
approach, since it will flow into the solution we want with relative
ease.

Tom




Re: depcomp w/ libtool leaves %% in Makefile.in

2001-04-11 Thread Robert Boehne

Ignore this, my email server is just very slow.

Robert

Robert Boehne wrote:
> 
> Akim Demaille wrote:
> >
> > Please, edit depend2.am and replace
> >
> > if %?LIBTOOL?%
> >
> > endif %?LIBTOOL?%
> >
> > with
> >
> > if %?LIBTOOL%
> >
> > endif %?LIBTOOL%
> >
> > (no ? at the end).  It should make it, right?
> 
> That fixed it! I've attached a patch.
> 
> Thanks Akim!
> 
> --
> Robert Boehne Software Engineer
> Ricardo Software   Chicago Technical Center
> TEL: (630)789-0003 x. 238
> FAX: (630)789-0127
> email:  [EMAIL PROTECTED]
> 
>   
> ChangeLog entry:
> 
> 2001-04-11  Robert Boehne  <[EMAIL PROTECTED]>
> 
> * depend2.am: Changed %?LIBTOOL?% to %?LIBTOOL%
> in libtool object file rule.
> 
> Index: depend2.am
> ===
> RCS file: /cvs/automake/automake/depend2.am,v
> retrieving revision 1.34
> diff -u -r1.34 depend2.am
> --- depend2.am  2001/04/09 14:50:47 1.34
> +++ depend2.am  2001/04/11 17:32:56
> @@ -37,7 +37,7 @@
>  endif %AMDEP%
> %COMPILE% -c -o %OBJ% `test -f %SOURCE% || echo '$(srcdir)/'`%SOURCE%
> 
> -if %?LIBTOOL?%
> +if %?LIBTOOL%
>  ?GENERIC?%EXT%.lo:
>  ?!GENERIC?%LTOBJ%: %SOURCE%
>  if  %AMDEP%
> @@ -46,7 +46,7 @@
> $(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
>  endif  %AMDEP%
> %LTCOMPILE% -c -o %LTOBJ% `test -f %SOURCE% || echo '$(srcdir)/'`%SOURCE%
> -endif %?LIBTOOL?%
> +endif %?LIBTOOL%
> 
>  ?GENERIC?%EXT%.obj:
>  ?!GENERIC?%OBJOBJ%: %SOURCE%

-- 
Robert Boehne Software Engineer
Ricardo Software   Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email:  [EMAIL PROTECTED]




Re: depcomp w/ libtool leaves %% in Makefile.in

2001-04-11 Thread Robert Boehne

Akim Demaille wrote:
> 
> Please, edit depend2.am and replace
> 
> if %?LIBTOOL?%
> 
> endif %?LIBTOOL?%
> 
> with
> 
> if %?LIBTOOL%
> 
> endif %?LIBTOOL%
> 
> (no ? at the end).  It should make it, right?

That fixed it! I've attached a patch.

Thanks Akim!

-- 
Robert Boehne Software Engineer
Ricardo Software   Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email:  [EMAIL PROTECTED]

ChangeLog entry:

2001-04-11  Robert Boehne  <[EMAIL PROTECTED]>

* depend2.am: Changed %?LIBTOOL?% to %?LIBTOOL%
in libtool object file rule.



Index: depend2.am
===
RCS file: /cvs/automake/automake/depend2.am,v
retrieving revision 1.34
diff -u -r1.34 depend2.am
--- depend2.am  2001/04/09 14:50:47 1.34
+++ depend2.am  2001/04/11 17:32:56
@@ -37,7 +37,7 @@
 endif %AMDEP%
%COMPILE% -c -o %OBJ% `test -f %SOURCE% || echo '$(srcdir)/'`%SOURCE%
 
-if %?LIBTOOL?%
+if %?LIBTOOL%
 ?GENERIC?%EXT%.lo:
 ?!GENERIC?%LTOBJ%: %SOURCE%
 if  %AMDEP%
@@ -46,7 +46,7 @@
$(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
 endif  %AMDEP%
%LTCOMPILE% -c -o %LTOBJ% `test -f %SOURCE% || echo '$(srcdir)/'`%SOURCE%
-endif %?LIBTOOL?%
+endif %?LIBTOOL%
 
 ?GENERIC?%EXT%.obj:
 ?!GENERIC?%OBJOBJ%: %SOURCE%



FYI: depend2

2001-04-11 Thread Akim Demaille


Index: ChangeLog
from  Akim Demaille  <[EMAIL PROTECTED]>

* depend2.am: Fix the `if' condition for Libtool.
Reported by Robert Boehne.

Index: depend2.am
===
RCS file: /cvs/automake/automake/depend2.am,v
retrieving revision 1.34
diff -u -u -r1.34 depend2.am
--- depend2.am 2001/04/09 14:50:47 1.34
+++ depend2.am 2001/04/11 17:28:17
@@ -37,7 +37,7 @@
 endif %AMDEP%
%COMPILE% -c -o %OBJ% `test -f %SOURCE% || echo '$(srcdir)/'`%SOURCE%
 
-if %?LIBTOOL?%
+if %?LIBTOOL%
 ?GENERIC?%EXT%.lo:
 ?!GENERIC?%LTOBJ%: %SOURCE%
 if  %AMDEP%
@@ -46,7 +46,7 @@
$(%FPFX%DEPMODE) $(depcomp) @AMDEPBACKSLASH@
 endif  %AMDEP%
%LTCOMPILE% -c -o %LTOBJ% `test -f %SOURCE% || echo '$(srcdir)/'`%SOURCE%
-endif %?LIBTOOL?%
+endif %?LIBTOOL%
 
 ?GENERIC?%EXT%.obj:
 ?!GENERIC?%OBJOBJ%: %SOURCE%




Re: depcomp w/ libtool leaves %% in Makefile.in

2001-04-11 Thread Akim Demaille

Please, edit depend2.am and replace

if %?LIBTOOL?%

endif %?LIBTOOL?%

with

if %?LIBTOOL%

endif %?LIBTOOL%

(no ? at the end).  It should make it, right?




depcomp w/ libtool leaves %% in Makefile.in

2001-04-11 Thread Robert Boehne

Here is a snippet of one of my Makefile.in's in a subdirectory
of a project using CVS MLB Libtool and dependencies.
This was generated with CVS Automake (as of today) with
--include-deps on the command line.
The problem is that the "if %%" line isn't translated
into anything by configure.  I don't understand how this is
supposed to work but I'm sure Akim knows.

Thanks,

Robert


.c.o:
source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo'
@AMDEPBACKSLASH@
$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(COMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<

if %%
.c.lo:
source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo'
@AMDEPBACKSLASH@
$(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
$(LTCOMPILE) -c -o $@ `test -f $< || echo '$(srcdir)/'`$<
endif %%

.
-- 
Robert Boehne Software Engineer
Ricardo Software   Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email:  [EMAIL PROTECTED]




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

2001-04-11 Thread Akim Demaille


|  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?

In fact it was my understanding that what you describe explains why
you have some content in .fn, not .fns.  To get .fns, you need to use
the index somewhere.

Is there a command index somewhere?  How is it created in the Texinfo file?




depcomp not found if in aux_dir

2001-04-11 Thread Robert Boehne

Hello:

I'm testing the CVS MLB Libtool with current CVS Automake and Autoconf.
I've found that dependency tracking doesn't work because the depcomp
script is copied into the auxiliary directory specified with
AC_CONFIG_AUX_DIR('directory') as it should, but when the generated
configure script is run for that project, the depcomp script is only
found if it is $(top_srcdir)/depcomp.
I don't know the first thing about perl or I would have sent in a patch,
sorry!
Here is sample output from 'configure':

checking how to run the C++ preprocessor... g++ -E
checking dependency style of g++... cp: /icarus/OCC/OCC/depcomp: No such
file or directory
/icarus/OCC/OCC/configure: ./depcomp: No such file or directory
none

-- 
Robert Boehne Software Engineer
Ricardo Software   Chicago Technical Center
TEL: (630)789-0003 x. 238
FAX: (630)789-0127
email:  [EMAIL PROTECTED]




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: problem: unitialized +=

2001-04-11 Thread Akim Demaille

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

Robert> 3) src/Makefile.am: cf_gen_DEPENDENCIES must be set with `='
Robert> before using `+='
>> We recently talked about this with Tom, and we agreed that there is
>> no reason not to do that (but to protect the user from herself, but
>> it's not our job).  So consider this is solved.  I don't have time
>> now, but I'll submit a patch soon.

Robert> The same applies to CFLAGS. In fact for CFLAGS it's probably
Robert> more important - you want to add to the configured CFLAGS
Robert> variable, not replace it. No rush for me though :].

Hm, I don't understand this sentence too well.  CFLAGS should be
initialized, so you should not face this problem.

Could you give a try to Automake without the following else branch?
Just remove the - lines below from macro_define:


  # An Automake variable must be consistently defined with the same
  # sign by Automake.  A user variable must be set by either `=' or
  # `:=', and later promoted to `+='.
  if ($var_is_am)
{
  if (defined $var_type{$var} && $var_type{$var} ne $type)
{
  am_line_error ($var,
 ("$var was set with `$var_type{$var}=' "
  . "and is now set with `$type='"));
}
}
- else
-   {
- if (!defined $var_type{$var} && $type eq '+')
-   {
- am_line_error ($var, "$var must be set with `=' before using `+='");
-   }
-   }
  $var_type{$var} = $type;




Re: problem: multiple definitions

2001-04-11 Thread Akim Demaille

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

Robert> 2) snmplib/Makefile.am:14: DEFS multiply defined in condition
Robert> TRUE DEFS (User, where = 14) = {
>>
Robert> TRUE => -DSQUID_SNMP=1 }

>> Hm...  I'll look into this one.  The idea is that somehow we must
>> be able to tell Automake `look, this is an Automake variable, but
>> the user is allowed to override it'.  Currently it's probably too
>> strict.

Robert> Any extra details needed - let me know.

I think that what I said does not apply, and does match with the
actual error you face.  Could you grep for DEFS in your Makefile.am?
Thanks!




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

2001-04-11 Thread Akim Demaille

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

Derek> 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!

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

Derek> @printindex cp

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

Arg, sorry, I wrote this way too hastily.   Try this:

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

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




RE: problem with conditionals and \ separator in SOURCES

2001-04-11 Thread Tim Van Holder

> You're right: line endings are to blame... the funny thing is that I got
> the sources from a Linux CVS server, and the uncorrect line endings seem
> to have been added during the dowloading... (actually I used WinCVS, so
> this is quite likely).

If you're using WinCVS and working with Unix/Linux-based repositories, I'd
recommend checking the 'Use Unix line endings (0xa)' option in the
preferences; this preserves Unix-style text on the client side.  Make sure
you're not using a DOSsy editor that converts them back to CRLF or inserts
CRLF on edited lines though.  You'll also have to do a nex checkout, as
enabling this option also uses binary mode for CVS' administrative files.

If you're using the command-line cvs that comes with WinCVS, use its --lf
option (I have it set in my .cvsrc for convenience).

> I didn't understand this last point: what should I check? What is cvs
> automake?
The current development version of Automake (which is available through
CVS).





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: problem: uninstall-am in makefile with no install targets and non-GNU make.

2001-04-11 Thread Robert Collins

- Original Message -
From: "Akim Demaille" <[EMAIL PROTECTED]>
To: "Robert Collins" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, April 11, 2001 9:34 PM
Subject: Re: problem: uninstall-am in makefile with no install targets
and non-GNU make.


> > "Robert" == Robert Collins <[EMAIL PROTECTED]>
writes:
>
> Robert> Thanks Akim, adding that line should fix the make uninstall
> Robert> problem.  However the makefile.in's created by automake are
> Robert> now corrupt: I get 1001 errors (I CVS updated first).
>
> Robert> The errors I get are (single samples of each) 1) AMDEP does
> Robert> not appear in AM_CONDITIONAL
>
> Run aclocal first.

Thanks. Done and it works. (I should have tried ... doh!)

> Robert> 2) snmplib/Makefile.am:14: DEFS multiply defined in condition
> Robert> TRUE DEFS (User, where = 14) = {
>
> Robert> TRUE => -DSQUID_SNMP=1 }
>
> Hm...  I'll look into this one.  The idea is that somehow we must be
> able to tell Automake `look, this is an Automake variable, but the
> user is allowed to override it'.  Currently it's probably too strict.

Any extra details needed - let me know.

> Synthesizing the permissions is quite difficult :(
>
> Robert> 3) src/Makefile.am: cf_gen_DEPENDENCIES must be set with `='
> Robert> before using `+='
>
> We recently talked about this with Tom, and we agreed that there is no
> reason not to do that (but to protect the user from herself, but it's
> not our job).  So consider this is solved.  I don't have time now, but
> I'll submit a patch soon.

The same applies to CFLAGS. In fact for CFLAGS it's probably more
important - you want to add to the configured CFLAGS variable, not
replace it. No rush for me though :].

> For the time being, I suspect you should just not use the HEAD
Automake.
>

Unfortuneatly, being a cygwin user, I don't have too much choice. As
soon as I have a working automake, I'll be noteing the date, and
referring project members to that revision. (CVS is a wonderful thing).
I'll possibly take a snapshot and put that on the developers webpage
until the next stable automake release is made with these changes.

And in the meantime, you get lots of bleeding edge bug reports :]

Rob





Re: problem: uninstall-am in makefile with no install targets and non-GNU make.

2001-04-11 Thread Akim Demaille

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

Robert> Thanks Akim, adding that line should fix the make uninstall
Robert> problem.  However the makefile.in's created by automake are
Robert> now corrupt: I get 1001 errors (I CVS updated first).

Robert> The errors I get are (single samples of each) 1) AMDEP does
Robert> not appear in AM_CONDITIONAL

Run aclocal first.

Robert> 2) snmplib/Makefile.am:14: DEFS multiply defined in condition
Robert> TRUE DEFS (User, where = 14) = {

Robert> TRUE => -DSQUID_SNMP=1 }

Hm...  I'll look into this one.  The idea is that somehow we must be
able to tell Automake `look, this is an Automake variable, but the
user is allowed to override it'.  Currently it's probably too strict.

Synthesizing the permissions is quite difficult :(

Robert> 3) src/Makefile.am: cf_gen_DEPENDENCIES must be set with `='
Robert> before using `+='

We recently talked about this with Tom, and we agreed that there is no
reason not to do that (but to protect the user from herself, but it's
not our job).  So consider this is solved.  I don't have time now, but
I'll submit a patch soon.

For the time being, I suspect you should just not use the HEAD Automake.




Re: problem: uninstall-am in makefile with no install targets and non-GNU make.

2001-04-11 Thread Robert Collins

Thanks Akim, adding that line should fix the make uninstall problem.
However the makefile.in's created by automake are now corrupt:
I get 1001 errors (I CVS updated first).

The errors I get are (single samples of each)
1) AMDEP does not appear in AM_CONDITIONAL

2) snmplib/Makefile.am:14: DEFS multiply defined in condition TRUE
  DEFS (User, where = 14) =
  {

TRUE => -DSQUID_SNMP=1
  }

3) src/Makefile.am: cf_gen_DEPENDENCIES must be set with `=' before
using `+='

The automake was current as of 4-5 days ago, so I assume these result
from your recent patches. Could you make some suggestionsas to what is
wrong?
for 1) I have no idea, no line numer is spat out with the error.
for 2) , there is no line 14, the file is 13 lines long (
==
## Process this file with automake to produce Makefile.in
##
## Makefile for libsnmp.
##
noinst_LIBRARIES = libsnmp.a
libsnmp_a_SOURCES  = asn1.c parse.c snmp_vars.c \
coexistance.c snmp_api.c snmp_error.c  \
mib.c snmp_api_error.c   \
snmp_msg.c \
snmp_pdu.c  snmplib_debug.c
INCLUDES= -I$(top_builddir)/include -I$(top_srcdir)/include

VERSION = 3.4
DEFS= -DSQUID_SNMP=1
==

for 3), I used
cf_gen_DEPENDENCIES += cf.data.pre
because I didn't want to override the implicitly generated dependencies.
cf.data.pre is a data file used by cf_gen - it isn't really valid as a
dependency and I will fix this up myself.

However - it seems sensible to me to allow the user to add dependencies
without overriding the autogenerated ones.

Rob

- Original Message -
From: "Akim Demaille" <[EMAIL PROTECTED]>
To: "Robert Collins" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, April 11, 2001 6:04 PM
Subject: Re: problem: uninstall-am in makefile with no install targets
and non-GNU make.


>
> Try to add
>
> 'uninstall-am' => 1,
>
> in the structure below in automake.in.  Keep us informed!  Thanks!
>
> Akim
>
> # List of targets we must always output.
> # FIXME: Complete, and remove falsely required targets.
> my %required_targets =
>   (
>'all'  => 1,
>'dvi'   => 1,
>'info'   => 1,
>'install-info' => 1,
>'install'  => 1,
>'install-data' => 1,
>'install-exec' => 1,
>
># FIXME: Not required, temporary hacks.
># Well, actually they are sort of required: the -recursive
># targets will run them anyway...
>'dvi-am'  => 1,
>'info-am' => 1,
>'install-data-am' => 1,
>'install-exec-am' => 1,
>'installcheck-am' => 1,
>
>'install-man' => 1,
>   );
>





Re: problem: uninstall-am in makefile with no install targets and non-GNU make.

2001-04-11 Thread Akim Demaille


Try to add

'uninstall-am' => 1,

in the structure below in automake.in.  Keep us informed!  Thanks!

Akim

# List of targets we must always output.
# FIXME: Complete, and remove falsely required targets.
my %required_targets =
  (
   'all'  => 1,
   'dvi'  => 1,
   'info' => 1,
   'install-info' => 1,
   'install'  => 1,
   'install-data' => 1,
   'install-exec' => 1,

   # FIXME: Not required, temporary hacks.
   # Well, actually they are sort of required: the -recursive
   # targets will run them anyway...
   'dvi-am'  => 1,
   'info-am' => 1,
   'install-data-am' => 1,
   'install-exec-am' => 1,
   'installcheck-am' => 1,

   'install-man' => 1,
  );




Re: 77-language-class.patch

2001-04-11 Thread Akim Demaille

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

Tom> This is ok.

Tom> But before we check it in let's make sure we are very clear on
Tom> the licensing issue.  In GNU, licensing comes before all.

Yep.  I can't get any definitive answer.  Nothing in the FAQ's I read
but the fact that modules should state their license.  Good.  But what
when they don't :(

Tom> This might mean that we'll be restricted to whatever
Tom> Class::Struct comes with the Perl version we decided on.  That
Tom> would be unfortunate, but we've lived with implementation
Tom> deficiencies in the past (i.e., Perl 4)

Bleah!  Then I have an idea: let's rewrite Automake in Autoconf :)




Re: 82-lang-finish.patch

2001-04-11 Thread Akim Demaille

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

> "Akim" == akim  <[EMAIL PROTECTED]> writes:
>>> I have a mild dislike for this.  If `finish' were a method then we
>>> could simply inherit it.

Akim> I do share your dislike for the structure, but please, note that
Akim> we are defining methods per _object_.  Cleaner would mean one
Akim> *class* per language, which seems overkill to me.

Tom> Really?  Why?  To me it seems natural.

Yes, you are right.  But we still have to face the circular dependency
thingy.  I don't think Automake is ready for this.




Re: 79-lang-compile.patch

2001-04-11 Thread Akim Demaille

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

Tom> One last thing about separating into modules: we'll probably want
Tom> to put the module files into their own directory in the source
Tom> and install trees.  Let's start a new directory for this sooner
Tom> rather than later.

I agree!  Likewise for *am files.  But I'd like to flush my patches
first, please.  In fact, I'd like to doc/ and man/ and config/ too.




problem: uninstall-am in makefile with no install targets and non-GNU make.

2001-04-11 Thread Robert Collins

with this makefile.am:
===
EXTRA_LIBRARIES = libregex.a libdlmalloc.a
noinst_LIBRARIES = libmiscutil.a @LIBREGEX@ @LIBDLMALLOC@ libntlmauth.a
libmiscutil_a_SOURCES = rfc1123.c rfc1738.c rfc1035.c rfc2617.c util.c \
getfullhostname.c base64.c uudecode.c splay.c safe_inet_addr.c \
iso3307.c snprintf.c md5.c radix.c stub_memaccount.c Array.c \
Stack.c hash.c heap.c html_quote.c
# $(top_srcdir)/include/version.h should be a dependency
# LIBOBJS was included here: what is it used for ?
libregex_a_SOURCES = GNUregex.c
libdlmalloc_a_SOURCES = dlmalloc.c
libntlmauth_a_SOURCES = ntlmauth.c

INCLUDES= -I$(top_builddir)/include -I$(top_srcdir)/include
===
the resulting makefile is broken with non GNU make.

it has
uninstall: uninstall-am

and in .PHONY: ... uninstall-am ...

but on openBSD I get
"make: don't know how to make uninstall-am. Stop."
 with make uninstall.

Any pointers?





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

2001-04-11 Thread Akim Demaille

> "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!




Re: Scripts...

2001-04-11 Thread Akim Demaille

> "Alex" == Alex Turner <[EMAIL PROTECTED]> writes:

Alex> Cool - actualy I forgot to ask if this is a sane way to do it
Alex> for C.  I would much prefer it generated a header file with it
Alex> in somewhere.

Described into the details in CVS Autoconf's documentation.




Re: Patch: make dist in subdirs before handling the current directory

2001-04-11 Thread Robert Collins

- Original Message -
From: "Tom Tromey" <[EMAIL PROTECTED]>
To: "Robert Collins" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Wednesday, April 11, 2001 4:01 PM
Subject: Re: Patch: make dist in subdirs before handling the current
directory


> > "Robert" == Robert Collins <[EMAIL PROTECTED]>
writes:
>
> Robert> * distdir.am: Recurse into subdirs before handling files
> Robert> in the current directory.
>
> Robert> This patch reverses the order of subdir processing with
> Robert> current directory files for the make dist target.
>
> I don't think this is the right thing to do.  Reversing the order
> solves the problem in one particular case, but it might introduce new
> problems we don't know about.  That becomes more true if/when we have
> the dist target depend on `all'.
>
> Instead I think the right thing to do is for automake to notice when
> it is dealing with a dist-able object in a subdir and then at dist
> time make the subdir and fill it with those files.  This will let
> things work even when the subdir doesn't have a Makefile of its own.
> We already have most of the code in place to do this; it shouldn't be
> very hard to finish.
>
> Tom
>

Excellent. I agree that thats the right way to do it - I simply needed
an interim fix so I could actually run make dist :]

Rob