forked from kergoth/automake
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.11
12395 lines (10504 loc) · 522 KB
/
ChangeLog.11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2011-12-27 Stefano Lattarini <[email protected]>
tests: drop unnecessary requirement in 'subpkg.test'
* tests/subpkg.test ($required): Drop "bison", it is not required
anymore since commit `v1.11-502-g7e5ae80'.
2011-12-27 Stefano Lattarini <[email protected]>
gitlog-to-changelog: new auxiliary script, synced from gnulib
We have plans to stop maintaining a version-controlled ChangeLog
file in the Automake repository, and instead begin to generate it
automatically from the git log messages. To do so, we will use
the `gitlog-to-changelog' script from gnulib.
* lib/gitlog-to-changelog: New, synced from gnulib.
* Makefile.am (fetch): Fetch and sync it.
* lib/Makefile.am (EXTRA_DIST): Distribute it.
2011-12-27 Stefano Lattarini <[email protected]>
docs: "aclocal --install -I /abs/dir" actually copies files
This change is for automake bug#8407.
In the past, there had been some debate and confusion about
whether "aclocal --install" should copy third-party .m4 files
in the first directory passed to the `-I' option even when
such directory was given as an absolute path, or whether it
was better to do so only for directories specified with a
relative path.
The rationale for this latter behaviour was that, before the
existence of the `ACLOCAL_PATH' variable, the only way (a poor
way, I might add) for a common user to extend the search path
of a system-wide installation of aclocal was to export something
like ACLOCAL="aclocal -I /my/extra/macros" in the environment.
Today, the correct way to proceed is undoubtedly through the
use of ACLOCAL_PATH, so we can settle the question once and for
all, and start verifying the correct behaviour of `-I' with a
new test.
* tests/aclocal-install-absdir.test: New test.
* tests/Makefile.am (TESTS): Add it.
* doc/automake.texi (aclocal Options): Be more explicit about
this part of `--install' semantics.
2011-12-26 Stefano Lattarini <[email protected]>
docs: fix node names for automake and aclocal invocations
With the older node names, an "info automake" command issued
from the command line would have opened the node about the
invocation of the automake program, rather than the Top node
of the automake documentation. To invoke the Top node, one
had to issue the command "info Automake" instead (note the
different capitalization). This was suboptimal, and certainly
confusing.
With this change, "info automake" will open the Top node of the
automake documentation; to access the nodes about the invocation
of the automake and aclocal program, one has now to issue "info
automake-invocation" and "info aclocal-invocation" respectively.
This change fixes automake bug#8071.
See also commits `v2.61a-22-ge9215d1' and `v2.61a-72-g8c07b48' in
the autoconf git repository, which tackled a similar issue.
* doc/automake.texi (@direntry): Rename nodes `aclocal' and
`automake' to `aclocal-invocation' and `automake-invocation'
respectively.
* NEWS: Update.
2011-12-27 Stefano Lattarini <[email protected]>
regex: remove obsolete macro AM_WITH_REGEX
Today, practically nobody uses the GNU rx library, which, according
to its own website <http://www.gnu.org/software/rx/rx.html>, has
been "decommissioned". Consequently, the automake-provided macro
AM_WITH_REGEX is not used nor required anymore.
* m4/regex.m4: Delete.
* m4/Makefile.am (dist_automake_ac_DATA): Do not list it anymore.
* doc/automake.texi (Obsolete Macros): Remove description, and in
fact any mention, of `AM_WITH_REGEX'.
* tests/regex.test: Delete.
* tests/help-regex.test: Likewise.
* tests/regex-obsolete.test: Likewise.
* tests/list-of-tests.mk: Do not list them anymore.
* NEWS: Update.
See also commits `v1.11-587-g5f335be' and `v1.11-433-g37b0aee',
where that macro had been deprecated.
2011-12-27 Stefano Lattarini <[email protected]>
cosmetics: be more consistent in copyright notices in tests
* tests/cond39.test: Update the heading copyright notice, to be
consistent with the formulation used in the other files.
* tests/cond40.test: Likewise.
* tests/cond41.test: Likewise.
* tests/cond42.test: Likewise.
* tests/cond43.test: Likewise.
* tests/conflnk4.test: Likewise.
* tests/extra8.test: Likewise.
* tests/extra9.test: Likewise.
* tests/suffix13.test: Likewise.
* tests/vala.test: Likewise.
* tests/vala1.test: Likewise.
* tests/vala2.test: Likewise.
* tests/vala3.test: Likewise.
* tests/vala4.test: Likewise.
* tests/vala5.test: Likewise.
* lib/Automake/tests/Condition.pl: Likewise.
* lib/Automake/tests/Condition-t.pl: Likewise.
* lib/Automake/tests/DisjConditions.pl: Likewise.
* lib/Automake/tests/DisjConditions-t.pl: Likewise.
* lib/Automake/tests/Version.pl: Likewise.
* lib/Automake/tests/Wrap.pl: Likewise.
* lib/Automake/tests/Cond2.pl: Add copyright notice.
* lib/Automake/tests/Cond3.pl: Likewise.
* lib/Automake/tests/DisjCon2.pl: Likewise.
* lib/Automake/tests/DisjCon3.pl: Likewise.
* lib/Automake/tests/Version2.pl: Likewise.
* lib/Automake/tests/Version3.pl: Likewise.
2011-12-27 Stefano Lattarini <[email protected]>
tap/awk: "Bail out!" recognized also after leading whitespace
Newer versions of TAP::Harness (e.g., 3.23 on Perl 5.14.1)
recognize a "Bail out!" directive also when it is prepended by
leading whitespace; this was not the case for older TAP:Harness
versions, (e.g., for version 3.17 on Perl 5.12.4), and for our
TAP driver implemented in awk.
* lib/tap-driver.sh: Handle the "Bail out!" directive also when
it is preceded by leading whitespace.
* tests/tap-spurious.test: Remove the tests checking that a
"Bail out!" string coming right after leading whitespace does
not trigger a bailout action.
* tests/tap-bailout-leading-space.test: New test.
* tests/list-of-tests.mk: Add it.
Problem reported by Jim Meyering in automake bug#10374.
2011-12-27 Stefano Lattarini <[email protected]>
tests: fix spurious failure of cond29.test
* tests/cond29.test: Limit the amount of virtual memory available
to the automake process to ~ 150 MB, rather than only ~ 20 MB, to
account for higher (but still acceptable) memory usages on some
systems (in this case, a Fedora 16 distro on ppc64). To be
sure not to reduce coverage, increase the number of potential
combinations of automake conditionals from 2**22 = 4194304 to
2**24 = 16777216.
We have actually verified that the new version of the test case
catches the Automake 1.7 it is intended to check against, using
the Automake 1.7.9 tarball downloaded from:
<http://ftp.gnu.org/gnu/automake/automake-1.7.9.tar.gz>
Reported by Jim Meyering in automake bug#10374.
2011-12-24 Stefano Lattarini <[email protected]>
gitignore: use only one .gitignore file, in the top-level directory
* doc/.gitignore, doc/amhello/.gitignore, lib/Automake/.gitignore,
lib/Automake/tests/.gitignore, tests/.gitignore: Deleted, their
contents merged into ...
* .gitignore: ... this top-level file. Since we are at it, improve
it by anchoring files where it makes sense.
2011-12-24 Stefano Lattarini <[email protected]>
tests: one more fixlet for gettext macros requirement
* tests/gettext-macros.test (configure.in): Add calls to
AC_INIT and AC_PROG_CC, to avoid a spurious failure in the
later aclocal invocation.
Luckily, this wart wasn't causing any spurious SKIP or FAIL,
but only the redundant addition to the `-Wno-syntax' option
to some aclocal invocations in the gettext tests.
2011-12-24 Stefano Lattarini <[email protected]>
tests: fix handling of gettext macros requirement
The code introduced in the earlier change `v1.11-581-gb7d67d5'
and aimed at automatically fetching all the .m4 files provided by
gettext has proven inadequate, since it hasn't managed to truly
and always get *all* the required .m4 files. For example, it has
failed to fetch the file `intldir.m4' (present in gettext 0.18.1,
and where the macro `AM_GNU_GETTEXT_INTL_SUBDIR' is defined),
which in turn has caused spurious SKIPs of at least the test
`gettext3.test'.
The reason for this debacle is that autopoint looks at the version
specified in AM_GNU_GETTEXT_VERSION to decide which version of the
gettext infrastructure to bring in; since we were unconditionally
specifying the older 0.10.35 version, the newer `.m4' files weren't
brought in.
* tests/gettext-macros.test: In AM_GNU_GETTEXT_VERSION, instead
of unconditionally specifying the older 0.10.35 version, specify
the version of the available `gettextize' or `autopoint' program,
dynamically extracted with the help of ...
(extract_program_version):... this new function, and saved ...
($autopoint_version): ... in this new variable.
2011-12-23 Stefano Lattarini <[email protected]>
tests: automatically handle deps also for generated tests
* tests/gen-testsuite-part: The test scripts are now scanned for
automatic dependency generation *after* the auto-generated tests
have been created, so they too will be scanned. It is a little
tricky to ensure that the freshly-generated tests are correctly
scanned, and we do that with the help of ...
(@generated_tests): ... this new variable.
Other related minor changes and refactorings.
2011-12-23 Stefano Lattarini <[email protected]>
tests: auto-generate deps for tests requiring libtool/gettext
* tests/gen-testsuite-part: Tests requiring libtool (or related
programs) will need libtool-provided m4 macros, so they should
be run after `libtool-macros.test'. Similarly for gettext tests.
So, generate proper declarations of such dependencies.
* tests/Makefile.am: Remove now-unneeded hand-written declaration
of those dependencies.
2011-12-23 Stefano Lattarini <[email protected]>
tests: remove FIXME comments from tricks to pacify syntax checks
Originally, I myself had insisted on adding those "FIXME" comments
near every unusual construct or use of "creative quoting" whose
only purpose was to avoid false positive from out syntax checks.
I did that with the expectation that we could have easily and soon
added a whitelisting capability to our maintainer-specific syntax
checks. This hasn't been the case unfortunately, and now those
"FIXME" in the comments are just distracting noise, making it more
difficult to grep the test cases for stuff that could really use a
fix or an improvement. So just get rid of them.
* tests/instdir-ltlib.test: Remove that extra "FIXME".
* tests/instdir-prog.test: Likewise.
* tests/parallel-tests3.test: Likewise.
* tests/parallel-tests-dry-run.test: Likewise.
* tests/parallel-tests-console-output.test: Likewise.
* tests/parallel-tests-no-color-in-log.test: Likewise.
* tests/tap-realtime.test: Likewise.
* tests/test-trs-recover.test: Likewise.
* tests/tap-deps.test: Likewise.
2011-12-23 Stefano Lattarini <[email protected]>
tests: few minor fixlets, improvements and tweakings
* tests/defs-static.in ($top_testbuilddir): New, for consistency
and completeness.
* tests/Makefile.am (do_subst): Substitute @abs_top_testbuilddir@
as well.
* tests/java-compile-run-mested.test: Prefer AM_TESTS_ENVIRONMENT
over TESTS_ENVIRONMENT, now that the former has become available.
* tests/java-compile-run-flat.test: Correct a botched "FIXME"
comment.
* tests/tap-realtime.test: Remove extra whitespace in comments.
* tests/missing-tar.test: Use `get_shell_script' to bring in the
`missing' script, to increase coverage. Remove redundant call to
`set -e'. Fix a typo in comments.
* tests/get-sysconf.test: Remove redundant definitions of
`$top_testsrcdir', `testbuilddir' and `$top_testbuilddir'.
2011-12-23 Stefano Lattarini <[email protected]>
tests: remove redundant uses of `set -e'
* tests/deleted-am.test: Do not set the `errexit' shell flag, as
it is already set by `tests/defs'.
* tests/deleted-m4.test: Likewise.
* tests/dist-missing-am.test: Likewise.
* tests/dist-missing-am.test: Likewise.
* tests/dist-missing-m4.test: Likewise.
* tests/dist-missing-included-m4.test: Likewise.
* tests/get-sysconf.test: Likewise.
* tests/makefile-deps.test: Likewise.
* tests/remake-m4-pr10111.test: Likewise.
* tests/remake-am-pr10111.test: Likewise.
* tests/remake-deleted-am.test: Likewise.
* tests/remake-deleted-am2.test: Likewise.
* tests/remake-deleted-am-subdir.test: Likewise.
* tests/remake-renamed-am.test: Likewise.
2011-12-22 Stefano Lattarini <[email protected]>
tests: fix failure due to debugging code forgotten into a test
* tests/missing-tar.test: Don't ever call the `missing' script
with `sh -x'; this was used for debugging, but an instance of
it slipped into the committed test case. Bug revealed by a
failure on a Solaris 10 system with GNU tar installed as `gtar'.
2011-12-23 Stefano Lattarini <[email protected]>
Merge branch 'master' into testsuite-work
* tests/gettext-macros.test: In the generated `get.sh' file,
use `skip_all_', not `skip_'.
* tests/libtool-macros.test: Likewise.
* tests/list-of-tests.mk: Update.
2011-12-23 Stefano Lattarini <[email protected]>
tests: avoid spurious failure of libtool and gettext tests
On Solaris 10 (and presumably earlier), /bin/sh trips up on
here-documents that contains a command substitution *and* are
fed to a shell function:
# All as expected.
$ cat <<END
`pwd`
END
/home/stefano
$ echo status = $?
status = 0
# An apparently innocuous function ...
$ kitty () { cat; }
# ... but hilarity ensues!
$ kitty <<END
`pwd`
END
/tmp/sh137723: cannot open
$ echo status = $?
status = 1
We need to work around this misbehaviour in a couple of our
tests (whose failures where causing cascading failures in a
lot of other tests).
* tests/gettext-macros.test: Avoid the use of command substitution
in a here-document passed to the `indent' function, by using the
`echo' builtin instead.
* tests/libtool-macros.test: Likewise.
See also:
<http://lists.gnu.org/archive/html/bug-autoconf/2011-12/msg00001.html>
2011-12-22 Stefano Lattarini <[email protected]>
Merge branch 'maint' into master.
* m4/regex.m4: Bump serial number by some notches, for good
measure. Prefer the deprecation message from maint over that
from master.
* m4/python.m4: Bump serial number.
* tests/Makefile.am (canon6.log): Depend on `libtool-macros.log'.
(canon7.log): Likewise.
(extradep2.log): Likewise.
(ar-lib4.log): Likewise.
(ar-lib6a.log): Likewise.
(ar-lib6b.log): Likewise.
(vartypo2): Likewise.
(posixsubst-ltlibraries.log): Likewise.
* tests/defs: Adjust the path of the included `get.sh' scripts
generated by `libtool-macros.test' and `gettext-macros.test'.
* aclocal.m4: Delete, it's auto-generated now.
* configure: Likewise.
* Makefile.in: Likewise.
* doc/Makefile.in: Likewise.
* m4/Makefile.in: Likewise.
* tests/Makefile.in: Likewise.
* lib/Makefile.in: Likewise.
* lib/am/Makefile.in: Likewise.
* lib/Automake/Makefile.in: Likewise.
* lib/Automake/tests/Makefile.in: Likewise.
* .gitignore: Correctly ignored the autogenerated files
that are not committed anymore.
2011-12-22 Stefano Lattarini <[email protected]>
hacking: distribute it, and mention it in the ChangeLog
Not distributing the HACKING file might make it more difficult,
for some random curious user, to get informed about or interested
in the Automake development process, or to send us patches.
* Makefile.am (EXTRA_DIST): Add HACKING.
* HACKING: It's OK to distribute this file, and to mention it in
the ChangeLog.
2011-12-22 Stefano Lattarini <[email protected]>
regex: deprecate the obsolete macro AM_WITH_REGEX
This is a backport of commit v1.11-433-g37b0aee.
Today, practically nobody uses the GNU rx library, which, according
to its own website <http://www.gnu.org/software/rx/rx.html>, has
been "decommissioned". Consequently, the automake-provided macro
AM_WITH_REGEX is not used nor required anymore. Deprecate it, so
that it will be possible to safely remove it in the next major
automake version.
* m4/regex.m4 (AM_WITH_REGEX): Give a warning of the class
`obsolete' when this macro is used.
* doc/automake.texi (Public Macros): Move description of
`AM_WITH_REGEX' from here ...
(Obsolete Macros): ... to here, and declare it as obsolete
and "to be removed in a future version".
* tests/regex-obsolete.test: New test.
* tests/Makefile.am (TESTS): Add it.
* NEWS: Update.
See also:
<http://lists.gnu.org/archive/html/automake-patches/2010-11/msg00131.html>
2011-12-22 Stefano Lattarini <[email protected]>
maint: distribute .xz tarballs, not .bz2 ones
Many GNU packages are moving towards xz-compressed tarballs, so
let's follow suit, by dropping the creation and distribution of
a bzip2-compressed tarball and switching to xz instead.
For compatibility and safeness, we will continue to create and
distribute a gzip-compressed tarball as well.
* configure.ac (AM_INIT_AUTOMAKE): Drop `dist-bzip2', add
`dist-xz'.
* NEWS: Update
Suggested by Jim Meyering.
2011-12-22 Stefano Lattarini <[email protected]>
include: avoid "deleted .am file" problem
* automake.in (handle_configure): When processing `configure.am',
also expand `HAVE-MAKEFILE-IN-DEPS' to a boolean telling whether
`MAKEFILE-IN-DEPS' is empty or not.
* lib/am/configure.am [?HAVE-MAKEFILE-IN-DEPS?]
(%MAKEFILE-IN-DEPS%): New target without dependencies, to
avoid the "deleted .am file" problem. Emit this only when
`?HAVE-MAKEFILE-IN-DEPS?' is true, to avoid generating an
"empty" dependency declaration.
* tests/deleted-am.test: Make grepping of error message stricter.
* tests/dist-missing-am.test: Likewise.
* tests/remake-deleted-am.test: New test.
* tests/remake-deleted-am-2.test: Likewise.
* tests/remake-deleted-am-subdir.test: Likewise.
* tests/remake-renamed-am.test: Likewise.
* tests/makefile-deps.test: Likewise.
* tests/Makefile.am (TESTS): Add the new tests.
* NEWS: Update.
Fixes automake bug#9768.
Report by Peter Johansson.
See also commit `Release-1-10-40-gd0ebf71', which fixed a similar
problem for .m4 files included by configure.ac.
2011-12-22 Stefano Lattarini <[email protected]>
maint: better use of autoconf 2.68 features
* configure.ac: Now that Automake requires autoconf 2.68 for its
own bootstrapping and build system, we can assume that PACKAGE_URL
gets automatically AC_SUBT'd.
2011-12-22 Stefano Lattarini <[email protected]>
cosmetics: use proper m4 quoting in configure.ac
* configure.ac (AC_CONFIG_SRCDIR): Use proper m4 quoting
for its arguments.
(AC_CONFIG_AUX_DIR): Likewise.
(AC_PROG_PATH): Likewise.
2011-12-14 Stefano Lattarini <[email protected]>
tests: better handling of gettext and libtool requirements
This change fixes automake bug#9807.
Before this change, the automake testsuite only looked for the
`.m4' files containing libtool and gettext macros definitions in
the directory `${prefix}/share/aclocal' (and in the directories
specified by the `dirlist' file in there, if any), where ${prefix}
was the configure-time automake installation prefix (defaulting
to `/usr/local').
This approach had various shortcomings and disadvantages. Let's
briefly describe the three major ones.
First, on most GNU/Linux systems, a libtool or gettext installed
from distro-provided packages (e.g., by dpkg on Debian/Ubuntu, or
by rmp on RedHat/Fedora) would have `/usr', not `/usr/local', as
its ${prefix}; so, trying to run the automake testsuite with a
simple "./configure && make && make check" would have failed to
execute the libtool and gettext tests on most GNU/Linux distros.
It's true that it was quite easy to work around this issue, by
creating a proper `/usr/local/share/aclocal/dirlist' file with
an entry pointing to `/usr/share/aclocal' (a workaround in fact
used by most automake developers); but the typical user wasn't
aware of the necessity of this trick, so the libtool and gettext
tests was usually skipped on testsuite runs "in the wild", thus
needlessly reducing coverage.
Second, the older testsuite behaviour made more difficult for
the developers to run the testsuite with non-default libtool or
gettext. For example, assume the developer is working on a system
that has a default libtool version 1.5 installed in the /usr/local
hierarchy; to improve coverage, the developer installs also a more
modern libtool version, say 2.4, in its home directory, let's say
in ~/libtool-2.4; he then tries to run the automake testsuite with
this more modern libtool by doing an (apparently) simple:
$ PATH=$HOME/libtool-2.4:$PATH make check
But the automake testsuite would still look for libtool macros in
/usr/local/share/aclocal, not in ~/libtool-2.4/share/aclocal, so
the wrong version of the macros would be picked up, and the tests
would either fail spuriously or (which would be worse) pass without
truly covering the libtool version the developers was thinking to
be testing with.
Worse again, the automake testsuite would *unconditionally* look
for libtool macros in /usr/local/share/aclocal, so even something
like:
$ export ACLOCAL_PATH=$HOME/libtool-2.4/share/aclocal
$ PATH=$HOME/libtool-2.4:$PATH make check
wouldn't work.
Third and last, during a "make distcheck", automake is configured
with a ${prefix} pointing to a proper subdirectory of the build
directory (usually `pwd`/_inst), which gets created on-the-fly;
in this case, with the old approach, the automake testsuite never
found the libtool and gettext macro files, ans so the libtool and
gettext tests was *always* skipped in a "make distcheck".
* tests/libtool-macros.test: New helper test, looking (with the
help of the `libtoolize' script) for libtool macro files required
by most libtool tests, and making them easily accessible.
* tests/gettext-macros.test: New helper test, looking (with the
help of the `libtoolize' script) for libtool macro files required
by most libtool tests, and making them easily accessible.
* tests/defs.in: Update to make it rely on the results and setups
of `libtool-macros.test' and `gettext-macros.test'.
* tests/Makefile.am: Declare dependency of all the logs of libtool
tests from `libtool-macros.log', and all the logs of gettext tests
from `gettext-macros.log'.
(TESTS): Add the new tests.
2011-12-22 Stefano Lattarini <[email protected]>
fix: typos and grammaros in comments of the new test
* tests/get-sysconf.test: Fix few typos, grammaros and botched
wording. Reported by Eric Blake.
2011-12-22 Stefano Lattarini <[email protected]>
tests: report useful system information in 'test-suite.log'
It has already happened various times that a user has run the
automake testsuite, experienced a failure, read the messages
telling him "See tests/test-suite.log" and "Please report to
[email protected]", and done exactly that -- sending us only
the contents of `tests/test-suite.log', which are usually not
enough to start debugging the reported failure. So we have to
ask him for more details, and usually also for the `config.log'
file generated by configure. It's time to fix this recurring
feedback inefficiency. We do so by creating a dummy test case
that takes care of copying the contents of `config.log', plus
other useful system information, in the final `test-suite.log'.
* tests/get-sysconf.test: New test, gathering system information
and then always terminating with a SKIP, so that its output gets
copied in `test-suite.log'.
* tests/Makefile.am (TESTS): Add it.
2011-12-07 Reuben Thomas <[email protected]> (tiny change)
python: remove relics for Python 1.5 support
* m4/python.m4: The comments in here claim to support only
Python >= 2.0, yet this file still has specific support for
Python 1.5. Just remove it, python 1.5 is 12 years old now,
and practically defunct.
* NEWS: Update.
See also commit `Release-1-10-205-gd5bec12', "Support for
Python 3.0, drop support for pre-2.0."
2011-12-21 Stefano Lattarini <[email protected]>
configure: remove extraneous 'eval's from AM_RUN_LOG invocations
* configure.ac: Remove extra 'eval's from AM_RUN_LOG invocations;
for example, instead of "AM_RUN_LOG([eval $PERL --version])",
simply use "AM_RUN_LOG([$PERL --version])"
2011-12-21 Stefano Lattarini <[email protected]>
configure: report TeX version in config.log
* configure.ac: If possible, report the version of the selected
TeX program; this should render the logs more informative.
2011-12-22 Stefano Lattarini <[email protected]>
maint: snapshots from `maint' are still development snapshots
The maintenance-oriented development line in the `maint' branch,
while being usually pretty stable and 99% backward-compatible,
is not always right off production-quality; but until now, the
Automake package version declared in configure.ac hid this fact,
since it appeared to be the version of a stable release (e.g.,
11.1). Fix this.
* configure.ac (AC_INIT): Bump version to "1.11.0a".
2011-12-22 Stefano Lattarini <[email protected]>
configure: print proper message for test releases
* configure.ac: If the current release is detected to be a test
release or a development snapshot, print a proper warning for
the user.
* README-alpha: Delete, it's obsolete now (and in fact this file
hasn't been touched in eleven years, since release 1.4b or so).
* HACKING (Release procedure): Don't say to update README-alpha.
2011-12-22 Stefano Lattarini <[email protected]>
devel: help in comparing Makefile.in from different commits
Now that the generated Makefile.in, configure and aclocal.m4 files
are no longer committed in Automake's git repository, a simple
"git diff" or "git log" no longer shows if and how a change in
Automake results in changes to the Makefile.in files and/or
configure script of its own build system. Still, the ability to
peek so easily at such differences has proved itself quite useful
in the past, often revealing inconsistencies and blunders, and
sometimes even bugs; so it would be a pity to lose that altogether.
With this change, we add a new maintainer recipe that re-introduces
much of that capability, by generating and comparing on the fly the
Makefile.in, configure and aclocal.m4 derived from two arbitrary
commits of the Automake repository.
* Makefile.am (autodiffs, compare-autodiffs): New phony targets.
2011-12-22 Stefano Lattarini <[email protected]>
repo: don't commit generated files in the git repository anymore
It has been quite some time since autoconf and libtool have stopped
committing the generated autotools files in their git repositories,
with no significant ill effects we're aware of. It's true that the
autoconf bootstrap process has now the minor annoyance that a
pre-installed autoconf is required to complete it; but luckily
automake will not have a similar annoyance, since our bootstrap
script take care, through some hoops, to use the very automake and
aclocal versions from the current git checkout to generate the
required aclocal.m4 and Makefile.in files. In fact, this has been
a necessity also in the past, because automake has been known to
use in its own build system new development features that hadn't
been present in any previously released automake distribution.
* .gitignore: Ignore configure, aclocal.m4, and all the
Makefile.in files.
* configure.ac (AC_PREREQ): New macro call, to require the
latest autoconf (2.68 for the moment).
2011-12-22 Stefano Lattarini <[email protected]>
missing: don't try to re-run tar with a munged command line
* lib/missing: If the default `tar' program fails with the given
arguments, and GNU tar is not available, don't try to re-run the
default `tar' with a munged command line (e.g., ditching possibly
unportable options), as that could be subtly alter the intended
semantics (and maybe even create a somewhat corrupted tarball).
Also, it's worth noting that the main purpose of the `missing'
script is to allow a non-developer to build the package in the
face of slightly-skewed timestamps, not to provide wrappers for
all the maintainer tools -- so we don't have to try too hard
when `missing' is just called to wrap `tar'.
* tests/missing-tar.test: New test.
* tests/Makefile.am (TESTS): Add it.
2011-12-22 Stefano Lattarini <[email protected]>
missing: inform the user if GNU tar is called
* lib/missing: If the code trying to run GNU tar is reached, it
means that the previous attempt to run the default tar program
has failed, very likely producing some error message. At this
point, just running GNU tar without further comments might be
confusing.
2011-12-22 Stefano Lattarini <[email protected]>
missing: if GNU tar exists but fails when called, give up
* lib/missing: If the code trying to run GNU tar is reached,
don't continue if the invoked GNU tar program fails, as there
is little point in doing so (and can even be confusing and
counter-productive).
2011-12-22 Stefano Lattarini <[email protected]>
missing: miscellaneous fixlets
* lib/missing: Some shells, such as Solaris or FreeBSD /bin/sh,
warn about missing programs before performing redirections.
Therefore, where we have to silently check whether a program
exists, perform redirections on a subshell.
Remove redundant uses of double-quotes in variable definitions.
Delete an extra blank line.
2011-12-22 Stefano Lattarini <[email protected]>
maint: remove executable bit from automake.in
* automake.in: This file is not meant to be executed, only to
be preprocessed to create the `automake' script; so don't leave
it executable.
2011-12-20 Peter Rosin <[email protected]>
tests: fix spurious failure on systems lacking unistd.h
This is for automake bug#10324.
* tests/silent-lex-generic.test (foo.l): Add a dummy #define of
YY_NO_UNISTD_H, so that the generated foo.c file won't require
unistd.h to be present (it is not present when compiling with,
e.g., MSVC 9).
2011-12-20 Stefano Lattarini <[email protected]>
tests: fix spurious failure on MSYS/MinGW and Cygwin
* tests/primary-prefix-couples-force-valid.test (Makefile.am):
Correctly append $(EXEEXT) to the path of built binaries.
2011-12-16 Stefano Lattarini <[email protected]>
test defs: hack to support autoconf-wrapper programs
* tests/defs-static.in ($AUTOCONF): Add a dummy `-B' option to the
autoconf invocation, so that, when the Debian autoconf wrapper is
involved, it will correctly dispatch an autoconf >= 2.50 instead of
defaulting to autoconf 2.13.
($AUTOHEADER, $AUTORECONF): Likewise, but for autoheader and
autoreconf respectively.
Reported by Bruno Haible:
<http://lists.gnu.org/archive/html/automake/2011-12/msg00039.html>
2011-12-16 Stefano Lattarini <[email protected]>
tests: fix a minor spurious failure with FreeBSD make
* tests/remake-am-pr10111.test: Avoid using `#' comments in
makefile recipes, as these have been confusing FreeBSD make.
The failure was masked by the fact that this test is currently
expected to fail.
Suggested by a report from Bruno Haible.
2011-12-16 Stefano Lattarini <[email protected]>
tests: make two test scripts executable
* tests/remake-am-pr10111.test: Make executable.
* tests/remake-m4-pr10111.test: Likewise.
2011-12-14 Stefano Lattarini <[email protected]>
readme: reference webpages for automake mailing lists
* README: Rationalize and reorganize the (brief) description of
the automake mailing lists. In particular, instead of suggesting
the reader to write to the `-request' addresses to subscribe to
mailing lists, point him to the relevant webpages, where he can
also subscribe via a web form.
2011-12-14 Stefano Lattarini <[email protected]>
readme: update advice about testsuite execution
* README: Now that the automake testsuite uses the parallel-tests
driver, there is no need for the user to capture the stdout of
"make check" to determine which tests have failed: a detailed log
is automatically saved into the `tests/test-suite.log' file.
Since we are at it, improve the wording by dropping an extra
"please".
2011-12-14 Stefano Lattarini <[email protected]>
readme: don't reference the old homepage at sources.redhat.com
* README: Don't reference the old homepage at sources.redhat.com,
which is no longer active; reference the homepage on www.gnu.org
instead. See also automake bug#10157 and bug#10248.
* tests/README: Likewise, and remove related extra-pedantic advice
about copyright papers for test cases (we'll ask for those papers
explicitly when we think they are warranted).
2011-12-12 Stefano Lattarini <[email protected]>
hacking: some more fixlets
* HACKING (Release Procedure): Place the list of pre-release
bootstrap-and-test commands on a line of its own, so it's easy to
select and then paste it into a terminal window.
Fix the explanation of "make git-release", as, since the previous
change, "make git-release" would simply run "make dist" rather
than "make distcheck".
Suggestion from Jim Meyering.
2011-12-12 Peter Rosin <[email protected]>
* NEWS: Fix typo in 'make dist-bzip2' description.
2011-12-10 Stefano Lattarini <[email protected]>
release: don't run "make distcheck" automatically
* Makefile.am (git-dist): The developers should test extensively
before finally creating the release tarball; so don't run "make
distcheck" on their behalf here; instead ...
* HACKING (Release procedure): ... state here that "make check"
and "make distcheck" should be run before calling "make git-dist".
2011-12-15 Stefano Lattarini <[email protected]>
tests: fix spurious failure in 'color2.test'
* tests/color2.test: (expect-make): Add an "expect eof" directive,
so that the collected output from the spawned make program will be
displayed on stdout, as desired.
Since we are at it, also correctly remove a temporary file which
we was trying to delete using a wrong filename.
Problem introduced in merge `v1.11-1579-g8d3466c', probably by a
botched edit or conflict resolution.
2011-12-15 Stefano Lattarini <[email protected]>
tests: fix spurious failure in 'lex3.test'
* tests/lex3.test (foo.l): Remove duplicated definition of
`yywrap'. Problem introduced in merge `v1.11-1579-g8d3466c'.
2011-12-09 Jim Meyering <[email protected]>
Stefano Lattarini <[email protected]>
dist-xz, dist-bzip2: don't hard-code -9, honor envvar settings
Before the present change, automake-generated `dist-xz' rule used
a hard-coded `xz -9'. That was a problem because on this front,
xz differs from gzip and bzip2. While the latter two don't incur
any run-time decompression penalty for using a higher compression
level, specifying -9 with xz imposes a potentially fatal virtual
memory requirement on any client that wants to decompress your
tar.xz file.
People have complained that a tarball compressed with -9 cannot
be uncompressed in a low-memory environment (wrt-based embedded).
Hence, instead of defaulting to -9, which is useful only for very
large tarballs, it defaults to -e (equivalent to -6e). This
limits the default memory requirements imposed on decompressors,
yet still gives very good compression ratios.
* lib/am/distdir.am (dist-xz): Do not hard-code xz's -9: that made
it impossible to override. Actually don't default to -9, either,
since that induced inordinately large virtual memory usage when
merely decompressing. Instead, use its XZ_OPT envvar, defaulting
to -e if not defined. Suggested by Lasse Collin.
(dist-bzip2): Similarly, do not hard-code -9, but do continue to
use -9 by default. Honor the BZIP2 envvar.
* NEWS: Update.
* doc/automake.texi (The Types of Distributions): Describe the
newly enabled environment variables.
2011-12-09 Stefano Lattarini <[email protected]>
* NEWS: Fix typos, grammaros and suboptimal wording.
Reported by Jim Meyering.
2011-12-07 Stefano Lattarini <[email protected]>
maint: sync auxiliary files from upstream
* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
2011-12-04 Stefano Lattarini <[email protected]>
tests: fix spurious failures due to missing 'yywrap()' function
The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
the "lex library" expected to provide a `yywrap' function (function
which is required to link most lex-generated programs). On the
contrary, when all the link attempts (i.e., with `-ll' and `-lfl')
fail, configure declares that no lex library is needed, and simply
proceeds with the configuration process -- only for the build to
possibly fail later, at make time.
This behaviour is intended; the Autoconf manual reads:
``You are encouraged to use Flex in your sources, since it is
both more pleasant to use than plain Lex and the C source it
produces is portable. In order to ensure portability, however,
you must either provide a function `yywrap' or, if you don't use
it (e.g., your scanner has no `#include'-like feature), simply
include a `%noyywrap' statement in the scanner's source.''
This AC_PROG_LEX behaviour is causing some spurious failures of
the Automake testsuite in environments which lack a proper library
providing `yywrap' (this happens for example on Fedora-based
systems). The proper workaround is to simply provide a fall-back
implementation of `yywrap' in our lexers.
See also partially-overlapping commit `v1.11-871-geb147a1' (from
the 'testsuite-work' branch), which was motivated by similar
spurious failures experienced when cross-compiling.
From a report by Jim Meyering:
<http://lists.gnu.org/archive/html/automake-patches/2011-10/msg00092.html>
* tests/cond35.test: Provide a dummy `yywrap' function.
* tests/lex3.test: Likewise.
* tests/silent-lex-generic.test: Likewise.
* tests/silent-lex-gcc.test: Likewise.
* tests/silent-many-generic.test: Likewise.
* tests/silent-many-gcc.test: Likewise.
2011-12-04 Paul Eggert <[email protected]>
depcomp: spelling fix
* lib/depcomp (-h): Fix misspelling in usage diagnostic.
2011-11-28 Peter Rosin <[email protected]>
tests: fix 'distcheck-override-infodir.test' on Cygwin
* tests/distcheck-override-infodir.test (Makefile.am): Do not add
any `/' between $(DESTDIR) and the following paths. Otherwise,
when $(DESTDIR) is empty, the recipes will try to access files
with a leading double slash, which have an implementation-defined
interpretation (e.g., for Cygwin, they mean UNC paths).
2011-11-24 Stefano Lattarini <[email protected]>
cosmetics: typofix in comments
* tests/remake-am-pr10111.test (Makefile.am): Fix typo in comments.
* THANKS: Update.
Reported by Krzysztof Żelechowski.
2011-11-22 Stefano Lattarini <[email protected]>
coverage: undistributed '.am' and '.m4' files are diagnosed
The stub rules emitted to work around the "deleted header problem"
for `.m4' files (included by autoconf in e.g., configure.ac) and
for `.am' files (included by automake in e.g., Makefile.am) should
not prevent "make" from correctly complaining when such a required
file is missing from a distribution tarball.
* tests/dist-missing-am.test: New test.
* tests/dist-missing-m4.test: Likewise.
* tests/dist-missing-included-m4.test: Likewise.
* tests/Makefile.am (TESTS): Add them.
Suggestion by Ralf Wildenhues.
2011-11-22 Stefano Lattarini <[email protected]>
coverage: required but missing '.am' and '.m4' files are diagnosed
The stub rules emitted to work around the "deleted header problem"
for `.m4' files (included by autoconf in e.g., configure.ac) and
for `.am' files (included by automake in e.g., Makefile.am) should
not prevent the remake rules from correctly erroring out when a
still-required file is missing.
* tests/deleted-am.test: New test.
* tests/deleted-m4.test: Likewise.
* tests/Makefile.am (TESTS): Add them.
2011-11-22 Stefano Lattarini <[email protected]>
coverage: expose automake bug#10111 in the testsuite
* tests/remake-am-pr10111.test: New test, xfailing.
* tests/remake-m4-pr10111.test: Likewise.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add them.
2011-11-19 Stefano Lattarini <[email protected]>
texinfo: work around Solaris 10 xpg4 shell bug in install rules
* lib/am/texinfos.am (install-html-am): Use an extra variable
indirection to work around a bug in Solaris 10 /usr/xpg4/bin/sh.
Bug revealed by a failure of `txinfo21.test'. See also:
<http://lists.gnu.org/archive/html/bug-autoconf/2011-11/msg00005.html>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10026#23>
2011-11-17 Stefano Lattarini <[email protected]>
configure: report perl version in config.log
* configure.ac: Report the version of the selected perl interpreter
in config.log; this should render the logs more informative.
2011-11-13 Stefano Lattarini <[email protected]>
tests: fix spurious failure with older install-info
* tests/install-info-dir.test (foo.texi): Also add proper
`@settitle', `@dircategory' and `@direntry' directive, otherwise
older versions of `install-info' (e.g., 4.8) will fail to create
the `dir' index file in ${infodir}.
Problem revealed by a failure on NetBSD 5.1.
2011-11-12 Stefano Lattarini <[email protected]>
maintcheck: fix spurious failure in 'color2.test'
* tests/color2.test: Avoid creative quoting to avoid a spurious
failure of the `sc_tests_Exit_not_exit' maintainer check.
2011-11-12 Stefano Lattarini <[email protected]>
tests: fix spurious error in 'uninstall-fail.test' on Solaris
* tests/uninstall-fail.test: Solaris 10 /usr/xpg4/bin/sh can add
a line number before the `:' in the error messages issued by shell
builtins. Account for that in our grepping of make output.
2011-11-12 Stefano Lattarini <[email protected]>
tests: fix typo in 'uninstall-fail.test'
* tests/uninstall-fail.test: Always use `$rm_f_is_silent_on_error'
instead of the bogus `$rm_f_is_silent_on_failure'.
2011-11-19 Paul Eggert <[email protected]>
* lib/install-sh: Spelling fix in comment.
2011-11-10 Stefano Lattarini <[email protected]>
tests: avoid a spurious failure of 'ltinit.test' MinGW
* tests/ltinit.test: Be laxer in grepping configure output, to
avoid spurious failures on systems which lack POSIX dynamic
linking (e.g., MinGW), or when cross-compiling for such systems.
See also commit `v1.11-855-ge9e5d4a'.
Report and suggestion from Peter Rosin.
2011-11-08 Stefano Lattarini <[email protected]>
tests: testsuite is now safe to run with dmake in parallel mode
* tests/defs.in: Unset variables DMAKE_CHILD, DMAKE_DEF_PRINTED
and DMAKE_MAX_JOBS, which are exported by Solaris dmake when run
in parallel mode, and which might confuse make processes spawned
by our testsuite.
2011-11-08 Stefano Lattarini <[email protected]>
tests: fix spurious failures w.r.t. parallel make and colorization
* tests/color2.test: Skip the test if the $MAKE program fails to
consider the standard output as a tty when spawned by `expect'.
This is required for make implementations, like FreeBSD make and
Solaris dmake, that redirect the output of recipes to temporary
files or pipes when run in parallel mode. Since we are at it,
simplify the detection of a working `expect' program, and throw