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 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999 10000 10001 10002 10003 10004 10005 10006 10007 10008 10009 10010 10011 10012 10013 10014 10015 10016 10017 10018 10019 10020 10021 10022 10023 10024 10025 10026 10027 10028 10029 10030 10031 10032 10033 10034 10035 10036 10037 10038 10039 10040 10041 10042 10043 10044 10045 10046 10047 10048 10049 10050 10051 10052 10053 10054 10055 10056 10057 10058 10059 10060 10061 10062 10063 10064 10065 10066 10067 10068 10069 10070 10071 10072 10073 10074 10075 10076 10077 10078 10079 10080 10081 10082 10083 10084 10085 10086 10087 10088 10089 10090 10091 10092 10093 10094 10095 10096 10097 10098 10099 10100 10101 10102 10103 10104 10105 10106 10107 10108 10109 10110 10111 10112 10113 10114 10115 10116 10117 10118 10119 10120 10121 10122 10123 10124 10125 10126 10127 10128 10129 10130 10131 10132 10133 10134 10135 10136 10137 10138 10139 10140 10141 10142 10143 10144 10145 10146 10147 10148 10149 10150 10151 10152 10153 10154 10155 10156 10157 10158 10159 10160 10161 10162 10163 10164 10165 10166 10167 10168 10169 10170 10171 10172 10173 10174 10175 10176 10177 10178 10179 10180 10181 10182 10183 10184 10185 10186 10187 10188 10189 10190 10191 10192 10193 10194 10195 10196 10197 10198 10199 10200 10201 10202 10203 10204 10205 10206 10207 10208 10209 10210 10211 10212 10213 10214 10215 10216 10217 10218 10219 10220 10221 10222 10223 10224 10225 10226 10227 10228 10229 10230 10231 10232 10233 10234 10235 10236 10237 10238 10239 10240 10241 10242 10243 10244 10245 10246 10247 10248 10249 10250 10251 10252 10253 10254 10255 10256 10257 10258 10259 10260 10261 10262 10263 10264 10265 10266 10267 10268 10269 10270 10271 10272 10273 10274 10275 10276 10277 10278 10279 10280 10281 10282 10283 10284 10285 10286 10287 10288 10289 10290 10291 10292 10293 10294 10295 10296 10297 10298 10299 10300 10301 10302 10303 10304 10305 10306 10307 10308 10309 10310 10311 10312 10313 10314 10315 10316 10317 10318 10319 10320 10321 10322 10323 10324 10325 10326 10327 10328 10329 10330 10331 10332 10333 10334 10335 10336 10337 10338 10339 10340 10341 10342 10343 10344 10345 10346 10347 10348 10349 10350 10351 10352 10353 10354 10355 10356 10357 10358 10359 10360 10361 10362 10363 10364 10365 10366 10367 10368 10369 10370 10371 10372 10373 10374 10375 10376 10377 10378 10379 10380 10381 10382 10383 10384 10385 10386 10387 10388 10389 10390 10391 10392 10393 10394 10395 10396 10397 10398 10399 10400 10401 10402 10403 10404 10405 10406 10407 10408 10409 10410 10411 10412 10413 10414 10415 10416 10417 10418 10419 10420 10421 10422 10423 10424 10425 10426 10427 10428 10429 10430 10431 10432 10433 10434 10435 10436 10437 10438 10439 10440 10441 10442 10443 10444 10445 10446 10447 10448 10449 10450 10451 10452 10453 10454 10455 10456 10457 10458 10459 10460 10461 10462 10463 10464 10465 10466 10467 10468 10469 10470 10471 10472 10473 10474 10475 10476 10477 10478 10479 10480 10481 10482 10483 10484 10485 10486 10487 10488 10489 10490 10491 10492 10493 10494 10495 10496 10497 10498 10499 10500 10501 10502 10503 10504 10505 10506 10507 10508 10509 10510 10511 10512 10513 10514 10515 10516 10517 10518 10519 10520 10521 10522 10523 10524 10525 10526 10527 10528 10529 10530 10531 10532 10533 10534 10535 10536 10537 10538 10539 10540 10541 10542 10543 10544 10545 10546 10547 10548 10549 10550 10551 10552 10553 10554 10555 10556 10557 10558 10559 10560 10561 10562 10563 10564 10565 10566 10567 10568 10569 10570 10571 10572 10573 10574 10575 10576 10577 10578 10579 10580 10581 10582 10583 10584 10585 10586 10587 10588 10589 10590 10591 10592 10593 10594 10595 10596 10597 10598 10599 10600 10601 10602 10603 10604 10605 10606 10607 10608 10609 10610 10611 10612 10613 10614 10615 10616 10617 10618 10619 10620 10621 10622 10623 10624 10625 10626 10627 10628 10629 10630 10631 10632 10633 10634 10635 10636 10637 10638 10639 10640 10641 10642 10643 10644 10645 10646 10647 10648 10649 10650 10651 10652 10653 10654 10655 10656 10657 10658 10659 10660 10661 10662 10663 10664 10665 10666 10667 10668 10669 10670 10671 10672 10673 10674 10675 10676 10677 10678 10679 10680 10681 10682 10683 10684 10685 10686 10687 10688 10689 10690 10691 10692 10693 10694 10695 10696 10697 10698 10699 10700 10701 10702 10703 10704 10705 10706 10707 10708 10709 10710 10711 10712 10713 10714 10715 10716 10717 10718 10719 10720 10721 10722 10723 10724 10725 10726 10727 10728 10729 10730 10731 10732 10733 10734 10735 10736 10737 10738 10739 10740 10741 10742 10743 10744 10745 10746 10747 10748 10749 10750 10751 10752 10753 10754 10755 10756 10757 10758 10759 10760 10761 10762 10763 10764 10765 10766 10767 10768 10769 10770 10771 10772 10773 10774 10775 10776 10777 10778 10779 10780 10781 10782 10783 10784 10785 10786 10787 10788 10789 10790 10791 10792 10793 10794 10795 10796 10797 10798 10799 10800 10801 10802 10803 10804 10805 10806 10807 10808 10809 10810 10811 10812 10813 10814 10815 10816 10817 10818 10819 10820 10821 10822 10823 10824 10825 10826 10827 10828 10829 10830 10831 10832 10833 10834 10835 10836 10837 10838 10839 10840 10841 10842 10843 10844 10845 10846 10847 10848 10849 10850 10851 10852 10853 10854 10855 10856 10857 10858 10859 10860 10861 10862 10863 10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 10883 10884 10885 10886 10887 10888 10889 10890 10891 10892 10893 10894 10895 10896 10897 10898 10899 10900 10901 10902 10903 10904 10905 10906 10907 10908 10909 10910 10911 10912 10913 10914 10915 10916 10917 10918 10919 10920 10921 10922 10923 10924 10925 10926 10927 10928 10929 10930 10931 10932 10933 10934 10935 10936 10937 10938 10939 10940 10941 10942 10943 10944 10945 10946 10947 10948 10949 10950 10951 10952 10953 10954 10955 10956 10957 10958 10959 10960 10961 10962 10963 10964 10965 10966 10967 10968 10969 10970 10971 10972 10973 10974 10975 10976 10977 10978 10979 10980 10981 10982 10983 10984 10985 10986 10987 10988 10989 10990 10991 10992 10993 10994 10995 10996 10997 10998 10999 11000 11001 11002 11003 11004 11005 11006 11007 11008 11009 11010 11011 11012 11013 11014 11015 11016 11017 11018 11019 11020 11021 11022 11023 11024 11025 11026 11027 11028 11029 11030 11031 11032 11033 11034 11035 11036 11037 11038 11039 11040 11041 11042 11043 11044 11045 11046 11047 11048 11049 11050 11051 11052 11053 11054 11055 11056 11057 11058 11059 11060 11061 11062 11063 11064 11065 11066 11067 11068 11069 11070 11071 11072 11073 11074 11075 11076 11077 11078 11079 11080 11081 11082 11083 11084 11085 11086 11087 11088 11089 11090 11091 11092 11093 11094 11095 11096 11097 11098 11099 11100 11101 11102 11103 11104 11105 11106 11107 11108 11109 11110 11111 11112 11113 11114 11115 11116 11117 11118 11119 11120 11121 11122 11123 11124 11125 11126 11127 11128 11129 11130 11131 11132 11133 11134 11135 11136 11137 11138 11139 11140 11141 11142 11143 11144 11145 11146 11147 11148 11149 11150 11151 11152 11153 11154 11155 11156 11157 11158 11159 11160 11161 11162 11163 11164 11165 11166 11167 11168 11169 11170 11171 11172 11173 11174 11175 11176 11177 11178 11179 11180 11181 11182 11183 11184 11185 11186 11187 11188 11189 11190 11191 11192 11193 11194 11195 11196 11197 11198 11199 11200 11201 11202 11203 11204 11205 11206 11207 11208 11209 11210 11211 11212 11213 11214 11215 11216 11217 11218 11219 11220 11221 11222 11223 11224 11225 11226 11227 11228 11229 11230 11231 11232 11233 11234 11235 11236 11237 11238 11239 11240 11241 11242 11243 11244 11245 11246 11247 11248 11249 11250 11251 11252 11253 11254 11255 11256 11257 11258 11259 11260 11261 11262 11263 11264 11265 11266 11267 11268 11269 11270 11271 11272 11273 11274 11275 11276 11277 11278 11279 11280 11281 11282 11283 11284 11285 11286 11287 11288 11289 11290 11291 11292 11293 11294 11295 11296 11297 11298 11299 11300 11301 11302 11303 11304 11305 11306 11307 11308 11309 11310 11311 11312 11313 11314 11315 11316 11317 11318 11319 11320 11321 11322 11323 11324 11325 11326 11327 11328 11329 11330 11331 11332 11333 11334 11335 11336 11337 11338 11339 11340 11341 11342 11343 11344 11345 11346 11347 11348 11349 11350 11351 11352 11353 11354 11355 11356 11357 11358 11359 11360 11361 11362 11363 11364 11365 11366 11367 11368 11369 11370 11371 11372 11373 11374 11375 11376 11377 11378 11379 11380 11381 11382 11383 11384 11385 11386 11387 11388 11389 11390 11391 11392 11393 11394 11395 11396 11397 11398 11399 11400 11401 11402 11403 11404 11405 11406 11407 11408 11409 11410 11411 11412 11413 11414 11415 11416 11417 11418 11419 11420 11421 11422 11423 11424 11425 11426 11427 11428 11429 11430 11431 11432 11433 11434 11435 11436 11437 11438 11439 11440 11441 11442 11443 11444 11445 11446 11447 11448 11449 11450 11451 11452 11453 11454 11455 11456 11457 11458 11459 11460 11461 11462 11463 11464 11465 11466 11467 11468 11469 11470 11471 11472 11473 11474 11475 11476 11477 11478 11479 11480 11481 11482 11483 11484 11485 11486 11487 11488 11489 11490 11491 11492 11493 11494 11495 11496 11497 11498 11499 11500 11501 11502 11503 11504 11505 11506 11507 11508 11509 11510 11511 11512 11513 11514 11515 11516 11517 11518 11519 11520 11521 11522 11523 11524 11525 11526 11527 11528 11529 11530 11531 11532 11533 11534 11535 11536 11537 11538 11539 11540 11541 11542 11543 11544 11545 11546 11547 11548 11549 11550 11551 11552 11553 11554 11555 11556 11557 11558 11559 11560 11561 11562 11563 11564 11565 11566 11567 11568 11569 11570 11571 11572 11573 11574 11575 11576 11577 11578 11579 11580 11581 11582 11583 11584 11585 11586 11587 11588 11589 11590 11591 11592 11593 11594 11595 11596 11597 11598 11599 11600 11601 11602 11603 11604 11605 11606 11607 11608 11609 11610 11611 11612 11613 11614 11615 11616 11617 11618 11619 11620 11621 11622 11623 11624 11625 11626 11627 11628 11629 11630 11631 11632 11633 11634 11635 11636 11637 11638 11639 11640 11641 11642 11643 11644 11645 11646 11647 11648 11649 11650 11651 11652 11653 11654 11655 11656 11657 11658 11659 11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 11678 11679 11680 11681 11682 11683 11684 11685 11686 11687 11688 11689 11690 11691 11692 11693 11694 11695 11696 11697 11698 11699 11700 11701 11702 11703 11704 11705 11706 11707 11708 11709 11710 11711 11712 11713 11714 11715 11716 11717 11718 11719 11720 11721 11722 11723 11724 11725 11726 11727 11728 11729 11730 11731 11732 11733 11734 11735 11736 11737 11738 11739 11740 11741 11742 11743 11744 11745 11746 11747 11748 11749 11750 11751 11752 11753 11754 11755 11756 11757 11758 11759 11760 11761 11762 11763 11764 11765 11766 11767 11768 11769 11770 11771 11772 11773 11774 11775 11776 11777 11778 11779 11780 11781 11782 11783 11784 11785 11786 11787 11788 11789 11790 11791 11792 11793 11794 11795 11796 11797 11798 11799 11800 11801 11802 11803 11804 11805 11806 11807 11808 11809 11810 11811 11812 11813 11814 11815 11816 11817 11818 11819 11820 11821 11822 11823 11824 11825 11826 11827 11828 11829 11830 11831 11832 11833 11834 11835 11836 11837 11838 11839 11840 11841 11842 11843 11844 11845 11846 11847 11848 11849 11850 11851 11852 11853 11854 11855 11856 11857 11858 11859 11860 11861 11862 11863 11864 11865 11866 11867 11868 11869 11870 11871 11872 11873 11874 11875 11876 11877 11878 11879 11880 11881 11882 11883 11884 11885 11886 11887 11888 11889 11890 11891 11892 11893 11894 11895 11896 11897 11898 11899 11900 11901 11902 11903 11904 11905 11906 11907 11908 11909 11910 11911 11912 11913 11914 11915 11916 11917 11918 11919 11920 11921 11922 11923 11924 11925 11926 11927 11928 11929 11930 11931 11932 11933 11934 11935 11936 11937 11938 11939 11940 11941 11942 11943 11944 11945 11946 11947 11948 11949 11950 11951 11952 11953 11954 11955 11956 11957 11958 11959 11960 11961 11962 11963 11964 11965 11966 11967 11968 11969 11970 11971 11972 11973 11974 11975 11976 11977 11978 11979 11980 11981 11982 11983 11984 11985 11986 11987 11988 11989 11990 11991 11992 11993 11994 11995 11996 11997 11998 11999 12000 12001 12002 12003 12004 12005 12006 12007 12008 12009 12010 12011 12012 12013 12014 12015 12016 12017 12018 12019 12020 12021 12022 12023 12024 12025 12026 12027 12028 12029 12030 12031 12032 12033 12034 12035 12036 12037 12038 12039 12040 12041 12042 12043 12044 12045 12046 12047 12048 12049 12050 12051 12052 12053 12054 12055 12056 12057 12058 12059 12060 12061 12062 12063 12064 12065 12066 12067 12068 12069 12070 12071 12072 12073 12074 12075 12076 12077 12078 12079 12080 12081 12082 12083 12084 12085 12086 12087 12088 12089 12090 12091 12092 12093 12094 12095 12096 12097 12098 12099 12100 12101 12102 12103 12104 12105 12106 12107 12108 12109 12110 12111 12112 12113 12114 12115 12116 12117 12118 12119 12120 12121 12122 12123 12124 12125 12126 12127 12128 12129 12130 12131 12132 12133 12134 12135 12136 12137 12138 12139 12140 12141 12142 12143 12144 12145 12146 12147 12148 12149 12150 12151 12152 12153 12154 12155 12156 12157 12158 12159 12160 12161 12162 12163 12164 12165 12166 12167 12168 12169 12170 12171 12172 12173 12174 12175 12176 12177 12178 12179 12180 12181 12182 12183 12184 12185 12186 12187 12188 12189 12190 12191 12192 12193 12194 12195 12196 12197 12198 12199 12200 12201 12202 12203 12204 12205 12206 12207 12208 12209 12210 12211 12212 12213 12214 12215 12216 12217 12218 12219 12220 12221 12222 12223 12224 12225 12226 12227 12228 12229 12230 12231 12232 12233 12234 12235 12236 12237 12238 12239 12240 12241 12242 12243 12244 12245 12246 12247 12248 12249 12250 12251 12252 12253 12254 12255 12256 12257 12258 12259 12260 12261 12262 12263 12264 12265 12266 12267 12268 12269 12270 12271 12272 12273 12274 12275 12276 12277 12278 12279 12280 12281 12282 12283 12284 12285 12286 12287 12288 12289 12290 12291 12292 12293 12294 12295 12296 12297 12298 12299 12300 12301 12302 12303 12304 12305 12306 12307 12308 12309 12310 12311 12312 12313 12314 12315 12316 12317 12318 12319 12320 12321 12322 12323 12324 12325 12326 12327 12328 12329 12330 12331 12332 12333 12334 12335 12336 12337 12338 12339 12340 12341 12342 12343 12344 12345 12346 12347 12348 12349 12350 12351 12352 12353 12354 12355 12356 12357 12358 12359 12360 12361 12362 12363 12364 12365 12366 12367 12368 12369 12370 12371 12372 12373 12374 12375 12376 12377 12378 12379 12380 12381 12382 12383 12384 12385 12386 12387 12388 12389 12390 12391 12392 12393 12394 12395 12396 12397 12398 12399 12400 12401 12402 12403 12404 12405 12406 12407 12408 12409 12410 12411 12412 12413 12414 12415 12416 12417 12418 12419 12420 12421 12422 12423 12424 12425 12426 12427 12428 12429 12430 12431 12432 12433 12434 12435 12436 12437 12438 12439 12440 12441 12442 12443 12444 12445 12446 12447 12448 12449 12450 12451 12452 12453 12454 12455 12456 12457 12458 12459 12460 12461 12462 12463 12464 12465 12466 12467 12468 12469 12470 12471 12472 12473 12474 12475 12476 12477 12478 12479 12480 12481 12482 12483 12484 12485 12486 12487 12488 12489 12490 12491 12492 12493 12494 12495 12496 12497 12498 12499 12500 12501 12502 12503 12504 12505 12506 12507 12508 12509 12510 12511 12512 12513 12514 12515 12516 12517 12518 12519 12520 12521 12522 12523 12524 12525 12526 12527 12528 12529 12530 12531 12532 12533 12534 12535 12536 12537 12538 12539 12540 12541 12542 12543 12544 12545 12546 12547 12548 12549 12550 12551 12552 12553 12554 12555 12556 12557 12558 12559 12560 12561 12562 12563 12564 12565 12566 12567 12568 12569 12570 12571 12572 12573 12574 12575 12576 12577 12578 12579 12580 12581 12582 12583 12584 12585 12586 12587 12588 12589 12590 12591 12592 12593 12594 12595 12596 12597 12598 12599 12600 12601 12602 12603 12604 12605 12606 12607 12608 12609 12610 12611 12612 12613 12614 12615 12616 12617 12618 12619 12620 12621 12622 12623 12624 12625 12626 12627 12628 12629 12630 12631 12632 12633 12634 12635 12636 12637 12638 12639 12640 12641 12642 12643 12644 12645 12646 12647 12648 12649 12650 12651 12652 12653 12654 12655 12656 12657 12658 12659 12660 12661 12662 12663 12664 12665 12666 12667 12668 12669 12670 12671 12672 12673 12674 12675 12676 12677 12678 12679 12680 12681 12682 12683 12684 12685 12686 12687 12688 12689 12690 12691 12692 12693 12694 12695 12696 12697 12698 12699 12700 12701 12702 12703 12704 12705 12706 12707 12708 12709 12710 12711 12712 12713 12714 12715 12716 12717 12718 12719 12720 12721 12722 12723 12724 12725 12726 12727 12728 12729 12730 12731 12732 12733 12734 12735 12736 12737 12738 12739 12740 12741 12742 12743 12744 12745 12746 12747 12748 12749 12750 12751 12752 12753 12754 12755 12756 12757 12758 12759 12760 12761 12762 12763 12764 12765 12766 12767 12768 12769 12770 12771 12772 12773 12774 12775 12776 12777 12778 12779 12780 12781 12782 12783 12784 12785 12786 12787 12788 12789 12790 12791 12792 12793 12794 12795 12796 12797 12798 12799 12800 12801 12802 12803 12804 12805 12806 12807 12808 12809 12810 12811 12812 12813 12814 12815 12816 12817 12818 12819 12820 12821 12822 12823 12824 12825 12826 12827 12828 12829 12830 12831 12832 12833 12834 12835 12836 12837 12838 12839 12840 12841 12842 12843 12844 12845 12846 12847 12848 12849 12850 12851 12852 12853 12854 12855 12856 12857 12858 12859 12860 12861 12862 12863 12864 12865 12866 12867 12868 12869 12870 12871 12872 12873 12874 12875 12876 12877 12878 12879 12880 12881 12882 12883 12884 12885 12886 12887 12888 12889 12890 12891 12892 12893 12894 12895 12896 12897 12898 12899 12900 12901 12902 12903 12904 12905 12906 12907 12908 12909 12910 12911 12912 12913 12914 12915 12916 12917 12918 12919 12920 12921 12922 12923 12924 12925 12926 12927 12928 12929 12930 12931 12932 12933 12934 12935 12936 12937 12938 12939 12940 12941 12942 12943 12944 12945 12946 12947 12948 12949 12950 12951 12952 12953 12954 12955 12956 12957 12958 12959 12960 12961 12962 12963 12964 12965 12966 12967 12968 12969 12970 12971 12972 12973 12974 12975 12976 12977 12978 12979 12980 12981 12982 12983 12984 12985 12986 12987 12988 12989 12990 12991 12992 12993 12994 12995 12996 12997 12998 12999 13000 13001 13002 13003 13004 13005 13006 13007 13008 13009 13010 13011 13012 13013 13014 13015 13016 13017 13018 13019 13020 13021 13022 13023 13024 13025 13026 13027 13028 13029 13030 13031 13032 13033 13034 13035 13036 13037 13038 13039 13040 13041 13042 13043 13044 13045 13046 13047 13048 13049 13050 13051 13052 13053 13054 13055 13056 13057 13058 13059 13060 13061 13062 13063 13064 13065 13066 13067 13068 13069 13070 13071 13072 13073 13074 13075 13076 13077 13078 13079 13080 13081 13082 13083 13084 13085 13086 13087 13088 13089 13090 13091 13092 13093 13094 13095 13096 13097 13098 13099 13100 13101 13102 13103 13104 13105 13106 13107 13108 13109 13110 13111 13112 13113 13114 13115 13116 13117 13118 13119 13120 13121 13122 13123 13124 13125 13126 13127 13128 13129 13130 13131 13132 13133 13134 13135 13136 13137 13138 13139 13140 13141 13142 13143 13144 13145 13146 13147 13148 13149 13150 13151 13152 13153 13154 13155 13156 13157 13158 13159 13160 13161 13162 13163 13164 13165 13166 13167 13168 13169 13170 13171 13172 13173 13174 13175 13176 13177 13178 13179 13180 13181 13182 13183 13184 13185 13186 13187 13188 13189 13190 13191 13192 13193 13194 13195 13196 13197 13198 13199 13200 13201 13202 13203 13204 13205 13206 13207 13208 13209 13210 13211 13212 13213 13214 13215 13216 13217 13218 13219 13220 13221 13222 13223 13224 13225 13226 13227 13228 13229 13230 13231 13232 13233 13234 13235 13236 13237 13238 13239 13240 13241 13242 13243 13244 13245 13246 13247 13248 13249 13250 13251 13252 13253 13254 13255 13256 13257 13258 13259 13260 13261 13262 13263 13264 13265 13266 13267 13268 13269 13270 13271 13272 13273 13274 13275 13276 13277 13278 13279 13280 13281 13282 13283 13284 13285 13286 13287 13288 13289 13290 13291 13292 13293 13294 13295 13296 13297 13298 13299 13300 13301 13302 13303 13304 13305 13306 13307 13308 13309 13310 13311 13312 13313 13314 13315 13316 13317 13318 13319 13320 13321 13322 13323 13324 13325 13326 13327 13328 13329 13330 13331 13332 13333 13334 13335 13336 13337 13338 13339 13340 13341 13342 13343 13344 13345 13346 13347 13348 13349 13350 13351 13352 13353 13354 13355 13356 13357 13358 13359 13360 13361 13362 13363 13364 13365 13366 13367 13368 13369 13370 13371 13372 13373 13374 13375 13376 13377 13378 13379 13380 13381 13382 13383 13384 13385 13386 13387 13388 13389 13390 13391 13392 13393 13394 13395 13396 13397 13398 13399 13400 13401 13402 13403 13404 13405 13406 13407 13408 13409 13410 13411 13412 13413 13414 13415 13416 13417 13418 13419 13420 13421 13422 13423 13424 13425 13426 13427 13428 13429 13430 13431 13432 13433 13434 13435 13436 13437 13438 13439 13440 13441 13442 13443 13444 13445 13446 13447 13448 13449 13450 13451 13452 13453 13454 13455 13456 13457 13458 13459 13460 13461 13462 13463 13464 13465 13466 13467 13468 13469 13470 13471 13472 13473 13474 13475 13476 13477 13478 13479 13480 13481 13482 13483 13484 13485 13486 13487 13488 13489 13490 13491 13492 13493 13494 13495 13496 13497 13498 13499 13500 13501 13502 13503 13504 13505 13506 13507 13508 13509 13510 13511 13512 13513 13514 13515 13516 13517 13518 13519 13520 13521 13522 13523 13524 13525 13526 13527 13528 13529 13530 13531 13532 13533 13534 13535 13536 13537 13538 13539 13540 13541 13542 13543 13544 13545 13546 13547 13548 13549 13550 13551 13552 13553 13554 13555 13556 13557 13558 13559 13560 13561 13562 13563 13564 13565 13566 13567 13568 13569 13570 13571 13572 13573 13574 13575 13576 13577 13578 13579 13580 13581 13582 13583 13584 13585 13586 13587 13588 13589 13590 13591 13592 13593 13594 13595 13596 13597 13598 13599 13600 13601 13602 13603 13604 13605 13606 13607 13608 13609 13610 13611 13612 13613 13614 13615 13616 13617 13618 13619 13620 13621 13622 13623 13624 13625 13626 13627 13628 13629 13630 13631 13632 13633 13634 13635 13636 13637 13638 13639 13640 13641 13642 13643 13644 13645 13646 13647 13648 13649 13650 13651 13652 13653 13654 13655 13656 13657 13658 13659 13660 13661 13662 13663 13664 13665 13666 13667 13668 13669 13670 13671 13672 13673 13674 13675 13676 13677 13678 13679 13680 13681 13682 13683 13684 13685 13686 13687 13688 13689 13690 13691 13692 13693 13694 13695 13696 13697 13698 13699 13700 13701 13702 13703 13704 13705 13706 13707 13708 13709 13710 13711 13712 13713 13714 13715 13716 13717 13718 13719 13720 13721 13722 13723 13724 13725 13726 13727 13728 13729 13730 13731 13732 13733 13734 13735 13736 13737 13738 13739 13740 13741 13742 13743 13744 13745 13746 13747 13748 13749 13750 13751 13752 13753 13754 13755 13756 13757 13758 13759 13760 13761 13762 13763 13764 13765 13766 13767 13768 13769 13770 13771 13772 13773 13774 13775 13776 13777 13778 13779 13780 13781 13782 13783 13784 13785 13786 13787 13788 13789 13790 13791 13792 13793 13794 13795 13796 13797 13798 13799 13800 13801 13802 13803 13804 13805 13806 13807 13808 13809 13810 13811 13812 13813 13814 13815 13816 13817 13818 13819 13820 13821 13822 13823 13824 13825 13826 13827 13828 13829 13830 13831 13832 13833 13834 13835 13836 13837 13838 13839 13840 13841 13842 13843 13844 13845 13846 13847 13848 13849 13850 13851 13852 13853 13854 13855 13856 13857 13858 13859 13860 13861 13862 13863 13864 13865 13866 13867 13868 13869 13870 13871 13872 13873 13874 13875 13876 13877 13878 13879 13880 13881 13882 13883 13884 13885 13886 13887 13888 13889 13890 13891 13892 13893 13894 13895 13896 13897 13898 13899 13900 13901 13902 13903 13904 13905 13906 13907 13908 13909 13910 13911 13912 13913 13914 13915 13916 13917 13918 13919 13920 13921 13922 13923 13924 13925 13926 13927 13928 13929 13930 13931 13932 13933 13934 13935 13936 13937 13938 13939 13940 13941 13942 13943 13944 13945 13946 13947 13948 13949 13950 13951 13952 13953 13954 13955 13956 13957 13958 13959 13960 13961 13962 13963 13964 13965 13966 13967 13968 13969 13970 13971 13972 13973 13974 13975 13976 13977 13978 13979 13980 13981 13982 13983 13984 13985 13986 13987 13988 13989 13990 13991 13992 13993 13994 13995 13996 13997 13998 13999 14000 14001 14002 14003 14004 14005 14006 14007 14008 14009 14010 14011 14012 14013 14014 14015 14016 14017 14018 14019 14020 14021 14022 14023 14024 14025 14026 14027 14028 14029 14030 14031 14032 14033 14034 14035 14036 14037 14038 14039 14040 14041 14042 14043 14044 14045 14046 14047 14048 14049 14050 14051 14052 14053 14054 14055 14056 14057 14058 14059 14060 14061 14062 14063 14064 14065 14066 14067 14068 14069 14070 14071 14072 14073 14074 14075 14076 14077 14078 14079 14080 14081 14082 14083 14084 14085 14086 14087 14088 14089 14090 14091 14092 14093 14094 14095 14096 14097 14098 14099 14100 14101 14102 14103 14104 14105 14106 14107 14108 14109 14110 14111 14112 14113 14114 14115 14116 14117 14118 14119 14120 14121 14122 14123 14124 14125 14126 14127 14128 14129 14130 14131 14132 14133 14134 14135 14136 14137 14138 14139 14140 14141 14142 14143 14144 14145 14146 14147 14148 14149 14150 14151 14152 14153 14154 14155 14156 14157 14158 14159 14160 14161 14162 14163 14164 14165 14166 14167 14168 14169 14170 14171 14172 14173 14174 14175 14176 14177 14178 14179 14180 14181 14182 14183 14184 14185 14186 14187 14188 14189 14190 14191 14192 14193 14194 14195 14196 14197 14198 14199 14200 14201 14202 14203 14204 14205 14206 14207 14208 14209 14210 14211 14212 14213 14214 14215 14216 14217 14218 14219 14220 14221 14222 14223 14224 14225 14226 14227 14228 14229 14230 14231 14232 14233 14234 14235 14236 14237 14238 14239 14240 14241 14242 14243 14244 14245 14246 14247 14248 14249 14250 14251 14252 14253 14254 14255 14256 14257 14258 14259 14260 14261 14262 14263 14264 14265 14266 14267 14268 14269 14270 14271 14272 14273 14274 14275 14276 14277 14278 14279 14280 14281 14282 14283 14284 14285 14286 14287 14288 14289 14290 14291 14292 14293 14294 14295 14296 14297 14298 14299 14300 14301 14302 14303 14304 14305 14306 14307 14308 14309 14310 14311 14312 14313 14314 14315 14316 14317 14318 14319 14320 14321 14322 14323 14324 14325 14326 14327 14328 14329 14330 14331 14332 14333 14334 14335 14336 14337 14338 14339 14340 14341 14342 14343 14344 14345 14346 14347 14348 14349 14350 14351 14352 14353 14354 14355 14356 14357 14358 14359 14360 14361 14362 14363 14364 14365 14366 14367 14368 14369 14370 14371 14372 14373 14374 14375 14376 14377 14378 14379 14380 14381 14382 14383 14384 14385 14386 14387 14388 14389 14390 14391 14392 14393 14394 14395 14396 14397 14398 14399 14400 14401 14402 14403 14404 14405 14406 14407 14408 14409 14410 14411 14412 14413 14414 14415 14416 14417 14418 14419 14420 14421 14422 14423 14424 14425 14426 14427 14428 14429 14430 14431 14432 14433 14434 14435 14436 14437 14438 14439 14440 14441 14442 14443 14444 14445 14446 14447 14448 14449 14450 14451 14452 14453 14454 14455 14456 14457 14458 14459 14460 14461 14462 14463 14464 14465 14466 14467 14468 14469 14470 14471 14472 14473 14474 14475 14476 14477 14478 14479 14480 14481 14482 14483 14484 14485 14486 14487 14488 14489 14490 14491 14492 14493 14494 14495 14496 14497 14498 14499 14500 14501 14502 14503 14504 14505 14506 14507 14508 14509 14510 14511 14512 14513 14514 14515 14516 14517 14518 14519 14520 14521 14522 14523 14524 14525 14526 14527 14528 14529 14530 14531 14532 14533 14534 14535 14536 14537 14538 14539 14540 14541 14542 14543 14544 14545 14546 14547 14548 14549 14550 14551 14552 14553 14554 14555 14556 14557 14558 14559 14560 14561 14562 14563 14564 14565 14566 14567 14568 14569 14570 14571 14572 14573 14574 14575 14576 14577 14578 14579 14580 14581 14582 14583 14584 14585 14586 14587 14588 14589 14590 14591 14592 14593 14594 14595 14596 14597 14598 14599 14600 14601 14602 14603 14604 14605 14606 14607 14608 14609 14610 14611 14612 14613 14614 14615 14616 14617 14618 14619 14620 14621 14622 14623 14624 14625 14626 14627 14628 14629 14630 14631 14632 14633 14634 14635 14636 14637 14638 14639 14640 14641 14642 14643 14644 14645 14646 14647 14648 14649 14650 14651 14652 14653 14654 14655 14656 14657 14658 14659 14660 14661 14662 14663 14664 14665 14666 14667 14668 14669 14670 14671 14672 14673 14674 14675 14676 14677 14678 14679 14680 14681 14682 14683 14684 14685 14686 14687 14688 14689 14690 14691 14692 14693 14694 14695 14696 14697 14698 14699 14700 14701 14702 14703 14704 14705 14706 14707 14708 14709 14710 14711 14712 14713 14714 14715 14716 14717 14718 14719 14720 14721 14722 14723 14724 14725 14726 14727 14728 14729 14730 14731 14732 14733 14734 14735 14736 14737 14738 14739 14740 14741 14742 14743 14744 14745 14746 14747 14748 14749 14750 14751 14752 14753 14754 14755 14756 14757 14758 14759 14760 14761 14762 14763 14764 14765 14766 14767 14768 14769 14770 14771 14772 14773 14774 14775 14776 14777 14778 14779 14780 14781 14782 14783 14784 14785 14786 14787 14788 14789 14790 14791 14792 14793 14794 14795 14796 14797 14798 14799 14800 14801 14802 14803 14804 14805 14806 14807 14808 14809 14810 14811 14812 14813 14814 14815 14816 14817 14818 14819 14820 14821 14822 14823 14824 14825 14826 14827 14828 14829 14830 14831 14832 14833 14834 14835 14836 14837 14838 14839 14840 14841 14842 14843 14844 14845 14846 14847 14848 14849 14850 14851 14852 14853 14854 14855 14856 14857 14858 14859 14860 14861 14862 14863 14864 14865 14866 14867 14868 14869 14870 14871 14872 14873 14874 14875 14876 14877 14878 14879 14880 14881 14882 14883 14884 14885 14886 14887 14888 14889 14890 14891 14892 14893 14894 14895 14896 14897 14898 14899 14900 14901 14902 14903 14904 14905 14906 14907 14908 14909 14910 14911 14912 14913 14914 14915 14916 14917 14918 14919 14920 14921 14922 14923 14924 14925 14926 14927 14928 14929 14930 14931 14932 14933 14934 14935 14936 14937 14938 14939 14940 14941 14942 14943 14944 14945 14946 14947 14948 14949 14950 14951 14952 14953 14954 14955 14956 14957 14958 14959 14960 14961 14962 14963 14964 14965 14966 14967 14968 14969 14970 14971 14972 14973 14974 14975 14976 14977 14978 14979 14980 14981 14982 14983 14984 14985 14986 14987 14988 14989 14990 14991 14992 14993 14994 14995 14996 14997 14998 14999 15000 15001 15002 15003 15004 15005 15006 15007 15008 15009 15010 15011 15012 15013 15014 15015 15016 15017 15018 15019 15020 15021 15022 15023 15024 15025 15026 15027 15028 15029 15030 15031 15032 15033 15034 15035 15036 15037 15038 15039 15040 15041 15042 15043 15044 15045 15046 15047 15048 15049 15050 15051 15052 15053 15054 15055 15056 15057 15058 15059 15060 15061 15062 15063 15064 15065 15066 15067 15068 15069 15070 15071 15072 15073 15074 15075 15076 15077 15078 15079 15080 15081 15082 15083 15084 15085 15086 15087 15088 15089 15090 15091 15092 15093 15094 15095 15096 15097 15098 15099 15100 15101 15102 15103 15104 15105 15106 15107 15108 15109 15110 15111 15112 15113 15114 15115 15116 15117 15118 15119 15120 15121 15122 15123 15124 15125 15126 15127 15128 15129 15130 15131 15132 15133 15134 15135 15136 15137 15138 15139 15140 15141 15142 15143 15144 15145 15146 15147 15148 15149 15150 15151 15152 15153 15154 15155 15156 15157 15158 15159 15160 15161 15162 15163 15164 15165 15166 15167 15168 15169 15170 15171 15172 15173 15174 15175 15176 15177 15178 15179 15180 15181 15182 15183 15184 15185 15186 15187 15188 15189 15190 15191 15192 15193 15194 15195 15196 15197 15198 15199 15200 15201 15202 15203 15204 15205 15206 15207 15208 15209 15210 15211 15212 15213 15214 15215 15216 15217 15218 15219 15220 15221 15222 15223 15224 15225 15226 15227 15228 15229 15230 15231 15232 15233 15234 15235 15236 15237 15238 15239 15240 15241 15242 15243 15244 15245 15246 15247 15248 15249 15250 15251 15252 15253 15254 15255 15256 15257 15258 15259 15260 15261 15262 15263 15264 15265 15266 15267 15268 15269 15270 15271 15272 15273 15274 15275 15276 15277 15278 15279 15280 15281 15282 15283 15284 15285 15286 15287 15288 15289 15290 15291 15292 15293 15294 15295 15296 15297 15298 15299 15300 15301 15302 15303 15304 15305 15306 15307 15308 15309 15310 15311 15312 15313 15314 15315 15316 15317 15318 15319 15320 15321 15322 15323 15324 15325 15326 15327 15328 15329 15330 15331 15332 15333 15334 15335 15336 15337 15338 15339 15340 15341 15342 15343 15344 15345 15346 15347 15348 15349 15350 15351 15352 15353 15354 15355 15356 15357 15358 15359 15360 15361 15362 15363 15364 15365 15366 15367 15368 15369 15370 15371 15372 15373 15374 15375 15376 15377 15378 15379 15380 15381 15382 15383 15384 15385 15386 15387 15388 15389 15390 15391 15392 15393 15394 15395 15396 15397 15398 15399 15400 15401 15402 15403 15404 15405 15406 15407 15408 15409 15410 15411 15412 15413 15414 15415 15416 15417 15418 15419 15420 15421 15422 15423 15424 15425 15426 15427 15428 15429 15430 15431 15432 15433 15434 15435 15436 15437 15438 15439 15440 15441 15442 15443 15444 15445 15446 15447 15448 15449 15450 15451 15452 15453 15454 15455 15456 15457 15458 15459 15460 15461 15462 15463 15464 15465 15466 15467 15468 15469 15470 15471 15472 15473 15474 15475 15476 15477 15478 15479 15480 15481 15482 15483 15484 15485 15486 15487 15488 15489 15490 15491 15492 15493 15494 15495 15496 15497 15498 15499 15500 15501 15502 15503 15504 15505 15506 15507 15508 15509 15510 15511 15512 15513 15514 15515 15516 15517 15518 15519 15520 15521 15522 15523 15524 15525 15526 15527 15528 15529 15530 15531 15532 15533 15534 15535 15536 15537 15538 15539 15540 15541 15542 15543 15544 15545 15546 15547 15548 15549 15550 15551 15552 15553 15554 15555 15556 15557 15558 15559 15560 15561 15562 15563 15564 15565 15566 15567 15568 15569 15570 15571 15572 15573 15574 15575 15576 15577 15578 15579 15580 15581 15582 15583 15584 15585 15586 15587 15588 15589 15590 15591 15592 15593 15594 15595 15596 15597 15598 15599 15600 15601 15602 15603 15604 15605 15606 15607 15608 15609 15610 15611 15612 15613 15614 15615 15616 15617 15618 15619 15620 15621 15622 15623 15624 15625 15626 15627 15628 15629 15630 15631 15632 15633 15634 15635 15636 15637 15638 15639 15640 15641 15642 15643 15644 15645 15646 15647 15648 15649 15650 15651 15652 15653 15654 15655 15656 15657 15658 15659 15660 15661 15662 15663 15664 15665 15666 15667 15668 15669 15670 15671 15672 15673 15674 15675 15676 15677 15678 15679 15680 15681 15682 15683 15684 15685 15686 15687 15688 15689 15690 15691 15692 15693 15694 15695 15696 15697 15698 15699 15700 15701 15702 15703 15704 15705 15706 15707 15708 15709 15710 15711 15712 15713 15714 15715 15716 15717 15718 15719 15720 15721 15722 15723 15724 15725 15726 15727 15728 15729 15730 15731 15732 15733 15734 15735 15736 15737 15738 15739 15740 15741 15742 15743 15744 15745 15746 15747 15748 15749 15750 15751 15752 15753 15754 15755 15756 15757 15758 15759 15760 15761 15762 15763 15764 15765 15766 15767 15768 15769 15770 15771 15772 15773 15774 15775 15776 15777 15778 15779 15780 15781 15782 15783 15784 15785 15786 15787 15788 15789 15790 15791 15792 15793 15794 15795 15796 15797 15798 15799 15800 15801 15802 15803 15804 15805 15806 15807 15808 15809 15810 15811 15812 15813 15814 15815 15816 15817 15818 15819 15820 15821 15822 15823 15824 15825 15826 15827 15828 15829 15830 15831 15832 15833 15834 15835 15836 15837 15838 15839 15840 15841 15842 15843 15844 15845 15846 15847 15848 15849 15850 15851 15852 15853 15854 15855 15856 15857 15858 15859 15860 15861 15862 15863 15864 15865 15866 15867 15868 15869 15870 15871 15872 15873 15874 15875 15876 15877 15878 15879 15880 15881 15882 15883 15884 15885 15886 15887 15888 15889 15890 15891 15892 15893 15894 15895 15896 15897 15898 15899 15900 15901 15902 15903 15904 15905 15906 15907 15908 15909 15910 15911 15912 15913 15914 15915 15916 15917 15918 15919 15920 15921 15922 15923 15924 15925 15926 15927 15928 15929 15930 15931 15932 15933 15934 15935 15936 15937 15938 15939 15940 15941 15942 15943 15944 15945 15946 15947 15948 15949 15950 15951 15952 15953 15954 15955 15956 15957 15958 15959 15960 15961 15962 15963 15964 15965 15966 15967 15968 15969 15970 15971 15972 15973 15974 15975 15976 15977 15978 15979 15980 15981 15982 15983 15984 15985 15986 15987 15988 15989 15990 15991 15992 15993 15994 15995 15996 15997 15998 15999 16000 16001 16002 16003 16004 16005 16006 16007 16008 16009 16010 16011 16012 16013 16014 16015 16016 16017 16018 16019 16020 16021 16022 16023 16024 16025 16026 16027 16028 16029 16030 16031 16032 16033 16034 16035 16036 16037 16038 16039 16040 16041 16042 16043 16044 16045 16046 16047 16048 16049 16050 16051 16052 16053 16054 16055 16056 16057 16058 16059 16060 16061 16062 16063 16064 16065 16066 16067 16068 16069 16070 16071 16072 16073 16074 16075 16076 16077 16078 16079 16080 16081 16082 16083 16084 16085 16086 16087 16088 16089 16090 16091 16092 16093 16094 16095 16096 16097 16098 16099 16100 16101 16102 16103 16104 16105 16106 16107 16108 16109 16110 16111 16112 16113 16114 16115 16116 16117 16118 16119 16120 16121 16122 16123 16124 16125 16126 16127 16128 16129 16130 16131 16132 16133 16134 16135 16136 16137 16138 16139 16140 16141 16142 16143 16144 16145 16146 16147 16148 16149 16150 16151 16152 16153 16154 16155 16156 16157 16158 16159 16160 16161 16162 16163 16164 16165 16166 16167 16168 16169 16170 16171 16172 16173 16174 16175 16176 16177 16178 16179 16180 16181 16182 16183 16184 16185 16186 16187 16188 16189 16190 16191 16192 16193 16194 16195 16196 16197 16198 16199 16200 16201 16202 16203 16204 16205 16206 16207 16208 16209 16210 16211 16212 16213 16214 16215 16216 16217 16218 16219 16220 16221 16222 16223 16224 16225 16226 16227 16228 16229 16230 16231 16232 16233 16234 16235 16236 16237 16238 16239 16240 16241 16242 16243 16244 16245 16246 16247 16248 16249 16250 16251 16252 16253 16254 16255 16256 16257 16258 16259 16260 16261 16262 16263 16264 16265 16266 16267 16268 16269 16270 16271 16272 16273 16274 16275 16276 16277 16278 16279 16280 16281 16282 16283 16284 16285 16286 16287 16288 16289 16290 16291 16292 16293 16294 16295 16296 16297 16298 16299 16300 16301 16302 16303 16304 16305 16306 16307 16308 16309 16310 16311 16312 16313 16314 16315 16316 16317 16318 16319 16320 16321 16322 16323 16324 16325 16326 16327 16328 16329 16330 16331 16332 16333 16334 16335 16336 16337 16338 16339 16340 16341 16342 16343 16344 16345 16346 16347 16348 16349 16350 16351 16352 16353 16354 16355 16356 16357 16358 16359 16360 16361 16362 16363 16364 16365 16366 16367 16368 16369 16370 16371 16372 16373 16374 16375 16376 16377 16378 16379 16380 16381 16382 16383 16384 16385 16386 16387 16388 16389 16390 16391 16392 16393 16394 16395 16396 16397 16398 16399 16400 16401 16402 16403 16404 16405 16406 16407 16408 16409 16410 16411 16412 16413 16414 16415 16416 16417 16418 16419 16420 16421 16422 16423 16424 16425 16426 16427 16428 16429 16430 16431 16432 16433 16434 16435 16436 16437 16438 16439 16440 16441 16442 16443 16444 16445 16446 16447 16448 16449 16450 16451 16452 16453 16454 16455 16456 16457 16458 16459 16460 16461 16462 16463 16464 16465 16466 16467 16468 16469 16470 16471 16472 16473 16474 16475 16476 16477 16478 16479 16480 16481 16482 16483 16484 16485 16486 16487 16488 16489 16490 16491 16492 16493 16494 16495 16496 16497 16498 16499 16500 16501 16502 16503 16504 16505 16506 16507 16508 16509 16510 16511 16512 16513 16514 16515 16516 16517 16518 16519 16520 16521 16522 16523 16524 16525 16526 16527 16528 16529 16530 16531 16532 16533 16534 16535 16536 16537 16538 16539 16540 16541 16542 16543 16544 16545 16546 16547 16548 16549 16550 16551 16552 16553 16554 16555 16556 16557 16558 16559 16560 16561 16562 16563 16564 16565 16566 16567 16568 16569 16570 16571 16572 16573 16574 16575 16576 16577 16578 16579 16580 16581 16582 16583 16584 16585 16586 16587 16588 16589 16590 16591 16592 16593 16594 16595 16596 16597 16598 16599 16600 16601 16602 16603 16604 16605 16606 16607 16608 16609 16610 16611 16612 16613 16614 16615 16616 16617 16618 16619 16620 16621 16622 16623 16624 16625 16626 16627 16628 16629 16630 16631 16632 16633 16634 16635 16636 16637 16638 16639 16640 16641 16642 16643 16644 16645 16646 16647 16648 16649 16650 16651 16652 16653 16654 16655 16656 16657 16658 16659 16660 16661 16662 16663 16664 16665 16666 16667 16668 16669 16670 16671 16672 16673 16674 16675 16676 16677 16678 16679 16680 16681 16682 16683 16684 16685 16686 16687 16688 16689 16690 16691 16692 16693 16694 16695 16696 16697 16698 16699 16700 16701 16702 16703 16704 16705 16706 16707 16708 16709 16710 16711 16712 16713 16714 16715 16716 16717 16718 16719 16720 16721 16722 16723 16724 16725 16726 16727 16728 16729 16730 16731 16732 16733 16734 16735 16736 16737 16738 16739 16740 16741 16742 16743 16744 16745 16746 16747 16748 16749 16750 16751 16752 16753 16754 16755 16756 16757 16758 16759 16760 16761 16762 16763 16764 16765 16766 16767 16768 16769 16770 16771 16772 16773 16774 16775 16776 16777 16778 16779 16780 16781 16782 16783 16784 16785 16786 16787 16788 16789 16790 16791 16792 16793 16794 16795 16796 16797 16798 16799 16800 16801 16802 16803 16804 16805 16806 16807 16808 16809 16810 16811 16812 16813 16814 16815 16816 16817 16818 16819 16820 16821 16822 16823 16824 16825 16826 16827 16828 16829 16830 16831 16832 16833 16834 16835 16836 16837 16838 16839 16840 16841 16842 16843 16844 16845 16846 16847 16848 16849 16850 16851 16852 16853 16854 16855 16856 16857 16858 16859 16860 16861 16862 16863 16864 16865 16866 16867 16868 16869 16870 16871 16872 16873 16874 16875 16876 16877 16878 16879 16880 16881 16882 16883 16884 16885 16886 16887 16888 16889 16890 16891 16892 16893 16894 16895 16896 16897 16898 16899 16900 16901 16902 16903 16904 16905 16906 16907 16908 16909 16910 16911 16912 16913 16914 16915 16916 16917 16918 16919 16920 16921 16922 16923 16924 16925 16926 16927 16928 16929 16930 16931 16932 16933 16934 16935 16936 16937 16938 16939 16940 16941 16942 16943 16944 16945 16946 16947 16948 16949 16950 16951 16952 16953 16954 16955 16956 16957 16958 16959 16960 16961 16962 16963 16964 16965 16966 16967 16968 16969 16970 16971 16972 16973 16974 16975 16976 16977 16978 16979 16980 16981 16982 16983 16984 16985 16986 16987 16988 16989 16990 16991 16992 16993 16994 16995 16996 16997 16998 16999 17000 17001 17002 17003 17004 17005 17006 17007 17008 17009 17010 17011 17012 17013 17014 17015 17016 17017 17018 17019 17020 17021 17022 17023 17024 17025 17026 17027 17028 17029 17030 17031 17032 17033 17034 17035 17036 17037 17038 17039 17040 17041 17042 17043 17044 17045 17046 17047 17048 17049 17050 17051 17052 17053 17054 17055 17056 17057 17058 17059 17060 17061 17062 17063 17064 17065 17066 17067 17068 17069 17070 17071 17072 17073 17074 17075 17076 17077 17078 17079 17080 17081 17082 17083 17084 17085 17086 17087 17088 17089 17090 17091 17092 17093 17094 17095 17096 17097 17098 17099 17100 17101 17102 17103 17104 17105 17106 17107 17108 17109 17110 17111 17112 17113 17114 17115 17116 17117 17118 17119 17120 17121 17122 17123 17124 17125 17126 17127 17128 17129 17130 17131 17132 17133 17134 17135 17136 17137 17138 17139 17140 17141 17142 17143 17144 17145 17146 17147 17148 17149 17150 17151 17152 17153 17154 17155 17156 17157 17158 17159 17160 17161 17162 17163 17164 17165 17166 17167 17168 17169 17170 17171 17172 17173 17174 17175 17176 17177 17178 17179 17180 17181 17182 17183 17184 17185 17186 17187 17188 17189 17190 17191 17192 17193 17194 17195 17196 17197 17198 17199 17200 17201 17202 17203 17204 17205 17206 17207 17208 17209 17210 17211 17212 17213 17214 17215 17216 17217 17218 17219 17220 17221 17222 17223 17224 17225 17226 17227 17228 17229 17230 17231 17232 17233 17234 17235 17236 17237 17238 17239 17240 17241 17242 17243 17244 17245 17246 17247 17248 17249 17250 17251 17252 17253 17254 17255 17256 17257 17258 17259 17260 17261 17262 17263 17264 17265 17266 17267 17268 17269 17270 17271 17272 17273 17274 17275 17276 17277 17278 17279 17280 17281 17282 17283 17284 17285 17286 17287 17288 17289 17290 17291 17292 17293 17294 17295 17296 17297 17298 17299 17300 17301 17302 17303 17304 17305 17306 17307 17308 17309 17310 17311 17312 17313 17314 17315 17316 17317 17318 17319 17320 17321 17322 17323 17324 17325 17326 17327 17328 17329 17330 17331 17332 17333 17334 17335 17336 17337 17338 17339 17340 17341 17342 17343 17344 17345 17346 17347 17348 17349 17350 17351 17352 17353 17354 17355 17356 17357 17358 17359 17360 17361 17362 17363 17364 17365 17366 17367 17368 17369 17370 17371 17372 17373 17374 17375 17376 17377 17378 17379 17380 17381 17382 17383 17384 17385 17386 17387 17388 17389 17390 17391 17392 17393 17394 17395 17396 17397 17398 17399 17400 17401 17402 17403 17404 17405 17406 17407 17408 17409 17410 17411 17412 17413 17414 17415 17416 17417 17418 17419 17420 17421 17422 17423 17424 17425 17426 17427 17428 17429 17430 17431 17432 17433 17434 17435 17436 17437 17438 17439 17440 17441 17442 17443 17444 17445 17446 17447 17448 17449 17450 17451 17452 17453 17454 17455 17456 17457 17458 17459 17460 17461 17462 17463 17464 17465 17466 17467 17468 17469 17470 17471 17472 17473 17474 17475 17476 17477 17478 17479 17480 17481 17482 17483 17484 17485 17486 17487 17488 17489 17490 17491 17492 17493 17494 17495 17496 17497 17498 17499 17500 17501 17502 17503 17504 17505 17506 17507 17508 17509 17510 17511 17512 17513 17514 17515 17516 17517 17518 17519 17520 17521 17522 17523 17524 17525 17526 17527 17528 17529 17530 17531 17532 17533 17534 17535 17536 17537 17538 17539 17540 17541 17542 17543 17544 17545 17546 17547 17548 17549 17550 17551 17552 17553 17554 17555 17556 17557 17558 17559 17560 17561 17562 17563 17564 17565 17566 17567 17568 17569 17570 17571 17572 17573 17574 17575 17576 17577 17578 17579 17580 17581 17582 17583 17584 17585 17586 17587 17588 17589 17590 17591 17592 17593 17594 17595 17596 17597 17598 17599 17600 17601 17602 17603 17604 17605 17606 17607 17608 17609 17610 17611 17612 17613 17614 17615 17616 17617 17618 17619 17620 17621 17622 17623 17624 17625 17626 17627 17628 17629 17630 17631 17632 17633 17634 17635 17636 17637 17638 17639 17640 17641 17642 17643 17644 17645 17646 17647 17648 17649 17650 17651 17652 17653 17654 17655 17656 17657 17658 17659 17660 17661 17662 17663 17664 17665 17666 17667 17668 17669 17670 17671 17672 17673 17674 17675 17676 17677 17678 17679 17680 17681 17682 17683 17684 17685 17686 17687 17688 17689 17690 17691 17692 17693 17694 17695 17696 17697 17698 17699 17700 17701 17702 17703 17704 17705 17706 17707 17708 17709 17710 17711 17712 17713 17714 17715 17716 17717 17718 17719 17720 17721 17722 17723 17724 17725 17726 17727 17728 17729 17730 17731 17732 17733 17734 17735 17736 17737 17738 17739 17740 17741 17742 17743 17744 17745 17746 17747 17748 17749 17750 17751 17752 17753 17754 17755 17756 17757 17758 17759 17760 17761 17762 17763 17764 17765 17766 17767 17768 17769 17770 17771 17772 17773 17774 17775 17776 17777 17778 17779 17780 17781 17782 17783 17784 17785 17786 17787 17788 17789 17790 17791 17792 17793 17794 17795 17796 17797 17798 17799 17800 17801 17802 17803 17804 17805 17806 17807 17808 17809 17810 17811 17812 17813 17814 17815 17816 17817 17818 17819 17820 17821 17822 17823 17824 17825 17826 17827 17828 17829 17830 17831 17832 17833 17834 17835 17836 17837 17838 17839 17840 17841 17842 17843 17844 17845 17846 17847 17848 17849 17850 17851 17852 17853 17854 17855 17856 17857 17858 17859 17860 17861 17862 17863 17864 17865 17866 17867 17868 17869 17870 17871 17872 17873 17874 17875 17876 17877 17878 17879 17880 17881 17882 17883 17884 17885 17886 17887 17888 17889 17890 17891 17892 17893 17894 17895 17896 17897 17898 17899 17900 17901 17902 17903 17904 17905 17906 17907 17908 17909 17910 17911 17912 17913 17914 17915 17916 17917 17918 17919 17920 17921 17922 17923 17924 17925 17926 17927 17928 17929 17930 17931 17932 17933 17934 17935 17936 17937 17938 17939 17940 17941 17942 17943 17944 17945 17946 17947 17948 17949 17950 17951 17952 17953 17954 17955 17956 17957 17958 17959 17960 17961 17962 17963 17964 17965 17966 17967 17968 17969 17970 17971 17972 17973 17974 17975 17976 17977 17978 17979 17980 17981 17982 17983 17984 17985 17986 17987 17988 17989 17990 17991 17992 17993 17994 17995 17996 17997 17998 17999 18000 18001 18002 18003 18004 18005 18006 18007 18008 18009 18010 18011 18012 18013 18014 18015 18016 18017 18018 18019 18020 18021 18022 18023 18024 18025 18026 18027 18028 18029 18030 18031 18032 18033 18034 18035 18036 18037 18038 18039 18040 18041 18042 18043 18044 18045 18046 18047 18048 18049 18050 18051 18052 18053 18054 18055 18056 18057 18058 18059 18060 18061 18062 18063 18064 18065 18066 18067 18068 18069 18070 18071 18072 18073 18074 18075 18076 18077 18078 18079 18080 18081 18082 18083 18084 18085 18086 18087 18088 18089 18090 18091 18092 18093 18094 18095 18096 18097 18098 18099 18100 18101 18102 18103 18104 18105 18106 18107 18108 18109 18110 18111 18112 18113 18114 18115 18116 18117 18118 18119 18120 18121 18122 18123 18124 18125 18126 18127 18128 18129 18130 18131 18132 18133 18134 18135 18136 18137 18138 18139 18140 18141 18142 18143 18144 18145 18146 18147 18148 18149 18150 18151 18152 18153 18154 18155 18156 18157 18158 18159 18160 18161 18162 18163 18164 18165 18166 18167 18168 18169 18170 18171 18172 18173 18174 18175 18176 18177 18178 18179 18180 18181 18182 18183 18184 18185 18186 18187 18188 18189 18190 18191 18192 18193 18194 18195 18196 18197 18198 18199 18200 18201 18202 18203 18204 18205 18206 18207 18208 18209 18210 18211 18212 18213 18214 18215 18216 18217 18218 18219 18220 18221 18222 18223 18224 18225 18226 18227 18228 18229 18230 18231 18232 18233 18234 18235 18236 18237 18238 18239 18240 18241 18242 18243 18244 18245 18246 18247 18248 18249 18250 18251 18252 18253 18254 18255 18256 18257 18258 18259 18260 18261 18262 18263 18264 18265 18266 18267 18268 18269 18270 18271 18272 18273 18274 18275 18276 18277 18278 18279 18280 18281 18282 18283 18284 18285 18286 18287 18288 18289 18290 18291 18292 18293 18294 18295 18296 18297 18298 18299 18300 18301 18302 18303 18304 18305 18306 18307 18308 18309 18310 18311 18312 18313 18314 18315 18316 18317 18318 18319 18320 18321 18322 18323 18324 18325 18326 18327 18328 18329 18330 18331 18332 18333 18334 18335 18336 18337 18338 18339 18340 18341 18342 18343 18344 18345 18346 18347 18348 18349 18350 18351 18352 18353 18354 18355 18356 18357 18358 18359 18360 18361 18362 18363 18364 18365 18366 18367 18368 18369 18370 18371 18372 18373 18374 18375 18376 18377 18378 18379 18380 18381 18382 18383 18384 18385 18386 18387 18388 18389 18390 18391 18392 18393 18394 18395 18396 18397 18398 18399 18400 18401 18402 18403 18404 18405 18406 18407 18408 18409 18410 18411 18412 18413 18414 18415 18416 18417 18418 18419 18420 18421 18422 18423 18424 18425 18426 18427 18428 18429 18430 18431 18432 18433 18434 18435 18436 18437 18438 18439 18440 18441 18442 18443 18444 18445 18446 18447 18448 18449 18450 18451 18452 18453 18454 18455 18456 18457 18458 18459 18460 18461 18462 18463 18464 18465 18466 18467 18468 18469 18470 18471 18472 18473 18474 18475 18476 18477 18478 18479 18480 18481 18482 18483 18484 18485 18486 18487 18488 18489 18490 18491 18492 18493 18494 18495 18496 18497 18498 18499 18500 18501 18502 18503 18504 18505 18506 18507 18508 18509 18510 18511 18512 18513 18514 18515 18516 18517 18518 18519 18520 18521 18522 18523 18524 18525 18526 18527 18528 18529 18530 18531 18532 18533 18534 18535 18536 18537 18538 18539 18540 18541 18542 18543 18544 18545 18546 18547 18548 18549 18550 18551 18552 18553 18554 18555 18556 18557 18558 18559 18560 18561 18562 18563 18564 18565 18566 18567 18568 18569 18570 18571 18572 18573 18574 18575 18576 18577 18578 18579 18580 18581 18582 18583 18584 18585 18586 18587 18588 18589 18590 18591 18592 18593 18594 18595 18596 18597 18598 18599 18600 18601 18602 18603 18604 18605 18606 18607 18608 18609 18610 18611 18612 18613 18614 18615 18616 18617 18618 18619 18620 18621 18622 18623 18624 18625 18626 18627 18628 18629 18630 18631 18632 18633 18634 18635 18636 18637 18638 18639 18640 18641 18642 18643 18644 18645 18646 18647 18648 18649 18650 18651 18652 18653 18654 18655 18656 18657 18658 18659 18660 18661 18662 18663 18664 18665 18666 18667 18668 18669 18670 18671 18672 18673 18674 18675 18676 18677 18678 18679 18680 18681 18682 18683 18684 18685 18686 18687 18688 18689 18690 18691 18692 18693 18694 18695 18696 18697 18698 18699 18700 18701 18702 18703 18704 18705 18706 18707 18708 18709 18710 18711 18712 18713 18714 18715 18716 18717 18718 18719 18720 18721 18722 18723 18724 18725 18726 18727 18728 18729 18730 18731 18732 18733 18734 18735 18736 18737 18738 18739 18740 18741 18742 18743 18744 18745 18746 18747 18748 18749 18750 18751 18752 18753 18754 18755 18756 18757 18758 18759 18760 18761 18762 18763 18764 18765 18766 18767 18768 18769 18770 18771 18772 18773 18774 18775 18776 18777 18778 18779 18780 18781 18782 18783 18784 18785 18786 18787 18788 18789 18790 18791 18792 18793 18794 18795 18796 18797 18798 18799 18800 18801 18802 18803 18804 18805 18806 18807 18808 18809 18810 18811 18812 18813 18814 18815 18816 18817 18818 18819 18820 18821 18822 18823 18824 18825 18826 18827 18828 18829 18830 18831 18832 18833 18834 18835 18836 18837 18838 18839 18840 18841 18842 18843 18844 18845 18846 18847 18848 18849 18850 18851 18852 18853 18854 18855 18856 18857 18858 18859 18860 18861 18862 18863 18864 18865 18866 18867 18868 18869 18870 18871 18872 18873 18874 18875 18876 18877 18878 18879 18880 18881 18882 18883 18884 18885 18886 18887 18888 18889 18890 18891 18892 18893 18894 18895 18896 18897 18898 18899 18900 18901 18902 18903 18904 18905 18906 18907 18908 18909 18910 18911 18912 18913 18914 18915 18916 18917 18918 18919 18920 18921 18922 18923 18924 18925 18926 18927 18928 18929 18930 18931 18932 18933 18934 18935 18936 18937 18938 18939 18940 18941 18942 18943 18944 18945 18946 18947 18948 18949 18950 18951 18952 18953 18954 18955 18956 18957 18958 18959 18960 18961 18962 18963 18964 18965 18966 18967 18968 18969 18970 18971 18972 18973 18974 18975 18976 18977 18978 18979 18980 18981 18982 18983 18984 18985 18986 18987 18988 18989 18990 18991 18992 18993 18994 18995 18996 18997 18998 18999 19000 19001 19002 19003 19004 19005 19006 19007 19008 19009 19010 19011 19012 19013 19014 19015 19016 19017 19018 19019 19020 19021 19022 19023 19024 19025 19026 19027 19028 19029 19030 19031 19032 19033 19034 19035 19036 19037 19038 19039 19040 19041 19042 19043 19044 19045 19046 19047 19048 19049 19050 19051 19052 19053 19054 19055 19056 19057 19058 19059 19060 19061 19062 19063 19064 19065 19066 19067 19068 19069 19070 19071 19072 19073 19074 19075 19076 19077 19078 19079 19080 19081 19082 19083 19084 19085 19086 19087 19088 19089 19090 19091 19092 19093 19094 19095 19096 19097 19098 19099 19100 19101 19102 19103 19104 19105 19106 19107 19108 19109 19110 19111 19112 19113 19114 19115 19116 19117 19118 19119 19120 19121 19122 19123 19124 19125 19126 19127 19128 19129 19130 19131 19132 19133 19134 19135 19136 19137 19138 19139 19140 19141 19142 19143 19144 19145 19146 19147 19148 19149 19150 19151 19152 19153 19154 19155 19156 19157 19158 19159 19160 19161 19162 19163 19164 19165 19166 19167 19168 19169 19170 19171 19172 19173 19174 19175 19176 19177 19178 19179 19180 19181 19182 19183 19184 19185 19186 19187 19188 19189 19190 19191 19192 19193 19194 19195 19196 19197 19198 19199 19200 19201 19202 19203 19204 19205 19206 19207 19208 19209 19210 19211 19212 19213 19214 19215 19216 19217 19218 19219 19220 19221 19222 19223 19224 19225 19226 19227 19228 19229 19230 19231 19232 19233 19234 19235 19236 19237 19238 19239 19240 19241 19242 19243 19244 19245 19246 19247 19248 19249 19250 19251 19252 19253 19254 19255 19256 19257 19258 19259 19260 19261 19262 19263 19264 19265 19266 19267 19268 19269 19270 19271 19272 19273 19274 19275 19276 19277 19278 19279 19280 19281 19282 19283 19284 19285 19286 19287 19288 19289 19290 19291 19292 19293 19294 19295 19296 19297 19298 19299 19300 19301 19302 19303 19304 19305 19306 19307 19308 19309 19310 19311 19312 19313 19314 19315 19316 19317 19318 19319 19320 19321 19322 19323 19324 19325 19326 19327 19328 19329 19330 19331 19332 19333 19334 19335 19336 19337 19338 19339 19340 19341 19342 19343 19344 19345 19346 19347 19348 19349 19350 19351 19352 19353 19354 19355 19356 19357 19358 19359 19360 19361 19362 19363 19364 19365 19366 19367 19368 19369 19370 19371 19372 19373 19374 19375 19376 19377 19378 19379 19380 19381 19382 19383 19384 19385 19386 19387 19388 19389 19390 19391 19392 19393 19394 19395 19396 19397 19398 19399 19400 19401 19402 19403 19404 19405 19406 19407 19408 19409 19410 19411 19412 19413 19414 19415 19416 19417 19418 19419 19420 19421 19422 19423 19424 19425 19426 19427 19428 19429 19430 19431 19432 19433 19434 19435 19436 19437 19438 19439 19440 19441 19442 19443 19444 19445 19446 19447 19448 19449 19450 19451 19452 19453 19454 19455 19456 19457 19458 19459 19460 19461 19462 19463 19464 19465 19466 19467 19468 19469 19470 19471 19472 19473 19474 19475 19476 19477 19478 19479 19480 19481 19482 19483 19484 19485 19486 19487 19488 19489 19490 19491 19492 19493 19494 19495 19496 19497 19498 19499 19500 19501 19502 19503 19504 19505 19506 19507 19508 19509 19510 19511 19512 19513 19514 19515 19516 19517 19518 19519 19520 19521 19522 19523 19524 19525 19526 19527 19528 19529 19530 19531 19532 19533 19534 19535 19536 19537 19538 19539 19540 19541 19542 19543 19544 19545 19546 19547 19548 19549 19550 19551 19552 19553 19554 19555 19556 19557 19558 19559 19560 19561 19562 19563 19564 19565 19566 19567 19568 19569 19570 19571 19572 19573 19574 19575 19576 19577 19578 19579 19580 19581 19582 19583 19584 19585 19586 19587 19588 19589 19590 19591 19592 19593 19594 19595 19596 19597 19598 19599 19600 19601 19602 19603 19604 19605 19606 19607 19608 19609 19610 19611 19612 19613 19614 19615 19616 19617 19618 19619 19620 19621 19622 19623 19624 19625 19626 19627 19628 19629 19630 19631 19632 19633 19634 19635 19636 19637 19638 19639 19640 19641 19642 19643 19644 19645 19646 19647 19648 19649 19650 19651 19652 19653 19654 19655 19656 19657 19658 19659 19660 19661 19662 19663 19664 19665 19666 19667 19668 19669 19670 19671 19672 19673 19674 19675 19676 19677 19678 19679 19680 19681 19682 19683 19684 19685 19686 19687 19688 19689 19690 19691 19692 19693 19694 19695 19696 19697 19698 19699 19700 19701 19702 19703 19704 19705 19706 19707 19708 19709 19710 19711 19712 19713 19714 19715 19716 19717 19718 19719 19720 19721 19722 19723 19724 19725 19726 19727 19728 19729 19730 19731 19732 19733 19734 19735 19736 19737 19738 19739 19740 19741 19742 19743 19744 19745 19746 19747 19748 19749 19750 19751 19752 19753 19754 19755 19756 19757 19758 19759 19760 19761 19762 19763 19764 19765 19766 19767 19768 19769 19770 19771 19772 19773 19774 19775 19776 19777 19778 19779 19780 19781 19782 19783 19784 19785 19786 19787 19788 19789 19790 19791 19792 19793 19794 19795 19796 19797 19798 19799 19800 19801 19802 19803 19804 19805 19806 19807 19808 19809 19810 19811 19812 19813 19814 19815 19816 19817 19818 19819 19820 19821 19822 19823 19824 19825 19826 19827 19828 19829 19830 19831 19832 19833 19834 19835 19836 19837 19838 19839 19840 19841 19842 19843 19844 19845 19846 19847 19848 19849 19850 19851 19852 19853 19854 19855 19856 19857 19858 19859 19860 19861 19862 19863 19864 19865 19866 19867 19868 19869 19870 19871 19872 19873 19874 19875 19876 19877 19878 19879 19880 19881 19882 19883 19884 19885 19886 19887 19888 19889 19890 19891 19892 19893 19894 19895 19896 19897 19898 19899 19900 19901 19902 19903 19904 19905 19906 19907 19908 19909 19910 19911 19912 19913 19914 19915 19916 19917 19918 19919 19920 19921 19922 19923 19924 19925 19926 19927 19928 19929 19930 19931 19932 19933 19934 19935 19936 19937 19938 19939 19940 19941 19942 19943 19944 19945 19946 19947 19948 19949 19950 19951 19952 19953 19954 19955 19956 19957 19958 19959 19960 19961 19962 19963 19964 19965 19966 19967 19968 19969 19970 19971 19972 19973 19974 19975 19976 19977 19978 19979 19980 19981 19982 19983 19984 19985 19986 19987 19988 19989 19990 19991 19992 19993 19994 19995 19996 19997 19998 19999 20000 20001 20002 20003 20004 20005 20006 20007 20008 20009 20010 20011 20012 20013 20014 20015 20016 20017 20018 20019 20020 20021 20022 20023 20024 20025 20026 20027 20028 20029 20030 20031 20032 20033 20034 20035 20036 20037 20038 20039 20040 20041 20042 20043 20044 20045 20046 20047 20048 20049 20050 20051 20052 20053 20054 20055 20056 20057 20058 20059 20060 20061 20062 20063 20064 20065 20066 20067 20068 20069 20070 20071 20072 20073 20074 20075 20076 20077 20078 20079 20080 20081 20082 20083 20084 20085 20086 20087 20088 20089 20090 20091 20092 20093 20094 20095 20096 20097 20098 20099 20100 20101 20102 20103 20104 20105 20106 20107 20108 20109 20110 20111 20112 20113 20114 20115 20116 20117 20118 20119 20120 20121 20122 20123 20124 20125 20126 20127 20128 20129 20130 20131 20132 20133 20134 20135 20136 20137 20138 20139 20140 20141 20142 20143 20144 20145 20146 20147 20148 20149 20150 20151 20152 20153 20154 20155 20156 20157 20158 20159 20160 20161 20162 20163 20164 20165 20166 20167 20168 20169 20170 20171 20172 20173 20174 20175 20176 20177 20178 20179 20180 20181 20182 20183 20184 20185 20186 20187 20188 20189 20190 20191 20192 20193 20194 20195 20196 20197 20198 20199 20200 20201 20202 20203 20204 20205 20206 20207 20208 20209 20210 20211 20212 20213 20214 20215 20216 20217 20218 20219 20220 20221 20222 20223 20224 20225 20226 20227 20228 20229 20230 20231 20232 20233 20234 20235 20236 20237 20238 20239 20240 20241 20242 20243 20244 20245 20246 20247 20248 20249 20250 20251 20252 20253 20254 20255 20256 20257 20258 20259 20260 20261 20262 20263 20264 20265 20266 20267 20268 20269 20270 20271 20272 20273 20274 20275 20276 20277 20278 20279 20280 20281 20282 20283 20284 20285 20286 20287 20288 20289 20290 20291 20292 20293 20294 20295 20296 20297 20298 20299 20300 20301 20302 20303 20304 20305 20306 20307 20308 20309 20310 20311 20312 20313 20314 20315 20316 20317 20318 20319 20320 20321 20322 20323 20324 20325 20326 20327 20328 20329 20330 20331 20332 20333 20334 20335 20336 20337 20338 20339 20340 20341 20342 20343 20344 20345 20346 20347 20348 20349 20350 20351 20352 20353 20354 20355 20356 20357 20358 20359 20360 20361 20362 20363 20364 20365 20366 20367 20368 20369 20370 20371 20372 20373 20374 20375 20376 20377 20378 20379 20380 20381 20382 20383 20384 20385 20386 20387 20388 20389 20390 20391 20392 20393 20394 20395 20396 20397 20398 20399 20400 20401 20402 20403 20404 20405 20406 20407 20408 20409 20410 20411 20412 20413 20414 20415 20416 20417 20418 20419 20420 20421 20422 20423 20424 20425 20426 20427 20428 20429 20430 20431 20432 20433 20434 20435 20436 20437 20438 20439 20440 20441 20442 20443 20444 20445 20446 20447 20448 20449 20450 20451 20452 20453 20454 20455 20456 20457 20458 20459 20460 20461 20462 20463 20464 20465 20466 20467 20468 20469 20470 20471 20472 20473 20474 20475 20476 20477 20478 20479 20480 20481 20482 20483 20484 20485 20486 20487 20488 20489 20490 20491 20492 20493 20494 20495 20496 20497 20498 20499 20500 20501 20502 20503 20504 20505 20506 20507 20508 20509 20510 20511 20512 20513 20514 20515 20516 20517 20518 20519 20520 20521 20522 20523 20524 20525 20526 20527 20528 20529 20530 20531 20532 20533 20534 20535 20536 20537 20538 20539 20540 20541 20542 20543 20544 20545 20546 20547 20548 20549 20550 20551 20552 20553 20554 20555 20556 20557 20558 20559 20560 20561 20562 20563 20564 20565 20566 20567 20568 20569 20570 20571 20572 20573 20574 20575 20576 20577 20578 20579 20580 20581 20582 20583 20584 20585 20586 20587 20588 20589 20590 20591 20592 20593 20594 20595 20596 20597 20598 20599 20600 20601 20602 20603 20604 20605 20606 20607 20608 20609 20610 20611 20612 20613 20614 20615 20616 20617 20618 20619 20620 20621 20622 20623 20624 20625 20626 20627 20628 20629 20630 20631 20632 20633 20634 20635 20636 20637 20638 20639 20640 20641 20642 20643 20644 20645 20646 20647 20648 20649 20650 20651 20652 20653 20654 20655 20656 20657 20658 20659 20660 20661 20662 20663 20664 20665 20666 20667 20668 20669 20670 20671 20672 20673 20674 20675 20676 20677 20678 20679 20680 20681 20682 20683 20684 20685 20686 20687 20688 20689 20690 20691 20692 20693 20694 20695 20696 20697 20698 20699 20700 20701 20702 20703 20704 20705 20706 20707 20708 20709 20710 20711 20712 20713 20714 20715 20716 20717 20718 20719 20720 20721 20722 20723 20724 20725 20726 20727 20728 20729 20730 20731 20732 20733 20734 20735 20736 20737 20738 20739 20740 20741 20742 20743 20744 20745 20746 20747 20748 20749 20750 20751 20752 20753 20754 20755 20756 20757 20758 20759 20760 20761 20762 20763 20764 20765 20766 20767 20768 20769 20770 20771 20772 20773 20774 20775 20776 20777 20778 20779 20780 20781 20782 20783 20784 20785 20786 20787 20788 20789 20790 20791 20792 20793 20794 20795 20796 20797 20798 20799 20800 20801 20802 20803 20804 20805 20806 20807 20808 20809 20810 20811 20812 20813 20814 20815 20816 20817 20818 20819 20820 20821 20822 20823 20824 20825 20826 20827 20828 20829 20830 20831 20832 20833 20834 20835 20836 20837 20838 20839 20840 20841 20842 20843 20844 20845 20846 20847 20848 20849 20850 20851 20852 20853 20854 20855 20856 20857 20858 20859 20860 20861 20862 20863 20864 20865 20866 20867 20868 20869 20870 20871 20872 20873 20874 20875 20876 20877 20878 20879 20880 20881 20882 20883 20884 20885 20886 20887 20888 20889 20890 20891 20892 20893 20894 20895 20896 20897 20898 20899 20900 20901 20902 20903 20904 20905 20906 20907 20908 20909 20910 20911 20912 20913 20914 20915 20916 20917 20918 20919 20920 20921 20922 20923 20924 20925 20926 20927 20928 20929 20930 20931 20932 20933 20934 20935 20936 20937 20938 20939 20940 20941 20942 20943 20944 20945 20946 20947 20948 20949 20950 20951 20952 20953 20954 20955 20956 20957 20958 20959 20960 20961 20962 20963 20964 20965 20966 20967 20968 20969 20970 20971 20972 20973 20974 20975 20976 20977 20978 20979 20980 20981 20982 20983 20984 20985 20986 20987 20988 20989 20990 20991 20992 20993 20994 20995 20996 20997 20998 20999 21000 21001 21002 21003 21004 21005 21006 21007 21008 21009 21010 21011 21012 21013 21014 21015 21016 21017 21018 21019 21020 21021 21022 21023 21024 21025 21026 21027 21028 21029 21030 21031 21032 21033 21034 21035 21036 21037 21038 21039 21040 21041 21042 21043 21044 21045 21046 21047 21048 21049 21050 21051 21052 21053 21054 21055 21056 21057 21058 21059 21060 21061 21062 21063 21064 21065 21066 21067 21068 21069 21070 21071 21072 21073 21074 21075 21076 21077 21078 21079 21080 21081 21082 21083 21084 21085 21086 21087 21088 21089 21090 21091 21092 21093 21094 21095 21096 21097 21098 21099 21100 21101 21102 21103 21104 21105 21106 21107 21108 21109 21110 21111 21112 21113 21114 21115 21116 21117 21118 21119 21120 21121 21122 21123 21124 21125 21126 21127 21128 21129 21130 21131 21132 21133 21134 21135 21136 21137 21138 21139 21140 21141 21142 21143 21144 21145 21146 21147 21148 21149 21150 21151 21152 21153 21154 21155 21156 21157 21158 21159 21160 21161 21162 21163 21164 21165 21166 21167 21168 21169 21170 21171 21172 21173 21174 21175 21176 21177 21178 21179 21180 21181 21182 21183 21184 21185 21186 21187 21188 21189 21190 21191 21192 21193 21194 21195 21196 21197 21198 21199 21200 21201 21202 21203 21204 21205 21206 21207 21208 21209 21210 21211 21212 21213 21214 21215 21216 21217 21218 21219 21220 21221 21222 21223 21224 21225 21226 21227 21228 21229 21230 21231 21232 21233 21234 21235 21236 21237 21238 21239 21240 21241 21242 21243 21244 21245 21246 21247 21248 21249 21250 21251 21252 21253 21254 21255 21256 21257 21258 21259 21260 21261 21262 21263 21264 21265 21266 21267 21268 21269 21270 21271 21272 21273 21274 21275 21276 21277 21278 21279 21280 21281 21282 21283 21284 21285 21286 21287 21288 21289 21290 21291 21292 21293 21294 21295 21296 21297 21298 21299 21300 21301 21302 21303 21304 21305 21306 21307 21308 21309 21310 21311 21312 21313 21314 21315 21316 21317 21318 21319 21320 21321 21322 21323 21324 21325 21326 21327 21328 21329 21330 21331 21332 21333 21334 21335 21336 21337 21338 21339 21340 21341 21342 21343 21344 21345 21346 21347 21348 21349 21350 21351 21352 21353 21354 21355 21356 21357 21358 21359 21360 21361 21362 21363 21364 21365 21366 21367 21368 21369 21370 21371 21372 21373 21374 21375 21376 21377 21378 21379 21380 21381 21382 21383 21384 21385 21386 21387 21388 21389 21390 21391 21392 21393 21394 21395 21396 21397 21398 21399 21400 21401 21402 21403 21404 21405 21406 21407 21408 21409 21410 21411 21412 21413 21414 21415 21416 21417 21418 21419 21420 21421 21422 21423 21424 21425 21426 21427 21428 21429 21430 21431 21432 21433 21434 21435 21436 21437 21438 21439 21440 21441 21442 21443 21444 21445 21446 21447 21448 21449 21450 21451 21452 21453 21454 21455 21456 21457 21458 21459 21460 21461 21462 21463 21464 21465 21466 21467 21468 21469 21470 21471 21472 21473 21474 21475 21476 21477 21478 21479 21480 21481 21482 21483 21484 21485 21486 21487 21488 21489 21490 21491 21492 21493 21494 21495 21496 21497 21498 21499 21500 21501 21502 21503 21504 21505 21506 21507 21508 21509 21510 21511 21512 21513 21514 21515 21516 21517 21518 21519 21520 21521 21522 21523 21524 21525 21526 21527 21528 21529 21530 21531 21532 21533 21534 21535 21536 21537 21538 21539 21540 21541 21542 21543 21544 21545 21546 21547 21548 21549 21550 21551 21552 21553 21554 21555 21556 21557 21558 21559 21560 21561 21562 21563 21564 21565 21566 21567 21568 21569 21570 21571 21572 21573 21574 21575 21576 21577 21578 21579 21580 21581 21582 21583 21584 21585 21586 21587 21588 21589 21590 21591 21592 21593 21594 21595 21596 21597 21598 21599 21600 21601 21602 21603 21604 21605 21606 21607 21608 21609 21610 21611 21612 21613 21614 21615 21616 21617 21618 21619 21620 21621 21622 21623 21624 21625 21626 21627 21628 21629 21630 21631 21632 21633 21634 21635 21636 21637 21638 21639 21640 21641 21642 21643 21644 21645 21646 21647 21648 21649 21650 21651 21652 21653 21654 21655 21656 21657 21658 21659 21660 21661 21662 21663 21664 21665 21666 21667 21668 21669 21670 21671 21672 21673 21674 21675 21676 21677 21678 21679 21680 21681 21682 21683 21684 21685 21686 21687 21688 21689 21690 21691 21692 21693 21694 21695 21696 21697 21698 21699 21700 21701 21702 21703 21704 21705 21706 21707 21708 21709 21710 21711 21712 21713 21714 21715 21716 21717 21718 21719 21720 21721 21722 21723 21724 21725 21726 21727 21728 21729 21730 21731 21732 21733 21734 21735 21736 21737 21738 21739 21740 21741 21742 21743 21744 21745 21746 21747 21748 21749 21750 21751 21752 21753 21754 21755 21756 21757 21758 21759 21760 21761 21762 21763 21764 21765 21766 21767 21768 21769 21770 21771 21772 21773 21774 21775 21776 21777 21778 21779 21780 21781 21782 21783 21784 21785 21786 21787 21788 21789 21790 21791 21792 21793 21794 21795 21796 21797 21798 21799 21800 21801 21802 21803 21804 21805 21806 21807 21808 21809 21810 21811 21812 21813 21814 21815 21816 21817 21818 21819 21820 21821 21822 21823 21824 21825 21826 21827 21828 21829 21830 21831 21832 21833 21834 21835 21836 21837 21838 21839 21840 21841 21842 21843 21844 21845 21846 21847 21848 21849 21850 21851 21852 21853 21854 21855 21856 21857 21858 21859 21860 21861 21862 21863 21864 21865 21866 21867 21868 21869 21870 21871 21872 21873 21874 21875 21876 21877 21878 21879 21880 21881 21882 21883 21884 21885 21886 21887 21888 21889 21890 21891 21892 21893 21894 21895 21896 21897 21898 21899 21900 21901 21902 21903 21904 21905 21906 21907 21908 21909 21910 21911 21912 21913 21914 21915 21916 21917 21918 21919 21920 21921 21922 21923 21924 21925 21926 21927 21928 21929 21930 21931 21932 21933 21934 21935 21936 21937 21938 21939 21940 21941 21942 21943 21944 21945 21946 21947 21948 21949 21950 21951 21952 21953 21954 21955 21956 21957 21958 21959 21960 21961 21962 21963 21964 21965 21966 21967 21968 21969 21970 21971 21972 21973 21974 21975 21976 21977 21978 21979 21980 21981 21982 21983 21984 21985 21986 21987 21988 21989 21990 21991 21992 21993 21994 21995 21996 21997 21998 21999 22000 22001 22002 22003 22004 22005 22006 22007 22008 22009 22010 22011 22012 22013 22014 22015 22016 22017 22018 22019 22020 22021 22022 22023 22024 22025 22026 22027 22028 22029 22030 22031 22032 22033 22034 22035 22036 22037 22038 22039 22040 22041 22042 22043 22044 22045 22046 22047 22048 22049 22050 22051 22052 22053 22054 22055 22056 22057 22058 22059 22060 22061 22062 22063 22064 22065 22066 22067 22068 22069 22070 22071 22072 22073 22074 22075 22076 22077 22078 22079 22080 22081 22082 22083 22084 22085 22086 22087 22088 22089 22090 22091 22092 22093 22094 22095 22096 22097 22098 22099 22100 22101 22102 22103 22104 22105 22106 22107 22108 22109 22110 22111 22112 22113 22114 22115 22116 22117 22118 22119 22120 22121 22122 22123 22124 22125 22126 22127 22128 22129 22130 22131 22132 22133 22134 22135 22136 22137 22138 22139 22140 22141 22142 22143 22144 22145 22146 22147 22148 22149 22150 22151 22152 22153 22154 22155 22156 22157 22158 22159 22160 22161 22162 22163 22164 22165 22166 22167 22168 22169 22170 22171 22172 22173 22174 22175 22176 22177 22178 22179 22180 22181 22182 22183 22184 22185 22186 22187 22188 22189 22190 22191 22192 22193 22194 22195 22196 22197 22198 22199 22200 22201 22202 22203 22204 22205 22206 22207 22208 22209 22210 22211 22212 22213 22214 22215 22216 22217 22218 22219 22220 22221 22222 22223 22224 22225 22226 22227 22228 22229 22230 22231 22232 22233 22234 22235 22236 22237 22238 22239 22240 22241 22242 22243 22244 22245 22246 22247 22248 22249 22250 22251 22252 22253 22254 22255 22256 22257 22258 22259 22260 22261 22262 22263 22264 22265 22266 22267 22268 22269 22270 22271 22272 22273 22274 22275 22276 22277 22278 22279 22280 22281 22282 22283 22284 22285 22286 22287 22288 22289 22290 22291 22292 22293 22294 22295 22296 22297 22298 22299 22300 22301 22302 22303 22304 22305 22306 22307 22308 22309 22310 22311 22312 22313 22314 22315 22316 22317 22318 22319 22320 22321 22322 22323 22324 22325 22326 22327 22328 22329 22330 22331 22332 22333 22334 22335 22336 22337 22338 22339 22340 22341 22342 22343 22344 22345 22346 22347 22348 22349 22350 22351 22352 22353 22354 22355 22356 22357 22358 22359 22360 22361 22362 22363 22364 22365 22366 22367 22368 22369 22370 22371 22372 22373 22374 22375 22376 22377 22378 22379 22380 22381 22382 22383 22384 22385 22386 22387 22388 22389 22390 22391 22392 22393 22394 22395 22396 22397 22398 22399 22400 22401 22402 22403 22404 22405 22406 22407 22408 22409 22410 22411 22412 22413 22414 22415 22416 22417 22418 22419 22420 22421 22422 22423 22424 22425 22426 22427 22428 22429 22430 22431 22432 22433 22434 22435 22436 22437 22438 22439 22440 22441 22442 22443 22444 22445 22446 22447 22448 22449 22450 22451 22452 22453 22454 22455 22456 22457 22458 22459 22460 22461 22462 22463 22464 22465 22466 22467 22468 22469 22470 22471 22472 22473 22474 22475 22476 22477 22478 22479 22480 22481 22482 22483 22484 22485 22486 22487 22488 22489 22490 22491 22492 22493 22494 22495 22496 22497 22498 22499 22500 22501 22502 22503 22504 22505 22506 22507 22508 22509 22510 22511 22512 22513 22514 22515 22516 22517 22518 22519 22520 22521 22522 22523 22524 22525 22526 22527 22528 22529 22530 22531 22532 22533 22534 22535 22536 22537 22538 22539 22540 22541 22542 22543 22544 22545 22546 22547 22548 22549 22550 22551 22552 22553 22554 22555 22556 22557 22558 22559 22560 22561 22562 22563 22564 22565 22566 22567 22568 22569 22570 22571 22572 22573 22574 22575 22576 22577 22578 22579 22580 22581 22582 22583 22584 22585 22586 22587 22588 22589 22590 22591 22592 22593 22594 22595 22596 22597 22598 22599 22600 22601 22602 22603 22604 22605 22606 22607 22608 22609 22610 22611 22612 22613 22614 22615 22616 22617 22618 22619 22620 22621 22622 22623 22624 22625 22626 22627 22628 22629 22630 22631 22632 22633 22634 22635 22636 22637 22638 22639 22640 22641 22642 22643 22644 22645 22646 22647 22648 22649 22650 22651 22652 22653 22654 22655 22656 22657 22658 22659 22660 22661 22662 22663 22664 22665 22666 22667 22668 22669 22670 22671 22672 22673 22674 22675 22676 22677 22678 22679 22680 22681 22682 22683 22684 22685 22686 22687 22688 22689 22690 22691 22692 22693 22694 22695 22696 22697 22698 22699 22700 22701 22702 22703 22704 22705 22706 22707 22708 22709 22710 22711 22712 22713 22714 22715 22716 22717 22718 22719 22720 22721 22722 22723 22724 22725 22726 22727 22728 22729 22730 22731 22732 22733 22734 22735 22736 22737 22738 22739 22740 22741 22742 22743 22744 22745 22746 22747 22748 22749 22750 22751 22752 22753 22754 22755 22756 22757 22758 22759 22760 22761 22762 22763 22764 22765 22766 22767 22768 22769 22770 22771 22772 22773 22774 22775 22776 22777 22778 22779 22780 22781 22782 22783 22784 22785 22786 22787 22788 22789 22790 22791 22792 22793 22794 22795 22796 22797 22798 22799 22800 22801 22802 22803 22804 22805 22806 22807 22808 22809 22810 22811 22812 22813 22814 22815 22816 22817 22818 22819 22820 22821 22822 22823 22824 22825 22826 22827 22828 22829 22830 22831 22832 22833 22834 22835 22836 22837 22838 22839 22840 22841 22842 22843 22844 22845 22846 22847 22848 22849 22850 22851 22852 22853 22854 22855 22856 22857 22858 22859 22860 22861 22862 22863 22864 22865 22866 22867 22868 22869 22870 22871 22872 22873 22874 22875 22876 22877 22878 22879 22880 22881 22882 22883 22884 22885 22886 22887 22888 22889 22890 22891 22892 22893 22894 22895 22896 22897 22898 22899 22900 22901 22902 22903 22904 22905 22906 22907 22908 22909 22910 22911 22912 22913 22914 22915 22916 22917 22918 22919 22920 22921 22922 22923 22924 22925 22926 22927 22928 22929 22930 22931 22932 22933 22934 22935 22936 22937 22938 22939 22940 22941 22942 22943 22944 22945 22946 22947 22948 22949 22950 22951 22952 22953 22954 22955 22956 22957 22958 22959 22960 22961 22962 22963 22964 22965 22966 22967 22968 22969 22970 22971 22972 22973 22974 22975 22976 22977 22978 22979 22980 22981 22982 22983 22984 22985 22986 22987 22988 22989 22990 22991 22992 22993 22994 22995 22996 22997 22998 22999 23000 23001 23002 23003 23004 23005 23006 23007 23008 23009 23010 23011 23012 23013 23014 23015 23016 23017 23018 23019 23020 23021 23022 23023 23024 23025 23026 23027 23028 23029 23030 23031 23032 23033 23034 23035 23036 23037 23038 23039 23040 23041 23042 23043 23044 23045 23046 23047 23048 23049 23050 23051 23052 23053 23054 23055 23056 23057 23058 23059 23060 23061 23062 23063 23064 23065 23066 23067 23068 23069 23070 23071 23072 23073 23074 23075 23076 23077 23078 23079 23080 23081 23082 23083 23084 23085 23086 23087 23088 23089 23090 23091 23092 23093 23094 23095 23096 23097 23098 23099 23100 23101 23102 23103 23104 23105 23106 23107 23108 23109 23110 23111 23112 23113 23114 23115 23116 23117 23118 23119 23120 23121 23122 23123 23124 23125 23126 23127 23128 23129 23130 23131 23132 23133 23134 23135 23136 23137 23138 23139 23140 23141 23142 23143 23144 23145 23146 23147 23148 23149 23150 23151 23152 23153 23154 23155 23156 23157 23158 23159 23160 23161 23162 23163 23164 23165 23166 23167 23168 23169 23170 23171 23172 23173 23174 23175 23176 23177 23178 23179 23180 23181 23182 23183 23184 23185 23186 23187 23188 23189 23190 23191 23192 23193 23194 23195 23196 23197 23198 23199 23200 23201 23202 23203 23204 23205 23206 23207 23208 23209 23210 23211 23212 23213 23214 23215 23216 23217 23218 23219 23220 23221 23222 23223 23224 23225 23226 23227 23228 23229 23230 23231 23232 23233 23234 23235 23236 23237 23238 23239 23240 23241 23242 23243 23244 23245 23246 23247 23248 23249 23250 23251 23252 23253 23254 23255 23256 23257 23258 23259 23260 23261 23262 23263 23264 23265 23266 23267 23268 23269 23270 23271 23272 23273 23274 23275 23276 23277 23278 23279 23280 23281 23282 23283 23284 23285 23286 23287 23288 23289 23290 23291 23292 23293 23294 23295 23296 23297 23298 23299 23300 23301 23302 23303 23304 23305 23306 23307 23308 23309 23310 23311 23312 23313 23314 23315 23316 23317 23318 23319 23320 23321 23322 23323 23324 23325 23326 23327 23328 23329 23330 23331 23332 23333 23334 23335 23336 23337 23338 23339 23340 23341 23342 23343 23344 23345 23346 23347 23348 23349 23350 23351 23352 23353 23354 23355 23356 23357 23358 23359 23360 23361 23362 23363 23364 23365 23366 23367 23368 23369 23370 23371 23372 23373 23374 23375 23376 23377 23378 23379 23380 23381 23382 23383 23384 23385 23386 23387 23388 23389 23390 23391 23392 23393 23394 23395 23396 23397 23398 23399 23400 23401 23402 23403 23404 23405 23406 23407 23408 23409 23410 23411 23412 23413 23414 23415 23416 23417 23418 23419 23420 23421 23422 23423 23424 23425 23426 23427 23428 23429 23430 23431 23432 23433 23434 23435 23436 23437 23438 23439 23440 23441 23442 23443 23444 23445 23446 23447 23448 23449 23450 23451 23452 23453 23454 23455 23456 23457 23458 23459 23460 23461 23462 23463 23464 23465 23466 23467 23468 23469 23470 23471 23472 23473 23474 23475 23476 23477 23478 23479 23480 23481 23482 23483 23484 23485 23486 23487 23488 23489 23490 23491 23492 23493 23494 23495 23496 23497 23498 23499 23500 23501 23502 23503 23504 23505 23506 23507 23508 23509 23510 23511 23512 23513 23514 23515 23516 23517 23518 23519 23520 23521 23522 23523 23524 23525 23526 23527 23528 23529 23530 23531 23532 23533 23534 23535 23536 23537 23538 23539 23540 23541 23542 23543 23544 23545 23546 23547 23548 23549 23550 23551 23552 23553 23554 23555 23556 23557 23558 23559 23560 23561 23562 23563 23564 23565 23566 23567 23568 23569 23570 23571 23572 23573 23574 23575 23576 23577 23578 23579 23580 23581 23582 23583 23584 23585 23586 23587 23588 23589 23590 23591 23592 23593 23594 23595 23596 23597 23598 23599 23600 23601 23602 23603 23604 23605 23606 23607 23608 23609 23610 23611 23612 23613 23614 23615 23616 23617 23618 23619 23620 23621 23622 23623 23624 23625 23626 23627 23628 23629 23630 23631 23632 23633 23634 23635 23636 23637 23638 23639 23640 23641 23642 23643 23644 23645 23646 23647 23648 23649 23650 23651 23652 23653 23654 23655 23656 23657 23658 23659 23660 23661 23662 23663 23664 23665 23666 23667 23668 23669 23670 23671 23672 23673 23674 23675 23676 23677 23678 23679 23680 23681 23682 23683 23684 23685 23686 23687 23688 23689 23690 23691 23692 23693 23694 23695 23696 23697 23698 23699 23700 23701 23702 23703 23704 23705 23706 23707 23708 23709 23710 23711 23712 23713 23714 23715 23716 23717 23718 23719 23720 23721 23722 23723 23724 23725 23726 23727 23728 23729 23730 23731 23732 23733 23734 23735 23736 23737 23738 23739 23740 23741 23742 23743 23744 23745 23746 23747 23748 23749 23750 23751 23752 23753 23754 23755 23756 23757 23758 23759 23760 23761 23762 23763 23764 23765 23766 23767 23768 23769 23770 23771 23772 23773 23774 23775 23776 23777 23778 23779 23780 23781 23782 23783 23784 23785 23786 23787 23788 23789 23790 23791 23792 23793 23794 23795 23796 23797 23798 23799 23800 23801 23802 23803 23804 23805 23806 23807 23808 23809 23810 23811 23812 23813 23814 23815 23816 23817 23818 23819 23820 23821 23822 23823 23824 23825 23826 23827 23828 23829 23830 23831 23832 23833 23834 23835 23836 23837 23838 23839 23840 23841 23842 23843 23844 23845 23846 23847 23848 23849 23850 23851 23852 23853 23854 23855 23856 23857 23858 23859 23860 23861 23862 23863 23864 23865 23866 23867 23868 23869 23870 23871 23872 23873 23874 23875 23876 23877 23878 23879 23880 23881 23882 23883 23884 23885 23886 23887 23888 23889 23890 23891 23892 23893 23894 23895 23896 23897 23898 23899 23900 23901 23902 23903 23904 23905 23906 23907 23908 23909 23910 23911 23912 23913 23914 23915 23916 23917 23918 23919 23920 23921 23922 23923 23924 23925 23926 23927 23928 23929 23930 23931 23932 23933 23934 23935 23936 23937 23938 23939 23940 23941 23942 23943 23944 23945 23946 23947 23948 23949 23950 23951 23952 23953 23954 23955 23956 23957 23958 23959 23960 23961 23962 23963 23964 23965 23966 23967 23968 23969 23970 23971 23972 23973 23974 23975 23976 23977 23978 23979 23980 23981 23982 23983 23984 23985 23986 23987 23988 23989 23990 23991 23992 23993 23994 23995 23996 23997 23998 23999 24000 24001 24002 24003 24004 24005 24006 24007 24008 24009 24010 24011 24012 24013 24014 24015 24016 24017 24018 24019 24020 24021 24022 24023 24024 24025 24026 24027 24028 24029 24030 24031 24032 24033 24034 24035 24036 24037 24038 24039 24040 24041 24042 24043 24044 24045 24046 24047 24048 24049 24050 24051 24052 24053 24054 24055 24056 24057 24058 24059 24060 24061 24062 24063 24064 24065 24066 24067 24068 24069 24070 24071 24072 24073 24074 24075 24076 24077 24078 24079 24080 24081 24082 24083 24084 24085 24086 24087 24088 24089 24090 24091 24092 24093 24094 24095 24096 24097 24098 24099 24100 24101 24102 24103 24104 24105 24106 24107 24108 24109 24110 24111 24112 24113 24114 24115 24116 24117 24118 24119 24120 24121 24122 24123 24124 24125 24126 24127 24128 24129 24130 24131 24132 24133 24134 24135 24136 24137 24138 24139 24140 24141 24142 24143 24144 24145 24146 24147 24148 24149 24150 24151 24152 24153 24154 24155 24156 24157 24158 24159 24160 24161 24162 24163 24164 24165 24166 24167 24168 24169 24170 24171 24172 24173 24174 24175 24176 24177 24178 24179 24180 24181 24182 24183 24184 24185 24186 24187 24188 24189 24190 24191 24192 24193 24194 24195 24196 24197 24198 24199 24200 24201 24202 24203 24204 24205 24206 24207 24208 24209 24210 24211 24212 24213 24214 24215 24216 24217 24218 24219 24220 24221 24222 24223 24224 24225 24226 24227 24228 24229 24230 24231 24232 24233 24234 24235 24236 24237 24238 24239 24240 24241 24242 24243 24244 24245 24246 24247 24248 24249 24250 24251 24252 24253 24254 24255 24256 24257 24258 24259 24260 24261 24262 24263 24264 24265 24266 24267 24268 24269 24270 24271 24272 24273 24274 24275 24276 24277 24278 24279 24280 24281 24282 24283 24284 24285 24286 24287 24288 24289 24290 24291 24292 24293 24294 24295 24296 24297 24298 24299 24300 24301 24302 24303 24304 24305 24306 24307 24308 24309 24310 24311 24312 24313 24314 24315 24316 24317 24318 24319 24320 24321 24322 24323 24324 24325 24326 24327 24328 24329 24330 24331 24332 24333 24334 24335 24336 24337 24338 24339 24340 24341 24342 24343 24344 24345 24346 24347 24348 24349 24350 24351 24352 24353 24354 24355 24356 24357 24358 24359 24360 24361 24362 24363 24364 24365 24366 24367 24368 24369 24370 24371 24372 24373 24374 24375 24376 24377 24378 24379 24380 24381 24382 24383 24384 24385 24386 24387 24388 24389 24390 24391 24392 24393 24394 24395 24396 24397 24398 24399 24400 24401 24402 24403 24404 24405 24406 24407 24408 24409 24410 24411 24412 24413 24414 24415 24416 24417 24418 24419 24420 24421 24422 24423 24424 24425 24426 24427 24428 24429 24430 24431 24432 24433 24434 24435 24436 24437 24438 24439 24440 24441 24442 24443 24444 24445 24446 24447 24448 24449 24450 24451 24452 24453 24454 24455 24456 24457 24458 24459 24460 24461 24462 24463 24464 24465 24466 24467 24468 24469 24470 24471 24472 24473 24474 24475 24476 24477 24478 24479 24480 24481 24482 24483 24484 24485 24486 24487 24488 24489 24490 24491 24492 24493 24494 24495 24496 24497 24498 24499 24500 24501 24502 24503 24504 24505 24506 24507 24508 24509 24510 24511 24512 24513 24514 24515 24516 24517 24518 24519 24520 24521 24522 24523 24524 24525 24526 24527 24528 24529 24530 24531 24532 24533 24534 24535 24536 24537 24538 24539 24540 24541 24542 24543 24544 24545 24546 24547 24548 24549 24550 24551 24552 24553 24554 24555 24556 24557 24558 24559 24560 24561 24562 24563 24564 24565 24566 24567 24568 24569 24570 24571 24572 24573 24574 24575 24576 24577 24578 24579 24580 24581 24582 24583 24584 24585 24586 24587 24588 24589 24590 24591 24592 24593 24594 24595 24596 24597 24598 24599 24600 24601 24602 24603 24604 24605 24606 24607 24608 24609 24610 24611 24612 24613 24614 24615 24616 24617 24618 24619 24620 24621 24622 24623 24624 24625 24626 24627 24628 24629 24630 24631 24632 24633 24634 24635 24636 24637 24638 24639 24640 24641 24642 24643 24644 24645 24646 24647 24648 24649 24650 24651 24652 24653 24654 24655 24656 24657 24658 24659 24660 24661 24662 24663 24664 24665 24666 24667 24668 24669 24670 24671 24672 24673 24674 24675 24676 24677 24678 24679 24680 24681 24682 24683 24684 24685 24686 24687 24688 24689 24690 24691 24692 24693 24694 24695 24696 24697 24698 24699 24700 24701 24702 24703 24704 24705 24706 24707 24708 24709 24710 24711 24712 24713 24714 24715 24716 24717 24718 24719 24720 24721 24722 24723 24724 24725 24726 24727 24728 24729 24730 24731 24732 24733 24734 24735 24736 24737 24738 24739 24740 24741 24742 24743 24744 24745 24746 24747 24748 24749 24750 24751 24752 24753 24754 24755 24756 24757 24758 24759 24760 24761 24762 24763 24764 24765 24766 24767 24768 24769 24770 24771 24772 24773 24774 24775 24776 24777 24778 24779 24780 24781 24782 24783 24784 24785 24786 24787 24788 24789 24790 24791 24792 24793 24794 24795 24796 24797 24798 24799 24800 24801 24802 24803 24804 24805 24806 24807 24808 24809 24810 24811 24812 24813 24814 24815 24816 24817 24818 24819 24820 24821 24822 24823 24824 24825 24826 24827 24828 24829 24830 24831 24832 24833 24834 24835 24836 24837 24838 24839 24840 24841 24842 24843 24844 24845 24846 24847 24848 24849 24850 24851 24852 24853 24854 24855 24856 24857 24858 24859 24860 24861 24862 24863 24864 24865 24866 24867 24868 24869 24870 24871 24872 24873 24874 24875 24876 24877 24878 24879 24880 24881 24882 24883 24884 24885 24886 24887 24888 24889 24890 24891 24892 24893 24894 24895 24896 24897 24898 24899 24900 24901 24902 24903 24904 24905 24906 24907 24908 24909 24910 24911 24912 24913 24914 24915 24916 24917 24918 24919 24920 24921 24922 24923 24924 24925 24926 24927 24928 24929 24930 24931 24932 24933 24934 24935 24936 24937 24938 24939 24940 24941 24942 24943 24944 24945 24946 24947 24948 24949 24950 24951 24952 24953 24954 24955 24956 24957 24958 24959 24960 24961 24962 24963 24964 24965 24966 24967 24968 24969 24970 24971 24972 24973 24974 24975 24976 24977 24978 24979 24980 24981 24982 24983 24984 24985 24986 24987 24988 24989 24990 24991 24992 24993 24994 24995 24996 24997 24998 24999 25000 25001 25002 25003 25004 25005 25006 25007 25008 25009 25010 25011 25012 25013 25014 25015 25016 25017 25018 25019 25020 25021 25022 25023 25024 25025 25026 25027 25028 25029 25030 25031 25032 25033 25034 25035 25036 25037 25038 25039 25040 25041 25042 25043 25044 25045 25046 25047 25048 25049 25050 25051 25052 25053 25054 25055 25056 25057 25058 25059 25060 25061 25062 25063 25064 25065 25066 25067 25068 25069 25070 25071 25072 25073 25074 25075 25076 25077 25078 25079 25080 25081 25082 25083 25084 25085 25086 25087 25088 25089 25090 25091 25092 25093 25094 25095 25096 25097 25098 25099 25100 25101 25102 25103 25104 25105 25106 25107 25108 25109 25110 25111 25112 25113 25114 25115 25116 25117 25118 25119 25120 25121 25122 25123 25124 25125 25126 25127 25128 25129 25130 25131 25132 25133 25134 25135 25136 25137 25138 25139 25140 25141 25142 25143 25144 25145 25146 25147 25148 25149 25150 25151 25152 25153 25154 25155 25156 25157 25158 25159 25160 25161 25162 25163 25164 25165 25166 25167 25168 25169 25170 25171 25172 25173 25174 25175 25176 25177 25178 25179 25180 25181 25182 25183 25184 25185 25186 25187 25188 25189 25190 25191 25192 25193 25194 25195 25196 25197 25198 25199 25200 25201 25202 25203 25204 25205 25206 25207 25208 25209 25210 25211 25212 25213 25214 25215 25216 25217 25218 25219 25220 25221 25222 25223 25224 25225 25226 25227 25228 25229 25230 25231 25232 25233 25234 25235 25236 25237 25238 25239 25240 25241 25242 25243 25244 25245 25246 25247 25248 25249 25250 25251 25252 25253 25254 25255 25256 25257 25258 25259 25260 25261 25262 25263 25264 25265 25266 25267 25268 25269 25270 25271 25272 25273 25274 25275 25276 25277 25278 25279 25280 25281 25282 25283 25284 25285 25286 25287 25288 25289 25290 25291 25292 25293 25294 25295 25296 25297 25298 25299 25300 25301 25302 25303 25304 25305 25306 25307 25308 25309 25310 25311 25312 25313 25314 25315 25316 25317 25318 25319 25320 25321 25322 25323 25324 25325 25326 25327 25328 25329 25330 25331 25332 25333 25334 25335 25336 25337 25338 25339 25340 25341 25342 25343 25344 25345 25346 25347 25348 25349 25350 25351 25352 25353 25354 25355 25356 25357 25358 25359 25360 25361 25362 25363 25364 25365 25366 25367 25368 25369 25370 25371 25372 25373 25374 25375 25376 25377 25378 25379 25380 25381 25382 25383 25384 25385 25386 25387 25388 25389 25390 25391 25392 25393 25394 25395 25396 25397 25398 25399 25400 25401 25402 25403 25404 25405 25406 25407 25408 25409 25410 25411 25412 25413 25414 25415 25416 25417 25418 25419 25420 25421 25422 25423 25424 25425 25426 25427 25428 25429 25430 25431 25432 25433 25434 25435 25436 25437 25438 25439 25440 25441 25442 25443 25444 25445 25446 25447 25448 25449 25450 25451 25452 25453 25454 25455 25456 25457 25458 25459 25460 25461 25462 25463 25464 25465 25466 25467 25468 25469 25470 25471 25472 25473 25474 25475 25476 25477 25478 25479 25480 25481 25482 25483 25484 25485 25486 25487 25488 25489 25490 25491 25492 25493 25494 25495 25496 25497 25498 25499 25500 25501 25502 25503 25504 25505 25506 25507 25508 25509 25510 25511 25512 25513 25514 25515 25516 25517 25518 25519 25520 25521 25522 25523 25524 25525 25526 25527 25528 25529 25530 25531 25532 25533 25534 25535 25536 25537 25538 25539 25540 25541 25542 25543 25544 25545 25546 25547 25548 25549 25550 25551 25552 25553 25554 25555 25556 25557 25558 25559 25560 25561 25562 25563 25564 25565 25566 25567 25568 25569 25570 25571 25572 25573 25574 25575 25576 25577 25578 25579 25580 25581 25582 25583 25584 25585 25586 25587 25588 25589 25590 25591 25592 25593 25594 25595 25596 25597 25598 25599 25600 25601 25602 25603 25604 25605 25606 25607 25608 25609 25610 25611 25612 25613 25614 25615 25616 25617 25618 25619 25620 25621 25622 25623 25624 25625 25626 25627 25628 25629 25630 25631 25632 25633 25634 25635 25636 25637 25638 25639 25640 25641 25642 25643 25644 25645 25646 25647 25648 25649 25650 25651 25652 25653 25654 25655 25656 25657 25658 25659 25660 25661 25662 25663 25664 25665 25666 25667 25668 25669 25670 25671 25672 25673 25674 25675 25676 25677 25678 25679 25680 25681 25682 25683 25684 25685 25686 25687 25688 25689 25690 25691 25692 25693 25694 25695 25696 25697 25698 25699 25700 25701 25702 25703 25704 25705 25706 25707 25708 25709 25710 25711 25712 25713 25714 25715 25716 25717 25718 25719 25720 25721 25722 25723 25724 25725 25726 25727 25728 25729 25730 25731 25732 25733 25734 25735 25736 25737 25738 25739 25740 25741 25742 25743 25744 25745 25746 25747 25748 25749 25750 25751 25752 25753 25754 25755 25756 25757 25758 25759 25760 25761 25762 25763 25764 25765 25766 25767 25768 25769 25770 25771 25772 25773 25774 25775 25776 25777 25778 25779 25780 25781 25782 25783 25784 25785 25786 25787 25788 25789 25790 25791 25792 25793 25794 25795 25796 25797 25798 25799 25800 25801 25802 25803 25804 25805 25806 25807 25808 25809 25810 25811 25812 25813 25814 25815 25816 25817 25818 25819 25820 25821 25822 25823 25824 25825 25826 25827 25828 25829 25830 25831 25832 25833 25834 25835 25836 25837 25838 25839 25840 25841 25842 25843 25844 25845 25846 25847 25848 25849 25850 25851 25852 25853 25854 25855 25856 25857 25858 25859 25860 25861 25862 25863 25864 25865 25866 25867 25868 25869 25870 25871 25872 25873 25874 25875 25876 25877 25878 25879 25880 25881 25882 25883 25884 25885 25886 25887 25888 25889 25890 25891 25892 25893 25894 25895 25896 25897 25898 25899 25900 25901 25902 25903 25904 25905 25906 25907 25908 25909 25910 25911 25912 25913 25914 25915 25916 25917 25918 25919 25920 25921 25922 25923 25924 25925 25926 25927 25928 25929 25930 25931 25932 25933 25934 25935 25936 25937 25938 25939 25940 25941 25942 25943 25944 25945 25946 25947 25948 25949 25950 25951 25952 25953 25954 25955 25956 25957 25958 25959 25960 25961 25962 25963 25964 25965 25966 25967 25968 25969 25970 25971 25972 25973 25974 25975 25976 25977 25978 25979 25980 25981 25982 25983 25984 25985 25986 25987 25988 25989 25990 25991 25992 25993 25994 25995 25996 25997 25998 25999 26000 26001 26002 26003 26004 26005 26006 26007 26008 26009 26010 26011 26012 26013 26014 26015 26016 26017 26018 26019 26020 26021 26022 26023 26024 26025 26026 26027 26028 26029 26030 26031 26032 26033 26034 26035 26036 26037 26038 26039 26040 26041 26042 26043 26044 26045 26046 26047 26048 26049 26050 26051 26052 26053 26054 26055 26056 26057 26058 26059 26060 26061 26062 26063 26064 26065
|
2020-11-18 Jim Meyering <meyering@fb.com>
version 1.16.3
* configure.ac (AC_INIT): Bump version number to 1.16.3.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
* NEWS: Record release version.
2020-11-16 Jim Meyering <meyering@fb.com>
tests: correct preceding change.
* t/auxdir-pr19311.sh: Fix error in case stmt and match more
upcoming versions.
2020-11-16 Jim Meyering <meyering@fb.com>
tests: auxdir-pr19311.sh no longer fails with latest autoconf
* t/list-of-tests.mk (XFAIL_TESTS): Remove from this list.
* t/auxdir-pr19311.sh: Instead, run this test only when autoconf
is 2.69d or newer. Otherwise, skip it.
2020-11-16 Jim Meyering <meyering@fb.com>
maint: placate maintainer-check's rm -f check
* t/vala-recursive-setup.sh: Add an unnecessary -f option
to an rm invocation to avoid "make maintainer-check" failure.
2020-11-15 Jim Meyering <meyering@fb.com>
maint: Update files from upstream with 'make fetch'
* lib/config.guess: Update.
* lib/config.sub: Likewise.
* lib/texinfo.tex: Likewise.
2020-11-15 Jim Meyering <meyering@fb.com>
tests: avoid missing .dvi failure with parallel tests
* t/txinfo-no-clutter.sh: Tests of texinfo-related rules
had overlap that made them fail often when some rules were
run in parallel, so inhibit parallelism in that one directory.
See discussion starting at
https://lists.gnu.org/r/automake-patches/2020-11/msg00011.html
2020-11-15 Jim Meyering <meyering@fb.com>
tests: protect against parallel false failure
* t/parallel-tests-console-output.sh: Do not depend on the order
of items in test summary. With a parallel test run, they may
appear in a different order, e.g., when running tests like this:
make check AM_TESTSUITE_MAKE='make -j14'
Sort the expected output and the actual output before comparing.
2020-11-15 Jim Meyering <meyering@fb.com>
doc: fix quoting in suggested parallel test invocation
* t/README: Fix reversed single/double quotes.
2020-11-14 Jim Meyering <meyering@fb.com>
tests: accommodate an $ac_aux_dir of "." or "./"
* t/auxdir-pr15981.sh: This test would fail when run with
autoconf-2.69d because $ac_aux_dir would be "./" rather than
the expected ".". Accept both.
2020-11-14 Jim Meyering <meyering@fb.com>
tests: avoid failures due to missing ar-lib
* t/ar4.sh: Create dummy ar-lib, as done in other tests,
to avoid failure like this:
configure: error: cannot find required auxiliary files: ar-lib
* t/ar5.sh: Likewise.
2020-11-13 Karl Berry <karl@freefriends.org>
install-sh: trailing whitespace.
* lib/install-sh: remove trailing whitespace. Sigh.
(scriptversion): 2020-11-14.01
2020-11-13 Robert Menteer <reetnem@mac.com>
dejagnu: quote `pwd` when writing "set objdir" line to site.exp.
This change fixes https://bugs.gnu.org/44600.
* lib/am/dejagnu.am (site.exp): quote set objdir line.
* NEWS: mention this.
2020-11-12 Karl Berry <karl@freefriends.org>
install-sh: new option -S SUFFIX for simple file backups.
* lib/install-sh: implement and document -S.
Patch sent by Julien Elie:
https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00004.html
(scriptversion): 2020-11-13.01
* t/install-sh-option-S.sh: new test.
* t/list-of-tests.mk (handwritten_tests): add it.
* NEWS: mention it.
2020-11-10 Karl Berry <karl@freefriends.org>
install-sh: --help tweaks.
* lib/install-sh (usage): avoid too-long line, mention
bug reporting address (bug-automake) and automake home page.
2020-11-10 Karl Berry <karl@freefriends.org>
install-sh: new option -p to preserve mtime.
* lib/install-sh: new option -p to call cp -p.
Idea from patch sent by Julien Elie:
https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00002.html
(scriptversion): 2020-11-11.02
* NEWS: mention this.
2020-11-10 Karl Berry <karl@freefriends.org>
2020-11-10 Karl Berry <karl@freefriends.org>
vala: forgot to update lists-of-tests.mk.
* t/list-of-tests.mk (handwritten_tests): include
t/vala-libs-distcheck.sh and t/vala-libs-vpath.sh.
Should have been committed with 2020-10-29 vala change,
but somehow missed.
2020-11-10 Karl Berry <karl@freefriends.org>
2020-11-10 Karl Berry <karl@freefriends.org>
install-sh: do not chown existing directories.
* lib/install-sh: do not chown existing directories.
Original patch sent by Julien Elie:
https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00003.html
(scriptversion): 2020-11-11.01
* NEWS: mention this.
2020-11-10 Karl Berry <karl@freefriends.org>
install-sh: do not redundantly specify -f to rm.
* lib/install-sh: do not redundantly specify -f to rm.
Mention implication for RMPROG in the --help message.
Original patch sent by Julien Elie:
https://lists.gnu.org/archive/html/automake-patches/2018-03/msg00005.html
* NEWS: mention this.
2020-11-07 Reuben Thomas <rrt@sc3d.org>
vala: improve support, especially builddir vs. srcdir.
This change fixes https://bugs.gnu.org/13002.
* NEWS: mention these changes.
* bin/automake.in: generated C files go in builddir, not srcdir.
Distribute the header files generated from VAPI files.
* t/vala-libs-distcheck.sh: new test for `make distcheck' of a
Vala library.
* t/vala-libs-vpath.sh: new test for a VPATH build of a Vala library.
* t/vala-libs.sh: add local VAPIs used as external --package to test.
* t/vala-recursive-setup.sh: we need to make
maintainer-clean at one point to remove stamp files to avoid
confusing a VPATH build performed after a non-VPATH build.
* t/vala-non-recursive-setup.sh: likewise.
* t/vala-parallel.sh: some test paths need changing to take into
account that generated C files now go in builddir.
* t/vala-per-target-flags.sh: likewise.
* t/vala-recursive-setup.sh: likewise.
* t/vala-vpath.sh: likewise.
2020-11-07 Karl Berry <karl@freefriends.org>
tests: recompute dependencies when lists-of-tests.mk changes.
This change fixes https://bugs.gnu.org/44458
and updates https://bugs.gnu.org/11347.
* t/local.mk ($(srcdir)/%D/testsuite-part.am): restore
dependency on '%D/list-of-tests.mk' (i.e., t/list-of-tests.mk),
partially reverting the change of 26 Apr 2012 for bug#11347.
Otherwise, new tests that have dependencies will not cause an
update of testsuite-part.am, leading to strange failures
(bug#44458). The original problem being fixed in #11347 was
unnecessary rebuilding when modifying tests; that should not be
affected here, but when new tests are added, it seems reasonable,
as well as necessary, to ensure dependencies are updated.
2020-10-27 Miro Hron\v{c}ok <miro@hroncok.cz>
python: determine Python (3.10) version number correctly.
This change fixes https://bugs.gnu.org/44239
(and https://bugzilla.redhat.com/show_bug.cgi?id=1889732).
* m4/python.m4: use print('%u.%u' % sys.version_info[:2]) for
the version number instead of merely sys.version[:3], so the
numbers are treated as numbers.
* t/python-vars.sh (PYTHON_VERSION): Likewise.
* doc/automake.texi: Document it.
* NEWS: mention it. (Minor tweaks from Karl Berry.)
2020-10-23 Jim Meyering <meyering@fb.com>
doc: correct "moved in", to "moved to"
* NEWS: Correct wording.
* contrib/README: Likewise.
* doc/automake.texi: Likewise.
2020-10-23 Reuben Thomas <rrt@sc3d.org>
contrib/README: fix and clarify the English
2020-10-23 Reuben Thomas <rrt@sc3d.org>
Improve Vala compiler detection: use API version, not compiler version
* m4/vala.m4: check `valac --api-version', not `valac --version'.
* doc/automake.texi: update documentation.
2020-10-07 Zack Weinberg <zackw@panix.com>
Use complete configure.ac’s in testsuite.
Autoconf 2.70 will issue warnings if it encounters a configure.ac that doesn’t
call both AC_INIT and AC_OUTPUT.
Automake already issues warnings if it encounters a configure.ac that uses an
AM_ macro but doesn’t call AM_INIT_AUTOMAKE or AC_CONFIG_FILES([Makefile]).
In two places, the testsuite was tripping these warnings, leading to spurious
failures with Autoconf 2.70 betas.
* t/aminit-moreargs-deprecation.sh: Add AC_OUTPUT to test configure.ac.
* t/mkdirp-deprecation.sh: Use a complete test configure.ac, not a stub
containing only a use of AM_PROG_MKDIR_P.
2020-10-06 Karl Berry <karl@freefriends.org>
automake: install-exec did not depend on $(BUILT_SOURCES).
This change fixes https://bugs.gnu.org/43683.
* lib/am/install.am (install-exec): %maybe_BUILT_SOURCES% dependency,
twice. Basic patch from madmurphy (tiny change), message#8.
(.MAKE) [maybe_BUILT_SOURCES]: depend on install-exec.
* NEWS: mention it.
* doc/automake.texi (Sources): mention this (also that make dist
depends on $(BUILT_SOURCES)).
* t/built-sources-install-exec.sh: new test.
* t/list-of-tests.mk (handwritten_TESTS): add it.
* t/built-sources-install.sh: typo.
* t/built-sources-check.sh: typo.
2020-09-21 Zack Weinberg <zackw@panix.com>
Update documentation of warnings options and strictness levels.
The warning categories ‘cross’ and ‘portability-recursive’ were not mentioned
in the manual.
Also clarify the relationship between warnings categories and strictness
levels, and streamline the description of strictness levels by merging the
“Gnits” section into the “Strictness” section.
* doc/automake.texi (Gnits, Strictness): Combine these sections.
Minor revisions to explanation of strictness levels.
(automake Invocation): Add documentation of all the warnings
categories that have been added since the last time this section
was updated. Minor clarifications.
2020-09-21 Zack Weinberg <zackw@panix.com>
Use WARNINGS=none to suppress warnings from autom4te runs.
aclocal uses autom4te in trace mode to scan configure.ac for macros whose
definition is not yet available. It has a kludge to prevent this from
producing spurious warnings, but a cleaner, fully backward compatible, way to
get the same effect is to set WARNINGS=none in the environment and not pass
down any -W options. (This is better than passing -Wnone on the command line
because it automatically inherits to any subprocesses started by autom4te.)
Perl’s ‘local’ feature can be used to make the enviironment variable setting
temporary, reverting to the previous value when we exit the function.
automake also runs autom4te (technically autoconf) in trace mode; warnings
from this invocation will not be *spurious*, but in the common case where
the person running automake is going to run autoconf next, they will be
duplicated. Therefore, make the same change to automake.
* bin/aclocal.in (trace_used_macros)
* bin/automake.in (scan_autoconf_traces):
Use “local $ENV{WARNINGS}='none'” to suppress warnings from autom4te.
2020-09-18 Zack Weinberg <zackw@panix.com>
New utility function Automake::ChannelDefs::merge_WARNINGS.
This function merges a list of warnings categories into the environment
variable WARNINGS, returning a new value to set it to. The intended use
is in code of the form
{
local $ENV{WARNINGS} = merge_WARNINGS ("this", "that");
# run a command here with WARNINGS=this,that,etc
}
This is not actually used in automake, but will be in autoconf.
* lib/Automake/ChannelDefs.pm (merge_WARNINGS): New function.
2020-09-12 Zack Weinberg <zackw@panix.com>
t/python-virtualenv.sh: Skip when versions don’t match
On some operating systems ‘python’ is Python 2.x but ‘virtualenv -ppython’
will create a virtualenv that uses Python 3.x. This is a bug, but it’s
not *automake’s* bug, and should not cause t/python-virtualenv.sh to fail.
Skip the test, instead of failing it, when the inner=outer version check
fails.
(This also has nothing to do with the main goal of this patchset, it just
annoyed me while I was testing.)
* t/python-virtualenv.sh: Skip test, rather than failing it, when
$py_version_pre != $py_version_post.
2020-09-12 Zack Weinberg <zackw@panix.com>
Consistently use ‘our’ instead of ‘use vars’.
At file scope of a file containing at most one ‘package’ declaration,
‘use vars’ is exactly equivalent to ‘our’, and the latter is preferred
starting with Perl 5.6.0, which happens to be the oldest version we
support.
(This change has nothing to do with the previous two, but I want to make the
same change in Autoconf and that means doing it here for all the files synced
from Automake.)
(I don’t know why, but this change exposed a latent bug in FileUtils.pm where
the last pod block in the file didn’t have a ‘=cut’ delimiter, so the code
after it was considered documentation, causing ‘require FileUtils’ to fail.)
* lib/Automake/ChannelDefs.pm
* lib/Automake/Channels.pm
* lib/Automake/Condition.pm
* lib/Automake/Configure_ac.pm
* lib/Automake/DisjConditions.pm
* lib/Automake/FileUtils.pm
* lib/Automake/General.pm
* lib/Automake/Getopt.pm
* lib/Automake/Options.pm
* lib/Automake/Rule.pm
* lib/Automake/RuleDef.pm
* lib/Automake/VarDef.pm
* lib/Automake/Variable.pm
* lib/Automake/Wrap.pm
* lib/Automake/XFile.pm:
Replace all uses of ‘use vars’ with ‘our’.
* lib/Automake/FileUtils.pm:
Add missing ‘=cut’ to a pod block near the end of the file.
2020-09-12 Zack Weinberg <zackw@panix.com>
Consistently process -W(no-)error after all other warning options.
automake and aclocal were processing ‘-W(no-)error’ whenever it
appeared on the command line, which means that
‘-Werror,something-strange’ would issue a hard error, but
‘-Wsomething-strange,error’ would only issue a warning.
It is not desirable for warnings about unknown warning categories ever to be
treated as a hard error; that leads to problems for driver scripts like
autoreconf, which would like to pass whatever -W options it got on its own
command line down to all the tools and not worry about which tools understand
which warning categories. Also, this sort of order dependence is confusing
for humans.
Change parse_warnings to take just one option, the _complete_ list of warning
categories seen on the command line, and to process -Werror / -Wno-error after
processing all other warnings options. Thus, unknown warnings categories will
always just be a plain warning. This does mean aclocal has to stop using
parse_warnings as a Getopt::Long callback, but that’s not a big deal.
Similarly, change parse_WARNINGS to record whether ‘error’ appeared in the
environment variable, but not activate warnings-are-errors mode itself.
parse_warnings picks up the record and honors it, unless it’s overridden by
the command line.
* lib/Automake/ChannelDefs.pm ($werror): New package global (not exported).
(parse_WARNINGS): Do not call switch_warning for ‘error’ / ‘no-error’;
just toggle the value of $werror.
(parse_warnings): Do not call switch_warning immediately for
‘error’ / ‘no-error’; toggle $werror instead. Call switch_warning ‘error’
at the very end if $werror is true. Remove unused $OPTION argument.
* bin/automake.in: parse_warnings now takes only one argument.
* bin/aclocal.in: Call parse_warnings after parse_options instead of
using it as a parse_options callback.
2020-09-11 Zack Weinberg <zackw@panix.com>
Sync ChannelDefs.pm from autoconf.
ChannelDefs.pm *ought* to be kept in sync between automake and autoconf,
because it defines the set of valid -W options, and autoreconf assumes
that it can pass arbitrary -W options to all of the tools it invokes.
However, it isn’t covered by either project’s ‘make fetch’ and it hasn’t
actually *been* in sync for more than 17 years.
This patch manually brings over all of the changes made on the autoconf side.
Most importantly, there is a new warnings channel ‘cross’, for warnings
related to cross-compilation. Also, the ‘usage’ function now *returns*
the text to be put into a usage message, instead of printing it itself.
(This is necessary on autoconf’s side.)
* lib/Automake/ChannelDefs.pm: Sync from autoconf.
(cross): New warnings channel.
(portability-recursive): Document.
(usage): Now returns the text to be printed, instead of printing it.
(parse_warnings): Second argument may now be a list.
2020-09-05 Zack Weinberg <zackw@panix.com>
automake: be robust against directories containing ().
This change fixes https://bugs.gnu.org/14196.
* m4/missing.m4 (AM_MISSING_HAS_RUN): always quote the
invocation (not just if $am_aux_dir contains space or tab), in
case $am_aux_dir contains () or other metachars not rejected by
AM_SANITY_CHECK; quoting with '...' suggested by Jim Meyering.
* t/man6.sh (HELP2MAN): adjust grep since missing value
is quoted now.
* t/am-missing-prog.sh: likewise.
2020-09-04 Issam E. Maghni <issam.e.maghni@mailbox.org>
maint: Update files from upstream with 'make fetch'
* lib/config.guess: Update.
* lib/config.sub: Likewise.
* lib/gendocs_template: Likewise.
* lib/gitlog-to-changelog: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.
2020-08-31 Zack Weinberg <zackw@panix.com>
perl: use warnings instead of -w; consistent ordering of use, etc.
Per thread at:
https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00009.html
* bin/aclocal.in: use warnings instead of #!...-w;
consistent ordering of basic "use" directives,
then BEGIN block,
then standard modules in ASCII order,
then Automake:: modules (not sort),
finally use vars.
Also sort @ISA lists and use qw(...) in ASCII order.
* bin/automake.in: likewise.
* lib/Automake/ChannelDefs.pm: likewise.
* lib/Automake/Channels.pm: likewise.
* lib/Automake/Condition.pm: likewise.
* lib/Automake/Config.in: likewise.
* lib/Automake/Configure_ac.pm: likewise.
* lib/Automake/DisjConditions.pm: likewise.
* lib/Automake/FileUtils.pm: likewise.
* lib/Automake/General.pm: likewise.
* lib/Automake/Getopt.pm: likewise.
* lib/Automake/Item.pm: likewise.
* lib/Automake/ItemDef.pm: likewise.
* lib/Automake/Language.pm: likewise.
* lib/Automake/Location.pm: likewise.
* lib/Automake/Options.pm: likewise.
* lib/Automake/Rule.pm: likewise.
* lib/Automake/RuleDef.pm: likewise.
* lib/Automake/VarDef.pm: likewise.
* lib/Automake/Variable.pm: likewise.
* lib/Automake/Version.pm: likewise.
* lib/Automake/Wrap.pm: likewise.
* lib/Automake/XFile.pm: remove unnecessary imports of
Carp, DynaLoader, and File::Basename.
2020-08-28 Robert Wanamaker <rlw@nycap.rr.com>
docs: automake-history.texi @dircategory Software development.
Per thread at:
https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00006.html
* doc/automake-history.texi (@dircategory): Define.
2020-08-28 Karl Berry <karl@freefriends.org>
automake: if TEST_EXTENSIONS is set to empty, don't look inside it.
This change fixes https://bugs.gnu.org/42635.
* bin/automake.in (handle_tests): do not use $test_suffixes[0]
if it does not exist.
* t/test-extensions-empty.sh: new test.
* t/list-of-tests.mk (handwritten_TESTS): add it.
2020-08-13 Felix Yan <felixonmars@archlinux.org>
docs: typo in tap-driver.sh.
Per thread at:
https://lists.gnu.org/archive/html/automake-patches/2020-08/msg00000.html
* lib/tap-driver.sh (setup_result_obj): "assing" typo, etc.
2020-08-01 Paul Eggert <eggert@cs.ucla.edu>
port XFile locking to OpenIndiana
I observed this problem on an NFS filesystem on an OpenIndiana
host (5.11 illumos-dde7ba523f i386). fcntl (fd, F_SETLK, ...)
failed with errno == EINVAL, which POSIX allows for files that
do not support locking.
* lib/Automake/XFile.pm (lock): Treat EINVAL like ENOLCK.
2020-07-26 Paul Eggert <eggert@cs.ucla.edu>
* Update scriptversions for install-sh, mkinstalldirs.
2020-07-26 Paul Eggert <eggert@cs.ucla.edu>
Install directories mode 755 instead of using umask
Problem reported by Antoine Amarilli in:
https://lists.gnu.org/archive/html/automake/2019-01/msg00000.html
and followed up by Akim Demaille in:
https://lists.gnu.org/archive/html/bug-bison/2020-07/msg00040.html
* bin/automake.in: Add a comment about this.
* lib/install-sh: Ignore umask; just create directories mode 755
unless overridden via -m (for non-intermediate directories only).
Also, fix 'umask=$mkdir_umask' typo.
* lib/mkinstalldirs: Likewise.
2020-06-29 Paul Eggert <eggert@cs.ucla.edu>
automake: remove stray up_to_date_p
* lib/Automake/FileUtils.pm (up_to_date_p):
Don’t export up_to_date_p, which was removed in
2020-05-11T00:40:14Z!karl@freefriends.org.
2020-06-06 Karl Berry <karl@freefriends.org>
tests: support -fno-common in vala-mix2 test.
This change fixes https://bugs.gnu.org/41726.
* t/vala-mix2.sh: extern in .h, initialization in .c.
GCC 10 defaults to -fno-common.
2020-06-06 Karl Berry <karl@freefriends.org>
automake: support AM_TESTSUITE_SUMMARY_HEADER override.
This change handles https://bugs.gnu.org/11745.
* lib/am/check.am (AM_TESTSUITE_SUMMARY_HEADER): new variable.
Default value is " for $(PACKAGE_STRING)", including quotes,
to keep the default output the same.
($(TEST_SUITE_LOG)): use it, unquoted.
* doc/automake.texi (Scripts-based Testsuites): document it.
* NEWS: mention it.
* t/testsuite-summary-header.sh: new test.
* t/list-of-tests.mk (handwritten_tests): add it.
* t/ax/testsuite-summary-checks.sh: fix typo.
2020-05-28 Akim Demaille <akim@gnu.org>
docs: promote Makefile snippets that work properly with make -n.
This change handles https://bugs.gnu.org/10852.
* doc/automake.texi (Multiple Outputs): Split commands than
reinvoke $(MAKE) to avoid file removals during dry runs.
2020-05-25 Karl Berry <karl@freefriends.org>
docs: forgot TAR in NEWS; fix " -- " in manual.
* NEWS: it seems the TAR envvar was never mentioned in NEWS;
add it, back for 1.11.3 when it was apparently implemented.
* doc/automake.texi: consistently use "---" instead of " --".
2020-05-25 Karl Berry <karl@freefriends.org>
docs: TAR envvar overrides "tar" for make dist.
This change finishes https://bugs.gnu.org/9822.
* doc/automake.texi (Basics of Distribution): mention that
environment variable TAR overrides "tar".
2020-05-17 Karl Berry <karl@freefriends.org>
automake: new variable AM_DISTCHECK_DVI_TARGET to override "dvi".
This change fixes https://bugs.gnu.org/8289.
* lib/am/distdir.am (AM_DISTCHECK_DVI_TARGET): define as dvi.
(distcheck): use it, isntead of hardcoding dvi.
* lib/Automake/Variable.pm (%_silent_variable_override): add
AM_DISTCHECK_DVI_TARGET.
* t/distcheck-override-dvi.sh: new test.
* t/list-of-tests.mk (handwritten_TESTS): add it.
* doc/automake.texi (Checking the Distribution): document this.
(Third-Party Makefiles): explicitly mention that
EMPTY_AUTOMAKE_TARGETS is not a built-in or special name.
Various other index entries and wording tweaks.
* NEWS (Distribution): mention this.
2020-05-10 Karl Berry <karl@freefriends.org>
automake: remove unused Automake::FileUtils::up_to_date_p function.
Per thread at:
https://lists.gnu.org/archive/html/automake-patches/2020-04/msg00000.html>
especially:
https://lists.gnu.org/archive/html/automake-patches/2020-05/msg00003.html
* lib/Automake/FileUtils.pm (up_to_date_p): remove.
Nothing in Automake itself uses this. It is used in Autoconf's
autom4te utility, but Autoconf has its own copy, and the duplication
was impeding auto4mte development, as discussed in the thread above.
(While here, insert missing =over/=back to placate pod2text.)
* NEWS (Miscellanous changes): note this.
2020-05-07 Karl Berry <karl@freefriends.org>
docs: make dist implies make dvi.
This change handles https://bugs.gnu.org/7994.
* doc/automake.texi (Preparing Distributions): make distcheck
runs make dvi.
(Auxiliary Programs) <texinfo.tex>: mention
that make dist runs make dvi, and therefore a TeX system is
required when Texinfo sources are present. Add @cmindex entries
for all auxiliary programs while we're here.
2020-05-07 Karl Berry <karl@freefriends.org>
tests: TeX system required for two more tests.
* t/instdir-no-empty.sh (required): makeinfo tex texi2dvi dvips.
* t/txinfo-bsd-make-recurs.sh (required): likewise.
2020-04-23 Vincent Lefevre <vincent@vinc17.net>
bug#40699: "dist Hook" documentation in manual is incorrect or unclear about write permissions
On 2020-04-20 14:59:00 -0600, Karl Berry wrote:
> i.e. it does not change the permissions in order to make the removal
> work recursively
>
> Right, I see it now. Had been testing the wrong thing.
>
> So, can you propose a specific change for the manual? -k
I think that it is sufficient to fix the example (the explanation
is just below). BTW, the second example is also incorrect.
commit a639e5b51cadbaff88ca4059b4db4571c811070c
Author: Vincent Lefevre <vincent@vinc17.net>
Date: 2020-04-23 17:33:54 +0200
doc: fix dist-hook examples
2020-04-18 Karl Berry <karl@freefriends.org>
cosmetics: spurious word in README, copyright year.
* README: delete spurious "that"; update copyright year end to 2020.
Original suggestion from Vincent Lefevre,
https://lists.gnu.org/archive/html/automake-patches/2020-04/msg00007.html
2020-04-08 Samuel Tardieu <sam@rfc1149.net>
docs: test-driver options do not accept =, update --help.
This change fixes https://bugs.gnu.org/22445.
* lib/test-driver (print_usage): space after --test-name,
--log-file, --trs-file, not =. Also mention Automake as source.
2020-04-06 Samy Mahmoudi <samy.mahmoudi@gmail.com>
cosmetics: typo in comment.
This change fixes https://bugs.gnu.org/32100.
* bin/aclocal.in (install_file): remove duplicate "the" in
"Using the real the destination file ...".
2020-04-05 Colomban Wendling <lists.ban@herbesfolles.org>
vala: more precise argument matching.
This change fixes https://bugs.gnu.org/18734.
* bin/automake.in (lang_vala_finish_target): anchor option regexp
so that, e.g., an argument "vapi" does not match the option --vapi.
* NEWS: mention this (and preceding checklinkx change, sorry).
2020-04-03 Karl Berry <karl@freefriends.org>
doc: update urls in manual and include checklinkx script.
* doc/automake.texi: update many urls; http -> https,
search.cpan.org -> metacpan.org/pod/distribution, node names, etc.
Remove sourceware.org/cgi-bin/gnatsweb.pl and
miller.emu.id.au/pmiller/books/rmch/ as these are 404
and no good replacement is evident.
s/perl/Perl/ a couple times in text for good measure.
* contrib/checklinkx: new script, a small modification of
W3C checklink <https://validator.w3.org/checklink/docs/checklink.html>
(W3C license, which is free software), starting from version 4.81
installed from CPAN:
https://metacpan.org/pod/distribution/W3C-LinkChecker/bin/checklink.pod
* doc/local.mk (checklinkx): new target to invoke it, with variables.
* Makefile.am (EXTRA_DIST): distribute it.
* NEWS: mention all this.
2020-03-24 Karl Berry <karl@freefriends.org>
tests: require etags for tags-lisp-space test.
* t/tags-lisp-space.sh (required): set to etags.
2020-03-24 Karl Berry <karl@freefriends.org>
Merge branch 'master' of git.savannah.gnu.org:/srv/git/automake
2020-03-24 Karl Berry <karl@freefriends.org>
doc: forgot Python 3 NEWS entries.
* NEWS: item for Python 3 support in 1.16.2.
2020-03-23 Jim Meyering <meyering@fb.com>
maint: Post-release administrivia
* NEWS: Add header line for next release.
* configure.ac (AC_INIT): Bump version number to 1.16b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2020-03-16 Jim Meyering <meyering@fb.com>
version 1.16.2
* configure.ac (AC_INIT): Bump version number to 1.16.2.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
* NEWS: Record release version.
2020-03-16 Karl Berry <karl@freefriends.org>
maint: sync fdl.texi.
* doc/fdl.texi: sync with gnulib/doc/fdl.texi, for https://fsf.org
and some Texinfo fixes.
2020-03-12 Karl Berry <karl@freefriends.org>
maint: do not descend into unreadable test directories.
* maintainer/syntax-checks.mk (sc_tests_makefile_variable_order):
find t ! -perm o+r -prune, since some test directories
are intentionally unreadable.
2020-03-11 Jim Meyering <meyering@fb.com>
doc: gender tweak
* HACKING: s/his/their/
2020-03-11 Jim Meyering <meyering@fb.com>
maint: run "make fetch" to update files from elsewhere
* lib/config.guess: Auto-update.
* lib/config.sub: Auto-update.
* lib/gendocs.sh: Auto-update.
* lib/gendocs_template: Auto-update.
* lib/gitlog-to-changelog: Auto-update.
* lib/gnupload: Auto-update.
* lib/texinfo.tex: Auto-update.
* lib/update-copyright: Auto-update.
2020-03-11 Karl Berry <karl@freefriends.org>
maint: typo in comment.
* t/CheckListOfTests.am (maintainer-check-list-of-tests): an -> and.
2020-02-25 Karl Berry <karl@freefriends.org>
python: support both Python 2 and 3 in py-compile
* lib/py-compile: check python major version and use imp
or importlib accordingly, plus related changes. Original
patch for Python 3 only from Gabriel Ganne at:
https://lists.gnu.org/archive/html/automake-patches/2019-07/msg00002.html
2020-02-15 Paul Osmialowski <pawel.osmialowski@arm.com>
configure: add flang compilers to _AM_COMPILER_CAN_FAIL
* configure.ac (_AM_COMPILER_CAN_FAIL): add armflang and flang
(in two places). Original patch at:
https://lists.gnu.org/archive/html/automake-patches/2019-02/msg00001.html
2020-02-14 Libor Bukata <libor.bukata@oracle.com>
cosmetics: improve error message when dependency tracking fails
This change fixes https://bugs.gnu.org/35848.
* m4/depout.m4: Add suggestion to try GNU make to the error message.
Original patch at
https://lists.gnu.org/archive/html/automake-patches/2019-05/msg00000.html
2020-02-13 Vincent Lefevre <vincent@vinc17.net>
maint: update lib/COPYING from canonical source.
* lib/COPYING: update from https://www.gnu.org/licenses/gpl-3.0.txt
(only change is to use https urls).
2020-02-10 Mathieu Lirzin <mthl@gnu.org>
build: fix 'installcheck' target
* t/local.mk (installcheck-testsuite): Do not use 'pre-inst-env' script.
(AM_TESTS_ENVIRONMENT): Ensure that installed perl modules are found.
2020-01-29 Lukas Fleischer <lfleischer@lfos.de>
python: properly uninstall __pycache__ in subdirectories
This change finishes fixing automake bug#32088:
https://debbugs.gnu.org/32088
* lib/am/python.am (uninstall-%DIR%PYTHON): Uninstall
byte-compiled files in a '__pycache__' subdirectory
from sub/__pycache__/, not __pycache__/sub/.
(am__pep3147_tweak): prefix __pycache__ here, for both .pyc and .pyo.
https://lists.gnu.org/archive/html/automake-patches/2018-05/msg00000.html
* t/instmany-python.sh (limit): increase to 4500, following
Andreas Huettel, https://debbugs.gnu.org/32088#11.
2020-01-29 Lukas Fleischer <lfleischer@lfos.de>
tests: in python tests, do not require .pyo files (for python3)
This change partially fixes automake bug#32088:
https://debbugs.gnu.org/32088
* t/py-compile-basedir.sh: Remove all .pyo checks.
Also, in this test only, allow for either 4 or 6 files resulting
from compilation, as new-enough Python3 results in 6
(per Andreas Huettel, https://debbugs.gnu.org/cgi/bugreport.cgi?bug=32088#17)
* t/py-compile-basic.sh: Remove all .pyo checks.
* t/py-compile-destdir.sh: Likewise.
* t/py-compile-option-terminate.sh: Likewise.
* t/python-virtualenv.sh: Likewise.
* t/python10.sh: Likewise.
* t/python12.sh: Likewise.
* t/python3.sh: Likewise.
2020-01-26 Karl Berry <karl@freefriends.org>
doc: clarify build tree location
* doc/automake.texi (VPATH Builds): more words about the build
tree location. Suggestion from Jefferson Carpenter, 31 May 2018:
<https://lists.gnu.org/archive/html/automake-patches/2018-05/msg00003.html>
2020-01-19 Karl Berry <karl@freefriends.org>
lint: make syntax-check same as maintainer-check.
* maintainer/syntax-checks.mk (syntax-check): new target,
same as maintainer-check. For consistency with many other
GNU packages.
(.PHONY): add here too.
2020-01-19 Karl Berry <karl@freefriends.org>
tests: use find+rm, not perl, to remove temporary directories.
This change fixes automake bug#39078:
https://debbugs.gnu.org/39078
* t/ax/test-lib.sh (rm_rf_): run chmod -R u+rwx and rm -rf,
instead of calling our t/ax/deltree.pl script. This reverses the
change of 2013-05-16. It made sense to write and use deltree
at that point, but unfortunately as of perl-5.28.0
(File::Path.pm version 2.15), rmtree no longer removes a tree with
unreadable subdirectories, such as we (intentionally) have. So we
might as well go back to rm -rf. The unconditional recursive chmod
instead of the previously-used more complex find command will
hopefully prove portable. See the bug report for more details.
Our deltree.pl is not used for anything else, but nevertheless
leaving it in our source tree for now, for ease of reversion
and comparison.
2020-01-08 Karl Berry <karl@freefriends.org>
tests: use skip_ consistently.
* t/lisp-loadpath.sh: use skip_ instead of exit 77;
also, notice and reset if the EMACS envvar is simply "t".
* t/uninstall-fail.sh: use skip_ instead of the undefined skip.
2020-01-05 Karl Berry <karl@freefriends.org>
tests: Correctly simulate no emacs in t/nobase-nodist.sh
* t/nobase-nodist.sh: export EMACS, not EMCAS, as "no".
2020-01-04 Karl Berry <karl@freefriends.org>
automake: Support byte compilation in older Emacsen
* lib/am/lisp.am (am__emacs_byte_compile_setup) [FIRST]: define
new make variable, to use byte-compile-dest-file-function if
available, else byte-compile-dest-file.
(.el.elc): use it.
* t/lisp-loadpath.sh: skip test if emacs version is <= 23,
since their -L ordering is backwards.
* NEWS: update.
2020-01-01 Jim Meyering <meyering@fb.com>
maint: make update-copyright
2019-12-23 Jim Meyering <meyering@fb.com>
maint: make maintainer-check tests pass
* maintainer/syntax-checks.mk (sc_sanity_gnu_grep): Remove
NUL byte from grep output, to avoid shell diagnostic about
"NUL byte suppressed from expansion."
(automake_diff_no, aclocal_diff_no): Adjust number of expected
diff lines.
2019-12-21 Karl Berry <karl@freefriends.org>
tests: Ensure UTC for Texinfo @UPDATED@ test
* t/txinfo-vtexi4.sh: TZ=UTC0; export TZ (same as mdate-sh).
* NEWS: update.
2019-12-17 Karl Berry <karl@freefriends.org>
automake: Ensure space after $(LISP) in tags dependencies.
This change fixes automake bug#38139.
* bin/automake.in (handle_tags): Concatenate with space in " @config".
* t/tags-lisp-space.sh: New test.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
2019-11-17 Giuseppe Scrivano <gscrivan@redhat.com>
dist: add dist-zstd option
Add support for using the zstd compression algorithm.
Use a default compression setting of -19, and ".zst" as the suffix.
* bin/automake.in (handle_dist): Add zstd to the list of known dist-
suffixes.
(preprocess_file): Map ZSTD to dist-zstd.
* doc/automake.texi: Document the new option.
* lib/Automake/Options.pm (_is_valid_easy_option): Add dist-zstd.
* lib/am/distdir.am (dist-zstd): New rule.
(?ZSTD?DIST_TARGETS): Add definition.
(distcheck): Add a case for *.tar.zst*.
* t/dist-formats.tap: Add tests.
* NEWS: Mention the change.
2019-11-11 Paul Eggert <eggert@cs.ucla.edu>
config: add msys support
Requested by Arnold Robbins in:
https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
* lib/ar-lib, lib/compile (func_file_conv):
Treat msys like cygwin.
2019-10-14 Paul Eggert <eggert@cs.ucla.edu>
maint: make update-copyright
2019-10-14 Paul Eggert <eggert@cs.ucla.edu>
maint: make fetch
2019-09-02 Gavin Smith <gavinsmith0123@gmail.com>
automake: do not require @setfilename in Texinfo files
Texinfo no longer requires a @setfilename directive in each
.texi file, so automake now also relaxes its restriction.
* bin/automake.in (scan_texinfo_file): Derive name of info file from
name of input file if no @setfilename line occurs in the file.
* t/txinfo-no-setfilename.sh: New test.
* t/list-of-tests.mk: Add it.
* NEWS: Mention it.
Fixes automake bugs #36921 and #34201.
2019-08-26 Paul Eggert <eggert@cs.ucla.edu>
install-sh: support -s with read-only source
Problem reported by Karl Berry in:
https://lists.gnu.org/r/bug-gnulib/2019-08/msg00067.html
* lib/install-sh: If -s is given, create the temporary file
with $cp_umask so that ‘strip’ can write to it.
2019-07-03 Bruno Haible <bruno@clisp.org>
ar-lib: Fix for MSVC 14.
* lib/ar-lib (extract): Convert CRLFs in 'lib -NOLOGO -LIST' output to LFs.
2018-10-23 Paul Hardy <unifoundry@gmail.com>
doc: Fix various typos and phrasing
This change fixes automake bug#32150.
* doc/automake.texi: Various typos and phrasing changes.
2018-07-08 Mathieu Lirzin <mthl@gnu.org>
python: Don't use '\n' in sed substitution
This change fixes automake bug#31222.
On macOS, 'sed' interprets '\n' in the substitution text as the letter 'n'
instead of as a newline.
* lib/am/python.am [?FIRST?] (am__pep3147_tweak): Use a space instead of '\n'.
* NEWS: Update.
2018-03-24 Mathieu Lirzin <mthl@gnu.org>
test-driver.scm: Add "--coverage" option
* contrib/test-driver.scm: When 'coverage' option is enabled, run tests
in the debug vm and trace coverage data.
(%options): Add 'coverage'.
(show-help): Display option.
2018-03-24 Mathieu Lirzin <mthl@gnu.org>
test-driver.scm: Don't guess script name from "--test-name"
'primitive-load' is used instead of 'load-from-path' since the script is
given as a relative file name. For unknown reason, using 'load' fails
with GNU Mcron test suite when running 'make distcheck'.
* contrib/test-driver.scm: Get the actual script name directly from the
command line. Handle the case where that argument is missing.
2018-03-24 Mathieu Lirzin <mthl@gnu.org>
test-driver.scm: Inline 'main' procedure
Having a main procedure involves passing the '-e main' command-line
argument to 'guile' which makes the test driver a bit less easy to use.
* contrib/test-driver.scm (main): Delete. Move body to the top-level.
2018-03-11 Mathieu Lirzin <mthl@gnu.org>
maint: Use 'before-save-hook' in "contrib/test-driver.scm"
This a follow-up to commit 6bab5b26a1241b0e0edd058d2a921989f9a1747c.
Use 'before-save-hook' instead of 'write-file-functions' to match what
is done in other scripts.
* contrib/test-driver.scm: Update hook usage and use 'UTC0' timezone
instead of 'UTC'.
2018-03-11 Mathieu Lirzin <mthl@gnu.org>
bin: Rely only on the shebang line
Previously ‘automake’ and ‘aclocal’ were handling the case of being
interpreted as a Shell script by using a hack leveraging the fact that
Shell and Perl has a compatible syntax intersection allowing those
scripts to launch ‘perl’ from the shell.
* bin/aclocal.in: Remove cryptic launching hack.
* bin/automake.in: Likewise.
2018-03-11 Mathieu Lirzin <mthl@gnu.org>
maint: Post-release administrivia
* NEWS: Add header line for next release.
* configure.ac (AC_INIT): Bump version number to 1.16a.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2018-03-11 Mathieu Lirzin <mthl@gnu.org>
version 1.16.1
* configure.ac (AC_INIT): Bump version number to 1.16.1.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
* NEWS: Record release version.
2018-03-11 Mathieu Lirzin <mthl@gnu.org>
maint: Update files from upstream with 'make fetch'
* lib/config.guess: Update.
* lib/config.sub: Likewise.
* lib/gendocs.sh: Likewise.
* lib/gitlog-to-changelog: Likewise.
* lib/gnupload: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.
2018-03-11 Pavel Raiskup <praiskup@redhat.com>
install-sh: avoid (low risk) race in "/tmp"
Ensure that nobody can cross privilege boundaries by pre-creating
symlink on '$tmpdir' destination directory.
Just testing 'mkdir -p' by creating "/tmp/ins$RANDOM-$$/d" is not safe
because "/tmp" directory is usually world-writeable and
"/tmp/ins$RANDOM-$$" content could be pretty easily guessed by
attacker (at least for shells where $RANDOM is not supported). So, as
the first step, create the "/tmp/ins$RANDOM-$$" without -p. This step
would fail early if somebody wanted catch us.
Systems that implement (and have enabled) fs.protected_symlinks kernel
feature are not affected even without this commit.
References:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=760455
https://bugzilla.redhat.com/show_bug.cgi?id=1140725
* lib/install-sh: Implement safer 'mkdir -p' test by running
'$mkdirprog $mkdir_mode "$tmpdir"' first.
* NEWS: Update.
2018-03-08 Mathieu Lirzin <mthl@gnu.org>
automake: Don't rely on List::Util to provide 'none'
This change fixes automake bug#30631.
This removes the use of List::Util which is not supported by Perl 5.6,
by reimplementing the 'none' subroutine.
* lib/Automake/General.pm (none): New subroutine.
* bin/automake.in (handle_single_transform): Use it.
* t/pm/General.pl: New test.
* t/list-of-tests.mk (perl_TESTS): Add it.
* NEWS: Update.
2018-03-08 Mathieu Lirzin <mthl@gnu.org>
python: Support future python version up to 3.9
This change fixes automake bug#28160.
Since AM_PYTHON_PATH macro takes no maximum version argument, there is
no need to generate _AM_PYTHON_INTERPRETER_LIST dynamically, like what
was previously done by the reverted commit
1d60fb72168e62d33fe433380af621de64e22f23. We could rely on M4 to
generate this list statically however this is likely to be a complex
solution that would not improve maintainability.
* m4/python.m4 (_AM_PYTHON_INTERPRETER_LIST): Add 'python3.7',
'python3.8', and 'python3.9'.
* NEWS: Update.
2018-03-06 Paul Eggert <eggert@cs.ucla.edu>
maint: write-file-hooks -> before-save-hook
write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
it's time to use the recommended replacement.
Problem reported by Glenn Morris in:
https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
* contrib/tap-driver.pl, lib/compile, lib/depcomp, lib/install-sh:
* lib/mdate-sh, lib/missing, lib/mkinstalldirs, lib/py-compile:
* lib/tap-driver.sh, lib/test-driver, lib/ylwrap:
Update hook usage for files where Automake is the canonical source.
2018-03-03 Mathieu Lirzin <mthl@gnu.org>
Revert "python: Generate python interpreter list"
This reverts commit 1d60fb72168e62d33fe433380af621de64e22f23.
2018-02-25 Mathieu Lirzin <mthl@gnu.org>
maint: Post-release administrivia
* NEWS: Add header line for next release.
* configure.ac (AC_INIT): Bump version number to 1.16a.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2018-02-25 Mathieu Lirzin <mthl@gnu.org>
Merge branch 'release'
2018-02-25 Mathieu Lirzin <mthl@gnu.org>
version 1.16
* configure.ac (AC_INIT, APIVERSION): Bump version number to 1.16.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
* NEWS: Record release version.
2018-02-25 Mathieu Lirzin <mthl@gnu.org>
maint: Update INSTALL
* INSTALL: Use single quotes.
2018-02-25 Mathieu Lirzin <mthl@gnu.org>
tests: Remove tests intended only for the 'next' branch
The commit 199e7a445040270fa5ef67623c56cde40d765199 "Prefer https: URLS"
which is a cherry-pick of b09d945b795ab9deed2bc457289cd5f41c506b50 from
'next' to 'master' has mistakenly copied some tests only present on the
'next' branch.
* t/am-prog-mkdir-p.sh: Delete.
* t/txinfo-no-split.sh: Likewise.
2018-02-25 Mathieu Lirzin <mthl@gnu.org>
maint: Update files from upstream with 'make fetch'
* lib/config.guess: Update
* lib/config.sub: Likewise.
* lib/gendocs.sh: Likewise.
* lib/gendocs_template: Likewise.
* lib/gitlog-to-changelog: Likewise.
* lib/gnupload: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.
2018-02-18 Mathieu Lirzin <mthl@gnu.org>
python: Avoid exceeding command-line length limit
With Python implementations following PEP-3174, a large number of files
are installed in the ‘__pycache__’ directory. As a consequence
“t/instmany-python.sh” test was failing due to the
‘uninstall-pythonPYTHON’ target deleting installed files in a single
‘rm’ command. Doing that in multiple steps avoids exceeding the
command-line length limit. This fixes bug#30335.
* lib/am/python.am (uninstall-%DIR%PYTHON): For byte-compiled files
installed in '__pycache__' directory, uninstall them by batch of 40.
[?FIRST?] (am__pep3147_tweak): Adapt.
2018-02-18 Mathieu Lirzin <mthl@gnu.org>
tests: Don't check 'Getopt::Long' corner cases
Depending on the installed 'Getopt::Long' perl module, command-line
handling may vary a bit. As a consequence we prefer not to check
command-line corners cases. This change fixes automake bug#29638.
* t/aclocal.sh (am_create_testdir): Don't expect "--versi" to be
interpreted as "--version".
* t/automake-cmdline.tap: Don't expect "--vers" to be interpreted as
"--version" and things after "--" to be interpreted as file arguments.
(do_check): Display the actual command output.
* t/maken3.sh (check_targets): "--force" is not a documented option, so
don't use it.
2018-02-03 Mathieu Lirzin <mthl@gnu.org>
python: Generate python interpreter list
_AM_PYTHON_INTERPRETER_LIST is used by AM_PYTHON_PATH to autodetect
Python programs whose names correspond to a specific Python
version (e.g. python3.6). Previously this list was updated manually.
The automatic support of newer versions (up to 4.0 excluded) fixes
bug#28160.
* m4/python.m4 (am_py_min_ver, am_py_max_ver): New macros.
(_AM_PYTHON_INTERPRETER_LIST): Generate this list instead of hard-coding
it. Implementation is taken from GNU Pyconfigure.
2018-01-19 Mathieu Lirzin <mthl@gnu.org>
tests: Improve comment in 'txinfo-many-output-formats.sh'
* t/txinfo-many-output-formats.sh: Explain why AM_MAKEINFOFLAGS is set
with an invalid option.
2018-01-18 Mathieu Lirzin <mthl@gnu.org>
tests: Distribute DEJATOOL files manually
"t/check12.sh" was failing because files declared in DEJATOOL are not
automatically distributed. The test running 'make distcheck' couldn't succeed
since some scripts were not distributed. This fixes automake bug#26738.
* t/check12.sh (Makefile.am): Distribute files from DEJATOOL.
2018-01-18 Mathieu Lirzin <mthl@gnu.org>
tests: Let 'ltorder.sh' run successfully with Guix dynamic loader
* t/ltorder.sh: Set GUIX_LD_WRAPPER_ALLOW_IMPURITIES environment variable to
unlock the dynamic loader provided by GNU Guix.
2018-01-18 Mathieu Lirzin <mthl@gnu.org>
tests: Fix various 'flex' compilation issues
* t/lex-clean-cxx.sh (parsefoo.lxx): Declare 'yylex':
(mainfoo.cc): Make declaration compatible with C++.
* t/lex-depend-cxx.sh (joe.ll): Declare 'yylex'.
* t/silent-many-languages.sh (Makefile.am, sub/Makefile.am): Link -lfl only
with 'fo2' and 'sub/ba2' which are the only program needing it.
(foo5.l): Define 'isatty'.
(foo6.y): Declare 'yylex'.
2018-01-18 Mathieu Lirzin <mthl@gnu.org>
tests: Check GCS conformance of 'aclocal' command-line interface
* t/aclocal.sh: Check that 'aclocal' support the --version and --help
command-line options.
2018-01-17 Mathieu Lirzin <mthl@gnu.org>
contrib: Add Guile custom test driver using SRFI-64 test harness
This sets a home for a script already used by GNU Guix and GNU Mcron.
* contrib/test-driver.scm: New test driver script.
* NEWS: Update.
2018-01-17 Mathieu Lirzin <mthl@gnu.org>
maint: Document how to use Guix for Automake development
* HACKING <Setting the development environment>: New part.
2018-01-04 Khem Raj <raj.khem@gmail.com> (tiny change)
automake: Add default libtool_tag to cppasm
* bin/automake.in (register_language): Define default libtool tag to be
CC since CPPASCOMPILE is using CC to call assembler.
2018-01-04 Bruno Haible <bruno@clisp.org>
doc: Document the portability of various tar formats better
* doc/automake.texi (List of Automake options): Document the portability of
the tar-ustar and tar-pax options better.
2018-01-04 Simon Sobisch <simonsobisch@web.de> (tiny change)
missing: Update displayed URLs
* lib/missing (perl_URL): Use HTTPS.
(flex_URL): Use new Github homepage.
2018-01-04 Mathieu Lirzin <mthl@gnu.org>
maint: Update copyright years to 2018
This update has been made with 'make update-copyright'.
2018-01-04 Mathieu Lirzin <mthl@gnu.org>
maint: Exclude ".dir-locals.el" from copyright updates
* maintainer/maint.mk (files_without_copyright): Add ".dir-locals.el".
2017-12-16 Jim Meyering <meyering@fb.com>
port elisp-compilation support to emacs-23.1 and newer
In May of 2017, emacs.master support for using the long-deprecated
byte-compile-dest-file function was removed, and that removal broke
automake's elisp-compiling rule for any .el file not in the current
directory. In emacs-23.1 (July 2009) byte-compile-dest-file-function
became the recommended way to adjust the byte-compiler's destination.
The removed functionality has been restored for Emacs-26, albeit with
dissuasive diagnostics warning about the imminent removal of this
functionality. It will be removed in Emacs-27.
* lib/am/lisp.am (.el.elc): Use byte-compile-dest-file-function, rather
than byte-compile-dest-file. Also, use "-f batch-byte-compile '$<'"
rather than open-coding it, as suggested by Glenn Morris.
* t/lisp-readonly-srcdir.sh: New file, to test for the above.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
* NEWS (Bugs fixed): Mention this problem.
2017-11-28 Jim Meyering <meyering@fb.com>
"make dist" did not depend on $(BUILT_SOURCES)
* lib/am/distdir.am (distdir-am): New intermediate target.
Interpose this target between $(distdir) and its dependency
on $(DISTFILES), so that we can ensure $(BUILT_SOURCES) are
all created before we begin creating $(DISTFILES).
* t/dist-vs-built-sources.sh: Test for this.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
* NEWS (Bugs fixed): Mention it.
Assaf Gordon reported that "make dist" (after ./configure
from a pristine clone of GNU hello) would fail due to the
absence of configmake.h while compiling lib/localcharset.c.
https://lists.gnu.org/r/bug-hello/2014-03/msg00016.html
2017-11-24 Mathieu Lirzin <mthl@gnu.org>
maint: Update HACKING
* HACKING (Working with git): Remove reference to the 'micro' branch and
adapt branch descriptions to the current branching scheme.
2017-09-23 Mathieu Lirzin <mthl@gnu.org>
maint: Make Emacs use 'makefile-automake-mode'
* bin/local.mk: Specify mode name in the first line.
* contrib/t/local.mk: Likewise.
* doc/local.mk: Likewise.
* lib/Automake/local.mk: Likewise.
* lib/am/local.mk: Likewise.
* lib/local.mk: Likewise.
* m4/local.mk: Likewise.
* t/local.mk: Likewise.
2017-09-23 Paul Eggert <eggert@cs.ucla.edu>
maint: update .gitignore
* .gitignore: Add pre-inst-env, and sort.
2017-09-23 Paul Eggert <eggert@cs.ucla.edu>
install-sh: do not assume / = //
* lib/install-sh: Do not append / to destination
directory if it already ends in /. This supports
a destination directory of // on hosts where / and //
are distinct directories, as POSIX allows.
2017-09-23 Paul Eggert <eggert@cs.ucla.edu>
maint: fix two more http: URLs
* m4/init.m4: Change http: to https: in comments.
2017-09-22 Mathieu Lirzin <mthl@gnu.org>
maint: Configure Emacs automatically with ".dir-locals.el"
* .dir-locals.el: New Emacs directory configuration file. All perl
files adapted.
2017-09-22 Mathieu Lirzin <mthl@gnu.org>
maint: 'master' should be merged into 'next'
* HACKING: Fix instructions merge instructions.
2017-09-21 Paul Eggert <eggert@cs.ucla.edu>
* lib/mdate.sh (TZ): Use portable setting.
2017-09-19 Mathieu Lirzin <mthl@gnu.org>
Merge branch 'minor'
2017-09-19 Mathieu Lirzin <mthl@gnu.org>
maint: Document new Branch names convention
* HACKING: Update to new Branch names.
2017-09-19 Mathieu Lirzin <mthl@gnu.org>
maint: Reset master
2017-09-19 Mathieu Lirzin <mthl@gnu.org>
Merge branch 'minor'
2017-09-19 Paul Eggert <eggert@cs.ucla.edu>
make fetch
2017-09-19 Paul Eggert <eggert@cs.ucla.edu>
Fix a couple more http: URLs
2017-09-19 Paul Eggert <eggert@cs.ucla.edu>
Prefer https: URLs
In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use
https:, to discourage man-in-the-middle attacks when downloading
software. The attached patch propagates these changes upstream to
Automake. This patch does not affect files that Automake is
downstream of, which I'll patch separately.
Althouth the resources are not secret, plain HTTP is vulnerable to
malicious routers that tamper with responses from GNU servers,
and this sort of thing is all too common when people in some other
countries browse US-based websites. See, for example:
Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar
S. Analyzing internet censorship in Pakistan. RTSI
2016. https://dx.doi.org/10.1109/RTSI.2016.7740626
HTTPS is not a complete solution here, but it can be a significant
help. The GNU project regularly serves up code to users, so we should
take some care here.
2017-09-16 Paul Eggert <eggert@cs.ucla.edu>
make fetch
2017-09-16 Paul Eggert <eggert@cs.ucla.edu>
Fix a couple more http: URLs
2017-09-16 Paul Eggert <eggert@cs.ucla.edu>
Prefer https: URLs
In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use
https:, to discourage man-in-the-middle attacks when downloading
software. The attached patch propagates these changes upstream to
Automake. This patch does not affect files that Automake is
downstream of, which I'll patch separately.
Althouth the resources are not secret, plain HTTP is vulnerable to
malicious routers that tamper with responses from GNU servers,
and this sort of thing is all too common when people in some other
countries browse US-based websites. See, for example:
Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar
S. Analyzing internet censorship in Pakistan. RTSI
2016. https://dx.doi.org/10.1109/RTSI.2016.7740626
HTTPS is not a complete solution here, but it can be a significant
help. The GNU project regularly serves up code to users, so we should
take some care here.
2017-09-15 Mathieu Lirzin <mthl@gnu.org>
maint: Document how to handle assignment exemption
* HACKING: Update.
2017-09-15 Reiner Herrmann <reiner@reiner-h.de> (tiny change)
mdate-sh: Ensure reproducible time output
This change fixes automake bug#20314.
'mdate-sh' pretty-prints the modification time of a file. But it's
output can vary depending on the timezone of the caller. Someone in
timezone GMT-12 will get a different result (day) than someone in
timezone GMT+12. As this output is also used to create/update stamp
files, which influence the further build process, the build result can
vary.
* lib/mdate-sh: Set 'TZ' to UTC which ensures reproducible output.
* NEWS: Announce bug fix.
2017-09-15 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
automake: Depend on LIBOBJDIR for LIBOBJS and ALLOCA
This change fixes automake bug#27781.
* bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for
each LIBOBJS/ALLOCA source file found.
* t/list-of-tests.mk (XFAIL_TESTS): Drop
t/libobj-no-dependency-tracking.sh.
* NEWS: Announce bug fix.
2017-09-14 Mathieu Lirzin <mthl@gnu.org>
Revert "automake: Handle LTLIBOBJS more specifically"
This reverts commit 5521219348c55af354878583b99c5f9d66d6d38a.
2017-08-31 Mathieu Lirzin <mthl@gnu.org>
Merge branch 'minor'
2017-08-31 Mathieu Lirzin <mthl@gnu.org>
build: Rename "Makefile.inc" Makefile fragments to "local.mk"
This is done to follow a convention used by a lot of GNU packages.
* bin/Makefile.inc: Rename to ...
* bin/local.mk: ... this.
* doc/Makefile.inc: Rename to ...
* doc/local.mk: ... this.
* lib/Automake/Makefile.inc: Rename to ...
* lib/Automake/local.mk: ... this.
* lib/am/Makefile.inc: Rename to ...
* lib/am/local.mk: ... this.
* lib/Makefile.inc: Rename to ...
* lib/local.mk: ... this.
* m4/Makefile.inc: Rename to ...
* m4/local.mk: ... this.
* contrib/t/Makefile.inc: Rename to ...
* contrib/t/local.mk: ... this.
* t/Makefile.inc: Rename to ...
* t/local.mk: ... this. Adapt.
* Makefile.am: Adapt.
2017-08-31 Mathieu Lirzin <mthl@gnu.org>
Merge branch 'micro' into minor
2017-08-31 Mathieu Lirzin <mthl@gnu.org>
maint: Define API version manually
* configure.ac (APIVERSION): Define it to 1.15a.
* bootstrap (APIVERSION): Parse 'configure.ac' to get it.
2017-08-31 Mathieu Lirzin <mthl@gnu.org>
build: Inline perl prototypes in sources
Prototypes allows us to avoid using the '&foo' invocation form when
invoking a subroutine before its definition. Previously those
prototypes were generated to prevent them from falling out-of-sync
with actual definitions. Now we provide a 'check-perl-protos' lint
script to ensure that this is not the case. This has the same
benefits as generating prototypes while simplifying the
bootstrap/build process.
* bin/gen-perl-protos: Remove.
* bin/Makefile.inc: Adapt.
* bootstrap: Likewise.
* bin/aclocal.in: Inline prototypes.
* bin/automake.in: Likewise.
* maintainer/check-perl-protos: New lint script.
* maintainer/syntax-checks.mk (sc_perl_protos): New target.
(syntax_check_rules): Add it.
2017-08-30 Mathieu Lirzin <mthl@gnu.org>
build: Generate versioned scripts at make time
* configure.ac: Don't generate 'bin/aclocal-${APIVERSION}' and
'bin/automake-${APIVERSION}'.
* bin/wrap-aclocal.in: Delete.
* bin/wrap-automake.in: Likewise.
* bin/Makefile.inc (%D%/automake-$(APIVERSION))
(%D%/aclocal-$(APIVERSION)): New targets.
(CLEANFILES): Add them.
2017-08-30 Mathieu Lirzin <mthl@gnu.org>
aclocal: Support ACLOCAL_AUTOMAKE_DIR environment variable
* bin/aclocal.in: Reset '@automake_includes' and '@system_includes' in
for build environment. Allow setting '@automake_includes' with
ACLOCAL_AUTOMAKE_DIR environment variable.
(parse_arguments): Ignore 'dirlist' when '@system_includes' is empty.
* doc/automake.texi (aclocal Options): Document ACLOCAL_AUTOMAKE_DIR.
* bin/wrap-aclocal.in: Remove extra command line options.
* pre-inst-env.in: Set ACLOCAL_AUTOMAKE_DIR and ACLOCAL_PATH
environment variables.
* t/ax/test-defs.in: Adapt.
* t/ansi2knr-no-more.sh (warn_rx): Likewise.
2017-08-30 Mathieu Lirzin <mthl@gnu.org>
config: Support AUTOMAKE_LIBDIR environment variable
* lib/Automake/Config.in: Let AUTOMAKE_LIBDIR environment variable
override the default location for '$libdir'.
* doc/automake.texi (automake Invocation): Document AUTOMAKE_LIBDIR.
* pre-inst-env.in (AUTOMAKE_LIBDIR): Set AUTOMAKE_LIBDIR.
* bin/wrap-automake.in: Don't use "--libdir" option.
2017-08-29 Mathieu Lirzin <mthl@gnu.org>
build: Use PERL5LIB from 'pre-inst-env' script
* bin/aclocal.in: Detect build environment with AUTOMAKE_UNINSTALLED.
Let 'PERL5LIB' from 'pre-inst-env' define the perl module directories.
* bin/automake.in: Likewise.
* bin/wrap-aclocal.in: Don't set 'Automake::perl_libdirs' anymore.
* bin/wrap-automake.in: Likewise.
* t/Makefile.inc (LOG_COMPILER, PL_LOG_COMPILER): Use 'pre-inst-env'.
(AM_PL_LOG_FLAGS): Don't set perl module path.
2017-08-29 Mathieu Lirzin <mthl@gnu.org>
build: Extend PATH from 'pre-inst-env' script
* configure.ac (ACLOCAL, AUTOMAKE): Use 'pre-inst-env'.
* Makefile.am (extend_PATH): Delete.
* doc/Makefile.inc (update_mans, $(srcdir)/%D%/amhello-1.0.tar.gz)
(setup_autotools_paths): Use 'pre-inst-env' instead of $(extend_PATH).
2017-08-29 Mathieu Lirzin <mthl@gnu.org>
build: Add 'pre-inst-env' wrapper script
This script allows someone building Automake from source to easily run
'automake' and 'aclocal' without having to install it or knowing the
existence of "wrapped" scripts in "bin" directory.
* pre-inst-env.in: New script.
* configure.ac: Generate 'pre-inst-env' at configure time.
* Makefile.am (nodist_noinst_SCRIPTS, CLEANFILES): Add it.
2017-08-29 Mathieu Lirzin <mthl@gnu.org>
build: Move wrapped scripts in "bin" directory
Those scripts are used both in the build process and for the tests, so
it seems clearer to not hide them in "t/wrap" directory.
* t/wrap/aclocal.in: Rename to ...
* bin/wrap-aclocal.in: ... this.
* t/wrap/automake.in: Rename to ...
* bin/wrap-automake.in: ... this.
* configure.ac: Generate "bin/aclocal-${APIVERSION}" and
"bin/automake-${APIVERSION}" at configure time.
* t/Makefile.inc (nodist_noinst_SCRIPTS): Move wrapped scripts ...
* bin/Makefile.inc (nodist_noinst_SCRIPTS): ... here.
* Makefile.am (extend_PATH): Use "bin" directory.
* t/ax/test-defs.in (am_bindir): Likewise.
* t/get-sysconf.sh: Likewise.
* .gitignore: Update.
2017-08-27 Mathieu Lirzin <mthl@gnu.org>
automake: Handle LTLIBOBJS more specifically
* bin/automake.in (handle_LIBOBJS_or_ALLOCA): Remove complex regexp
substitution when handling LTLIBOBJS.
2017-08-21 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
automake: Ensure that LIBOBJ_DIR builddir is created
* t/libobj-no-dependency-tracking.sh: New test reproducing the issue
described in automake bug#27781.
* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.
2017-08-08 Mathieu Lirzin <mthl@gnu.org>
doc: Update to latest help2man
This fixes bug#27773.
* doc/help2man: Sync with version 1.47.3 to support reproducible
builds by using $SOURCE_DATE_EPOCH.
2017-07-15 Mathieu Lirzin <mthl@gnu.org>
doc: Fix typo "nothing" => "noting"
This fixes bug#24476.
* doc/automake.texi (Checking the Distribution): Fix typo.
* THANKS: Update.
2017-07-15 Mathieu Lirzin <mthl@gnu.org>
doc: Fix typos
This fixes bug#23099.
* doc/automake.texi (Scripts-based Testsuites)
(Parallel Test Harness): Fix typos.
* THANKS: Update.
2017-07-15 Mathieu Lirzin <mthl@gnu.org>
check: Make 'check-TESTS' target depend on test dependencies
The 'check' and 'recheck' targets are already depending on the progams
and scripts required to run the test suite. The 'check-TESTS' target
while not in the public API might be used by uninformed users, so it
makes sense to add the same dependency to it. This fixes bug#27186.
* lib/am/check.am [!%?SERIAL_TESTS%] (check-TESTS): Add dependency to
'%CHECK_DEPS%'.
* THANKS: Update.
2017-07-15 Mathieu Lirzin <mthl@gnu.org>
dejagnu: Allow AM_RUNTESTFLAGS to override default RUNTEST arguments
This fixes bug#25335.
* lib/am/dejagnu.am (check-DEJAGNU): Swap $(RUNTESTDEFAULTFLAGS) and
$(AM_RUNTESTFLAGS).
* THANKS: Update.
2017-07-15 Thomas Jahns <jahns@dkrz.de>
aclocal: Avoid problematic string interpolation
This fixes bug#20903. Thanks to Eric Bavier for reporting this issue.
* bin/aclocal.in (automake_includes): Avoid problematic string
interpolation.
* NEWS: Update.
* THANKS: Thank Eric Bavier.
2017-07-15 Mathieu Lirzin <mthl@gnu.org>
python: Add python3.6
This fixes bug#27458.
* m4/python.m4 (AM_PATH_PYTHON): Add python3.6.
2017-07-06 Thomas Martitz <kugel@rockbox.org>
automake: Shorter object file names under subdir-objects
Combining the 'subdir-objects' option with target-specific flags had
the consequence of producing long object file names. This was done to
preventively ensure the uniqueness of object file names. We are now
using shorter names by default, and handle long names when an actual
conflict is detected. This will hopefully reduce the necessity of
using the 'prog_SHORTNAME' facility.
Example:
previously:
AUTOMAKE_OPTIONS = subdir-objects
bin_PROGRAMS += path/to/foo
path_to_foo_CFLAGS = $(AM_CFLAGS) -g
resulted in objects:
sub/path_to_foo-foo.o
now object file name is:
sub/foo-foo.o
* bin/automake.in (proglist, liblist, ltliblist)
(dup_shortnames): New globals.
(initialize_per_input): Initialize them.
(handle_targets): New subroutine.
(handle_single_transform): Truncate object file names when possible.
* t/subobj-objname-clash.sh: New test.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
* NEWS: Update.
2017-06-18 Mathieu Lirzin <mthl@gnu.org>
maint: Post-release administrivia
* NEWS: Add header line for next release.
* configure.ac (AC_INIT): Bump version number to 1.15.1a.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2017-06-18 Mathieu Lirzin <mthl@gnu.org>
version 1.15.1
* configure.ac (AC_INIT): Bump version number to 1.15.1.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2017-06-18 Mathieu Lirzin <mthl@gnu.org>
maint: Update 'git-tag-release' rule
* maintainer/maint.mk (git-tag-release): Use a Git tag message similar
to what the 'do-release-commit-and-tag' script from Gnulib do.
2017-06-17 Mathieu Lirzin <mthl@gnu.org>
maint: Update files from upstream with 'make fetch'
* lib/config.guess: Update.
* lib/config.sub: Likewise.
* lib/texinfo.tex: Likewise.
2017-06-17 Mathieu Lirzin <mthl@gnu.org>
maint: Update NEWS
* NEWS: Announce important bug fixes.
2017-06-16 Mathieu Lirzin <mthl@gnu.org>
Merge branch 'minor'
2017-06-16 Mathieu Lirzin <mthl@gnu.org>
Merge branch 'micro' into minor
2017-05-20 Mathieu Lirzin <mthl@gnu.org>
bootstrap: Add a rationale for the bootstrap process.
* bootstrap: Explain why we can't simply run 'autoreconf -i'.
2017-05-20 Mathieu Lirzin <mthl@gnu.org>
bootstrap: Rename 'bootstrap.sh' to 'bootstrap'.
Follow Gnulib's convention of using either "bootstrap" or "autogen.sh"
file names for development bootstrap scripts.
* bootstrap.sh: Rename to ...
* bootstrap: ... this.
* GNUmakefile (bootstrap): Adapt.
* HACKING: Likewise.
* Makefile.am (EXTRA_DIST): Likewise.
* doc/automake.texi (Future of aclocal)
(Error required file ltmain.sh not found): Likewise.
* maintainer/maint.mk (autodiffs, update-copyright): Likewise.
2017-05-20 Mathieu Lirzin <mthl@gnu.org>
automake: Update 'read_am_file' docstring.
* bin/automake.in (read_am_file): Update docstring which was referring
to a non existent '%contents' variable.
2017-04-16 Bruno Haible <bruno@clisp.org>
tests: Never invoke gettextize.
This change fixes automake bug#26514.
* t/gettext-macros.sh: Never invoke gettextize.
2017-04-13 Mathieu Lirzin <mthl@gnu.org>
tests: Update "t/txinfo-no-clutter.sh".
This is workaround to a regression introduced by
48107579abadbe857c8299c38d2ca0a3f8f354c8. With current
"lib/texinfo.tex", 'texi2dvi' is not able to produce a valid output
for a Texinfo document containing a @synindex command. As a
consequence the test "t/txinfo-no-clutter.sh" was failing.
* t/txinfo-no-clutter.sh: Remove use of @synindex command.
2017-03-05 Mathieu Lirzin <mthl@gnu.org>
maint: Update "lib/texinfo.tex".
This fixes a regression in 48107579abadbe857c8299c38d2ca0a3f8f354c8
where 'texi2dvi' was not able to produce a valid output for a Texinfo
document without text. As a consequence the test "t/silent-texi.sh"
was failing.
* lib/texinfo.tex: Update to 2017-03-05.09.
2017-03-02 Mathieu Lirzin <mthl@gnu.org>
maint: Update copyright years to 2017.
This update has been made with 'make update-copyright'.
2017-03-02 Mathieu Lirzin <mthl@gnu.org>
maint: Update files from upstream with 'make fetch'.
* lib/INSTALL: Update.
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
* lib/gendocs.sh: Likewise.
* lib/gendocs_template: Likewise.
* lib/gitlog-to-changelog: Likewise.
* lib/gnupload: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.
2017-03-02 Mathieu Lirzin <mthl@gnu.org>
maint: Update fetch URLs.
* maintainer/maint.mk (SV_CVS, SV_GIT_AC): Remove.
(SV_GIT_CF, SV_GIT_GL): Use https for Savannah Git repositories.
(FETCHFILES): Use Gnulib repository as the source of "texinfo.tex",
"gendocs.sh", and "gendocs_template" files.
2017-02-23 Mathieu Lirzin <mthl@gnu.org>
doc: fix typo "requited" => "required"
This change fixes automake bug#25413.
* doc/automake.texi (Serial Test Harness): Fix typo.
2017-01-01 Jim Meyering <meyering@fb.com>
maint: update copyright dates for 2017
* all files: Run this command, using update-copyright from gnulib:
UPDATE_COPYRIGHT_FORCE=1 \
UPDATE_COPYRIGHT_USE_INTERVALS=2 \
UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 \
update-copyright $(git ls-files)
2016-09-08 Jim Meyering <meyering@fb.com>
automake: do not emit rule with two dependents
On a system using our replacement alloca, make would emit
this warning:
target '.deps/alloca.Po' given more than once in the same rule
That arose because automake would emit a rule depending on both
./.deps/alloca.Po and .deps/alloca.Po. Normally, duplicate
dependents are avoided by virtue of their names being keys in
the %dep_files hash, but in this case, that particular file
was specified in two different ways.
* bin/automake.in (handle_ALLOCA): When the $dir prefix is empty,
make it './', to ensure that when we add ./.deps/alloca.Po
it is deduped.
See: http://bugs/gnu/org/22702
2016-06-01 Jim Meyering <meyering@fb.com>
compile: remove .Tpo file upon failure
When generating a .deps/base.Po file, our emitted rule first writes
to a temporary .Tpo file, so the final creation can be atomic, via
mv's rename. However, when generation of the .Tpo fails, it stop the
process and does not remove that temporary file. And nothing else
ever deletes it, either. Hence, in the unusual case in which one
expects a compilation to fail during a successful build (gnulib's
test-verify.sh does precisely this), a .deps/test-verify.Tpo file
would be left behind, and that would in turn cause a "make distcheck"
failure because that file would exist in one build+distclean hierarchy
but not in the distribution tarball.
* lib/am/depend2.am: Ensure that the temporary file is removed
upon failure.
* t/distcheck-Tpo.sh: New file.
* t/list-of-tests.mk (handwritten_TESTS): Add it.
This addresses bug#23661.
2016-04-20 Paul Eggert <eggert@cs.ucla.edu>
python: add python3.5, python3.4
* m4/python.m4 (AM_PATH_PYTHON): Add python3.5, python3.4.
2016-03-31 Paul Eggert <eggert@cs.ucla.edu>
Merge branch 'minor'
2016-03-31 Paul Eggert <eggert@cs.ucla.edu>
Merge branch 'micro' into minor
2016-03-31 Paul Eggert <eggert@cs.ucla.edu>
automake: port to Perl 5.22 and later
Without this change, Perl 5.22 complains "Unescaped left brace in
regex is deprecated" and this is planned to become a hard error in
Perl 5.26. See:
http://search.cpan.org/dist/perl-5.22.0/pod/perldelta.pod#A_literal_%22{%22_should_now_be_escaped_in_a_pattern
* bin/automake.in (substitute_ac_subst_variables): Escape left brace.
2016-03-28 Paul Eggert <eggert at>
automake: port better to future gzip
* lib/am/distdir.am (dist-gzip, dist-shar, distcheck):
Port better to future versions of gzip, which are planned to
deprecate the GZIP environment variable (Bug#20132).
2016-01-12 Paul Eggert <eggert@cs.ucla.edu>
Merge branch 'minor'
2016-01-12 Paul Eggert <eggert@cs.ucla.edu>
Merge branch 'micro' into minor
2016-01-12 Paul Eggert <eggert@cs.ucla.edu>
maint: port time-stamp-time-zone to strict POSIX
Set time-stamp-time-zone to "UTC0", not to "UTC", as POSIX defines
TZ="UTC0" not TZ="UTC".
2015-11-24 Peter Rosin <peda@lysator.liu.se>
Merge branch 'minor'
* minor:
compile: add icl to compile wrapper script
tests: fix a typo-induced bug
2015-11-24 Peter Rosin <peda@lysator.liu.se>
Merge branch 'micro' into minor
* micro:
compile: add icl to compile wrapper script
2015-11-24 Jonathan L Peyton <jonathan.l.peyton@intel.com> (tiny change)
compile: add icl to compile wrapper script
* lib/compile: Have icl be treated similarly to cl
(scriptversion): Update.
* t/ax/am-test-lib.sh (require_tool): Handle icl.
* t/compile7.sh: Add new test file for icl...
* t/list-of-tests.mk (handwritten_TESTS): ...and use it.
* NEWS: Update.
* THANKS: Update.
2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a typo-induced bug
* t/subobj-vpath-pr13928.sh: Here; we were using $FGREP instead of
$EGREP, oops.
2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
deps: fix corner-case "make distclean" bug
compile: don't place built object files in $(srcdir), ever ...
tests: fix some bugs in an XFAILing test
deps: 'subdir-object' option now works when foo_SOURCES contains $(var)
NEWS: fix a typo
2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'deps-pr13928' into minor
* deps-pr13928:
deps: fix corner-case "make distclean" bug
compile: don't place built object files in $(srcdir), ever ...
tests: fix some bugs in an XFAILing test
deps: 'subdir-object' option now works when foo_SOURCES contains $(var)
2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
NEWS: fix a typo
2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
deps: fix corner-case "make distclean" bug
Assume we have package satisfying the following conditions:
(1) automatic dependency tracking is enabled;
(2) the 'subdir-objects' Automake option is enabled;
(3) the package uses a recursive make setup.
Also assume that:
(a) a subdir Makefile declares a foo_SOURCES variable containing
a source file in the parent directory;
(b) that parent Makefile declare a compiled program itself.
Then BSD and Solaris make used to fail when running "make distclean",
because the 'distclean' target of the subdir Makefile removed the
whole '.deps' directory before the parent Makefile was done with the
included '.Po' makefile fragments in that directory. This issue was
revealed by failures in the 'subobj-vpath-pr13928.sh' test when those
make implementations were used.
We fix the issue by ensuring the 'distclean' target of any Makefile
only removed the '.Po' makefile fragments included by it, rather than
the whole '.deps' directory where such files resides.
This change should be the last step in fixing automake bug#13928
for good.
* bin/automake.in (handle_languages), lib/am/depend.am: Adjust
to implement the new 'distclean' logic.
* t/pr224.sh: Adjust to avoid a spurious failure.
* PLANS/subdir-objects.txt: Update.
2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
compile: don't place built object files in $(srcdir), ever ...
... even when a source file is specified as '$(srdir)/foo.c' or
'$(top_srcdir)/bar.c'. And ditto for dependency-tracking makefile
fragments (those under '.deps' directories).
Such issues used to occur when the 'subdir-objects' option was given.
This change should fix the second and last part of automake bug#13928.
See also bug#16375 and bug#15293.
* NEWS: Update.
* bin/automake.in (handle_single_transform): Make sure object files
and dependency-tracking makefile fragments coming from source like
'$(srcdir)/foo.c' and '$(top_srcdir)/bar.c' are placed respectively
under $(builddir) and $(top_builddir).
* t/subobj-vpath-pr13928.sh: Enhance to expose even more aspects
of the bug we've just fixed.
* t/subobj-pr13928-more-langs.sh: New test, similar to the one above,
but with non-C languages as well.
* t/list-of-tests.mk (XFAIL_TESTS): Remove 'subobj-vpath-pr13928.sh',
it's now supposed to pass.
(handwritten_TESTS): Add 'subobj-pr13928-more-langs.sh'.
2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix some bugs in an XFAILing test
* t/subobj-vpath-pr13928.sh: This one. The test would have failed (or
hung!) even if the bug it was testing against were fixed.
2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
deps: 'subdir-object' option now works when foo_SOURCES contains $(var)
Following a suggestions of Johan Kristensen, we have config.status use
'make' invocations rather than Makefile-parsing 'sed' hacks to bootstrap
the dependency-tracking '.Po' and '.Plo' makefile fragments. To handle
the inclusion of such files that are still missing when make is first
we basically generate a temporary Makefile without these includes, and
call 'make' on that Makefile.
This fixes the serious bug bug#13928, which was an hard blocker to make the
behavior mandated by the 'subdir-object' active by default (which we want
to do in Automake 2.0).
The issue has also been reported in bug#15919.
* NEWS, THANKS: Update.
* bin/automake.in (handle_languages): Add a trailing "marking" comment
("# am--include-marker") to the generated Makefile lines issuing 'include'
directives for the dependency-tracking '.Po' and '.Plo' makefile fragments.
Also rename the generated Makefile variable 'am__depfiles_maybe' to the
clearer 'am__maybe_remake_depfiles'.
Minor unrelated refactoring.
* lib/am/configure.am: Adjust to account for the 'am__depfiles_maybe' ->
'am__maybe_remake_depfiles' renaming.
* lib/am/depend.am: Add rules to generate a dummy version of all the
dependency-tracking '.Po' and '.Plo' makefile fragments.
* m4/depout.m4: Use make invocations rather than Makefile-parsing sed hacks
to bootstrap the dependency-tracking '.Po' and '.Plo' makefile fragments.
We still use some sed trickery in order to remove the inclusion of the
still non existing .Po and .Plo files from the Makefile we invoke make
upon; this is done stripping lines that contain the magic string
"# am--include-marker".
* m4/make.m4 (AM_MAKE_INCLUDE): Given that now automake generates Makefiles
containing include statements with trailing comment, adjust the checks done
here to make sure $MAKE support that; e.g., "include foo.mk # comment"
rather than just "include foo.mk".
Also refactor and adjust to leave better debugging info in config.log.
* t/postproc.sh: Rename ...
* t/depend-postproc.sh: ... to this, and adjust and enhance.
* t/list-of-tests.mk (handwritten_TESTS): Adjust.
(XFAIL_TESTS): Remove 't/subobj-indir-pr13928.sh', which is now succeeding.
* t/subobj-indir-pr13928.sh: Simplify slightly, now that we expect it to
pass.
* t/depcomp8a.sh: Adjust grepping check to account for the changes in
the generated Makefile, and tp be somewhat more robust in light of possible
future modifications.
* t/depcomp8b.sh: Likewise.
* t/subobj11b.sh: Likewise.
* t/subobj11c.sh: Likewise.
* t/extra-sources.sh: Likewise.
* t/lex-depend-grep.sh: Likewise.
* t/lex-depend-cxx.sh: Add a command to help debugging in case of test
failure.
Helped-by: Johan Kristensen <johankristensen@gmail.com>
2015-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: fix a typo
2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: update copyright years to 2015 (branch 'master')
* t/am-prog-mkdir-p.sh: Here.
* t/txinfo-no-split.sh: And here.
2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
maint: update copyright years to 2015 (branch 'micro')
2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
maint: update copyright years to 2015 (branch 'micro')
2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: update copyright years to 2015 (branch 'micro')
2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
sync: update third-part files from upstream
maint: fix typo in error message of a maintainer-only rule
maint: bump version number 1.15 -> 1.15a ('minor' Git branch)
release: stable minor release 1.15
NEWS: minor improvements and fixed some typos and grammaros
2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
sync: update third-part files from upstream
maint: fix typo in error message of a maintainer-only rule
2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update third-part files from upstream
* lib/config.sub: This.
* lib/INSTALL, lib/config.guess, lib/gitlog-to-changelog, lib/gnupload,
lib/update-copyright: And this (but only for copyright year update, no
real semantic change)
2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: fix typo in error message of a maintainer-only rule
* maintainer/maint.mk (web-manual-update): Here.
2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: bump version number 1.15 -> 1.15a ('minor' Git branch)
* configure.ac (AC_INIT): Bump version number to 1.15a.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2015-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor' into micro after 1.15 release
And bump version number: 1.15 -> 1.15.0a
* minor:
release: stable minor release 1.15
NEWS: minor improvements and fixed some typos and grammaros
docs: "make distcheck" implementation details are not to be abused
NEWS: improve and adjust in light of the oncoming 1.15 release
Fix dumb logic error preventing $install_sh from being be overridden
Expose automake bug#19311
build: fix race in parallel builds
init: ensure $ac_aux_dir is defined before being used
plans: enabling subdir-object by default is blocked on bug#13928
maint: update copyright years
maint: sync files from upstream ("make fetch")
Typofixes in warning messages and manual
NEWS: a typofix, and better word wrapping
parallel-tests: avoid possible implicit "make all" in test-suite.log rule
Allow user to extend .PRECIOUS target
cosmetics: remove a couple of extra trailing white spaces
tests: fix a spurious failure on Mac OS X
docs: make clear the JAVA primary is frozen
install-sh: a slightly better diagnostic, and tests enhancements
install-sh: be stricter in catching invalid usages
tests: more significant names for some tests
tests: some cosmetic fixes
tests: more significant names for a test
docs: drop a few obsolescent FIXME/TODO comments, and associated text
testsuite harness: report test exit status in log file
TAP driver: no need to invoke AC_PROG_AWK directly
TAP driver: remove perl implementation (move it into contrib/)
NEWS: stop reporting "new" Automake versioning scheme
cosmetics: untabify the install-sh script
install-sh: assume that "set -f" and "set +f" work...
install-sh: assume ${var:-value} works as expected
install-sh: assume 'dirname' is available and working correctly
post-release: micro version bump (1.14a)
2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable minor release 1.15
* configure.ac (AC_INIT): Bump version number to 1.15.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: minor improvements and fixed some typos and grammaros
2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
docs: "make distcheck" implementation details are not to be abused
NEWS: improve and adjust in light of the oncoming 1.15 release
shell-no-trail-bslash: improve diagnostic in case of failure
2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: "make distcheck" implementation details are not to be abused
* doc/automake.texi: State explicitly and in detail that the exact location
and the exact structure of the subdirectory used by "make distcheck" is to
be considered an implementation detail, which can change at any time.
2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: improve and adjust in light of the oncoming 1.15 release
2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
shell-no-trail-bslash: improve diagnostic in case of failure
2014-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
shell-no-trail-bslash: improve diagnostic in case of failure
* t/ax/shell-no-trail-bslash.in: Here, by fixing a typo in a
variable name and a logic error.
* t/self-check-shell-no-trail-bslash.sh: Enhance to catch the
issue.
2014-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'texi-in-builddir-remove-distclean-hack' and 'minor'
* texi-in-builddir-remove-distclean-hack:
texinfo: remove hack about info files in CLEANFILES variables
* minor:
tests: make script 'shell-no-trail-bslash' simpler and more robust
2014-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
tests: make script 'shell-no-trail-bslash' simpler and more robust
2014-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make script 'shell-no-trail-bslash' simpler and more robust
This solves spurious failure in the 'check-no-trailing-backslash-in-recipes'
target for Automake-NG.
This is basically a backport of Automake-NG commit v1.14.1-1010-g85aae58;
the point is to minimize the amount of spurious diffs between the mainline
Automake and the Automake-NG source trees.
* t/ax/shell-no-trail-bslash.in: Simplify and fortify.
* t/self-check-shell-no-trail-bslash.sh: Enhance.
2014-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
texinfo: remove hack about info files in CLEANFILES variables
Automake used to implement an undocumented hack causing '.info' files
that appeared to be cleaned (by e.g. being listed in the CLEANFILES
variable) to also be built in the builddir rather than in the srcdir;
this was for backward compatibility with packages such as Texinfo,
which did things like:
info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
DISTCLEANFILES = texinfo texinfo-* info*.info*
# Do not create info files for distribution.
dist-info:
in order not to distribute .info files.
Now that we have the 'info-in-builddir' option that explicitly causes
generated '.info' files to be placed in the builddir, this hack is no
longer necessary, and we can remove it (after having deprecated it in
the Automake 1.14 release already).
* bin/automake.in (handle_texinfo_helper): Remove the hack. Adjust
comments accordingly.
* NEWS: Update.
* t/txinfo23.sh: Delete as obsolete.
* t/txinfo25.sh: Likewise.
* t/txinfo24.sh: Likewise.
* t/txinfo28.sh: Delete as mostly obsolete, its only still relevant
parts moved ...
* t/mdate5.sh: ... into this test.
* t/txinfo-clean.sh: Remove references to deleted tests.
* t/list-of-tests.mk: Adjust.
2014-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a possible failure due to autom4te cache staleness
* t/includes-deprecation.sh: Here.
2014-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
tests: fix spurious failure in test on TEXINFO_TEX overriding
tests: avoid some spurious failures on AIX 7.1
2014-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
tests: fix spurious failure in test on TEXINFO_TEX overriding
tests: avoid some spurious failures on AIX 7.1
2014-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in test on TEXINFO_TEX overriding
* t/txinfo-override-texinfo-tex.sh: Here. The issue was pre-existing, but
has been only recently exposed by the fix for automake bug#18286 "distcheck
fails to detect missing files" (see commit v1.14.1-4-g01a7a4a) and by the
BSD make semantics. To convince yourself this change actually makes sense
semantically, see https://sourceware.org/ml/binutils/2012-06/msg00004.html
2014-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'aix-testsuite-failures' into micro
* aix-testsuite-failures:
tests: avoid some spurious failures on AIX 7.1
2014-12-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid some spurious failures on AIX 7.1
* t/lex-noyywrap.sh: Here.
* t/instmany-mans.sh: And here.
* t/instmany-python.sh: And here.
* t/instmany.sh: And here.
* t/parallel-tests-concurrency.sh: And here.
2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
dist: fix bug#18286 "distcheck fails to detect missing files"
tests: expose automake bug#18286 "distcheck fails to detect missing files"
include: fix bug in handling of user-defined makefile fragments generation
tests: expose bug in handling of user-defined makefile fragments generation
2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
dist: fix bug#18286 "distcheck fails to detect missing files"
tests: expose automake bug#18286 "distcheck fails to detect missing files"
include: fix bug in handling of user-defined makefile fragments generation
tests: expose bug in handling of user-defined makefile fragments generation
2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'distcheck-pr18286' into micro
* distcheck-pr18286:
dist: fix bug#18286 "distcheck fails to detect missing files"
tests: expose automake bug#18286 "distcheck fails to detect missing files"
2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
dist: fix bug#18286 "distcheck fails to detect missing files"
BTW, this issue had been already reported in the past:
http://lists.gnu.org/archive/html/automake/2006-09/msg00008.html
http://lists.gnu.org/archive/html/automake/2013-01/msg00049.html
"make distcheck" could sometimes fail to detect missing files in the
distribution tarball, especially in those cases where both the generated
files and their dependencies are explicitly in $(srcdir). An important
example of this are *generated* makefile fragments included at Automake
time in Makefile.am. A basic example:
# -*- Makefile.am -*-
$(srcdir)/fragment.am: $(srcdir)/data.txt $(srcdir)/preproc.sh
cd $(srcdir) && $(SHELL) preproc.sh <data.txt >fragment.am
include $(srcdir)/fragment.am
...
If the use forgot to add data.txt and/or preproc.sh in the distribution
tarball, "make distcheck" would have erroneously succeeded!
The reason is that, while $(srcdir)/data.txt does not exist, make also
looks in $(srcdir)/$(srcdir)/data.txt, and in the distcheck-issued
VPATH build where $(srcdir) is '..', that file exists, as it is
part of the original development directory.
* t/distdir.am (distcheck): Adjust to have the build directory be
'$(distdir)/_build/sub' rather than just '$(distdir)/_build'. Thanks
Nicola Fontana for the suggestion.
* t/distcheck-pr18286.sh: Enhance and tighten a little.
* t/list-of-tests.mk (XFAIL_TESTS): Remove 't/distcheck-pr18286.sh',
as it's now passing.
* t/subdir-am-cond.sh: Adjust to avoid a fully spurious failure due
to the new distcheck semantics.
* t/subdir-ac-subst.sh: Likewise.
* t/dejagnu-relative-srcdir.sh: Likewise.
* t/txinfo-builddir.sh: Likewise.
* NEWS: Update.
Helped-by: Nicola Fontana <ntd@entidi.it>
Helped-by: Peter Johansson <trojkan@gmail.com>
2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: expose automake bug#18286 "distcheck fails to detect missing files"
* t/distcheck-pr18286.sh: New test, still XFAILing.
* t/list-of-tests.mk: Add it.
2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'am-deps' into micro
* am-deps:
include: fix bug in handling of user-defined makefile fragments generation
tests: expose bug in handling of user-defined makefile fragments generation
2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
include: fix bug in handling of user-defined makefile fragments generation
If a user defined one single Makefile fragment to be included (via Automake
includes) in his main Makefile.am, and gave a rule to generate that file
from other data, Automake used to spuriously complain about with something
like "overrides Automake target '$(srcdir)/foo.am". This change remove that
spurious error (via a simple hack rather than a systematic change, but oh
well).
* lib/am/configure.am (%MAKEFILE-IN-DEPS%) [?HAVE-MAKEFILE-IN-DEPS?]: Add
a trailing "$(am__empty)" to the list of targets, which is enough to trick
Automake into not complaining about "duplicated targets" in case the
'%MAKEFILE-IN-DEPS%' list expands to a single target that is also declared
in some user-defined rule.
* t/list-of-tests.mk (XFAIL_TESTS): Remove now-passing test
't/am-include-only-one-generated-fragment.sh'.
* NEWS: Update.
2014-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: expose bug in handling of user-defined makefile fragments generation
If a user defines one single Makefile fragment to be included (via Automake
includes) in his main Makefile.am, and givse a rule to generate that file
from other data, Automake will spuriously complain about with something
like "overrides Automake target '$(srcdir)/foo.am".
* t/am-include-only-one-generated-fragment.sh: Expose the bug (this test
is still XFAILing).
* t/list-of-tests.mk: Add the new test.
2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
cleanup: refactor code to initialize DIST_COMMON
dist: ordering of files in DIST_COMMON is deterministic now
tests: refactor some tests on DIST_COMMON
maint: make output of 'gen-testsuite-part' deterministic
When computing lispdir, don't load emacs site wide init file.
PATH: quote $(PATH_SEPARATOR) as well
Improve detection of GNU make, avoiding "Arg list too long" errors.
2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
cleanup: refactor code to initialize DIST_COMMON
dist: ordering of files in DIST_COMMON is deterministic now
tests: refactor some tests on DIST_COMMON
maint: make output of 'gen-testsuite-part' deterministic
When computing lispdir, don't load emacs site wide init file.
PATH: quote $(PATH_SEPARATOR) as well
Improve detection of GNU make, avoiding "Arg list too long" errors.
2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: refactor code to initialize DIST_COMMON
There is not need to make that an Automake variable early,
only to later get and munge its contents, and use the new
content to redefine the variable.
* bin/automake.in (@dist_common): New global variable.
(push_dist_common, handle_dist): Use it.
(handle_dist): Define am__DIST_COMMON instead of DIST_COMMON
directly.
(initialize_per_input): Reset it to empty.
($configure_dist_common): Turn this scalar variable ...
(@configure_dist_common): ... into this array variable.
(handle_dist): Adjust.
(required_file_check_or_copy): Update and wrap some comments.
* lib/am/distdir.am (DIST_COMMON): Append $(am__DIST_COMMON).
* t/distcom2.sh: Tighten a little.
2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
dist: ordering of files in DIST_COMMON is deterministic now
It had likely stopped being deterministic due to the new perl behavior
of having non-deterministic order of numerating hash keys:
<http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization>
<http://onionstand.blogspot.ie/2012/12/are-you-relying-on-hash-keys-being.html>
See also similar commit v1.14-19-g52e6404, albeit in this case the issue
is likely coming from autom4te/autoconf, not from automake itself.
Fixes automake bug http://debbugs.gnu.org/17908
* bin/automake.in (handle_dist): Sort @dist_common.
(print_autodist_files): Swap invocations of 'sort' and 'uniq', for
consistency with the new code in 'handle_dist' and to get rid of a
minor hack.
* NEWS: Update.
2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: refactor some tests on DIST_COMMON
So that they prefer checking the semantics of the generated Makefiles,
rather than grepping their content. This will be useful in an upcoming
refactoring.
* t/distcom-subdir.sh: Adjust this test.
* t/distcom2.sh: And this.
* t/distcom3.sh: And this.
* t/distcom4.sh: And this.
* t/distcom5.sh: And this.
2014-12-22 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: make output of 'gen-testsuite-part' deterministic
So that diffs displayed by the 'compare-autodiffs' target are
less spurious and more useful.
* gen-testsuite-part: Sort keys of %deps_extractor, %wrapper_setups
and %depmodes before iterating on them.
2014-12-19 Andrew Burgess <andrew.burgess@embecosm.com> (tiny change)
When computing lispdir, don't load emacs site wide init file.
When computing the lispdir emacs was previously invoked with the '-q'
option to avoid loading the users initialisation files, however, the
site wide initialisation file was still loaded, in some cases this can
cause emacs to hang, with the result that a configure can also hang.
The lisp code that aclocal causes to be executed reduces the load-path
list (in emacs) to empty. The load-path is used by emacs to find
packages which it wants to load. Currently, if emacs tries to auto
load a package during shut down, and the package is not found, then
emacs will hang. This does seem like an emacs bug, but protecting
against this in aclocal is simply a case of not loading the site wide
initialisation file.
In this patch then the '-q' option to emacs is replaced with '-Q',
this has the same, the '-Q' option is similar to '-q --no-site-file
--no-splash'.
* doc/automake.texi (Hard-Coded Install Paths): Update explanation of
emacs code used to get lispdir.
* m4/lispdir.m4 (AM_PATH_LISPDIR): Update emacs flags.
2014-12-19 KO Myung-Hun <komh78@gmail.com> (tiny change)
PATH: quote $(PATH_SEPARATOR) as well
On OS/2, $(PATH_SEPARATOR) is ';'. Without quote, it is recognized as
a mark of end of sentence.
* Makefile.am: quote $(PATH_SEPARATOR) as well.
* t/Makefile.inc: Likewise.
2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Improve detection of GNU make, avoiding "Arg list too long" errors.
Such errors could take place when the main makefile included too many
sub-makefiles, making $(MAKEFILE_LIST) too long and causing the
recipes $(am__is_gnu_make) to exceed the shell's command-line length
limits. This is not a theoretical issue: it could happen for projects
having lots of C/C++ sources and using automatic dependency tracking,
which created an included .Po sub-makefile for each of such sources.
Fixes http://debbugs.gnu.org/18744
* lib/am/header-vars.am (am__is_gnu_make): Fix the logic to avoid
the use of $(MAKEFILE_LIST).
* NEWS: Update.
2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
Fix stupid typo in test, causing spurious failure
sync: update third-part files from upstream
Make sure AM_INIT_AUTOMAKE has a trailing newline
dist: adjust warning messages about shar and tarZ deprecation
docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables
2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
Fix stupid typo in test, causing spurious failure
2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Fix stupid typo in test, causing spurious failure
* t/aminit-trailing-dnl-comment-pr16841.sh: s/greop/grep/
2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
sync: update third-part files from upstream
Make sure AM_INIT_AUTOMAKE has a trailing newline
dist: adjust warning messages about shar and tarZ deprecation
docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables
2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'pr16841' into micro
* pr16841:
Make sure AM_INIT_AUTOMAKE has a trailing newline
2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update third-part files from upstream
* lib/config.guess: This.
* lib/config.sub: And this.
* lib/gitlog-to-changelog: And this.
* lib/gnupload: And this.
* lib/update-copyright: And this.
2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Make sure AM_INIT_AUTOMAKE has a trailing newline
This used to be the case until Automke 1.13, but we broke it in
Automake 1.14 (see commit v1.13.1-71-gf78b0f0). This caused
issues like http://debbugs.gnu.org/16841
* m4/init.m4 (AM_INIT_AUTOMAKE): Adjust.
* t/aminit-trailing-dnl-comment-pr16841.sh: New test.
* t/list-of-tests.mk: Add it.
* NEWS, THANKS: Update.
2014-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'dist-warn-pr19108' and 'docs-pr16623' into micro
* dist-warn-pr19108:
dist: adjust warning messages about shar and tarZ deprecation
* docs-pr16623:
docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables
2014-12-19 Aharon Robbins <arnold@skeeve.com>
dist: adjust warning messages about shar and tarZ deprecation
They were swapped. Reported in http://debbugs.gnu.org/19108.
2014-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables
In particular, suggesting that $PACKAGE and $VERSION should be aliases of
the $PACKAGE_TARNAME and $PACKAGE_VERSION definitions coming from AC_INIT,
and not be defined via an obsolete 2-argument invocation of AM_INIT_AUTOMAKE;
and why that is the best default, given all our historical baggage.
See discussion in http://debbugs.gnu.org/16623 for more information and
background.
* doc/automake.texi: Adjust.
* THANKS: Update.
2014-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
Fix dumb logic error preventing $install_sh from being be overridden
Automake docs: fix typos and use of British English
Expose automake bug#19311
build: fix race in parallel builds
build: fix race in parallel builds
2014-12-17 Thomas Jahns <jahns@dkrz.de>
Fix dumb logic error preventing $install_sh from being be overridden
* m4/install-sh.m4: Here.
* THANKS: Update.
2014-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'pr19311' and 'micro' into minor
* pr19311:
Expose automake bug#19311
build: fix race in parallel builds
* micro:
Automake docs: fix typos and use of British English
build: fix race in parallel builds
2014-12-17 Karl Berry <karl@freefriends.org>
Automake docs: fix typos and use of British English
* doc/automake.texi: Here.
2014-12-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Expose automake bug#19311
AC_PROG_CC called before AC_CONFIG_AUX_DIR can silently force wrong
$ac_aux_dir definition.
* t/auxdir-pr19311.sh: New.
* t/list-of-tests.mk: Add it as an XFAIL test.
2014-12-17 Paul Eggert <eggert@cs.ucla.edu>
build: fix race in parallel builds
Reported by Friedrich Beckmann in: http://bugs.gnu.org/18301
* lib/am/texi-vers.am (?DIRSTAMP?): Put the process-ID into the
temporary file name. Use a similar temporary in the source dir.
2014-08-23 Paul Eggert <eggert@cs.ucla.edu>
build: fix race in parallel builds
Reported by Friedrich Beckmann in: http://bugs.gnu.org/18301
* lib/am/texi-vers.am (?DIRSTAMP?): Put the process-ID into the
temporary file name. Use a similar temporary in the source dir.
2014-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
init: ensure $ac_aux_dir is defined before being used
2014-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
init: ensure $ac_aux_dir is defined before being used
Since we use '$ac_aux_dir' to define '$am_aux_dir', we need
to ensure the former has been initialized before we try to
define the latter, otherwise the definition:
am_aux_dir=`cd $ac_aux_dir && pwd`
will set '$am_aux_dir' to '$HOME', likely causing weird and
unexpected behaviours.
This change fixes automake bug#15981.
* m4/auxdir.m4 (AM_AUX_DIR_EXPAND): AC_REQUIRE expansion
of 'AC_CONFIG_AUX_DIR_DEFAULT'. Fix redundant comment and
AC_PREREQ, add extra quoting around '$ac_aux_dir'.
* t/auxdir-pr15981.sh: New test.
* t/auxdir-cc-pr15981.sh: Likewise.
* t/list-of-tests.mk (handwritten_TESTS): Add them.
* THANKS, NEWS: Update.
* bin/automake.in: Fix a harmless typo in comments, that
I happened to notice while writing this patch.
2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
plans: enabling subdir-object by default is blocked on bug#13928
2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
plans: enabling subdir-object by default is blocked on bug#13928
2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: update copyright (for files in 'master' only)
2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
maint: update copyright years
maint: sync files from upstream ("make fetch")
2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: update copyright years
We've been in 2014 already for few months now...
2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: sync files from upstream ("make fetch")
2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
Typofixes in warning messages and manual
2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Typofixes in warning messages and manual
Fixes automake bug#16827 and bug#16997.
2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
doc: fix encoding error with UTF-8 characters
NEWS: a typofix, and better word wrapping
parallel-tests: avoid possible implicit "make all" in test-suite.log rule
2014-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
doc: fix encoding error with UTF-8 characters
2014-01-04 Paul Eggert <eggert@cs.ucla.edu>
doc: fix encoding error with UTF-8 characters
* doc/automake.texi: Specify @documentencoding and
@documentlanguage, to prevent encoding errors for parts of this
input file that are UTF-8. This also causes the .info output to
use curly quotes, which is easier to read though it does assume
UTF-8 support.
2013-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: a typofix, and better word wrapping
2013-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: avoid possible implicit "make all" in test-suite.log rule
This change fixes automake bug#16302.
* lib/am/check.am ($(TEST_SUITE_LOG)): Avoid running "make $redo_logs"
when $redo_logs expands to empty, since in that case we are actually
ending up invoking a full "make all". That shouldn't be required, and
can cause slowdowns for people implementing their extra "laziness
wrappers" around check-TESTS (automake bug#16302).
* NEWS: Update.
2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
Allow user to extend .PRECIOUS target
cosmetics: remove a couple of extra trailing white spaces
tests: fix a spurious failure on Mac OS X
docs: make clear the JAVA primary is frozen
install-sh: a slightly better diagnostic, and tests enhancements
install-sh: be stricter in catching invalid usages
tests: more significant names for some tests
tests: some cosmetic fixes
tests: more significant names for a test
docs: drop a few obsolescent FIXME/TODO comments, and associated text
testsuite harness: report test exit status in log file
TAP driver: no need to invoke AC_PROG_AWK directly
TAP driver: remove perl implementation (move it into contrib/)
2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Allow user to extend .PRECIOUS target
References:
<http://lists.freedesktop.org/archives/systemd-devel/2013-July/012155.html>
<http://lists.gnu.org/archive/html/automake/2013-07/msg00011.html>
* bin/automake.in: Adjust to ensure we handle '.PRECIOUS' the same way
we do for '.PHONY' and '.MAKE'.
* lib/Automake/Rule.pm: Likewise.
* t/precious.sh: New test.
* t/list-of-tests.mk: Add it.
* t/phony.sh: Enhance a little while at it.
* NEWS: Update.
* THANKS: Likewise.
Reported-by: Holger Hans Peter Freyther <holger@freyther.de>
2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove a couple of extra trailing white spaces
2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failure on Mac OS X
This change fixes bug#14706.
* lib/depcomp2.sh: Also cater to spurious diagnostic from GNU rm,
not only from Apple's rm.
2013-12-26 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: make clear the JAVA primary is frozen
* doc/automake.texi: Here. The JAVA primary is broken in several ways,
and will no longer be developed, not even for bug fixes.
See also automake bugs #9088, #8662 and #8540.
2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'install-sh-improvements' into minor
* install-sh-improvements:
install-sh: a slightly better diagnostic, and tests enhancements
install-sh: be stricter in catching invalid usages
2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
install-sh: a slightly better diagnostic, and tests enhancements
* lib/install-sh: When called with no non-option arguments and the '-t'
option with an argument that is not an existing directory, have the
diagnostic output complain about the lack of required arguments rather
than about the bad argument passed to '-t'.
* t/install-sh-unittests.sh: Enhance to also check diagnostic printed
in cases of expected failure.
2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
install-sh: be stricter in catching invalid usages
Such usages (which are rejected by GNU install as well) are:
- options -d and -t used together;
- argument passed to option -t must be a directory;
- if there are two or more SOURCEFILE arguments, the
DESTINATION argument must be a directory.
Note that we still allow the use of options -d and -T together, by
making -d take the precedence; this is for compatibility with GNU
install.
This change fixes, among other things, automake bug#15376.
* lib/install-sh: Adjust.
* t/install-sh-unittests.sh: Enhance.
* NEWS: Update.
* THANKS: Add reporter of bug#15376.
Helped-by: Tobias Hansen <thansen@debian.org>
2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more significant names for some tests
* t/insh2.sh: Rename...
* t/dist-install-sh.sh: ... like this.
* t/instsh.sh: Rename...
* t/add-missing-install-sh.sh: ... like this.
* t/instsh2.sh: Rename...
* t/install-sh-unittests.sh: ... like this.
* t/instsh3.sh: Rename...
* t/install-sh-option-C.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: some cosmetic fixes
* t/instdat.sh: Here.
* t/instdat2.sh: And here.
* t/instsh.sh: And here.
* t/instsh3.sh: And here.
2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more significant names for a test
* t/install2.sh: Rename...
* t/dist-with-unreadable-makefile-fails.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2013-12-25 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'fix-pr11814' and 'drop-perl-tap-driver' into minor
* fix-pr11814:
docs: drop a few obsolescent FIXME/TODO comments, and associated text
testsuite harness: report test exit status in log file
* drop-perl-tap-driver:
TAP driver: remove perl implementation (move it into contrib/)
2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: drop a few obsolescent FIXME/TODO comments, and associated text
2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
testsuite harness: report test exit status in log file
The exit status of a test should be reported in the test logs, so
that one can see at a glance whether the test has succeeded or failed,
without having to look also into the corresponding .trs file.
This fixes automake bug#11814.
* lib/test-driver: Also report the test script exit status in the
test log (as the last line).
* t/check-exit-status-reported.sh: Test this new behaviour.
* t/list-of-tests.mk: Add the new test.
* t/ax/test-lib.sh( am_exit_trap): No longer log the test exit status;
this has been made redundant by the change to 'test-driver'. While at
it, fix an imperfect quoting.
2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
TAP driver: no need to invoke AC_PROG_AWK directly
It is already required by AM_INIT_AUTOMAKE anyway.
* doc/automake.texi: Adjust examples.
* t/tap-doc2.sh: Adjust documentation-tracking test.
* m4/init.m4 (AM_INIT_AUTOMAKE): Explicitly tell that the AC_PROG_AWK
requirement is also needed whenever the TAP driver is used.
2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
TAP driver: remove perl implementation (move it into contrib/)
That implementation was only meant as a standard against which the
portable awk+shell implementation was to be measured. Now, since
Automake 1.12, the latter implementation is fully functional and
already used in the wild, and in fact feature-par with the perl
implementation. So the perl implementation is now just slowing
down and complicating our testsuite. Let's move it to 'contrib/'
(we don't want to remove it, in case someone is actually using it
in the wild).
* lib/tap-driver.pl: Move it ...
* contrib/tap-driver.pl: ... here. While at it, convert quoting
`like this' to quoting 'like this', and remove an obsolescent FIXME
comment.
* lib/Makefile.inc (dist_script_DATA): Drop '%D%/tap-driver.pl'.
* Makefile.am (EXTRA_DIST): Add 'contrib/tap-driver.pl'.
* doc/automake.texi: Remove one stray reference to 'tap-driver.pl',
and reference 'tap-driver.sh' instead, as intended.
* t/ax/am-test-lib.sh ($am_tap_implementation): Delete definition and
uses.
(fetch_tap_driver): Simplify to unconditionally assume the shell+awk
implementation of the TAP driver is used.
(get_shell_script): Make more flexible so that it can cater to the
needs of 'fetch_tap_driver()'.
* t/tap-bad-prog.tap: Likewise.
* t/tap-bailout-leading-space.sh: Likewise.
* t/tap-signal.tap: Likewise.
* t/tap-test-number-0.sh: Likewise.
* t/test-driver-cond.sh: Use 'tap-driver.sh' instead of 'tap-driver.pl'.
* gen-testsuite-part (%test_generators): Do not generate sister tests
that use the perl TAP driver rather than the shell+awk one.
* NEWS: Update.
2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
NEWS: stop reporting "new" Automake versioning scheme
post-release: micro version bump to 1.14.1a devel version
release: stable micro release 1.14.1
HACKING: minor clarification
tests: make install-info-dir.sh print more debugging info
tests: remove too-brittle test tap-realtime.sh
maintainer: am-ft: add option to cater to clock skews
sync: update INSTALL, config.guess and config.sub from upstream
TAP driver: cosmetic fixes
2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: stop reporting "new" Automake versioning scheme
It's actually old news by now.
2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
post-release: micro version bump to 1.14.1a devel version
release: stable micro release 1.14.1
HACKING: minor clarification
tests: make install-info-dir.sh print more debugging info
tests: remove too-brittle test tap-realtime.sh
maintainer: am-ft: add option to cater to clock skews
sync: update INSTALL, config.guess and config.sub from upstream
TAP driver: cosmetic fixes
2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: micro version bump to 1.14.1a devel version
* configure.ac (AC_INIT): Bump version number to 1.14.1a.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable micro release 1.14.1
* configure.ac (AC_INIT): Bump version number to 1.14.1.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: minor clarification
2013-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make install-info-dir.sh print more debugging info
With the hope that this will shed more light on bug#14601
2013-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove too-brittle test tap-realtime.sh
* t/tap-realtime.sh: Delete. It has always been brittle, but now
it's also causing spurious failures when mawk is used as the awk
implementation in tap-driver.sh (see bug#14601).
* t/list-of-tests.mk: Adjust.
2013-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
maintainer: am-ft: add option to cater to clock skews
* maintainer/am-ft: Add option '-S', giving a number of seconds to sleep
after copying the tarball to the remote system and before unpacking,
building and testing it. This is to cater to situations where the clock
of the remote system is skewed (in the past) w.r.t. the clock the local
system the tarball has been built on.
2013-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update INSTALL, config.guess and config.sub from upstream
2013-12-23 Stefano Lattarini <stefano.lattarini@gmail.com>
TAP driver: cosmetic fixes
* lib/tap-driver.sh: Quote 'like this', not `like this'. Remove an
obsolete FIXME. Correctly mark another comment as a TODO rather
than as a FIXME.
2013-11-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
cosmetics: fix typo in a user-facing message in tests
automake: account for perl hash order randomization
tests: avoid use of intervals to capitalize letters
cosmetics: untabify the install-sh script
install-sh: assume that "set -f" and "set +f" work...
install-sh: assume ${var:-value} works as expected
install-sh: assume 'dirname' is available and working correctly
distcheck: don't allow overriding of --prefix and --srcdir by the user
tests: expose bug#14991 (relates to 'distcheck')
2013-11-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'modernize-install-sh' into minor
* modernize-install-sh:
cosmetics: untabify the install-sh script
install-sh: assume that "set -f" and "set +f" work...
install-sh: assume ${var:-value} works as expected
install-sh: assume 'dirname' is available and working correctly
2013-11-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
cosmetics: fix typo in a user-facing message in tests
automake: account for perl hash order randomization
tests: avoid use of intervals to capitalize letters
distcheck: don't allow overriding of --prefix and --srcdir by the user
tests: expose bug#14991 (relates to 'distcheck')
2013-11-01 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix typo in a user-facing message in tests
* t/lex-header.sh: A "skip" message in this test, precisely.
2013-11-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'fix-pr14991' and 'fix-pr14891' into micro
* fix-pr14991:
distcheck: don't allow overriding of --prefix and --srcdir by the user
tests: expose bug#14991 (relates to 'distcheck')
* fix-pr14891:
automake: account for perl hash order randomization
tests: avoid use of intervals to capitalize letters
2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: account for perl hash order randomization
Try to explicitly order the keys of some perl hashes when looping
on them to do sanity/correctness checks and possibly display warning
messages; this should ensure a more reproducible output. Not really
a big deal, but I prefer to keep the order of such output reproducible
if possible.
Issue revealed by spurious testsuite failures with perl 5.18, as
reported in automake bug#14891. See also:
<http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.pod#Hash_randomization>
<http://onionstand.blogspot.ie/2012/12/are-you-relying-on-hash-keys-being.html>
* lib/Automake/Variable.pm (variables): Explicitly order the values of
the returned Automake::Variable instances.
(variables_dump): Simplify, using the knowledge that 'variables()' now
sorts its output.
* t/preproc-errmsg.sh: Adjust.
2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid use of intervals to capitalize letters
It was causing spurious failures with with Solaris 8 'tr'.
See automake bug#14891.
* t/test-extensions.sh: Adjust.
2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: untabify the install-sh script
* lib/install-sh: Here, plus a couple of related formatting tweaks.
2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
install-sh: assume that "set -f" and "set +f" work...
... and disable/enable shell globbing, respectively. This is
mandated by POSIX, and supported even by Solaris 9 /bin/sh (one
of the most braindead shells we still support).
* lib/install.sh: Adjust.
* NEWS: Update.
2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
install-sh: assume ${var:-value} works as expected
The Autoconf manual says it is OK these days.
* lib/install.sh: Adjust.
* NEWS: Update.
2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
install-sh: assume 'dirname' is available and working correctly
Really, we no longer care about hosts so outdated/broken to miss
fundamental utilities like basename or dirname.
* lib/install.sh: Adjust.
* NEWS, THANKS: Update.
Suggested-by: Philipp A. Hartmann <philipp.hartmann@offis.de>
2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
distcheck: don't allow overriding of --prefix and --srcdir by the user
Not through AM_DISTCHECK_FLAGS, nor through DISTCHECK_FLAGS. Apparently,
some packages got in the habit of relaying all the options passed to the
original ./configure invocation through to the configure invocations
in "make distcheck". This was causing problems, because it also passed
through the original --srcdir and --prefix options.
Fixes: expose bug#14991 (relates to 'distcheck')
* lib/am/distdir.am (distcheck): Pass the hard-coded --srcdir and
--prefix options *after* both the developer-defined options in
$(AM_DISTCHECK_FLAGS) and the user-defined options in $(DISTCHECK_FLAGS).
* t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test
'distcheck-no-destdist-or-srcdir-override.sh'.
* doc/automake.texi (Checking the Distribution): Update.
* NEWS: Likewise.
2013-10-30 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: expose bug#14991 (relates to 'distcheck')
* t/distcheck-no-prefix-or-srcdir-override.sh: New, expose the bug.
* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.
2013-10-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
tests: fix spurious failure when zip is present but unzip is not
tests: fix spurious failure due to localization issues
NEWS: update with the changes since v1.14
docs: correct typos in the fix-timestamp.sh script
python: byte-compile nobase_*_PYTHON files only once
cosmetics: typofix in the 'missing' script
test: avoid false positives in 'cc-no-c-o' script
test harness: improve catching of usage errors in script 'test-driver'
tests: fix a spurious failure on NetBSD-current
am-ft: make the environment available earlier
NEWS: post-release tweaks (for 1.14.x series)
tests: avoid a spurious failure on MacOS X 10.6.8
tests: don't risk hanging on the 'cl' requirement
2013-10-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
tests: fix spurious failure when zip is present but unzip is not
tests: fix spurious failure due to localization issues
NEWS: update with the changes since v1.14
docs: correct typos in the fix-timestamp.sh script
python: byte-compile nobase_*_PYTHON files only once
cosmetics: typofix in the 'missing' script
test: avoid false positives in 'cc-no-c-o' script
test harness: improve catching of usage errors in script 'test-driver'
tests: fix a spurious failure on NetBSD-current
am-ft: make the environment available earlier
NEWS: post-release tweaks (for 1.14.x series)
tests: avoid a spurious failure on MacOS X 10.6.8
tests: don't risk hanging on the 'cl' requirement
2013-10-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure when zip is present but unzip is not
Fixes automake bug#15181.
* t/dist-formats.tap (have_compressor): When checking that zip(1), also
check for unzip(1), otherwise "make distcheck" will be unable to extract
the zip tarball it creates, which will cause spurious failures. While
at it, reorganize the existing code a bit.
* THANKS, NEWS: Update.
2013-10-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure due to localization issues
Fixes automake bug#15237.
* t/autohdr-subdir-pr12495.sh: Ensure make is run in the C locale, so that
we can expect error messages in English when grepping its output.
* THANKS, NEWS: Update.
2013-10-29 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: update with the changes since v1.14
2013-10-28 Peter Breitenlohner <peb@mppmu.mpg.de> (tiny change)
docs: correct typos in the fix-timestamp.sh script
* doc/automake.texi: Here. The original version of this example script
makes no sense at all, using 'configure' instead of the intended 'touch'
in few key places.
2013-10-28 Benoit Sigoure <tsunanet@gmail.com> (tiny change)
python: byte-compile nobase_*_PYTHON files only once
* lib/am/python.am: Here. Byte-compiling was occurring inside of
a loop, causing an O(n^2) number of byte-compilations instead of
O(n).
2013-10-28 Václav Zeman <vhaisman@gmail.com> (tiny change)
cosmetics: typofix in the 'missing' script
* lib/missing: Here, in a message printed to the user.
* THANKS: Update.
2013-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr14911' into micro
* fix-pr14911:
test: avoid false positives in 'cc-no-c-o' script
2013-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-half-pr14760' into micro
* fix-half-pr14760:
tests: fix a spurious failure on NetBSD-current
2013-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
test: avoid false positives in 'cc-no-c-o' script
Fixes automake bug#14911.
* t/ax/cc-no-c-o.in: Be more careful in determining whether both the
'-c' and '-o' options have been passed on the command line to the
compiler. In particular, do not spuriously complain in the face of
options like '-compatibility_version' or '-current_version' (seen on
Mac OS X 10.7).
* THANKS: Update.
2013-07-21 Stefano Lattarini <stefano.lattarini@gmail.com>
test harness: improve catching of usage errors in script 'test-driver'
Fixes automake bug#14840.
* lib/test-driver: Catch and report usage errors where the caller has
forgotten to specify one of the mandatory options (--test-name,
--log-file, --trs-file) or has not passed any non-option argument.
Also, be sure to work correctly even when no '--' special argument
is passed to separate option from non-options arguments.
* THANKS: Update.
2013-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failure on NetBSD-current
Reported in automake bug#14760.
* tests/silent-custom.sh: Be prepared to handle creative
quoting in the output of the shell run for the make recipes
when the shell traces are active ("set -x").
2013-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
am-ft: make the environment available earlier
So that, with a PATH that is updated earlier, we can find the 'xz'
program even on systems where it isn't in the default PATH.
* maintainer/am-ft: Adjust accordingly.
2013-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: post-release tweaks (for 1.14.x series)
2013-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failure on MacOS X 10.6.8
Fixes automake bug#14706.
* t/depcomp2.sh: Strip, from the redirected ./configure stderr, the
possible error message "rm: conftest.dSYM: is a directory", generated
by cleanup code that doesn't cater to the existence of *.dSYM
directories sometimes created by the compiler on MacOS X. This
"massaging" of ./configure stderr is legitimate, since the spurious
error message is due not to automake-related code, but to a know
buglet/limitation of either Autoconf or Mac OS X bundles gcc:
<http://lists.gnu.org/archive/html/bug-autoconf/2007-11/msg00017.html>
Actually, from that link it appears that the original Autoconf issue
had been fixed, but it must have been re-introduced in the meantime :-(
2013-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't risk hanging on the 'cl' requirement
On the GNU/Linux boxes of some users that run our testsuite there
is a '/usr/local/bin/cl' executable, from the IRAF package:
<http://iraf.noao.edu/>
The test 'compile4.sh' (and other tests) try to invoke the 'cl'
command to check whether it's a Microsoft compiler; the IRAF cl
is an interactive program, so it hangs on such invocation. In
conclusion, the testsuite hangs for those users which have the
IRAF cl early in PATH.
Fix the issue by redirecting the input of cl from /dev/null when
invoking it, which is enough to prevent the cl program from IRAF
from hanging, and should have no effect on the behaviour of the
Microsoft compiler.
This change fixes automake bug#14707.
* t/ax/am-test-lib.sh (require_tool): Adjust the handling of
the 'cl' requirement.
2013-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'minor'
* minor:
post-release: micro version bump (1.14a)
post-release: micro version bump (1.14.0a)
release: stable minor release 1.14
2013-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into minor
* micro:
post-release: micro version bump (1.14.0a)
2013-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: micro version bump (1.14a)
* configure.ac: Bump version: 1.14 -> 1.14a
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: micro version bump (1.14.0a)
* configure.ac: Bump version: 1.14 -> 1.14.0a
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' into micro
* maint:
release: stable minor release 1.14
NEWS: one more minor fixlet
maint: port check-minimal-autoconf to VPATH builds
tests: avoid spurious failures in Linux -> MinGW cross-compilation mode
tests: simplify checks for some expected variables values in Makefiles
NEWS: improve and update wording
tests: fix/improve few heading comments
coverage: new test on Texinfo @include support
tests: tighten a grepping check
tests: more significant names for some tests
rename-tests: rework some code for clarity and safety
tests: cosmetic changes in t/extra-sources.sh
rename-tests: inform the user about the pre-filled commit msg
typofix: in comments in 'maintainer/rename-tests'
rename-tests: also "git add" list-of-tests.mk
tests: rename t/exsource.sh -> t/extra-sources.sh
tests: some improvements to Gettext tests
maint: version bump after beta release 1.13b
release: beta release 1.13b (will become 1.14)
automake: assume we can always pass '-o' to the C compiler
NEWS: fix typo
NEWS: on assuming "rm -f" without arguments work
docs: AM_PROG_CC_C_O: correct imprecise statements about it
NEWS: document deprecation of 'shar' and 'compress' dist formats
m4: rename minuso.m4 -> prog-cc-c-o.m4
tests: some tests make no sense if "$CC -c -o" doesn't work
AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
tests: avoid few lingering $MAKE redirections
tests: fix a spurious failure on NetBSD 5.1
texi: build version.texi and stamp-vti in srcdir
tests: fix a botched heading comment
tests: fix another spurious with FreeBSD make
tests: fix a spurious failure with FreeBSD make
tests: remove remaining exec bits ('maint' branch)
PLANS: subdir-objects: various updates
THANKS: update Akim's e-mail address
tests: less uses of "make -e"; avoid spurious failures in 'check-cc-no-c-o'
build: be more respectful of user-specified verbosity
check-cc-no-c-o: unify initializations in a single place
check-cc-no-c-o: avoid a spurious failure
build: fixup for building in a VPATH setup
Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O
compile: avoid AC_PROG_CC messy rewrite
options: tiny simplification in dealing with incompatible versions
options: try to report as much errors as possible
refactor: fix few "inverted boolean" usages
options: better name for an internal function
options: more consistency in use of return statuses to report errors
options: tiny simplification in dealing with erroneous opts
options: consistently use return statuses to report errors
options: re-enable some sanity checks
THANKS: update Eric Blake's e-mail address
NEWS: typofix
news: document new 'subdir-objects' warning
PLANS: one minor fixlet (mostly cosmetic)
PLANS: we have already dropped support for split info files in master
NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended
PLANS: fix reference to non-existent 'next' branch
PLANS: fix botched version reference
maintcheck: fix two references to old location of aclocal and automake
dist: deprecated shar and tar+compress formats
am: prefer a shorter idiom where possible
maint: re-run "make update-copyright" ...
tests: avoid spurious failure with older flex (2.5.4)
build: move automake and aclocal in 'bin' subdir
build: break up monolithic Makefile.am in subdir-specific fragments
maint branch: we are going to become Automake 1.14
tests: typofixes in comments in t/preproc-c-compile.sh
tests: remove bashism from a test
tests: rename some with more descriptive names
typofix: in comments in t/extra2.sh
tests: fix botched cross-reference in a heading comment
automake: refactoring: factor out common cpp-like flags
NEWS (mint): reflect new Automake versioning scheme
maintcheck: avoid spurious failure
perl: perl subroutine prototypes are problematic, don't use them
maint: more adjustments to the new versioning scheme
cosmetics: fix some "docstring-like" comments in automake
style: call perl functions 'like_this()', not '&like_this()'
preproc: enhance and extend tests
preproc: add support for relative names in included fragments
maint: use more perl subroutines prototypes in the automake script
build: auto-generate perl subroutines prototypes for automake and aclocal
refactor: rip module Automake::Language out of automake script
tests: more information about Lex and Yacc programs
lint: fix spurious failure for 'sc_rm_minus_f' syntax check
maint: bump version 1.13.1a -> 1.13.2a
plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
init.m4: add probe to check "rm -f" without args work
subdir-objects: complain if it isn't enabled
plans: update w.r.t. latest changes
ywrap: remove an obsolete FIXME comment
ywrap: style fixes (no semantic change intended)
convenience: "make lint" as an alias for "make maintainer-check"
docs: typofix in manual
coverage: using multiple lexers in a single program
tests: remove most uses of the AM_PROG_CC_C_O obsolete macro
coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors
INSTALL: update copyright years
ithreads: use runtime (not configure time) detection of perl threads
copyright: add few missing copyright notices
maint: files in PLANS are to be exempted from copyright notice
maint: consistently honor the UPDATE_COPYRIGHT_YEAR environment variable
copyright: update some copyright years
compile: use 'compile' script when "-c -o" is used with losing compilers
HACKING: suggest more checks before releasing
tests: can fake a compiler not grasping "-c -o" -- globally in all tests
sync: update files from upstream with "make fetch"
typofix: in comments in GNUmakefile
Rename 'maint/' -> 'maintainer/', for Git's sake
HACKING: minor typofix
HACKING: bug-tracker, the PLANS directory, and how to plan "big" changes
HACKING: rewindable branches should live in the 'experimental/*' namespace
HACKING: fixlets about git branch rewinding policy
HACKING: commit messages are not to follow GCS ChangeLog rules too strongly
HACKING: "detailed explanation" in commit messages is almost mandatory
HACKING: we use "merge --log" even when merging master
HACKING: typofix
depend2.am: fix comments on verbosity of compilation rules
depend2.am: improve comments a little
plans: automake 1.14 is to assume "rm -f" with no args is OK
plans: we want to active subdir-objects unconditionally in automake 1.14
tests: adjust stale references to old test names
tests: rename the last aclocal test with dumb name
tests: fix an old botched change to an aclocal test
tests: fix some botched inter-test references in heading comments
coverage: compile rules used "-c -o" also with losing compilers
texi: remove extra verbosity in creation of dirstamp directory
coverage: user can avoid distributing '.info' pages
plans: add some on-going plans (already registered on the bug tracker)
docs: mention dist-hook help for EXTRA_DIST
texi: remove workaround for older Texinfo (4.1)
NEWS: improve wordings in entry deprecating suffix-less info files
build: don't enable 'color-tests' automake option explicitly
build: enable all warnings as fatal in our own build system
texi: Texinfo sources and CLEANFILES definition should co-exist peacefully
tests: make two new test executable
runtest: better command line API
tests: move runtest.in away from the top-lever directory
maint: move more maintainer files in the 'maint/' subdir
plans: add the "PLANS" directory
tests: more significant names for some tests
maint: add some of my maintainer-specific scripts
texi: deprecate hack about info files in CLEANFILES variables
texi: info files can be generated in the builddir
2013-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable minor release 1.14
* configure.ac (AC_INIT): Bump version number to 1.14.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
NEWS: one more minor fixlet
maint: port check-minimal-autoconf to VPATH builds
tests: avoid spurious failures in Linux -> MinGW cross-compilation mode
tests: simplify checks for some expected variables values in Makefiles
NEWS: improve and update wording
tests: fix/improve few heading comments
coverage: new test on Texinfo @include support
tests: tighten a grepping check
tests: more significant names for some tests
rename-tests: rework some code for clarity and safety
tests: cosmetic changes in t/extra-sources.sh
rename-tests: inform the user about the pre-filled commit msg
typofix: in comments in 'maintainer/rename-tests'
rename-tests: also "git add" list-of-tests.mk
tests: rename t/exsource.sh -> t/extra-sources.sh
2013-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: one more minor fixlet
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: port check-minimal-autoconf to VPATH builds
* maintainer/maint.mk (check-minimal-autoconf): Here.
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures in Linux -> MinGW cross-compilation mode
* t/ccnoc-deps.sh: Here.
* t/preproc-demo.sh: And here.
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: simplify checks for some expected variables values in Makefiles
Do so by using our custom 'is' auxiliary script rather than grepping
the output from make. This is more natural, more robust, and often
shorter to write.
Unfortunately, we can't do that in all cases: sometimes we really need
to match the content of a variable against a regular expressions, and
we can't know nor are interested in its exact value.
This is basically a follow-up on commit v1.11-1830-g96401cb of
2012-02-08 (tests: better way to compare lists in Makefile rules).
* t/subst-no-trailing-empty-line.sh: Adjust.
* t/pluseq10.sh: Likewise.
* t/check5.sh: Likewise, and enhance a little while at it.
* t/check7.sh: Likewise.
* t/exeext.sh: Likewise.
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: improve and update wording
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix/improve few heading comments
* t/lflags.sh: Here.
* t/lflags-cxx.sh: And here.
* t/yflags.sh: And here.
* t/yflags-cxx.sh: And here.
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: new test on Texinfo @include support
Backported from the Automake-NG testsuite.
* t/txinfo-include.sh: New test.
* t/list-of-tests.mk: Add it.
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: tighten a grepping check
* t/yflags-force-override.sh: Here, by being sure to correctly
match an expected literal dot.
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more significant names for some tests
* t/extra2.sh: Rename...
* t/extra-sources-no-spurious.sh: ... like this.
* t/yflags2.sh: Rename...
* t/yflags-cxx.sh: ... like this.
* t/lflags2.sh: Rename...
* t/lflags-cxx.sh: ... like this.
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
rename-tests: rework some code for clarity and safety
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: cosmetic changes in t/extra-sources.sh
* t/extra-sources.sh: Do not create unneeded C sources. Add
trailing ':' command.
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
rename-tests: inform the user about the pre-filled commit msg
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: in comments in 'maintainer/rename-tests'
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
rename-tests: also "git add" list-of-tests.mk
2013-06-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rename t/exsource.sh -> t/extra-sources.sh
* t/exsource.sh: Rename ...
* t/extra-sources.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2013-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: some improvements to Gettext tests
2013-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'gettext-tests' into maint
* gettext-tests:
tests: some improvements to Gettext tests
2013-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: some improvements to Gettext tests
Mostly to bring them more in sync with the ones in Automake-NG.
See also commit v1.12.2-824-g5468d52 of 2012-08-10([ng] tests:
reorganize gettext tests a bit) in Automake-NG.
* t/gettext.sh: Rename ...
* t/gettext-basics.sh: ... like this, enhance a little, and
move checks on requirement of 'config.rpath' out into ...
* t/gettext-config-rpath.sh: ... into this new test, and move
checks about PR/381...
* t/gettext-pr381.sh: ... into this new test.
* t/gettext2.sh: Rename ...
* t/gettext-external-pr338.sh: ... like this, and enhance a
little.
* t/gettext3.sh: Rename ...
* t/gettext-intl-subdir.sh: ... like this, and add trailing
':' command.
2013-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
post-release: micro version bump (1.13.4a)
release: stable micro release 1.13.4
sync: update config.guess
2013-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
post-release: micro version bump (1.13.4a)
release: stable micro release 1.13.4
sync: update config.guess
2013-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: micro version bump (1.13.4a)
* configure.ac: Bump version: 1.13.4 -> 1.13.4a
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable micro release 1.13.4
* configure.ac (AC_INIT): Bump version number to 1.13.4.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update config.guess
* lib/config.guess: This. Actually, only the timestamp has been
updated (apparently, it was mistakenly not updated in the previous
real change to the script).
2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
THANKS: update e-mall address for Ralf Corsepius
lang, suffix rules: don't require C stuff needlessly
tests: expose automake bug#14560
maint: add a missing copyright notice
sync: update config.guess from upstream
tests: expose automake bug#13928
comments: fix some out-of-sync refs to test scripts
tests: expose automake bug#13940
2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
THANKS: update e-mall address for Ralf Corsepius
lang, suffix rules: don't require C stuff needlessly
tests: expose automake bug#14560
2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr14560' into micro
* fix-pr14560:
lang, suffix rules: don't require C stuff needlessly
tests: expose automake bug#14560
2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
THANKS: update e-mall address for Ralf Corsepius
2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
lang, suffix rules: don't require C stuff needlessly
This change fixes automake bug#14560: when two or more user-defined suffix
rules were present in a single Makefile.am, automake would needlessly
include definition of some make variables related to C compilation in the
generated Makefile.in.
* automake.in (handle_languages): Fix logic to decide whether or not to
include definitions of C compilation related variables in the generated
Makefile.in: instead of doing so when two or more user-defined suffix
rules are seen (which is a completely bogus criterion), do so when two
or more compiled languages are used.
* lib/Automake/Rule.pm (suffix_rules_count): Remove as no longer used.
(@EXPORT): Adjust.
* t/list-of-tests.mk (XFAIL_TESTS): No longer list the test script
'suffix-extra-c-stuff-pr14560.sh', which now passes.
* NEWS: Update.
2013-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: expose automake bug#14560
Automake needlessly generates definition of make variables related
to C compilation when two or more user-defined suffix rules are
present in a single Makefile.am.
* t/suffix-extra-c-stuff-pr14560.sh: New test, exposing the bug.
This test is still xfailing.
* t/no-extra-c-stuff.sh: New test, check for a potential related
regression. This regression is not actually present here (so this
test passes), but it still took place in our first attempt at
fixing bug#14560 -- so this test has proven to be actually useful.
* t/no-extra-makefile-code.sh: Improve comments, and tighten the
grepping checks a little.
* t/list-of-tests.mk (handwritten_TESTS): Add the new tests.
(XFAIL_TESTS): Add the new xfailing test.
2013-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
maint: add a missing copyright notice
sync: update config.guess from upstream
tests: expose automake bug#13928
comments: fix some out-of-sync refs to test scripts
tests: expose automake bug#13940
2013-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: add a missing copyright notice
* t/ax/deltree.pl: Here. Issue revealed by "make update-copyright".
2013-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update config.guess from upstream
* lib/config.guess: Here.
2013-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: expose automake bug#13928
* t/subobj-indir-pr13928.sh: New test, still xfailing.
* t/subobj-vpath-pr13928.sh: Likewise.
* t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Update.
2013-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
comments: fix some out-of-sync refs to test scripts
Those script has been renamed since those comments where written.
* lib/Automake/Rule.pm: Adjust.
* lib/am/distdir.am: Likewise.
2013-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: expose automake bug#13940
* t/override-conditional-pr13940.sh: New test, still xfailing.
* t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Add it.
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: botched merge for 'bin/automake.in'
* bin/automake.in (print_autodist_files): Here, we had unwittingly
botched up a 'format' invocation during the latest maint -> master
merge.
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
configure: remove an obsolete TODO comment
post-release: micro version bump (1.13.3a)
release: stable micro release 1.13.3
typofix: fix grammaro in comments in t/tags-pr12372.sh
NEWS: minor fixlets, re-wording, and better text wrapping
tests: slightly stricter checks in t/cxx-demo.sh
tests: fix spurious failure when 'etags' program is Exuberant Ctags
tests: fix spurious failure due to missing sleeps
maint: version bump after beta release 1.13b
release: beta release 1.13b (will become 1.14)
maint: support new Automake versioning scheme in tagging/uploading rules
announcement: can be generated from development snapshots as well
announcement: can be generated from development snapshots as well
announcement: be less strict in the paring of NEWS
maint: version bump after beta release 1.13.2b
release: beta release 1.13.2b (will become 1.13.3)
sync: update config.guess from upstream
automake: assume we can always pass '-o' to the C compiler
NEWS: document recent testsuite fixes (MinGW/MSYS related)
depcomp: avoid trailing backslash in depfile for depmode=msvc7
tests: prune some weed in a non-POSIX test
tests: avoid a spurious failure on MSYS
t/README: document "run_make", discourage "make -e"
cosmetics: tiny whitespace fixlets
tests: avoid a spurious failure with MSVC
tests: avoid a spurious failure on non-POSIX systems
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
configure: remove an obsolete TODO comment
post-release: micro version bump (1.13.3a)
release: stable micro release 1.13.3
typofix: fix grammaro in comments in t/tags-pr12372.sh
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: remove an obsolete TODO comment
* configure.ac: Here.
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: micro version bump (1.13.3a)
* configure.ac: Bump version: 1.13.3 -> 1.13.3a
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable micro release 1.13.3
* configure.ac (AC_INIT): Bump version number to 1.13.3.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-06-03 Peter Rosin <peda@lysator.liu.se>
typofix: fix grammaro in comments in t/tags-pr12372.sh
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
NEWS: minor fixlets, re-wording, and better text wrapping
tests: slightly stricter checks in t/cxx-demo.sh
tests: fix spurious failure when 'etags' program is Exuberant Ctags
tests: fix spurious failure due to missing sleeps
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: minor fixlets, re-wording, and better text wrapping
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: slightly stricter checks in t/cxx-demo.sh
This is a follow-up to the commit fixing automake bug#14493.
* t/cxx-demo.sh: Also check that the built program returns the
correct (i.e., zero) exit status when run. And improve comments
a little while at it.
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure when 'etags' program is Exuberant Ctags
Fixes automake bug#14517.
* t/tags-pr12372.sh: If the 'etags' program in use supports the
'--langmap' option, use it. That is required to avoid spurious
failures with Exuberant Ctags (at least version 5.8), which by
default do not generate any tags for file extensions it doesn't
recognize.
2013-06-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure due to missing sleeps
Fixes automake bug#14528.
* THANKS: Give credit to that bug's original reporter.
* t/remake-configure-dependencies.sh: Add few missing '$sleep'
invocations. I thought that the sleeps implicit in the configure
invocation were enough, but they were not, actually. Here is what
can happen:
1. The config.status script is generated by a configure run.
2. ./config.status and make are run.
3. The 'print-version' script is modified.
4. Since that script is listed in $(CONFIGURE_DEPENDENCIES),
autoconf is re-run.
5. On a fast-enough machine, the three steps 2-4 above, even
combined, might have taken less than a second to run;
6. If the filesystem doesn't have a sub-second timestamp
resolution, that means the newly-generated configure has
the same timestamp of the old config.status;
7. So, config.status is not re-run, and the Makefiles are
not updated.
8. Spurious failure!
So we really need more explicit sleeps.
2013-05-31 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: version bump after beta release 1.13b
* configure.ac (AC_INIT): Bump version number to 1.13c.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-05-31 Stefano Lattarini <stefano.lattarini@gmail.com>
release: beta release 1.13b (will become 1.14)
* configure.ac (AC_INIT): Bump version number to 1.13b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
maint: support new Automake versioning scheme in tagging/uploading rules
announcement: can be generated from development snapshots as well
announcement: can be generated from development snapshots as well
announcement: be less strict in the paring of NEWS
maint: version bump after beta release 1.13.2b
release: beta release 1.13.2b (will become 1.13.3)
sync: update config.guess from upstream
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: support new Automake versioning scheme in tagging/uploading rules
* maint.mk (base_version_rx: Drop.
(rx-0, rx-1): New.
(stable_major_version_rx, stable_minor_version_rx, beta_version_rx):
Update.
(stable_micro_version_rx, alpha_version_rx: New.
(determine_release_type): Adjust.
(web-manual-update): Likewise.
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
announcement: can be generated from development snapshots as well
And not only from checkouts corresponding exactly from a beta
or stable release. That was only getting in the way of proper
testing for the 'announcement' recipe.
* maint.mk (determine_release_type): If the make variable
DEVEL_SNAPSHOT is set, do not error out if the current version
denotes a development snapshot (e.g., "1.13.2c" or "1.99a").
(announcement): Relax, by also accepting to run from development
snapshots, not only stable or beta releases. Do so by defining
the target-specific variable DEVEL_SNAPSHOT to "yes".
(print-release-type): Micro enhancement while at it.
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
announcement: can be generated from development snapshots as well
And not only from checkouts corresponding exactly from a beta
or stable release. That was only getting in the way of proper
testing for the 'announcement' recipe.
* maint.mk (determine_release_type): If the make variable
DEVEL_SNAPSHOT is set, do not error out if the current version
denotes a development snapshot (e.g., "1.13.2c" or "1.99a").
(announcement): Relax, by also accepting to run from development
snapshots, not only stable or beta releases. Do so by defining
the target-specific variable DEVEL_SNAPSHOT to "yes".
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
announcement: be less strict in the paring of NEWS
So that the file generated by "make announcement" is correct also
for beta releases.
* maint.mk (announcement): Relax the awk program processing NEWS a
little.
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: version bump after beta release 1.13.2b
* configure.ac (AC_INIT): Bump version number to 1.13.2c.
* m4/amversion.m4: Likewise (autoupdated by "make bootstrap").
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
release: beta release 1.13.2b (will become 1.13.3)
* configure.ac (AC_INIT): Bump version number to 1.13.2b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update config.guess from upstream
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
NEWS: document recent testsuite fixes (MinGW/MSYS related)
depcomp: avoid trailing backslash in depfile for depmode=msvc7
tests: prune some weed in a non-POSIX test
tests: avoid a spurious failure on MSYS
2013-05-30 Peter Rosin <peda@lysator.liu.se>
automake: assume we can always pass '-o' to the C compiler
It is assumed that we can pass -c -o to the C compiler, so remove
some special casing and always do that.
This change is similar in spirit to v1.13.1d-217-g7299c4d "depend: assume
we can always pass '-o' to the C compiler"
This change also happen to fix a testsuite failure
(t/silent-many-languages.sh) when mixing MSVC and GNU fortran, which
have different default object file extensions (.obj vs. .o). This
difference in object file extension is not handled well and caused
Automake to look for MSVC objects with .o extension. Always using -o
makes MSVC create .o object files and linking succeeds. Not that
anybody recommends mixing toolchains or anything.
* bin/automake.in (handle_languages): Remove conditional modification
of 'output_flag' entry for 'c'.
(register_language ('name' => 'c')): Add 'output_flag' entry set to '-o'.
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: document recent testsuite fixes (MinGW/MSYS related)
2013-05-30 Peter Rosin <peda@lysator.liu.se>
depcomp: avoid trailing backslash in depfile for depmode=msvc7
When compiling a file without any dependencies (no #includes), the
msvc7 depmode (and consequently msvc7msys) generates a depfile
Makefile fragment with the last line ending with a backslash. This
is less robust than needed.
Fixes automake bug#14501.
* lib/depcomp (msvc7): Finish off the depfile Makefile fragment with
an empty line.
(scriptversion): Update.
2013-05-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr14499'
* fix-pr14499:
tests: avoid a spurious failure when TeX is not installed.
2013-05-29 Peter Rosin <peda@lysator.liu.se>
Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prune some weed in a non-POSIX test
Fixes automake bug#14494.
* t/distcheck-pr10470.sh: Make sure the test-driver is installed. Adjust
to run_make changes. Adjust grep pattern to match new output.
2013-05-29 Peter Rosin <peda@lysator.liu.se>
tests: avoid a spurious failure on MSYS
Fixes automake bug#14493.
* t/cxx-demo.sh: Strip CR characters from the program output.
2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
t/README: document "run_make", discourage "make -e"
cosmetics: tiny whitespace fixlets
tests: avoid a spurious failure with MSVC
tests: avoid a spurious failure on non-POSIX systems
2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
t/README: document "run_make", discourage "make -e"
2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: tiny whitespace fixlets
2013-05-29 Peter Rosin <peda@lysator.liu.se>
tests: avoid a spurious failure with MSVC
Fixes automake bug#14498.
* t/yacc-bison-skeleton.sh: inline was not standardized prior to C99.
2013-05-29 Peter Rosin <peda@lysator.liu.se>
tests: avoid a spurious failure on non-POSIX systems
Fixes automake bug#14495.
* t/lex-header.sh: Make sure unistd.h isn't included.
2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failure when TeX is not installed.
Fixes automake bug#14499.
* t/txinfo-no-split.sh: If TeX is not available, redefine 'dvi' to be a
dummy target, so that "make distcheck" doesn't fail while trying to build
the DVI version of the Texinfo manual.
2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failure when $CC != cc
Fixes automake bug#14500.
* t/subpkg.sh: Improve the grepping of configure output.
2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
NEWS: fix typos and grammaros
NEWS: document fix for bug#14441
Automake::Rule: consistently prepend underscore to private variables
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
Automake::Rule: adjust comments and POD according to previous changes
Automake::Rule: make private variables lexically scoped
suffix rules: better distinction between builtin and user-derived
Automake::Rule: expose suffix rules as a function, not a scalar
tests: expose automake bug#14441
2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
NEWS: fix typos and grammaros
NEWS: document fix for bug#14441
Automake::Rule: consistently prepend underscore to private variables
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
Automake::Rule: adjust comments and POD according to previous changes
Automake::Rule: make private variables lexically scoped
suffix rules: better distinction between builtin and user-derived
Automake::Rule: expose suffix rules as a function, not a scalar
tests: expose automake bug#14441
2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: drop an idiomatic use of latinism 'sic'
Reported-by: Peter Rosin <peda@lysator.liu.se>
2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: fix typos and grammaros
Reported-by: Peter Rosin <peda@lysator.liu.se>
2013-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: fix Automake versions
Reported-by: Peter Rosin <peda@lysator.liu.se>
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'suffix-rules-work' into micro
* suffix-rules-work:
NEWS: document fix for bug#14441
Automake::Rule: consistently prepend underscore to private variables
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
Automake::Rule: adjust comments and POD according to previous changes
Automake::Rule: make private variables lexically scoped
suffix rules: better distinction between builtin and user-derived
Automake::Rule: expose suffix rules as a function, not a scalar
tests: expose automake bug#14441
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
NEWS: fix typo
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: fix typo
Reported-by: Peter Rosin <peda@lysator.liu.se>
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
NEWS: report recent documentation fix about AM_PROG_MKDIR_P
NEWS: Automake 2.0 will assume "rm -f" without args work
NEWS: on assuming "rm -f" without arguments work
NEWS: fix a couple of typos in older entries
docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
docs: AM_PROG_CC_C_O: correct imprecise statements about it
maint: sanity checks in 'check-minimal-autoconf' convenience target
maint: test minimal supported autoconf through convenience target
maint: install minimal supported autoconf through convenience targets
test-lib: typofix in comments
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
NEWS: report recent documentation fix about AM_PROG_MKDIR_P
NEWS: Automake 2.0 will assume "rm -f" without args work
NEWS: fix a couple of typos in older entries
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: report recent documentation fix about AM_PROG_MKDIR_P
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: Automake 2.0 will assume "rm -f" without args work
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: on assuming "rm -f" without arguments work
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: fix a couple of typos in older entries
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
maint: sanity checks in 'check-minimal-autoconf' convenience target
maint: test minimal supported autoconf through convenience target
maint: install minimal supported autoconf through convenience targets
test-lib: typofix in comments
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: AM_PROG_MKDIR_P: will not be removed in 2.0 release of Automake
See the 'PLANS/obsolete-removed/am-prog-mkdir-p.txt' file in the 'maint'
branch (as of commit v1.13.2-201-gd99e3f3) for details.
* doc/automake.texi: Adjust.
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: AM_PROG_CC_C_O: correct imprecise statements about it
* doc/automake.texi: Here.
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: sanity checks in 'check-minimal-autoconf' convenience target
* maint.mk (check-minimal-autoconf): Here, check that autoconf seems
to be locally installed, and that such local install refers to the
correct expected minimal version.
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: test minimal supported autoconf through convenience target
* maint.mk (check-minimal-autoconf): New convenience target.
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: install minimal supported autoconf through convenience targets
To make testing of Automake in conjunction with it easier and more
reproducible. It might be nice to also have convenience targets to
actually automatically run the Automake testsuite with such autoconf
version, but that is left to later patches.
* configure.ac: AC_SUBST the definition of $required_autoconf_version.
* maint.mk (WGET): Move definition earlier.
(gnu-ftp, ac-v, ac-n, ac-p, ac-t, ac-l, ac-d): New auxiliary variables.
(fetch-minimal-autoconf, build-minimal-autoconf): New convenience
targets.
* .gitignore: Update.
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: document fix for bug#14441
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Automake::Rule: consistently prepend underscore to private variables
* lib/Automake/Rule.pm (%suffix_rules): Rename ...
(%_suffix_rules): ... like this.
(%suffix_rules_builtin): Rename ...
(%_suffix_rules_builtin): ... like this.
(reset, next_in_suffix_chain, register_suffix_rule, suffix_rules_count):
Adjust.
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain()
* lib/Automake/Rule.pm (suffix_rule): Rename ...
(next_in_suffix_chain): ... like this.
(%suffix_rules): Adjust comments.
(@EXPORT): Adjust.
* automake.in (derive_suffix): Likewise.
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Automake::Rule: adjust comments and POD according to previous changes
* lib/Automake/Rule.pm: Here, in several places.
* automake.in (register_language): And a tiny adjustment here as well.
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Automake::Rule: make private variables lexically scoped
* lib/Automake/Rule.pm (@_known_extensions_list): This one.
(@_suffixes): And this one.
(%_rule_dict): And this one.
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
suffix rules: better distinction between builtin and user-derived
Fixes automake bug#14441.
* lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ...
(%suffix_rules_builtin): ... this lexical variable.
($suffix_rules): Remove, superseded by ...
(%suffix_rules): ... this lexical variable.
(suffix_rules, suffix_rules_count): Adjust.
(register_suffix_rule): Update '%suffix_rules_builtin' rather than
'%suffix_rules' if the location (as passed by the '$where' argument)
is an "internal" one (doesn't come from user-provided Makefile.am).
(reset): Simplify resetting of '%suffix_rules' to the default ones
accordingly.
* t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'.
2013-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Automake::Rule: expose suffix rules as a function, not a scalar
This is just a preparatory refactoring in view of future patches.
No semantic change is intended.
* lib/Automake/Rule.pm ($suffix_rules): Turn from a package-level
variable to a lexical variable.
(suffix_rule): New function, expose the details of $suffix_rules
that are actually required by code outside thus modules --- and
only those details, no more.
(@EXPORT): Adjust.
* automake.in (derive_suffix): Likewise.
2013-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: expose automake bug#14441
* t/suffix-custom-pr14441.sh: New test, still failing.
* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.
Helped-by: Felix Salfelder <felix@salfelder.org>
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: remove an "unworthy" FIXME comment
tests: remove one obsolete workaround for long-lifted limitations
tests: couple of minor tweaks in demo tests in C++ and Libtool
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test-lib: typofix in comments
* t/ax/am-test-lib.sh: In here.
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
tests: remove an "unworthy" FIXME comment
tests: remove one obsolete workaround for long-lifted limitations
tests: couple of minor tweaks in demo tests in C++ and Libtool
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove an "unworthy" FIXME comment
* t/location.sh: Here.
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove one obsolete workaround for long-lifted limitations
* t/silent-many-languages.sh: Here.
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: couple of minor tweaks in demo tests in C++ and Libtool
* t/cxx-lt-demo.sh: Here.
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
NEWS: document deprecation of 'shar' and 'compress' dist formats
m4: rename minuso.m4 -> prog-cc-c-o.m4
tests: adjust or remove some obsolete comments
tests: remove some useless 'unset' of variables
tests: avoid a couple of extra sleep with GNU make
NEWS: document testsuite work for 1.13.3
lint: remove a couple of obsolete syntax checks
lint: cosmetics: use #-comments, not ##-comments
lint: cosmetics: some reordering
lint: recipes of syntax check require GNU grep; ensure it is used
lint: better name for a syntax check
tests: rename $am_make_rc_got -> $am_make_rc
tests: some tests make no sense if "$CC -c -o" doesn't work
AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
tests: ensure $required is not set too late
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
tests: adjust or remove some obsolete comments
tests: remove some useless 'unset' of variables
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: document deprecation of 'shar' and 'compress' dist formats
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'prog-cc-c-o-work' into maint
* prog-cc-c-o-work:
tests: some tests make no sense if "$CC -c -o" doesn't work
AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
m4: rename minuso.m4 -> prog-cc-c-o.m4
The new name is much clearer.
* m4/minuso.m4: Rename ...
* m4/prog-cc-c-o.m4: ... like this.
* m4/Makefile.in (dist_automake_DATA): Adjust.
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: adjust or remove some obsolete comments
* t/ax/am-test-lib.sh: Here.
* t/distcheck-configure-flags.sh: And here.
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove some useless 'unset' of variables
They are redundant, now that we no longer call "make -e".
* t/javaflags.sh: Don't unset JAVAC.
* t/lflags.sh: Don't unset LEX.
* t/lflags2.sh: Likewise.
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
tests: avoid a couple of extra sleep with GNU make
NEWS: document testsuite work for 1.13.3
lint: remove a couple of obsolete syntax checks
lint: cosmetics: use #-comments, not ##-comments
lint: cosmetics: some reordering
lint: recipes of syntax check require GNU grep; ensure it is used
lint: better name for a syntax check
tests: rename $am_make_rc_got -> $am_make_rc
tests: ensure $required is not set too late
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a couple of extra sleep with GNU make
They are only required by BSD make in order to avoid spurious failures.
* t/deleted-am.sh: Here.
* t/parallel-tests-recheck-pr11791.sh: And here.
2013-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: document testsuite work for 1.13.3
2013-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
lint: remove a couple of obsolete syntax checks
* syntax-checks.mk (sc_obsolete_requirements_rules): Remove
definition of this variable.
(modern-requirement.texi2dvi-o): Likewise.
(modern-requirement.makeinfo-html): Likewise.
($(sc_obsolete_requirements_rules)): Remove these obsolete
syntax checks.
2013-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
lint: cosmetics: use #-comments, not ##-comments
* syntax-checks.mk: Here. This makes sense because this file is
not meant to be processed by Automake, so the ##-comments are not
treated specially.
2013-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
lint: cosmetics: some reordering
* syntax-checks.mk: Here.
2013-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
lint: recipes of syntax check require GNU grep; ensure it is used
* syntax-checks.mk (sc_sanity_gnu_grep): New.
($(syntax_check_rules)): Depend on it.
2013-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
lint: better name for a syntax check
* syntax-checks.mk (sc_tests_make_without_am_makeflags): Rename ...
(sc_make_without_am_makeflags): ... like this.
(syntax_check_rules): Adjust.
2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rename $am_make_rc_got -> $am_make_rc
The latter is more natural More importantly, I keep misspelling
the former over and over.
* t/ax/am-test-lib.sh (run_make): Update.
* t/ax/tap-summary-aux.sh: Adjust.
* t/ax/testsuite-summary-checks.sh: Likewise.
* t/parallel-tests-exit-statuses.sh: Likewise.
* t/parallel-tests-extra-programs.sh: Likewise.
* t/parallel-tests-fd-redirect-exeext.sh: Likewise.
* t/parallel-tests-fd-redirect.sh: Likewise.
* t/parallel-tests-fork-bomb.sh: Likewise.
* t/parallel-tests-no-spurious-summary.sh: Likewise.
* t/parallel-tests-recheck-pr11791.sh: Likewise.
* t/parallel-tests-reset-term.sh: Likewise.
* t/tap-signal.tap: Likewise.
* t/test-driver-acsubst.sh: Likewise.
* t/test-driver-cond.sh: Likewise.
2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: some tests make no sense if "$CC -c -o" doesn't work
So just skip them, to avoid spurious failures when running
"make check-no-cc-c-o".
* t/ax/am-test-lib.sh (require_tool): New requirement '-c-o'.
* t/subobj10.sh ($required): Add it.
* gen-testsuite-part (%depmodes): Adjust so that tests that
use 'makedepend' will be skipped if the compiler is being
forced not to grasp "-c -o".
2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
AM_PROG_CC_C_O: don't rely on AC_PROG_CC_C_O, re-implement similar logic
** Theoretical problems of AC_PROG_CC_C_O:
Both cc and $CC are checked to see if they support the '-c' and '-o'
options together.
This behaviour is highly inconsistent with that of the other macros
related to C compiler checks -- which test only $CC.
It can also cause unwarranted uses of the 'compile' script on systems
where the default 'cc' is inferior, but the user is compiling with a
proper, different compiler (e.g., gcc).
** Practical problems with our previous implementation of C support m4
macros in Automake:
- AM_PROG_AR must now be called *before* AC_PROG_CC; this wasn't the
case before, and it turns out there are packages in the wild that
relied on the old behaviour.
- The cross-referenced requirements and macro rewrites juggled among
AC_PROG_CC, AC_PROG_CC_C_O and AM_PROG_CC_C_O caused warnings in
autoconf; for example, in our test 't/libobj3.sh', we could see
warnings like these (here slightly tweaked for legibility):
configure.ac:5: AC_REQUIRE: `AC_PROG_CC' expanded before required
autoconf/c.m4:567: AC_PROG_CC_C_O is expanded from...
autoconf/c.m4:429: AC_LANG_COMPILER(C) is expanded from...
autoconf/lang.m4:329: AC_LANG_COMPILER_REQUIRE is expanded from...
autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from...
m4sugar/m4sh.m4:639: AS_IF is expanded from...
autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
aclocal.m4:70: AM_PROG_AR is expanded from...
configure.ac:5: the top level
** Fix all of that:
We fix all of the described issues with a new internal m4 macro
_AM_PROG_CC_C_O (inspired to, but not based on, AC_PROG_CC_C_O) that
gets tacked on to AC_PROG_CC automatically (this is done in the
Automake-generated aclocal.m4) and that takes care of checking and
adjusting '$CC' for "-c -o" support.
The macro AM_PROG_CC_C_O is still present, but is now just a thin
wrapper around such Automake-enhanced AC_PROG_CC.
It is worth noting that the present patch causes three slight
*backward-incompatibilities*:
1. The name cache variable used by AM_PROG_CC_C_O is no longer
computed (at configure runtime!) from the content of '$CC',
but is statically defined as 'am_cv_prog_cc_c_o'.
2. 'cc' is no longer checked by AM_PROG_CC_C_O, only '$CC' is.
3. AM_PROG_CC_C_O no longer AC_DEFINE the C preprocessor symbol
'NO_MINUS_C_MINUS_O'.
Given however that the third change can easily be worked around, that
the first two changes can be legitimately seen as bug fixes, and that
the new semantics introduced by such changes will simplify the transition
to Automake 2.0 (when the 'subdir-objects' will always be enabled
unconditionally), we believe they are acceptable to be shipped with
Automake 1.14.
With this patch, we also revert some of the testsuite adjustments done
in previous commit v1.13.2-178-g9877109 of 2013-05-24 (compile: rewrite
AC_PROG_CC with AM_PROG_CC_C_O contents). Such adjustments are no longer
needed.
* m4/minuso.m4 (_AM_PROG_CC_C_O): New internal macro, basically and
adjusted version of a merge between Autoconf-provided AC_PROG_CC_C_O
and our old implementation of AM_PROG_CC_C_O.
(AM_PROG_CC_C_O): Redefine as a simple wrapper around AC_PROG_CC.
* m4/init.m4 (AC_PROG_CC): Append _AM_PROG_CC_C_O, not AM_PROG_CC_C_O,
to the pre-existing expansion of this macro.
* m4/ar-lib.m4 (AM_PROG_AR): No longer require it to be expanded after
AC_PROG_CC.
* t/aclocal-deps.sh: Move AC_PROG_CC invocation after AC_PROG_RANLIB
and AM_PROG_AR invocations. Things should work this way too (as they
used to).
* t/subobj-clean-lt-pr10697.sh: Likewise.
* t/alloca.sh: Move AC_PROG_CC invocation after AM_PROG_AR invocation.
* t/condlib.sh: Likewise.
* t/aclocal-deps.sh: Move AC_PROG_CC invocation after LT_INIT and
AM_PROG_AR invocations. Make autoconf and autoheader warnings fatal.
* t/am-prog-cc-c-o.sh: Adjust to the new semantics, enhance a little,
and reduce code duplication.
* t/ccnoco.sh: Make autoconf warnings fatal.
* t/subpkg.sh: Likewise.
* t/ccnoco-lib.sh: Likewise, and fix a comment.
* t/link_cond.sh: Enhance a couple of error messages.
* configure.ac: Drop "nullification" of AM_PROG_CC_C_O.
* NEWS: Adjust.
2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contents
This is a much simpler rewrite than the one we attempted in the past,
and that was later removed by commit 'v1.13.1d-137-g32eb770' of
2013-05-11 (compile: avoid AC_PROG_CC messy rewrite).
Not only this change simplifies the code a little, but has the welcome
collateral effect of making automatic dependency tracking work better
with compilers that doesn't grasp the '-c' and '-o' options together.
Issues in that setup have been caught by several failures in the target
'check-no-cc-c-o'.
Unfortunately, this change has less welcome collateral effects:
1. AM_PROG_AR must now be called *after* AC_PROG_CC;
2. Autoconf emits extra warnings when used with Automake-generated
aclocal.m4.
These are unacceptable regressions for a release, but since we are
going to fix them soon enough in a follow-up patch (surely to be
applied before Automake 1.14 is released) we don't worry too much.
* m4/init.m4: Redefine AC_PROG_CC early, to automatically invoke
AM_PROG_CC_C_O as well. Accordingly, drop now-unneeded "automagical"
AM_PROG_CC_C_O expansion at later time (which took place thanks to
a AC_CONFIG_COMMANDS_PRE call).
* m4/minuso.m4 (AM_PROG_CC_C_O): Ensure the expansion of the body
of this macro takes place with C as "current Autoconf language" (use
AC_LANG_PUSH/AC_LANG_POP).
* m4/ar-lib.m4 (AM_PROG_AR): Likewise. Also, require this macro to
be expanded *after* AC_PROG_CC (so that any rewrite of $CC, if required,
has already taken place).
* t/add-missing.tap: Adjust to avoid spurious failures.
* t/aclocal-deps.sh: Likewise, by having AM_PROG_AR called *after*
AC_PROG_CC.
* t/subobj-clean-lt-pr10697.sh: Likewise.
* t/alloca.sh: Likewise.
* t/condlib.sh: Likewise.
* t/discover.sh: Likewise.
* t/objc-megademo.sh: Likewise.
* t/ccnoco.sh: Extend a little.
* t/ccnoco-deps.sh: New test.
* t/ccnoco-lib.sh: Likewise.
* t/ccnoco-lt.sh: Likewise.
* t/list-of-tests.mk: Add them.
2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: ensure $required is not set too late
And do so in a safer way, with a runtime check rather than a brittle
static maintainer check.
* t/ax/test-init.sh: Set the 'required' variable to readonly.
* syntax-checks.mk (sc_tests_required_after_defs): Remove.
(syntax_check_rules): No longer list it.
2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: use append mode to capture parallel make output
tests: new convenience target 'check-parallel'
2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
tests: use append mode to capture parallel make output
tests: new convenience target 'check-parallel'
2013-05-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: use append mode to capture parallel make output
This will allow us to run the Automake testsuite forcing all the make
invocations in the test cases to run in parallel mode [1], but without
hitting the spurious failure reported in automake bug#11413.
See also:
<http://lists.gnu.org/archive/html/bug-make/2013-05/msg00135.html>
The make invocations in the test cases can be forced to run in parallel
mode by, e.g., invoking "make check" like this:
make check AM_TESTSUITE_MAKE="make -j16"
The possible spurious failures hinted above are due to the fact that
the redirected output of parallel make can racily lose lines. For
example, if GNU make (3.82) is run with -j10 on a Makefile like this:
all = 0 1 2 3 4 5 6 7 8 9
default: $(all)
$(all):
@sleep 0.$$(($RANDOM % 10)); echo $@
and has its standard output redirected in overwrite-mode to a regular
file, it looses a line of that output every 15 runs or so on a Fedora
17 system with 64 ppc64 cores. Redirection in append mode does not
suffer of this problem, as explained here:
<http://lists.gnu.org/archive/html/automake-patches/2009-03/msg00073.html>
See also previous commits v1.12-63-g45c1fcd of 2012-05-05 (tests: use
append mode to capture parallel make output) and Release-1-10-280-g6426999
of 2009-03-10 (Use append mode to capture parallel test output).
* t/ax/am-test-lib.sh (run_make): Adjust and enhance.
* t/lisp8.sh: Take advantage of the enhancement, nd stop doing output
redirection for $MAKE by hand.
* t/tap-more.sh: Likewise.
* t/parallel-tests-concurrency.sh: Likewise.
2013-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: new convenience target 'check-parallel'
To force the test scripts to invoke make in parallel mode. This should
enhance coverage of use cases (make concurrency) that are becoming more
and more important with today multicore fast machines.
* Makefile.am (check-parallel): New .PHONY target.
2013-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: avoid few lingering $MAKE redirections
tests: avoid '$MAKE' redirections, use 'run_make' instead
tests: avoid use of redirected 'run_make' invocations
lint: warn against redirected 'run_make' invocations
comments: next GNU make release 4.0, not 3.83
tests: fix a potential spurious failure due to global config.site
HACKING: it's OK to do testsuite refactoring in a micro version
2013-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid few lingering $MAKE redirections
These were present in the 'maint' branch, but not in the 'micro' branch.
Their occurrences has been found by the 'sc_tests_no_run_make_redirect'
maintainer check.
* t/fort2.sh: Adjust.
* t/preproc-demo.sh: Likewise.
2013-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
tests: avoid '$MAKE' redirections, use 'run_make' instead
tests: avoid use of redirected 'run_make' invocations
lint: warn against redirected 'run_make' invocations
comments: next GNU make release 4.0, not 3.83
tests: fix a potential spurious failure due to global config.site
HACKING: it's OK to do testsuite refactoring in a micro version
2013-05-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid '$MAKE' redirections, use 'run_make' instead
The use 'run_make' with the -E, -O and -M option, it is more
idiomatic now. Also, this way, centralized fixes and improvements
done in 'run_make' will automatically propagate through most of
the testsuite.
* syntax-checks.mk (sc_tests_no_run_make_redirect): Also check against
'$MAKE' invocations that uses output redirections (and not only against
'run_make' invocation that do so).
* Several tests: Adjust (and few minor cosmetic changes as well, while
at it).
2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid use of redirected 'run_make' invocations
Instead, properly use the -E, -O, or -M options of run_make.
The occurrences of the 'run_make' invocations using output
redirection has been found by the recently-introduced maintainer
check 'sc_tests_no_run_make_redirect'.
* t/ax/tap-summary-aux.sh: Adjust.
* t/ax/testsuite-summary-checks.sh: Likewise.
* Several other tests: Likewise.
2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
lint: warn against redirected 'run_make' invocations
The testsuite shell function 'run_make()' has the three options
-E, -O and -M to perform the various kind of output redirections,
so the test scripts should use them instead of redirecting the
output "by hand":
run_make ARGS >stdout => run_make -O ARGS
run_make ARGS >stderr => run_make -E ARGS
run_make ARGS >stdout 2>stderr => run_make -O -E ARGS
run_make ARGS >output 2>&1 => run_make -M ARGS
See the commit message of v1.13.2-13-gc7cfa09, 2013-05-22
(tests: run_make: options to do command redirection) for an
explanation of why this is a good idea.
It's worth noting that the present patch only introduced a new
static maintainer check looking against the undesired idioms,
but doesn't yet remove usages of such idioms from the testsuite.
That will be done by follow-up patch(es).
* syntax-checks.mk (sc_tests_no_run_make_redirect): New check.
(syntax_check_rules): List it.
2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
comments: next GNU make release 4.0, not 3.83
See: <http://lists.gnu.org/archive/html/bug-make/2013-05/msg00093.html>
* lib/am/header-vars.am (am__make_running_with_option): Adjust
comments.
2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a potential spurious failure due to global config.site
* t/instdir-no-empty.sh: Here.
2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: it's OK to do testsuite refactoring in a micro version
Reported-by: Peter Rosin <peda@lysator.liu.se>
2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: remove some code duplication
cosmetics: remove a couple of extra whitespaces in tests
tests: two minor fixups
2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
tests: remove some code duplication
cosmetics: remove a couple of extra whitespaces in tests
tests: two minor fixups
2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove some code duplication
* t/ax/am-test-lib (null_install): New function.
* t/instdir-java.sh: Use it instead of copied & pasted code.
* t/instdir-lisp.sh: Likewise.
* t/instdir-ltlib.sh: Likewise.
* t/instdir-prog.sh: Likewise.
* t/instdir-python.sh: Likewise.
* t/instdir-texi.sh: Likewise.
* t/instdir.sh: Likewise.
* t/instdir2.sh: Likewise.
2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove a couple of extra whitespaces in tests
* t/instdir.sh: Here.
* t/instdir2.sh: And here.
2013-05-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: two minor fixups
* t/make-keepgoing.tap: Here.
* t/parallel-tests-exit-statuses.sh: And here.
2013-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: run_make: options to do command redirection
tests: only activate 'unset' alias if required
tests: better idiom to override make macro defs on the cmdline
test-lib: minor style changes
test-lib: fix botched function name in an error message
2013-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
tests: run_make: options to do command redirection
tests: only activate 'unset' alias if required
tests: better idiom to override make macro defs on the cmdline
test-lib: minor style changes
test-lib: fix botched function name in an error message
2013-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: run_make: options to do command redirection
Let's improve the API of the 'run_make()' helper shell function by
adding three new options:
-O Save the standard output from make on disk, in a regular file
named 'stdout'.
-E Save the standard error from make on disk, in a regular file
named 'stderr'.
-M Save both the standard output and standard error from make on
disk, in a regular file named 'output'. This option supersedes
both the '-O' and '-E' options.
This new API has two main advantages.
1. Its use will allow us to get rid of more cumbersome idioms
like, e.g.,
$MAKE check >stdout && { cat stdout; exit 1; }
cat stdout
That can now be substituted with a simpler one:
run_make -e FAIL -O check
2. More importantly, using the new API we will prevent any extra output
from the shell traces of the code in run_make to be redirected along
with the make stderr (where that was redirected). This problem was
present in usages like, e.g.,
run_make TESTS=foo.test check 2>stderr && exit 1
grep 'expected error message' stderr
Such usages are now to be rewritten as follows:
run_make -e FAIL -E TESTS=foo.test check
grep 'expected error message' stderr
ensuring that 'stderr' won't end up containing unrelated stuff.
Note that we do not convert in bulk the old idioms and the use of
redirected 'run_make' invocations with this patch. We only convert
some occurrences, to ensure that the new implementation of 'run_make'
is sound enough. More sweeping conversions will likely be done in
follow-up patches.
* t/ax/am-test-lib.sh (run_make): Enhance and implement the extended API.
* t/tap-xfail-tests.sh: Use the new 'run_make' API.
* t/test-driver-cond.sh: Likewise.
* t/tests-environment-fd-redirect.sh: Likewise.
* t/uninstall-fail.sh: Likewise.
* t/yacc-dist-nobuild.sh: Likewise.
2013-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: only activate 'unset' alias if required
This makes the test logs easier to read for most shells (which do not
actually require that alias). This is especially important now that
'unset' is used in the new 'run_make()' function, and that function is
likely going to be used more and more in the future.
* t/ax/test-lib.sh (_am_unset, unset): Only define this function and
alias if "unset VAR" returns a non-zero exit status when VAR is already
unset.
2013-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: better idiom to override make macro defs on the cmdline
We now do so with a new wrapper shell function 'run_make()', which
relies on the use of AM_MAKEFLAGS, avoiding the use of the '-e' make
option. The use of that option (that causes the environment variables
to take precedence over the macro definitions in the Makefile) has
proved to be quite brittle in the past, causing annoying and sometimes
problematic spurious failures. This has worsened in some still
unpublished work going on in development branches. It's time to solve
the issue once and for all.
Note that we do not convert all uses of $MAKE in the testsuite right
away; we might do so in follow-up changes, with leisure, to avoid a
"patch bomb" effect (this commit is already too much of a bomb itself).
What we do in this commit is to get rid of all "$MAKE -e" invocations.
We admit that the implementation and feature-set of 'run_make()' are
far from perfect, but good enough for our current purposes. We'll
improve 'run_make()' if and when the need arises.
* syntax-checks.mk (sc_tests_no_make_e): New syntax check, guard against
the use of "$MAKE -e".
(syntax_check_rules): Add it.
(sc_tests_overriding_macros_on_cmdline): Adjust.
(lint): New, alias for 'maintainer-check', for lazy typists. Idea
backported from the 'maint' branch (Automake 1.13a).
* t/ax/am-test-lib.sh (run_make): New function. Run $MAKE with the
given command-line arguments, handling command-line override of variable
definitions in a smart way (using AM_MAKEFLAGS if a non-GNU make
implementation is detected to be in use).
(useless_vpath_rebuild): Adjust to use 'run_make', to avoid a spurious
maintainer check failure.
(yl_distcheck): Use 'run_make' rather than bare '$MAKE'.
(single_quote, append_single_quoted, is_valid_varname): New auxiliary
function, used, directly or indirectly, by it.
* Many tests: Adjust to avoid the use of "$MAKE -e", and prefer the
use of 'run_make' in few other contexts as well, where it makes sense.
Other minor fixlets while at it.
2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
test-lib: minor style changes
* t/ax/am-test-lib.sh (require_tool): Here.
2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
test-lib: fix botched function name in an error message
* t/ax/am-test-lib.sh (useless_vpath_rebuild): Here.
2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: remove one extra trailing whitespace
* bin/automake.in (lang_vala_ignore): Here.
2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: cosmetic changes in indentation and line breaks
* bin/automake.in (handle_LIBOBJS_or_ALLOCA): Here.
2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maintcheck: minor tweaks and fixlets
2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
maintcheck: minor tweaks and fixlets
2013-05-20 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: minor tweaks and fixlets
* syntax-checks.mk: Here.
2013-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix a spurious failure on NetBSD 5.1
texi: build version.texi and stamp-vti in srcdir
tests: fix a botched heading comment
tests: fix another spurious with FreeBSD make
tests: fix a spurious failure with FreeBSD make
2013-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failure on NetBSD 5.1
* t/dist-shar.sh ($required): Also require the 'unshar' program.
Apparently, NetBSD has a 'shar' program but not the corresponding
'unshar' one.
2013-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: build version.texi and stamp-vti in srcdir
Do so even when the 'info-in-builddir' option is present, or when
the corresponding '*.info' files are listed in $(CLEANFILES) or in
$(DISTCLEANFILES).
This fixes failures in the following tests, when they are run with
$MAKE pointing to FreeBSD make:
- txinfo-nodist-info.sh
- txinfo23.sh
- txinfo24.sh
- txinfo28.sh
- txinfo25.sh
BTW, notice that the test 'txinfo-builddir.sh' fails with FreeBSD make
as well, but that is due to a known FreeBSD make VPATH issue (the same
described in automake bug#7884). But that is not a regression, since
the 'info-in-builddir' option will be new in Automake 1.14. Moreover,
we already warn in the manual that the use of that option can indeed
cause problems with VPATH builds done by non-GNU make.
* bin/automake.in (handle_texinfo_helper): New local variable
'$soutdir'. Use it instead of '$outdir' where appropriate (in
particular, in the transform used on file 'texi-vers.am'.
* t/txinfo-builddir.sh: Adjust to avoid spurious failures.
2013-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a botched heading comment
* t/parallel-tests-recheck-pr11791.sh: Here.
2013-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix another spurious with FreeBSD make
* t/parallel-tests-recheck-pr11791.sh: Here.
2013-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failure with FreeBSD make
Failures due to known VPATH support issues in that make implementation
(the same issues that have been causing the long-standing bug#7884).
* t/ltlibsrc.sh: Adjust.
2013-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failure with FreeBSD make
Failures due to known VPATH support issues in that make implementation
(the same issues that have been causing the long-standing bug#7884).
* t/lex-multiple.sh: Adjust.
2013-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'subdir-objects-work'
* subdir-objects-work:
depend: reduce code duplication, de-uglify make verbose output
depend: prefer $(...) over `...` in Cygwin-specific recipes
depend: reduce code duplication
depend: a preparatory refactoring
depend: refactor and remove code duplication
Automake::Language: drop unused fields 'compile_flag' and 'output_flag'
depend: assume '-c' compiler flag always means to produce object files
depend: assume we can always pass '-o' to the C compiler
cleanup: having subdir-objects mandatory allow us some simplifications
subdir-objects: enable unconditionally
2013-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
lisp: fix a failure with Solaris /usr/xpg4/bin/sh
tests: sanitize 'unset' usages
tests: fix some botched/outdated comments
tests: use perl, not find+rm, to remove temporary directories
2013-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
lisp: fix a failure with Solaris /usr/xpg4/bin/sh
tests: sanitize 'unset' usages
tests: fix some botched/outdated comments
tests: use perl, not find+rm, to remove temporary directories
2013-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
lisp: fix a failure with Solaris /usr/xpg4/bin/sh
* lib/am/lisp.am (.el.elc): By initializing the 'am__dir' properly
here. For most shells, the lacking initialization, while technically
incorrect, didn't cause any issue in practice, because in those shells
"test -d" returns an exit status of 0. But with /usr/xpg4/bin/sh, the
shell complains like this: "test: argument expected", and returns a
non-zero exit status. This caused testsuite failures in several lisp
tests.
Also, while we are at it, use more proper quoting in the recipe, to
ensure a missing initialization to now be caught by more forgiving
shells as well.
* NEWS: Update.
2013-05-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: sanitize 'unset' usages
In some shells (e.g., Solaris 10 /bin/ksh, or NetBSD 5.1 /bin/sh),
"unset VAR" returns a non-zero exit status in case the VAR variable
is already unset. This doesn't interact well with our usage of
"set -e" in the testsuite. So far, we've avoided spurious failures
by either explicitly ignoring the exit status from unset:
unset VAR || :
or explicitly ensuring that a variable is set, before trying to
unset it:
VAR=; unset VAR
But we can do better, by aliasing the 'unset' command to a custom
function that will take care of these details for us. This will
avoid us annoying spurious failures in the future, failures that
have already bitten us too much times. For an example, refer to
commit 'v1.12.2-88-g5b1dae5' of 2012-08-05 (tests: avoid tons of
spurious failures on NetBSD).
* t/ax/test-lib.sh (_am_unset): New function.
(unset): New alias to it.
(_am_exit): Adjust comments.
* t/ax/am-test-lib.sh: No need to temporary disable the 'errexit'
shell flag when unsetting variables that are potentially already
unset.
(am_process_requirements): Adjust to remove a now-useless
workaround related to unset.
* t/aclocal-macrodir.tap: Likewise.
* t/aclocal-macrodirs.tap: Likewise.
* t/auxdir-autodetect.sh: Likewise.
* t/ax/am-test-lib.sh: Likewise.
* t/ax/test-lib.sh: Likewise.
* t/check-tests-in-builddir.sh: Likewise.
* t/dist-formats.tap: Likewise.
* t/distcheck-configure-flags-am.sh: Likewise.
* t/distcheck-configure-flags.sh: Likewise.
* t/java-empty-classpath.sh: Likewise.
* t/javaflags.sh: Likewise.
* t/lflags.sh: Likewise.
* t/lflags2.sh: Likewise.
* t/lisp-flags.sh: Likewise.
* t/lisp6.sh: Likewise.
* t/missing-auxfile-stops-makefiles-creation.sh: Likewise.
* t/parallel-am.sh: Likewise.
* t/parallel-am2.sh: Likewise.
* t/parallel-am3.sh: Likewise.
* t/parallel-tests-log-override-recheck.sh: Likewise.
* t/pkg-config-macros.sh: Likewise.
* t/python-missing.sh: Likewise.
* t/python-too-old.sh: Likewise.
* t/python11.sh: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-report.sh: Likewise.
* t/self-check-seq.tap: Likewise.
* t/silent-configsite.sh: Likewise.
* t/suffix6c.sh: Likewise.
* t/tar-override.sh: Likewise.
* t/tests-environment-and-log-compiler.sh: Likewise.
* t/vala-configure.sh: Likewise.
* t/werror3.sh: Likewise.
* t/yflags-cmdline-override.sh: Likewise.
* t/yflags.sh: Likewise.
* t/yflags2.sh: Likewise.
2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix some botched/outdated comments
* t/ax/test-defs.in: Here. Also, fix a couple of grammaros while at it.
2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: use perl, not find+rm, to remove temporary directories
The File::Path::rmtree function from perl, if used right, is
more reliable and more portable of our past idiom:
find $dirs -type d ! -perm -700 -exec chmod u+rwx {} ';';
rm -rf $$dirs || exit 1
at least of the face of unreadable dirs/files and other similar
permission issues (and we have those in our test directories).
In fact, this change fixes some spurious failures seen in
"make distcheck" on Solaris 10.
* t/ax/deltree.pl: New.
* Makefile.am (EXTRA_DIST): Add it.
(clean-local-check): Use it.
* t/ax/test-lib.sh (rm_rf_): Use it.
2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
depend: reduce code duplication, de-uglify make verbose output
Verbose output from compilation recipes had been made more messy by
the previous "simplifying" commit v1.13.1d-220-g1fa0c24. With this
patch, not only we reduce some code duplication, but also improve
that output again, for the joy of users who dislike silent-rules :-)
* lib/am/depend2.am: Use the new '%XSOURCE%' transform, instead of
copying and pasting the idiom for VPATH rewrite emulation over and
over. Fix some indentation and line-wrapping issues while at it.
* bin/automake.in (handle_languages): Implement the new transform.
* t/silent-nested-vars.sh: Adjust to avoid spurious failures.
2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove remaining exec bits ('master' branch)
The executable bit gives the impression that the tests are directly
runnable, as with "./t/foo.sh", but it has been a while since that
was the case. Today, tests are runnable only through "make check"
or "./runtest".
This change is for the 'master' branch (automake 1.99a), and is a
follow-up to commit 'v1.13.2-3-g74017b5', done on the 'micro' branch
(automake 1.13.2a) and to commit 'v1.13.2-221-g0985d67', done on the
'maint' branch (automake 1.13a).
* t/am-prog-mkdir-p.sh: Remove executable bit.
* t/txinfo-no-split.sh: Likewise.
2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: remove remaining exec bits ('maint' branch)
tests: remove exec bit from all of them ('micro' branch)
maint: tests no longer need to have executable bit set
PLANS: subdir-objects: various updates
2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove remaining exec bits ('maint' branch)
The executable bit gives the impression that the tests are directly
runnable, as with "./t/foo.sh", but it has been a while since that
was the case. Today, tests are runnable only through "make check"
or "./runtest".
This change is for the 'maint' branch (automake 1.13a), and is a
follow-up to commit 'v1.13.2-3-g74017b5', done on the 'micro' branch
(automake 1.13.2a). It will soon be followed by a similar patch
for the 'master' branch (automake 1.99a).
* t/am-prog-cc-c-o.sh: Remove executable bit.
* t/ccnoco4.sh: Likewise.
* t/dist-shar.sh: Likewise.
* t/dist-tarZ.sh: Likewise.
* t/lex-multiple.sh: Likewise.
* t/preproc-basics.sh: Likewise.
* t/preproc-c-compile.sh: Likewise.
* t/preproc-demo.sh: Likewise.
* t/preproc-errmsg.sh: Likewise.
* t/rm-f-probe.sh: Likewise.
* t/self-check-cc-no-c-o.sh: Likewise.
* t/txinfo-builddir.sh: Likewise.
* t/txinfo-nodist-info.sh: Likewise.
2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
tests: remove exec bit from all of them ('micro' branch)
maint: tests no longer need to have executable bit set
2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove exec bit from all of them ('micro' branch)
It gives the impression that they are directly runnable, as with
"./t/foo.sh", but it has been a while since that was the case. Today,
tests are runnable only through "make check" or "./runtest".
This change is for the 'micro' branch (automake 1.13.2a). It will
soon be followed by similar patches for the 'maint' branch (automake
1.13a) and the 'master' branch (automake 1.99a).
* t/*.sh, t/*.tap: Remove executable bit.
* maint.mk (sc_tests_executable): Remove.
(syntax_check_rules): Adjust.
* gen-testsuite-part: Set permissions of generated tests to
'444' (-r--r--r--), rather than 555 (-r-xr-xr-x).
2013-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: tests no longer need to have executable bit set
It has been a while since they are runnable only through "make check"
or "./runtest", and not directly.
* HACKING: Adjust.
* t/README: Likewise, and updated the surrounding text to get rid of
obsolete statements and advices.
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
PLANS: subdir-objects: various updates
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
post-release: micro version bump (1.13.2a)
release: stable micro release 1.13.2
vala tests: skip in a cross compiler setup
HACKING: miscellaneous fixes, updates and enhancements
NEWS: minor improvements to wording (about new versioning scheme)
THANKS: update Akim's e-mail address
tests: less uses of "make -e"; avoid spurious failures in 'check-cc-no-c-o'
build: be more respectful of user-specified verbosity
check-cc-no-c-o: unify initializations in a single place
check-cc-no-c-o: avoid a spurious failure
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'micro' into maint
* micro:
post-release: micro version bump (1.13.2a)
release: stable micro release 1.13.2
vala tests: skip in a cross compiler setup
HACKING: miscellaneous fixes, updates and enhancements
NEWS: minor improvements to wording (about new versioning scheme)
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: micro version bump (1.13.2a)
* configure.ac, m4/amversion.m4: Bump version: 1.13.2 -> 1.13.2a
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable micro release 1.13.2
* configure.ac (AC_INIT): Bump version number to 1.13.2.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: skip in a cross compiler setup
The "vala + pkg-config" doesn't interact well with cross-compilation:
<https://mail.gnome.org/archives/vala-list/2012-September/msg00094.html>
That is causing annoying failures in our testsuite when it's run in
cross-compilation mode. It's not worth trying too be overly smart and
work around these problems; just skip the affected tests instead.
* t/ax/am-test-lib.sh (require_tool): A new requirement 'valac', telling
that the test needs to compile Vala-generated C files. In particular,
this causes the test to be skipped when using a cross-compiler.
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: miscellaneous fixes, updates and enhancements
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: minor improvements to wording (about new versioning scheme)
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
THANKS: update Akim's e-mail address
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
depend: prefer $(...) over `...` in Cygwin-specific recipes
On Cygwin, we can happily assume only POSIX-conforming shells exist.
This commit is useless by itself, but is useful as a preparatory
refactoring in view of a future change.
* lib/am/depend2.am: In recipes for producing '.obj' objects, use
the POSIX form $(...) for command substitution, rather than the
classic Bourne one `...`.
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
depend: reduce code duplication
Just a simplification; no semantic change is intended.
* lib/am/depend2.am (am__set_depbase): New. Use it in all the three
flavours of recipes (.o, .obj, .lo), instead of duplicating its code.
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
depend: a preparatory refactoring
This is just a preparatory change in view of a future refactoring.
No semantic change is intended.
* lib/am/depend2.am: Adjust; for example, using '$@' in all recipes
to indicate the output file (rather than recipe-specific transforms
like '%OBJ%' and '%LTOBJ%'), and not assuming to know the exact
file extension of the output file (e.g., whether it's '.o' or '.lo').
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
depend: refactor and remove code duplication
* lib/am/depend2.am: Here. The obsolescent comments removed from this
same file in commit 'v1.13.1-42-g8f06bfb' of 2012-01-09, "depend2.am: fix
comments on verbosity of compilation rules", gave the rationale for why
that code duplication was there in the first place (rationale that, like
those comments, has been obsolete by the silent-rules introduction).
* bin/automake.in: Given the refactoring in 'depend2.am', there is no
longer need to add extra trailing whitespace to the entries of the
'%sourceflags' hash (which are used for the '%SOURCEFLAG%' transform
when 'depend2.am' is processed.
* t/fort2.sh: Adjust to avoid spurious failures.
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Automake::Language: drop unused fields 'compile_flag' and 'output_flag'
They are unused after the recent flurry of changes. This is just a
simplification; no semantic change is intended.
* lib/Automake/Language.pm (Class::Struct): Remove unused fields here.
* bin/automake.in: And here, in all the 'register_language()' invocations.
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
depend: assume '-c' compiler flag always means to produce object files
Rather than fully-fledged executables. This is the case for all the
compilers of all languages supported by Automake.
This is just a simplification; no semantic changes are intended.
* bin/automake.in (handle_languages): Drop transform '%-c%'.
* lib/am/depend2.am: Adjust to just assume the '%-c%' transform
expands to "-c".
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
depend: assume we can always pass '-o' to the C compiler
This is the case after the change in commit v1.13.1-56-g34001a9 of
2013-01-09 (compile: use 'compile' script when "-c -o" is used with
losing compilers).
This is just a simplification; no semantic changes are intended.
* bin/automake.in (handle_languages): Drop transform '%-o%', and
definitions of '$output_flag'.
* lib/am/depend2.am: Adjust to just assume the '?-o?' transform is
true, and the '%-o%' transform expands to "-o".
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: having subdir-objects mandatory allow us some simplifications
Few minor cleanups made possible by earlier changes, plus other minor
cleanups triggered in cascade. No semantic change is intended.
This is a follow-up on previous commit 'v1.13.1d-214-g3ad07d2', and
an adjusted backport of Automake-NG commit 'v1.12.1-315-gc97d41b'
of 2012-06-08 ([ng] cleanup: after enabling of subdir-objects
unconditionally).
* bin/automake.in (LANG_IGNORE, LANG_SUBDIR): Remove.
(handle_languages): Drop the '%DEPBASE%' transform when processing
the '$rule_file'.
(register_language ('name' => 'vala', ...)): Add '.vapi' to the entry
'extensions', and simplify the entry 'output_extensions' to point to
a dummy subroutine (since it wasn't really used anyway).
(handle_single_transform): No longer expect the 'lang_*_rewrite'
subroutines to return a 'LANG_*' constant, but only a transformed
extension, if required. To decide whether further processing of the
source file should be stopped, rely on a new set of 'lang_*_ignore'
subroutines, defaulting to a subroutine that returns false.
Accordingly, don't special case the handling of '.vapi' files anymore,
instead rely on ...
(lang_vala_ignore, lang_header_ignore): ... these new subroutines to
avoid extra processing of C/C++ headers and Vala '.vapi' headers.
(lang_java_rewrite): Remove.
Remove an outdated comment.
* lib/am/depend2.am: Partial rewrite to reduce code duplication and
drop use of the '%DEPBASE%' transform.
* t/compile_f_c_cxx.sh: Adjust.
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
subdir-objects: enable unconditionally
See automake bug#13378.
The fact that Automake-generated Makefiles places compiled object files
in the current directory by default, also when the corresponding source
file is in a subdirectory, is basically an historical accident, due to
the fact that the 'subdir-objects' option had only been introduced in
April 1999, starting with commit 'user-dep-gen-branchpoint-56-g88b5959',
and never made the default, likely to avoid backwards-compatibility
issues.
Since we believe the behaviour enabled by the 'subdir-objects' is the
only natural and most useful one, we make it the only only one available,
simplifying the Automake implementation and APIs a little in the process.
This change is basically an adjusted backport of Automake-NG commit
'v1.12.1-313-g14fe163' of 2012-06-07, "[ng] subdir-objects: enable
unconditionally".
* NEWS: Update.
* doc/automake.texi (Program and Library Variables): The output
object files are no longer placed in the current directory by
default, but rather in the same directory of the source file.
(LIBOBJS): Now the $(LIBOBJS) and $(ALLOCA) variables can also
be used outside of the directory where their sources lie.
(List of Automake options): Report the 'subdir-objects' option
as a no-op, existing only for compatibility with older versions
of Automake.
Other related minor adjustments.
* bin/automake.in (LANG_PROCESS): Remove, it's no longer needed.
(handle_languages): Don't test whether option 'subdir-objects'
is set (just assume it is), and do not use the '%SUBDIROBJ%'
transform when processing '.am' fragments.
(lang_sub_obj): Delete, it would just return 'LANG_SUBDIR'
unconditionally now.
(lang_lex_rewrite): Adjust. Don't test whether the option
'subdir-objects' is set (just assume it is).
(lang_yacc_rewrite): Likewise.
(handle_single_transform): Likewise. Remove an obsolete
comment. Add a proper "FIXME" comments about a fragment
of code that might have become dead code now.
(handle_LIBOBJS_or_ALLOCA): Simplify assuming that the option
'subdir-objects' is always set. Accordingly, there's no need
to warn anymore if '$(LIBOBJS)' or '$(ALLOCA)' are used outside
the '$config_libobj_dir' directory (as specified by autoconf
macro 'AC_CONFIG_LIBOBJ_DIR').
* lib/am/depend2.am: Assume the '?SUBDIROBJ?' Automake time
conditional is always true, and remove its uses accordingly.
* t/compile_f_c_cxx.sh: Adjust.
* t/cscope.tap: Likewise.
* t/depcomp8a.sh: Likewise.
* t/depcomp8b.sh: Likewise.
* t/libtool3.sh: Likewise.
* t/ltlibsrc.sh: Likewise.
* t/pr401.sh: Likewise.
* t/pr401b.sh: Likewise.
* t/pr401c.sh: Likewise.
* t/subobj.sh: Likewise.
* t/lex-line.sh: Likewise.
* t/yacc-line.sh: Likewise.
* t/yacc5.sh: Likewise.
* t/vala-libs.sh: Likewise.
* t/fort4.sh: Likewise, and extend a bit.
* t/fort5.sh: Likewise.
* t/gcj.sh: Likewise.
* t/subpkg.sh: Likewise.
* t/subpkg-yacc.sh: Likewise.
* t/xsource.sh: Likewise.
* t/libobj20a.sh: Remove as obsolete.
* t/libobj20b.sh: Adjust heading comments.
* t/libobj20c.sh: Likewise.
* t/subobj4.sh: Remove as obsolete.
* t/sourcefile-in-subdir.sh: Likewise.
2013-05-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: less uses of "make -e"; avoid spurious failures in 'check-cc-no-c-o'
That is, when the testsuite is run using a fake C compiler that doesn't
grasp the '-c' and '-o' options together.
* t/instdir-prog.sh: Adjust.
* t/instdir-ltlib.sh: Likewise.
* t/python-virtualenv.sh: Likewise.
2013-05-14 Stefano Lattarini <stefano.lattarini@gmail.com>
build: be more respectful of user-specified verbosity
* t/Makefile.in (check-cc-no-c-o, check-no-trailing-backslash-in-recipes,
installcheck-testsuite, perf): Here.
2013-05-14 Stefano Lattarini <stefano.lattarini@gmail.com>
check-cc-no-c-o: unify initializations in a single place
* t/ax/test-defs.in: That is, by setting CC and GNU_CC here, in accord
with the value of the variable 'AM_TESTSUITE_SIMULATING_NO_CC_C_O'.
* t/Makefile.in (check-cc-no-c-o) : No need to reset CC and GNU_CC any
longer in the recursive "make check" invocation.
2013-05-14 Stefano Lattarini <stefano.lattarini@gmail.com>
check-cc-no-c-o: avoid a spurious failure
* t/am-prog-cc-c-o.sh: In this test, by relying on the knowledge
that we are running under the aegis of the 'check-cc-no-c-o'
maintainer-specific target, knowledge given us by ...
* t/Makefile.in (check-cc-no-c-o) : ... the new environment
variable 'AM_TESTSUITE_SIMULATING_NO_CC_C_O', set to a value
of "yes" by this rule.
* t/ax/test-defs.in: Initialize the new variable to "no" by
default, and add an explanatory comment.
2013-05-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
build: fixup for building in a VPATH setup
2013-05-14 Stefano Lattarini <stefano.lattarini@gmail.com>
build: fixup for building in a VPATH setup
* bin/Makefile.inc (%D%/automake, %D%/aclocal): Make sure that the
directory where the targets scripts are going to be built exists,
before trying to create said scripts.
2013-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O
compile: avoid AC_PROG_CC messy rewrite
options: tiny simplification in dealing with incompatible versions
2013-05-11 Nick Bowler <nbowler@elliptictech.com> (tiny change)
Use AC_DEFUN_ONCE to define AM_PROG_CC_C_O
If AM_PROG_CC_C_O is expanded multiple times, and the compiler does not
support -c and -o together, each expansion of the macro will prepend
the compile script to CC. This can result in the compile script
invoking the compile script, which at best pointless and silly.
Fortunately, there does not appear to be any serious problems as the
first compile invocation strips out -o options, causing subsequent
invocations of the script to merely exec their arguments.
Other than fixing the above, this should not normally cause any changes
to the resulting configure script, except in the (hopefully rare) case
where AM_PROG_CC_C_O is directly expanded (i.e., *not* using AC_REQUIRE)
in the body of a macro defined with AC_DEFUN. In that case, the use of
AC_DEFUN_ONCE may cause the expansion of AM_PROG_CC_C_O to appear
earlier in the configure script.
* m4/minuso.m4: Change the definition of AM_PROG_CC_C_O to use
AC_DEFUN_ONCE, avoiding problems caused by multiple expansions.
2013-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
compile: avoid AC_PROG_CC messy rewrite
Instead, add an hook to AC_OUTPUT to have AM_PROG_CC_C_O invoked
automatically.
See also the long-winded discussion about automake bug#13378.
* m4/minuso.m4 (AM_PROG_CC_C_O): Bring back the old implementation,
from commit v1.13.1-55-g1ab8fb6.
* m4/init.m4 (AC_PROG_CC): Remove this horrible, hacky re-write.
* (AM_INIT_AUTOMAKE): Arrange for AM_PROG_CC_C_O to be called if
necessary.
* t/am-prog-cc-c-o.sh: Adjust to avoid spurious failure.
* t/subobj.sh: Likewise.
Suggested-by: Nick Bowler <nbowler@elliptictech.com>
2013-05-11 Stefano Lattarini <stefano.lattarini@gmail.com>
options: tiny simplification in dealing with incompatible versions
* lib/Automake/Options.pm (_process_option_list): Here, when an
incompatible version number option is detected, there's no need
to call error() with the "uniq_scope => US_GLOBAL" switch.
In fact, if the same incompatible version number is specified in
AUTOMAKE_OPTIONS in both (say) 'Makefile.am' and 'sub/Makefile.am',
we want each such erroneous usage reported separately, rather than
just the first time it is encountered (as we'd expect to happen
when "uniq_scope => US_GLOBAL" is used).
Ideally, this change should have been folded into the similar
commit 'v1.13.1d-129-gf7ef16f', but we noticed that too late.
Oh well.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
options: consistently use return statuses to report errors (more)
This is a follow-up to commit 'v1.13.1d-128-g6e486c5', needed to deal
with errors that are only present in the 'master' branch (while the
reported commit was on the 'maint' branch).
* lib/Automake/Options.pm (_process_option_list): Adjust, where dealing
with the removed options 'dist-shar' and 'dist-tarZ'.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
options: try to report as much errors as possible
warns: don't tell AM_PROG_MKDIR_P is going to be removed
refactor: fix few "inverted boolean" usages
options: better name for an internal function
options: more consistency in use of return statuses to report errors
options: tiny simplification in dealing with erroneous opts
options: consistently use return statuses to report errors
options: re-enable some sanity checks
THANKS: update Eric Blake's e-mail address
NEWS: typofix
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
options: try to report as much errors as possible
For example, if two invalid options are used in AUTOMAKE_OPTIONS, don't
report just the first one, but both of them.
* lib/Automake/Options.pm (_process_option_list): Do so by avoiding
early returns in here.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
warns: don't tell AM_PROG_MKDIR_P is going to be removed
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
warns: don't tell AM_PROG_MKDIR_P is going to be removed
That is no longer true. For a more extended rationale, see file
'PLANS/obsolete-removed/am-prog-mkdir-p.txt' in the maint branch
(as of commit v1.13.1d-132-g90ec3fe).
* automake.in (scan_autoconf_traces): So adjust the warning message
here.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
refactor: fix few "inverted boolean" usages
In some subroutines, we used a return value of 0 to indicate success,
and a return status of 1 to indicate failure. That was not very
consistent with the perl interpretation of 0 as a false value and 1 as
a true value. So we now invert the meaning of the exit statuses.
* lib/Automake/Options.pm (_process_option_list): Here.
(process_global_option_list, process_option_list): And by reflex,
here as well.
* bin/automake.in (handle_options): And here.
(generate_makefile, scan_autoconf_traces): Adjust.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
options: better name for an internal function
* lib/Automake/Options.pm (_option_must_be_from_configure): Rename ...
(_option_is_from_configure): ... like this.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
options: more consistency in use of return statuses to report errors
* lib/Automake/Options.pm (_option_must_be_from_configure): By giving
a proper return status here.
(_process_option_list): And using it here.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
options: tiny simplification in dealing with erroneous opts
* lib/Automake/Options.pm (_process_option_list): Here, when an
invalid option is detected, there's no need to call &error with
the "uniq_scope => US_GLOBAL" switch. In fact, if the same
erroneous option is specified in AUTOMAKE_OPTIONS in both (say)
'Makefile.am' and 'sub/Makefile.am', we want each such erroneous
usage reported separately, rather than just the first time it is
encountered (as happens when "uniq_scope => US_GLOBAL" is used).
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
options: consistently use return statuses to report errors
* lib/Automake/Options.pm (_process_option_list): Here.
(process_option_list, process_global_option_list): Remove
redundant use of 'return'.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
options: re-enable some sanity checks
They had been unwittingly disabled by a slightly incorrect
code ordering.
* lib/Automake/Options.pm (process_option_list): Here.
(process_global_option_list): And here.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
THANKS: update Eric Blake's e-mail address
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: typofix
Reported-by: Eric Blake <eblake@redhat.com>
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
dist: remove support for shar and tarZ formats
See also discussion about automake wishlist bug#13324.
* lib/Automake/Options.pm: Give fatal errors (rather than warnings) if
the 'dist-shar' or 'dist-tarZ' options are used.
* lib/distdir.am: Remove the 'dist-tarZ' and 'dist-shar' targets, and
references to the '.tar.Z' and '.shar' archives.
* bin/automake.in (preprocess_file): Remove 'COMPRESS' and 'SHAR'
transforms.
(handle_dist): Remove lingering references to 'dist-tarZ' and 'dist-shar'
options.
* doc/automake.texi: Adjust, removing references to the removed targets
and distribution formats.
* t/dist-shar.sh: Adjust to expect fatal errors rather than warnings.
* t/dist-tarZ.sh: Likewise.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
news: document new 'subdir-objects' warning
PLANS: one minor fixlet (mostly cosmetic)
PLANS: we have already dropped support for split info files in master
NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended
PLANS: fix reference to non-existent 'next' branch
PLANS: fix botched version reference
maintcheck: fix two references to old location of aclocal and automake
dist: deprecated shar and tar+compress formats
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
news: document new 'subdir-objects' warning
* NEWS: Automake 1.14 will warn if a subdir source file is
specified but the 'subdir-objects' option is not given. This
is done to smooth the transition to Automake 2.0, which will
unconditionally assume the behaviour now given only with the
'subdir-objects' option.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
PLANS: one minor fixlet (mostly cosmetic)
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
PLANS: we have already dropped support for split info files in master
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
PLANS: fix reference to non-existent 'next' branch
* PLANS/obsolete-removed/configure.in.txt: Here. We should refer
to the 'master' branch instead.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
PLANS: fix botched version reference
* PLANS/rm-f-without-args.txt: Here. The probe checking that "rm -f"
without arguments works will be introduced in Automake 1.14, not in
Automake 1.13.2.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix two references to old location of aclocal and automake
* maintainer/syntax-checks.mk (sc_perl_at_substs): Here: it should
refer to 'bin/automake' and 'bin/aclocal', not 'automake' and
'alocal'.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
dist: deprecated shar and tar+compress formats
See also discussion about automake wishlist bug#13324.
* lib/Automake/Options.pm: Give proper warnings in the 'obsolete'
category if the 'dist-shar' or 'dist-tarZ' options are used.
* lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are
invoked, make them give a non-fatal warning.
* doc/automake.texi: Report the new deprecations.
* t/dist-shar.sh: New test.
* t/dist-tarZ.sh: Likewise.
* t/lzma.sh: While at it, rename ...
* t/dist-lzma.sh: ... like this, and tweak it to keep more in
sync with the new tests.
* t/dist-formats.tap: Remove references to deprecated formats.
* t/list-of-tests.mk: Adjust.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/
am: prefer a shorter idiom where possible
cosmetics: fix few typos, grammaros and missing whitespace
fixup: remove an obsolete comment
docs: we still don't have the promised better Java interface
build: move automake and aclocal in 'bin' subdir
build: break up monolithic Makefile.am in subdir-specific fragments
+ Extra non-trivial edits:
* m4/Makefile.inc (dist_automake_ac_DATA): Drop lead-dot.m4 and
mkdirp.m4.
* lib/Automake/Makefile.inc (dist_perllib_DATA): Drop Configure_ac.pm.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'dog-feeding' into maint
* dog-feeding:
build: move automake and aclocal in 'bin' subdir
build: break up monolithic Makefile.am in subdir-specific fragments
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: typofix in comments: s/AC_CONFIG_HEADER/AC_CONFIG_HEADERS/
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
am: prefer a shorter idiom where possible
That is, prefer:
test -f FILE || do_action
over:
if test ! -f FILE; then do_action; else :; fi
* lib/am/remake-hdr.am (%CONFIG_H%): Here.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
cosmetics: fix few typos, grammaros and missing whitespace
fixup: remove an obsolete comment
docs: we still don't have the promised better Java interface
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix few typos, grammaros and missing whitespace
* lib/am/*.am: In comments in some of these files.
2013-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: remove an obsolete comment
* lib/am/header-vars.am (am__make_running_with_option): Here.
2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: we still don't have the promised better Java interface
Reported by Michael Zucchi:
<http://lists.gnu.org/archive/html/automake/2013-05/threads.html>
See also automake bug#9088.
* doc/automake.texi (Java): Adjust and clarify.
* THANKS: Update.
Reported-by: Michael Zucchi <notzed@gmail.com>
2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maint: re-run "make update-copyright" ...
2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: re-run "make update-copyright" ...
* t/lex-multiple.sh: ... which updates the copyright years
of this test (they were somehow not bumped in the past).
2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: avoid spurious failure with older flex (2.5.4)
announcement: cater to more flexible NEWS format
2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure with older flex (2.5.4)
That old version is unfortunately still relevant, being the one
installed on NetBSD 5.1.
* t/lex-multiple.sh: Use the '-o' option rather than the longer
equivalent '--outfile'. The latter is not supported by older
versions of flex (e.g., flex 2.5.4).
2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
announcement: cater to more flexible NEWS format
2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
announcement: cater to more flexible NEWS format
* maint.mk (announcement): Here, be prepared to handle the case
in which the first section of the NEWS file is dedicated to report
future backward-incompatibilities and/or other warnings.
2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
build: move automake and aclocal in 'bin' subdir
* automake.in: Rename ...
* bin/automake.in: ... like this.
* aclocal.in: Rename ...
* bin/aclocal.in: ... like this.
* Makefile.am: Move parts that dealt with the building/distribution
of aclocal and Automake ..
* bin/Makefile.inc): ... in this new included fragment. Adjust as
needed, and make deliberate use of the '%D%' substitution.
* lib/gen-perl-protos: Move ...
* bin/gen-perl-protos: ... here.
* bootstrap.sh, configure.ac, maintainer/rename-tests,
t/wrap/aclocal.in, t/wrap/automake.in, doc/Makefile.inc,
t/ax/tap-setup.sh, .gitignore: Adjust.
* maintainer/syntax-checks.mk: Likewise, and enhance a little.
2013-05-09 Stefano Lattarini <stefano.lattarini@gmail.com>
build: break up monolithic Makefile.am in subdir-specific fragments
This is convenient to do, now that we have improved "relative directory"
support with the '%reladir%' (a.k.a. '%D%') and '%canon_reladir%' (a.k.a.
'%C%') Automake-time substitutions for included makefile fragments.
This move also satisfy our philosophy of using new Automake features in
our own build system, as a way of facilitating early discovery of possible
bugs or interface warts.
* Makefile.am: Break up ...
* doc/Makefile.inc, lib/Automake/Makefile.inc, lib/Makefile.inc,
lib/am/Makefile.inc, m4/Makefile.inc, t/Makefile.inc): ... in this
new included fragments. Adjust as needed, and make deliberate use
of the '%D%' substitution.
* contrib/t/local.am: Rename ...
* contrib/t/Makefile.inc: ... like this.
2013-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: fix warnings given by Texinfo 5.x
These warnings:
doc/automake.texi:3885: warning: node next `Public Macros' in menu \
`Private Macros' and in sectioning `Obsolete Macros' differ
doc/automake.texi:4050: warning: node `Private Macros' is next for \
`Obsolete Macros' in sectioning but not in menu
doc/automake.texi:4050: warning: node prev `Obsolete Macros' in menu \
`Private Macros' and in sectioning `Public Macros' differ
doc/automake.texi:4090: warning: node `Obsolete Macros' is next for \
`Private Macros' in menu but not in sectioning
doc/automake.texi:4090: warning: node prev `Private Macros' in menu \
`Public Macros' and in sectioning `Obsolete Macros' differ
* doc/automake.texi: Adjust.
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
fixlet: remove leftover comment fragment
* configure.ac: Here.
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
master branch: we are going to become Automake 2.0
* configure.ac (AC_INIT): So adjust the beta version in here, from
1.13a to 1.99a.
* m4/amversion.m4: Regenerate.
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maint branch: we are going to become Automake 1.14
maint: version bump after beta release 1.13.1d
release: beta release 1.13.1d (will become 1.13.2)
NEWS: document more robust handling/recognition of make options
tests: typofixes in comments in t/preproc-c-compile.sh
tests: remove bashism from a test
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
maint branch: we are going to become Automake 1.14
* configure.ac (AC_INIT): So adjust beta version in here, from
1.13.2a to 1.13a.
* m4/amversion.m4: Regenerate.
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
maint: version bump after beta release 1.13.1d
release: beta release 1.13.1d (will become 1.13.2)
NEWS: document more robust handling/recognition of make options
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: version bump after beta release 1.13.1d
* configure.ac (AC_INIT): Bump version number to 1.13.1e.
* m4/amversion.m4: Likewise (autoupdated by "make bootstrap").
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
release: beta release 1.13.1d (will become 1.13.2)
* configure.ac (AC_INIT): Bump version number to 1.13.1d.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: document more robust handling/recognition of make options
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: typofixes in comments in t/preproc-c-compile.sh
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove bashism from a test
* t/preproc-c-compile.sh (Makefile.am): Use "test foo = bar", not the
bash-specific "test foo == bar".
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maint: targets and recipes to simplify testing on real-world packages
build: preparatory refactoring
build: tiny reduction in code duplication
make flags analysis: handle more options with args
make flags analysis: use simpler variable names
make flags analysis: whitespace changes
make flags analysis: embed in a subshell
make flags analysis: be more robust
make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
tests: expose weaknesses in make flags analysis
tests: improve debugging output in checks on make flags analysis
make flags analysis: refactor, to reduce code duplication
tests: avoid one tricky use of "make -e"
cosmetics: remove few trailing whitespace occurrences
typofix: in NEWS (extra whitespace)
tests: avoid a spurious error with Solaris make
subdirs: don't return false positives for the '-k' option's presence
header-vars: recognize more make flags ('-k' in particular)
header-vars: simplify how make flags are determined
tests: remove dead code from t/make-dryrun.tap
header-vars: new variable $(am__running_with_option)
tests: expose bug#12554 (false positives for presence of '-k' make option)
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
maint: targets and recipes to simplify testing on real-world packages
build: preparatory refactoring
build: tiny reduction in code duplication
make flags analysis: handle more options with args
make flags analysis: use simpler variable names
make flags analysis: whitespace changes
make flags analysis: embed in a subshell
make flags analysis: be more robust
make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
tests: expose weaknesses in make flags analysis
tests: improve debugging output in checks on make flags analysis
make flags analysis: refactor, to reduce code duplication
tests: avoid one tricky use of "make -e"
tests: avoid a spurious error with Solaris make
subdirs: don't return false positives for the '-k' option's presence
header-vars: recognize more make flags ('-k' in particular)
header-vars: simplify how make flags are determined
tests: remove dead code from t/make-dryrun.tap
header-vars: new variable $(am__running_with_option)
tests: expose bug#12554 (false positives for presence of '-k' make option)
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge 'better-makeflags-recognition' and 'testing-work' into branch-1.13.2
* better-makeflags-recognition:
make flags analysis: handle more options with args
make flags analysis: use simpler variable names
make flags analysis: whitespace changes
make flags analysis: embed in a subshell
make flags analysis: be more robust
make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
tests: expose weaknesses in make flags analysis
tests: improve debugging output in checks on make flags analysis
make flags analysis: refactor, to reduce code duplication
* testing-work:
maint: targets and recipes to simplify testing on real-world packages
build: preparatory refactoring
build: tiny reduction in code duplication
2013-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: targets and recipes to simplify testing on real-world packages
We introduce a new section in the maintainer-specific makefile that
contains recipes to test the build system of some well-known GNU
packages with the current development version of Automake. Not the
cleanest way to do so, but good enough for the moment. We'll revisit
the matter after the 1.13.2 release (which we now hope will happen
soon).
* maint.mk (git-sv-host): New.
(SV_GIT_CF, SV_GIT_AC, SV_GIT_GL): Use it to reduce code duplication.
(ALL_PACKAGES, FEW_PACKAGES): New, lists of GNU packages to try out.
(ttp-check, ttp-check-all): New targets, do the checking with said
packages.
(ttp): New, alias for 'ttp-check'.
(ttp-all): New, alias for 'ttp-check-all'.
2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
build: preparatory refactoring
No semantic change intended. This change will be required
by a later patch.
* Makefile.am (setup_autotools_paths): New.
($(srcdir)/doc/amhello-1.0.tar.gz): Use it.
2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
build: tiny reduction in code duplication
The code was only duplicated two times, but we are soon going to
need a third occurrence, and that would be one to much.
* Makefile.am (extend_path): New.
(update_mans): Use it instead of copying & pasting its contents.
($(srcdir)/doc/amhello-1.0.tar.gz): Likewise, and minor related
adjustments.
2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
make flags analysis: handle more options with args
That is, not only -I, but also -O (for upcoming GNU make 3.83),
-l (GNU make), -d, -E, -D, -m (BSD make), -J, -T (NetBSD make).
* lib/am/header-vars.am (am__make_running_with_option): Extend
and adjust, both code and comments.
2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
make flags analysis: use simpler variable names
* lib/am/header-vars.am (am__make_running_with_option): Here. Now
that we expect to be run in a subshell, we don't have to worry about
being namespace-safe. And '$foo' is much more pleasant to read than
'$am__foo' -- and pleasant code tends to be more correct.
(am__make_dryrun, am__make_keepgoing): Adjust.
2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
make flags analysis: whitespace changes
* lib/am/header-vars.am (am__make_running_with_option): Here.
No semantic change is intended.
2013-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
make flags analysis: embed in a subshell
So that we won't have to worry about leaking temporary variables,
and similar stuff.
* lib/am/header-vars.am (am__make_dryrun, am__make_keepgoing): Here.
(am__make_running_with_option): Minor adjustments.
2013-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
make flags analysis: be more robust
In particular, catering to option-with-argument bundled together
with options-without-arguments, as in:
# With GNU make 3.82:
$ make -f- <<<'all:; echo "$$MFLAGS"' -s -k -I none
-skiI none
# With development version of GNU make (Git commit b5ea49b):
$ make -f- <<<'all:; @echo "$$MFLAGS"' -I none
-skiI none
This fixes some lingering failures in the testsuite; precisely, in
tests 'make-dryrun.tap' and 'make-keepgoing.tap'.
* t/header-vars.am (am__make_running_with_option): Enhance.
2013-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
make flags analysis: cater to GNU make 3.83 (still unreleased as of now)
The current development version of GNU make (that is planned to become
GNU make 3.83, sooner or later) has changed the format its $(MFLAGS)
variable slightly, removing the space between an option and its argument:
# With GNU make 3.82, compiled from official tarball:
$ make -f- <<<'all:; @echo "$$MFLAGS"' -I none
-I none
# With development version of GNU make (Git commit b5ea49b):
$ make -f- <<<'all:; @echo "$$MFLAGS"' -I none
-Inone
This was done on purpose, in order to support more easily the new
option '-O', which takes an optional argument; see:
<http://lists.gnu.org/archive/html/bug-make/2013-05/msg00001.html>
So Just adapt to the new format as well.
* t/header-vars.am (am__make_running_with_option): Adjust to cater
to the new GNU make behaviour.
2013-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: expose weaknesses in make flags analysis
This introduces some failures in the testsuite, that will be fixed
soon enough by follow-up patches.
* t/make-dryrun.tap: Enhance and extend.
* t/make-keepgoing.tap: Likewise.
2013-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: improve debugging output in checks on make flags analysis
* t/make-dryrun.tap: Here.
* t/make-keepgoing.tap: And here.
2013-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
make flags analysis: refactor, to reduce code duplication
And make it a little more reliable.
* t/header-vars.am (am__make_running_with_option): Here.
2013-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid one tricky use of "make -e"
Which was causing a spurious failure on FreeBSD. Not particularly
surprising, given how brittle "make -e" is in general ...
* t/cxx-lt-demo.sh: Instead of forcing $(CC) to be 'false' by
exporting "CC=false" in the environment and then passing the '-e'
option to make, do so by passing "CC=false" on the make command
line, both directly and using AM_MAKEFLAGS.
2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr12554' into branch-1.13.2
* fix-pr12554:
tests: avoid a spurious error with Solaris make
subdirs: don't return false positives for the '-k' option's presence
header-vars: recognize more make flags ('-k' in particular)
header-vars: simplify how make flags are determined
tests: remove dead code from t/make-dryrun.tap
header-vars: new variable $(am__running_with_option)
tests: expose bug#12554 (false positives for presence of '-k' make option)
2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
cosmetics: remove few trailing whitespace occurrences
typofix: in NEWS (extra whitespace)
2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove few trailing whitespace occurrences
2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: in NEWS (extra whitespace)
2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
compat: substitute '@mkdir_p@' as '$(MKDIR_P)' unconditionally
We had started to do so only when the obsolete AM_PROG_MKDIR_P variable
was used, but that has recently turned out not to be not good enough,
because Gettext 0.18.2 (the latest one at the moment of writing) is using
the modern macro AC_PROG_MKDIR_P in its '*.m4' files, but at the same time
is still using the obsolete make variable '$(mkdir_p)' in its Makefile
fragments. This has been causing failures in real-world packages
bootstrapped with latest Gettext (0.18.2) and with bleeding-edge automake.
See for example:
<http://lists.gnu.org/archive/html/bug-tar/2013-04/msg00009.html>
And the worst things is that those failures have been basically silent
and unnoticeable up until the final "make install" --- that is, after
the affected package had been bootstrapped, configured and built. Yikes!
This issue has been reported to the Gettext developers:
<http://lists.gnu.org/archive/html/bug-gettext/2013-04/msg00044.html>
But even if they will quickly fix it, Gettext 0.18.2 will remain
affected.
The fix we can implement in Automake is small and unobtrusive enough,
definitely worth having in order to save the users and developers from
having to deal with this hard-to-spot issue.
* m4/init.m4 (AM_INIT_AUTOMAKE): AC_SUBST '@mkdir_p@' to '$(MKDIR_P)'.
* t/am-prog-mkdir-p.sh: Enhance.
2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
sync: update files from upstream with "make fetch"
maintcheck: remove outdated whitelisting
tar: format 'ustar' cannot support UID/GID longer than 21 bits
docs: issues with configure substitutions in TESTS
tests: avoid possible autotools caching issues (automake bug#13832)
tests: rename some with more descriptive names
docs: add myself and Ralf Wildenhues as authors
authors: add myself
dry-run: don't get confused by '-I' option
tests: avoid a spurious failure with the Korn Shell
dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)
header vars: can determine whether we are running under GNU make
NEWS: improve wording for automake bug#13514 fix
NEWS: document fix for automake bug#13514
2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
sync: update files from upstream with "make fetch"
maintcheck: remove outdated whitelisting
tar: format 'ustar' cannot support UID/GID longer than 21 bits
2013-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr13588-pax-hangs' into branch-1.13.2
* fix-pr13588-pax-hangs:
tar: format 'ustar' cannot support UID/GID longer than 21 bits
2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious error with Solaris make
* t/make-keepgoing.tap (Makefile.am): Here.
2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
subdirs: don't return false positives for the '-k' option's presence
This change fixes automake bug#12554.
The old implementation of the code descending into $(SUBDIRS)
entries used the following snippet to decide whether make is running
with the '-k' a.k.a. '--keep-going' option, and thus whether a failure
in a subdirectory should prevent the descent in the following ones:
fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done
It's clear that the second pattern in the 'case' construct could possibly
match false positives, for examples in these two cases:
make check TESTS="x.test k.test"
make -I /usr/local/kool-fragments
which are somewhat unusual, but not invalid. So we need a more resilient
implementation, as we did for the detection of the '-n' flag.
This implementation is now provided by the new private macro
'$(am__make_keepgoing)' (introduced in recent commits); so we can
just us that to fix the bug.
* lib/am/subdirs.am ($(am__recursive_targets)): Use '$(am__make_keepgoing)'
instead of ad-hoc and more brittle checks.
* t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test case
't/subdir-keep-going-pr12554.sh'.
Reported-by: Michael Daniels <mdaniels@rim.com>
2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
header-vars: recognize more make flags ('-k' in particular)
* lib/am/header-vars.am (am__running_with_option): Here.
Few improvements to comments, while at it.
(am__make_keepgoing): New, tell whther make is being runt with
the '-k' option.
* t/make-keepgoing.tap: New test.
* t/list-of-tests.mk: Add it.
* t/make-dryrun.tap: Minor edits to keep it more in sync with
the new test.
2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: remove outdated whitelisting
* syntax-checks.mk (sc_tests_overriding_macros_on_cmdline): Here.
The test 'make-dryrun.sh' has been since long rewritten as the TAP
test 'make-dryrun.tap', and no longer spuriously triggers this
maintainer check.
2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
header-vars: simplify how make flags are determined
Actually, son far only the '-n' option ("dry mode") was detected,
but this change will allow us to soon detect more options.
* lib/am/header-vars.am (am__running_with_option): Even when $MAKEFLAGS
appears to contain definition of variables with embedded whitespace,
use simple textual pre-processing over $MAKEFLAGS rather than tricky
recursive invocations of make to determine whether the '-n' option was
given. This is enough to correctly handle all the tricky usages covered
in the testsuite.
* t/nodep.sh: Adjust to avoid a spurious failure.
2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove dead code from t/make-dryrun.tap
2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
header-vars: new variable $(am__running_with_option)
This is a preparatory refactoring, needed by later patches.
No semantic change is intended.
* lib/am/header-vars.am (am__running_with_option): New, contains
shell code that determines whether the current make instance is
running with a given one-letter option (e.g., -k, -n) that takes
no argument. Actually, the only supported option at the moment
is '-n' (support for '-k' will be added soon).
(am__make_dryrun): Rewrite as a thin wrapper around
'$(am__make_running_with_option)'.
2013-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: expose bug#12554 (false positives for presence of '-k' make option)
The current implementation of the code descending into $(SUBDIRS)
entries uses the following snippet to decide whether make is running
with the '-k' a.k.a. '--keep-going' option, and thus whether a failure
in a subdirectory should prevent the descent in the following ones:
fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done
It's clear that the second pattern in the 'case' construct can possibly
match false positives, for examples in these two cases:
make check TESTS="x.test k.test"
make -I /usr/local/kool-fragments
which are somewhat unusual, but not invalid. So we need a more resilient
implementation, as we did for the detection of the '-n' flag.
But alas, such an implementation seems quite tricky to obtain in portable
make. So for the moment we content ourselves with exposing the bug, with
the hope of being able to fix soon enough.
* t/subdir-keep-going-pr12554.sh: New test.
* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.
* THANKS: Update
Reported-by: Michael Daniels <mdaniels@rim.com>
2013-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tar: format 'ustar' cannot support UID/GID longer than 21 bits
See automake bug#8343 and bug#13588.
POSIX 1988 'ustar' format is defined with *fixed-size* fields. There
is notably a 21 bits limit (2097151) for the UID and the GID.
Tom Rini tom_rini@mentor.com says (in bug#8343):
When the user has a UID or GID that is larger than the ustar format
supports, pax does not error out gracefully in some cases (FC13).
Marc Herbert <marc.herbert@intel.com> adds (in bug#8343):
When "configure" is run by a user with an UID bigger than 21 bits,
BSD pax 3.4 aborts when trying to create the 'conftest.tar' test
archive and leaves an empty or corrupted conftest.tar file behind.
In the next step, pax tries to extract this incomplete or corrupted
archive and this *** hangs the whole ./configure script ***.
Note: GNU cpio 2.9 pretends to pass the test but it is a LIE: it
silently truncates any big UID to its lower 21 bits. I don't know
what can be the consequences of this lie.
I think there is currently a design issue in automake/m4/tar.m4
considering that a ustar archive should should *never* succeed when
./configure is run from a big user ID.
Months later, Petr Hracek <phracek@redhat.com> reports a similar issue
(in bug#13588) for Fedora 17:
I am trying to solve problem in case a user is created with big
UID and during configuration pax hangs with message
ATTENTION! pax archive volume change required.
Ready for archive volume: 1
Input archive name or "." to quit pax.
Archive name >
and needs user interaction.
Reference: <https://bugzilla.redhat.com/show_bug.cgi?id=843376>
Time to fix this issue, on the line of a preliminary patch provided by
Petr Hracek in bug#13588. The final patch ended up being remarkably
different from that original proposition, though.
* m4/tar.m4 (_AM_PROG_TAR): If the UID or GID of the current user is
too high (> 2097151), the 'ustar' format cannot work. Adjust checks
accordingly. Some related code reordering and clean-up.
* t/tar-ustar-id-too-high.sh: New test.
* t/list-of-tests.mk: Add it.
* t/tar.sh: While at it, tweak and enhance a little.
* t/tar2.sh: Likewise.
* t/tar3.sh: Likewise.
* t/tar-override.sh: Likewise.
* NEWS: Update.
* THANKS: Likewise.
Helped-by: Pavel Raiskup <praiskup@redhat.com>
Helped-by: Petr Hracek <phracek@redhat.com>
Helped-by: Marc Herbert <marc.herbert@intel.com>
Helped-by: Tom Rini <tom_rini@mentor.com>
2013-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
docs: issues with configure substitutions in TESTS
tests: avoid possible autotools caching issues (automake bug#13832)
docs: add myself and Ralf Wildenhues as authors
authors: add myself
dry-run: don't get confused by '-I' option
tests: avoid a spurious failure with the Korn Shell
dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)
header vars: can determine whether we are running under GNU make
NEWS: improve wording for automake bug#13514 fix
NEWS: document fix for automake bug#13514
2013-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge few bug-fixing branches into branch-1.13.2
* fix-part-pr13832:
tests: avoid possible autotools caching issues (automake bug#13832)
* fix-pr13760:
dry-run: don't get confused by '-I' option
dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)
header vars: can determine whether we are running under GNU make
* fix-doc-pr14019:
docs: issues with configure substitutions in TESTS
* news-wording-improve:
NEWS: improve wording for automake bug#13514 fix
2013-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: issues with configure substitutions in TESTS
Motivated by automake bug#14019.
* doc/automake.texi: Currently, when the parallel test harness is in use,
configure substitutions in TESTS definitions can only work if they expand
to tests that ends with a suffix listed in TEST_EXTENSIONS. Document this
limitation.
2013-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid possible autotools caching issues (automake bug#13832)
* t/ar-lib4.sh: Here, by removing the autom4te cache before editing
configure.ac and re-running the autotools.
2013-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rename some with more descriptive names
* t/tar3.sh: Rename ...
* t/tar-opts-errors.sh: ... like this.
* t/tar2.sh: Rename...
* t/tar-pax.sh: ... like this.
* t/tar.sh: Rename ...
* t/tar-ustar.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2013-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: add myself and Ralf Wildenhues as authors
* doc/automake.texi: Here.
2013-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
authors: add myself
2013-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
dry-run: don't get confused by '-I' option
Fixes automake bug#13760 for non-GNU make implementations that still
support the option '-I'. So far, the only such make implementation
are FreeBSD (8.x) make and NetBSD (5.x) make.
* lib/am/header-vars.am (am__make_dryrun): If a non-GNU make is being
used, try to handle the '-I' option in $MAKEFLAGS correctly. For GNU
make, that is already done by the proper use of the $MFLAGS variable.
2013-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failure with the Korn Shell
* t/list-flags.sh: Ensure the EMACS variable is set before unsetting it.
2013-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
dry-run: with GNU make, prefer $(MFLAGS) over $(MAKEFLAGS)
Fixes automake bug#13760 for GNU make.
* lib/am/header-vars.am (am__make_dryrun): If GNU make is being used, rely
on the contents of the $(MFLAGS) variable rather than of the $(MAKEFLAGS)
to decide whther make is being executed in "dry run" mode. Not only this
makes the code possibly faster and less brittle, but also fixes automake
bug#13760 (at least when GNU make is in use).
* t/make-dryrun.tap: Adjust: some tests that were xfailing now pass.
2013-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
header vars: can determine whether we are running under GNU make
This is mostly a preparatory patch in view of future changes.
* lib/am/header-vars.am (am__is_gnu_make): New, contains shell code that
determines whether we are running under GNU make.
* t/make-is-gnu.sh: New test.
* t/list-of-tests.mk: Add it.
2013-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: improve wording for automake bug#13514 fix
Helped-by: Jack Kelly <jack@jackkelly.name>
2013-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: document fix for automake bug#13514
It was fixed by commit v1.13.1b-5-g7a3d7ce.
2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
INSTALL: regen
sync: update files from upstream with "make fetch"
tests: tweaks and minimal improvements to t/insthook.sh
typofix: in comments in t/extra2.sh
tests: fix botched cross-reference in a heading comment
2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
INSTALL: regen
sync: update files from upstream with "make fetch"
tests: tweaks and minimal improvements to t/insthook.sh
2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
INSTALL: regen
2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/INSTALL: Update.
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
* lib/gendocs.sh: Likewise.
* lib/gendocs_template: Likewise.
* lib/gitlog-to-changelog: Likewise.
* lib/gnupload: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.
2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: tweaks and minimal improvements to t/insthook.sh
2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: in comments in t/extra2.sh
2013-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix botched cross-reference in a heading comment
* t/extra-dist-wildcards.sh: Here.
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
compat: reinstate support for obsolete $(INCLUDES) variable
Since INCLUDES and AM_CPPFLAGS can be both used at the same time in a
single project, and interact in a non-obvious way, switching away from
INCLUDES is, unfortunately, not simply a matter of doing a mindless
INCLUDES -> AM_CPPFLAGS substitution. In fact, the transition from a
"INCLUDES + CPPFLAGS" setup to a "AM_CPPFLAGS only" setup could cause
subtle bugs to sneak into the build systems of the client packages
doing the transition. Forcing this risk upon our users is definitely
not worth the small enhancement in consistency and cleanliness that
the removal of INCLUDES would give us.
For a more extended rationale and related discussions, see:
<http://lists.gnu.org/archive/html/automake/2013-02/msg00001.html>
This change basically reverts commit v1.13-8-g880595d.
* automake.in: Re-introduce support for INCLUDES (its use will cause
warnings in the 'obsolete' category rather than fatal errors).
* doc/automake.texi: Adjust to re-add mention of INCLUDES.
* t/includes-no-more.sh: Rename ...
* t/includes-deprecation.sh: ... like this, and adjust.
* t/list-of-tests.mk: Update.
* t/warnopts.sh: Minor fixlet while at it.
Suggested-by: Peter Rosin <peda@lysator.liu.se>
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
automake: refactoring: factor out common cpp-like flags
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: refactoring: factor out common cpp-like flags
* automake.in (@cpplike_flags): In this new variable...
(C, C++, Objective C, Objective C++, Unified Parallel C, Preprocessed
Assembler, Preprocessed Fortran, Preprocessed Fortran 77): ... to be
used by registration (with the 'register_language' subroutine) of these
languages.
This is a refactoring meant to simplify future changes; no semantic
change is intended.
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
NEWS (mint): reflect new Automake versioning scheme
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS (mint): reflect new Automake versioning scheme
The next minor Automake version will be 1.14, and *not* 1.13.2 -- that
will be the next bug-fixing version.
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS (master): reflect new Automake versioning scheme
The next minor Automake version will be 1.14 (not 1.13.2 -- that will
be the next bug-fixing version). And the next major Automake version
will be 2.0.
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
Add missing '$' for variable expansion in depout.m4
maintcheck: avoid spurious failure
perl: perl subroutine prototypes are problematic, don't use them
fixup: one stray reference to older versioning scheme
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
Add missing '$' for variable expansion in depout.m4
fixup: one stray reference to older versioning scheme
2013-04-19 Gavin Smith <gavinsmith0123@gmail.com> (tiny change)
Add missing '$' for variable expansion in depout.m4
* m4/depout.m4: "am__include" appeared where "$am__include" was meant.
Reference:
<http://lists.gnu.org/archive/html/automake-patches/2013-04/msg00000.html>
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'preproc' into maint
* preproc:
maintcheck: avoid spurious failure
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: avoid spurious failure
* t/preproc-errmsg.sh: Here, breaking up a sed command to avoid spuriously
triggering a failure in the 'sc_tests_logs_duplicate_prefixes' maintainer
check.
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'no-perl-protos' into maint
* no-perl-protos:
perl: perl subroutine prototypes are problematic, don't use them
2013-04-19 Stefano Lattarini <stefano.lattarini@gmail.com>
perl: perl subroutine prototypes are problematic, don't use them
Basically, in perl, "subroutine prototypes" are not prototypes at all;
rather, they are a trick to allow user-defined subroutines that behave
like perl built-in functions. For example, prototyped subroutines can
be called without parentheses, and can impose context on their arguments.
Such semantics can be useful in some selected situations, but might also
easily cause unexpected and harmful behaviours and side effects if we
try to use perl prototypes as we would use C prototypes.
See the excellent article "Far More than Everything You've Ever Wanted
to Know about Prototypes in Perl" by Tom Christiansen for more detailed
information:
<http://www.perlmonks.org/?node_id=861966>
<http://web.archive.org/web/20080421062920/\
library.n0i.net/programming/perl/articles/fm_prototypes>
It is important to note that modern perl allows a non-predeclared
subroutine to be called without the '&' character, as long as its
call uses proper parentheses:
foo 'str', 2; # will trigger errors if foo is not predeclared
foo('str', 2); # ok even if foo is not predeclared
&foo('str', 2); # ditto; but the '&' is old-style and redundant
Note also that the prototype indicating "no argument":
sub func() { ... }
can actually be useful, and has no discernible downsides, so we'll
keep using it where it makes sense.
Also, in few, selected cases, we *want* to have subroutines behave like
perl builtins (e.g., we want the 'append_exeext' function to be able
to take a code block as first argument). In such cases, we will of
course continue to make use of perl subroutine prototypes.
Let's finally see an example that might clarify the kind of problems the
use of subroutine prototypes in perl can cause. This is just scratching
the surface; there are several other aspects, typically subtler and more
dangerous, that are not touched here.
If you have the prototyped subroutine definition:
sub foo ($@)
{
my $s = shift;
print "SCALAR: $s\n";
print "ARRAY: @_\n";
}
and call 'foo' in code like:
@list = (-1, 0, 1);
foo(@list);
you won't get a compile-time nor a runtime error (as a naive interpretation
of the "prototype" characterization would let you think). Rather, the
prototype will cause the array '@list' will be coerced into scalar context
before being passed too 'foo', which means that its *length* (3) will be
passed to 'foo' as first argument; and since no further arguments are
present after '@list', that *void* will be coerced to an empty list before
being passed to 'foo'.
So code above will have the result of printing:
SCALAR: 3
ARRAY:
Quite tricky, and definitely a behaviour we don't want to rely on.
* automake.in: Delete most subroutine prototypes. Fix few of the
remaining ones. Related minor simplifications and adjustments.
* lib/gen-perl-protos: Adjust.
2013-03-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
preproc: enhance and extend tests
preproc: add support for relative names in included fragments
2013-03-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'preproc' into maint
* preproc:
preproc: enhance and extend tests
preproc: add support for relative names in included fragments
2013-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: one stray reference to older versioning scheme
* lib/Automake/Options.pm: Here, in a FIXME comment: reference
"Automake 3.0" rather than "Automake 1.15".
2013-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' into master
* maint:
maint: more adjustments to the new versioning scheme
aclocal: fix for more-than-once specified directories
aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
coverage: expose automake bug#13760
tests: refactor/enhance tests about make dry-run mode
maint: describe new versioning and branching scheme, and adjust to it
cosmetics: fix some "docstring-like" comments in automake
2013-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
aclocal: fix for more-than-once specified directories
aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
2013-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: more adjustments to the new versioning scheme
This is a follow-up to commit 'v1.13.1b-11-g97aaf12'.
* automake.in: Adjust a comment.
* PLANS: Adjust several files in here.
2013-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr13514' into branch-1.13.2
* fix-pr13514:
aclocal: fix for more-than-once specified directories
aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
2013-02-21 Pavel Raiskup <praiskup@redhat.com>
aclocal: fix for more-than-once specified directories
Related to automake bug#13514.
Do not consider directories for extra m4 files multiple times in
'aclocal'. Doing so caused problems on older packages that specify
configure.ac: AC_CONFIG_MACRO_DIRS([m4])
Makefile.am: ACLOCAL_AMFLAGS = -I m4
if the 'm4' directory does not exist when aclocal is called the first
time by autoreconf.
See:
<http://lists.gnu.org/archive/html/bug-automake/2013-01/msg00115.html>
* aclocal.in (scan_m4_files): Remove duplicates in @user_includes.
* t/aclocal-macrodir.tap: Extend.
* t/aclocal-macrodirs.tap: Likewise.
2013-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'docstrings-tweaks' into maint
* docstrings-tweaks:
cosmetics: fix some "docstring-like" comments in automake
2013-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
coverage: expose automake bug#13760
tests: refactor/enhance tests about make dry-run mode
maint: describe new versioning and branching scheme, and adjust to it
2013-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'new-versioning-scheme' into branch-1.13.2
* new-versioning-scheme:
maint: describe new versioning and branching scheme, and adjust to it
2013-02-20 Pavel Raiskup <praiskup@redhat.com>
aclocal: just warn if the primary local m4 dir doesn't exist (don't error)
Related to automake bug#13514.
Every package which does not need to have the local m4 macro
directory pre-existing in the version control system (because
e.g., it does not have nor need any private m4 macros) would
fail during the "autoreconf -vfi" phase if AC_CONFIG_MACRO_DIRS([m4])
is specified in configure.ac (it could be to instruct tools like
'autopoint' and 'libtoolize' to use 'm4' as the local directory
where to install definitions of their m4 macros, and to instruct
aclocal to look into it). The failure would go like this:
autoreconf: Entering directory `.'
autoreconf: running: aclocal --force
aclocal: error: couldn't open directory 'm4': No such file or directory
autoreconf: aclocal failed with exit status: 1
The problem is that when 'aclocal' is run for the first time during
'autoreconf', the directory 'm4' does not exist yet. It will be
created by e.g., 'libtoolize' or 'autopoint' later on. During the
second 'aclocal' run, the 'm4' directory exists and aclocal does not
complain.
To work around this issue, we degrade the error to a simple warning.
The warning is still quite useful when aclocal is run by hand - so
we are not removing completely.
See also:
<http://lists.gnu.org/archive/html/bug-automake/2013-01/msg00115.html>
<http://lists.gnu.org/archive/html/automake-patches/2010-02/msg00030.html>
<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=565663>
<https://bugzilla.redhat.com/show_bug.cgi?id=901333>
* aclocal.in (SCAN_M4_DIRS_SILENT, SCAN_M4_DIRS_WARN)
(SCAN_M4_DIRS_ERROR): New constants.
(scan_m4_dirs): Change the second parameter name to $ERR_LEVEL to
better reflect new semantic. Use new constants.
(scan_m4_files): Adjust to reflect the new 'scan_m4_dirs' semantics.
* t/aclocal-macrodir.tap: Adjust.
* t/aclocal-macrodirs.tap: Likewise.
* THANKS: Update.
* NEWS: Likewise.
Suggested-by: Ben Pfaff <blp@cs.stanford.edu>
2013-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: expose automake bug#13760
* t/make-dryrun.tap: Here.
* THANKS: Update with the name of the bug reporter.
2013-02-20 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: refactor/enhance tests about make dry-run mode
* t/make-dryrun.tap: Here.
2013-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: describe new versioning and branching scheme, and adjust to it
See discussion about automake bug#13578 for more details and background.
Basically, for the versioning scheme:
- micro versions only for bug and regression fixing;
- minor versions for new backward-compatible features, and new
non-fatal deprecations;
- major versions for backward-incompatibilities, complex new
features, and major refactoring.
And for the git branching scheme:
+ branch 'next' is for the upcoming major version;
+ branch 'master' is now for the upcoming minor version;
+ branch 'maint' is for the upcoming micro (bug-fixing) version;
+ the merging hierarchy is: 'maint' -> 'master' -> 'next'.
* HACKING (Automake versioning and compatibility scheme): New.
(Working with git): Adjust.
* NEWS: Update and fix.
* aclocal.in: Adjust some "FIXME" messages.
* automake.in: Likewise.
* m4/mkdirp.m4: Likewise.
* t/aclocal-acdir.sh: Likewise.
* t/aclocal-macrodir.tap: Likewise.
* t/aclocal-macrodirs.tap: Likewise.
* lib/Automake/Options.pm: Likewise.
* m4/internal/ac-config-macro-dirs.m4: Likewise.
2013-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix some "docstring-like" comments in automake
* automake.in: Here. And remove some redundant ones.
2013-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
style: call perl functions 'like_this()', not '&like_this()'
maint: use more perl subroutines prototypes in the automake script
build: auto-generate perl subroutines prototypes for automake and aclocal
refactor: rip module Automake::Language out of automake script
2013-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'perl-sub-protos' into maint
* perl-sub-protos:
style: call perl functions 'like_this()', not '&like_this()'
maint: use more perl subroutines prototypes in the automake script
build: auto-generate perl subroutines prototypes for automake and aclocal
refactor: rip module Automake::Language out of automake script
2013-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
typofix: in comments in 't/ax/test-lib.sh'
tests on TAP: don't run the driver with perl unconditionally
typofix: in comments in 'automake.in'
tests: remove obsolete (and now wrong) comment
typofix: in diagnostic in test 't/tap-realtime.sh'
automake: fix reference to relevant tests in comments
NEWS: we no longer plan to drop $(INCLUDES) support in next major version
2013-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
typofix: in comments in 't/ax/test-lib.sh'
tests on TAP: don't run the driver with perl unconditionally
typofix: in comments in 'automake.in'
tests: remove obsolete (and now wrong) comment
typofix: in diagnostic in test 't/tap-realtime.sh'
automake: fix reference to relevant tests in comments
NEWS: we no longer plan to drop $(INCLUDES) support in next major version
2013-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: in comments in 't/ax/test-lib.sh'
2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
style: call perl functions 'like_this()', not '&like_this()'
We can do so now that our build rules auto-generate a list of
prototypes for all functions ins our scripts.
* automake.in: Adjust throughout.
* HACKING: Adjust advises.
2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
preproc: enhance and extend tests
* t/preproc-demo.sh: New test, a "demo" of how the new pre-processing
feature could be used in a real-world package.
* t/preproc-errmsg.sh: New test, check that error messages remain
useful when the new pre-processing features are involved.
* t/preproc-reldir.sh: Split up ...
* t/preproc-basics.sh, t/preproc-c-compile.sh: ... into these two
tests, with some refactorings, clean-up and enhancements.
* t/list-of-tests.mk: Adjust.
2013-02-14 Peter Rosin <peda@lysator.liu.se>
Stefano Lattarini <stefano.lattarini@gmail.com>
preproc: add support for relative names in included fragments
The rationale for this change is that it is annoying to have
to repeat the directory name when including a Makefile fragment.
For deep directory structures these repeats can generate a lot
of bloat. It also hinders reuse and easy directory restructuring
if all Makefile fragments have to know exactly where they live.
Suggested by Bob Friesenhahn, and later discussed in bug#13524.
In the course of discussion, the following notations were rejected:
&{reldir}& - to hard to type, {reldir} - interferes with ${reldir},
{am_reldir} - short form {D} interferes with ${D}, @am_reldir@ - short
form @D@ interferes with AC_SUBST([D]) as well as invading the
config.status turf. Other notations were also suggested...
* automake.in (read_am_file): Add third argument specifying the
relative directory of this Makefile fragment compared to the
main Makefile. Replace %reldir% and %canon_reldir% in the
fragment with this relative directory (with slashes etc, or
canonicalized).
(read_main_am_file): Adjust.
* t/preproc-reldir.sh: New test.
* t/list-of-tests.mk: Augment.
* doc/automake.texi (Include): Document the new feature.
NEWS: Add new feature.
2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests on TAP: don't run the driver with perl unconditionally
* t/ax/tap-setup.sh: When a 'Makefile.am' was pre-existent in the
test directory at the moment the client test script sourced this
file, said 'Makefile.am' was tweaked to provide it with a proper
definition of TEST_LOG_DRIVER. However, there was an error in this
automatic definition, since it caused the TAP test driver to be
unconditionally invoked with perl. This wasn't an issue in most
situations, since perl is smart enough to re-execute a given script
with the proper interpreter if it sees a she-bang line that doesn't
seem to point to perl itself. Still, there is no reason to do
something blatantly wrong even if our tools correct the dumb mistake
for us. So fix the TEST_LOG_DRIVER definition.
2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: in comments in 'automake.in'
2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove obsolete (and now wrong) comment
* t/ax/am-test-lib.sh: Here.
2013-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: in diagnostic in test 't/tap-realtime.sh'
2013-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: use more perl subroutines prototypes in the automake script
* automake.in: Throughout this file. Note that these new prototypes
are not much useful, since many subroutine calls still use the old
'&foo' form; but we'll take care of that in later patches.
* lib/Automake/Language.pm (target_hook): Call the '_target_hook'
of the given language in a more modern form, avoiding '&'.
2013-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
build: auto-generate perl subroutines prototypes for automake and aclocal
This will allow us to avoid either using the '&foo' invocation form when
invoking a subroutine before its definition, or having to maintain the
list of prototypes by hand (with the risk of having it become incomplete
or fall out-of-sync when future edits to the automake and aclocal scripts
are done).
* Makefile.am (automake, aclocal): Automatically generate a list of
prototypes by looking at the subroutines definitions.
* bootstrap.sh: Likewise, when generating the temporary automake and
aclocal scripts used for bootstrapping.
* automake.in: Add a placeholder that will be tracked by the new recipes
and substituted with the computed prototypes. Remove existing prototypes,
that are now superfluous. Some adjustments required by the new, more
comprehensive prototypes declarations.
* aclocal.in: Likewise.
* maintainer/syntax-checks.mk (sc_diff_automake, sc_diff_aclocal): Adjust.
2013-02-04 Stefano Lattarini <stefano.lattarini@gmail.com>
refactor: rip module Automake::Language out of automake script
This is just a preparatory patch in view of future changes.
* lib/Automake/Language.pm: New module, ripped out from ...
* automake.in: ... here. Related adjustments.
* Makefile.am (dist_perllib_DATA): List the new module.
2013-02-03 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: fix reference to relevant tests in comments
Some of those tests had been renamed in recent or less-recent changes.
2013-02-03 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: we no longer plan to drop $(INCLUDES) support in next major version
For a rationale and related discussion, see:
<http://lists.gnu.org/archive/html/automake/2013-02/msg00001.html>
And note that support for INCLUDES has not been re-introduced in the
master branch yet, at the moment of writing; but we plan to definitely
do so before the next major release.
2013-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: IRIX is still supported; only SGI depmode no longer is
This change is for the master branch (see the similar commit
'v1.13.1b-3-g97f04a5' on the maint branch).
The only IRIX-specific support that is actually removed in master (and
thus in the next major Automake version) is the depcomp support for the
SGI compiler. That means that automatic dependency tracking will no
longer work with that compiler, but "normal" compilation should still
work, at least until the compiler is supported by Autoconf.
So there is no point in alarming our users by stating in the NEWS file
that "support for IRIX and the SGI compilers has been removed"; after
all, while we don't test on nor particularly care about IRIX anymore,
that doesn't mean we are deliberately breaking it, and the likelihood
of an intended breakage there is very low.
See:
<http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00164.html>
<http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00165.html>
* NEWS: Adjust. Improve explanation of our rationale for dropping
support for the SGI compilers.
Suggested-by: Peter Rosin <peda@lysator.liu.se>
2013-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
NEWS: IRIX is still supported; only SGI C compiler depcomp no longer is
maint: version bump after beta release 1.13.1b
NEWS: typofix
release: beta release 1.13.1b (will become 1.13.2)
2013-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
NEWS: IRIX is still supported; only SGI C compiler depcomp no longer is
maint: version bump after beta release 1.13.1b
NEWS: typofix
release: beta release 1.13.1b (will become 1.13.2)
2013-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: IRIX is still supported; only SGI C compiler depcomp no longer is
This change is for the maint branch.
The only IRIX-specific support that is going to actually be removed in
the next major Automake versions is the depcomp support for the SGI
compiler. That means that automatic dependency tracking will no
longer work with that compiler, but "normal" compilation should still
work, at least until the compiler is supported by Autoconf.
So there is no point in alarming our users by stating in the NEWS file
that "support for IRIX and the SGI compilers is going to be removed";
after all, while we don't test on nor particularly care about IRIX
anymore, that doesn't mean we are deliberately breaking it, and the
likelihood of an intended breakage there is very low.
See:
<http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00164.html>
<http://lists.gnu.org/archive/html/automake-patches/2013-01/msg00165.html>
* NEWS (Future backward-incompatibilities: Adjust. Improve explanation
of our rationale for dropping SGI support. Fix an unrelated typo while
at it.
Suggested-by: Peter Rosin <peda@lysator.liu.se>
2013-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: split info files are not installed nor distributed
See automake bugs #12320 and #13351.
* t/txinfo-no-extra-dist.sh: Enhance.
2013-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: version bump after beta release 1.13.1b
* configure.ac (AC_INIT): Bump version number to 1.13.1c.
* m4/amversion.m4: Likewise (autoupdated by "make bootstrap").
2013-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: typofix
2013-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
release: beta release 1.13.1b (will become 1.13.2)
* configure.ac (AC_INIT): Bump version number to 1.13.1b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
docs: '.txi' and '.texinfo' extensions are deprecated
NEWS: document recent documentation improvements
docs: more precise cross reference
docs: 'dist-shar' and 'dist-tarZ' are obsolescent today
docs: improve documentation of 'dist-*' targets slightly
docs: make even clearer 'dist-gzip' is the default.
docs: document 'dist-xz' together with the other 'dist-*' options
docs: 'no-define' option and AM_INIT_AUTOMAKE three-args usage: fixlets
warn: correct broken hyperlink in warning message
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
* branch-1.13.2:
docs: '.txi' and '.texinfo' extensions are deprecated
NEWS: document recent documentation improvements
docs: more precise cross reference
docs: 'dist-shar' and 'dist-tarZ' are obsolescent today
docs: improve documentation of 'dist-*' targets slightly
docs: make even clearer 'dist-gzip' is the default.
docs: document 'dist-xz' together with the other 'dist-*' options
docs: 'no-define' option and AM_INIT_AUTOMAKE three-args usage: fixlets
warn: correct broken hyperlink in warning message
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: '.txi' and '.texinfo' extensions are deprecated
And Automake will warn about them (since commit 'v1.13.1-6-ge1ed314').
* doc/automake.texi (Texinfo): Adjust.
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: document recent documentation improvements
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: more precise cross reference
See automake bug#13520.
* doc/automake.texi (The Types of Distributions): Here,
cross-reference "List of Automake options" rather then
the more generic node "Options". Improve wording while
at it.
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: 'dist-shar' and 'dist-tarZ' are obsolescent today
Both the options and the formats; and they might be deprecated
and removed in future automake versions (see discussion on
automake bug#13324).
In any case, it's better if the documentation starts advising
against their use right now.
* doc/automake.texi (The Types of Distributions): Here.
(List of Automake options): And here.
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: improve documentation of 'dist-*' targets slightly
* doc/automake.texi (The Types of Distributions): Here.
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: make even clearer 'dist-gzip' is the default.
See automake bug#13520.
* doc/automake.texi (The Types of Distributions): Here.
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: document 'dist-xz' together with the other 'dist-*' options
See automake bug#13520.
* doc/automake.texi (List of Automake options): Here.
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: 'no-define' option and AM_INIT_AUTOMAKE three-args usage: fixlets
See automake bug#13519.
* doc/automake.texi: Adjust.
2013-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
warn: correct broken hyperlink in warning message
* automake.in (scan_autoconf_traces): Here, when an use of the
deprecated two- and three-arguments forms of AM_INIT_AUTOMAKE
is detected.
Fixes automake bug#13519.
2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: more information about Lex and Yacc programs
lint: fix spurious failure for 'sc_rm_minus_f' syntax check
maint: bump version 1.13.1a -> 1.13.2a
maint: update copyright in files generated by automake and aclocal
tests: avoid a spurious failure when running inside Emacs
tests: make two new test executable
m4: rename an m4 file to a more appropriate name
NEWS: update w.r.t. recent documentation fixes
compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC
docs: parallel-tests is no longer experimental
docs: serial-tests are not deprecated, just discouraged
plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
init.m4: add probe to check "rm -f" without args work
2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more information about Lex and Yacc programs
* t/get-sysconf.sh: Try to also get the version of '$LEX' and '$YACC'.
This will help debugging of user-reported problems.
2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
lint: fix spurious failure for 'sc_rm_minus_f' syntax check
* maintainer/syntax-checks.mk (sc_rm_minus_f): Also exempt
file 't/rm-f-probe.sh'.
2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: bump version 1.13.1a -> 1.13.2a
The 1.13.2 bug-fixing release will ship from the 'branch-1.13.2' git
branch, not from the 'maint' one, since the latter contains changes
that are non-trivial and hasn't cooked enough yet. The 'maint' branch
will give rise to the 1.13.3 release instead, eventually. Adjust the
version number to match.
* configure.ac (AC_INIT): Bump version number to 1.13.2b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'branch-1.13.2' into maint
That branch is for the "emergency" bug-fixing release 1.13.2.
* branch-1.13.2:
maint: update copyright in files generated by automake and aclocal
tests: avoid a spurious failure when running inside Emacs
tests: make two new test executable
m4: rename an m4 file to a more appropriate name
NEWS: update w.r.t. recent documentation fixes
compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC
docs: parallel-tests is no longer experimental
docs: serial-tests are not deprecated, just discouraged
NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
2013-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: update copyright in files generated by automake and aclocal
* bootstrap.sh ($RELEASE_YEAR): Bump top 2013.
* configure.ac ($RELEASE_YEAR): Likewise.
2013-01-21 Thien-Thi Nguyen <ttn@gnuvola.org> (tiny change)
tests: avoid a spurious failure when running inside Emacs
Some versions of Emacs set the environment variable 'EMACS' to 't'
for child processes. Thus, when running from inside Emacs, "$(MAKE) -e"
erroneously allows the 't' to override the one in the Makefile.
* t/lisp-flags.sh: Unset var 'EMACS', fixing the issue.
2013-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make two new test executable
* t/backslash-issues.sh: This.
* t/extra-data.sh: And this.
Issue revealed by the 'sc_tests_executable' maintainer check.
2013-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
m4: rename an m4 file to a more appropriate name
* m4/obsolete-err.m4: Rename ...
* m4/obsolete.m4: ... like this.
* Makefile.am (dist_automake_ac_DATA): Adjust.
* t/ansi2knr-no-more.sh: Likewise.
2013-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: update w.r.t. recent documentation fixes
2013-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC
Make them give runtime warnings in the obsolete category, but apart
from that, make them behave as they did in Automake 1.12.x and earlier.
While removing those macros seemed quite harmless, because it didn't put
a real burden on the developers (requiring them just to do a quick edit
to configure.ac), it turned out to place an unsustainable burden (or at
least, a burden perceived as such) on distro packagers who use the latest
Automake to bootstrap existing packages. Many of those packages, while
having likely updated to AC_CONFIG_HEADERS in their development version,
still used AM_CONFIG_HEADER in their existing released versions, and the
removal of this macro would have thus forced the Fedora packagers to
patch all of them. References:
<http://www.mail-archive.com/devel@lists.fedoraproject.org/msg52840.html>
<http://www.spinics.net/lists/fedora-devel/msg175922.html>
<http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>
In addition, the Fedora packagers have already decided to patch their
Automake 1.13.1 to reinstate the AM_CONFIG_HEADER and AM_PROG_CC_STDC
macros (plus other macros that I don't believe it's worth worrying about):
<http://www.spinics.net/lists/fedora-devel/msg176098.html>
<http://www.mail-archive.com/devel@lists.fedoraproject.org/msg53030.html>
<http://pkgs.fedoraproject.org/cgit/automake.git/commit/?id=ffe6bc39>
So, rather than having one more incompatibility floating around, we
better mirror that change (or, actually, its relevant parts) in the
upstream.
* m4/obsolete-err.m4 (AM_CONFIG_HEADER, AM_PROG_CC_STDC): Revert to the
older semantics, plus a runtime warning in the 'obsolete' category.
* t/backcompat6.sh: Use AM_CONFIG_HEADER once again.
* t/am-config-header-no-more.sh: Rename ...
* t/am-config-header.sh: ... like this, and adjust.
* t/am-prog-cc-stdc-no-more.sh: Rename ...
* t/am-prog-cc-stdc.sh: ... like this, and adjust.
* t/list-of-tests.mk: Adjust.
* NEWS: Update.
2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'rm-f-probe' into maint
* rm-f-probe:
init.m4: add probe to check "rm -f" without args work
2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: parallel-tests is no longer experimental
So don't declare it as such in the documentation.
Reported by Brandon Black:
<http://lists.gnu.org/archive/html/automake/2013-01/msg00052.html>
* doc/automake.texi: Adjust.
* THANKS: Update.
2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: serial-tests are not deprecated, just discouraged
We don't plan to remove support for them, nor to have the serial-tests
option give any kind of runtime warning, so don't alarm the users
still using serial tests with pointless "deprecation" or "obsolescence"
warnings.
Fixes automake bug#13478.
See also:
<http://lists.gnu.org/archive/html/automake/2013-01/msg00058.html>
* doc/automake.texi: Adjust.
* THANKS: Update.
2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS (master): we are not going to remove AM_PROG_MKDIR_P in 1.14
See commit v1.13.1-109-g030ecb4 of 2013-01-16, "compat: restore
AM_PROG_MKDIR, again", for the rationale.
2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
See commit v1.13.1-109-g030ecb4 of 2013-01-16, "compat: restore
AM_PROG_MKDIR, again", for the rationale; that rationale is now
also copied...
* PLANS/obsolete-removed/am-prog-mkdir-p.txt: ... here.
2013-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14
See commit v1.13.1-109-g030ecb4 of 2013-01-16, "compat: restore
AM_PROG_MKDIR, again", for the rationale.
2013-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'texi-no-split-info'
* texi-no-split-info:
texi: no longer support split info files
2013-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
subdir-objects: complain if it isn't enabled
plans: update w.r.t. latest changes
2013-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
compat: restore AM_PROG_MKDIR, again
OK, this is getting ridiculous, but we cannot remove this macro yet
(and, yes, the fault for this mess lies entirely on me; let's not
dwell on that, thank you very much).
Gettext (so far the greatest "offender" in the use of AM_PROG_MKDIR), in
its latest release 0.18.2, has removed all the uses of that macro still
present in its code base. So I thought we could finally and safely
remove it. Wrong. If a package's 'configure.ac' contains a call like:
AM_GNU_GETTEXT_VERSION([0.18])
then the 'autopoint' script will bring the data files from the Gettext
release *1.18* into the package's tree -- yes, even even if the developer
has installed *and is using* Gettext 1.18.2! Now, these data files
comprise m4 files (that will be seen by subsequent aclocal and autoconf
calls), and of course, the pre-0.18.2 version of some of these files
still contains occurrences of AM_PROG_MKDIR_P -- so Automake 1.13 errors
out, and we lose. This has already happened in practice:
<http://lists.gnu.org/archive/html/bug-grep/2013-01/msg00003.html>
Moreover, while we might see it as not unreasonable to ask a developer
using Automake 1.14 to also update Gettext to 1.18.2, that would not
be enough; in order for gettext to use the correct data files, our
developer would have to update his configure.ac to read:
AM_GNU_GETTEXT_VERSION([0.18.2])
thus requiring *all* of his co-developers to install Gettext 1.18.2,
even if they are still using, say, Automake 1.13. Bad.
So we re-instate this macro as a simple alias for AC_PROG_MKDIR (plus
a non-fatal runtime warning in the 'obsolete' category), and drop any
plan to remove it (see how much good those plans have done us so far).
Note that NEWS is not yet adjusted, since we'll have to adjust it in
maint before (to minimize spurious merge conflicts).
* doc/automake.texi: Update.
* PLANS/obsolete-removed/am-prog-mkdir-p.txt: Likewise.
* t/gettext-macros.sh: Adjust.
* t/am-prog-mkdir-p.sh: New test.
* t/mkdir_p.sh: Remove, folded into the new one.
* t/am-prog-mkdir-p-no-more: Remove as superseded.
* t/list-of-tests.mk: Adjust.
* t/obsolete-err.m4: Re-instate AM_PROG_MKDIR_P as a working
alias for AC_PROG_MKDIR_P (albeit giving runtime warnings, and
calling AC_SUBST on 'mkdir_p' too).
* m4/init.m4 (AM_INIT_AUTOMAKE): No longer call AC_SUBST for
'mkdir_p', as that is once again AM_PROG_MKDIR_P's business.
2013-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
init.m4: add probe to check "rm -f" without args work
See automake bug#10828.
POSIX will say in a future version that running "rm -f" with no argument
is OK: <http://austingroupbugs.net/view.php?id=542>).
We want to be able to make that assumption in our Makefile recipes.
So we introduce an aggressive probe to check that the usage we want is
actually supported "in the wild" to an acceptable degree.
* m4/init.m4 (AM_INIT_AUTOMAKE): Implement the probe. To make any issue
more visible, cause the running configure to be aborted by default if
the 'rm' program in use doesn't match our expectations; the user can
still override this though, by setting the ACCEPT_INFERIOR_RM_PROGRAM
environment variable to "yes".
* t/spy-rm.tap: Update heading comments.
* t/rm-f-probe.sh: New test.
* t/list-of-tests.mk: Add it.
* PLANS/rm-f-without-args.txt: Adjust.
2013-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
subdir-objects: complain if it isn't enabled
Since the next major automake version will make the behaviour so far
only activated with the 'subdir-object' option mandatory, it's better
if we start warning users not using that option.
As suggested by Peter Johansson, we strive to avoid the warning when
it would be irrelevant, i.e., if all source files sit in "current"
directory.
See automake bug#13378.
* automake.in (handle_single_transform): Print the warning when
necessary.
* t/subobj.sh: Enhance.
* t/ax/depcomp.sh: Adjust.
* t/cscope.tap: Likewise.
* t/depcomp8a.sh: Likewise.
* t/depcomp8b.sh: Likewise.
* t/ext2.sh: Likewise.
* t/extra-portability.sh: Likewise.
* t/fort2.sh: Likewise.
* t/fort4.sh: Likewise.
* t/fort5.sh: Likewise.
* t/lex-line.sh: Likewise.
* t/libtool3.sh: Likewise.
* t/ltinstloc.sh: Likewise.
* t/ltlibsrc.sh: Likewise.
* t/ltorder.sh: Likewise.
* t/parallel-tests-suffix-prog.sh: Likewise.
* t/sourcefile-in-subdir.sh: Likewise.
* t/specflg9.sh: Likewise.
* t/subobj4.sh: Likewise.
* t/subobj7.sh: Likewise.
* t/subpkg-yacc.sh: Likewise.
* t/subpkg.sh: Likewise.
* t/suffix-custom-subobj-and-specflg.sh: Likewise.
* t/vala-libs.sh: Likewise.
* t/vala-non-recursive-setup.sh: Likewise.
* t/yacc-grepping2.sh: Likewise.
* t/yacc-line.sh: Likewise.
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
plans: update w.r.t. latest changes
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
ywrap: remove an obsolete FIXME comment
ywrap: style fixes (no semantic change intended)
convenience: "make lint" as an alias for "make maintainer-check"
docs: typofix in manual
coverage: using multiple lexers in a single program
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
ywrap: remove an obsolete FIXME comment
If it were still relevant, somebody would have complained by now.
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
ywrap: style fixes (no semantic change intended)
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
convenience: "make lint" as an alias for "make maintainer-check"
* maintainer/syntax-checks.mk (lint): Here. I'm a lazy typist ...
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: typofix in manual
* doc/automake.texi (Yacc and Lex): Here, don't write "automake -i"
where "automake -a" is actually intended. Re-wrap some text while
at it.
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: using multiple lexers in a single program
Using Flex and Automake built-in support for lex, that is possible.
A little tricky, but not difficult.
See:
<http://lists.gnu.org/archive/html/automake/2010-10/msg00081.html>
<http://lists.gnu.org/archive/html/automake/2009-03/msg00061.html>
* t/lex-multiple.sh: New test.
* t/list-of-tests.mk: Add it.
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: remove most uses of the AM_PROG_CC_C_O obsolete macro
coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors
INSTALL: update copyright years
ithreads: use runtime (not configure time) detection of perl threads
copyright: add few missing copyright notices
maint: files in PLANS are to be exempted from copyright notice
maint: consistently honor the UPDATE_COPYRIGHT_YEAR environment variable
copyright: update some copyright years
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove most uses of the AM_PROG_CC_C_O obsolete macro
Our NEWS file says its use will no longer be required in Automake
1.13, so better make sure that is actually the case.
* Several tests: Adjust.
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: obsolete macro AM_PROG_CC_C_O should cause no warning nor errors
Suggested by Eric Blake.
* t/am-prog-cc-c-o.sh: New test.
* t/list-of-tests.mk: Add it.
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
INSTALL: update copyright years
2013-01-12 Mike Frysinger <vapier@gentoo.org> (tiny change)
ithreads: use runtime (not configure time) detection of perl threads
I can't imagine the runtime checks being a big runtime penalty, so there
shouldn't be a need to do the checks at configure check and hardcode the
result in the generated automake.
With the current system, it means if you change your perl config (build
perl w/threads, build automake, build perl w/out threads), or deploy a
compiled automake package on a different system (build had threads, but
deployed system does not), you get errors when trying to run automake.
So take the logic from configure.ac and move it to the one place where
PERL_THREADS is used (lib/Automake/Config.in) and do the version/config
checking at runtime.
* bootstrap.sh (PERL_THREADS): Delete assignment and use in sed.
* configure.ac (am_cv_prog_PERL_ithreads, PERL_THREADS): Delete all code
related to these two variables.
* lib/Automake/Config.in (perl_threads): Initialize to 0, and only set to
1 if the perl version is at least 5.007_002, and useithreads is in Config.
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
copyright: add few missing copyright notices
Issue revealed by warnings from "make update-copyright".
* maintainer/am-ft: Add copyright notice.
* maintainer/am-xft: Likewise.
* maintainer/rename-tests: Likewise.
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: files in PLANS are to be exempted from copyright notice
* maintainer/maint.mk (update-copyright): Adjust.
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: consistently honor the UPDATE_COPYRIGHT_YEAR environment variable
* maintainer/maint.mk (update-copyright): Here. The 'lib/update-copyright'
already honoured it, but some parts of our recipe didn't. This has caused
the incomplete copyright bump that was fixed by the previous patch.
2013-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
copyright: update some copyright years
With "make update-copyright". Apparently they were missed in the
last bump.
* bootstrap.sh, configure.ac, t/txinfo-builddir.sh: In these files.
2013-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
compile: use 'compile' script when "-c -o" is used with losing compilers
HACKING: suggest more checks before releasing
tests: can fake a compiler not grasping "-c -o" -- globally in all tests
sync: update files from upstream with "make fetch"
typofix: in comments in GNUmakefile
Rename 'maint/' -> 'maintainer/', for Git's sake
HACKING: minor typofix
HACKING: bug-tracker, the PLANS directory, and how to plan "big" changes
HACKING: rewindable branches should live in the 'experimental/*' namespace
HACKING: fixlets about git branch rewinding policy
HACKING: commit messages are not to follow GCS ChangeLog rules too strongly
HACKING: "detailed explanation" in commit messages is almost mandatory
HACKING: we use "merge --log" even when merging master
HACKING: typofix
depend2.am: fix comments on verbosity of compilation rules
depend2.am: improve comments a little
plans: automake 1.14 is to assume "rm -f" with no args is OK
plans: we want to active subdir-objects unconditionally in automake 1.14
2013-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
compile: use 'compile' script when "-c -o" is used with losing compilers
Do so seen when only source files in the "current" directory are present.
This commit is part of a series of related changes addressing automake
bug#13378 (see also the plan 'PLANS/subdir-objects.txt').
Before this change, Automake-generated C compilation rules mistakenly
passed the "-c -o" options combination unconditionally (even to losing
compiler) when the 'subdir-objects' was used but sources were only
present in the top-level directory. Issue spotted by Nick Bowler:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>
We fix this by having Automake redefine AC_PROG_CC to take over the role
of AM_PROG_CC_C_O and to require the 'compile' script unconditionally
(albeit that will continue to be invoked only when inferior compilers
are detected).
Among other things, this means AM_PROG_CC_C_O explicitly is no longer
required; that macro is still supported for backward-compatibility, but
calling it is basically a no-op now.
This change has some pros and some cons (obviously, we believe the former
outweighs the latter). Here are the most relevant ones:
+ Pros 1:
Some logic in the Automake script has been simplified.
+ Pros 2:
That simplification has automatically fixed an actual bug (see
Nick's mails referenced above; admittedly, that was present only in
corner-case situations, but still); the test 't/ccnoco4.sh', which
demonstrated the bug and has been failing so far, now passes.
+ Pros 3:
Things works more "automagically" now (no need to manually add the
AM_PROG_CC_C_O macro to configure.ac anymore).
* Cons 1:
The 'compile' script will be required in all projects using C
compilation; this will only be a problem for packages not using
'--add-missing'. However, such packages are definitely more rare
than the ones using '--add-missing', and adjusting them will be
trivial -- just copy the compile script over from the new Automake
installation.
* Cons 2:
The copy & paste of autoconf internals hack this change has introduced
in our "rewrite" of AC_PROG_CC is really an egregious abomination. It
can only be justified with the fact that we expect future versions of
autoconf to implement the semantics we need directly in AC_PROG_CC, so
that we'll be able to leverage that (since Automake 1.14 will require
the latest Autoconf version released).
Now, the detailed list of file-by-file changes ...
* automake.in ($seen_cc_c_o): Remove this global variable.
(scan_autoconf_traces): Don't set it, and do not trace the
'AM_PROG_CC_C_O' m4 macro.
(lang_c_rewrite): Remove, no longer needed.
* doc/automake.texi: Adjust expected "autoreconf --install" output
in the amhello example. Remove statements about the need for the
AM_PROG_CC_C_O macro. Report it is obsolete now.
* m4/init.m4: Re-write AC_PROG_CC to append checks about whether the
C compiler supports "-c -o" together. These checks have basically
been ripped out (with adaptations) from the 'AC_PROG_CC_C_O' macro
of Autoconf and ...
* m4/minuso.m4 (AM_PROG_CC_C_O): ... this macro of ours, which has
thus basically become a no-op.
* t/ax/am-test-lib.sh (am_setup_testdir): Also copy the 'compile'
script in the test directory; if we don't do so, every test using
AC_PROG_CC should call automake with the "--add-missing" option, or
copy the 'compile' script itself.
* t/cond11.sh: No need to create a dummy 'compile' script: that is
already brought in by 'am_setup_testdir()', that is automatically
invoked when 'test-lib.sh' is sourced.
* t/add-missing.tap: Adjust: we expect the 'compile' script to be
required by a mere AC_PROG_CC call now.
* t/dist-auxdir-many-subdirs.sh: Likewise.
* t/specflg6.sh: Likewise.
* t/subobj4.sh: Likewise.
* t/cxx-lt-demo.sh: Likewise, and update comments to match.
* t/distcom2.sh: Enhance a little.
* t/dollarvar2.sh: Adjust.
* t/extra-portability.sh: Likewise.
* t/libobj19.sh: Likewise.
* t/per-target-flags.sh: Likewise.
* t/repeated-options.sh: Likewise.
* t/subobj.sh: Likewise, and enhance a little.
* t/ccnoco2.sh: Remove as obsolete.
* t/list-of-tests.mk (handwritten_TESTS): Adjust.
(XFAIL_TESTS): Remove 't/ccnoco4.sh'.
* NEWS: Update.
2013-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: suggest more checks before releasing
In particular, "make check-no-trailing-backslash-in-recipes",
"make check-cc-no-c-o" and "make maintainer-check" should also
be run.
2013-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: can fake a compiler not grasping "-c -o" -- globally in all tests
The ability to easily do so will be quite important in upcoming changes
about C compilation handling and semantics of the 'subdir-objects'
option. Refer to the extensive discussion about automake bug#13378 for
more details: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378>.
See also commit 'v1.13.1-34-g744cd57' of 2013-01-08, "coverage: compile
rules used "-c -o" also with losing compilers".
* t/ax/cc-no-c-o.in: New, a "C compiler" that chokes when the '-c' and
'-o' options are passed together to it on the command line.
* Makefile.am (t/ax/cc-no-c-o): Generate this script from it.
(noinst_SCRIPTS, CLEANFILES): Add it.
(EXTRA_DIST): Add 't/ax/cc-no-c-o.in'.
(check-cc-no-c-o): New target, runs the whole testsuite with 'cc-no-c-o'
as the C compiler (bot GNU and non-GNU).
* .gitignore: Update.
* t/ccnoco.sh: Use the new script instead of duplicating it.
* t/ccnoco3.sh: Likewise.
* t/ccnoco4.sh: Likewise.
* t/self-check-cc-no-c-o.sh: New testsuite self-check.
* t/list-of-tests.mk: Adjust.
2013-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/INSTALL: Update.
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
* lib/gendocs_template: Likewise.
* lib/gitlog-to-changelog: Likewise.
* lib/gnupload: Likewise.
* lib/texinfo.tex: Likewise.
* lib/update-copyright: Likewise.
2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: in comments in GNUmakefile
2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Rename 'maint/' -> 'maintainer/', for Git's sake
Otherwise, Git gets confused by the fact that a directory ('maint')
is named like a branch, and forces me to tweak the command line to
resolve the ambiguity for it.
* maint/: Rename ...
* maintainer/: ... like this.
* Makefile.am, GNUmakefile: Adjust.
2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: minor typofix
2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: bug-tracker, the PLANS directory, and how to plan "big" changes
2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: rewindable branches should live in the 'experimental/*' namespace
2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: fixlets about git branch rewinding policy
2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: commit messages are not to follow GCS ChangeLog rules too strongly
2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: "detailed explanation" in commit messages is almost mandatory
2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: we use "merge --log" even when merging master
2013-01-10 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: typofix
2013-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
depend2.am: fix comments on verbosity of compilation rules
The situation and decisions described on those comments have become
quite outdated since the introduction of the silent-rules support.
Today, the general idea is to have nice, terse output if silent rules
are enabled, and complete, faithful, very verbose output if they are
not -- without trying to "massage" this verbose output in a more
pleasant form if that would cause complication in the affected code.
So it's better to just drop the obsolescent comments.
Note that we don't start simplifying the existing rules according
to this new philosophy; that will only be done when touching some
existing code (for the 'depend2.am' code, that will probably happen
on the master branch).
2013-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
depend2.am: improve comments a little
* lib/am/depend2.am: The "fastdep" mode is supported not only for
gcc 3.x, but for gcc 3.x or later, in particular, for all gcc in
the 4.x series (at the time of writing, the latest release is 4.72).
Adjust the comments to match, and re-wrap them while at it.
2013-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
plans: automake 1.14 is to assume "rm -f" with no args is OK
See automake bug#10828.
* PLANS/rm-f-without-args.txt: New.
2013-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
plans: we want to active subdir-objects unconditionally in automake 1.14
See automake bug#13378.
* PLANS/subdir-objects.txt: New.
* t/ccnoco4.sh: Improve heading comments a little.
2013-01-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: adjust stale references to old test names
tests: rename the last aclocal test with dumb name
tests: fix an old botched change to an aclocal test
tests: fix some botched inter-test references in heading comments
coverage: compile rules used "-c -o" also with losing compilers
texi: remove extra verbosity in creation of dirstamp directory
coverage: user can avoid distributing '.info' pages
plans: add some on-going plans (already registered on the bug tracker)
docs: mention dist-hook help for EXTRA_DIST
texi: remove workaround for older Texinfo (4.1)
NEWS: improve wordings in entry deprecating suffix-less info files
plans: add the "PLANS" directory
2013-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: adjust stale references to old test names
* t/remake-renamed-m4-macro-and-file.sh: Adjust to reflect to old
"acloca22 -> t/aclocal-deleted-header.sh" test rename.
* t/aclocal-pr450.sh (configure.ac): Use '$me' in the AC_INIT call,
instead of hard-coding the old name of this test, i.e., "acloca19".
2013-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rename the last aclocal test with dumb name
* t/acloca10.sh: Rename ...
* t/aclocal-I-install.sh: ... to this saner and slightly more
self-explanatory name.
* t/list-of-tests.mk: Adjust.
2013-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix an old botched change to an aclocal test
* t/acloca10.sh (configure.ac): Here, invoke the m4 macro 'MACRO2'
before the macro 'MACRO1' (the related test 't/aclocal-I-order-2.sh'
does the opposite). This reverts a botched edit done (by myself,
oops) in commit 'v1.11-1335-gefdc3e1' of 2011-09-11, "tests: minor
optimizations/simplifications in some aclocal tests", and makes the
behaviour of the test match once again what is stated in the
heading comments. While at it, improve those same heading comments
a little.
2013-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix some botched inter-test references in heading comments
* t/aclocal-I-order-2.sh: Here.
* t/aclocal-I-order-2.sh: And here.
2013-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: compile rules used "-c -o" also with losing compilers
If the 'subdir-objects' option is used, Automake-generated rules for
C compilation pass both the "-c" and "-o" options to the C compiler,
*unconditionally*. There are some compilers that choke on such an
usage, but the AM_PROG_CC_C_O macro takes care of them (it does so by
redefining $CC to use the Automake-provided 'compile' wrapper script
automatically, if a losing compiler is detected at configure runtime).
Unfortunately, in case the 'subdir-objects' option is specified in a
Makefile.am, but all the source files resided anyway in the top-level
directory (relative to the Makefile.am), Automake do *not* complain
if AM_PROG_CC_C_O wasn't invoked in 'configure.ac' -- all the while
still passing "-c -o" to the compiler invocations. This could cause
compilation failures with losing compilers if the user forget to call
AM_PROG_CC_C_O in 'configure.ac' (and Automake would not warn him of
the issue).
Expose this bug in the testsuite.
Issue identified by Nick Bowler in the discussion on automake bug#13378:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#35>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378#44>
* t/ccnoco4.sh: New test.
* t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): List it.
2013-01-07 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: no longer support split info files
See automake bug#13351 and bug#12320.
Automake-generated recipes have for a long time supported "split"
info files:
http://www.gnu.org/software/texinfo/manual/texinfo/texinfo.html#Tag-and-Split-Files
When I asked the rationale for this feature:
http://lists.gnu.org/archive/html/texinfo-devel/2012-08/msg00015.html
Karl Berry confirmed that the reason for its existence was indeed
"efficiency, especially memory size":
http://lists.gnu.org/archive/html/texinfo-devel/2012-08/msg00024.html
He also added that "The Elisp manual is one of the largest ones around.
Looks like it would be maybe 3.5mb as one file." Not in any way big by
modern standards.
OTOH, it appears that the use of split info files (at least in the way
they have been handled by Automake-generated rules for a long time) can
cause real problems in some (admittedly quite corner-case) situations:
http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3963
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12320
So we now follow suit with Automake-NG (see commit v1.12.2-901-gdd603e2,
<http://lists.gnu.org/archive/html/automake-ng/2012-08/msg00147.html>)
and have Automake-generated makefiles pass the '--no-split' option
unconditionally to makeinfo invocations.
This allow some nice simplifications in our Texinfo recipes, and offer
an automatic fix for bug#12320.
Another *very* good aspect of such a change is that it should be 100%
transparent to the Automake users.
* lib/am/texinfos.am: Simplify moderately.
* lib/am/texibuild.am: Simplify greatly the recipe for the creation
of info files.
* t/txinfo-makeinfo-error-no-clobber.sh: Adjust.
* t/txinfo-no-split.sh: New test.
* t/list-of-tests.mk: Add it.
2013-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: remove extra verbosity in creation of dirstamp directory
* lib/am/texi-vers.am (%STAMPVTI%): Here.
2013-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: user can avoid distributing '.info' pages
Can be done like this:
AUTOMAKE_OPTIONS = info-in-builddir
dist-info:
@:
Note that this usage is not yet documented: we might decide to go
for a fully-fledged 'no-dist-info' flag, or something like that, in
future automake version (this is not yet decided); in which case,
it's better not to have people start to rely on the hack above.
Still, there's no good reason to break it gratuitously, hence this
test coverage.
* t/txinfo-nodist-info.sh: New test.
* t/list-of-tests.mk: Add it.
2013-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: remove leftover support for DGJPP '.iNN' info files
A follow-up to commit 'v1.13-6-gad08bbf'.
* lib/am/texinfos.am (dist-info): Stop catering to info files
with '.iNN' extension (as in '.i23' or '.i02').
2013-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'plans' into maint
* plans:
plans: add some on-going plans (already registered on the bug tracker)
2013-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
plans: add some on-going plans (already registered on the bug tracker)
2013-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'plans' into maint
* plans:
plans: add the "PLANS" directory
Conflicts:
Makefile.am
2013-01-03 Karl Berry <karl@gnu.org>
docs: mention dist-hook help for EXTRA_DIST
* automake.texi (Basics of Distribution): mention dist-hook
as working around the problems of whole directories in EXTRA_DIST.
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: remove workaround for older Texinfo (4.1)
* lib/am/texibuild.am: Here, in the rules generating HTML output.
We can do so because, since Automake 1.13, we require Texinfo >= 4.9
anyway.
Basically a backport of Automake-NG commit '1.12.2-879-ge6caf5e'.
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: improve wordings in entry deprecating suffix-less info files
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
build: don't enable 'color-tests' automake option explicitly
build: enable all warnings as fatal in our own build system
texi: Texinfo sources and CLEANFILES definition should co-exist peacefully
tests: make two new test executable
runtest: better command line API
tests: move runtest.in away from the top-lever directory
maint: move more maintainer files in the 'maint/' subdir
tests: more significant names for some tests
maint: add some of my maintainer-specific scripts
texi: deprecate hack about info files in CLEANFILES variables
texi: info files can be generated in the builddir
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
build: don't enable 'color-tests' automake option explicitly
It's enabled by default since commit 'v1.12.2-136-g2d5571e' (this
change appeared in Automake 1.13).
* configure.ac (AM_INIT_AUTOMAKE): Drop 'color-tests'.
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
build: enable all warnings as fatal in our own build system
Automake should of course be able to bootstrap itself in a
warning-free manner w.r.t. the Autotools. So make any failure
to do so fatal. Not doing so caused the regression fixed by
previous commit 'v1.13.1-22-ga790fae' to go unnoticed.
* configure.ac (AM_INIT_AUTOMAKE): Add '-Werror' and '-Wall'.
* bootstrap.sh: Pass the '-Wall -Werror' options to aclocal,
automake and autoconf invocations.
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: Texinfo sources and CLEANFILES definition should co-exist peacefully
But they don't now, due to a regression introduced in commit
'v1.13.1-4-gc1a8f56'. Fix it. The regression was hitting our
own build system!
* automake.in (handle_texinfo_helper): Only complain if the
'info-in-builddir' is not active and a '.info' file (not any
random file!) is listed in CLEANFILES or DISTCLEANFILES.
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make two new test executable
* t/backslash-issues.sh: This.
* t/extra-data.sh: And this.
Issue revealed by the 'sc_tests_executable' maintainer check.
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'info-in-builddir' into maint
* info-in-builddir:
texi: deprecate hack about info files in CLEANFILES variables
texi: info files can be generated in the builddir
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
runtest: better command line API
* t/ax/runtest.in: Accept options '-k' and '--keep-testdirs' (same
as exporting '$keep_testdirs' to "yes"). To improve compatibility
with the "make check" interface, allow environment variables to be
passes on the command line. Minor adjustments while at it.
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: move runtest.in away from the top-lever directory
Not only this leaves the top-lever directory less cluttered, but
helps in keeping the testsuite-related files more "centralized".
* runtest.in: Move ...
* t/ax/runtest.in: ... here. While at it, add customary
'@configure_input@' comment line.
* Makefile.am (runtest, EXTRA_DIST): Adjust.
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: move more maintainer files in the 'maint/' subdir
* maint.mk: Move ...
* maint/maint.mk: ... here.
* syntax-checks.mk: Move ...
* maint/syntax-checks.mk: ... here.
* Makefile.am: Adjust.
* GNUmakefile: Likewise.
2013-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
plans: add the "PLANS" directory
Individual files or sub-directories about future and on-going
development plans in Automake will be added in follow-up commits.
This new set of documents is meant to help ensure a more controlled
and smooth development and evolution for Automake, in several ways.
- Having the plans clearly spelled out should will avoid messy
roadmaps with no clear way forward or with muddy or ill-defined
aims or purposes; a trap this is too easy to fall into.
- Keeping planned changes cooking and re-hashed for a while should
ensure rough edges are smoothed up, transitions are planned in a
proper way (hopefully avoiding debacles like the AM_MKDIR_PROG_P
deprecation and the AM_CONFIG_HEADER too-abrupt removal), and
"power users" have more chances of getting informed in due time,
thus having all the time to prepare for the changes or raise
objections against them.
- Having the plans clearly stated and registered in a "centralized"
location should make it more difficult to them to slip through
the cracks, getting forgotten or (worse) only half-implemented.
- Even for discussions and plans registered on the Bug Tracker
as well, a corresponding entry in the PLANS directory can help
in keeping main ideas summarized, and consensus and/or objections
registered and easily compared.
Motivation:
<http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>
Not a flatting picture for us (and maybe a little too harsh), but
basically true and even spot-on in some regards.
* PLANS/README: New.
* Makefile.am (EXTRA_DIST): Distribute the whole PLANS directory.
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more significant names for some tests
* t/spy.sh: Rename...
* t/spy-double-colon.sh: ... like this.
* t/yacc4.sh: Rename...
* t/yacc-misc.sh: ... like this.
* t/yaccdry.sh: Rename...
* t/yacc-dry.sh: ... like this.
* t/yaccpp.sh: Rename...
* t/yacc-cxx-grepping.sh: ... like this.
* t/yaccvpath.sh: Rename...
* t/yacc-vpath.sh: ... like this.
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: add some of my maintainer-specific scripts
They are likely not general enough for widespread use, but they
are useful nonetheless.
In the best-case scenario, they will start to be used by other
people, and thus accordingly improved and made more general and
flexible.
In the worst case scenario, well, I still get to keep them in a
centralized, blessed place, simplifying the deployment and use
of them; so still a win for me :-)
* maint/am-ft: New script.
* maint/am-xft: Likewise.
* maint/rename-tests: Likewise.
* Makefile.am (EXTRA_DIST): Add them.
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: reorganize tests on backslash issues
style: add trailing ':' to some test cases
tests: tweak tests on obsolete EXTRA_DATA variable
tests: more significant names for some tests
cosmetics: remove few occurrences of trailing whitespace
docs: re-introduce mention of two-args AM_INIT_AUTOMAKE invocation
texi: warn against '.txi' and '.texinfo' input suffixes
cleanup: remove two lines of dead code in automake
texi: warn against suffix-less info files
build: respect silent rules in generation of "amhello" example tarball
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: reorganize tests on backslash issues
* t/backsl.sh, t/backsl2.sh, t/backsl3.sh: Merge ...
* t/backslash-issues.sh: ... into this test.
* t/backsl4.sh: Rename ...
* t/backslash-before-trailing-whitespace.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
style: add trailing ':' to some test cases
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: tweak tests on obsolete EXTRA_DATA variable
* t/extra3.sh, t/extra4.sh: Merge ....
* t/extra-data.sh: ... into this, with updated comments.
* t/list-of-tests.mk: Adjust. Also Tweak the order in
which some other tests are listed.
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more significant names for some tests
* t/extra5.sh: Rename ....
* t/extra-dist-vpath-dir.sh: ... like this.
* t/extra6.sh: Rename ....
* t/extra-dist-dirs-and-subdirs.sh: ... like this.
* t/extra7.sh: Rename ....
* t/extra-dist-vpath-dir-merge.sh: ... like this.
* t/extra8.sh: Rename ....
* t/extra-programs-misc.sh: ... like this.
* t/extra9.sh: Rename ....
* t/extra-programs-and-libs.sh: ... like this.
* t/extra10.sh: Rename ....
* t/extra-dist-wildcards.sh: ... like this.
* t/extra11.sh: Rename ....
* t/extra-dist-wildcards-gnu.sh: ... like this.
* t/extra12.sh: Rename ....
* t/extra-dist-wildcards-vpath.sh: ... like this.
* t/extradep.sh: Rename ....
* t/extra-deps.sh: ... like this, and adjust heading comments.
* t/extradep2.sh: Rename ....
* t/extra-deps-lt.sh: ... like this, and adjust heading comments.
* t/list-of-tests.mk: Adjust.
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove few occurrences of trailing whitespace
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: re-introduce mention of two-args AM_INIT_AUTOMAKE invocation
Albeit obsolescent and raising warnings in the 'obsolete' category,
that usage is still supported, and will need to be until Autoconf
improves its handling of configure-time-generated package version
numbers. So it's better to explicitly document it again, stating
that it is obsoleted but still working (and why), rather then leaving
it as Yet Another Undocumented Feature (that will mysteriously and
suddenly break some random day in the future).
It's worth giving some background about how we ended up in the
situation that this patch fixes.
We had originally removed support for the long-deprecated two-args
AM_INIT_AUTOMAKE invocation (see commit v1.12-67-ge186355). Before
that removal could land in a released Automake version, Bob Friesenhahn
made a quite compelling point that the two-args AM_INIT_AUTOMAKE
invocation could still be useful for modern, maintained packages like
GraphicsMagick, at least until Autoconf is fixed to offer better support
for "dynamic" package versions (see commit v1.12.2-245-g2abe183 for more
in-depth rationales and references). However, in that commit we didn't
revert the removal of the *documentation* for this two-arguments
AM_INIT_AUTOMAKE invocation (and no rationale for not doing so was given
in the commit message). Time to remedy that.
Indirectly suggested by Diego Elio Pattenò:
<http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains>
* doc/automake.texi: Adjust.
* NEWS: Update.
* THANKS: Likewise.
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: warn against '.txi' and '.texinfo' input suffixes
The warning being in the 'obsolete' category. This is mostly to
ease transition to Automake-NG (see commit v1.12.1-416-gd5459b9),
and to discourage use of seldom-tested setups.
* automake.in (handle_texinfo_helper): Warn against Texinfo input
files with '.txi' or '.texinfo' suffixes.
* NEWS: Update.
* t/txinfo-other-suffixes.sh: Adjust and enhance.
* t/txinfo-no-repeated-targets.sh: No longer use '.txi' and
'.texinfo' extensions.
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: remove two lines of dead code in automake
* automake.in (scan_texinfo_file): Here, the definition and
munging of '$infobase'.
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: warn against suffix-less info files
The warning being in the 'obsolete' category. This is mostly to
ease transition to Automake-NG (see commit v1.12.1-392-ga0c7b6a),
and to discourage use of seldom-tested setups.
* automake.in (scan_texinfo_file): Warn against '@setfilename'
directives that specify suffix-less output info files.
* t/txinfo-without-info-suffix.sh: Adjust and enhance.
* t/txinfo-makeinfo-error-no-clobber.sh: No longer use suffix-less
info files in '@setfilename' directives.
* t/primary-prefix-valid-couples.sh: Likewise.
* t/txinfo-setfilename-repeated.sh: Likewise.
* t/txinfo-vtexi2.sh : Likewise.
* t/mdate2.sh: Likewise.
* NEWS: Update.
2013-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: deprecate hack about info files in CLEANFILES variables
For quite a long time, Automake has been implementing an undocumented
hack which ensured that '.info' files which appeared to be cleaned (by
e.g. being listed in the CLEANFILES or DISTCLEANFILES variables) were
built in the builddir rather than in the srcdir; this hack was introduced
to ensure better backward-compatibility with packages such as Texinfo,
which did things like:
info_TEXINFOS = texinfo.txi info-stnd.texi info.texi
DISTCLEANFILES = texinfo texinfo-* info*.info*
# Do not create info files for distribution.
dist-info:
@:
in order not to distribute .info files.
Now that we have the 'info-in-builddir' option that explicitly causes
generated '.info' files to be placed in the builddir, this hack should
be longer necessary, so we deprecate it with runtime warnings. It is
scheduled to be removed altogether in Automake 1.14.
* automake.in (handle_texinfo_helper): Raise proper runtime warnings
if the hack is triggered.
* NEWS: Update.
* t/txinfo28.sh: Adjust.
* t/txinfo23.sh: Likewise.
* t/txinfo25.sh: Adjust and extend.
* t/txinfo24.sh: Likewise.
2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: info files can be generated in the builddir
User can now ask info files to be built in the $(builddir), rather than
the $(srcdir), by specifying the Automake option 'info-in-builddir'.
This feature was requested by the developers of GCC, GDB, GNU binutils
and the GNU bfd library. See the extensive discussion about automake
bug#11034 for more details.
OK, to be honest, having '.info' files built in the builddir was
*already* possible, but only using ugly and undocumented hacks involving
definition of the CLEANFILES and/or DISTCLEANFILES. For example, the
binutils project did something like this in the relevant 'Makefile.am':
# Automake 1.9 will only build info files in the objdir if they are
# mentioned in DISTCLEANFILES. It doesn't have to be unconditional,
# though, so we use a bogus condition.
if GENINSRC_NEVER
DISTCLEANFILES = binutils.info
endif
See also the extensive discussion about automake bug#11034; in
particular, the following messages:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#65>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#80>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#86>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11034#101>
* lib/Automake/Options.pm (_is_valid_easy_option): Recognize the
new 'info-in-builddir' option.
* automake.in (handle_texinfo_helper): If that option is set,
initialize '$insrc' to '0', so that info files will be generated
in the builddir. Adjust comments to match.
* t/txinfo-builddir.sh: New test.
* t/list-of-tests.mk: Add it.
* NEWS: Update.
* doc/automake.texi: Document the new options.
2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
build: respect silent rules in generation of "amhello" example tarball
* Makefile.am ($(srcdir)/doc/amhello-1.0.tar.gz): Here.
2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
NEWS: fixlets and updates
post-release: minor version bump (1.13.1a)
release: stable minor release 1.13.1
2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: fixlets and updates
2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: minor version bump (1.13.1a)
* configure.ac, m4/amversion.m4: Bump version to 1.13.1a.
2013-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable minor release 1.13.1
* configure.ac (AC_INIT): Bump version number to 1.13.1.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: don't always look for a C++ compiler named 'RCC'
tests: fix bug in pkg-config-macros.sh, could cause spurious SKIPs
docs: autom4te cache can break CONFIGURE_DEPENDENCIES
coverage: test CONFIGURE_DEPENDENCIES
coverage: test CONFIG_STATUS_DEPENDENCIES
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't always look for a C++ compiler named 'RCC'
On MacOS X (10.8), since the file system is case-insensitive, RCC
can point to the "Resource Compiler" of the Qt4 Toolkit:
<http://doc.qt.digia.com/4.2/rcc.html>
That mismatch causes our configure script to erroneously think that
no working C++ compiler is present, and that is thus necessary to
skip all the test cases requiring such a compiler.
So only look for a compiler named 'RCC' if the file system is
case-sensible.
Issue spotted analyzing the testsuite logs reported in bug#13317.
* configure.ac: Adjust.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix bug in pkg-config-macros.sh, could cause spurious SKIPs
Issue spotted perusing the testsuite logs reported in bug#13317.
* t/pkg-config-macros.sh: Don't use (uninitialized) '$dir' where '$d'
should have been used instead. Set IFS to ':' before looping on the
$PATH expansion. Fix typo: 'alocal' instead of 'aclocal'. These
issues were causing the location in PATH of the 'pkg-config' program
not to be found even when the program was present.
* THANKS: Update.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: autom4te cache can break CONFIGURE_DEPENDENCIES
In fact, the new test 'remake-configure-dependencies.sh' only
works because it disables the autom4te cache :-( That is more
of an AUtotools design issue than an Automake bug, so better
just document it ...
* doc/automake.texi (Rebuilding): ... here.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: test CONFIGURE_DEPENDENCIES
* t/remake-configure-dependencies.sh: New test.
* t/list-of-tests.mk: Add it.
* doc/automake.texi: Reference it in comments.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: test CONFIG_STATUS_DEPENDENCIES
* t/remake-config-status-dependencies.sh: New test.
* t/list-of-tests.mk: Add it.
* doc/automake.texi: Reference it in comments.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix reference to related tests in some comments
tests: some enhancements to texinfo tests (from Automake-NG)
tests: fix reference to sister tests in two heading comments
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix reference to related tests in some comments
* t/acloca10.sh: Here.
* t/check2.sh: And here.
* t/remake-deleted-m4-file.sh: And here.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: some enhancements to texinfo tests (from Automake-NG)
* t/txinfo-many-output-formats.sh: Backport improvements, almost verbatim,
from Automake-NG commit 'v1.13-768-gb434acc' (plus minor tweaks for the
sake of non-GNU make implementation).
* t/txinfo-many-output-formats-vpath.sh: New test, backported almost
verbatim from that same Automake-NG commit (again, with minor tweaks for
the sake of non-GNU make implementations).
* t/lsit-of-tests.mk: Adjust.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix reference to sister tests in two heading comments
* t/color-tests.sh: Here.
* t/color-tests2.sh: And here.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: update copyright year for 2013 (in branch master)
* t/includes-no-more.sh: Only here (all other files already touched in maint)
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maint: update copyright year for 2013 (in branch maint)
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: update copyright year for 2013 (in branch maint)
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
docs: adjust comment w.r.t. recent tests renaming
tests: some more renames for texinfo tests
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: adjust comment w.r.t. recent tests renaming
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: some more renames for texinfo tests
* t/txinfo.sh: Rename ...
* t/txinfo-tex-dist.sh: ... like this.
* t/txinfo10.sh: Rename ...
* t/txinfo-dvi-recurs.sh: ... like this.
* t/txinfo20.sh: Rename ...
* t/txinfo-makeinfo-error-no-clobber.sh: ... like this.
* t/txinfo-setfilename-suffix-match.sh: Rename ...
* t/txinfo-setfilename-suffix-strip.sh: ... like this.
* t/txinfo-suffix-less-info.sh: Rename ...
* t/txinfo-without-info-suffix.sh: ... like this.
* t/vtexi.sh: Rename ...
* t/txinfo-vtexi.sh: ... like this.
* t/vtexi2.sh: Rename ...
* t/txinfo-vtexi2.sh: ... like this.
* t/vtexi3.sh: Rename ...
* t/txinfo-vtexi3.sh: ... like this, and adjust heading comments.
* t/vtexi4.sh: Rename ...
* t/txinfo-vtexi4.sh: ... like this, and adjust heading comments.
* t/list-of-tests.mk: Adjust.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: enhance and tweak some texinfo tests
tests: remove a redundant texinfo test
tests: don't list a removed tests in XFAIL_TESTS
tests: more explicative names for some tests
cleanup: drop a redundant %?FIRST% transform
maint: state when compatibility cruft should be removed or warned about
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: enhance and tweak some texinfo tests
* t/txinfo-subdir-pr343.sh: Move the tests checking that '.info.bak'
files in subdirs are not unduly distributed into ...
* t/txinfo-no-extra-dist.sh: ... in here. Enhance a little while
at it.
* t/txinfo-other-suffixes.sh: Also check that the '.texinfo' suffix
is accepted and works.
* t/txinfo-setfilename-suffix-match.sh: Remove useless call to
autoconf, enhance a little.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove a redundant texinfo test
* t/txinfo-add-missing.sh: This one, its checks being already covered
by the more extensive 't/add-missing.tap' test.
* t/txinfo-add-missing2.sh: Rename ...
* t/txinfo-add-missing-and-dist.sh: Like this.
* t/list-of-tests.mk: Adjust.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't list a removed tests in XFAIL_TESTS
* t/list-of-tests.mk (XFAIL_TESTS): No longer list 't/txinfo5.sh' here,
it has been removed together with the Cygnus support.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more explicative names for some tests
Do so for several Texinfo-related tests. Note that some of such tests
with suboptimal names are *not* renamed; that's because they are going
to be removed in the master branch anyway (since they check from some
soon-to-be-removed features), so renaming them would be wasted work,
and could even create useless merge conflicts.
* t/txinfo2.sh: Rename ...
* t/txinfo-no-extra-dist.sh: ... like this.
* t/txinfo3.sh: Rename ...
* t/txinfo-suffix-less-info.sh: ... like this.
* t/txinfo4.sh: Rename ...
* t/txinfo-unrecognized-info-suffix.sh: ... like this.
* t/txinfo6.sh: Rename ...
* t/txinfo-other-suffixes.sh: ... like this.
* t/txinfo7.sh: Rename ...
* t/txinfo-add-missing.sh: ... like this.
* t/txinfo8.sh: Rename ...
* t/txinfo-add-missing2.sh: ... like this.
* t/txinfo9.sh: Rename ...
* t/txinfo-no-repeated-targets.sh: ... like this.
* t/txinfo17.sh: Rename ...
* t/txinfo-setfilename-repeated.sh: ... like this.
* t/txinfo13.sh: Rename ...
* t/txinfo-subdir-pr343.sh: ... like this.
* t/txinfo16.sh: Rename ...
* t/txinfo-info-in-srcdir.sh: ... like this.
* t/txinfo21.sh: Rename ...
* t/txinfo-many-output-formats.sh: ... like this.
* t/txinfo22.sh: Rename ...
* t/txinfo-override-texinfo-tex.sh: ... like this.
* t/txinfo26.sh: Rename ...
* t/txinfo-absolute-srcdir-pr408.sh: ... like this.
* t/txinfo27.sh: Rename ...
* t/txinfo-no-installinfo.sh: ... like this.
* t/txinfo29.sh: Rename ...
* t/txinfo-override-infodeps.sh: ... like this.
* t/txinfo31.sh: Rename ...
* t/txinfo-setfilename-suffix-match.sh: ... like this.
* t/txinfo32.sh: Rename ...
* t/txinfo-bsd-make-recurs.sh: ... like this.
* t/txinfo33.sh: Rename ...
* t/txinfo-clean.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: drop a redundant %?FIRST% transform
* lib/am/texinfos.am: Here: this file is only included one time
per Makefile by Automake.
Cherry picked from Automake-NG commit 'v1.12.2-864-g5c580b0'.
2012-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: state when compatibility cruft should be removed or warned about
* automake.in: Here.
* lib/Automake/Options.pm: And here.
* m4/obsolete-err.m4: And here.
2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
fixup: copyright yars in two recent tests
obsolete: fixup: don't use AU_DEFUN where AC_DEFUN is required
2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: copyright yars in two recent tests
2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
obsolete: fixup: don't use AU_DEFUN where AC_DEFUN is required
* m4/obsolete-err.m4: Here, for the definition of 'AM_PROG_CC_STDC'
2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
obsolete: better error message if AM_PROG_MKDIR_P is used
In Automake 1.14, the long-deprecated macro AM_PROG_MKDIR_P will be
removed. Instead of simply dropping the macro definition, which would
cause unclear error messages in aclocal and autoconf:
configure.ac:4: warning: macro 'AM_PROG_MKDIR_P' not found in library
configure.ac:4: error: possibly undefined macro: AM_PROG_MKDIR_P
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
we re-add an AM_PROG_MKDIR_P definition that simply raises a *clear* error
message when the macro is used.
See also recent similar commits 'v1.13-5-g9c07d89' and 'v1.13-4-g8e921bf'
* t/am-prog-mkdir-p-no-more.sh: New test.
* t/list-of-tests.mk: Add it.
* m4/obsolete-err.m4: Add the new "error-raising" definition for
AM_PROG_MKDIR_P.
2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: document removal of AM_PROG_MKDIR_P macro
2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
NEWS: minor fixup
obsolete: better error message if AM_PROG_CC_STDC is used
obsolete: better error message if AM_CONFIG_HEADER is used
sync: update files from upstream with "make fetch"
tests: better names for temporary configure.ac files
2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: minor fixup
2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
obsolete: better error message if AM_PROG_CC_STDC is used
In Automake 1.13, the long-deprecated (since 2002) macro AM_PROG_CC_STDC
has been removed. Such a removal, albeit sensible and justified, was
probably done in a too-abrupt way, since it didn't turn the pre-existing
warning messages into fatal error messages, but simply dropped the macro
definition, so that remaining usages of it would cause unclear error
messages, e.g.:
configure.ac:4: warning: macro 'AM_PROG_CC_STDC' not found in library
from aclocal, and:
configure.ac:4: error: possibly undefined macro: AM_PROG_CC_STDC
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
from autoconf.
In an attempt to mitigate this issue, we re-add an AM_PROG_CC_STDC
definition that simply raises a *clear* error message when the macro
is used.
* t/am-prog-cc-stdc-no-more.sh: New test.
* t/list-of-tests.mk: Add it.
* m4/obsolete-err.m4: Add the new "error-raising" definition for
AM_PROG_CC_STDC; the error message is a variation of the one already
present in the older version of this macro, before it got removed in
commit 'v1.12-15-gd2ca168'.
* NEWS: Update.
2012-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
obsolete: better error message if AM_CONFIG_HEADER is used
In Automake 1.13, the long-deprecated macro AM_CONFIG_HEADER (deprecated
since 2002) has been removed in favour of AC_CONFIG_HEADERS. However,
the removal was done without a proper deprecation period, and that
caused packages upgrading to Automake 1.13 to fail with very unclear
error messages, e.g.:
configure.ac:4: warning: macro 'AM_CONFIG_HEADER' not found in library
from aclocal, and:
configure.ac:4: error: possibly undefined macro: AM_CONFIG_HEADER
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
from autoconf.
In an attempt to mitigate this issue, we re-add an AM_CONFIG_HEADER
definition that simply raises a *clear* error message when the macro
is used.
Report by Paolo Bonzini:
<http://lists.gnu.org/archive/html/automake/2012-12/msg00039.html>
* t/am-config-header-no-more.sh: New test.
* t/list-of-tests.mk: Add it.
* m4/obsolete-err.m4: New file, contain the new AM_CONFIG_HEADER
"error-raising" definition, as well as the definition of the
similarly obsolete macros 'AM_C_PROTOTYPES' and 'fp_C_PROTOTYPES',
moved in from ...
* m4/protos.m4: ... this file, which has thus been removed.
* Makefile.am (dist_automake_ac_DATA): Adjust.
* t/ansi2knr-no-more.sh: Likewise.
* NEWS: Update.
2012-12-29 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/config.sub: Update.
* lib/config.guess: Likewise.
2012-12-29 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: better names for temporary configure.ac files
When editing a pre-existent 'configure.ac' file in a test script, name
the temporary file 'configure.tmp' rather than 'configure.int'; the
latter was a relict of the times when we used 'configure.in' as the
default name for the Autoconf input files throughout the testsuite.
* t/cond43.sh: Adjust.
* t/depcomp8a.sh: Likewise.
* t/depcomp8b.sh: Likewise.
* t/gettext.sh: Likewise.
* t/mmode.sh: Likewise.
* t/pr401.sh: Likewise.
* t/pr401b.sh: Likewise.
* t/pr401c.sh: Likewise.
* t/python11.sh: Likewise.
* t/cond42.sh: Likewise. Also, while at it, rename ...
(edit_configure_in): ... this function ...
(edit_configure_ac): ... like this.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: better distinction between obsolete and obsolescent features
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: get rid of 'Automake::Configure_ac' module
Now that we unconditionally assume the Autoconf input is named
"configure.ac", it's easier and clearer to inline the checks on
the existence of such a file directly in the automake and
aclocal scripts.
This change is basically a backport of the 'v1.12-327-gee6d72a'
commit from Automake-NG.
* lib/Automake/Variable.pm (Automake::Configure_ac): Drop this import.
($configure_ac): Define to "configure.ac", unconditionally.
* automake.in: Likewise. Also, in main code, check the existence
of 'configure.ac' directly, instead of calling the now-removed
'require_configure_ac' function.
* aclocal.in: Likewise.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: remove last vestiges of 'configure.in' support from the testsuite
* syntax-checks.mk: Don't whitelist any file in the maintainer
check looking against use of 'configure.in' in the testsuite.
* t/autodist-configure-no-subdir.sh: Remove last references to
'configure.in'.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove a botched comment from a test case
* t/backcompat6.sh: Here.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: reflect removal of 'configure.in' support in comments and messages
* t/help.sh, syntax-checks.mk, aclocal.in, old/TODO: In these files.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Drop support for 'configure.in' as the Autoconf input file
The autoconf input should be named 'configure.ac' instead. The use
of 'configure.in' has been deprecated in Autoconf since at least
the 2.13 -> 2.50 transition, and future Autoconf versions (starting
with 2.70 probably) will start to warn about it at runtime. Automake
has been warning about it since the 1.13 release.
This change is basically a backport of commit 'v1.12-325-g927d4cb',
from Automake-NG.
* lib/Automake/Configure_ac.pm (find_configure_ac): Don't look for
'configure.in' if 'configure.ac' is not found.
(require_configure_ac): On failure, don't tell that "'configure.ac'
or 'configure.in' is required", but just that "'configure.ac' is
required".
* automake.in (@common_sometimes): Don't list 'configure.in'.
(scan_autoconf_files): Adjust heading comments.
* NEWS: Update.
* t/help.sh: Adjust.
* t/configure.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Drop support for $(ACLOCAL_M4_SOURCES), it's obsolete
The $(ACLOCAL_M4_SOURCES) variables has been obsolete by a long time,
and basically unused (since at least commit ab57cf28 of 2003-04-24), so
drop any mention of it.
* automake.in (scan_aclocal_m4): Flatly reject any ACLOCAL_M4_SOURCES
definition with a fatal error, rather than just warning about it.
if any deinifn
$(ACLOCAL_M4_SOURCES). Don't append it to @ac_deps. This makes such
variable always empty, so there's no need to return it. Adjust the
signature of this function accordingly, and ...
(handle_configure): ... update this function accordingly.
* NEWS: Update.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove stray uses of 'Exit', in favour of simple 'exit'
* t/warnopts.sh: Here. Suggested by the 'sc_tests_exit_not_Exit'
maintainer check.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'remove-djgpp-support'
* remove-djgpp-support:
general: assume dot-starting file names are supported
Drop support for DJGPP, MS-DOS, Windows 95/98/ME
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
general: assume dot-starting file names are supported
Now that we've dropped support for DJGPP, Windows 95/98/ME
and MS-DOS, that should always the case.
This change is basically a backport of Automake-NG commit
'v1.12-342-ge6af355'.
* lib/am/texibuild.am: Just assume we can have directories whose
name starts with a dot, i.e., that '${am__leading_dot}' expands
to '.'.
* automake.in (require_build_directory): Likewise.
* m4/depend.m4 (AM_SET_DEPDIR): Likewise. Now $(DEPDIR) will
be set unconditionally to '.deps'.
* m4/init.m4 (AM_INIT_AUTOMAKE): Don't AC_REQUIRE the m4 macro
'AM_SET_LEADING_DOT' anymore.
* m4/lead-dot.m4: Delete.
* Makefile.am (dist_automake_ac_DATA): Remove it.
* t/subobj11a.sh: Just assume $(DEPDIR) expands to '.deps'.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Drop support for DJGPP, MS-DOS, Windows 95/98/ME
Basically a backport and squash-in of three Automake-NG commits:
v1.12.1-447-g041fe15, v1.12-343-g4526363, v1.12-341-gc853c20,
plus proper simplifications of the ylwrap script.
See also:
<http://lists.gnu.org/archive/html/automake-ng/2012-05/msg00104.html>
* automake.in (BEGIN): Don't override $ENV{SHELL} for DJGPP.
(handle_libtool): Do not bother cleaning '_libs' directories, they
are only used by Libtool on MS-DOS (and we no longer support that
setup).
* syntax-checks.mk (automake_diff_no): Adjust, as now there are only
seven (not eight) different lines between 'automake.in' and 'automake'.
* bootstrap.sh: Don't special case the default value for BOOTSTRAP_SHELL
on DJGPP. While we are at, allow that variable to be overridden from
the environment. Also, adjust comments: we don't use "ln -s" not because
it's not properly supported by DJGPP, but because it might not be
properly supported by MinGW/MSYS.
* configure.ac (MODIFICATION_DELAY): Define to '2' unconditionally, as
we no longer have to cater to quirks of Windows 95/98/ME.
* lib/am/texibuild.am: Remove support for '*.iNN' files used on DJGPP.
* lib/am/texinfos.am: Likewise.
* lib/ylwrap: Remove support for DOS-specific filenames for bison
output.
* t/txinfo19.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
* NEWS: Update.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: remove support for SGI C/C++ compilers
These compilers are only meant to run on IRIX, and that system has seen
its last release in 2006, and is expected to lose support from SGI in
December 2013:
<http://www.sgi.com/services/support/irix_mips_support.html>
This change fixes automake bug#12967 and bug#12978.
* lib/depcomp (sgi): Remove this depmode.
* NEWS: Update.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: a test about warnings in category 'obsolete' was failing spuriously
* t/warnings-obsolete-default.sh : After our removal of $(INCLUDES)
support, this test has been spuriously failing because it was assuming
that a definition of the INCLUDES make variable only caused a warning
rather than a fatal error. Fix it to use a definition of the newly
obsolescent ACLOCAL_AMFLAGS make variable.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
ACLOCAL_AMFLAGS: fully deprecate, with warnings in the 'obsolete' category
Users are expected to use the AC_CONFIG_MACRO_DIR{,S} autoconf macros
instead. And the use of the '--install' aclocal option in ACLOCAL_AMFLAGS
has proved to be a bad idea anyway -- see automake bug#9037.
* NEWS: Update.
* t/aclocal-amflags.sh: Enhance and adjust.
* t/acloca14b.sh: Adjust.
* t/acloca22b.sh: Likewise.
* t/ax/distcheck-hook-m4.am: Likewise.
* t/dist-missing-m4.sh: Likewise.
* t/remake-renamed-m4-macro.sh: Likewise.
* t/remake-renamed-m4-macro-and-file.sh: Likewise.
* t/remake-renamed-m4-file.sh: Likewise.
* t/remake-moved-m4-file.sh: Likewise.
* t/remake-gnulib-remove-header.sh: Likewise.
* t/remake-gnulib-add-acsubst.sh: Likewise.
* t/remake-deleted-m4-file.sh: Likewise.
* t/remake-deleted-m4-file.sh: Likewise.
* t/libtool-macros.sh: Likewise.
* t/gettext-macros.sh: Likewise.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
compile: remove support for $(INCLUDES)
It has already been deprecated in the manual and by warnings in the
'obsolete' category for ages (at least since 2003), in favour of
AM_CPPFLAGS. Automake-NG has removed support for it already. And
the warnings in the obsolete category are on by default since the
1.12.4 release.
So, by removing it in Automake 1.14, we will simplify the transition
path for people that want to switch to Automake-NG.
See also Automake-NG commit v1.12-267-g6b74968 of 2012-05-21,
"[ng] compile: don't support $(INCLUDES) anymore, it's obsolete".
* NEWS, doc/automake.texi: Update.
* automake.in (generate_makefile): Reject INCLUDES unconditionally.
In all languages: don't add $(INCLUDES) to the compiler command line.
* t/includes-deprecation.sh: New test.
* t/list-of-tests.mk: Add it.
* t/werror2.sh : Adjust to avoid spurious failures.
* t/pluseq5.sh: Likewise.
* t/warnopts.sh: Likewise.
Suggested-by: Paolo Bonzini <bonzini@gnu.org>
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'aclocal-lookup-order'
* aclocal-lookup-order:
aclocal: allow third-party macros take precedence over automake ones
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: allow third-party macros take precedence over automake ones
It makes sense to allow "local system-wide" m4 macros take precedence
over built-in macros (defined in the aclocal versioned m4 directory
"${prefix}/share/aclocal-${APIVERSION}"), the same way we allow
"environment-level" m4 macros (through the ACLOCAL_PATH environment
variable ) take precedence over system-wide third-party macros.
An example: after this change, a definition of AM_PROG_VALAC placed
in file (say) '/usr/local/share/aclocal/my-vala.m4' should take
precedence over the same-named automake-provided macro defined in
file '/usr/local/share/aclocal-1.14/vala.m4'.
Even more importantly, after this change, m4 macros accessible
through $ACLOCAL_PATH entries will take precedence over m4 macros
defined in the aclocal versioned m4 directory; it was quite counter
intuitive that it was not the case before.
* aclocal.in (scan_m4_files): Search files in @system_includes before
files in @automake_includes.
* t/aclocal-acdir.sh: Adjust.
* t/aclocal-path-precedence.sh: Likewise.
* t/dirlist.sh: Likewise.
* doc/automake.texi: Adjust.
* NEWS: Update.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'am-prog-mkdir-p-remove'
Finally backporting the AM_PROG_MKDIR_P removal that has already taken
place in Automake-NG. We can safely do this since the latest Gettext
release (1.18.2) has removed all uses of AM_PROG_MKDIR_P, replacing
them with uses of AC_PROG_MKDIR_P instead.
References:
<http://lists.gnu.org/archive/html/bug-gettext/2012-12/msg00064.html>
<http://lists.gnu.org/archive/html/automake/2012-12/msg00024.html>
Commit v0.18.1.1-147-g2cccb4c in the Gettext git repository.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
Actually a dummy merge, since we retain our own "1.13a" version
number.
* maint:
post-release: minor version bump
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: major version bump
This is for the master branch.
* configure.ac, m4/amversion.m4: Bump version to 1.13a.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: minor version bump
This is for the maint branch.
* configure.ac, m4/amversion.m4: Bump version to 1.13.0a.
2012-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable major release 1.13
* configure.ac (AC_INIT): Bump version number to 1.13.
* m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (regenerated
by "make bootstrap").
2012-12-24 Stefano Lattarini <stefano.lattarini@gmail.com>
news: fix botched URL
2012-12-21 Akim Demaille <akim@lrde.epita.fr>
ylwrap: various fixes
Rename properly header guards in generated header files, instead of
leaving Y_TAB_H.
Convert header guards in implementation files. Because ylwrap failed
to rename properly #include in the implementation files, current
versions of Bison (e.g., 2.7) duplicate the generated header file in
the implementation file. The header guard then protects the
implementation file from duplicate definitions from the header file.
Generate header guards with a single '_' for series of non alphabetic
characters, instead of several. This is what Bison does.
Makes the test t/yacc-d-basic.sh pass again.
* lib/ylwrap (guard): Properly honor $1 to rename properly the
header guards.
Keep a single _ instead of several.
(rename_sed): Rename as...
(sed_fix_filenames): this.
Suggested by Stefano Lattarini.
(sed_fix_header_guards): New.
Use it.
2012-12-21 Akim Demaille <akim@lrde.epita.fr>
tests: strengthen the ylwrap tests
* t/yacc-d-basic.sh: Comment changes.
(generated): New.
Use it to factor various tests.
Check that Y_TAB_H is not issued.
2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: we plan to ditch MS-DOS/DJGPP support in future Automake versions
2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: typofixes in makefile comments
* maint.mk (git-upload-release): Here.
2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: remove extra verbosity from a maintainer rule
* maint.mk (git-upload-release): Here, by adding a forgotten
'@' recipe modifier.
2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: fix grammaro
2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: version bump after beta release
* configure.ac (AC_INIT): Bump version number to 1.12c, as per
HACKING suggestion.
* m4/amversion.m4: Likewise (autoupdated by "make bootstrap").
2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
release: beta release 1.12b (will become 1.13)
* configure.ac (AC_INIT): Bump version number to 1.12b.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: comments fixlets in our Makefile
* Makefile.am: Prefer '#' comments over '##' ones where it makes sense.
Other minor style tweaks to comments about "updated later" variables.
2012-12-19 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: consistency changes in some make recipes
* Makefile.am (install-exec-hook, uninstall-hook): Don't use extra
quoting in variable assignments. More consistent use of whitespace.
2012-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failure on NetBSD
* t/tags-pr12372.sh (configure.ac): AC_SUBST the LINK variable to a
dummy invocation, to avoid possible errors from make or the linker;
errors we do not care about in the least in this test.
(Makefile.am, sub/Makefile.am): Remove LINK definitions; simply
inherit that in configure.ac.
2012-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: re-enable some checks disabled by mistake ...
* t/subpkg-macrodir.sh: ... in this test. And fix some typos that would
have caused the newly re-enabled check to spuriously fail. Issue revealed
by the lack of '.PHONY' support in Solaris CCS make (yes, so we've been
actually *helped* by that make implementation once, at last. Scary ;-)
2012-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a "grep -E" portability issue
As stated in the Autoconf manual, the empty alternative is not portable
with "grep -E". For example, while with GNU grep we have:
$ echo b | grep -E '(|a)b'; echo status = $?
b
status = 0
with Solaris 10 /usr/xpg4/bin/grep we have:
$ echo b | grep -E '(|a)b'; echo status = $?
1
status = 1
* t/silent-texi.sh: That was causing a spurious failure here. Fix it
by simply using '?' instead (as suggested by the Autoconf manual).
2012-12-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failure due to a Clang bug
This version of clang:
clang version 3.2 (trunk 163574)
Target: powerpc64-unknown-linux-gnu
Thread model: posix
caused the test 't/ltcond2.sh' to spuriously fail due to what
appeared like a clang bug. Here is a part of the diagnostic (trimmed
down for better clarity):
clang: .../cfarm/llvm/lib/MC/MCAsmStreamer.cpp:338: \
virtual void {anonymous}::MCAsmStreamer::EmitLabel(llvm::MCSymbol*): \
Assertion `Symbol->isUndefined() && "Cannot define a symbol twice!"' \
failed.
...
7 clang 0x0000000012a459c4 llvm::AsmPrinter::EmitGlobalVariable\
(llvm::GlobalVariable const*) + 18446744073680468044
8 clang 0x0000000012a490a8 llvm::AsmPrinter::doFinalization\
(llvm::Module&) + 18446744073680481840
...
Stack dump:
0. Program arguments: .../opt/cfarm/clang-2012.09.10/bin/clang \
-cc1 -triple powerpc64-unknown-linux-gnu -S -disable-free \
...
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'hello-generic.c'.
clang: error: unable to execute command: Aborted
clang: error: clang frontend command failed due to signal (use -v to \
see invocation)
clang version 3.2 (trunk 163574)
Target: powerpc64-unknown-linux-gnu
Thread model: posix
So tweak the affected test case to avoid triggering this bug. This is
the easiest way for us to keep the testsuite result clean and meaningful
on our main Clang test bed.
* t/ltcond2.sh: Prefer using "extern const char *" variables rather
than functions returning a statically allocated "const char *" variable.
2012-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: start preparing for the 1.13 release
* NEWS: Here. In particular, list (some of) the planned future
backward-incompatibilities that will take place in Automake 1.14.
2012-12-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: typofix in the shebang line of 't/py-compile-destdir.sh'
HACKING: release process: fixlets about the announcement
maint: post-release minor version bump
release: stable release 1.12.5
tests: avoid errors due to underquoted third-party macros
maintcheck: also consider contrib tests for syntax checks
cosmetics: whitespace fixlets in syntax-checks.mk
maint: prefer $(MKDIR_P) over $(mkinstalldirs) in maintainer rules
2012-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: typofix in the shebang line of 't/py-compile-destdir.sh'
2012-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: release process: fixlets about the announcement
* HACKING: The announcement should be generate *before* bumping
the version number to the next alpha number. Also, only an
abridged version of the announcement should be copied on the
Savannah news feed (a link to the complete announcement should
be linked from there, though).
2012-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: post-release minor version bump
* configure.ac (AC_INIT): Bump version number to 1.12.6a.
* m4/amversion.m4: Likewise (automatically regenerated by
"make bootstrap").
2012-12-15 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable release 1.12.5
* configure.ac (AC_INIT): Bump version number to 1.12.5.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid errors due to underquoted third-party macros
* t/pkg-config-macros.sh: Call aclocal with the warnings in the
"syntax" category disabled.
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: also consider contrib tests for syntax checks
* syntax-checks.mk (xtests): By listing them here.
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: whitespace fixlets in syntax-checks.mk
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: prefer $(MKDIR_P) over $(mkinstalldirs) in maintainer rules
* maint.mk (check-coverage-run, recheck-coverage-run): Here. This
is especially useful since $(mkinstalldirs) is no longer available
in Automake-NG.
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
sync: update files from upstream with "make fetch"
gitignore: align with recent changes
fixup: add dummy rule for ChangeLog generation in Makefile.am
maint: no longer use AM_MAKEFLAGS in maintainer rules
maint: use more GNU make features in maintainer rules
maint: move maintainer make rules in maint.mk
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/gnupload: Update. See:
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00050.html>
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
gitignore: align with recent changes
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: add dummy rule for ChangeLog generation in Makefile.am
So that automake won't complain about the missing ChangeLog.
The real rule for ChangeLog generation is now in maint.mk (as
it is maintainer-specific).
* Makefile.am (ChangeLog): Dummy.
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: no longer use AM_MAKEFLAGS in maintainer rules
They are not required with GNU make.
* maint.mk: Adjust accordingly.
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: use more GNU make features in maintainer rules
* maint.mk: Here, throughout the file. Other minor cleanups
and refactorings while at it.
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: move maintainer make rules in maint.mk
This is done for two reasons:
1. It will enable us to take advantage of more GNU make
features in our maintainer-specific recipes, if we
want to (and we probably will).
2. The Makefile.am won't have to be modified each time a
maintainer rule needs to be changed or tweaked; this
will prevent useless remaking of (in particular) the
't/testsuite-part.am' file.
* maint.mk: New, several recipes, rules and variables for
maintainer-specific tasks, extracted (with some tweaks)
from ...
* Makefile.am: ... this file.
(EXTRA_DIST): Add 'maint.mk'.
* GNUmakefile: Include 'maint.mk' after 'Makefile'.
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: source 'test-init.sh', not './defs', in a test
* t/pkg-config-macros.sh: Here.
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
docs: fixlet about xz compression levels and command line options
maint: more files excluded in 'update-copyright'
maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format
HACKING: update instructions to update the manuals at www.gnu.org
maint: add an explicative comment in Makefile
maint: factor out the name of the dir where web manuals are generated
maint: rename rules to build/upload web manuals
cosmetic: minor variable and rules reordering in Makefile.am
docs: build the web manuals for CVS in the builddir, not in the srcdir
release: automate uploading of web manuals in CVS
docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
tests: avoid two spurious failures on FreeBSD
tests: improve 'pkg-config' requirement
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'improve-release-process' into maint
* improve-release-process:
HACKING: update instructions to update the manuals at www.gnu.org
maint: add an explicative comment in Makefile
maint: factor out the name of the dir where web manuals are generated
maint: rename rules to build/upload web manuals
cosmetic: minor variable and rules reordering in Makefile.am
docs: build the web manuals for CVS in the builddir, not in the srcdir
release: automate uploading of web manuals in CVS
docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
tests: avoid two spurious failures on FreeBSD
2012-12-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'pkgconfing-tests-requirement' into maint
* pkgconfing-tests-requirement:
tests: improve 'pkg-config' requirement
2012-12-14 Patrick Welche <prlw1@cam.ac.uk> (tiny change)
docs: fixlet about xz compression levels and command line options
* doc/automake.texi (The types of distributions): To display a
progress bar, xz takes "-v" for verbose.
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: more files excluded in 'update-copyright'
This will avoid the following spurious warnings when
"make update-copyright" is run:
.autom4te.cfg: warning: copyright statement not found
.git-log-fix: warning: copyright statement not found
.gitattributes: warning: copyright statement not found
.gitignore: warning: copyright statement not found
AUTHORS: warning: copyright statement not found
THANKS: warning: copyright statement not found
contrib/README: warning: copyright statement not found
contrib/multilib/README: warning: copyright statement not found
doc/amhello/README: warning: copyright statement not found
lib/install-sh: warning: copyright statement not found
lib/mkinstalldirs: warning: copyright statement not found
m4/acdir/README: warning: copyright statement not found
t/README: warning: copyright statement not found
* Makefile.am (files_without_copyright): New.
(update-copyright): Use it when computing '$exclude_list'.
Also, skip any README file.
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format
This is a fixup for commit v1.12.5-27-g71ce1b4 of 2012-12-09, "fetch:
improve, and reduce code duplication".
* Makefile.am (update-copyright): Adjust.
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
HACKING: update instructions to update the manuals at www.gnu.org
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: add an explicative comment in Makefile
* Makefile.am (web-manual-update): Here, about a slightly tricky
feature of rsync(1) used in the recipe.
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: factor out the name of the dir where web manuals are generated
Just a minor refactoring to reduce duplication; no semantic change is
intended.
* Makefile.am (web_manual_dir): New.
(web-manual, web-manual-update, clean-web-manual): Use it.
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: rename rules to build/upload web manuals
The new names are the same used by the similar-purpose rules provided by
the 'top/maint.mk' makefile in gnulib (as of commit v0.0-7741-g4a8c422).
No need to have gratuitous incompatibilities.
* Makefile.am (web-manuals): Rename ...
(web-manual): ... like this.
(upload-web-manuals): Rename ...
(web-manual-update): ... like this.
(clean-web-manuals): Rename ...
(clean-web-manual): ... like this.
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetic: minor variable and rules reordering in Makefile.am
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: build the web manuals for CVS in the builddir, not in the srcdir
We can do so using the '-I' option of the gendocs.sh script.
Inspired by the 'web-manual' rule in the 'top/maint.mk' file provided
by gnulib (as of commit v0.0-7741-g4a8c422) as customized by Bison in
its 'cfg.mk' file (as of commit v2.6.5-1007-gf5fceda).
* Makefile.am (web-manuals): Modify and simplify to take advantage
of gendocs.sh's '-I' option.
(upload-we-manuals): Accordingly adjust sanity checks and the rsync
invocation in the recipe.
(clean_texinfo_clutter_cmd): Delete this variable, it's no longer
required.
(clean-texinfo-clutter): Delete this phony target, it's no longer
required.
(clean-local): Don't depend on it.
* configure.ac: Invoke AC_PROG_LN_S, since we want to use $(LN_S)
in the new 'web-manuals' recipe.
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
release: automate uploading of web manuals in CVS
This is partly inspired to the 'gnu-web-doc-update' script from
gnulib. Unfortunately, we can't use that script directly, because
as of now it assumes a build system integrated with gnulib.
* Makefile.am (upload-web-manuals): New .PHONY rule.
(RSYNC, CVS, CVSU, CVS_USER, WEBCVS_ROOT): New variables, used by
the new rule.
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
* doc/automake.texi (Program variables): Here. Reported by NightStrike:
<http://lists.gnu.org/archive/html/automake/2012-12/msg00012.html>
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid two spurious failures on FreeBSD
Due to the FreeBSD make bug that causes of the well-known automake
bug#7884, two of our bison-requiring tests were failing on FreeBSD.
To avoid this, simply skip the part of these tests affected by that
bug.
* t/yacc-bison-skeleton.sh: Here, using the 'yl_distcheck' function.
* t/yacc-bison-skeleton-cxx.sh: Likewise.
* t/yacc-nodist.sh: While at it, use the 'yl_distcheck' here
as well, instead of running "$MAKE distcheck" only when $MAKE
is GNU make.
2012-12-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: improve 'pkg-config' requirement
This improves (and unifies among different tests) the detection of
both the 'pkg-config' program and m4 macros provided by it; they are
needed in particular by tests on Vala support.
Before this, some Vala-related tests were failing spuriously when the
pkg-config program was available but the macros from pkg.m4 were not
made explicitly available in ACLOCAL_PATH. These tests were:
vala-mix vala-mix2 vala-parallel vala-vapi vala-vpath
See also similar commit 'v1.11-581-gb7d67d5' of 2011-12-22,
"tests: better handling of gettext and libtool requirements".
* t/ax/am-test-lib.sh (process_requirements): If a requirement
matches the 'pkg-config*' wildcard, try to make available to it
the pkg-config m4 macros, and skip it if it's not possible.
This is done by sourcing the 'get.sh' fragment generated by ...
* t/pkg-config-macros.sh: ... this new test, which looks in
advance for the 'pkg-config' program and the m4 macros that
comes with it.
* t/list-of-tests.mk: Add the new test.
* gen-testsuite-part (%deps_extractor): Tests requiring pkg-config
will need the m4 macros coming with it; so these tests should be
run after the 'pkg-config-macros.sh' test. Automatically generate
proper declarations for such dependencies.
* t/vala-header.sh: No need to explicitly check that the macro
PKG_CHECK_MODULES has been expanded by autoconf.
* t/vala-libs.sh: Likewise.
* t/vala-non-recursive-setup.sh: Likewise.
* t/vala-per-target-flags.sh: Likewise.
* t/vala-recursive-setup.sh: Likewise.
2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
maintcheck: prefer '$(am__cd)' over plain 'cd'
fetch: improve, and reduce code duplication
docs: add rule to generate manuals for www.gnu.org
docs: copy the 'gendocs.sh' script from Texinfo CVS repository
sync: update files from upstream with "make fetch"
release: generate a stub for the release announcement
release: distinguish major and minor releases
tests: avoid two spurious failures on FreeBSD
2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'improve-release-process' into maint
* improve-release-process:
maintcheck: prefer '$(am__cd)' over plain 'cd'
fetch: improve, and reduce code duplication
docs: add rule to generate manuals for www.gnu.org
docs: copy the 'gendocs.sh' script from Texinfo CVS repository
sync: update files from upstream with "make fetch"
release: generate a stub for the release announcement
release: distinguish major and minor releases
2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc
* doc/automake.texi (Program variables): Here. Reported by NightStrike:
<http://lists.gnu.org/archive/html/automake/2012-12/msg00012.html>
2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: prefer '$(am__cd)' over plain 'cd'
In a couple of rules in out own build system, as suggested by the
maintainer check 'sc_cd_relative_dir'.
* Makefile.am (web-manuals, clean_texinfo_clutter_cmd): Adjust.
2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
fetch: improve, and reduce code duplication
* Makefile.am (WGET_SV_CVS, WGET_SV_GIT_CF, WGET_SV_GIT_AC,
WGET_SV_GIT_GL): Delete.
(SV_CVS, SV_GIT_CF, SV_GIT_AC, SV_GIT_GL): New.
(fetch): Simplify and enhance.
(update-copyright): Adjust.
2012-12-09 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: add rule to generate manuals for www.gnu.org
Less clerical work to do by hand.
* Makefile.am (web-manuals): New rule.
(clean_texinfo_clutter): New macro.
* clean-web-manuals, clean-texinfo-clutter: New cleaning
rules.
(clean-local): Depend on them.
* .gitignore: Update.
* HACKING: Adjust instructions for generation of manuals.
2012-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: copy the 'gendocs.sh' script from Texinfo CVS repository
As well as the 'gendocs_template' file. And enhance the "make fetch"
target to keep them synced. It's better than having to fetch these
files by hand each time a release is to be made.
* Makefile.am (FETCHFILES): List 'gendocs.sh' and 'gendocs_template'.
(fetch): Fetch them, into 'lib/'.
(EXRA_DIST): Distribute them.
* HACKING: Adjust instructions for generation of manuals.
2012-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/config.sub: Update.
2012-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
release: generate a stub for the release announcement
It's much better than having to write it my hand each time; after all,
most of it is either boilerplate or a cope of NEWS entries.
* Makefile.am (determine_release_type): Also set the shell variable
'$announcement_type' appropriately.
(print-release-type): Print the value of this new variable as well.
(announcement): New phony target, generate a files with the same name.
The recipe uses the shell variable '$announcement_type'.
(CLEANFILES): Clean it.
(PACKAGE_MAILINGLIST): New make macro, used when generating the
'announcement' file.
* HACKING: Explain how to take advantage of the new convenience
target.
* .gitignore: Ignore the 'announcement' file.
2012-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
release: distinguish major and minor releases
This is mostly a preparatory change, in view of future
improvements in our release process.
* Makefile.am (determine_release_type): Also distinguish
between major and minor releases, with the help of ...
(stable_major_version_rx, stable_minor_version_rx): ... these
new macros.
(stable_version_rx): Remove, it's obsolete now.
(version_rx): Rename ...
(base_version_rx): ... like this, and adjust.
(print-release-type): New target; helps in debugging the code
that determines the release type.
2012-11-30 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid two spurious failures on FreeBSD
Due to the FreeBSD make bug that causes of the well-known automake
bug#7884, two of our bison-requiring tests were failing on FreeBSD.
To avoid this, simply skip the part of these tests affected by that
bug.
* t/yacc-bison-skeleton.sh: Here, using the 'yl_distcheck' function.
* t/yacc-bison-skeleton-cxx.sh: Likewise.
* t/yacc-nodist.sh: While at it, use the 'yl_distcheck' here
as well, instead of running "$MAKE distcheck" only when $MAKE
is GNU make.
2012-11-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'depcomp-work'
* depcomp-work:
depcomp: remove 'icc' depmode, add 'tcc' one
news: update w.r.t. recent depcomp changes
tests: fix spurious failures with tcc
depcomp: improve comments about tcc support
depcomp: remove last relics of libtool 1.4 support
depcomp: remove an unused variable
depcomp: rewrite a sed invocation for less quoting
depcomp: whitespace fixes
depcomp: shell code style changes
depcomp: make some code more self-documenting
depcomp: less duplication between AIX and Tru64 modes
depcomp: avoid an extra fork when possible
depcomp: reduce code duplication
depcomp: don't rely on character ranges working as in C locale
depcomp: cosmetic fixlets to a comment
depcomp: safer quoting in variable expansion
depcomp: correctly propagate exit status in exit trap
depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory
depcomp: remove useless quoting in variable definitions
depcomp: be more idiomatic in checking for zero exit statuses
2012-11-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13
tests: give few vala tests more significant names
vala tests: don't use the 'posix' profile, it's no longer supported
news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5
news: document the fix for automake bug#10227
tests: fix a spurious testsuite failure on Solaris
python: make installed modules find by default on Debian and Ubuntu
2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
news: we'll remove AM_PROG_MKDIR in 1.14, not 1.13
See also commit v1.12.4-158-gdf23daf.
* NEWS (Future backward-incompatibilities): Adjust accordingly.
2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: give few vala tests more significant names
* t/vala.sh: Rename ...
* t/vala-grepping.sh: ... like this.
* t/vala2.sh: Rename ...
* t/vala-recursive-setup.sh: ... like this.
* t/vala3.sh: Rename ...
* t/vala-non-recursive-setup.sh: ... like this.
* t/vala4.sh: Rename ...
* t/vala-configure.sh: ... like this.
* t/vala5.sh: Rename ...
* t/vala-per-target-flags.sh: ... like this, and slightly
improve heading comments.
* t/list-of-tests.mk: Adjust.
2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: don't use the 'posix' profile, it's no longer supported
Fixes automake bug#12934 a.k.a. bug#12522.
Some of automake's Vala tests used to rely on "valac --profile posix"
(which makes it not use glib). However, the posix profile was removed
in August 2012, and is no longer present in the GNOME 3.6.2 version
of valac (see commit ca020bf0 in the vala Git repository).
* t/vala-libs.sh: Adjust to avoid using the posix profile.
* t/vala-mix.sh: Likewise.
* t/vala-mix2.sh: Likewise.
* t/vala-parallel.sh: Likewise.
* t/vala-vapi.sh: Likewise.
* t/vala-vpath.sh: Likewise.
* NEWS: Update and adjust.
2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
news: fixup: bug#8847 is fixed in 1.12.6, not in 1.12.5
* NEWS (Bugs fixed in 1.12.5): So move it from here ...
(Bugs fixed in 1.12.6): ... to here.
2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
news: document the fix for automake bug#10227
This is a follow-up commit for v1.12.5-14-g1f113f6.
* NEWS: Update.
2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'python-fix-pr10227' into maint
* python-fix-pr10227:
python: make installed modules find by default on Debian and Ubuntu
2012-11-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious testsuite failure on Solaris
Reported in automake bug#11524.
* t/amhello-binpkg.sh: When non-GNU tar is in use, relax grepping of
"tar cvf ..." output a little more.
2012-11-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: give few aclocal tests more significant names
* t/dirlist-abspath.sh: Rename ...
* t/aclocal-dirlist-abspath.sh: ... like this.
* t/dirlist.sh: Rename ...
* t/aclocal-dirlist.sh: ... like this.
* t/dirlist2.sh: Rename ...
* t/aclocal-dirlist-globbing.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove a redundant workaround for a testsuite weakness
* t/warnings-unknown.sh: Here, since we have improved our wrapper
scripts for aclocal and automake enough to make that workaround
unneeded.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: remove 'icc' depmode, add 'tcc' one
According to the comments in the now-removed test 'depcomp5.test' (removed
by commit 'v1.11-1829-g5066c1b' of 2012-02-08, "tests: improve and rework
tests on dependency tracking") "icc 8.0 and greater understand gcc options,
so depmode is set to gcc". According to Wikipedia, the 8.0 version of the
Intel C compiler has been released in December 2003, that is, almost nine
yeas ago. So we can remove explicit support for icc 7.x from the depcomp
script.
Since our support for tcc has so far been relied on the icc depmode, we
must write a new explicit 'tcc' depmode. That is easy to do, since we can
rely on the simpler and better-specified format of tcc-specified makefiles;
for more info, see:
<http://lists.gnu.org/archive/html/automake/2012-10/msg00043.html>
* lib/depcomp (icc): Remove.
(tcc): New.
* NEWS: Update.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
news: update w.r.t. recent depcomp changes
* NEWS: Here.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures with tcc
* t/depcomp8a.sh, t/depcomp8b.sh: Here, by avoiding initialization of
global 'extern' variables, preferring functions definitions instead.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: improve comments about tcc support
* lib/depcomp (icc): Here. See also tcc commit 0394caf7 "Emit spaces
for -MD" and automake commit v1.11-768-gb96263 "depcomp: support tcc
(Tiny C Compiler)".
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: remove last relics of libtool 1.4 support
* lib/depcomp (tru64): Here.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: remove an unused variable
* lib/depcomp ($alnum): This.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: rewrite a sed invocation for less quoting
* lib/depcomp (dashmstdout): Here.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: whitespace fixes
* lib/depcomp: We indent by two spaces, and without using tabs.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: shell code style changes
* lib/depcomp: Here, in comments and line continuations.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: make some code more self-documenting
* lib/depcomp (make_dummy_makefile): With the help of this function.
Use it throughout.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: less duplication between AIX and Tru64 modes
* lib/depcomp (tru64, aix): In these entries of the big 'case'
switch, with the help of ...
(aix_post_process_depfile): ... this new function.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: avoid an extra fork when possible
* lib/depcomp (set_dir_from): Here.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: reduce code duplication
* lib/depcomp: Here, when we have to get the directory and basename
components of objects or source files; do so with the help of ...
(set_dir_from, set_base_from): ... these new shell functions.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: don't rely on character ranges working as in C locale
* lib/depcomp (pgcc): Here.
Related reorganization, with the unconditional definition of ...
($upper, $lower, $digits, $alnum, $alpha): ... these shell variables.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: cosmetic fixlets to a comment
* lib/depcomp (pgcc): Here, as that's unportable according to the
autoconf manual. In fact, there's no need to re-trap the signals
just before exiting, since at that point a signal would cause at
most a useless but harmless attempt to remove the
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: safer quoting in variable expansion
* lib/depcomp (pgcc): Here. Probably not needed, but since the
rest of the script seems to employ proper quoting, better to be
consistent.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: correctly propagate exit status in exit trap
* lib/depcomp (pgcc): Here.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: use "rmdir", not "rm -rf", to remove the empty lock directory
* lib/depcomp (pgcc): Here.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: remove useless quoting in variable definitions
* lib/depcomp (pgcc): Here.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: be more idiomatic in checking for zero exit statuses
* lib/depcomp: Prefer "if test $stat -ne 0; then ..." over the longer
"if test $stat -eq 0; then :; else ...".
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: give some tests more significant names
* t/req.sh: Rename ...
* t/aclocal-req.sh: ... like this.
* t/reqd.sh: Rename ...
* t/add-missing-multiple.sh: ... like this.
* t/block.sh: Rename ...
* t/comment-block.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix a spurious failure with older flex versions
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
python: make installed modules find by default on Debian and Ubuntu
This change fixes automake bug#10227.
The code used to get the python package directory was wrong for Python 3,
at least on Debian and Ubuntu distributions. In the case the installation
was using the default prefix "/usr/local", python modules were incorrectly
installed in the directory
/usr/local/lib/python3/dist-packages
(which is *not* searched by default), rather than in a directory like
/usr/local/lib/python3.x/dist-packages
which is searched by default.
* m4/python.m4 (AM_PATH_PYTHON): Try to use the 'sysconfig' module if
possible, for better interactions with python 3.x.
Helped-by: Reuben Thomas <rrt@sc3d.org>
Helped-by: Roumen Petrov <bugtrack@roumenpetrov.info>
2012-11-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failure with older flex versions
See automake bug#11524 and bug#12836.
* t/lex-header.sh: Here, we use flex option '--header-file',
but that option is not supported by some older flex versions.
Simply skip this test if such an old flex version is detected.
2012-11-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a failure due to m4 builtin 'sinclude' in package name
Even with Autoconf 2.69, AC_INIT is not very robust when to package
names that contain some selected m4 builtins; for example:
$ echo 'AC_INIT([sinclude], [1.0])' | autoconf -o/dev/null -
stdin:1: warning: file `' included several times
$ echo 'AC_INIT([dnl], [1.0])' | autoconf -o/dev/null -
/usr/bin/m4:stdin:1: excess arguments to builtin `m4_define' ignored
autom4te: /usr/bin/m4 failed with exit status: 1
Reference:
<http://lists.gnu.org/archive/html/bug-autoconf/2012-11/msg00005.html>
* t/aclocal-m4-sinclude.sh (configure.ac): Use 'm4sinclude' as package
name in the AC_INIT invocation, to avoid tickling the just-described
bug.
2012-11-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix a spurious failure when $PYTHON is in the environment
python tests: support PEP-3147 installation layout
python: uninstall cater to PEP-3147
tests: improve a comment
tests: honour $PYTHON override
tests: typofix in message
news: document fix for bug#8847 (PEP-3147, __pycache__)
python: improve support for modern python (CPython 3.2 and PyPy)
2012-11-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'python-pep-3147' into maint
* python-pep-3147:
tests: fix a spurious failure when $PYTHON is in the environment
python tests: support PEP-3147 installation layout
python: uninstall cater to PEP-3147
tests: improve a comment
tests: honour $PYTHON override
tests: typofix in message
news: document fix for bug#8847 (PEP-3147, __pycache__)
python: improve support for modern python (CPython 3.2 and PyPy)
2012-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failure when $PYTHON is in the environment
* t/python11.sh: This test doesn't interact well with user-overrides of
$PYTHON; and, given its particular nature, neither should it be expected
to honour that override. Just unset that $PYTHON variable and live
happy.
2012-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
python tests: support PEP-3147 installation layout
This fixes several spurious testsuite failures with python >= 3.2,
introduced by recent commit v1.12.4-43-ge0e99ed, "python: improve
support for modern python (CPython 3.2 and PyPy)".
* t/ax/am-test-lib.sh (python_has_pep3147, pyc_location, py_installed):
New functions.
($am_pep3147_tag): New variable.
* t/py-compile-basic2.sh: Deleted, too difficult to adapt for the
gain it would offer; move the still relevant parts ...
* t/py-compile-basic.sh: ... here. Adapt and adjust the rest of
the test as well.
* t/nobase-python.sh: Adapt and adjust.
* t/py-compile-basedir.sh: Likewise.
* t/py-compile-destdir.sh: Likewise.
* t/py-compile-option-terminate.sh: Likewise.
* t/python-pr10995.sh: Likewise.
* t/python-virtualenv.sh: Likewise.
* t/python10.sh: Likewise.
* t/python12.sh: Likewise.
* t/python3.sh: Likewise.
* t/list-of-tests.mk: Adjust list of tests.
2012-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
python: uninstall cater to PEP-3147
After recent commit commit v1.12.4-43-ge0e99ed, "python: improve
support for modern python (CPython 3.2 and PyPy)", the python install
rules have been made smart enough to install "*.pyc" byte-compiled
files according to PEP-3147 with modern (post-3.2) pythons. However,
the uninstall rules hadn't been updated accordingly, causing leftover
files to remain around after "make uninstall", as well as failures in
"make distcheck".
* lib/am/python.am (am__pep3147_tweak): New internal macro, used
in ...
(uninstall-%DIR%PYTHON): ... the recipe of this target, which has
been adjusted to cater to PEP-3147
2012-11-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more explicative names for few aclocal tests
* t/aclocal3.sh: Rename ...
* t/aclocal-missing-macros.sh: ... like this.
* t/aclocal4.sh: Rename ...
* t/aclocal-deps.sh: ... like this.
* t/aclocal5.sh: Rename ...
* t/aclocal-deps-subdir.sh: ... like this.
* t/aclocal6.sh: Rename ...
* t/aclocal-remake-misc.sh: ... like this.
* t/aclocal7.sh: Rename ...
* t/aclocal-no-force.sh: ... like this.
* t/acloca8.sh: Rename ...
* t/aclocal-no-unused-required.sh: ... like this.
* t/acloca9.sh: Rename ...
* t/aclocal-I-order-1.sh: ... like this.
* t/acloca11.sh: Rename ...
* t/aclocal-I-order-2.sh: ... like this, and update heading comments.
* t/acloca12.sh: Rename ...
* t/aclocal-I-order-3.sh: ... like this, and update heading comments.
* t/acloca13.sh: Rename ...
* t/aclocal-m4-sinclude.sh: ... like this, and update heading comments.
* t/acloca14.sh: Rename ...
* t/aclocal-m4-include-are-scanned.sh: ... like this.
* t/acloca14.sh: Rename ...
* t/aclocal-m4-include-are-scanned-aclocal-amflags.sh: ... like this,
and update heading comments.
* t/acloca15.sh: Rename ...
* t/aclocal-scan-configure-ac-pr319.sh: ... like this.
* t/acloca16.sh: Rename ...
* t/aclocal-no-extra-scan.sh: ... like this, and enhance slightly.
* t/acloca18.sh: Rename ...
* t/aclocal-serial.sh: ... like this.
* t/acloca19.sh: Rename ...
* t/aclocal-pr450.sh: ... like this.
* t/acloca20.sh: Rename ...
* t/aclocal-no-symlinked-overwrite.sh: ... like this.
* t/acloca21.sh: Rename ...
* t/aclocal-comments-respected.sh: ... like this.
* t/acloca22.sh: Rename ...
* t/aclocal-deleted-header.sh: ... like this.
* t/acloca22b.sh: Rename ...
* t/aclocal-deleted-header-aclocal-amflags.sh: ... like this.
* t/acloca23.sh: Rename ...
* t/aclocal-underquoted-defun.sh: ... like this.
* t/list-of-tests.mk: Update.
2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: improve coverage on Texinfo + silent rules
* t/silent-texi.sh: Here, by basic importing the version of the
test that is the 'ng/master' branch (that of Automake-NG), plus
a minor tweak to avoid a spurious failure with NetBSD make.
2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
build: fix rebuild rules for Makefile.in and aclocal.m4
hacking: release procedure: fix order of some steps
maint: post-release minor version bump
release: stable release 1.12.5
2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
build: fix rebuild rules for Makefile.in and aclocal.m4
They have been broken after our removal of the 'perllibdir' hack
in yesterday's commit v1.12.4-45-g4872dfe.
* configure.ac: Rather then redefining AUTOMAKE and ACLOCAL to
explicitly override the perllibdir, the acdir and the libdir, use
the ready-made t/wrap/{aclocal,automake}-$APIVERSION scripts.
* NEWS: Document the fix.
2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: release procedure: fix order of some steps
* HACKING (Release procedure): The manuals should be rebuilt and
uploaded at at www.gnu.org *before* bumping the version number to
the next alpha release.
2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: post-release minor version bump
* configure.ac (AC_INIT): Bump version number to 1.12.5a.
* m4/amversion.m4: Likewise (automatically regenerated by
"make bootstrap").
2012-11-17 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable release 1.12.5
* configure.ac (AC_INIT): Bump version number to 1.12.5.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maintcheck: avoid failures, sync with 'ng/master' more
maintcheck: remove 'sc_perl_syntax'
sync: update files from upstream with "make fetch"
maint: get rid of $perllibdir environment variable hack
configure: respect the '-q' option better
cosmetics: de-tabify configure.ac
2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: avoid failures, sync with 'ng/master' more
* syntax-checks.mk (sc_diff_aclocal_in_aclocal,
sc_diff_automake_in_automake): Rename ...
(sc_diff_aclocal, sc_diff_automake): ... respectively to these, rewrite
to use static pattern rules and 'diff -u' instead of bare 'diff'. This
makes the rules more robust in the face of edits to 'automake.in' and
'aclocal.in', and get them in sync with the corresponding checks in the
'ng/master' branch.
(syntax_check_rules): Adjust.
2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: remove 'sc_perl_syntax'
It is quite useless, since a "make bootstrap" or "make check" would
immediately catch a breakage in the 'aclocal' or 'automake' scripts
anyway. In addition, the recent removal of the 'perllibdir' environment
variable hack has broken this check.
* syntax-checks.mk (sc_perl_syntax): Remove.
(syntax_check_rules): No longer list it.
2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/texinfo.tex, lib/config.sub: Update.
2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: get rid of $perllibdir environment variable hack
That was needed when the automake-$APIVERSION and aclocal-$APIVERSION
wrapper scripts used by the testsuite were shell script, rather than
perl scripts acting as a thin layers.
* aclocal.in (BEGIN): Update @INC based on the contents of the array
'@Aclocal::perl_libdirs', rather than of the environment variable
'perllibdir'.
* t/wrap/aclocal.in (BEGIN): Initialize '@Aclocal::perl_libdirs'
rather than $ENV{'perllibdir'}.
* automake.in (BEGIN): Update @INC based on the contents of the array
'@Automake::perl_libdirs', rather than of the environment variable
'perllibdir'.
* t/wrap/automake.in (BEGIN): Initialize '@Automake::perl_libdirs'
rather than $ENV{'perllibdir'}.
* NEWS: Update.
2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: respect the '-q' option better
* configure.ac: Here, by avoiding to print the warnings about
using a non-stable Automake version if the '$silent' variable
is set to "yes".
2012-11-16 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: de-tabify configure.ac
2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: Automake installation works again
By renaming 'dist_automake_ac_DATA' to 'nobase_dist_automake_ac_DATA' in
a recent patch, we have broken the Automake installation, since m4 files
that were expected to be installed in '${prefix}/aclocal-${APIVERSION}'
are now being installed in '${prefix}/aclocal-${APIVERSION}/m4' instead.
Fix this mess.
* Makefile.am (nobase_dist_automake_ac_DATA): Rename ...
(dist_automake_ac_DATA): ... like this. And move
'm4/internal/ac-config-macro-dirs.m4' ...
(dist_automake_internal_ac_DATA): ... here.
(automake_internal_acdir): New, simply defined to
'$(automake_acdir)/internal'.
2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'ac-config-macro-dirs'
* ac-config-macro-dirs:
tests: AC_CONFIG_MACRO_DIRS: ignore inevitable failures with old autoconf
aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs
aclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as well
2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: AC_CONFIG_MACRO_DIRS: ignore inevitable failures with old autoconf
When "older" version of autoconf are used (that is, those before commit
v2.69-44-g1ed0548), we have no sane way to prevent the autom4te invocation
issued from aclocal to possibly display warnings "MACRO m4_require'd but
not m4_defun'd". That's not a big deal, because that just means that
people using pre-2.70 autoconf with cutting-edge automake will see few
spurious warnings, but the actual semantics will remain correct.
However, this blemish was causing a couple of annoying testsuite failures.
Solve this by simply skipping the affected tests when older (pre-2.70)
autoconf versions are used.
* t/aclocl-macrodir.tap ("AC_CONFIG_MACRO_DIR interaction with
AC_REQUIRE"): Skip when older autoconf is in use.
* t/aclocl-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with
AC_REQUIRE"): Likewise.
2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
recursion: remove _AM_EXTRA_RECURSIVE_TARGETS indirection
Since automake automatically smashes extra whitespace and newlines
in the arguments of the macros it traces, we can remove the extra
indirection with the _AM_EXTRA_RECURSIVE_TARGETS. This doesn't
truly simplify the existing code, but make it slightly easier to
understand anyway, since leave it with one less indirection.
* automake.in: Trace AM_EXTRA_RECURSIVE_TARGETS directly, rather
than tracing _AM_EXTRA_RECURSIVE_TARGETS. Remove trailing and
leading empty fields in the extracted arguments.
* m4/extra-recurs.m4 (_AM_EXTRA_RECURSIVE_TARGETS): Remove, no longer
needed.
(AM_EXTRA_RECURSIVE_TARGETS): Adjust by making it a simple no-op.
2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs
The autom4te program coming with autoconf 2.68 and earlier had a bug
which caused the "-" command line argument (with which we tell it to
read some input from from standard input) to aways be pushed at the
*end* of the command line, regardless of where the user specified it
(that bug was fixed by autoconf commit 'v2.68-120-gf4be358', "getopt:
new Autom4te::Getopt module").
This broken semantics conflict with our usage in aclocal, where we
need to pass some input to the invoked autom4te program early, and
have so far been using the stdin to do so. Now we start using an
external file instead.
* m4/internal/ac-config-macro-dirs.m4: New file, contain a fallback
definition of the AC_CONFIG_MACRO_DIRS macro for older autoconf
releases.
* aclocal.in (trace_used_macros): When invoking autom4te, use that
file instead of "abusing" standard input.
* Makefile.am (dist_automake_ac_DATA): Rename ...
(nobase_dist_automake_ac_DATA): ... like this.
Add 'm4/internal/ac-config-macro-dirs.m4' to it.
* t/aclocal-acdir.sh: Adjust to avoid spurious failures.
Helped-by: Eric Blake <eblake@redhat.com>
2012-11-15 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: tracing AC_CONFIG_MACRO_DIRS can work with older autoconf as well
This will allow our users to interact also with pre-2.70 autoconf without
need for the user to add ACLOCAL_AMFLAGS in Makefile.am. For example,
before this change, in order to have aclocal look for macros in 'm4/dir1'
and 'm4/dir2' also when (say) autoconf 2.69 was used, our users would
have had to add something like:
ACLOCAL_AMFLAGS = -I m4/dir1 -I m4/dir2
in Makefile.am, in addition to the
AC_CONFIG_MACRO_DIRS([m4/dir1 m4/dir2])
in configure.ac. Now, the AC_CONFIG_MACRO_DIRS call is enough.
See the long-winded discussion on automake bug#12845 for more details:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12845>
* aclocal.in ($ac_config_macro_dirs_fallback): New global variable,
contains m4 code to issue a fallback definition of AC_CONFIG_MACRO_DIRS
as an alias for the private macro _AM_CONFIG_MACRO_DIRS.
(trace_used_macros): Handle and trace that macro. Do some code
reorganization and fix related botched indentation while at it.
(write_aclocal): Output '$ac_config_macro_dirs_fallback' early in
the generated aclocal.m4.
* t/aclocal-macrodirs.tap: Run unconditionally, even with older
autoconf.
* t/subpkg-macrodir.sh: Likewise.
* doc/automake.texi: Document only AC_CONFIG_MACRO_DIRS, rather
than AC_CONFIG_MACRO_DIR.
2012-11-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'ac-config-macro-dirs'
* ac-config-macro-dirs:
news: we trace AC_CONFIG_MACRO_DIRS
aclocal: trace AC_CONFIG_MACRO_DIR_TRACE
aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS
coverage: expose a bug in aclocal (spurious warnings)
aclocal: smash newlines in arguments of traced macros
tests: better coverage for AC_CONFIG_MACRO_DIRS
aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better
aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS
2012-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: improve a comment
* t/ax/am-test-lib.sh (require_tool): Here, about python support
for '--version' option.
2012-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: honour $PYTHON override
* t/ax/am-test-lib.sh (require_tool): Here.
* t/python-too-old.sh: And here.
* t/python-vars.sh: And here.
* t/python-virtualenv.sh: And here. Also add some sanity
checks while at it.
2012-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: typofix in message
* t/python-virtualenv.sh: Here.
2012-11-11 Stefano Lattarini <stefano.lattarini@gmail.com>
news: document fix for bug#8847 (PEP-3147, __pycache__)
* NEWS (Bugs fixed in 1.12.5): Here.
2012-11-10 Yaakov Selkowitz <yselkowitz@users.sourceforge.net> (tiny change)
python: improve support for modern python (CPython 3.2 and PyPy)
This fixes automake bug#8847.
* m4/python.m4 (AM_PATH_PYTHON): Add python3.3 to
_AM_PYTHON_INTERPRETER_LIST.
* lib/py-compile: Fix compiled filenames for PEP-3147, currently
implemented in CPython 3.2 and newer. Do not create '.pyo' files
for PyPy.
2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
news: we trace AC_CONFIG_MACRO_DIRS
* NEWS (New in 1.13): Update accordingly.
2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
news: improve wording
* NEWS (New in 1.13): Prefer "no longer" over "not anymore",
wherever possible. Related re-wrapping of text.
2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: trace AC_CONFIG_MACRO_DIR_TRACE
This is now the documented way, and indeed the only correct way, to
support AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS in third-party
tools. See autoconf commit v2.69-45-g5269030 of 2012-11-09,
"AC_CONFIG_MACRO_DIRS: improve tracing and add sanity checks".
* aclocal.in (trace_used_macros): Trace 'AC_CONFIG_MACRO_DIR_TRACE'
rather than 'AC_CONFIG_MACRO_DIRS'. We still have to trace
'AC_CONFIG_MACRO_DIR' explicitly though, for compatibility with
Autoconf versions before 2.70.
* t/aclocal-macrodirs.tap: Enhance w.r.t. precedence of arguments
in one and several AC_CONFIG_MACRO_DIRS calls.
2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: avoid spurious warnings from autom4te with AC_CONFIG_MACRO_DIRS
When some macro expanded in configure.ac calls AC_REQUIRE on another
macro that is defined in one of the local m4 macro dirs specified
with AC_CONFIG_MACRO_DIRS, aclocal prints spurious warnings like:
configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd
configure.ac:3: MY_FOO is expanded from...
Such warnings come from autom4te, and are due to the fact that the
*first* autom4te invocation issued by aclocal is not yet able to
"see" the m4 macro definitions in the local m4 dirs (because they
can be looked for only after the AC_CONFIG_MACRO_DIRS call has been
traced, and tracing it requires running autom4te).
To allow us to work around this issue, autom4te has introduced a new
"witness" macro 'm4_require_silent_probe', that, when defined, allows
us to silence that particular kind of warnings (and only it).
Reported by Nick Bowler; see point (4) of:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>
* aclocal.in (trace_used_macros): Pre-define the special macro
'm4_require_silent_probe' when invoking autom4te.
* t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIR interaction with
AC_REQUIRE"): This test passes now: remove the "TODO" directive.
* t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIRS interaction with
AC_REQUIRE"): Likewise.
* t/acloca17.sh: Remove.
* t/list-of-tests.mk: Adjust.
2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: expose a bug in aclocal (spurious warnings)
When some macro expanded in configure.ac calls AC_REQUIRE on another
macro that is defined in one of the local m4 macro dirs specified
with one of the macros AC_CONFIG_MACRO_DIRS or AC_CONFIG_MACRO_DIR,
aclocal prints spurious warnings like:
configure.ac:4: warning: MY_BAR is m4_require'd but not m4_defun'd
configure.ac:3: MY_FOO is expanded from...
Expose this weakness in our testsuite.
Reported by Nick Bowler; see point (4) of:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>
* t/aclocal-macrodir.tap ("AC_CONFIG_MACRO_DIR interaction with
AC_REQUIRE"): New test, still xfailing.
* t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS interaction with
AC_REQUIRE"): Likewise.
2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: smash newlines in arguments of traced macros
This change fixes the existing issues with AC_CONFIG_MACRO_DIRS
containing newlines:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>
Likely, it will also allow a less involved implementation of the
AM_EXTRA_RECURSIVE_TARGETS macro (but that is left for potential
follow-up patches).
* aclocal.in (trace_used_macros): When calling autom4te, pass its
'--trace' option an argument containing '${::}%' rather than '$1'.
According to the autoconf manual (as of version 2.69), that will expand
to the concatenation, with the '::' string, of all the arguments passed
to a macro, with all newline characters in such arguments smashed.
Related adjustments when handling the macro AC_CONFIG_MACRO_DIRS, to
ensure leading whitespace in its argument are handled correctly.
* t/aclocal-macrodirs.tap ("AC_CONFIG_MACRO_DIRS: extra whitespace"):
No longer declare it as an xfailing test.
2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: better coverage for AC_CONFIG_MACRO_DIRS
Suggested by a report from Nick Bowler:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-11/msg00000.html>
* t/aclocal-macrodirs.tap: Enhance to check use of extra whitespaces
and newline characters in the arguments to AC_CONFIG_MACRO_DIRS. This
test currently fails, so mark it as "TODO". While at it, throw in other
minor edits and enhancements.
2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: diagnose non-existing directories in AC_CONFIG_MACRO_DIRS better
This new implementation ensures that any directory (possibly excluding
the first one, if the '--install' option is used) that is declared with
AC_CONFIG_MACRO_DIRS and that is non-existent will cause an error from
aclocal.
* aclocal.in (scan_m4_dirs): Add a new argument, telling whether it's OK
for the scanned directory to be non-existing. Adjust the implementation
accordingly.
($first_user_m4dir): Remove, no more needed.
(scan_m4_files): Update 'scan_m4_dirs' invocations so that aclocal will
not complain if the first user macro directory is non-existing and the
'--install' option is given: such directory will be created later by
aclocal itself.
* t/aclocal-macrodir.tap: Do not mark the last test as TODO anymore;
it now passes. Make stricter by ensuring a non-existing directory in
AC_CONFIG_MACRO_DIRS causes an hard error, not a warning.
2012-11-10 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: multiple local m4 macro dirs with AC_CONFIG_MACRO_DIRS
A new macro 'AC_CONFIG_MACRO_DIRS' has been recently introduced in
autoconf (and is expected to appear in the autoconf 2.70 release),
allowing us to declare several local m4 macro directories for a
package.
It can be done either passing several arguments to a single invocation:
AC_CONFIG_MACRO_DIRS([dir1 dir2])
or issuing more invocations:
AC_CONFIG_MACRO_DIRS([dir1])
AC_CONFIG_MACRO_DIRS([dir2])
or a combination of the two:
AC_CONFIG_MACRO_DIRS([dir1 dir2])
AC_CONFIG_MACRO_DIRS([dir3])
This will allow projects to use several m4 macro local dirs, without the
need to use ACLOCAL_AMFLAGS (which we want to make obsolete and finally
remove). This is especially important for projects that are used as
nested subpackages of larger projects.
For more information and rationales, refer to these past discussions:
<http://lists.gnu.org/archive/html/autoconf/2011-12/msg00037.html>
<http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00010.html>
<http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00000.html>
<http://lists.gnu.org/archive/html/autoconf-patches/2012-07/msg00012.html>
<http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8037/>
<http://thread.gmane.org/gmane.comp.sysutils.autoconf.patches/8087>
<http://thread.gmane.org/gmane.comp.sysutils.automake.patches/8956>
as well as to Automake commit v1.12.1-165-gcd1a9cc of 2012-07-03,
"aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead",
autoconf commit v2.69-42-gd73770f of 2012-10-17, "AC_CONFIG_MACRO_DIRS:
new macro, mostly for aclocal".
* aclocal.in ($ac_config_macro_dir): Turn this global scalar it into ...
(@ac_config_macro_dirs): ... this global array.
(trace_used_macros): Update '@ac_config_macro_dirs' instead of
re-defining '$ac_config_macro_dir'. Cater to calls the now-preferred
macro 'AC_CONFIG_MACRO_DIRS' in addition to the "obsolescent" one
AC_CONFIG_MACRO_DIR.
(main loop): Append '@ac_config_macro_dirs', not '$ac_config_macro_dir',
to '@user_includes'.
* t/subpkg-macrodir.sh: New test.
* t/aclocal-macrodirs.tap: Likewise.
* t/list-of-tests.mk: Add them.
* t/aclocal-macrodir.tap: Adjust and extend a little to keep it more in
sync with 'aclocal-macrodirs.tap'.
2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove an obsolete comment
* t/silent-yacc.sh: Here.
2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove mostly-redundant tests on silent rules
We used to have several couples of tests named like 'silent-foo-gcc.sh'
and 'silent-foo-generic.sh'. Differently from what the names suggest,
the first test in such a couple (that is, "silent-foo-gcc.sh") was not
meant to check specific GCC-related features, but rather to check how
the silent rules behave in combination with automatic dependency tracking
when the 'gcc' depmode (that targets GCC versions before the 3.x and 4.x
release series) is forced.
Such depmode forcing was done exclusively to cover the code paths in
'lib/am/depend2.am' that actually invoke the 'depcomp' script, rather
than using the inlined, GCC-specific compiler invocation (the so-called
"fastdep" mode), which is the default with modern GCC or with other
modern compilers that can emulate the GCC command-line interface (e.g.,
clang 3.0).
But whenever we run the silent-*-generic.sh" tests with other supported
compilers which have an associated depmode different from 'gcc3', these
same "non-fastdep" code paths are covered, since in those tests we run
./configure with the '--enable-dependency-tracking' option, which causes
slower depmodes not to be rejected. Examples of such compilers are the
Sun C and C++ compilers (at least since version 5.9, a.k.a. Sun Studio
12.1), and the Tiny C Compiler (from version 0.9.26); and I run the
Automake testsuite quite regularly with those compilers.
So, the "silent-*-gcc.sh" test cases don't offer any real coverage
enhancements, while still using testsuite runtime and causing some
(admittedly minor, but still annoying) synchronization headaches with
the sister tests "silent-foo-general.sh" tests. So let's just remove
these "silent-*-gcc.sh" tests.
* t/silent-c-gcc.sh: Remove.
* t/silent-cxx-gcc.sh: Likewise.
* t/silent-lt-gcc.sh: Likewise.
* t/silent-many-gcc.sh: Likewise.
* t/silent-c-generic.sh: Rename ...
* t/silent-c.sh: ... like this, and adjust heading comments.
* t/silent-cxx-generic.sh: Rename ...
* t/silent-cxx.sh: ... like this, and adjust heading comments.
* t/silent-lt-generic.sh: Rename ...
* t/silent-lt.sh: ... like this, and adjust heading comments.
* t/silent-many-generic.sh: Rename ...
* t/silent-many-languages.sh: ... like this, and adjust heading
comments.
* t/list-of-tests.mk: Adjust.
2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: enhance coverage on silent-rules and C compilation rules a little
* t/silent-c-generic.sh: Here, by trying them also with automatic
dependency tracking explicitly disabled.
2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: new variable $am_testaux_builddir
tests: rename $am_testauxdir -> $am_testaux_srcdir
2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rename few tests (on silent-rules support)
Either to more informative names, or to names more consistent with the
ones of similar/related tests.
* t/silent.sh: Rename ...
* t/silent-c-generic.sh: ... like this, and adjust heading comments.
* t/silent2.sh: Rename ...
* t/silent-c-gcc.sh: ... like this, and adjust heading comments.
* t/silent3.sh: Rename ...
* t/silent-lt-generic.sh: ... like this, and adjust heading comments.
* t/silent4.sh: Rename ...
* t/silent-lt-gcc.sh: ... like this, and adjust heading comments.
* t/silentcxx.sh: Rename ...
* t/silent-cxx-generic.sh: ... like this, and adjust heading comments.
* t/silentcxx-gcc.sh: Rename ...
* t/silent-cxx-gcc.sh: ... like this, and adjust heading comments.
* t/silentf77.sh: Rename ...
* t/silent-f77.sh: ... like this, and adjust heading comments.
* t/silentf90.sh: Rename ...
* t/silent-f90.sh: ... like this, and adjust heading comments.
* t/silent7.sh: Rename ...
* t/silent-gen.sh: ... like this, and adjust heading comments.
* t/silent6.sh: Rename ...
* t/silent-custom.sh: ... like this.
* t/silent8.sh: Rename ...
* t/silent-texi.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: merge two tests on silent-rules with libtool
This helps to reduce code duplication, and also to (marginally)
speed up the involved tests.
Before this change, we had:
$ diff -u t/silent3.sh t/silent9.sh
--- t/silent3.sh 2012-11-07 19:38:05.000000000 +0100
+++ t/silent9.sh 2012-11-07 19:27:54.000000000 +0100
@@ -14,9 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# Check silent-rules mode, with libtool, standard depmode case.
+# Check silent-rules mode, with libtool, nodep case.
-# Please keep this file in sync with 'silent4.sh' and 'silent9.sh'.
+# Please keep this file in sync with 'silent3.sh' and 'silent4.sh'.
required='cc libtoolize'
. test-init.sh
@@ -26,8 +26,8 @@
cat >>configure.ac <<'EOF'
AC_CONFIG_FILES([sub/Makefile])
AC_PROG_CC
-AM_PROG_AR
AM_PROG_CC_C_O
+AM_PROG_AR
AC_PROG_LIBTOOL
AC_OUTPUT
EOF
@@ -61,7 +61,7 @@
$AUTOMAKE --add-missing
$AUTOCONF
-./configure --enable-silent-rules
+./configure --disable-dependency-tracking --enable-silent-rules
$MAKE >stdout || { cat stdout; exit 1; }
cat stdout
$EGREP ' (-c|-o)' stdout && exit 1
* t/silent9.sh: Remove, merge ...
* t/silent3.sh: ... in here.
* t/list-of-tests.mk: Adjust.
2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: new variable $am_testaux_builddir
And a related fix that solves a spurious testsuite failures in
VPATH builds.
* t/ax/test-defs.in ($am_testaux_builddir): New, counterpart of
$am_testaux_srcdir, but pointing inside the build directory.
* t/self-check-shell-no-trail-bslash.sh: Use $am_testaux_builddir,
not $am_testaux_srcdir, when fetching the 'shell-no-trail-bslash'
script.
2012-11-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rename $am_testauxdir -> $am_testaux_srcdir
This is just a preparatory change in view of a future commit.
* t/ax/test-defs.in: Here.
* t/ax/tap-summary-aux.sh: And here.
* t/ax/testsuite-summary-checks.sh: And here.
* t/distcheck-missing-m4.sh: And here.
* t/distcheck-outdated-m4.sh: And here.
* t/self-check-shell-no-trail-bslash.sh: And here.
* t/test-driver-acsubst.sh: And here.
* t/test-driver-cond.sh: And here.
* t/test-driver-custom-multitest.sh: And here.
* t/test-driver-custom-multitest-recheck.sh: And here.
* t/test-driver-custom-multitest-recheck2.sh: And here.
* t/testsuite-summary-count-many.sh: And here.
2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
vala tests: source test-init.sh, not ./defs
tests: fix a spurious typo-related failure
tests: remove spurious leftover use of 'Exit'
tests: can check our recipes avoid trailing backslashes
vala: improve comments to AM_PROG_VALAC
news: update w.r.t. recent vala changes
vala: if no proper compiler found, set $(VALAC) to 'valac'
vala: AM_PROG_VALAC should not produce an error for tool-old valac
docs: document recent changes to AM_PROG_VALAC
tests: enhance tests on AM_PROG_VALAC
vala: style fixes in vala.m4
vala: add action arguments, for when no proper vala compiler is found
2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: source test-init.sh, not ./defs
This will avoid spurious errors when the new vala tests (introduced
in the 'vala-work' branch) will be merged back to master.
* t/vala-headers.sh: Adjust as said.
* t/vala-libs.sh: Likewise.
* t/vala-mix.sh: Likewise.
* t/vala-mix2.sh: Likewise.
* t/vala-parallel.sh: Likewise.
* t/vala-vapi.sh: Likewise.
* t/vala-vpath.sh: Likewise.
* t/vala.sh: Likewise.
* t/vala2.sh: Likewise.
* t/vala3.sh: Likewise.
* t/vala4.sh: Likewise.
* t/vala5.sh: Likewise.
2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious typo-related failure
* t/self-check-shell-no-trail-bslash.sh: Here, due to a mistaken
use of "||" instead of "&&".
2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'vala-work' into maint
* vala-work:
vala: improve comments to AM_PROG_VALAC
news: update w.r.t. recent vala changes
vala: if no proper compiler found, set $(VALAC) to 'valac'
vala: AM_PROG_VALAC should not produce an error for tool-old valac
docs: document recent changes to AM_PROG_VALAC
tests: enhance tests on AM_PROG_VALAC
vala: style fixes in vala.m4
vala: add action arguments, for when no proper vala compiler is found
2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove spurious leftover use of 'Exit'
Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check.
Commit 'v1.12.4-184-g9fed1c8' in master made the same fix basically,
but we mistakenly applied it to master only, rather than to maint.
* t/per-target-flags.sh: Here.
2012-10-31 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: can check our recipes avoid trailing backslashes
This is related to commit v1.11-1704-g254227b of 2012-05-01,
"parallel-tests: avoid trailing backslashes in make recipes",
and automake bug#10436.
Recipes with a trailing backslash character (possibly followed by
blank characters only) can cause spurious syntax errors with at
least older bash versions (e.g., bash 2.05b), and can be potentially
be unportable to other weaker shells.
So provide a target that runs the testsuite looking for this kind
of breakage (without requiring a real bugged shell).
* t/ax/shell-no-trail-bslash.in: New, a "shell" that chokes on '-c'
commands having a trailing '\' (possibly followed by whitespace only).
* Makefile (t/ax/shell-no-trail-bslash): Generate this script from it.
(noinst_SCRIPTS, CLEANFILES): Add it.
(EXTRA_DIST): Add 't/ax/shell-no-trail-bslash.in'.
(check-no-trailing-backslash-in-recipes): New target, runs the testsuite
with 'shell-no-trail-bslash' as the CONFIG_SHELL, to catch possible
recipes having a trailing backslash character (possibly followed by
* .gitignore: Update.
* t/self-check-shell-no-trail-bslash.sh: New testsuite self-check.
* t/parallel-tests-trailing-bslash.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
configure: correctly identify missing GNU compilers as such
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: correctly identify missing GNU compilers as such
* configure.ac: Here, instead of mistakenly diagnose them as "botched".
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: get rid of ./defs, it's no longer used.
* defs: Delete.
* configure.ac (AC_CONFIG_LINKS): No longer link it.
* t/ax/tap-setup.sh: Don't look for a file named 'defs' in
the grandparent directory of the current test directory to
decide whether we're running in the correct directory.
* syntax-check.mk (xdefs): Remove '$(srcdir)/defs'.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix the name of a check
* (sc_tests_Exit_not_exit): Rename ...
(sc_tests_exit_not_Exit): ... like this, which is more faithful
to what the check actually does. Adjust a grammaro in comments
while at it.
(syntax_check_rules): Adjust.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: guard against uses of ./defs in tests
Now, 'test-init.sh' should be used instead.
* (sc_tests_no_source_defs): New maintainer check.
(syntax_check_rules): Add it.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove spurious leftover use of 'Exit'
* t/per-target-flags.sh: Here, and simply use 'exit' instead.
Issue revealed by the 'sc_tests_Exit_not_exit' maintainer check.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove an obsolete, and probably now wrong, comment
* t/dirlist.sh: Here.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove obsolescent references to './defs'
* t/distcom-subdir.sh, t/distcom2.sh, t/ax/depcomp.sh, t/conff2.sh,
t/ccnoco3.sh, t/ccnoco.sh, t/self-check-dir.tap, t/self-check-exit.tap,
t/self-check-me.tap: Here. Instead, refer to "am-test-lib.sh",
"test-init.sh", or simply "the testsuite setup", as appropriate.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prefer including 'test-init.sh' rather than './defs'
This is a follow-up to today's commit v1.12.4-22-g0610fc8,
"tests: prepare to move ./defs to t/ax/test-init.sh"
* All tests: To run the common setup, use the command:
. test-init.sh
instead of the older, "historical" one:
. ./defs || exit 1
Note that the "|| exit 1" wasn't really useful, since the 'errexit'
shell flag is in effect in both './defs' and 'test-init.sh', and all
the known shells that are good enough to run the automake testsuite
do automatically exit with error when a sourced file cannot be found
(at least, they do so in non-interactive mode, which is the only
mode that concerns us in the testsuite).
* t/ax/tap-summary-aux.sh, t/ax/testsuite-summary-checks.sh: Likewise.
* gen-testsuite-part: Do the same in the generated tests.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: merge, tweak and modernize few test scripts
tests: move coverage about BUILT_SOURCES
tests: more meaningful names for some test cases
tests: merge some grepping tests on Yacc support
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: merge, tweak and modernize few test scripts
Basically an adjusted-and-improved cherry-pick from Automake-NG
commit v1.12.1-343-gff30f83.
* t/specflg.sh, t/specflg2.sh, t/specflg3.sh: Merged into ...
* t/per-target-flags.sh: ... this test.
* t/fo.sh: Remove, its weak grepping checks well superseded by
the semantic checks in 't/fort4.sh'.
* t/cxxo.sh: Remove, its weak grepping checks well superseded
by the semantic checks in 't/cxx-demo.sh'.
* t/cxxcpp.sh: Enhance a little.
* t/empty.sh: Renamed ...
* t/empty-data-primary.sh: ... to this. Add trailing ':' command.
* t/empty2.sh, t/empty3.sh, t/empty4.sh: Merged ...
* t/empty-sources-primary.tap: ... into this new test.
* t/no-outdir-option.sh: Remove. A test to check than an obsolete
and now deleted option ("--output-dir") stays deleted is way too
much even for the most test-infected person ;-)
* t/list-of-tests.mk: Adjust.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: move coverage about BUILT_SOURCES
Basically a backport of some tests from Automake-NG.
* t/built-sources-check.sh: Sync it with the version in the ng/master
branch. Accordingly, move part of the checks out ...
* t/built-sources-install.sh: ... into this new test, synced from
ng/master as well.
* t/built-sources-subdir.sh: Minor tweaks and enhancements to sync it
with the version in ng/master.
* t/built-sources-cond.sh: New test, synced from ng/master.
* t/built-sources.sh: Likewise, with minor edits to avoid a spurious
failure.
* t/built-sources-fork-bomb.sh: Likewise.
* t/list-of-tests.mk: Update.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more meaningful names for some test cases
* t/yacc5.sh: Renamed ...
* t/yacc-grepping2.sh: ... like this.
* t/yacc7.sh: Renamed ...
* t/yacc-headers-and-pr47.sh: ... like this.
* t/yacc8.sh: Renamed ...
* t/yacc-subdir.sh: ... like this.
* t/subdir10.sh: Rename ...
* t/subdir-env-interference.sh: ... like this.
* t/specflg10.sh: Rename ...
* t/am-default-source-ext.sh: ... like this.
* t/suffix12.sh: Rename ...
* t/suffix-custom-subobj.sh: ... like this.
* t/suffix13.sh: Rename ...
* t/suffix-custom-subobj-and-specflg.sh: ... like this.
* t/check3.sh: Rename ...
* t/built-sources-check.sh: ... like this.
* t/subdirbuiltsources.sh: Rename ...
* t/built-sources-subdir.sh: ... like this.
* t/bsource.sh: Rename ...
* t/no-spurious-install-recursive.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: merge some grepping tests on Yacc support
* t/yacc.sh, t/yacc2.sh: Merge ...
* t/yacc-grepping.sh: ... into this test.
* t/list-of-tests.mk: Adjust.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: prepare to move ./defs to t/ax/test-init.sh
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
AM_PROG_MKDIR_P: remove as obsolete, this time for good
This commit basically reverts v1.12.4-158-gdf23daf, re-instating
commit v1.12-20-g8a1c64f.
Support for the obsolescent 'AM_PROG_MKDIR_P' m4 macro has been
deprecated in the documentation and with runtime warnings since
Automake 1.12.1. Still, when we released Automake 1.13, we had
to delay that macro's removal, since at the time the last released
version of GNU gettext still AC_REQUIRE's AM_PROG_MKDIR_P via its
'intl.m4' and 'po.m4' files, which are pulled into *many* projects.
But it's now time to remove AM_PROG_MKDIR_P once and for all.
Projects still needing to work with older gettext releases will
be able to do so by adding a definition like
AC_DEFUN([AM_PROG_MKDIR_P], [AC_PROG_MKDIR_P([$@])])
to their 'acinclude.m4' file or to another local '*.m4' file.
* m4/mkdirp.m4: Delete.
* Makefile.am (dist_automake_ac_DATA): Remove it.
* automake.in (scan_autoconf_traces): Don't handle, nor warn about,
AM_PROG_MKDIR_P.
* doc/automake.texi (Obsolete Macros): Delete (it only spoke about
AM_PROG_MKDIR_P).
* t/gettext-macros.sh: Adjust.
* t/mkdirp-deprecation.sh: Delete.
* t/list-of-tests.mk: Don't list it.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prepare to move ./defs to t/ax/test-init.sh
We don't do this in a sweeping passage, because that would cause
endless headaches in the synchronization between the maint, master
and ng/master branches. Instead, we setup our framework to allow
test scripts to work by sourcing either './defs' or 'test-init.sh',
so that we'll be able to make the transition gradual and painless.
* t/ax/test-init.sh: New, copied from the previous ./defs file.
* defs: Simply work by sourcing the new file.
* Makefile.am (dist_noinst_DATA): List the new file.
* t/README: Adjust to mandate the sourcing of 'test-init.sh' rather
than of './defs'.
* t/c-demo.sh: Source 'test-init.sh' instead of ./defs. This is
done to verify our new setup actually works.
* t/ac-output-old.tap: Likewise.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
depcomp: avoid potential interferences from the environment
depcomp: improve comments about the 'gcc' depmode
sync: update files from upstream with "make fetch"
maintcheck: remove an obsolescent check
tests: rename some tests to more expressive names, again
tests: remove an obsolescent grepping check
tests: merge two tests on automatic remake functionality
tests: rename some test to more expressive names
news: 'compile' supports libfoo.a naming when wrapping Microsoft tools
tests: ensure generation of wrapper tests matching multiple conditions
tests: simplify a loop in gen-testsuite-part
compile: support libfoo.a naming when wrapping Microsoft tools
NEWS: fix wording and grammaros, re-wrap text accordingly
cosmetics: fix typo in 'lib/depcomp' comments
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: avoid potential interferences from the environment
* lib/depcomp (gccflag, dashmflag): By explicitly initializing these
variables to the empty string by default.
2012-10-27 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: improve comments about the 'gcc' depmode
It is not only needed by obsolescent gcc compilers (pre-3.x),
but also by modern compiler like IBM C/C++. State that ...
* lib/depcomp: ... here...
* gen-testsuite-part: ... and here, where we generate the
'depcomp*.tap' tests.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: improve comments to AM_PROG_VALAC
* m4/vala.m4 (AM_PROG_VALAC): Here.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
news: update w.r.t. recent vala changes
* NEWS: Here.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: if no proper compiler found, set $(VALAC) to 'valac'
This is better than setting it to ':' (as is currently done), because
a triggered makefile rule invoking a vala compilation will then clearly
fail with an informative error message like "valac: command not found",
rather than silently, with the error possibly going unnoticed, or
triggering harder-to-diagnose fallout failures in later steps.
For a precedent of a similar behaviour, see the AC_PROG_YACC macro.
* m4/valac.m4: Implement the new semantic.
* doc/automake.texi (Vala Support): Document it.
* t/vala4.sh: Adjust.
2012-10-26 Sébastien Wilmet <swilmet@gnome.org> (tiny change)
Matthieu Baerts <matttbe@glx-dock.org>
Stefano Lattarini <stefano.lattarini@gmail.com>
vala: AM_PROG_VALAC should not produce an error for tool-old valac
This change fixes automake bug#12688.
In the AM_PROG_VALAC macro, when the optional parameter specifying the
minimum release number is not provided, and/or if the Vala compiler is
not found, then there is a _warning_ message.
On the other hand, when the version number is specified and if the Vala
compiler is too old, there is an _error_ message.
This error message is problematic, because for a tarball, the Vala
compiler is not required: the generated C code is included in the
tarball. So if a user wants to compile the software, he shouldn't
need the valac program with the right version.
* m4/vala.m4 (AM_PROG_VALAC): Modify to use AC_MSG_WARN instead
of AC_MSG_ERROR.
* t/vala4.sh: Adjust and enhance.
* doc/automake.texi (Vala Support): Likewise.
* THANKS: Update.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: document recent changes to AM_PROG_VALAC
* doc/automake.texi (Vala Support): Here. This is a follow-up to
recent commit 'v1.12.4-20-gdf202a3', "vala: add action arguments,
for when no proper vala compiler is found".
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: enhance tests on AM_PROG_VALAC
* t/vala4.sh: Here.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: style fixes in vala.m4
* m4/vala.m4 (AM_PROG_VALAC): Here.
2012-10-26 Daiki Ueno <ueno@unixuser.org> (tiny change)
vala: add action arguments, for when no proper vala compiler is found
* m4/vala.m4 (AM_PROG_VALAC): Add optional action arguments to
control the behavior if specified version of valac is not found.
This emulates the behaviour of AM_PATH_PYTHON.
* t/vala4.sh: Enhance.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/config.guess, lib/config.sub: Update.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: remove an obsolescent check
* syntax-checks.mk (sc_test_names): Remove this check, which verified
that no test name contained an m4/m4sugar builtin or macro name. Since
most tests use their own name as the first argument to AC_INIT, doing
that would have tickled a bug in Autoconf 2.62; but the bug was fixed
in Autoconf 2.63 already; and we are going to soon require Autoconf
2.65 anyway (in automake 1.13), so this check has become more annoying
than useful.
(syntax_check_rules): Don't list the removed check.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rename some tests to more expressive names, again
* t/parallel-tests.sh: Rename ...
* t/parallel-tests-basics.sh: ... like this.
* t/parallel-tests3.sh: Rename ...
* t/parallel-tests-concurrency.sh: ... like this.
* t/parallel-tests5.sh: Rename ...
* t/parallel-tests-concurrency-2.sh: ... like this.
* t/parallel-tests6.sh: Rename ...
* t/parallel-tests-empty.sh: ... like this. Adjust comments.
* t/parallel-tests8.sh: Rename ...
* t/parallel-tests-generated-and-distributed.sh: ... like this.
* t/parallel-tests9.sh: Rename ...
* t/parallel-tests-recheck.sh: ... like this.
* t/parallel-tests10.sh: Rename ...
* t/parallel-tests-trailing-whitespace.sh: ... like this.
* t/remake3a.sh: Rename ...
* t/remake-subdir-no-makefile.sh: ... like this.
* t/remake4.sh: Rename ...
* t/remake-not-after-make-dist.sh: ... like this.
* t/remake5.sh: Rename ...
* t/remake-maintainer-mode.sh: ... like this.
* t/remake6.sh: Rename ...
* t/remake-subdir3.sh: ... like this.
* t/remake7.sh: Rename ...
* t/remake-fail.sh: ... like this.
* t/remake11.sh: Rename ...
* t/remake-deeply-nested.sh: ... like this
* t/remake12.sh: Rename ...
* t/remake-mild-stress.sh: ... like this
* t/pr8365-remake-timing.sh: Rename ...
* t/remake-timing-bug-pr8365.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove an obsolescent grepping check
* t/remake3.sh: This one, superseded by ...
* t/remake3a.sh: ... this semantic test, whose comments have been
djusted accordingly.
* t/list-of-tests.mk: Adjust.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: merge two tests on automatic remake functionality
* t/remake2.sh: Merge ...
* t/remake-subdir-grepping.sh: ... in here.
* t/list-of-tests.mk: Adjust.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rename some test to more expressive names
* t/remake.sh: Rename ...
* t/remake-subdir-grepping.sh: ... like this.
* t/remake8a.sh: Rename ...
* t/remake-makefile-intree.sh: ... like this, and adjust comments.
* t/remake8b.sh: Rename ...
* t/remake-makefile-vpath.sh: ... like this, and adjust comments.
* t/remake9a.sh: Rename ...
* t/remake-after-configure-ac.sh: ... like this, and adjust comments.
* t/remake9b.sh: Rename ...
* t/remake-after-makefile-am.sh: ... like this, and adjust comments.
* t/remake9c.sh: Rename ...
* t/remake-after-acinclude-m4.sh: ... like this, and adjust comments.
* t/remake9d.sh: Rename ...
* t/remake-after-aclocal-m4.sh: ... like this, and adjust comments.
* t/remake10a.sh: Rename ...
* t/remake-include-configure.sh: ... like this, and adjust comments.
* t/remake10b.sh: Rename ...
* t/remake-include-makefile.sh: ... like this, and adjust comments.
* t/remake10c.sh: Rename ...
* t/remake-include-aclocal.sh: ... like this, and adjust comments.
* t/list-of-tests.mk: Adjust.
2012-10-26 Jim Meyering <jim@meyering.net>
compat: reinstate AM_PROG_MKDIR_P, for gettext
Do not remove AM_PROG_MKDIR_P just yet.
gettext (latest from git) still AC_REQUIRE's AM_PROG_MKDIR_P via its
intl.m4 and po.m4 files, which are pulled into *many* projects.
When I try to build one of those projects (coreutils) using the latest
from automake.git/master, I see this failure:
$ aclocal -I m4
configure.ac:477: warning: AM_PROG_MKDIR_P is m4_require'd \
but not m4_defun'd
m4/po.m4:23: AM_PO_SUBDIRS is expanded from...
m4/gettext.m4:57: AM_GNU_GETTEXT is expanded from...
configure.ac:477: the top level
That is because AM_PROG_MKDIR_P was removed (via commit
v1.12-20-g8a1c64f) in preparation for the next release of automake.
* NEWS: Remove the paragraph that announced the removal of
AM_PROG_MKDIR_P.
* Makefile.am (dist_automake_ac_DATA): Add m4/mkdirp.m4.
* m4/mkdirp.m4: Re-add file.
* t/mkdirp-deprecation.sh: Likewise.
* t/list-of-tests.mk: Add it.
* automake.in: Restore removed code, and adjust comments, s/1.13/1.14/
to reflect new plan for removal.
* doc/automake.texi (Obsolete Macros): Restore the section, but
now with only one entry: the one for AM_PROG_MKDIR_P.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
news: 'compile' supports libfoo.a naming when wrapping Microsoft tools
This is a follow-up to commit 'v1.12.4-10-g3c5c939' of 2012-10-04,
"compile: support libfoo.a naming when wrapping Microsoft tools".
* NEWS (Bugs fixed in 1.12.5): Update.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: ensure generation of wrapper tests matching multiple conditions
* gen-testsuite-part: Our old code to generate wrapper tests had a
severe limitation, in that if a test matched two or more conditions
calling for generation of wrapper tests, still only one wrapper test
was generated, instead of the three that would have been expected --
that is, one using the setup code triggered by the first condition,
one using the setup code triggered by the second condition, and one
using both this setup code fragments.
Admittedly, this was only a theoretical limitation for the moment,
since since so far no test exists that matches two or more conditions
for wrapping. Still, this might change in the future, and easily in
an unnoticed way, so better fix the issue now, before it might become
a real problem.
2012-10-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: simplify a loop in gen-testsuite-part
* gen-testsuite-part: No need to loop on the (key, value) entries
of the %test_generators has: we only use the value, and never the
key. So loop simply on the values.
2012-10-14 Peter Rosin <peda@lysator.liu.se>
compile: support libfoo.a naming when wrapping Microsoft tools
There is a future plan to provide some means to have Automake
create static libraries that are named differently depending
on the system [1].
The background is that everyone has always named static libraries
libfoo.a, except the Redmond crowd who names them foo.lib, and
you have to jump through hoops to have Automake create libraries
named foo.lib in the land of non-GNU Windows while still creating
libfoo.a everywhere else.
However, there is probably no sane way to accomplish that system
dependent naming discussed in [1] without user intervention,
which makes it necessary to support the classic libfoo.a naming
when using Microsoft tools in the best possible way, for the
benefit of all projects today and for future projects not
opting in to whatever scheme is selected for the problem at
hand.
[1] http://lists.gnu.org/archive/html/automake/2012-09/msg00028.html
* lib/compile (func_cl_dashl): As a last resort, match -lfoo with
libfoo.a, if that file exist on the library search path.
* t/compile4.sh: Remove obsolescent workaround for the above.
* t/compile6.sh: Extend to check that libbaz.a is indeed found
when baz.lib and baz.dll.lib does not exist and that bar.lib
and bar.dll.lib are preferred over libbar.a.
2012-10-14 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: fix wording and grammaros, re-wrap text accordingly
Reported-by: Peter Rosin <peda@lysator.liu.se>
2012-10-14 Paul Eggert <eggert@cs.ucla.edu>
cosmetics: fix typo in 'lib/depcomp' comments
Fixes automake bug#12578.
2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
config headers: remove stale comment in makefile fragment
NEWS: wording and quoting fixlets in few older entries
config headers: don't emit rules for headers not generated by autoheader
docs: fix minor typo: s/expending/expanding/
sync: update files from upstream with "make fetch"
maint: post-release minor version bump
maint: typo fixes s/lies into/lies in/
release: stable release 1.12.4
NEWS: minor fix
2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
config headers: remove stale comment in makefile fragment
* lib/am/remake-hdr.am: Here.
2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: wording and quoting fixlets in few older entries
2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
config headers: don't emit rules for headers not generated by autoheader
This change fixed automake bug#12495.
Even if an AC_CONFIG_HEADERS invocation is passed a list of several files
as the first argument, only the first one of those file is considered by
autoheader for automatic generation of the corresponding '.in' template.
This is done on purpose, and is clearly documented in the Autoconf manual,
which (as of the 2.69 version) reads something like this:
The autoheader program searches for the first invocation of
AC_CONFIG_HEADERS in configure sources to determine the name of
the template. If the first call of AC_CONFIG_HEADERS specifies
more than one input file name, autoheader uses the first one.
That is, an invocation like:
AC_CONFIG_HEADERS([config.h config2.h])
should cause autoheader to generate only a 'config.h.in' template,
and not also a 'config2.h.in' one.
Accordingly, automake, when tracing AC_CONFIG_HEADERS, should generate
remake rules only for the template associated to the first input file
name passed to that macro. In some situations, however, automake failed
to properly limit itself in this way; for example, with an input like:
AC_CONFIG_HEADERS([config.h sub/foo.h])
in configure.ac, and with the 'sub' directory listed in the SUBDIRS
variable of the top-level Makefile, automake would erroneously generate
in 'sub/Makefile.in' a rule to remake the 'foo.h.in' template by
invoking autoheader.
This issue was likely introduced in commit 'Release-1-8-23-g262bb92'
of 2004-01-05.
* NEWS: Update.
* doc/automake.texi (Optional): Improve wording in the description of
hat rules automake generates in response to an 'AC_CONFIG_HEADERS'
invocation.
* lib/am/remake-hdr.am: Only emit autoheader-invoking remake rules for
the %CONFIG_HIN% template if that corresponds to the first argument of
AC_CONFIG_HEADERS, as explaned above. Do so using the automake-time
conditional %?FIRST-HDR%, that is properly passed ...
* automake.in (handle_configure): ... from a 'file_contents' invocation
in here.
* t/autohdr-subdir-pr12495.sh: New test.
* t/list-of-tests.mk: Add it.
* THANKS: Update.
Helped-by: Hib Eris <hib@hiberis.nl>
2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: fix minor typo: s/expending/expanding/
* doc/automake.texi (Wildcards): Here. Fixes automake bug#12516.
2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/texinfo.tex: Update.
2012-10-02 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: post-release minor version bump
* configure.ac (AC_INIT): Bump version number to 1.12.4a.
* m4/amversion.m4: Likewise (automatically regenerated by
"make bootstrap").
2012-09-23 Jim Meyering <meyering@redhat.com>
maint: typo fixes s/lies into/lies in/
2012-09-17 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable release 1.12.4
* configure.ac (AC_INIT): Bump version number to 1.12.4.
* m4/amversion.m4: Likewise (auto-updated by "make bootstrap").
2012-09-17 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: minor fix
2012-09-12 Jim Meyering <meyering@redhat.com>
fix typos in mk-dirp.m4
* t/gettext-macros.sh: Fix typo in name of macro emitted into
mk-dirp.m4: s/AM_MKDIR_P/AM_PROG_MKDIR_P/,
and as Stefano Lattarini noted, also fix this typo:
s/AC_MKDIR_P/AC_PROG_MKDIR_P/.
2012-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tags: automake bug bug#12372 is fixed
It has been fixed as a side effect of the overhauling of tags support.
* t/list-of-tests.mk (XFAIL_TESTS): No longer list 'tags-pr12372.sh'.
* NEWS: Update.
2012-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
coverage: better exposure for automake bug#12372 (tags-related)
coverage: expose automake bug#12372 (tags-related)
2012-09-11 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: better exposure for automake bug#12372 (tags-related)
Alas, in contrast with what is said in the commit message of previous
commit 'v1.12.3-14-g94b7b8e', that bug is still present also in the
current maint branch (which will become automake version 1.12.4); it
is just that it only triggers when a _SOURCES variable contains only
files with custom extension.
* t/tags-pr12372.sh: Extend.
* t/list-of-tests.mk: Add it.
Suggested-by: Юрий Пухальский <aikipooh@gmail.com>
2012-09-07 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: expose automake bug#12372 (tags-related)
That bug is somehow already been fixed in the latest automake
version (1.12.4); but exercise it anyway in the testsuite, to
ensure we won't regress.
* t/tags-pr12372.sh: New test.
* t/list-of-tests.mk: Add it.
2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
sync: update files from upstream with "make fetch"
news: cygnus will be removed in automake 1.13
news: some changes for 1.13 has been "de-planned"
news: report that the have seen fixlets after 1.12.3
warns: enable category 'obsolete' by default
2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/texinfo.tex: Update.
2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
news: cygnus will be removed in automake 1.13
* NEWS (Future backward-incompatibilities): So document it here.
2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
news: some changes for 1.13 has been "de-planned"
* NEWS (Future backward-incompatibilities): The planned Automake release
1.13 already has too much stuff on its plate; so we are not going to
In Automake 1.13, we are definitely not going to change the exact order
in which the directories in the aclocal macro search path are looked up.
Also, experience and user feedback have shown that the "obsolescent"
two-arguments invocation for AM_INIT_AUTOMAKE:
AM_INIT_AUTOMAKE(PACKAGE-NAME, PACKAGE-VERSION)
is still useful (until at least Autoconf is fixed to offer better support
for "dynamically" package versions), so we are not going to remove
support for that usage in Automake 1.13. For more details, see commit
v1.12.2-245-g2abe183 of 2012-08-24, "AM_INIT_AUTOMAKE: allow obsolescent
two-args invocation once again".
(New in 1.12.1): Adjust accordingly.
2012-09-05 Stefano Lattarini <stefano.lattarini@gmail.com>
news: report that the have seen fixlets after 1.12.3
* NEWS: Here.
2012-09-04 Stefano Lattarini <stefano.lattarini@gmail.com>
warns: enable category 'obsolete' by default
No surprise that our users were bitten by backward-incompatible changes
especially hard: the warnings in the 'obsolete' category, that might
have informed them of the upcoming incompatibilities, and help them to
prepare for the transition, where not enabled by default!
* NEWS, doc/automake.texi: Update.
* lib/Automake/ChannelDefs.pm: Enable warnings in the category 'obsolete'
by default.
* t/warnings-obsolete-default.sh: New test.
* t/list-of-tests.mk: Add it.
* t/backcompat.sh: Use 'configure.ac' rather than 'configure.in' as
autoconf input file, to avoid spurious aclocal errors.
* t/backcompat2.sh: Likewise.
* t/backcompat3.sh: Likewise.
* t/backcompat5.sh: Add '-Wno-obsolete' when invoking aclocal. Adjust
heading comments.
* t/backcompat6.sh: Likewise.
* t/cygnus-imply-foreign.sh: Add '-Wno-obsolete' when invoking automake.
2012-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a maintainer-check failure ('Exit' used instead of 'exit')
* t/lisp-loadpath.sh: Here.
2012-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
sync: update files from upstream with "make fetch"
automake: don't define many identical 'lang_*_rewrite' subroutines
coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap)
2012-08-28 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/config.guess, lib/config.sub: Update.
2012-08-27 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: don't define many identical 'lang_*_rewrite' subroutines
This is just a simplifying refactoring, with no semantic change intended.
Cherry-picked from the Automake-NG commit 'v1.12.1-312-g63aa4a9' of
2012-06-07.
2012-08-26 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: bugs #8844 and #9933 (already fixed by Akim's work on ylwrap)
* t/flex-header.sh: New test, show that automake bug#8844 and bug#9933
have already been fixed by the recent-ish improvements to ylwrap (merged
with commit v1.12.2-27-gec5cb49 of 2012-07-16, "Merge branch 'yacc-work'
into maint").
* t/list-of-tests.mk: Update.
2012-08-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
docs: don't suggest to use recursive makefile setup
tests: fix a timestamp race in python tests
tests: fixup: make distcheck-override-infodir pass again
sync: update files from upstream with "make fetch"
maint: post-release minor version bump
release: stable release 1.12.3
maintcheck: fix spurious warnings
docs: fix typo: s/make install-info/make uninstall-info/
tests: fixup: make a couple of tests executable
2012-08-24 Stefano Lattarini <stefano.lattarini@gmail.com>
AM_INIT_AUTOMAKE: allow obsolescent two-args invocation once again
This partially reverts commit 'v1.12-67-ge186355' of 2012-05-25,
"init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore"
Some users still need to be able to define the version number for
their package dynamically, at configure runtime.
Their user case is that, for development snapshots, they want to be
able to base the complete version of the package on the VCS revision
ID (mostly Git or Mercurial). They could of course do so by
specifying such version dynamically in their call to AC_INIT, as is
done by several GNU packages. But then they would need to regenerate
and re-run the configure script before each snapshot, which might be
very time-consuming for complex packages, to the point of slowing
down and even somewhat impeding development.
The situation should truly be solved in Autoconf, by allowing a way
to specify the version dynamically in a way that doesn't force the
configure script to be regenerated and re-run every time the package
version changes. But until Autoconf has been improved to allow
this, Automake will have to support the obsolescent two-arguments
invocation for AM_INIT_AUTOMAKE, to avoid regressing the suboptimal
but working solution for the use case described above.
See also:
<http://lists.gnu.org/archive/html/automake/2012-08/msg00025.html>
* NEWS: Update.
* m4/init.m4 (AM_INIT_AUTOMAKE): Support once again invocation with
two or three arguments.
* t/aminit-moreargs-no-more.sh: Renamed ...
* t/aminit-moreargs-deprecated.sh: ... like this, and updated.
* t/nodef.sh: Recovered test, with minor adjustments.
* t/backcompat.sh: Likewise.
* t/backcompat2.sh: Likewise.
* t/backcompat3.sh: Likewise.
* t/backcompat6.sh: Likewise.
* t/list-of-tests.mk: Adjust.
Suggested-by: Bob Friesenhahn n<bfriesen@simple.dallas.tx.us>
2012-08-21 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: don't suggest to use recursive makefile setup
* doc/automake.texi (Introduction): Here, by erroneously telling that
"there should generally be one Makefile.am per directory of a project".
For reference, see commit 'v1.12.1-25-g61dfb47' of 2012-06-12, "docs:
recursive make considered harmful".
2012-08-16 Adam Sampson <ats@offog.org> (tiny change)
Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a timestamp race in python tests
Fixes automake bug#12210.
* t/python-missing.sh: Call aclocal and autoconf with the "--force"
option. We need this because, on fast machines, it's possible for
'mypy.m4' and 'aclocal.m4' to end up with the same timestamp as configure,
so autoconf (without the "--force" options) wouldn't bother to rebuild it,
and would just rerun the previous AM_PATH_PYTHON test, succeeding rather
than failing as expected.
* t/python-am-path-iftrue.sh: Likewise.
2012-08-14 Peter Rosin <peda@lysator.liu.se>
tests: fixup: make distcheck-override-infodir pass again
Fixes Automake bug#12198.
* t/distcheck-override-infodir.sh (main.texi): Remove all leading
cruft added by commit v1.12.2-96-g133307b "maintcheck: fix spurious
warnings".
2012-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/config.guess, lib/config.sub, lib/gitlog-to-changelog,
lib/texinfo.tex: Update.
2012-08-14 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: post-release minor version bump
* configure.ac (AC_INIT): Bump version number to 1.12.3a.
* m4/amversion.m4: Likewise (automatically regenerated by
"make bootstrap").
2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable release 1.12.3
* configure.ac (AC_INIT): Bump version number to 1.12.3.
* m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix spurious warnings
* t/distcheck-override-infodir.sh: Be sure that valid occurences
of the "aclocal" and "automake" strings, which can confuse the
'sc_tests_plain_automake' check, are protected by leading "#"
characters.
* t/ax/test-lib.sh: Always use '$(...)' for command subtitution,
to avoid triggering the 'sc_tests_command_subst' check; there was
still once place where `...` was used. While at it, fix a related
comment.
* t/ax/test-defs.in ($sleep): Use creative quoting to avoid
spuriously triggering the 'sc_tests_plain_sleep' check.
2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: fix typo: s/make install-info/make uninstall-info/
* doc/automake.texi (Texinfo): Here. And a minor wording improvement
while we are at it.
2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fixup: make a couple of tests executable
* t/python-am-path-iftrue.sh: This.
* t/python-missing.sh: And this.
2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: rework tests on AM_PATH_PYTHON
cosmetics: fix typos and references in comments
typofix: in a test diagnostic
readme: fixlets to HACKING
2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rework tests on AM_PATH_PYTHON
* t/python8.sh, t/python9.sh: Merge into ...
* t/python-am-path-iftrue.sh: ... this new test, with minor adjustments.
* t/python4.sh, t/python5.sh, t/python6.sh, t/python7.sh: Merge into ...
* t/python-missing.sh: ... this new test.
* t/python5b.sh: Rename ...
* t/python-too-old.sh: ... like this, and adjust/extend.
* t/list-of-tests.mk: Adjust.
2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix typos and references in comments
* lib/am/check.am: Here.
* doc/automake.texi: And here.
* t/*.sh: And in several of these tests.
2012-08-13 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: in a test diagnostic
* t/cscope.tap: Here.
2012-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: fixlets to HACKING
* HACKING: Use longer "=====" lines to separate different section (this
is just eye-candy admittedly, but I prefer it).
(Release procedure): Don't tell to "update NEWS"; that should be updated
throughout the normal course of development. Instead, tell to just check
it. Improve description of the re-bootstrapping and rechecking procedure,
also suggesting to use "git clean" beforehand (with all due warnings!).
2012-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
cleanup: remove stale references to 'lzma' option
2012-08-12 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: remove unused transform '%HAVE-MANS%'
* automake.in (preprocess_file): Here.
2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: remove stale references to 'lzma' option
* automake.in (preprocess_file): Here.
(handle_dist): And here.
2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
automake: remove an unused local variable
distcheck: more resilient against possible failures
cleanup: remove almost-unused global var 'am_relative_dir'
2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: remove an unused local variable
* automake.in (handle_dist): Here, the '$extra_dist' variable.
2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
distcheck: more resilient against possible failures
* lib/am/distdir.am (distcheck): Ensure that a failure in the commands
making the just-extracted source tree read-only cause the recipe to fail.
While at it, save a fork by creating the '_build' and '_inst' subdir
with a single mkdir invocation.
2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: remove almost-unused global var 'am_relative_dir'
Cherry picked from commit v1.12.2-741-g53b5d11 of Automake-NG.
* automake.in ($am_relative_dir): Delete, it was only used once ...
(generate_makefile): ... in here, so it's simpler to inline its
expansion.
(initialize_per_input): Don't reset the deleted variable.
2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
cleanup: remove two almost-unused global variables: {am,in}_file_name
cleanup: remove almost-unused global var 'topsrcdir'
automake: remove an unused variable
tests: make a test script more semantic
tests: remove an obsolete, no-op test script
tests: remove an obsolete test script
2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: remove two almost-unused global variables: {am,in}_file_name
Cherry picked from commit v1.12.2-739-gbf2a8b0 of Automake-NG.
* automake.in ($am_file_name, $in_file_name): Delete these, which were
used only in the 'read_main_am_file' subroutine; instead ...
(read_main_am_file): ... modify it to only work from the '$makefile_am'
argument (which it was already receiving), and the new '$makefile_in'
argument, which is now passed to it ...
(generate_makefile): ... from here.
(initialize_per_input): Don't reset the two deleted variables anymore.
2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: remove almost-unused global var 'topsrcdir'
Cherry picked from commit v1.12.2-740-ga7f24eb in Automake-NG.
* automake.in ($topsrcdir): Delete, it was only used once ...
(handle_LIBOBJS_or_ALLOCA): ... in here, so it's simpler to inline
its expansion. Improve formatting of immediately surrounding code
a little while we are at it.
(initialize_per_input): Don't reset the deleted variable.
2012-08-10 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: remove an unused variable
* automake.in ($canonical_location): This.
(scan_autoconf_traces): Don't initialize it.
2012-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make a test script more semantic
This is mostly useful for Automake-NG, that is heavily overhauling the
generated Makefiles and thus is prone to break grepping checks (which
can sometimes end up causing false negatives in the testsuite, sadly).
But this is not a reason not to strengthen the test for mainline
Automake as well.
* t/noinstdir.sh: Add semantic checks.
2012-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove an obsolete, no-op test script
* t/info.sh: This: it tried to operate by checking the contents of the
variable '$(INFOS)', but that is not even defined (and probably has been
obsolete for quite a long time). Since other tests already do thorough
testing of the Texinfo support, just remove this test.
* t/list-of-tests.mk: Adjust.
2012-08-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove an obsolete test script
* t/scripts.sh: This: it used to check that the 'AC_PROG_INSTALL' macro
was not uselessly required, but today that macro is AC_REQUIRE'd by
'AM_INIT_AUTOMAKE' anyway, so that the test is no more significant.
* t/list-of-tests.mk: Adjust.
2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: avoid spurious failures with older Texinfo
tests: avoid tons of spurious failures on NetBSD
runtest: avoid spurious failures on NetBSD
news: dependency tracking for Portland Group Compilers is now supported
2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures with older Texinfo
* t/distcheck-override-infodir.sh (main.texi): Add explicit calls to
'@dircategory' and '@direntry', to ensure a 'dir' file will be created
also by 'install-info' coming with Texinfo 4.8.
2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid tons of spurious failures on NetBSD
* t/ax/am-test-lib.sh (process_requirements): Set the '$am_tool' variable
to the empty string before trying to unset it; otherwise, we might be
attempting to unset an already-unset variable, which (together with the
presence of the 'errexit' shell flag) causes spurious failures at least
with the /bin/sh shell from NetBSD 5.1. This was actually causing the
great majority of the Automake tests (all those not using a "required=..."
declaration) to fail spuriously on that platform!
2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
runtest: avoid spurious failures on NetBSD
* runtest.in: Use ${1+"$@"} rather than simply "$@", because the 'set -u'
setting used in the script causes the latter to trigger a spurious error
with the NetBSD 5.1 /bin/sh ("./runtest: @: parameter not set") if there
are no arguments to the test.
2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
news: dependency tracking for Portland Group Compilers is now supported
* NEWS: So document it here.
2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'elisp-work'
* elisp-work:
news: document all the recent elisp-related changes and improvements
coverage: byte-compiling elisp files in different subdirectories
elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation
elisp: --batch implies -q, remove -q
elisp: support elisp files in subdirectories properly
elisp: simplify suffix rules using emacs '-L' option
elisp: no need to "absolutize" $(srcdir) and $(builddir) ...
elisp: prefer $(builddir) files over $(srcdir) ones
elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite)
coverage: elisp path contains $(srcdir) and $(builddir)
coverage: emacs lisp files in subdirectories
2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: cater to OpenSolaris 'zip'
2012-08-05 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: cater to OpenSolaris 'zip'
* t/dist-formats.tap: Here: OpenSolaris zip do not accept the
'--version' option, but accept the '-v' one with a similar
meaning (if no further arguments are given).
2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix a spurious XPASS on OpenIndiana
tests: avoid spurious failure of 't/vala-vapi.sh' on OpenIndiana
tests: avoid spurious failure of 't/uninstall-fail.sh' on OpenIndiana
tests: reimplement wrappers for automake and aclocal in perl
tests: work around a ksh bug w.r.t. ${1+"$@"}
depcomp: style changes to Portland Group Compilers support
depcomp: initial support for Portland Group Compilers
2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious XPASS on OpenIndiana
* t/instspc.tap: Here, by isolating the $(DESTDIR) used by runs with
different "problematic strings" to prevent them to unduly interfering
with each other. With this, the Automake testsuite finally run cleanly
on the OpenIndiana and Solaris 10 systems I have access to.
2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure of 't/vala-vapi.sh' on OpenIndiana
* t/vala-vapi.sh: Use 'printf', not 'echo', to print strings containing
substrings like '\n', that can be interpreted like escape strings. That
because the /bin/sh and the /bin/bash shell from OpenIndiana actually
interpret them that way:
$ /bin/sh -c 'echo "foo\nbar"'
foo
bar
$ /bin/bash -c 'echo "foo\nbar"'
foo
bar
2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure of 't/uninstall-fail.sh' on OpenIndiana
On current OpenIndiana (based on what once was OpenSolaris 11), the shell
/bin/sh (which, differently from what happens on Solaris, is a true POSIX
shell, thus worthy of consideration) somehow manages to "eat" the
error message from 'rm' when that fails to remove a file due to lacking
permission on the parent directory:
$ /bin/sh -c "cd unwritable-dir || { echo OOPS; exit 1; }; rm -f foo"
$ echo rc = $?
rc = 1
$ /bin/bash -c "cd unwritable-dir || { echo OOPS; exit 1; }; rm -f foo"
rm: foo not removed: Permission denied
$ echo rc = $?
rc = 2
$ /bin/sh -c "cd unwritable-dir || { echo OOPS; exit 1; }; env rm -f foo"
rm: foo not removed: Permission denied
$ echo rc = $?
rc = 2
That is probably due to an improper optimization, that is, the shell tries
to be smart and remove the file itself instead of invoking 'rm', but fails
spectacularly in the attempt.
* t/uninstall-fail.sh: The just-described bug was causing a spurious
failure in this test case. Cater to thus situation, by relaxing the
test when a faulty shell is detected. And while at it, fix and improve
an unrelated comment.
2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: reimplement wrappers for automake and aclocal in perl
This will allow us to avoid one extra shell invocation per automake
and aclocal invocation in our testsuite, and, more importantly, will
allow us not to worry about potential shell portability issues, at
least in those wrappers. For an example of such a portability issue,
refer to the recent commit v1.12.2-80-g65dadf6 "tests: work around a
ksh bug w.r.t. ${1+"$@"}".
* t/wrap/automake.in, t/wrap/aclocal.in: Rewritten in perl.
2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: work around a ksh bug w.r.t. ${1+"$@"}
Fixes automake bug#10898. See also the older (much older) thread:
<http://lists.gnu.org/archive/html/automake-patches/2009-12/msg00036.html>
At least the AT&T and OpenSolaris versions of the Korn shell, as well
as the /bin/sh from OpenIndiana 11, have a strange bug regarding the
expansion of ${1+"$@"}: when exactly *one empty* argument is passed to
a script run by one of this shells, inside that script ${1+"$@"} will
expand to *nothing*, rather than to to the single empty string, as
one would expect (OTOH, $# will correctly expand to 1). This buggy
behaviour was causing a spurious failure in our testsuite (test 6 in
't/automake-cmdline.tap'). Work around it.
* t/wrap/automake.in: Here.
2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
news: document all the recent elisp-related changes and improvements
* NEWS (Elisp byte-compilation): Here. Also notice that the recent
changes have fixed the long-standing (almost two years old!) automake
bug#7441.
2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: byte-compiling elisp files in different subdirectories
Where a '.el' file in a subdirectory might require a '.el' file in
another one. This does not work out of the box, but can be made to
work with a judicious use of $(AM_ELCFLAGS) (just introduced in the
previous commit).
* t/lisp-subdir-mix.sh: New test.
* t/list-of-tests.mk: Add it.
2012-08-04 Stefano Lattarini <stefano.lattarini@gmail.com>
elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation
* lib/am/lisp.am (.el.elc): Add "$(AM_ELCFLAFS) $(ELCFLAGS)"
to the emacs command line.
* t/lisp-flags.sh: New test.
* t/list-of-tests.mk: Add it.
* doc/automake.texi (Emacs Lisp): Update.
2012-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'depcomp-pgcc' into maint
* depcomp-pgcc:
depcomp: style changes to Portland Group Compilers support
depcomp: initial support for Portland Group Compilers
2012-07-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
build: fix build in VPATH setup
gen-tests: simplify sourcing of helper shell files
2012-07-30 Stefano Lattarini <stefano.lattarini@gmail.com>
build: fix build in VPATH setup
* Makefile.am (t/ax/test-defs.sh): Ensure the 't/ax' directory exists,
before trying to create 'test-defs.sh' in there. This is required in
VPATH builds.
Reported-by: Akim Demaille <akim@lrde.epita.fr>
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
news: fix a couple of minor formatting issues
* NEWS (New in 1.13): Here.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
gen-tests: simplify sourcing of helper shell files
This is a follow-up on commit v1.12.2-49-g42fb45b, for an occurrence
of '. "$am_testauxdir"/foo.sh' that wasn't in a test script, but
rather in 'gen-testsuite-part' (ending up in the tests generated by
that script).
* gen-testsuite-part: In the generated 'depcomp*.tap' tests, use
simply:
. depcomp.sh
rather than:
. "$am_testauxdir/depcomp.sh"
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: in a comment in Makefile.am
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint: (38 commits)
maintcheck: fixup list of files in $(xdefs)
tests: never source test-defs.sh directly, source test-lib.sh instead
runtest: sanitize test environment
tests: remove an obsolescent self test
tests: "am_using_tap=yes" -> "am_test_protocol=tap"
tests: protect test libs against multiple inclusion
configure: testsuite shell can return early from "dot-sourced" files
tests: move sanitization and "Bournification" in the generic test lib
tests: source test defs in the generic test lib
test defs: no need to re-add $srcdir/t/ax to $PATH
tests: split test libs into "generic" and "automake-specific"
test setup: move actual calling of testsuite setup in ./defs
test setup: merge definitions of function for simple tests
test init: refactor: new function 'am_test_setup'
test init: refactor: move displaying of debugging info later
test init: refactor: new function 'am_setup_testdir'
test init: refactor: new function 'am_set_exit_traps'
configure: testsuite shell set exit traps in shell functions
test init: refactor: new function 'am_exit_trap'
test init: refactor: new function 'process_requirements'
...
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'testsuite-refactor' into maint
* testsuite-refactor: (33 commits)
maintcheck: fixup list of files in $(xdefs)
tests: never source test-defs.sh directly, source test-lib.sh instead
runtest: sanitize test environment
tests: remove an obsolescent self test
tests: "am_using_tap=yes" -> "am_test_protocol=tap"
tests: protect test libs against multiple inclusion
configure: testsuite shell can return early from "dot-sourced" files
tests: move sanitization and "Bournification" in the generic test lib
tests: source test defs in the generic test lib
test defs: no need to re-add $srcdir/t/ax to $PATH
tests: split test libs into "generic" and "automake-specific"
test setup: move actual calling of testsuite setup in ./defs
test setup: merge definitions of function for simple tests
test init: refactor: new function 'am_test_setup'
test init: refactor: move displaying of debugging info later
test init: refactor: new function 'am_setup_testdir'
test init: refactor: new function 'am_set_exit_traps'
configure: testsuite shell set exit traps in shell functions
test init: refactor: new function 'am_exit_trap'
test init: refactor: new function 'process_requirements'
...
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr12041' into maint
* fix-pr12041:
tests: avoid spurious failure when running as root
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fixup list of files in $(xdefs)
syntax-checks.mk (xdefs): Adjust to recent changes: add 't/ax/test-lib.sh'
and 't/ax/test-lib.sh', remove the now-deleted 't/ax/test-init.sh'
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: never source test-defs.sh directly, source test-lib.sh instead
After the recent re-organization, sourcing 'test-defs.sh' directly might
not work well and cause spurious failures or other unexpected behaviours.
We should source 'test-lib.sh' instead, which contains not more direct
code execution (only definition of shell variables/functions, or sourcing
of other '*.sh' with the same property), is protected against multiple
inclusions, and sources 'test-defs.sh' automatically in in a proper way.
* t/testsuite-summary-count.sh, t/tap-summary.sh, t/tap-summary-color.sh,
t/testsuite-summary-color.sh: Source 'test-lib.sh', not 'test-defs.sh'.
* gen-testsuite-part: Likewise, in the generated wrapper scripts.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
runtest: sanitize test environment
* runtest.in: Here, similarly to what is done by AM_TESTS_ENVIRONMENT
in Makefile.am, unset variables that should be under the complete control
of the test framework, and that could create havoc if inherited from the
environment. This remove the need to check against possible environment
"pollution" ...
* t/ax/test-defs.in: ... in here.
* Makefile.am (AM_TESTS_ENVIRONMENT): Add a comment about the need of
synchronization with 'runtest.in'.
* t/self-check-env-sanitize.tap: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove an obsolescent self test
* t/self-check-tap.sh: This. The recent reorganization and code
moving between 'test-defs.sh' and 'test-lib.sh' has made it
brittle and prone to failures. Since the usefulness of this self
check is extremely limited, it's not worth trying to fix it. Just
remove it.
* t/list-of-tests.mk: Adjust.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: "am_using_tap=yes" -> "am_test_protocol=tap"
And similarly, "am_using_tap=no" -> "am_test_protocol=none".
The new '$am_test_protocol' name is clearer, and will allow the easy
addition of further test protocols in the future. This is not truly
relevant for automake, but we are trying to make some parts of our
testsuite framework as general as possible, in view of a future move
to a more generic project like Gnulib.
* Makefile.am, t/ax/am-test-lib.sh, t/ax/test-defs.in, t/ax/test-lib.sh,
t/self-check-env-sanitize.tap, t/self-check-tap.sh: Adjust.
* syntax-checks.mk (sc_tests_obsolete_variables): Add 'am_using_tap' to
the list of obsolete variables to check against.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: protect test libs against multiple inclusion
* t/ax/test-lib.sh, t/ax/am-test-lib.sh: Return early if already sourced.
Use the witness variables '$test_lib_sourced' and '$am_test_lib_sourced',
respectively, for this purpose.
* runtest.in, Makefile.am (AM_TESTS_ENVIRONMENT): Unset 'test_lib_sourced'
and 'am_test_lib_sourced', to avoid interferences from the environment.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: testsuite shell can return early from "dot-sourced" files
* configure.ac: Check that the shell selected to run the test
scripts can call 'return' form within a file being sourced
with the '.' built-in.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: move sanitization and "Bournification" in the generic test lib
* t/ax/test-defs.sh: From here ...
* t/ax/test-lib.sh: ... to here. Also move the initialization of
'$argv0' and '$me'.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: source test defs in the generic test lib
* t/ax/test-lib.sh: That is, here ...
* defs: ... rather than here.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: no need to re-add $srcdir/t/ax to $PATH
* t/ax/test-defs.sh: Here. That is already done by both 'runtest' and
AM_TESTS_ENVIRONMENT, and the presence of '$srcdir/t/ax' in $PATH is
anyway required, after the recent changes, for our testsuite framework
to work at all.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: split test libs into "generic" and "automake-specific"
This is the first step in the quest to merge the generically useful
parts of our test suite framework in a more generic project, like
Gnulib. Time will tell if we'll succeed, and whether the success will
be worth the extra hassle.
* t/ax/test-init.sh: Split out ...
* t/ax/am-test-lib.sh, t/ax/test-lib.sh: ... into these two tests.
* defs, Makefile.am: Adjust.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test setup: move actual calling of testsuite setup in ./defs
* t/ax/test-init.sh: Move call to 'am_test_setup' ...
* defs: ... here.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test setup: merge definitions of function for simple tests
* t/ax/plain-functions.sh: Delete, moving the definitions of ...
($stderr_fileno_): ... this variable ...
(warn_, fail_, skip_, skip_all_, fatal_, framework_failure_): ... and
these functions ...
* t/ax/test-init.sh: ... in here. This allow us to use those functions
earlier in this file (instead of having to duplicate their behaviour
with inlined code). The TAP-based tests are still able to override these
functions later to their TAP-enhanced equivalents when 'tap-functions.sh'
is sourced.
* Makefile.am (dist_noinst_DATA): Remove 't/ax/plain-functions.sh'.
* t/ax/tap-functions.sh: Adjust a comment.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test init: refactor: new function 'am_test_setup'
* t/ax/test-init.sh (am_test_setup): Here.
Call it from the main code. Remove other calls of functions and
settings that are now duly called by 'am_test_setup'.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test init: refactor: move displaying of debugging info later
* t/ax/test-init.sh: Here, about the values of $PATH, $am_using_tap
and $am_running_installcheck.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test init: refactor: new function 'am_setup_testdir'
* t/ax/test-init.sh (am_setup_testdir): Here.
Use it instead of inlining its contents in the main code.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test init: refactor: new function 'am_set_exit_traps'
* t/ax/test-init.sh (am_set_exit_traps): Here.
(trap): Use it instead of inlining the cleanup/finalization code.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: testsuite shell set exit traps in shell functions
* configure.ac: Check that the shell selected to run the test
scripts can set an exit trap in a shell function, without having
that trap executed at the termination of the function rather
than of the scripts. According to the Autoconf manual, at least
AUX 5.3 /bin/sh suffers of such a bug.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test init: refactor: new function 'am_exit_trap'
* t/ax/test-init.sh (am_exit_trap): Here.
(trap): Use it instead of inlining the cleanup/finialization code.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test init: refactor: new function 'process_requirements'
* t/ax/test-init.sh (process_requirements): Here.
Use it in to check that the tools in $required are present.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test init: refactor: new function 'require_tool'
* t/ax/test-init.sh (require_tool): Here.
Use it in the loop in the prerequisites in $required.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test init: remove a couple of paranoid sanity checks
* t/ax/test-init.sh: Here, about 'am_top_srcdir' and 'am_top_builddir';
the values of those variables are AC_SUBST'd, so it's nigh impossible
for the to be wrong or get "messed up".
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: simplify sourcing of helper shell files
Now that the early $PATH setup in both 'runtest' and AM_TESTS_ENVIRONMENT
allow the '.' built-in to find to-be-sourced shell scripts in the 't/ax/'
directory automatically, we can simplify several usages like:
. "$am_testauxdir"/foo.sh
to just:
. foo.sh
Also, because our test scripts run with the 'errexit' flag active, and
because POSIX mandates that, when the '.' built-in is used,
... if no readable file is found, a non-interactive shell shall abort ...
we can further simplify usages like:
. "$am_testauxdir"/foo.sh || fatal_ "sourcing foo.sh"
once again to to just:
. foo.sh
* ./defs, several tests: Adjusted.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: move in 't/ax/test-defs.sh'
We can do so with minimal churn, now that the early setup of $PATH in
both 'runtest' and AM_TESTS_ENVIRONMENT allow the '.' built-in to find
to-be-sourced shell scripts in 't/ax' automatically, both in in-tree
and VPATH builds.
With this change, we take another step forward a more rational and
"segregated" organization of our testsuite framework.
* defs-static.in: Rename ...
* t/ax/test-defs.in: ... like this, and adjust.
* Makefile.am, syntax-checks.mk, t/README, gen-testsuite-part,
t/tests-init.sh, t/ax/tap-setup.sh, t/tap-summary.sh, .gitignore,
t/testsuite-summary-color.sh, t/testsuite-summary-count.sh,
t/self-check-tap.sh, defs: Adjust.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: update PATH early from AM_TESTS_ENVIRONMENT and runtest
Because the POSIX standards mandate that sourcing a file with ". FILE"
will cause FILE (assuming it is a relative containing no slashes) to be
looked for in PATH, such a move will allow us to simplify our sourcing
of shell testing libraries like (currently) 't/ax/test-init.sh' and
'defs', and to modularize and re-organize them better in the feature,
with minimal churn.
* runtest.in, Makefile.am (AM_TEST_ENVIRONMENT): Prepend $(abs_srcdir)/t/ax
and $(abs_builddir)/t/ax (in that order) to PATH; do so avoiding repetition
in the common case of non-VPATH builds.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
runtest: export $srcdir for use by the test scripts
This is mostly a preparatory change in view of future ones. But it
also make the behaviour of runtest more similar to that of the test
harness used by "make check".
* runtest.in: Export srcdir (was already defined to '@srcdir@').
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
gen-tests: $testdir/ax -> $testauxdir
* gen-testsuite-part ($testauxdir): New, defined to "$testdir/ax".
Use it throughout, for better encapsulation and less duplication.
($auxdir): Remove as unneeded.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
gen-tests: less hard-coding of 't' as the test directory
This will make life easier for us in case we decide to rename the
testsuite directory in the future (perhaps to something like 'tests',
which is somewhat less cryptic than the current 't').
* gen-testsuite-part ($testdir): New variable, used throughout instead
of hard-coding the name of the test directory to 't'.
All the script adjusted to make proper use of '$testdir'.
($auxdir): Move its definition earlier, for consistency with the one
of '$testdir'.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
build: auxiliary testsuite files/scripts built by "make all"
This will allow the developers to run a tests case by hand out of
a newly extracted tarball simply doing:
$ ./configure && make
$ ./runtest t/the-test-case.sh
while before this change one has to resort to:
$ ./configure && make && make check TESTS=
$ ./runtest t/the-test-case.sh
or, with some non-GNU makes, even:
$ ./configure && make && make check TESTS= AM_MAKEFLAGS="TESTS="
$ ./runtest t/the-test-case.sh
This come very handy sometimes, especially when doing one-shot
debugging. Admittedly not a big deal, but one less friction in
the build system is always nice.
* Makefile.am (check_SCRIPTS, dist_check_DATA, nodist_check_DATA):
Move their content to ...
(noinst_SCRIPTS, dist_noinst_DATA, nodist_noinst_DATA): ... these
variables.
Adjust comments.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
perf tests: reorganize
* t/list-of-tests.mk (handwritten_TESTS): Don't list ($perf_TESTS) in
here anymore.
* Makefile.am (EXTRA_DIST): Add them explicitly.
(perf): New target, run the performance tests and save the logs of
the ones with unexpected results in the file 't/perf/test-suite.log',
which is thus ...
(PERF_TEST_SUITE_LOG): ... defined in this variable ...
(CLEANFILES): ... and added to this.
(test_subdirs): Remove 't/perf': the tests in there are no more
listed in $(TESTS).
* t/ax/test-init.sh: Don't explicitly skip "perf" test here.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
runtest: pass *all* the given shell options to the test invocation
* runtest.in: Here. This didn't work previously because, in our
option parsing loop, we were mistakenly redefining '$shell_opts'
each time, instead of appending to it.
2012-07-26 Stefano Lattarini <stefano.lattarini@gmail.com>
runtest: correctly pass shell option also for TAP tests
* runtest.in: Here. This required code refactoring not
completely trivial.
2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove leftover comment fragment from runtest.in
2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: improve a comment
* defs-static.in: Here, about the unsetting of CDPATH.
2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: remove obsolete comment
* defs-static.in: Here: do not state anymore that this file should execute
correctly with any system's /bin/sh shell, as this is not true anymore: the
testsuite assumes a POSIX shell throughout these days.
2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
runtest: support option --shell, tell which shell should run the test
* runtest.in: Here. The same effect could have been obtained by
exporting AM_TEST_RUNNER_SHELL to the desired value, but the new
API is simpler and requires less typing and less thinking.
2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
runtest: support passing options over to the shell
* runtest.in: Here. Also, support '--help' to display a nice
help screen.
2012-07-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure when running as root
Fixes automake bug#12041.
* t/primary-prefix-couples-force-valid.sh: If run as root, don't expect
a "test -x" on a non-executable files to fail: for root, all files are
executable (as well as readable and writable), and at least on Solaris
10 that causes "test -x" to succeed also on non-executable files.
2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: avoid non-textual output in a '.log' file
2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid non-textual output in a '.log' file
* t/dist-formats.tap: Here. Otherwise, some inferior awk implementations,
like OpenIndiana /usr/xpg4/bin/awk, could be confused and cause spurious
errors in the testsuite harness.
2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tags: refactor to reduce code duplication (2)
No semantic change is intended.
* lib/am/tags.am (am__define_uniq_tagged_files): New variable,
factor out some code common to ...
(ctags-am, tags-am, ID): ... the recipes of these targets.
2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tags: refactor to reduce code duplication (1)
No semantic change is intended.
* lib/am/tags.am (am__uniquify_input): New variable, factor
out some code common to ...
(ctags-am, tags-am, ID): ... the recipes of these targets.
2012-07-24 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'tags-simplify-recursion' and 'color-tests-always'
* tags-simplify-recursion:
tags: unify recursion for tags targets with that of "usual" targets
* color-tests-always:
tests: better name for a couple of tests
check: support colorized testsuite output by default
2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failure with Solaris /bin/sh
The /bin/sh shell on Solaris is dumb enough not to set the exit
status to 127 after the execution of a non-existing command is
attempted:
$ /bin/sh -c 'nonesuch'; echo stat = $?
/bin/sh: nonesuch: not found
stat = 1
This means that the missing script, when run through that shell,
cannot discriminate between a real failure of a maintainer tool
and a failure due to its absence. This is not a big deal in
practice (especially because all the 'missing' invocations in
our Makefiles are done with $(SHELL), and that is almost surely
set by configure to a proper POSIX shell), but was causing an
annoying failure in our testsuite. Fix it.
* t/missing3.sh: If 'missing' is run with a /bin/sh shell suffering
from the just-described bug, skip the check that would spuriously
fail due to that bug.
2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix buglet in t/missing3.sh
* t/missing3.sh: Be sure to use 'run_cmd' also in the first invocation
of 'missing', to ensure the stderr will actually be saved in a file we
can later grep.
2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
self tests: avoid spurious failures on older bash
tests: remove t/parallel-tests-many.sh (fixes spurious failure)
typofix: in a comment in the automake script
news: minor fixlets and reordering
2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr11909' into maint
* fix-pr11909:
self tests: avoid spurious failures on older bash
2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: avoid spurious failures on older bash
Fixes automake bug#11909.
* t/self-check-explicit-skips.sh: Remove or rework few checks for use
cases that are no more relevant nor supported now that we've got rid
of the need to use the 'Exit' function explicitly. Make the other
existing checks stricter.
2012-07-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove t/parallel-tests-many.sh (fixes spurious failure)
That test was checking for automake#7868 "parallel-tests and command-line
length limit issue". That bug is still open, and the tests was xfailing.
What concerns us is that the test was also causing an annoying problem.
On Solaris 10, it produced a '.log' file with two overly-long lines (more
than 1 million characters long!) and that was causing the test harness to
experience spurious failures, with Solaris XPG4 awk complaining that:
/usr/xpg4/bin/awk: line 0 (NR=734): Record too long (LIMIT: 19999 bytes)
A little consideration shows that the bug#7868 checked by the culprit
test cannot be solved "by accident", e.g., by another bug fix or some
simple refactoring, so there is little added value in keeping the xfailing
test for it, if this causes other problems (and we've seen it does).
So we just remove the test. In case we ever manage to fix the bug in
mainline automake, we can copy over the similar test(s) from Automake-NG,
which has actually managed to fix the bug (and have simpler test cases
for it).
* t/parallel-tests-many.sh: Delete.
* t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Remove it.
2012-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: better name for a couple of tests
* t/color.sh: Rename ...
* t/color-tests.sh: ... like this.
* t/color2.sh: Rename ...
* t/color-tests2.sh: ... like this.
* t/list-of-tests.mk: Adjust.
2012-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
check: support colorized testsuite output by default
Fixes automake bug#11855.
With this change, we make the 'color-tests' option enabled by default.
That option remains still silently accepted as a no-op, for backward
compatibility.
The developer of a package is still free to disable testsuite coloring on
a per-makefile basis (by adding "AM_COLOR_TESTS = no" to the Makefile.am)
or on a whole-project basis (by AC_SUBST'ing AM_COLOR_TESTS to "no" in
configure.ac). But now the user will be able to request the testsuite
output to be colorized, if he really wants to:
# With GNU make:
make AM_COLOR_TESTS=yes check
# With non-GNU make:
make AM_COLOR_TESTS=yes AM_MAKEFLAGS=AM_COLOR_TESTS=yes check
* NEWS: Update.
* doc/automake.texi: Updated, and some related minor reformatting
and rewording.
* automake.in (handle_tests): No need to pass the transform '%COLOR%'
when processing "check.am".
* lib/am/parallel-tests.am: Remove use of the '%?COLOR%' transform;
just act as if it were unconditionally TRUE.
* t/color.sh: No need to specify 'color-tests' in 'AUTOMAKE_OPTIONS'
nor in 'AM_INIT_AUTOMAKE'.
* t/ax/testsuite-summary-checks.sh: Likewise.
* t/ax/tap-summary-aux.sh: Likewise.
* t/color2.sh: Likewise. Also, ensure that colorized testsuite output
can be disabled by default by calling "AC_SUBST([AM_COLOR_TESTS], [no])".
* t/tap-realtime.sh: Define 'AM_COLOR_TESTS' to "no" in Makefile.am, to
avoid spurious colorization of the output due to the use of the 'expect'
program.
* t/color-tests-opt.sh: New test, check that the 'color-tests' option is
still recognized as a no-op.
* t/list-of-tests.mk: Add the new test.
2012-07-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tags: unify recursion for tags targets with that of "usual" targets
This change has a side effect: now any failure of the 'tags', 'ctags',
'cscope' and 'cscopelist' targets in a subdirectory will cause the
recursive command issued from the top directory to fail. We believe
that this behavioural change is not only justified by the simplification
this patch entails, but actually offers better semantics: ignoring
failures by default is never a good idea, and with make, the user can
anyway order the completion of commands in the face of possible failures
with the '-k' option.
* NEWS: Update.
* automake.in (%required_targets): Add keys 'cscopelist-am', 'tags-am'
and 'ctags-am'.
(handle_tags): Greatly simplified, the major part of the handling of
recursion for the 'tags', 'ctags' and 'cscopelist' now moved out to ...
* lib/am/tags.am: ... this file, that has been adjusted and extended
accordingly.
* t/maken3.sh: Remove testing of the 'TAGS' target, that is now just
an alias to 'tags'. Without this change, this test would spuriously
fail.
2012-07-21 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: in a comment in the automake script
* automake.in (process_file): Here.
2012-07-17 Stefano Lattarini <stefano.lattarini@gmail.com>
news: minor fixlets and reordering
2012-07-16 Jack Kelly <jack@jackkelly.name>
elisp: --batch implies -q, remove -q
According to the emacs manual[1], --batch implies -q, so there's no
need to pass -q when compiling elisp.
* lib/am/lisp.am: Remove -q from $(EMACS) call.
[1]: http://gnu.org/s/emacs/manual/html_node/emacs/Initial-Options.html
2012-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
fixup: delete "# serial" line in m4/amversion.in
news: update about recent ylwrap changes and fixes
m4: get rid of "# serial" lines
configure: ${#param} must be supported by the shell for the testsuite
yacc tests: fix a spurious failure with parallel make
ylwrap: use proper quoting inside a `...` substitution
ylwrap: don't uselessly reset the exit status in case of failure
ylwrap: fix C++ support for Bison
ylwrap: refactor: move loop invariant
ylwrap: refactoring: don't rely on the file order
tests: upgrade and fix Bison test case
tests: fix bison input file
ylwrap: comment changes
ylwrap: modernize idioms
ylwrap: rename header inclusion in generated parsers
ylwrap: simplify the list of renamings
ylwrap: refactor: less duplication
2012-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: delete "# serial" line in m4/amversion.in
Otherwise, when m4/amversion.m4 is regenerated, it will contain a
serial line as well.
2012-07-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'yacc-work' into maint
* yacc-work:
news: update about recent ylwrap changes and fixes
yacc tests: fix a spurious failure with parallel make
ylwrap: use proper quoting inside a `...` substitution
ylwrap: don't uselessly reset the exit status in case of failure
ylwrap: fix C++ support for Bison
ylwrap: refactor: move loop invariant
ylwrap: refactoring: don't rely on the file order
tests: upgrade and fix Bison test case
tests: fix bison input file
ylwrap: comment changes
ylwrap: modernize idioms
ylwrap: rename header inclusion in generated parsers
ylwrap: simplify the list of renamings
ylwrap: refactor: less duplication
2012-07-16 Akim Demaille <akim@lrde.epita.fr>
news: update about recent ylwrap changes and fixes
* NEWS: In ylwrap, renamings are properly propagated, and unknown
files are preserved.
2012-07-15 Stefano Lattarini <stefano.lattarini@gmail.com>
elisp: support elisp files in subdirectories properly
For more reference, see:
<http://lists.gnu.org/archive/html/automake/2009-10/msg00013.html>
<http://thread.gmane.org/gmane.comp.sysutils.automake.bugs/4772>
* lib/am/lisp.am (.el.elc): If the file being byte-compiled is in
a subdirectory, add that (both as a subdirectory of the builddir
and the srcdir) to the emacs load path. While we are at it (and
for consistency), drop quoting of $(srcdir) and $(builddir), since
those variables are ensured (by configure-time checks) not to
contain white space nor shell metacharacters.
* t/list-of-tests.mk (XFAIL_TESTS): Add 't/lisp-subdir.sh' and
't/lisp-subdir2.sh', since they now passes.
2012-07-15 Stefano Lattarini <stefano.lattarini@gmail.com>
elisp: simplify suffix rules using emacs '-L' option
* lib/am/lisp.am (.el.elc): Use '-L dir' instead of calling '--eval' to
explicitly append to the 'load-path' variable.
2012-07-15 Stefano Lattarini <stefano.lattarini@gmail.com>
elisp: no need to "absolutize" $(srcdir) and $(builddir) ...
* lib/am/lisp.am (.el.elc): ... here: we don't chdir around anyway,
nor move or copy around our source '.el' files. Update comments,
and re-wrap them while we are at it.
2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
elisp: prefer $(builddir) files over $(srcdir) ones
* lib/am/lisp.am (.el.elc): Here. This better respects VPATH spirit.
Adjust and extends comments.
* t/list-of-tests.mk (XFAIL_TESTS): Remove 't/lisp-loadpath.sh', which
now passes.
2012-07-14 Jack Kelly <jack@jackkelly.name>
elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite)
Motivated by automake bug#11806.
Traditionally, automake byte-compiled emacs-lisp '.el' files by invoking
'elisp-comp' on all of them in a bulk; this involved complex timestamping
and file-locking logic. It was also brittle in any slightly-unusual
setup, because 'elisp-comp' operated by copying all of the elisp files
to be compiled into a temporary sub-directory and compiling them in there,
the copying the resulting byte-compile files back in the build directory.
This patch removes all of that juggling and chicanery in favour of
defining a much simpler '.el.elc' suffix rule. Not only this is simpler,
but it also interacts better with "make -jN" calls, which are becoming
more and more common and useful on today's increasingly multicore systems.
* Makefile.am (dist_script_DATA): Remove 'elisp-comp'.
* automake.in (@common_files): Likewise.
(handle_emacs_lisp): Do not require 'elisp-comp'.
* doc/automake.texi: Remove references to 'elisp-comp'.
* lib/am/lisp.am: Define elisp compilation via a suffix rule; this
basically amounts to a complete re-write of the lisp byte-compilation
rules.
* lib/elisp-comp: Remove.
* t/add-missing.tap: Remove elisp-comp test.
* t/dist-auxdir-many-subdirs.sh: Remove reference to elisp-comp.
* t/primary-prefix-invalid-couples.tap: Likewise.
* t/primary-prefix-valid-couples.sh: Likewise.
* t/lisp4.sh: Remove reference to elc-stamp.
* t/lisp5.sh: Likewise.
* t/lisp6.sh: Likewise.
* t/lisp3.sh: Likewise. Also remove the recompilation check that
involves a (message) call.
* t/lisp7.sh: Remove check for "Warnings can be ignored". Remove
reference to elc-stamp.
* t/lisp8.sh: Likewise.
* t/lispdry.sh: Remove references to elc-stamp.
Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: elisp path contains $(srcdir) and $(builddir)
* t/lisp-loadpath.sh: Check that. Also check that, in true VPATH
spirit, elisp files in the build directory are preferred to those
in the source directory. This test currently fails.
* t/list-of-tests.mk (handwritten_TESTS): Add the new test.
(XFAIL_TESTS): Likewise.
2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: emacs lisp files in subdirectories
* t/lisp-subdir.sh, t/lisp-subdir2.sh: New tests, still failing.
* t/list-of-files.mk (handwritten_TESTS, XFAIL_TESTS): Add them.
2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
m4: get rid of "# serial" lines
The "#serial" lines are only considered by aclocal for the system-wide
third-party '.m4' files, not for the Automake-provided ones. So they
serve no real purpose in the Automake '.m4' files.
In addition, now that we use git and topic branches, and that we are also
writing the Automake-NG fork, the "#serial" lines are becoming more and
more unreliable (e.g., different version of the same file in different
branches can easily end up having the same serial numbers).
So let's just nuke all the "#serial" lines. See also automake bug#11932.
* m4/*.m4: All "# serial" lines removed.
2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: ${#param} must be supported by the shell for the testsuite
This will be required at least by the Automake-NG branch.
* configure.ac: Require the $AM_TEST_RUNNER_SHELL supports ${#param} as
a way to obtain the length of the expansion of the variable $param.
2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc tests: fix a spurious failure with parallel make
* t/yacc-bison-skeleton.sh (Makefile.am): Add 'zardoz.h'
to BUILT_SOURCES.
2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
ylwrap: use proper quoting inside a `...` substitution
* lib/ylwrap ($target): Here, when redefining this to a temporary file.
2012-07-14 Stefano Lattarini <stefano.lattarini@gmail.com>
ylwrap: don't uselessly reset the exit status in case of failure
* lib/ylwrap: Here. In case of a failure in the wrapped yacc/lex
invocation, '$ret' (holding the final exit status of ylwrap) was
being uselessly reset to '1' in the later if/else.
2012-07-14 Akim Demaille <akim@lrde.epita.fr>
ylwrap: fix C++ support for Bison
Fixes automake bug#7648.
The current logic of ylwrap is to call yacc in a sub directory, and
pull out of it all the files that were requested on its command line.
Reverse this approach: export *all* the files created in the
subdirectory, but rename them according to what the command says.
This way, extra files, such as position.hh, location.hh and stack.hh
for C++ parsers, but also parser.xml or parser.dot if XML or Dot
output is enabled, will be preserved.
* lib/ylwrap (pairlist): Remove.
(main loop): Don't loop over pairlist, but over the files in the
temporary directory.
* t/list-of-tests.mk (XFAIL_TESTS): Fixes t/yacc-bison-skeleton-cxx.sh.
* THANKS (James Bostock): Add, he reported bug#7648.
2012-07-14 Akim Demaille <akim@lrde.epita.fr>
ylwrap: refactor: move loop invariant
* lib/ylwrap (input_rx): Move its definition next to its sibling's,
outside of the main loop.
2012-07-14 Akim Demaille <akim@lrde.epita.fr>
ylwrap: refactoring: don't rely on the file order
Forthcoming changes will make us iterate over the files in a different
order.
lib/ylwrap (first): Remove, replaced by...
(parser): this.
2012-07-14 Akim Demaille <akim@lrde.epita.fr>
tests: upgrade and fix Bison test case
* t/yacc-bison-skeleton-cxx.sh: Request locations, to be
even more stressful.
Use %union to make sure the %{...%} is inserted where appropriate.
Fix some indentation/coding style issues.
2012-07-14 Akim Demaille <akim@lrde.epita.fr>
tests: fix bison input file
Do not provide implementations in the %{...%} section, especially if the
header is included elsewhere, since then the linker will complain about
multiple definitions.
Reported by Stefano Lattarini,
<http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00126.html>.
* t/yacc-bison-skeleton.sh (zardoz.y): Define yylex and yyerror in the
epilogue.
2012-07-14 Akim Demaille <akim@lrde.epita.fr>
ylwrap: comment changes
* lib/ylwrap: Improve some comments.
2012-07-14 Akim Demaille <akim@lrde.epita.fr>
ylwrap: modernize idioms
* lib/ylwrap: Prefer printf to echo when special characters may
occur.
Replace the historical ',' sed separator with '|'.
2012-07-14 Akim Demaille <akim@lrde.epita.fr>
ylwrap: rename header inclusion in generated parsers
Some types of Bison parsers, such as the GLR ones, generate a header
file that they include. ylwrap, which renames the generated files,
does not rename the included file. Fix this shortcoming, reported
for instance here:
<http://lists.gnu.org/archive/html/bug-bison/2012-06/msg00033.html>.
Fixes t/yacc-bison-skeleton.sh, see Automake bug#7648 and PR automake/491.
* lib/ylwrap (quote_for_sed): Accept arguments.
Catch more special characters.
(rename_sed): New.
Improve the previous renaming sed commands using quote_for_sed.
Suggested by Stefano Lattarini here:
<http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00095.html>.
(main loop): Use rename_sed to rename the dependencies to other files.
* t/yacc-d-basic.sh: Exercise this case, even if bison/yacc was
not issuing such an include.
* t/list-of-tests.mk (XFAIL_TESTS): Adjust.
2012-07-14 Akim Demaille <akim@lrde.epita.fr>
ylwrap: simplify the list of renamings
* lib/ylwrap (pairwise): Instead of being a straightforward copy from
the command line arguments, and having to deal with y.tab vs. y_tab
later, let pairwise store the real file names to process, y_tab
conversion included when needed.
(main loop): Use $to instead of $2, for symmetry with $from.
2012-07-14 Akim Demaille <akim@lrde.epita.fr>
ylwrap: refactor: less duplication
* lib/ylwrap (guard): New function.
Move functions before actual code.
2012-07-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
news: mention fixed testsuite weaknesses
news: bump, for future 1.12.3
tests: verify the shell test scripts are syntactically valid
tests: don't use C instead of C++ compiler on case-insensitive platforms
tests: avoid spurious TAP errors on Mac OS X 10.7
tests: fix spurious failure in aclocal7.sh on fast machines
2012-07-13 Stefano Lattarini <stefano.lattarini@gmail.com>
news: mention fixed testsuite weaknesses
2012-07-13 Stefano Lattarini <stefano.lattarini@gmail.com>
news: bump, for future 1.12.3
2012-07-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'fix-pr11898' and 'fix-pr-11893-and-10766' into maint
* fix-pr11898:
tests: verify the shell test scripts are syntactically valid
* fix-pr-11893-and-10766:
tests: don't use C instead of C++ compiler on case-insensitive platforms
2012-07-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: verify the shell test scripts are syntactically valid
Fixes automake bug#11898.
This measure of extra safety is mostly motivated by the fact that some
shells (at least some versions of Bash in the 3.x release series, one
of which serves as /bin/sh on Mac OS X 10.7, as well as Bash 4.0 and the
/usr/xpg4/bin/sh shell from Solaris 10) erroneously exit with exit status
0 upon encountering a syntax error, if an exit trap is sett (as it is in
our test scripts).
* Makefile.am (check-tests-syntax): New, check that the shell test
scripts listed in $(TESTS) are syntactically correct.
(.PHONY, check-local): Depend on it.
* t/self-check-exit.tap : Remove checks verifying that a script exits
with non-zero status upon encountering a syntax error; as explained
above, we can't depend on that.
2012-07-12 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: style changes to Portland Group Compilers support
* lib/depcomp (pgcc): Quote 'like this', not `like this'. Other minor
quoting improvements. Remove a commented-out command. In comments,
use proper capitalization and punctuation. Make a more consistent use
of whitespace. Make fatal error messages more nicely formatted, and
send them to standard error rather than to standard output.
2012-07-12 Dave Goodell <goodell@mcs.anl.gov>
Jeff A. Daily <jeff.daily@pnnl.gov>
depcomp: initial support for Portland Group Compilers
* lib/depcomp: Here. See automake bug#8880.
Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2012-07-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't use C instead of C++ compiler on case-insensitive platforms
This change fixes automake bug#11893 and bug#10766.
On at least Cygwin and Mac OS X 10.7, the file system where the system
compilers are located can be case-insensitive, so that looking for a
program named 'CC' might actually find the C compiler in /usr/bin/cc.
Now, the Automake configure script looks for a C++ compiler named 'CC'
before looking for more obvious names like c++ or g++ (that is done to
increase testsuite "coverage in the wild", e.g., preferring, on Solaris,
the Sun Studio C++ compiler /usr/bin/CC over the GNU C++ compiler).
Since the checks done in AC_PROG_CXX are apparently not strict enough
to rule out C compilers like those from GCC or Clang (which are smart
enough to recognize if a file has a C++ extension, passing it to the
C++ front end) the testsuite might end up using a C compiler where a
C++ one is expected, with some subtle bad consequences.
* configure.ac: Don't look for a C++ compiler named 'CC' if the
"top-level" file system(s) (where /bin and /usr/bin are) are detected
to be case-insensitive.
Reported-by: Peter Rosin <peda@lysator.liu.se>
Reported-by: Max Horn <max@quendi.de>
Helped-by: Eric Blake <eblake@redhat.com>
2012-07-10 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious TAP errors on Mac OS X 10.7
Fixes automake bug#1897. Reported by Max Horn.
* t/suffix8.tap: The libtool bug#11895 was causing the ./configure script
to output a stray "ok" string on a line of its own, confusing the TAP
driver into thinking this was an extra test result (which resulted in the
next, real test results being flagged as "OUT-OF-ORDER"). Fix this by
protecting configure output.
* t/suffix10.tap: Likewise, and for the "make distcheck" output as well.
* THANKS: Update.
2012-07-10 Adam Sampson <ats@offog.org> (tiny change)
tests: fix spurious failure in aclocal7.sh on fast machines
Fixes automake bug#11896. Issue introduced in commit v1.12.1-46-g13dd512.
* t/aclocal7.sh: Since aclocal rewrites aclocal.m4 unless the input files
are all older than the existing aclocal.m4, so we must sleep to ensure
somedefs.m4 has an older timestamp than the aclocal.m4 the next aclocal
call will generate.
2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' (with fix for CVE-2012-3386)
This makes the fix for a locally-exploitable security vulnerability
(CVE-2012-3386) available to the Automake master branch.
* maint:
sync: update files from upstream with "make fetch"
news: improve wording in entry about CVE-2012-3386
maint: post-release minor version bump
release: stable release 1.12.2
distcheck: never make part of $(distdir) world-writable
compat: automake should substitute @mkdir_p@, for backward compatibility
fixup: t/README: it's ./runtest, not ./t/ax/runtest
2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/config.guess, lib/gitlog-to-changelog, lib/texinfo.tex: Update.
2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
news: improve wording in entry about CVE-2012-3386
2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: post-release minor version bump
* configure.ac (AC_INIT): Bump version number to 1.12.2a.
* m4/amversion.m4: Likewise (automatically regenerated by
"make bootstrap").
2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable release 1.12.2
* configure.ac (AC_INIT): Bump version number to 1.12.2.
* m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'distcheck-vulnerability-CVE-2012-3386' into maint
* distcheck-vulnerability-CVE-2012-3386:
distcheck: never make part of $(distdir) world-writable
2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
distcheck: never make part of $(distdir) world-writable
This fixes a locally-exploitable security vulnerability (CVE-2012-3386).
In the 'distcheck' rule, we used to make the just-extracted (from
the distribution tarball) $(distdir) directory and all its files and
subdirectories read-only; then, in order to create the '_inst' and
'_build' subdirectories in there (used by the rest of the recipe) we
made the top-level $(distdir) *world-writable* for an instant (the
time to create those two directories) before making it read-only
again.
Making that directory world-writable (albeit only briefly) introduced a
locally exploitable race condition for those who run "make distcheck" with
a non-restrictive umask (e.g., 022) in a directory that is accessible by
others. A successful exploit would result in arbitrary code execution
with the privileges of the user running "make distcheck" -- game over.
Jim Meyering wrote a proof-of-concept script showing that such exploit is
easily implemented.
This issue is similar to the CVE-2009-4029 vulnerability:
<http://lists.gnu.org/archive/html/automake/2009-12/msg00012.html>
* lib/am/distdir.am (distcheck): Don't make $(distdir) world-writable,
not even for an instant; make it user-writable instead, which is enough.
Helped-By: Jim Meyering <jim@meyering.net>
2012-07-09 Stefano Lattarini <stefano.lattarini@gmail.com>
compat: automake should substitute @mkdir_p@, for backward compatibility
That has been unwittingly broken by commit v1.12-19-g7a1eb9f of 2012-04-28,
"AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13". We thought it
wasn't a big deal, but Jim Meyering reported that @mkdir_p@ is used in
gettext's Makefile.in.in template:
<http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
* lib/am/header-vars.am (mkdir_p): Don't define.
* m4/init.m4 (AM_INIT_AUTOMAKE): AC_SUBST 'mkdir_p' with $(MKDIR_P).
* t/mkdir_p.sh, t/mkdirp-deprecation.sh: Enhance.
* NEWS: Update.
2012-07-08 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: t/README: it's ./runtest, not ./t/ax/runtest
* t/README (Supported shells): Here. And remove an extra empty line.
2012-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: move 'runtest' into the top-level directory
2012-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: move 'runtest' into the top-level directory
Move our wrapper script 'runtest' (meant to allow the execution of
Automake test cases from the command line) from the 't/ax/' directory
to the top-level one. This makes the script easier to find and to
invoke. Much more importantly, our DejaGNU-checking test cases won't
try anymore to use that script instead of the 'runtest' program provided
by DejaGNU (that happened because '$(srcdir)/t/ax/' is automatically
added early to the $PATH variable in our test cases), which was causing
spurious SKIPs.
* t/ax/runtest.in: Move ...
* runtest.in: ... here.
* Makefile.am, t/README, .gitignore: Adjust.
2012-07-07 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
cosmetics: rename t/ax/test-runner => t/ax/runtest
fixup: another "make recheck" failure with BSD make
test runner: work correctly in VPATH setups
compat: automake should define $(mkdir_p), for backward compatibility
coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works
tests init: don't automatically re-execute tests with a POSIX shell
yacc tests: fix spurious failure with parallel make
tests: ignore minor 'recheck' regression for BSD make
tests: don't clutter the top-level dir with temporary test directories
tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d"
lisp: better support of VPATH builds
news: fixlets and updates
+ Extra non-trivial edits:
* NEWS: State that $(mkdir_p) is still provided as an alias to
$(MKDIR_P), for (partial) backward-compatibility.
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: rename t/ax/test-runner => t/ax/runtest
The latter is shorter and clearer. Better to do the rename early,
before other developers or contributors begin to get used to the
'test-runner' name.
* t/ax/test-runner.in: Rename ...
* t/ax/runtest.in: ... like this.
* Makefile.am, t/README, .gitignore: Adjust.
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: another "make recheck" failure with BSD make
* t/parallel-tests-log-override-recheck.sh: Here, add a proper $sleep
before calling "make recheck". This should ideally have been done
in the earlier commit 'v1.12.1-100-g19d84bc', but it somehow slipped
through the cracks.
* t/test-metadata-recheck.sh: Likewise.
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
test runner: work correctly in VPATH setups
Due to a "feature" of AC_CONFIG_FILES, because 't/ax/test-runner.in'
is in a subdirectory, the '@srcdir@' value that is AC_SUBST'd in it
gets tweaked to contain as much '..' components as are the directory
components of 't/ax/test-runner'. Because our build system operates
in a non-recursive setup, this substitution is wrong; for example,
the final 't/ax/test-runner' build in a VPATH builds where the source
directory is ".." contains the line:
: ${srcdir='../../../t/ax'}
instead of the expected (and correct):
: ${srcdir='../t/ax'}
We solve the issue by building 't/ax/test-runner' with a Makefile
recipe instead of config.status substitutions; this is already done
for other testsuite-related files, like 'defs-static'.
* configure.ac (AC_CONFIG_FILES): Don't build 't/ax/test-runner'
anymore.
* Makefile.am (t/ax/test-runner): New rule.
(EXTRA_DIST): Add 't/ax/test-runner.in'.
(CLEANFILES, noinst_SCRIPTS): Add 't/ax/test-runner'.
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr11806' into maint
* fix-pr11806:
lisp: better support of VPATH builds
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests init: don't automatically re-execute tests with a POSIX shell
I've unwittingly broken support for that feature *again* in some of
my recent testsuite tweaking. In this case, the re-execution code
works correctly when the tests are executed with a POSIX shells, but
breaks when they are invoked by an old-style Bourne shells (e.g.,
/bin/sh on Solaris).
It's time to face it: that feature is too much brittle, and too seldom
used (because the Makefile takes care of running the tests with the
correct shell anyway, so that a breakage is only experienced when
running the tests by hand). It just don't remain working for long, not
when we often touch the testsuite setup (which we are going to do again
when we'll try to move part of our testsuite framework to Gnulib, or a
similar project).
So, instead of trying to be extra-smart and automatically re-execute the
tests with the correct shell, we now offer a simple wrapper script that
the user can employ to run the test scripts with the proper shell. And
while we are at it, we write this wrapper to also deal with TAP tests in
a better way, running them through the prove(1) utility, so that their
results are correctly recognized and reported.
* t/ax/test-runner.in: New file; the wrapper script we were talking about.
* configure.ac (AC_CONFIG_FILES): Process it into 't/ax/test-runner'.
* .gitignore: Add 't/ax/test-runner'.
* defs: Remove code for automatic re-execution of the scripts with the
correct shell. This file now just a very thin layer around 'defs-static'
and 't/ax/test-init.sh'.
* t/README: Adjust, and remove or fix some imprecise or outdated text in
the process (like "... test scripts are written with portability in mind,
so that they should run with any decent Bourne-compatible shell ..." ).
* Makefile.am (AM_TESTS_ENVIRONMENT): No need to export 'AM_TESTS_REEXEC'
to "no" anymore.
* t/self-check-explicit-skips.sh: Likewise.
* t/self-check-exit.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-reexec.tap: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc tests: fix spurious failure with parallel make
* t/yacc-deleted-headers.sh: Here, by adding a missing dependency
in the Makefile.am. Revealed by a failure with Sun Distributed make
run on Solaris 10 in parallel mode.
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: ignore minor 'recheck' regression for BSD make
It turns out that, with NetBSD 5.1 make and FreeBSD 9 make, running
"make recheck" two times in a row quickly fails to correctly re-run
the failed tests in the second run.
That issue has been introduced likely introduced in commit
'v1.12.1-95-gd5443e4' of 20102-07-01, "parallel-tests: reimplement
fix for bug#11791".
Anyway, the use case that has been broken is not realistic (who is
going to run "make recheck" two times in one second, without modifying
any of the tests or the tested programs in the meantime?), so we believe
the best fix is to simply work around the issue in the affected test
cases, rather than risking to slow down or uglify the 'recheck' rule.
* t/parallel-tests9.sh: Enhance a little.
* t/tap-recheck.sh: Adjust adding proper '$sleep' calls were required.
* t/parallel-tests-log-override-recheck.sh: Likewise.
* t/test-driver-custom-multitest-recheck.sh: Likewise.
* t/test-driver-custom-multitest-recheck2.sh: Likewise.
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't clutter the top-level dir with temporary test directories
* t/self-check-me.tap: Be sure to initialize '$am_create_testdir' to "no"
in all the shell invocations sourcing './defs'. Otherwise, when running
the testsuite with 'keep_testdirs=yes', the following temporary director
are left cluttering the top-level directory:
./012.dir
./abc..dir
./a.b.c.dir
./foo.dir
./foo.bar.dir
./foo-bar-.dir
./_foo__bar.dir
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures when @MKDIR_P@ points to "install-sh -d"
* t/self-check-cleanup.tap: Several checks in this test were failing on
NetBSD 5.1. That happened because on that system, '@MKDIR_P@' expands to
an "install-sh -d" invocation that references the $(builddir), and the
code trying to duplicate some of the Automake testsuite infrastructure
in the test subdirectory of this self test wasn't smart enough to cater
to that situation. Granted, we could tweak the test case once more to
fix this Yet Another Spurious Failure, but at this point it has become
clear that the extra coverage offered by this test is not worth all the
hassle. Just remove the test. Since the testsuite is regularly run on
several systems and with different setups, most issues with the testsuite
framework will reveal themselves anyway; no actual need to unit-test them
in our testsuite, if that's too tricky.
* t/list-of-tests.mk: Adjust.
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
compat: automake should define $(mkdir_p), for backward compatibility
That has been unwittingly broken by commit 'v1.12-19-g7a1eb9f'
of 2012-04-28, "AM_PROG_MKDIR_P: deprecate, to be removed in
Automake 1.13".
Report from Benoit Sigoure and Diego Elio Pattenò:
<http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
* lib/am/header-vars.am (mkdir_p): Define as an alias for $(MKDIR_P).
* t/list-of-tests.mk (XFAIL_TESTS): Remove 't/mkdir_p.sh'.
* NEWS: Update.
2012-07-06 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: test that AM_PROG_MKDIR_P and $(mkdir_p) still works
They are deprecated, but should continue to work in the 1.12.x
release series. Report from Benoit Sigoure and Diego Elio Pattenò:
<http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
* t/mkdirp-deprecation.sh: Enhance.
* t/mkdir_p.sh: New test, check that AM_INIT_AUTOMAKE still defines
the $(mkdir_p) make variable. Currently xfailing.
* t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add the new
test.
2012-07-06 Jack Kelly <jack@jackkelly.name> (tiny change)
Stefano Lattarini <stefano.lattarini@gnu.org>
lisp: better support of VPATH builds
Fixes automake bug#11806.
* lib/am/lisp.am: Pass the value of '$(abs_srcdir)' to the
elisp-compile script in the environment.
* lib/elisp-comp: Add the vale of '$abs_srcdir' to the emacs
load-path.
* t/lisp-pr11806.sh: New test.
* t/list-of-tests.mk: Add it.
Reported-by: Makoto Fujiwara <makoto@ki.nu>
2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make 't/aclocal-macrodir.tap' executable
2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix spurious failure in 'maintainer-check-list-of-tests'
* Makefile.am (test_subdirs): Add 'contrib/t', otherwise we would get a
spurious error like:
List of tests in Makefile an on filesystem differ
+ diff -u in-makefile on-filesystem
--- tests-in-makefile-list.tmp 2012-07-03 23:07:47.000000000 +0200
+++ tests-on-filesystem-list.tmp 2012-07-03 23:07:47.000000000 +0200
@@ -1,7 +1,3 @@
-contrib/t/help-multilib.sh
-contrib/t/multilib.sh
-contrib/t/parallel-tests-html-recursive.sh
-contrib/t/parallel-tests-html.sh
t/ac-output-old.tap
t/acloca10.sh
t/acloca11.sh
make: *** [maintainer-check-list-of-tests] Error 1
2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
build: fix cleaning of test directories in contrib (and in t/perf)
* Makefile.am (clean-local-check): Update recipe to cater to the fact
that some tests using a temporary directory have been placed in other
directories that the 't/' directory (for the moment, at least 't/perf'
and 'contrib/t').
2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'aclocal-trace-macrodir'
* aclocal-trace-macrodir:
aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead
2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: deprecate ACLOCAL_AMFLAGS, trace AC_CONFIG_MACRO_DIR instead
Maintaining ACLOCAL_AMFLAGS in the Makefile.am to pass extra flags
to aclocal is (and have always been) quite of an hack. For example,
autoreconf is forced to grep Makefile.am to honour those flags. But
this is a bad obsolescent behaviour; in fact, the autotools have moved
consistently in the past years from custom grepping of Makefile.am and
configure.ac to tracing of m4 macro calls, which is more consistent,
more reliable and more flexible.
And when autoreconf is not used, the developer is forced to add *by hand*
the flags specified by ACLOCAL_AMFLAGS to the aclocal calls not triggered
by make rebuild rules; here lie again more duplication and more chances
for errors.
Moreover, ACLOCAL_AMFLAGS has only two typical use cases:
- to instruct aclocal to look for extra macro definition in a local
directory (as with "ACLOCAL_AMFLAGS = -I m4"); and
- to further instruct aclocal to copy in that local directory the
required third-party .m4 files found in the system-wide directory
(as with "ACLOCAL_AMFLAGS = -I m4 --install").
The first use case can be better covered if aclocal can instead trace and
honours call to the AC_CONFIG_MACRO_DIR autoconf macro; and the second
use case shouldn't be considered really legitimate, as it is quite (and
subtly) brittle (see automake bug#9037).
Thus we now make aclocal trace AC_CONFIG_MACRO_DIR macro, and act
accordingly. For backward compatibility, we continue to support the
ACLOCAL_AMFLAGS special variable (although removing any mention of it
from the documentation). Future Automake releases will likely start
to warn about the use of that variable, and eventually remove support
for it altogether.
From a suggestion by Eric Blake.
This is a much simplified (and IMHO saner) version of the patch series
discussed in the threads:
<http://lists.gnu.org/archive/html/automake-patches/2010-10/msg00045.html>
<http://lists.gnu.org/archive/html/automake-patches/2010-12/msg00156.html>
* aclocal.in ($ac_config_macro_dir): New global variable.
(trace_used_macros): Also trace the macro 'AC_CONFIG_MACRO_DIR',
and set the '$ac_config_macro_dir' variable accordingly.
(parse_arguments): Code for diagnosis of '--install' used without
any user-specified include directory moved ...
(while (1)): .. into the main loop. Which now also updates the
list of user-specified include directories to include the directory
given as argument to the call (if any) of 'AC_CONFIG_MACRO_DIR'.
* lib/am/configure.am: Update comments.
* NEWS: Updated.
* doc/automake.texi: Likewise. Also, stop advising the use of the
'--install' in ACLOCAL_AMFLAGS (see automake bug#9037 for a rationale),
and remove any reference to ACLOCAL_AMFLAGS (which is now considered
obsolescent).
* t/aclocal-path-install.sh: Adjust grepping check in the aclocal
error messages.
* t/subpkg.sh: Updated: add 'AC_CONFIG_MACRO_DIR' call to configure.ac,
remove setting of 'ACLOCAL_AMFLAGS' in Makefile.am and use of aclocal
command line arguments.
* t/subpkg2.sh: Likewise.
* t/subdir8.sh: Likewise.
* t/remake10c.sh: Likewise.
* t/remake8a.sh: Likewise.
* t/remake8b.sh: Likewise.
* t/aclocal4.sh: Likewise.
* t/aclocal6.sh: Likewise.
* t/acloca14.sh: Likewise.
* t/acloca22.sh: Likewise.
* t/aclocal5.sh: Likewise, and do not not invade the Automake
namespace (this avoids spurious failures).
* t/acloca14b.sh: New test, identical to the previous version of
'acloca14.test'; it is kept to verify backwards compatibility with
the use of ACLOCAL_AMFLAGS.
* t/acloca22b.sh: Likewise (but for 'acloca22.test').
* t/aclocal-amflags.sh: New test, check for backwards
compatibility that ACLOCAL_AMFLAGS still works.
* t/remake-macrodir.sh: New test, checking that aclocal's honoring of
AC_CONFIG_MACRO_DIR interacts nicely with automatic rebuild rules.
* t/list-of-tests.mk: Add the new tests.
2012-07-03 Stefano Lattarini <stefano.lattarini@gmail.com>
news: fixlets and updates
* NEWS: Here. In particular, report the change in 'missing'
semantics.
2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
contrib: check-html: pass flags to rst2html invocations
Related to automake bug#11287.
* contrib/t/check-html.am (.log.html): Here, passing $(AM_RST2HTMLFLAGS)
and $(RST2HTMLFLAGS) (in that order).
2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
contrib: simple improvements to check-html
Related to automake bug#11287.
* contrib/t/check-html.am (.log.html): Do not look for $RST2HTML in
the environment, looking for $(RST2HTML) should be enough (also, the
pre-existing code was broken, because it single-quoted $RST2HTML).
Fix the loop-and-search implementation to be more similar to the
one in 'contrib/t/parallel-tests-html.sh'. Prefer 'mv -f' over bare
'mv'. Do not break the recipe in
2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: check-html can be used recursively
Addresses the main part of Automake bug#11287.
* contrib/t/parallel-tests-html-recursive.sh: New test.
* contrib/t/local.am: Add it.
2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: tests for stuff in contrib goes in 'contrib/t'
* t/help-multilib.sh: Move ...
* contrib/t/help-multilib.sh: .. here. Remove a now-obsolete
"FIXME" comment.
* t/multlib.sh: Move ...
* contrib/t/multilib.sh: .. here. Remove a now-obsolete
"FIXME" comment.
* t/parallel-test2.sh: Move ...
* contrib/t/parallel-tests-html.sh: .. here. Remove a
now-obsolete "FIXME" comment.
* contrib/t/local.am: New, basically defining the list of
tests for stuff in 'contrib/'.
* t/list-of-tests.mk, Makefile.am: Adjust.
* .gitignore: Update.
* syntax-checks.mk (xtests): Likewise.
2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'user-recursive-targets'
* user-recursive-targets:
recursion: support user-defined recursive targets
tests: rename 'recurs*.sh' to 'var-recurs*.sh'
tests: minor improvements to 'recurs*.sh'
2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
recursion: support user-defined recursive targets
The user can now define his own recursive targets that recurse
in the directories specified in $(SUBDIRS). That can be done by
specifying the name of such targets in invocations of the new
'AM_EXTRA_RECURSIVE_TARGETS' m4 macro.
The API goes like this:
$ cat configure.ac
AC_INIT([pkg-name], [1.0]
AM_INIT_AUTOMAKE
AM_EXTRA_RECURSIVE_TARGETS([foo])
AC_CONFIG_FILES([Makefile sub/Makefile])
AC_OUTPUT
$ cat Makefile.am
SUBDIRS = sub
foo-local:
@echo This will be run by "make foo".
$ cat sub/Makefile.am
foo-local:
@echo This too will be run by a "make foo" issued either in
@echo the 'sub/' directory or in the top-level directory.
Like for the "default" recursive targets (e.g., 'all' and 'check'),
the user-defined recursive targets descend in the $(SUBDIRS) in a
depth-first fashion, and process '.' last (unless that is explicitly
specified in $(SUBDIRS)).
* NEWS, doc/automake.texi: Document the new feature.
* automake.in (@extra_recursive_targets): New global variable.
(scan_autoconf_traces): Trace macro '_AM_EXTRA_RECURSIVE_TARGETS'.
(handle_user_recursion): New subroutine; among other things, it defines
the new internal '$(am__extra_recursive_targets)' make variable, and
the '*-am', '*-local' and '*-recursive' targets associated with the
user-specified user recursive targets.
(generate_makefile): Call the new subroutine.
* lib/am/subdirs.am (am__recursive_targets): New internal make variable,
listing all of '$(RECURSIVE_TARGETS)', '$(RECURSIVE_CLEAN_TARGETS)' and
'$(am__extra_recursive_targets)' together.
(AM_RECURSIVE_TARGETS): Adjust the definition of this variable ...
(.PHONY, .MAKE): ... and the list of dependencies of these special targets
to take advantage of the new '$(am__recursive_targets)' variable.
($(am__recursive_targets)): New targets, superseding ...
($(RECURSIVE_TARGETS), $(RECURSIVE_CLEAN_TARGETS)): ... these, and
inheriting their rules. This way, the rules to handle recursion for
built-in recursive targets (e.g., 'all', 'dvi', 'clean') and for user
defined recursive targets are the same.
* m4/extra-recurs.m4: New file, contain definition of new macro
'AM_EXTRA_RECURSIVE_TARGETS' and '_AM_EXTRA_RECURSIVE_TARGETS'.
These macros are basically dummy, only used for tracing by automake.
* m4/Makefile.am (dist_automake_ac_DATA): Update.
* t/recurs-user.sh: New test.
* t/recurs-user2.sh: Likewise.
* t/recurs-user-deeply-nested.sh: Likewise.
* t/recurs-user-indir.sh: Likewise.
* t/recurs-user-keep-going.sh: Likewise.
* t/recurs-user-many.sh: Likewise.
* t/recurs-user-no-subdirs.sh: Likewise.
* t/recurs-user-no-top-level.sh: Likewise.
* t/recurs-user-override.sh: Likewise.
* t/recurs-user-phony.sh: Likewise.
* t/recurs-user-wrap.sh: Likewise.
* t/remake-recurs-user.sh: Likewise.
* t/list-of-tests.mk: Update.
2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rename 'recurs*.sh' to 'var-recurs*.sh'
* t/recurs.sh: Rename ...
* t/var-recurs.sh: ... to this.
* t/recurs2.sh: Rename ...
* t/var-recurs2.sh: ... to this.
* tests/list-of-tests.mk: Adjust.
2012-07-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: minor improvements to 'recurs*.sh'
* t/recurs.sh: Removed useless calls to AM_CONDITIONAL in
the generated 'configure.ac'.
* t/recurs2.sh: Add trailing ':' command.
2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: don't trust the exit status of "make -k" for non-GNU makes
parallel-tests: reimplement fix for bug#11791
tests setup: unset CDPATH
tests setup: more namespace safeness
tests setup: remove an unused variable
tests setup: less hard-coding of the test subdirectory
2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't trust the exit status of "make -k" for non-GNU makes
* t/parallel-tests-recheck-pr11791.sh: Here. At least some versions
of FreeBSD make botch it up, returning success when failure should be
returned.
2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: reimplement fix for bug#11791
* lib/am/check.am: Here. The new implementation is shorter, slightly
more efficient (requiring less forks), less brittle in the face of
signals or unexpected interruptions in the make process, and should
also be easier to merge in the 'ng/master' branch (as of now, due to
the difficulties in merging our previous version of the fix in the
'ng/master' codebase, Automake-NG still lacks a fix for bug#11791).
2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests setup: unset CDPATH
So that our test scripts can safely chdir around using relative
paths as well, without having to worry abut possible CDPATH
interferences.
* defs-static.in: unset CDPATH.
* t/ax/tests-init.sh: Remove a now-unneeded workaround.
2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests setup: more namespace safeness
* t/ax/tests-init.sh ($testSubDir): Rename ...
($am_test_subdir): ... to this, throughout the file.
2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests setup: remove an unused variable
* defs-static.in ($testprefix): This one.
2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests setup: less hard-coding of the test subdirectory
* t/ax/tests-init.sh: Make the code creating the temporary
test subdirectory smart enough to automatically create it
in the same subdirectory of the test that is being run.
* defs-static.in ($MKDIR_P, $am_rel_srcdir): New variables,
AC_SUBST'd from @MKDIR_P@ and @srcdir@ respectively, and
used in the new 'tests-init.sh' code.
2012-07-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
parallel-tests: silence an overly verbose recipe
tests: fix some uses of 'Exit', where 'exit' should now be used instead
maintcheck: test scripts should be executable, check for that
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: silence an overly verbose recipe
* lib/am/check.am (check-TESTS): Here, the part of the recipe
removing the stale '.log' and '.trs' files.
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix some uses of 'Exit', where 'exit' should now be used instead
* t/parallel-tests-recheck-pr11791.sh: Here.
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: test scripts should be executable, check for that
* syntax-checks.mk (sc_tests_executable): Here, in this new check.
(syntax_check_rules): Add it.
* Makefile.am (dist-hook): Drop, no need to make test cases executable
anymore.
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
parallel-tests: recipes for "check" and "recheck" are separated again
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'recheck-fix' into maint
* recheck-fix:
parallel-tests: recipes for "check" and "recheck" are separated again
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
parallel-tests: "recheck" behaves better in case of compilation failures
scripts: quote 'like this', not `like this'
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: recipes for "check" and "recheck" are separated again
* lib/am/check.am: Here. They have distinctly diverged recently, and
the reduction in code duplication obtained keeping their recipes united
is not anymore worth the extra complications.
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'recheck-fix' into maint
* recheck-fix:
parallel-tests: "recheck" behaves better in case of compilation failures
scripts: quote 'like this', not `like this'
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prefer "test ! -e FILE" to check that a file doesn't exist
* t/autohdrdry.sh: Here, rather than using "test ! -r FILE".
2012-06-30 Jim Meyering <jim@meyering.net>
texi: clean after Texinfo manuals in $(SUBDIRS) directories correctly
Fixes the regression exposed by previous commit 'v1.12.1-165-g498492f'.
* automake.in (handle_texinfo_helper): Add $infobase.{t2d,t2p}
to @mostly_cleans, but *without* the '$relative_dir/' prefix.
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: regression in texinfo "make mostlyclean" with $(SUBDIRS)
After commit v1.12.1-91-g205c757 of 2012-06-20, "texi: require
Texinfo >= 4.9, related enhancements", the presence of a Texinfo manual
'manual.texi' in a subdir (say 'doc/') of a package using a recursive
make setup would cause "make distcheck" to fail, due to the presence of
the 'manual.t2d/' directory created by texi2dvi. That directory would
not be correctly removed because the 'mostlyclean' rule would run, from
within the 'doc/' sub-directory, "rm -rf doc/manual.t2d", instead of
the expected (and correct) "rm -rf manual.t2d".
Reported by Jim Meyering:
<http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00203.html>
* t/txinfo21.sh: Enhance to expose the issue.
* t/txinfo-no-clutter.sh: Likewise, and other miscellaneous improvements.
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix a spurious failure
configure: fix detection of POSIX shell to work in a VPATH build
tests: prefer "test ! -e FILE" to check that a file doesn't exist
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failure
* t/parallel-tests-dry-run-2.sh: Here.
2012-06-30 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: fix detection of POSIX shell to work in a VPATH build
* configure.ac: When checking whether "test -e" works, use 'config.log',
not 'configure', as the witness file, because the latter does not exist
in the current directory during a VPATH build.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prefer "test ! -e FILE" to check that a file doesn't exist
Once, for the sake of (at least) Solaris 10 /bin/sh, we had to use
"test ! -f FILE" or "test ! -r FILE" or "test ! -d FILE" instead,
because the that shell's 'test' built-in didn't grok the '-e' option.
Note however that we still can't use "test ! -e" in the Makefile recipes
used in the test cases; that is because those recipes are run with the
shell detected by 'configure', and Autoconf-generated configure scripts
do no guarantee to find or provide a POSIX-compatible shell.
* Several tests: Adjust.
* t/yacc-clean-cxx: Adjust, and remove a couple of useless commands.
* t/parallel-tests-dry-run-2.sh: Adjust, and add invocation to
"make -n" forgotten in previous versions of the test.
* t/txinfo26.sh: Adjust, and don't bother to skip the test when it's
run in a directory whose absolute path contain whitespace: that setup
is not supported anyway.
* t/maken3.sh: Adjust, and fix a typo that could cause a minor false
negative.
* t/test-trs-recover2.sh: Prefer using 'skip_' with a suitable error
message over a bare 'exit 77'.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
configure: move a misplaced "section" comment
configure: clump check for ${var%...} and ${var#...} expansion together
cosmetics: improve wording of a couple of configure messages
configure: the testsuite shell must support 'test -e' and 'test ! -e'
tests: remove stale workarounds for Solaris /bin/sh
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: move a misplaced "section" comment
* configure.ac (Create output files): This, move it towards the end
of the script.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: clump check for ${var%...} and ${var#...} expansion together
And together with those for the ${var%%...} and ${var##...} expansions.
After all, it is basically impossible to find a shell that support one
of them but not the others.
Suggestion by Eric Blake.
* configure.ac: Here.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: improve wording of a couple of configure messages
* configure.ac: Fix a couple of messages so that the configure
output changes from this:
checking whether /bin/sh "set -e" preserves exit traps... yes
checking whether /bin/sh "set -x" corrupts stderr... no
to this:
checking whether /bin/sh preserves exit traps with "set -e"... yes
checking whether /bin/sh corrupts stderr with "set -x"... no
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: the testsuite shell must support 'test -e' and 'test ! -e'
* configure.ac: Require that the shell that is to be selected to run
the testsuite understands "set -e" and "set ! -e".
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove stale workarounds for Solaris /bin/sh
Our testsuite cannot be run with that shell anymore (as it is
not POSIX-compliant).
* t/tap-more.sh: Remove outdated workarounds for Solaris /bin/sh.
* t/self-check-exit.tap: Likewise.
* t/ansi2knr-no-more.sh: Likewise.
* t/add-missing.tap: Likewise.
* t/dist-auxfile.sh: Likewise.
* t/test-driver-custom-multitest-recheck2.sh: Likewise.
* t/ax/test-init.sh: Remove obsolete references to Solaris
/bin/sh.
* t/confh5.sh: Likewise.
* t/uninstall-fail.sh: Likewise. And update comments about
quirks of Solaris /bin/ksh and /usr/xpg4/bin/sh.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests init: don't bother allowing '$me' to be overridable
tests init: typofixes in comments
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests init: don't bother allowing '$me' to be overridable
We once used that feature in our wrapper tests; but now (and probably
even since commit 'v1.11-1308-g375f23d' of 2011-09-08, "testsuite:
revamp generation of autogenerated tests") it is not needed anymore.
By removing it we can simplify our growingly complex testsuite framework
a little.
* t/ax/test-inist.sh ($me): Do not initialize it here (and only if not
already set), instead ...
* defs-static.in ($me): ... initialize it here unconditionally.
Do not check anymore that $me doesn't come from the environment: that
wouldn't cause any problem now.
Now that '$me' is defined early, prefer it over 'argv0' in early error
messages, both here ...
* defs: ... and here.
* Makefile.am (AM_TESTS_ENVIRONMENT): Do not bother "nullifying" $me
anymore.
* t/self-check-env-sanitize.tap: Adjust.
* t/self-check-me.tap: Likewise.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests init: typofixes in comments
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: one test was not executable, make it so
readme: fix typo in t/README: s/$((...)/$((...))/
tests: don't skip if $(abs_builddir) or $(abs_srcdir) contain whitespace
tests: avoid spurious maintainer-check failures
tests: remove obsolete hacks around maintainer-check false positives
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: one test was not executable, make it so
* t/subdir-order.sh: This test.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: fix typo in t/README: s/$((...)/$((...))/
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't skip if $(abs_builddir) or $(abs_srcdir) contain whitespace
We used to explicitly skip libtool and gettext tests if the absolute
path of the builddir or of the srcdir which Automake was configured
with contained any whitespace (or other metacharacters).
But several other tests would spuriously fail in such an unholy setup.
To be precise, it would cause 61 'FAIL's and 42 'ERROR's in the whole
Automake testsuite.
The fact that, as of today, nobody has reported any failure of this kind
means that (thankfully) nobody is building automake with $(abs_srcdir)
or $(abs_builddir) mangled by whitespace. So, instead of trying to cater
to such a broken setup consistently, we just drop the extra check in the
libtool/gettext tests.
In case someone will ever reports a failure due to extra whitespace in
either $(abs_srcdir) or or $(abs_builddir), we will simply enhance our
'configure.ac' to bail out flatly and loudly at such a setup.
* t/ax/test-init.sh: Simplify accordingly.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious maintainer-check failures
* t/ax/test-init.sh: Here, by adding extra quoting for two
occurrences of the string "perl".
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove obsolete hacks around maintainer-check false positives
* gen-testsuite-part, t/test-trs-recover.sh: Here.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: simpler workaround for shells losing the exit status in exit trap
+ Extra non-trivial edits:
* Several tests: Adjusted to use 'exit' rather than 'Exit'.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'simplify-exit-trap-workaround' into maint
* simplify-exit-trap-workaround:
tests: simpler workaround for shells losing the exit status in exit trap
+ Extra non-trivial edits:
* t/am-missing-prog.sh: Use 'exit, not 'Exit'.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove trailing whitespace in some files
* lib/missing, t/comment7.sh, t/objc-flags.sh, t/objcxx-flags.sh,
t/perf/testsuite-summary.sh, t/self-check-explicit-skips.sh: Here.
Prompted by a report from Karl Berry.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: enhance tests in 'missing' script a little
* t/am-missing-prog.sh: Here, by also verifying its expected
exit status.
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
coverage: tests AM_MISSING_PROG usage
docs: document AM_MISSING_PROG
2012-06-28 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: tests AM_MISSING_PROG usage
Now that AM_MISSING_PROG is documented, we want to make sure it
works as expected when used in third-party code.
* t/am-missing-prog.sh: New test.
* t/ammissing: Rename ...
* t/am-macro-not-found.sh: ... like this, to avoid confusion (this
test has nothing to do with the 'missing' script nor with the
'AM_MISSING_PROG' macro).
* t/list-of-tests.mk: Adjust.
2012-06-28 Eric Blake <eblake@redhat.com>
docs: document AM_MISSING_PROG
Addresses automake bug#11793.
This macro has been present for a long time, and coreutils has been
relying on it despite no documentation, which argues that it is stable
enough to be worth documenting.
Furthermore, since we are hoping to change our preferred invocation
from 'missing --run program' to 'missing program' in a future version
of automake, we need a way for packages to consistently get the
preferred invocation form rather than open-coding a call to 'missing'.
In particular, the Autoconf manual would love to recommend this macro
when discussing how to integrate an autotest suite with automake.
* doc/automake.texi (Public Macros): Document AM_MISSING_PROG.
2012-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix a spurious failure with Solaris make
tests: avoid several spurious failures on Solaris
tests: avoid a spurious failure on NetBSD
2012-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failure with Solaris make
* t/subdir-order.sh: Run make in parallel only if the make implementation
truly supports it.
2012-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: "recheck" behaves better in case of compilation failures
With this change, the "recheck" target behaves better in the face of build
failures related to previously failed tests. For example, if a test is a
compiled program that must be rerun by "make recheck", and its compilation
fails, that test will still be rerun by further "make recheck" invocations.
Previously, its '.log' and '.trs' would have both been lost, so that the
test would have not been re-run.
This change fixes automake bug#11791.
* NEWS: Update.
* lib/am/check.am (recheck, check-TESTS): Adjust to cater to scenario
described above.
* t/parallel-tests-recheck-pr11791.sh: New test.
* t/list-of-tests.mk: Add it.
2012-06-27 Stefano Lattarini <stefano.lattarini@gmail.com>
scripts: quote 'like this', not `like this'
* lib/test-driver.sh: Here.
2012-06-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'missing-not-touch-just-warn'
* missing-not-touch-just-warn:
missing: --run is supported again (as a no-op) for use by older automake
2012-06-26 Eric Blake <eblake@redhat.com>
missing: --run is supported again (as a no-op) for use by older automake
Commit v1.12.1-87-ga22717d of 2012-06-21 ("missing: do not touch
timestamps; only warn for out-of-date files") has removed the '--run'
option, since our new preferred calling conventions now imply it; but
if a newer 'missing' is mixed with an already built project that used
an older Automake version (this happened in practice for GNU m4; see:
<http://lists.gnu.org/archive/html/bug-m4/2012-06/msg00001.html>), then
the 'Makefile' in that project will fail due to passing the '--run'
option when trying to bring the project up-to-date.
* lib/missing: Parse and ignore '--run'.
2012-06-25 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'missing-not-touch-just-warn'
* missing-not-touch-just-warn:
missing: don't cater to 'configure.in' in our advice
missing: better tips about missing tools
2012-06-25 Stefano Lattarini <stefano.lattarini@gmail.com>
missing: don't cater to 'configure.in' in our advice
The use of 'configure.in' as autoconf input now deprecated the development
versions of both Automake and Autoconf, and we'd like to speed up its
demise.
* missing: In the advice displayed in case some autotools are detected to
be missing, refer to 'configure.ac' unconditionally, instead of referring
to 'configure.in' when that file exists in the current directory (and no
'configure.ac' does).
2012-06-25 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: simpler workaround for shells losing the exit status in exit trap
Now that we can assume our tests are run by a decent POSIX shell, we
can simplify our workaround aimed at having the exit status propagated
correctly to the code in the exit trap. Unfortunately, we cannot
dispense with such a workaround altogether, because it's still required
by some shells we need to support (at least Solaris 10 /bin/ksh and
/usr/xpg4/bin/sh).
For more information about the need of that workaround, see the entry
about 'trap' in the section "Limitations of Shell Builtins" in the
Autoconf manual:
<http://www.gnu.org/software/autoconf/manual/autoconf.html#trap>
The new workaround has been tested successfully with the following
shells:
- Bash 4.1
- Bash 3.2
- Bash 3.0
- Bash 2.05b
- dash 0.5.5.1
- dash 0.5.2
- AT&T Ksh 93u (from official Debian package)
- MirBSD Korn Shell 40.2 (from official Debian package)
- Solaris 9, 10 and 11 /bin/ksh
- Solaris 9, 10 and 11 /usr/xpg4/bin/sh
- NetBSD 5.1 /bin/sh
- NetBSD 5.1 /bin/ksh
* t/ax/test-init.sh (Exit): Rename ...
(_am_exit): ... like this.
(exit): New alias for '_am_exit'. We cannot simply redefine 'exit'
as a shell function, because some shells (dash 0.5.5.1, Solaris 10
/bin/ksh and /usr/xpg4/bin/sh) do not allow it.
(_am_exit, trap): Add extra escaping for 'exit' calls, to ensure we
really invoke the 'exit' builtin and not our alias with the same
name.
* configure.ac: Check that the shell selected to run our testsuite
supports aliases named like shell builtins.
* t/REAMDE: Adjust.
* All tests: Adjust, by simply using 'exit' instead of 'Exit'.
* t/self-check-explicit-skips.sh: Adjust: the first usage of 'exit'
after it has been redefined as an alias must be on a new line w.r.t.
that where the alias is defined, in order for the redefinition to be
honored.
* syntax-checks.mk (sc_tests_Exit_not_exit): Delete.
(sc_tests_exit_not_Exit): New.
(syntax_check_rules): Adjust.
(sc_tests_automake_fails): Simplify the recipe a little.
* Several tests: Remove now useless spurious quoting once required
to placate the 'sc_tests_Exit_not_exit' maintainer check.
* gen-testsuite-part: Likewise. Also, avoid uses of 'Exit' in the
generated scripts.
2012-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid several spurious failures on Solaris
* t/ax/is_newest: Rewrite to be Bourne-compatible, for /bin/sh shells like
Solaris' that are not POSIX-conforming. The script is so small that such
a rewrite is easier than going through the hoops that would be required to
ensure this script is always executed with a POSIX shell.
* t/ax/is: Add a comment stating that this script is to be kept Bourne
compatible as well.
2012-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failure on NetBSD
* t/maken.sh: Do not expect the timestamp of the current directory
to be unchanged after a "make -n".
2012-06-24 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix automatic re-execution of tests with Zsh
tests: drop support for older Zsh shells
tests: allow AM_TEST_RUNNER_SHELL to be overridden
tests: fix setup for older Zsh
2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix automatic re-execution of tests with Zsh
* defs: Use '$argv0' instead of '$0'. With Zsh not started right
away in Bourne-compatibility mode, the latter will be the path not
of the test script itself, but of the file it's currently sourcing
-- i.e., in our case, './defs'. This would cause the automatic
re-execution code to execute './defs' (basically a no-op) rather
than re-run the test correctly.
2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: drop support for older Zsh shells
* defs-static.in: Here. The fact that such support has been broken for
almost a year (only fixed by today's commit 'v1.12.1-57-gf1e0300'),
causing no bug reports from anyone, shows that such support is not truly
warranted. And it will get in the way of future improvements in the
handling of the exit trap (because bugs in older Zsh versions will
prevent some of our planned improvements). So just drop it.
* t/README: Remove obsolete advice for working around bugs in older
versions of Zsh; instead, indicate version 4.3 is the oldest Zsh now
supported.
2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: allow AM_TEST_RUNNER_SHELL to be overridden
* defs-static.in: Here. This will make it easier for the maintainer
to run some self checks (like those in 't/self-check-exit.tap') with
different shells, to look for possible portability problems. Fix a
typo (doubled "the") while we are at it.
2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix setup for older Zsh
* defs-static.in: After the addition of TAP-based tests and our renaming
of "simple" test scripts from 'tests/foo.test' to 't/foo.sh', a test name
is valid if it matches the wildcard "*.sh" or "*.tap", not the wildcard
"*.test". Adjust accordingly.
2012-06-23 Stefano Lattarini <stefano.lattarini@gmail.com>
missing: better tips about missing tools
* lib/missing: Try to point the user to the home page of such tools
where possible. Also, make clear that some tools (e.g., aclocal or
autoheader) are distributed as part of bigger projects (resp. automake
and autoconf, in those cases). While at it, refactor and re-format
the existing code heavily, in particular introducing
(give_advice): ... this new function in the process.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'missing-not-touch-just-warn'
* missing-not-touch-just-warn:
missing: do not touch timestamps; only warn for out-of-date files
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: avoid one last `...` command substitution in 'test-init.sh'
maintcheck: guard against `...` for command substitution in test cases
tests: more uses of $(...) over `...` for command substitution
cosmetics: quote `like this', not 'like this', in a couple of tests
readme: clarify/extend few entries in 't/README'
readme: better separation of entries in 't/README'
readme: subsections "Do" and "Do not" in 't/README' merged
tests: new requirement 'grep-nonprint'
cosmetics: fix description of an expected error message in a test
tests: assume automake quotes 'like this', not `like this'
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid one last `...` command substitution in 'test-init.sh'
* t/ax/test-init.sh (me): In the definition of this variable. This
also shave off a couple of forks, and the need for a sanity check
only required in fringe situations.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: guard against `...` for command substitution in test cases
But still allow them in configure.ac, Makefile.am and shell scripts
created or used inside test cases itself, because Autoconf (as of
version 2.69) does not yet ensure that $CONFIG_SHELL will be set to
a proper POSIX shell.
* syntax-checks.mk (sc_tests_command_subst): New check.
(syntax-check_rules): Add it.
* t/tap-global-log.sh: Minimal tweakings to avoid triggering the
new maintainer check.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: more uses of $(...) over `...` for command substitution
Somehow missed by the previous changes. No big deal, fix them now.
* t/ax/depcomp.sh: Here.
* t/autodist.sh: And here.
* t/autodist-no-duplicate.sh: And here.
* t/autodist-subdir.sh: Ad here.
* t/remake11.sh t/self-check-me.tap: And here.
* t/perf/testsuite-summary.sh: And here.
* t/perf/testsuite-recheck.sh: And here.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: quote `like this', not 'like this', in a couple of tests
* t/ansi2knr-no-more.sh: Here.
* t/aclocal-verbose-install.sh: And here.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: clarify/extend few entries in 't/README'
* t/README (Writing test cases): Here.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: better separation of entries in 't/README'
* t/README (Writing test cases): Prepend different entries with a '*'
character acting like a bullet in a list. This make different entries
better separated, visually-wise. Minor related reformatting.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: subsections "Do" and "Do not" in 't/README' merged
* t/README (Writing test cases): Merge subsections "Do" and "Do not".
The distinction was rather artificial, and more confusing than helpful.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: new requirement 'grep-nonprint'
* t/ax/test-inist.sh ($esc): New, a literal escape character.
(grep-nonprint): New requirement, check that the grep implementation
available that can handle non-printing characters correctly.
* t/color.sh: Use it instead of hand-rolled equivalent, and do not
(re)define '$esc' explicitly.
* t/color2.sh: Likewise.
* t/tap-color.sh: Likewise.
* t/vtexi4.sh: Likewise.
* t/parallel-tests-no-color-in-log.sh: Likewise. Also prefer the use
of grep over that of $FGREP, because the new requirement only check
grep, and ensure we only grep non-printing characters from a pipe, to
avoid hitting a BSD grep limitation.
* t/parallel-tests-reset-term.sh: Likewise.
* t/ax/tap-summary-aux.sh: Use '$esc' instead of hard-coding the
literal escape character.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix description of an expected error message in a test
* t/vartypo2.sh: Here. This reflects the change from `this style'
of quoting to 'this style'.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: assume automake quotes 'like this', not `like this'
* t/add-missing.tap: Here. This slightly simplifies and/or enhances
some grepping checks on automake diagnostic.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: prefer using 'is_newest' over 'ls -t' hacks
tests: implement is_newest as an auxiliary script, not shell function
tests: fix some spurious failures in VPATH setup
tests: work in VPATH setup again
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prefer using 'is_newest' over 'ls -t' hacks
To verify that a file 'new' is newer than the file 'old', it's much
cleaner to use "is_newest new old" rather than the more clumsy
"ls -t". Adjust several of our tests accordingly.
* syntax-checks.mk (sc_tests_ls_t): New check, guard against uses
of "ls -t" and similar.
(syntax_check_rules): Add it.
* t/maken.sh: Adjust.
* t/autohdr4.sh: Likewise.
* t/extradep2.sh: Likewise.
* t/lex-depend-cxx.sh: Likewise.
* t/extradep.sh: Likewise.
* t/yacc-depend2.sh: Likewise.
* t/yacc-pr204.sh: Likewise.
* t/lex-pr204.sh: Likewise.
* t/yacc8.sh: Likewise.
* t/acloca13.sh: Likewise.
* t/lex-depend.sh: Likewise, and enhance.
* t/acloca14.sh: Likewise.
* t/aclocal7.sh: Likewise.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: implement is_newest as an auxiliary script, not shell function
This will allow to also use it in the makefile recipes used in our
test cases.
* t/ax/test-init.sh (is_newest): Remove.
* t/ax/is_newest: New script.
* Makefile.am (EXTRA_DIST): Add it.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix some spurious failures in VPATH setup
* t/self-check-cleanup.tap: No need to copy the 'ax/t/test-init.sh'
file over in our temporary directory.
* t/self-check-reexec.tap: Likewise.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: work in VPATH setup again
* defs: Drop overly paranoid sanity checks that was causing all the tests
to fail spuriously when run in a VPATH setup, with a message like:
"../t/nodef.sh: ./t/ax/test-init.sh: not found in current directory".
Those checks looked for invariants that, even if broken, would still
cause the test to fail very early and with a pretty clear error message
anyway.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: automatic re-execution works for non-POSIX shells too
tests: use more POSIX shell features our test scripts
+ Extra non-trivial edits:
* t/ax/test-init.sh: Apply the diffs between past versions of
'defs' in maint and in master; i.e., remove handling of $required
entries 'texi2dvi-o' and 'makeinfo-html', and adjust to the fact
that the parallel testsuite harness is now the default.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: automatic re-execution works for non-POSIX shells too
Some inferior shells are too greedy in parsing their input. If a
non-POSIX Bourne shell (like Solaris 10 /bin/sh) was used to launch
one of our test scripts, it would fail unconditionally, because it
unexpectedly saw some (by it) unsupported constructs, notwithstanding
such constructs being placed *after* the code implementing automatic
test re-execution with a better shell. In conclusion, the shell
bailed out like this:
$ /bin/sh t/ar.sh
$ t/ar.sh: syntax error at line 257: `is_newest_files=$' unexpected
By moving all the potentially problematic code in a separate file, to
be sourced only after the code for automatic re-execution with a better
shell, we ensure that inferior shell cannot see such code by mistake.
* defs: All code after automatic shell re-execution moved out ...
* t/ax/test-init.sh: ... to this new file.
* syntax-checks.mk (xdefs): Add it.
* Makefile.am (dist_check_DATA): Add it. Also move in 'defs' from
a less explicit 'check_DATA' declaration.
(nodist_check_DATA): Move in 'defs-static' from a less explicit
'check_DATA' declaration.
(check_DATA): Remove.
* t/self-check-sanity.sh: Remove, it was actually too hacky and brittle,
sanity-checking situations we don0t actually care about.
* t/list-of-tests.mk: Adjust.
* t/self-check-explicit-skips.sh: Adjust, and fix a botched heading
comments while we are at it.
* t/self-check-reexec.tap: Adjust.
* t/self-check-cleanup.tap: Likewise.
2012-06-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: use more POSIX shell features our test scripts
Since commit 'v1.12-36-g2d68fd9' of 2012-05-07, "configure: search a
sturdy POSIX shell to be used in the testsuite", the shell running
our test script is assured to be a POSIX-conforming shell, so we can
use the more modern and flexible idioms and features that we couldn't
use when we also aimed at compatibility with non-POSIX Bourne shells,
like Solaris /bin/sh.
* t/README: Suggest to use POSIX shell features liberally in test cases,
with possible exception of Makefile recipes and configure shell code.
* Several tests: Adjust to use more POSIX shell features; e.g., $(...)
rather than `...`, $((...)) rather than `expr ...`, "if ! CMD; then ..."
instead of "if CMD; then :; else ...", and so on.
In several places, when using the 'test' built-in, prefer '-eq' over
'=' for numeric comparisons, and prefer "grep -c PATTERN FILE" over
"grep PATTERN FILE | wc -l".
Throw in other low-hanging easy improvements and fixlets while we are
at it.
* t/ax/depcomp.sh, t/ax/tap-summary-aux.sh, t/ax/tap-functions.sh,
defs, defs-static.in: Likewise.
2012-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
docs: avoid failures with development version of Texinfo (4.13.90)
typofix: s/test derivers/test drivers/ in check.am comments
typofix: s/env/even/ in comments in GNUmakefile
2012-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: avoid failures with development version of Texinfo (4.13.90)
* doc/automake-history.texi: Use '@item' instead of '@itemx' where
appropriate.
2012-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
missing: do not touch timestamps; only warn for out-of-date files
Before this change, the missing script had a twofold role:
- it warned the user if some required maintainer tools was missing,
or too old;
- in such a case, it tried to "fix" the timestamp of the files that
should have been rebuilt by that tool (without actually updating
the file contents, of course), to allow the build to continue.
The second capability used to be quite useful in the days when most
projects committed files generated by maintainer-only tools in their
VCS repository (today the trend is not to keep such generated files
VCS-committed anymore). In such a setup, the "timestamp-fixing"
capability of 'missing' was quite useful, in that it allowed users
lacking some required maintainer tool to build from a VCS checkout
in the face of skewed timestamps (as could have been caused by
"cvs update" or "git checkout").
But then, when the automatic remake rules kicked in due to the
generated files being *actually out-of-date* (e.g., because the user
had modified 'configure.ac' but lacked a modern-enough autoconf to
rebuild it), that behaviour of 'missing' caused the same problem that
plagued AM_MAINTAINER_MODE; i.e., the user would get non-dependable
builds and inconsistent statuses of the build tree -- changes to
source files don't reflect on generated files, and this can be very
confusing and cause hard-to-spot errors).
So we now believe that the best approach to deal with timestamp-related
issues is not to have 'missing' to "automagically" try to resolve
them (with all the risk and brittleness entailed), but rather to
suggest those projects still keeping generated files committed in their
VCS to provide a proper (say) 'fix-timestamp.sh' script that touches
the timestamp of the checked-out files, to ensure no spurious rebuild
will be triggered. As a bonus, such a script can be more aware of the
particularities, nooks and corner cases of a project, and thus more
reliable than the old 'missing' script.
An example of this approach is offered by GNU awk (release 4.0.1, Git
tag 'gawk-4.0.1', commit b85b04e8). The GNU awk maintainers commit
the Autotools-generated files (configure, Makefile.in, etc.) and other
generated in the project's Git repository, but offer a useful script
'bootstrap.sh' that fixes the timestamps of those files, to ensure no
useless remake is triggered in a freshly cloned repository:
#! /bin/sh
# bootstrap.sh --- touch relevant files to avoid out-of-date issues
# in Git sandboxes
touch aclocal.m4
find awklib -type f -print | xargs touch
sleep 1
touch configure
sleep 2
touch configh.in
sleep 1
touch test/Maketests
find . -name Makefile.in -print | xargs touch
touch doc/*.info
touch po/*.gmo
touch po/stamp-po
touch awkgram.c
touch command.c
touch version.c
A similar, simplified script is also reported as an example in the
manual.
* NEWS: Update.
* doc/automake.texi (Auxiliary Programs, maintainer-mod): Update.
(CVS): Do not suggest that 'missing' can "automagically" fix botched
timestamp due to a "cvs update"; this isn't true anymore. Give an
example of a custom 'fix-timestamp.sh' script that can be used to
obtain the same effect (in a slightly more laborious but also more
explicit and less brittle way). Fix some minor typos and improper
wordings while we are at it.
* lib/missing: Basically rewritten to implement the new semantics.
As a side effect (one of the several), the '--run' option is no more
required nor recognized.
* m4/missing.m4 (AM_MISSING_HAS_RUN): Enhance the test on '$MISSING'
to ensure it actually provides the new semantics (by trying the new
"witness" option '--is-lightweight').
* lib/am/distdir.am (distdir): No need anymore to check for "bad"
distributed man pages that were actually dummy stubs generated by
the 'missing' script.
* t/missing4.sh: Rename ...
* t/remake-aclocal-version-mismatch.sh: ... like this.
* t/missing2.sh: Rename ...
* t/missing-version-mismatch.sh: ... like this, and adjust to the
new semantics.
* t/missing3.sh: Adjust to the new semantics.
* t/man4.sh: Remove as obsolete.
* t/missing.sh: Likewise.
* t/missing5.sh: Likewise.
* t/txinfo30.sh: Likewise.
* t/man6.sh: Adjust grepping checks.
* t/remake6.sh: Likewise.
* t/list-of-tests.mk: Adjust.
2012-06-21 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: s/test derivers/test drivers/ in check.am comments
2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
typofix: s/env/even/ in comments in GNUmakefile
Spotted by Eric Blake.
2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
bootstrap: overhaul and improve
docs: quote 'like this', not `like this'
2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
bootstrap: overhaul and improve
This fixes several weaknesses and buglets in the 'bootstrap' convenience
target offered in GNUmakefile (and its supporting code). Refer to the
extensive code comments in there for more details.
* GNUmakefile: Almost completely rewritten.
2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: quote 'like this', not `like this'
* doc/automake.texi: Fix the reported warnings and informative messages
from automake to quote 'like this' rather than as `like this'. Do the
same for comments and some text in our examples.
2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: tests: special requirement 'makeinfo-html' removed from ./defs
This should have ideally been part of earlier commit v1.12.1-93-g3c64d54.
* defs (makeinfo-html): Remove.
2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: guard against obsolete $required entries
* syntax-check.mk: Add rules guarding against the use of the
obsolete test requirements 'texi2dvi-o' and 'makeinfo-html'.
2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: drop requirement 'makeinfo-html'; 'makeinfo' is enough
* defs: Since we now require Texinfo 4.9 or later in the Automake
generated Makefiles, and since the '--html' option of makeinfo, as
well as its capability to generate HTML output, has been supported
since Texinfo 4.0 (according to the Texinfo NEWS file), the
requirement 'makeinfo-html' is obsolete -- the simpler requirement
'makeinfo' is enough.
* t/instdir-texi.sh ($required): Adjust by using simply 'makeinfo'
instead of 'makeinfo-html'.
* t/silent8.sh: Likewise.
* t/txinfo21.sh: Likewise.
2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: drop requirement 'texi2dvi-o'; 'texi2dvi' is enough
* defs: Since we now require Texinfo 4.9 or later in the Automake
generated Makefiles, and since the '-o' option of texi2dvi has been
supported since Texinfo 4.1, the requirement 'texi2dvi-o' is
obsolete -- the simpler requirement 'texi2dvi' is enough.
* t/silent8.sh ($required): Adjust by using simply 'texi2dvi'
instead of 'texi2dvi-o'
* t/txinfo-no-clutter.sh: Likewise.
* t/txinfo13.sh: Likewise.
* t/txinfo23.sh: Likewise.
* t/txinfo24.sh: Likewise.
* t/txinfo25.sh: Likewise.
* t/txinfo28.sh: Likewise.
* t/txinfo33.sh: Likewise.
* t/vtexi4.sh: Likewise.
2012-06-20 Stefano Lattarini <stefano.lattarini@gmail.com>
texi: require Texinfo >= 4.9, related enhancements
We start passing the '--build-dir' option to the texi2dvi and texi2pdf
invocations done in our Texinfo-related rules. The argument for this
option will be specific for each info_TEXINFOS entry, to work around a
texi2dvi bug that could otherwise cause racy failures in parallel make
builds:
<http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00073.html>
That bug seems already fixed in the development version of texi2dvi,
though:
<http://lists.gnu.org/archive/html/automake-patches/2012-06/msg00074.html>
so the details of our '--build-dir' usage can be revisited once we can
assume Texinfo 5.0 or later.
Since the '--build-dir' options has been only supported since Texinfo
4.9, we lose compatibility with all older Texinfo versions.
But we also get some real improvements.
First, the '--build-dir' option implies the '--tidy' option; this, like
the '--clean' option that we were formerly using, prevents cluttering of
the build directory with all the TeX and Texinfo auxiliary files and
build by-products, but, differently from '--clean', keeps them around
for later re-runs to use; this shortens the rebuild times considerably.
Second, the use of '--build-dir' also allows us to specify different
build directories for the PDF and DVI output, preventing the rules
building them from stomping on each other's feet when run in parallel.
This is demonstrated by the test cases 'txinfo-no-clutter.sh' and
'txinfo33.sh', which before this change used to fail when run with
MAKE="make -j4", but now succeed even in that case.
* NEWS: Update.
* lib/am/texibuilds.am: Do not try to avoid texi2dvi/texi2pdf option
'-o'; it has been supported since Texinfo 4.1, and we now require
Texinfo >= 4.9. Remove an obsolete comment. Modify calls to texi2dvi
and texi2pdf to use the '--build-dir' option, so that TeX auxiliary
files and build by-products for a 'foo.texi' input will be placed in
a 'foo.t2d' directory (for texi2dvi) or in a 'foo.t2p' directory (for
texi2pdf).
* automake.in (scan_texinfo_file): Greatly simplify the implementation,
since we don't need anymore to keep track of the TeX auxiliary files and
build by-products to clean. Drop the '@CLEAN_FILES' part of the return
value.
(handle_texinfo_helper): Adjust the 'scan_texinfo_file()' call to its
new signature. Append the "work directories" now created by texi2dvi
and texi2pdf invocation to the list of files/directories removed upon
"make mostlyclean".
* lib/am/texinfos.am: Update the cleaning rules (and comments)
accordingly.
* t/txinfo-no-clutter.sh: Minimal adjustment to avoid spurious failures.
* .gitignore: Update.
2012-06-16 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: it's not true that DISTCHECK_CONFIGURE_FLAGS is maintainer-reserved
At least, not anymore since commit 'v1.11-372-g9760039' of 2001-06-10,
"distcheck: add support for AM_DISTCHECK_CONFIGURE_FLAGS". See also
automake bug#8784.
* doc/automake.texi (Flag Variables Ordering): Do not report
'DISTCHECK_CONFIGURE_FLAGS' as a "variables that are only useful
to the maintainer that has no user counterpart": now it is a
user-reserved variable, its maintainer-reserved counterpart
being 'AM_DISTCHECK_CONFIGURE_FLAGS' .
2012-06-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'am-preprocess-drop-tricky-transform'
* am-preprocess-drop-tricky-transform:
automake: stop supporting "%KEY?iftrue:iffalse%" transforms
am: stop using "%KEY:iffalse?iftrue%" transforms
2012-06-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: minor reorganization of few tests
fixup: adjust t/list-of-tests.mk for renamed/added tests
subdirs: enhance coverage, tweak and rename few tests
sync: update files from upstream with "make fetch"
py-compile: consistently quote 'like this', not `like this'.
docs: recursive make considered harmful
docs: clean rules are not run in reverse order of build rules anymore
silent: new $(AM_V_P) variable, tell if we're running in silent mode
refactor: silent rules handling (a little)
refactor: &define_verbose_var: accept a third optional argument
+ Extra non-trivial edits:
These are due to the fact that support for silent rules is enabled
unconditionally these days (since commit 'v1.12-34-g14141f2' of
2012-05-01, "silent rules: support for them is always active now").
* automake.in: In the new silent related code, do not ever check
whether the 'silent-rules' option is active; just assume support
for silent rules is enabled.
* t/silent-obsolescent-warns.sh: Remove as obsolete.
* t/list-of-tests.mk: Adjust.
2012-06-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'docs-recursion' into maint
* docs-recursion:
docs: recursive make considered harmful
2012-06-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'silent-custom' into maint
* silent-custom:
silent: new $(AM_V_P) variable, tell if we're running in silent mode
refactor: silent rules handling (a little)
refactor: &define_verbose_var: accept a third optional argument
2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: stop supporting "%KEY?iftrue:iffalse%" transforms
And the similar "reduced forms" "%KEY:iffalse%" and "%KEY?iftrue%"
as well.
They are convoluted, never used (after the previous change), and will
get in the way in the Automake-NG branch, where we'll soon want to use
GNU make static pattern rules in our internal '*.am' fragments.
* automake.in (preprocess_file, transform): Simplify not to support
those transform patterns.
2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
am: stop using "%KEY:iffalse?iftrue%" transforms
And the similar "reduced forms" "%KEY:iffalse%" and "%KEY?iftrue%"
as well.
They are harder to grasp, can be easily reformulated in function of
other "plainer" transforms ("?KEY?" and "?!KEY?"), and we'll remove
support for them anyway in a later change.
* lib/am/data.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am,
lib/am/progs.am, lib/am/python.am, lib/am/scripts.am: Adjusted not
to rely on those kinds of transforms.
2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: minor reorganization of few tests
* t/subdir3.sh: Rename ...
* t/sourcefile-in-subdir.sh: ... like this.
* t/subdir4.sh: Rename ...
* t/depcomp-implicit-auxdir.sh: ... like this.
* t/subdir6.sh: Rename ...
* t/confh-subdir-clean.sh: ... like this.
* t/subdir7.sh: Renamed ...
* t/dir-named-obj-is-bad.sh: ... like this, and enhance.
* t/srcsub.sh, t/srcsub2.sh: Unify ...
* t/src-acsubst.sh: ... as this test.
* t/list-of-tests.mk: Adjust.
2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: adjust t/list-of-tests.mk for renamed/added tests
2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
subdirs: enhance coverage, tweak and rename few tests
* t/subdir5.sh: Rename ...
* t/subdir-add-pr46.sh: ... like this.
* t/subdir8.sh: Rename ...
* t/subdir-add2-pr46.sh: ... like this.
* t/cond2.sh: Rename ...
* t/subdir-cond-err.sh: ... like this.
* t/subdir9.sh: Rename ...
* t/subdir-with-slash.sh: ... like this; improve heading comments.
* t/subcond.sh: Rename ...
* t/subdir-cond-gettext.sh: ... like this; improve m4 quoting.
* t/subcond2.sh: Rename ...
* t/subdir-am-cond.sh: ... like this; adjust heading comments.
* t/subcond3.sh: Rename ...
* t/subdir-ac-subst.sh: ... like this; adjust heading comments.
* t/subdir2.sh: Rename ...
* t/subdir-subsub.sh: ... like this; enhance so that it also runs
'./configure' and 'make'.
* t/subdir-order.sh: New test, check that the $(SUDBIRS) entries
are processed in the order they are specified.
* doc/automake.texi: Adjust references to tests.
2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/config.guess, lib/gitlog-to-changelog, lib/texinfo.tex: Update.
2012-06-14 Stefano Lattarini <stefano.lattarini@gmail.com>
py-compile: consistently quote 'like this', not `like this'.
* lib/py-compile (usage_error): Here.
2012-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: recursive make considered harmful
In the documentation, we shouldn't confuse "packages using subdirectories"
with "packages using recursive make invocations". A package can have a
careful organization in subdirectories, make no (or almost no) use of make
recursion (examples of such packages are GNU bison, GNU cppi, and Automake
itself).
In fact, make recursion should be used as seldom as possible, because it
makes the build system more brittle and dependency declarations less
faithful. See Peter Miller's article "Recursive Make Considered Harmful"
for more a more in-depth discussion:
http://miller.emu.id.au/pmiller/books/rmch/
* doc/automake.texi (Directories): Clarify how a build system based on
make recursion does. Observe that such a system, albeit being very
widespread, has its own issues and drawbacks, and that one can have a
non-recursive setup also for projects using complex directory layout.
(Recursing subdirectories): Speak of "packages that use make recursion"
rather than of "packages with subdirectories".
2012-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'subdirs-simplify' into maint
* subdirs-simplify:
docs: clean rules are not run in reverse order of build rules anymore
2012-06-12 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: clean rules are not run in reverse order of build rules anymore
At least since commit 'v1.12.1-12-gec6a135' of 2012-06-10, "subdirs: unify
rules for "cleaning" and "normal" recursive targets"
* doc/automake.texi (Recursing subdirectories): Adjust.
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maintcheck: fix failures, both real and spurious
subdir tests: avoid an use of "make -j4", for portability
tests: avoid failure due to libtool quirks in C++ demo test
tests: fix spurious failures due to missing '$sleep'
subdirs: unify rules for "cleaning" and "normal" recursive targets
tests: add a "demo" test on C support
tests: look for '.lo' rather than '.o' object when using Libtool with C++
cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
maint: grammar fixes: s/all these/all of these/
subdir-objects: improve "make mostlyclean" efficiency and flexibility
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'subdir-objects-pr10697' into maint
* subdir-objects-pr10697:
maintcheck: fix failures, both real and spurious
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix failures, both real and spurious
* syntax-checks.mk (sc_rm_minus_f): Whitelist the
't/subobj-clean*-pr10697.sh' tests.
* t/subobj-clean-pr10697.sh: When redefining PATH,
use '$PATH_SEPARATOR', not hard-coded ':'.
* t/subobj-clean-lt-pr10697.sh: Likewise.
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: merged some testsuite fixlets
* fix-cxx-libtool-demo:
tests: avoid failure due to libtool quirks in C++ demo test
* subdir-objects-pr10697:
tests: fix spurious failures due to missing '$sleep'
* subdirs-simplify:
subdir tests: avoid an use of "make -j4", for portability
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
subdir tests: avoid an use of "make -j4", for portability
Otherwise, a spurious failure with Solaris CCS make can be triggered.
The coverage is not actually reduced, since the code path is still
covered when one runs the testsuite with AM_TESTSUITE_MAKE="make -jN"
(as should be done periodically).
* t/subdir-distclean.sh : Call simply "make maintainer-check", not
"make -j4 maintainer-check".
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid failure due to libtool quirks in C++ demo test
Revealed by failures on NetBSD 5.1.
* t/cxx-lt-demo.sh: In "make distcheck" invocation, don't define 'CC'
to "false", as that value would be exported and passed to the child
./configure invocation, and some configure checks generated by libtool
autoconf macros can still require a C preprocessor even for packages
using only C++, and bail out if it's not found. The problem was not
apparent on Solaris and GNU/Linux because those systems have a
'/lib/cpp' program, and configure detected and used that as a fallback
C preprocessor.
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures due to missing '$sleep'
Revealed by failures on NetBSD 5.1.
* t/subobj-clean-pr10697.sh: Call '$sleep' before modifying the
files that should trigger an automatic remake.
* t/subobj-clean-lt-pr10697.sh: Likewise.
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'subdirs-simplify' and 'subdir-objects-pr10697' into maint
* subdirs-simplify:
subdirs: unify rules for "cleaning" and "normal" recursive targets
tests: add a "demo" test on C support
* subdir-objects-pr10697:
subdir-objects: improve "make mostlyclean" efficiency and flexibility
tests: look for '.lo' rather than '.o' object when using Libtool with C++
cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
subdirs: unify rules for "cleaning" and "normal" recursive targets
Before this change, the recursive invocation of cleaning targets in
the $(SUBDIRS) where done in inverse order, i.e., starting from the
last $(SUBDIRS) entry and proceeding towards the first. According
to the code comments, this was done ...
... in an attempt to alleviate a problem that can happen when
dependencies are enabled. In this case, the .P file in one
directory can depend on some automatically generated header
in an earlier directory. Since the dependencies are required
before any target is examined, make bombs.
But this comment does not apply anymore to the current implementation
of automatic dependency tracking: the '.Po' and '.Plo' files does not
depend on any C header or source file, ever!
So it seems that the distinction between "normal" and "cleaning"
recursive targets is a stale leftover of an older implementation of
the automatic dependency tracking. In fact, the Automake History
manual seems to confirm this suspect; the section "First Take on
Dependency Tracking" reads:
Because each .P file was a dependency of Makefile, this meant
that dependency tracking was done eagerly by make. For instance,
"make clean" would cause all the dependency files to be updated,
and then immediately removed. This eagerness also caused problems
with some configurations; if a certain source file could not be
compiled on a given architecture for some reason, dependency
tracking would fail, aborting the entire build.
and the following section "Dependencies As Side Effects" reads:
In this approach, the .P files were included using the -include
command, which let us create these files lazily. This avoided
the "make clean" problem.
So the distinction between "normal" and "cleaning" recursive targets
has likely been obsolete since by then already. We can thus remove
such distinction, thus reducing some complications and duplication in
our rules. Doing so, the whole testsuite still passes (both with GCC
and Sun C 5.9), even the test 'c-demo.sh', which, among the other
things, exercise the setup described in the obsolete code comment
referenced above.
Finally, note that we still keep '$(RECURSIVE_CLEAN_TARGETS)' and
'$(RECURSIVE_TARGETS)' as two distinct variables, to ensure a better
backward-compatibility for any user-defined rules that happen to use
those variables.
* NEWS: Update.
* lib/am/subdirs.am ($(RECURSIVE_CLEAN_TARGETS), $(CLEAN_TARGETS)):
Merge their recipes.
* t/subdir-distclean.sh: New test, check that "./configure && make
&& make distclean" is actually a no-op, even when conditional SUBDIRS
are involved.
* t/list-of-tests.mk: Add it.
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add a "demo" test on C support
Showing and testing non-trivial use of C support, and its interaction
with other features.
* t/c-demo.sh: New test.
* t/list-of-tests.mk: Add it.
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: look for '.lo' rather than '.o' object when using Libtool with C++
* t/cxx-lt-demo.sh: ... in this test.
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
The typofixes offered by this patch have been suggested by the
"codespell.py" script. Reference:
<http://git.profusion.mobi/cgit.cgi/lucas/codespell/>
* old/ChangeLog.01, old/ChangeLog.02, old/ChangeLog.03: Fix few typos.
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
silent: new $(AM_V_P) variable, tell if we're running in silent mode
Addresses part of automake bug#8665.
* automake.in (handle_silent): Define a new make variable '$(AM_V_P)',
that expands to a shell conditional that can be used in make recipes to
determine whether they are being run in silent mode or not. The choice
of the name derives from the LISP convention of appending the letter
'P' to denote a predicate (see also "the '-P' convention" in the Jargon
File); we do so for lack of a better convention.
* t/automake.texi, NEWS: Document the new variable.
* t/silent6.sh: Adjust and extend. Move out the checks that didn't
actually deal with user extension of silent rules ...
* t/silent-obsolescent-warns.sh: ... into this test (bound to be
removed once 'maint' is merged into the 'master' branch).
* t/list-of-tests.mk: Add the new test.
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
refactor: silent rules handling (a little)
* automake.in (handle_languages): Move definition of $(AM_V_GEN)
variable ...
(define_verbose_tagvar): ... and of '$(AM_V_at)' variable ...
(handle_silent): ... in this new subroutine.
(generate_makefile): Call it.
2012-06-11 Stefano Lattarini <stefano.lattarini@gmail.com>
refactor: &define_verbose_var: accept a third optional argument
This is only required by future changes.
* automake.in (define_verbose_var): Accept a third optional argument,
specifying the value to assign to the given make variable when silent
rules are disabled.
2012-06-10 Jim Meyering <meyering@redhat.com>
maint: grammar fixes: s/all these/all of these/
Run this command:
git grep -li '\<all.these\>' \
|xargs perl -pi -e 's/\b([Aa])ll these\b/${1}ll of these/'
2012-06-10 Stefano Lattarini <stefano.lattarini@gmail.com>
subdir-objects: improve "make mostlyclean" efficiency and flexibility
Fixes automake bug#10697.
Before this change, the generated Makefile issued one 'rm' invocation
for each subdir object file. Not only was this very inefficient when
there were several such files, but it also caused stale object files
to be left behind when a source file was renamed or removed.
* automake.in (handle_single_transform): When a subdir object is seen,
update '%compile_clean_files' to clean all the compiled objects in its
same subdirectory, and all the libtool compiled objects ('.lo') there
as well is that subdir object is a libtool one.
* t/subobj-clean-pr10697.sh: New test.
* t/subobj-clean-lt-pr10697.sh: Likewise.
* t/list-of-tests.mk: Add them.
* NEWS: Update.
2012-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: look for '.lo' rather than '.o' object when using Libtool with C++
cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
tests: add basic semantic tests on C++ support
tests: minor tweak to 't/objc-megademo.sh'
2012-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: look for '.lo' rather than '.o' object when using Libtool with C++
* t/cxx-lt-demo.sh: ... in this test.
2012-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py"
The typofixes offered by this patch have been suggested by the
"codespell.py" script. Reference:
<http://git.profusion.mobi/cgit.cgi/lucas/codespell/>
* old/ChangeLog.01, old/ChangeLog.02, old/ChangeLog.03: Fix few typos.
2012-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add basic semantic tests on C++ support
Strange as it might seem, we were still missing them (yikes).
* t/cxx-demo.sh: New test.
* t/cxx-lt-demo.sh: Likewise (using libtool).
* t/list-of-tests.mk: Add them.
2012-06-09 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: minor tweak to 't/objc-megademo.sh'
* t/objc-megademo.sh (am_create_testdir): Define to "empty" before
including ./defs, because this test doesn't rely on the files usually
pre-set by the setup in there.
2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: simplify subroutine '&saw_extension'
* automake.in (saw_extension): Now that we use the '%extension_seen'
hash only as a set (it's keys being its elements), we can simplify
the implementation of this function accordingly.
2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: remove subroutine '&saw_sources_p'
* automake.in (saw_sources_p): Remove, its implementation is now so
trivial that it's easier to inline it into ...
(handle_languages): ... it's only caller.
2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: remove unused '&count_files_for_language' subroutine
* automake.in (count_files_for_language): Remove. Its only remaining
caller (saw_sources_p) has stopped calling it in the previous commit.
2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: simplify '&saw_sources_p'
This is just a minor cleanup. No semantic change is intended.
* automake.in (saw_sources_p): Since its now-only caller calls it with
the '0' argument, remove the code paths that assumed the argument could
be '1', and assume no arguments.
(handle_languages): Drop the arguments '0' in the '&saw_sources_p'
invocation.
2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tags: look at $(am__tagged_files) to decide whether to activate
This is just a preparatory refactoring in view of future changes.
* automake.in (handle_tags): To decide whether to include the tags rules,
rely on whether the automake-defined variable $(SOURCES) is non-empty,
rather than on the fact that '&saw_sources(1)' returns true.
2012-06-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tags: new var $(am__tagged_files) to list all files to run taggers on
This change reduce code duplication a little, and will be needed by
future simplifications.
* automake.in (handle_tags): Define a new 'am__tagged_files' private
make variable that lists all files to run taggers (mkid, cscope, ctags,
etc) on. Drop the now-useless transform '%CONFIG%' when including
'tags.am'.
* lib/am/tags.am: Use it in several recipes and dependencies list to
reduce code duplication.
2012-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tags (cscope): also process $(TAGS_FILES)
* lib/am/tags.am (cscopelist): Also scan the files (if any) listed in
the '$(TAGS_FILES) variable, for consistency by what is done by the
'ID', 'TAGS' and 'CTAGS' rules.
2012-06-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tags (ID, cscope): also process config header (if any)
* lib/am/tags.am (cscopelist, ID): Also scan the file given by the
'%CONFIG%' transform, for consistency by what is done by the 'TAGS'
and 'CTAGS' rules.
2012-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
news: document deprecation of configure.in
news: put planned backward compatibilities early
sync: update files from upstream with "make fetch"
maint: deprecate 'configure.in' as autoconf input
maint: post-release minor version bump
release: stable release 1.12.1
copyright: update copyright years in a couple of files
tests: avoid spurious failures with Solaris 9 cscope program
maintcheck: fix a spurious failure
perf: beginning of a performance testsuite
aclocal: declare function prototypes, do not use '&' in function calls
news: support for configure.in will be dropped in future automake versions
tests: fix botched heading comments in 'lex-clean-cxx.sh'
[ng] maintcheck: some tweaks and fixlets
help: fix a typo in the list of warning categories
maint: version bump after beta release
release: beta release 1.12.0b (will become 1.12.1)
release: remove overly picky check
2012-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
news: document deprecation of configure.in
* NEWS (Warnings and deprecations): We now warn if 'configure.in' is
used instead of 'configure.ac' as autoconf input.
(Future backward-incompatibilities): Adjust.
2012-06-02 Stefano Lattarini <stefano.lattarini@gmail.com>
news: put planned backward compatibilities early
* NEWS (Future backward-incompatibilities): Put them in the news
entries for the future 1.12.2 release.
2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: update files from upstream with "make fetch"
* lib/config.sub, lib/gitlog-to-changelog, lib/texinfo.tex: Update.
2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: deprecate 'configure.in' as autoconf input
It has been years since that has been deprecated in the documentation,
in favour of 'configure.ac':
Previous versions of Autoconf promoted the name configure.in, which
is somewhat ambiguous (the tool needed to process this file is not
described by its extension), and introduces a slight confusion with
config.h.in and so on (for which '.in' means "to be processed by
configure"). Using configure.ac is now preferred.
It's now time to start giving runtime warning about the use of
'configure.in', so that support for it can be removed in future
versions of autoconf/automake.
See also, in the Autoconf repository, commit 'v2.69-4-g560f16b' of
2012-05-23, "general: deprecate 'configure.in' as autoconf input".
* lib/Automake/Configure_ac.pm: Issue a warning in the 'obsolete'
category if 'configure.in' is detected. Since this module is synced
from Automake, this change is to be backported there (and will be
soon).
* t/help.sh: Adjust.
* t/configure.sh: Adjust and enhance.
2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: post-release minor version bump
* configure.ac (AC_INIT): Bump version number to 1.12.1a.
* m4/amversion.m4: Likewise (automatically regenerated by
"make bootstrap").
2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable release 1.12.1
* configure.ac (AC_INIT): Bump version number to 1.12.1.
* m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
copyright: update copyright years in a couple of files
* doc/help2man, t/aclocal-verbose-install.sh: Update copyright,
thanks to "make update-copyright".
2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures with Solaris 9 cscope program
* t/cscope.tap: Also check that the cscope program in use supports the
'-q' option; if this is not the case, some cscope usages in the generated
Makefiles would fail, so we must skip the checks involving those usages.
2012-06-01 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix a spurious failure
* Makefile.am (test_subdirs): Add 't/perf'. Fix spurious failure
of the 'maintainer-check-list-of-tests' target.
2012-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
perf: beginning of a performance testsuite
Some tests in the Automake testsuite already aims only at verifying
the performance, rather than the correctness, of some operations.
Still, they are somewhat shoehorned and forced into the PASS/FAIL
framework (say, with the 'ulimit' shell builtin used to verify some
operation doesn't take up too much time or memory), but that is
conceptually a stretch, and has already caused problems in practice
(see automake bug#11512 for an example).
So we start moving the "performance tests" out of the testsuite proper,
and make them run only "on demand" (when the user exports the variable
'AM_TESTSUITE_PERF' to "yes"). Ideally, we should provide those tests
with a custom runner/driver that measures and displays the relevant
performance information, but doing that correctly and with the right
APIs is definitely more difficult, so we leave it for a later step
(an hope we'll take such a step eventually).
* t/cond29.sh: Move ...
* t/perf/cond.sh: ... here, and adjust.
* t/testsuite-recheck-speed.sh: Move ...
* t/perf/testsuite-recheck.sh: ... here.
* t/testsuite-summary-speed.sh: Move ...
* t/perf/testsuite-summary.sh: ... here.
* t/list-of-tests.mk (perf_TESTS): New variable, listing the tests in
the 't/perf' directory.
(handwritten_TESTS): Adjust.
* defs: Skip any tests in the 't/perf/' subdirectory unless the
'AM_TESTSUITE_PERF' variable is set to "yes" or "y".
* .gitignore: Update.
2012-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr11543' into maint
* fix-pr11543:
aclocal: declare function prototypes, do not use '&' in function calls
2012-05-29 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: declare function prototypes, do not use '&' in function calls
This change will also fix automake bug#11543 (from a report by Matt
Burgess).
* aclocal.in: Declare prototypes for almost all functions early, before
any actual function definition (but omit the prototype for the dynamically
generated '&search' function). Add prototypes to any function definition.
Remove '&' from function invocations (i.e., simply use "func(ARGS..)"
instead of "&func(ARGS...)").
* THANKS, NEWS: Update.
2012-05-28 Stefano Lattarini <stefano.lattarini@gmail.com>
news: support for configure.in will be dropped in future automake versions
The use of configure.in as Autoconf input has been deprecated for a
very long time in the Autoconf documentation, and the next version of
Autoconf (2.70) will start warning about it ar runtime as well (see
commit 'v2.69-4-g560f16b' or 2012-05-23, "general: deprecate
'configure.in' as autoconf input", in the Autoconf's git repository).
* NEWS (Future backward-incompatibilities): Update.
2012-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
missing: support AC_CONFIG_HEADERS in addition to obsolete AC_CONFIG_HEADER
* missing (autoheader*): Do not look only for AC_CONFIG_HEADER when
grepping configure.ac, but also for AC_CONFIG_HEADERS: the latter has
been preferred to the former by several years now in Autoconf.
2012-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
missing: don't bother checking for AM_CONFIG_HEADER: it is gone now
* missing (autoheader*): Do not look for AM_CONFIG_HEADER when
grepping configure.ac: it is not supported anymore (has been in
fact deleted in commit v1.12-15-gd2ca168 of 2012-04-27, "m4: delete
several obsolete macros").
2012-05-27 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: remove mention of AM_CONFIG_HEADER: it is obsolete and removed now
* doc/automake.texi (Variables used when building a program): Remove
obsolete mention of AM_CONFIG_HEADER as an alias to AC_CONFIG_HEADERS.
2012-05-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix botched heading comments in 'lex-clean-cxx.sh'
* t/lex-clean-cxx.sh: This file tests lex, not yacc.
2012-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
[ng] maintcheck: some tweaks and fixlets
* syntax-checks.mk (sc_no_brace_variable_expansions): Do not complain
about ${MAKEVAR} usages in comments: they might be legitimate. This
change is not strictly required for mainline automake, but will help
in the Automake-NG branch.
* sc_tests_here_document_format: Relax a bit, so that usages like
"cout << "string" << endl;" in the test scripts (usages which can be
used in here documents defining C++ sources) are not flagged as uses
of bad delimiters for here documents. This change is not strictly
required for mainline automake, but will help in the Automake-NG
branch, and will anyway be more future proof w.r.t. possible future
testsuite additions.
(sc_tests_Exit_not_exit): Do not whitelist lines containing $PERL
explicitly (that was only required for one test); instead ...
* t/ext2.sh: ... use "exit (1)" instead of "exit 1" in the perl
invocation of the guilty script.
2012-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'am-init-automake'
* am-init-automake:
init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore
2012-05-25 Stefano Lattarini <stefano.lattarini@gmail.com>
init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore
This is a follow-up on commit v1.12-66-g27136df of 2012-05-06, "init: warn
against obsolete usage of AM_INIT_AUTOMAKE".
With this change, we drop support for the two-arguments and three-arguments
invocation forms of the AM_INIT_AUTOMAKE macro, as in either of:
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE)
* NEWS, doc/automake.texi: Update.
* m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments
invocation form as a hard error.
* t/aminit-moreargs-deprecation.sh: Renamed ...
* t/aminit-moreargs-deprecation.sh: ... to this, and updated to check
the new semantics.
* t/ac-output-old.tap: Adjust by avoiding old-style uses of AC_INIT
and AM_INIT_AUTOMAKE.
* t/acsilent.sh: Likewise.
* t/dirlist.sh: Likewise.
* t/dirlist2.sh: Likewise.
* t/req.sh: Likewise.
* t/nodef.sh: Remove as obsolete.
* t/version.sh: Likewise.
* t/version2.sh: Likewise.
* t/backcompat.sh: Likewise.
* t/backcompat2.sh: Likewise.
* t/backcompat3.sh: Likewise.
* t/backcompat5.sh: Likewise.
* t/backcompat4.sh: Renamed ...
* t/backcompat-acout.sh: ... to this.
* t/list-of-tests.mk: Adjust.
2012-05-21 Stefano Lattarini <stefano.lattarini@gmail.com>
help: fix a typo in the list of warning categories
* lib/Automake/ChannelDefs.pm (usage): s/none'/none/.
2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: version bump after beta release
* configure.ac (AC_INIT): Bump version number to 1.12.0c.
* m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
release: beta release 1.12.0b (will become 1.12.1)
* configure.ac (AC_INIT): Bump version number to 1.12.0b.
* m4/amversion.m4: Likewise (auto-updated by "./bootstrap").
2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
release: remove overly picky check
* Makefile.am (git-tag-release): Do not check that the version number
NEWS is updated w.r.t. $(VERSION); given the new way we manage NEWS,
that would cause gratuitous spurious failures.
* HACKING: Update.
2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'parallel-tests-default'
* parallel-tests-default:
check: the parallel-tests driver is now the default
2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
ylwrap: preserve subdirectories in "#line" munging
ylwrap: preparatory refactoring
2012-05-19 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'ylwrap-line-filename' into maint
* ylwrap-line-filename:
ylwrap: preserve subdirectories in "#line" munging
ylwrap: preparatory refactoring
2012-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
check: the parallel-tests driver is now the default
The old serial testsuite driver is still supported, and can be activated
by the 'serial-tests' option (introduced by commit 'v1.11-1989-gdeb7773'
of 2012-02-20, "automake: new option 'serial-tests'").
* lib/Automake/Options.pm: Now, the 'parallel-tests' option is a no-op
(but still explicitly recognized, for backward compatibility), while the
'serial-tests' option is recognized and registered.
* automake.in: Adjust to ensure that the parallel test harness is used by
default; mostly, this amounts at using "! option('serial-tests')" where
"option('parallel-tests')" was used before.
* NEWS, doc/automake.texi: Update.
* configure.ac (AM_INIT_AUTOMAKE): Drop 'parallel-tests' option, is
redundant now.
* defs: In the generated AM_INIT_AUTOMAKE call, use the 'serial-tests'
when the serial testsuite harness is to be used, and no option otherwise.
* lib/am/check.am: Use (static) conditional '%SERIAL_TESTS%' instead of
conditional '%PARALLEL_TESTS%'.
* lib/test-driver: Adjust heading comments.
* t/ax/extract-testsuite-summary.pl: Likewise.
* t/check-exported-srcdir.sh: Likewise.
* t/check-subst.sh: Likewise.
* t/java-compile-run-nested.sh: Likewise.
* t/parallel-tests-dry-run-1.sh: Likewise.
* t/parallel-tests-dry-run-2.sh: Likewise.
* t/parallel-tests-interrupt.sh: Likewise.
* t/parallel-tests-many.sh: Likewise.
* t/test-metadata-global-log.sh: Likewise.
* t/tests-environment-backcompat.sh: Likewise.
* m4/init.m4 (AM_INIT_AUTOMAKE): Adjust a comment.
* t/check8.sh: Likewise.
* t/check-tests-in-builddir.sh: Likewise.
* t/java-compile-run-flat.sh: Adjust a botched comment.
* t/ax/tap-summary-aux.sh: Remove explicit use of the 'parallel-tests'
option.
* t/ax/testsuite-summary-checks.sh: Likewise.
* t/aclocal-path-precedence.sh: Likewise.
* t/dist-aux-many-subdirs.sh: Likewise.
* t/parallel-tests-no-color-in-log.sh: Likewise.
* t/parallel-tests-reset-term.sh: Likewise.
* t/parallel-tests-subdir.sh: Likewise.
* t/check-no-test-driver.sh: Fix setup to adjust to the changed
semantics. Update heading comments.
* t/parallel-tests-driver-install.sh: Adjust to the new semantic.
* t/test-driver-is-distributed.sh: Simplified according to the
new semantics.
2012-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: use 'parallel-tests' Automake option by default
doc: fix location of Automake's own test-suite.log file
yacc tests: avoid a spurious failure with Sun C++ 5.9
self tests: cater for /bin/ksh symlinked to Zsh
tests: fix spurious failures due to dpkg install-info
2012-05-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: use 'parallel-tests' Automake option by default
This will help our transition from 'serial-tests' to 'parallel-tests'
as the default test suite driver enabled by a TESTS assignment in the
input Makefile.am. Note that that change of default will only take
place in master, though.
* defs: Pass the 'parallel-tests' option to the AM_INIT_AUTOMAKE
invocation in the created 'configure.ac' stub, unless the variable
'am_serial_tests' is set to "yes". Don't pay attention anymore to
the 'am_parallel_tests' variable, that's obsolete now.
* defs-static.in: Warn if the 'am_serial_tests' variable is set in the
environment; conversely, don't warn anymore about 'am_parallel_tests'
being set in the environment.
* Makefile.am (AM_TESTS_ENVIRONMENT): Nullify the 'am_serial_tests'
variable instead of the now-obsolete 'am_parallel_tests' one.
* syntax-checks.mk (sc_tests_obsolete_variables): Also warn against
uses of 'am_parallel_tests', which is now deprecated in favor of
'am_serial_tests'. Similarly, if a use of 'parallel_tests' is seen,
suggest using 'am_serial_tests' instead, not 'am_parallel_tests'.
* gen-testsuite-part: Now that we use the 'parallel-tests' by default
in our tests, we need to completely change the logic and semantics of
generation of sibling tests for those tests that check the Automake
generated testsuite harness itself. Do that, and give a complete
explanation of the new logic and semantics in the relevant comments.
* t/README: Update.
* Lots of test cases: Adjust.
2012-05-17 Stefano Lattarini <stefano.lattarini@gmail.com>
doc: fix location of Automake's own test-suite.log file
* doc/automake.texi (Reporting Bugs): The global testsuite log of
Automake is now (basically since we have removed make recursion from
the Automake's build system) saved in the file 'test-suite.log', not
in the file 'tests/test-suite.log'. Adjust accordingly.
2012-05-16 Nikolai Weibull <now@bitwi.se> (tiny change)
Stefano Lattarini <stefano.lattarini@gmail.com>
ylwrap: preserve subdirectories in "#line" munging
If Automake is used in non-recursive mode and one of the inputs is a
yacc file, for example, "src/grammar.y", ylwrap will remove too many
directories from the output file when it adjusts the paths in it.
This results in #line directives referring to "grammar.y" instead of
"src/grammar.y".
This is a result of $input_rx simply taking all the directory
components of the absolute input path and removing them.
One solution is to store the path passed to ylwrap and replace
$input_rx with it. This is what we do.
Suggestion and initial patch (without tests) by Nikolai Weibull:
<http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html>
Final patch by Stefano Lattarini.
* lib/ylwrap ($input_sub_rx): New.
When munging the #line directives, substitute '$input_rx' with it,
instead of stripping it altogether.
Adjust comments.
* t/yacc-line.sh, t/lex-line: Adjust and extend.
* NEWS, THANKS: Update.
2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
ylwrap: preparatory refactoring
This commit should cause no semantic change in the ylwrap behaviour.
It will only be needed in light of a future change. See:
<http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html>
* lib/ylwrap (get_dirname, quote_for_sed): New functions, factoring
out some non-trivial code. Use them where appropriate.
2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc tests: avoid a spurious failure with Sun C++ 5.9
* t/yacc-cxx.sh (parse1.yy): When calling the 'getchar' function declared
in the #included <cstdio>, fully qualify it as std::getchar', to avoid
Sun C++ 5.9 erroring out with:
"parse1.yy", line 5: Error: The function "getc" must have a prototype.
* t/yacc-clean-cxx.sh (sub1/parsefoo.yxx): Likewise.
2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
self tests: cater for /bin/ksh symlinked to Zsh
* t/self-check-reexec.tap: When searching for a suitable non-Bash
shells, be sure to reject any shell that is Zsh "in disguise" (as
can be found on some Debian systems, where /bin/ksh can be symlinked
to /bin/zsh4). This is required because our testsuite does not
support older versions of Zsh, and that was causing the test to fail
in the setup just described.
2012-05-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures due to dpkg install-info
* t/install-info-dir.sh: Skip some checks if 'install-info' is the one
from dpkg, not the one from GNU info; the former might try to create
files in '/var/backups/', causing spurious failures like this for any
non-root user:
install-info(.../install-info-dir.dir/_inst/info/foo.info): \
creating new section `Dummy utilities'
cp: cannot create regular file `/var/backups/infodir.bak': \
Permission denied
install-info(.../install-info-dir.dir/_inst/info/foo.info): \
could not backup .../install-info-dir.dir/_inst/info/dir in \
/var/backups/infodir.bak: No such file or directory
2012-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix spurious failure due to i18n issue
tests: add few missing 'cc' and 'c++' requirements
2012-05-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure due to i18n issue
Fixes automake bug#11452.
* t/parallel-tests-fork-bomb.sh: Export LANG, LANGUAGE and LC_ALL to
'C', to ensure error messages will be in English, and thus avoiding
possible false negatives in our grepping of them.
2012-05-10 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add few missing 'cc' and 'c++' requirements
Without that requirements, the configure-time overrides of CC and CXX
wouldn't be honored in the affected tests.
* t/silent-yacc.sh ($required): Require 'cc'.
* t/silent-yacc-headers.sh: Likewise.
* t/silent-lex.sh: Likewise.
* t/lex-clean.sh: Likewise.
* t/lex-depend.sh: Likewise.
* t/lex-line.sh: Likewise.
* t/lex-depend.sh: Likewise.
* t/lex-pr204.sh: Likewise.
* t/yacc-deleted-headers.sh: Likewise.
* t/yacc-line.sh: Likewise.
* t/yacc-depend.sh: Likewise.
* t/yacc-depend2.sh: Likewise.
* t/yacc-dist-nobuild-subdir.sh: Likewise.
* t/yacc-bison-skeleton.sh: Likewise.
* t/yacc-bison-skeleton-cxx.sh ($required): Require 'c++'.
* t/yacc-clean-cxx.sh: Likewise.
* t/yacc-d-cxx.sh: Likewise.
* t/yacc-cxx.sh: Likewise.
* t/yacc-mix-c-cxx.sh ($required): Require 'cc' and 'c++'.
2012-05-08 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: s/AM_CONFIG_HEADER/AC_CONFIG_HEADERS/ in 't/confsub.sh'
Issue introduced in the recent merge 'v1.12-101-g12405c9'.
2012-05-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix a spurious failure with dash
test defs: fix indentation (cosmetic change)
tests: remove obsolete uses of $sh_errexit_works
configure: search a sturdy POSIX shell to be used in the testsuite
tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
fixup: distribute t/README
init: warn against obsolete usage of AM_INIT_AUTOMAKE
2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'testsuite-saner-shell' into maint
* testsuite-saner-shell:
tests: fix a spurious failure with dash
test defs: fix indentation (cosmetic change)
tests: remove obsolete uses of $sh_errexit_works
configure: search a sturdy POSIX shell to be used in the testsuite
tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failure with dash
The dash shell, at least version 0.5.5.1, doesn't always bail out
with a syntax error when a stray "fi" in encountered:
$ dash -c ":; fi"; echo stat = $?
stat = 0
See also the relevant bug report:
<http://permalink.gmane.org/gmane.comp.shells.dash/717>
This behaviour was causing a spurious error in our testsuite. Fix it.
* t/self-check-exit.tap: Use a stray parentheses rather than a stray
'fi' to trigger a syntax error.
2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: fix indentation (cosmetic change)
* defs (exit trap): Fix indentation left botched by previous
patch 'v1.11b-51-g626bf65'.
2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove obsolete uses of $sh_errexit_works
After the last changes, configure will ensure that the shell
selected to run the test scripts can correctly propagate exit
status to the exit trap when 'set -e' is in effect.
* configure.ac (sh_errexit_works): Do not AC_SUBST it anymore.
* defs-static.in (sh_errexit_works): Do not initialize
from the AC_SUBST value anymore.
* defs (trap): Trap the EXIT signal unconditionally.
* t/self-check-explicit-skips.sh: Do not skip the test if
'$sh_errexit_works' is != "yes", this check doesn't make
sense anymore.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-exit.tap: Assume the exit trap is always
installed by ./defs.
2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: search a sturdy POSIX shell to be used in the testsuite
* configure.ac: Add code (partially inspired to checks in gnulib's
'tests/init.sh') to search for a good-enough, not-buggy POSIX/XSI
shell to be used in our testsuite. Accordingly AC_SUBSTitute the
variable 'AM_TEST_RUNNER_SHELL'.
* NEWS: Update.
2012-05-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL
This is just a preparatory refactoring for future changes.
* configure.ac (AM_TEST_RUNNER_SHELL): New variable, defined
to $SHELL', and AC_SUBST'd.
* Makefile.am (LOG_COMPILER): Redefine from $(SHELL) to
$(AM_TEST_RUNNER_SHELL).
* defs: Adjust to use $AM_TEST_RUNNER_SHELL instead
of $CONFIG_SHELL and/or $SHELL, where appropriate. Minor
opportunistic changes.
* t/self-check-explicit-skips.sh: Likewise.
* t/self-check-sanity.sh: Likewise.
* t/self-check-tap.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-env-sanitize.tap: Likewise.
* t/self-check-exit.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-reexec.tap: Likewise.
2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: distribute t/README
Since commit v1.11-2128-g8e02441 of 2012-04-06, "maint: no more make
recursion in Automake's build system" we haven't been distributing the
testsuite README file in our release tarballs. Oops.
* Makefile.am (EXTRA_DIST): Add 't/README'.
2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
init: warn against obsolete usage of AM_INIT_AUTOMAKE
Support for the two- and three-arguments invocation forms of the
AM_INIT_AUTOMAKE macro, as in:
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
or:
AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE)
will be removed in the next major Automake release (1.13).
Such usages have already been deprecated in the documentation
starting from commit v1.11-2015-ge99690a of 23-02-2012 "docs,
news: document planned removal of obsolete macros and features".
We now start giving runtime warnings as well (in the 'obsolete'
category).
* NEWS: Update.
* m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments
form invocation.
* automake.in (scan_autoconf_traces): Likewise.
* doc/automake.texi: Minor adjustments. Add an @anchor to the
location where it's described how to modernize outdated invocation
of AM_INIT_AUTOMAKE, so that it can be referenced from automake
warning/error messages.
* t/aminit-moreargs-deprecation.sh: New test.
* tests/list-of-tests.mk: Add it.
* tests/ac-output-old.tap: Adjust by calling automake with the
warnings in the 'obsolete' category disabled.
* t/backcompat.test: Likewise.
* t/backcompat3.test: Likewise.
* t/backcompat5.test: Likewise.
* t/backcompat6.test: Likewise.
* t/version.test: Likewise.
* t/version2.test: Likewise.
* t/pr2.test: Modernize style of AC_INIT and AM_INIT_AUTOMAKE
invocations, and use proper m4 quoting.
* t/pr87.test: Likewise.
* t/confsub.test: Likewise.
* t/install2.test: Likewise.
2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
m4: prepend m4 builtins with "m4_"
docs: fix clumsy grammar in the scripts-based testsuite chapter
2012-05-06 Stefano Lattarini <stefano.lattarini@gmail.com>
m4: prepend m4 builtins with "m4_"
The comments in 'lib/autoconf/autoconf.m4' from Autoconf 2.69 read:
We discourage the use of the non prefixed macro names: M4sugar maps
all the builtins into 'm4_'. Autoconf has been converted to these
names too. But users may still depend upon these, so reestablish
them.
Alas, in our init.m4 files, we were still using m4 builtins without
prefixing them with "m4_". Not nice for a package that is one of the
major clients of Autoconf, and an integral part of the GNU Autotools!
Fix the issue.
* m4/init.m4 (AM_INIT_AUTOMAKE): Use 'm4_define' and 'm4_defn' instead
of 'define' and 'defn'.
2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
require: autoconf >= 2.65; related simplifications
The new support for Objective C++ (to be added in Automake 1.12.1) can be
simplified if we assume Autoconf version 2.65 or later (2.65 being the
version that introduced support for Objective C++). Since such an Autoconf
version is two and half years old now (and will likely be almost three
years old when Automake 1.13 gets released), requiring it is acceptable.
This will also simplify testing and maintenance of Automake, because we'll
need to test with fewer Autoconf version, and possibly rely on new Autoconf
features.
* NEWS (Version requirements): Automake 1.13 will require Autoconf
2.65 or later.
* configure.ac ($required_autoconf_version): Bump to 2.65.
* m4/init.m4 (AM_INIT_AUTOMAKE): Require Autoconf >= 2.65.
Assume AC_PROG_OBJCXX is unconditionally defined.
* m4/depout.m4: Adjust a comment about a nugget of defensive programming.
* t/ext.sh: Assume that AC_PROG_OBJCXX is unconditionally defined,
and that we are using Autoconf >= 2.65. Related simplifications.
* t/objc-megademo.sh: Likewise.
* t/objcxx-basic.sh: Likewise.
* t/objcxx-deps.sh: Likewise.
* t/objcxx-flags.sh: Likewise.
* t/objcxx-minidemo.sh: Likewise.
* t/nodep2.sh: Likewise.
* t/backcompat3.sh: Assume AC_INIT accepts an URL argument.
* t/depend5.sh: Adjust a comment.
* syntax-checks.mk (sc_test_names): Delete this check as now useless:
autoconf >= 2.65 (>= 2.63, actually) can handle arguments to AC_INIT
that contain or are m4 builtins or predefined macros.
(m4_builtin): Delete this now-useless variable as well, was used only
by the check above.
(syntax_check_rules): Update.
2012-05-05 Nick Alcock <nick.alcock@oracle.com> (tiny change)
docs: fix clumsy grammar in the scripts-based testsuite chapter
* doc/automake.texi (Scripts-based Testsuites): "We'll have later" is
a rare example of English in the Automake manual clearly not written
by a native English-speaker: while comprehensible, it can be better
formulated.
2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: use append mode to capture parallel make output
parallel-tests: separate different logs with an empty line
2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: use append mode to capture parallel make output
This should fix the spurious failure reported in automake bug#11413.
This is due to the fact that the redirected output of parallel make
can racily loose lines. For example, if GNU make (3.82) is run on
a Makefile like this:
all = 0 1 2 3 4 5 6 7 8 9
default: $(all)
$(all):
@sleep 0.$$(($RANDOM % 10)); echo $@
and has its standard output redirected in overwrite-mode to a regular
file, it looses a line of that output every 15 runs or so on a Fedora
17 system with 64 ppc64 cores and Linux 3.3.1. Redirection in append
mode does not suffer of this problem.
See also similar commit 'Release-1-10-280-g6426999' of 2009-03-10,
"Use append mode to capture parallel test output", which tackled a
similar problem for 't/parallel-tests3.sh' and 't/lisp8.sh'.
* t/tap-more.sh: Use append mode for output from "make -j", to avoid
dropped lines.
* t/parallel-tests3.sh, t/lisp8.sh: Enhance comments.
2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'parallel-tests-performance' into maint
* parallel-tests-performance:
parallel-tests: separate different logs with an empty line
2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: separate different logs with an empty line
After commit v1.12-21-g5eeb366 "parallel-tests: optimize global log
creation", the log files copied in the global log are not anymore
separated by a blank line, causing unclear output like this:
FAIL: test1
===========
output from test 1
FAIL: test2
===========
output from test 2
where we would want something like this:
FAIL: test1
===========
output from test 1
FAIL: test2
===========
output from test 2
Fix this regression.
* lib/am/check.am (am__create_global_log): Print an extra empty line
after having displayed the content of a '.log' file.
2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maintcheck: avoid a couple of spurious failures
maintcheck: reduce code duplication, increase coverage
2012-05-05 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: avoid a couple of spurious failures
* t/objcxx-deps.sh, t/objcxx-minidemo.sh: In C++ files, use
"std::cout <<", not "cout <<", to avoid triggering a spurious
failure by the syntax check 'sc_tests_here_document_format'.
Cherry-picked from yesterday's commit v1.12-81-g7f3f467, that
had erroneously been applied to 'master' only rather than to
'maint'.
2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: reduce code duplication, increase coverage
* syntax-checks.mk: Move ...
(sc_tests_plain_aclocal,
sc_tests_plain_autoconf,
sc_tests_plain_perl,
sc_tests_plain_autoupdate,
sc_tests_plain_automake,
sc_tests_plain_make,
sc_tests_plain_autoheader,
sc_tests_plain_autoreconf,
sc_tests_plain_autom4te): ... all these targets ...
(sc_tests_plain_egrep_fgrep): ... and part of this target ...
(sc_tests_plain_check_rules): ... into this variable, and
reimplement their recipes ...
($(sc_tests_plain_check_rules)): ... with this static pattern
rule. Enhance the coverage they offer a little since we are
at it.
(sc_m4_am_plain_egrep_fgrep): New rule, the part of the old
'sc_tests_plain_egrep_fgrep' rule that checked for use of
'fgrep' and 'egrep' in *.am and *.m4 fragments (rather than
in test scripts).
(syntax_check_rules): Update.
* t/dist-formats.tap: Fix bad use of "make" instead of "$MAKE"
revealed by the extra coverage.
* t/cond5.sh, t/auxdir-autodetect.sh: Cosmetic changes to avoid
spuriously triggering the maintainer checks due to the
enhanced coverage.
2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: avoid a couple of spurious failures
* t/objcxx-deps.sh, t/objcxx-minidemo.sh: In C++ files, use
"std::cout <<", not "cout <<", to avoid triggering a spurious
failure by the syntax check 'sc_tests_here_document_format'.
2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: avoid spurious failure on missing Obj C/C++ compiler
objc, objc++: test support for compilation flags
objc, objc++: add stress test
objc, objc++: test automatic dependency tracking
objc: reorganize basic tests
objc++, objc: add first semantic tests
objc++: add first basic test
news: announce initial support for Objective C++
objc++: test support for '.mm' suffix in _SOURCES entries
objc++: add documentation
objc++: initial support for Objective C++
2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'objc++' into maint
* objc++:
tests: avoid spurious failure on missing Obj C/C++ compiler
2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure on missing Obj C/C++ compiler
* t/objc-megademo.sh: Arrange the test to SKIP, not FAIL, if there is
no Objective C or no Objective C++ compiler. Since we are at it, remove
some checks that were actually testing Autoconf (not Automake) behaviour.
2012-05-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'objc++' into maint
* objc++:
objc, objc++: test support for compilation flags
objc, objc++: add stress test
objc, objc++: test automatic dependency tracking
objc: reorganize basic tests
objc++, objc: add first semantic tests
objc++: add first basic test
news: announce initial support for Objective C++
objc++: test support for '.mm' suffix in _SOURCES entries
objc++: add documentation
objc++: initial support for Objective C++
2012-05-03 Stefano Lattarini <stefano.lattarini@gmail.com>
dist: don't bother putting README first in $(DIST_COMMON)
Comments on some of our automake-time pre-processing of $(DIST_COMMON)
said that it was done in order to "put README first because it then
becomes easier to make a Usenet-compliant shar file". But such a
format is hardly relevant anymore, and not worth the (albeit small)
added complexity.
* automake.in (handle_dist): Don't sort @dist_common.
(for_dist_common): Delete this function, is not used anymore.
* lib/am/distdir.am (DISTFILES): Remove obsolete comment.
* t/distcom4.sh: Adjust.
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'always-support-silent-rules'
* always-support-silent-rules:
silent rules: support for them is always active now
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
news: document improvement in parallel-tests performance
tests: fix spurious failure due to autom4te caching
news: fix typos
aclocal: error out again on unrecognized arguments
parallel-tests: save few forks when possible
parallel-tests: optimize global log creation
parallel-tests: optimize 'recheck' target for speed
coverage: add performance tests on some parallel-tests aspects
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
news: document improvement in parallel-tests performance
* NEWS: Document the improved performances of the parallel-tests targets
'check' and 'recheck'. See recent commits:
- v1.12-20-gf5733aa of 2012-04-26,
"parallel-tests: optimize 'recheck' target for speed"
- v1.12-21-g5eeb366 of 2012-02-26,
"parallel-tests: optimize global log creation"
- v1.12-22-g4c2dd6e of 2012-04-30,
"parallel-tests: save few forks when possible"
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure due to autom4te caching
Reported by Peter Breitenlohner :
<http://lists.gnu.org/archive/html/automake-patches/2012-05/msg00045.html>
* t/suffix.sh: Remove stale autom4te.cache directories, to prevent racy,
spurious failures (using 'aclocal --force' was not enough, since the cache
was still picked up by the following automake call).
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Breitenlohner <peb@mppmu.mpg.de>
objc, objc++: test support for compilation flags
* t/objc-flags.sh, t/objcxx-flags.sh: New tests.
* t/list-of-tests.mk: Add them.
2012-05-02 Peter Breitenlohner <peb@mppmu.mpg.de>
objc, objc++: add stress test
* t/objc-megademo.sh: New test, trying out a package using all
of C, C++, Objective C and Objective C++ at the same time.
* t/list-of-tests.mk: Add it.
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
objc, objc++: test automatic dependency tracking
* t/objc-deps.sh, t/objcxx-deps.sh: New tests.
* t/list-of-tests.mk: Add them.
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
objc: reorganize basic tests
* t/objc.sh, t/objc2.sh: Removed, merged into ...
* t/objc-basic.sh: ... this new test.
* t/objcxx-basic.sh: Add reference to new sister test.
* t/list-of-tests.mk: Update.
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Breitenlohner <peb@mppmu.mpg.de>
objc++, objc: add first semantic tests
* t/objcxx-minidemo.sh: New test.
* t/objc-minidemo.sh: Likewise.
* t/list-of-tests.mk: Add them.
2012-05-02 Peter Breitenlohner <peb@mppmu.mpg.de>
objc++: add first basic test
* t/objcxx-basic.sh: New test.
* t/list-of-tests.mk: Add it.
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'parallel-tests-performance' into maint
* parallel-tests-performance:
parallel-tests: save few forks when possible
parallel-tests: optimize global log creation
parallel-tests: optimize 'recheck' target for speed
coverage: add performance tests on some parallel-tests aspects
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
news: fix typos
* NEWS (Bugs fixed in 1.12.1): Fix botched indentation of an entry,
add a forgotten "and", remove a redundant "the".
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: error out again on unrecognized arguments
Starting from commit v1.11-662-g52246cc of 2102-02-18, "cmdline parsing:
move into a dedicated perl module", aclocal has been silently ignoring
non-option arguments instead of correctly reporting them.
Fix this regression.
* t/aclocal.sh: Update to catch the regression.
* aclocal.in (parse_arguments): Explicitly reject non-option arguments.
* NEWS: Update.
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'cygnus-remove'
* cygnus-remove:
cygnus: remove support for Cygnus-style trees
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
cosmetics: fix typo in aclocal m4 directory README
cygnus: warn when it's used (flagged as 'obsolete' now)
2012-05-02 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'cygnus-deprecate' into maint
* cygnus-deprecate:
cygnus: warn when it's used (flagged as 'obsolete' now)
2012-05-01 Andrew Eikum <aeikum@codeweavers.com> (tiny change)
cosmetics: fix typo in aclocal m4 directory README
* m4/acdir/README: Add forgotten "if".
* THANKS: Update.
2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
silent rules: support for them is always active now
Before this change, support for silent rules was optional and activated
only if the 'silent-rules' option was specified.
The rationale behind that behaviour was that the silent-rules machinery
originally only worked with make implementations supporting nested
variables expansions, which isn't (or wasn't) a POSIX-specified features;
so that packages wanting to be "extra-portable" couldn't use the
silent-rules machinery at all.
But after Paul Eggert's commit 'v1.11-598-g8493499' of 25-12-2011,
"silent-rules: fallback for makes without nested vars" (motivated
by automake bugs #9928 and #10237), Makefiles generated when the
'silent-rules' option is enabled can work also with those make
implementations that don't support nested variables expansion (albeit
the configure-time selected verbosity cannot be overridden at make
runtime in such case).
In light of that, and since silent rules are disabled by default even
when the 'silent-rules' option is given (unless the developer explicitly
makes them enabled by default be calling "AM_SILENT_RULES([yes])" in
configure.ac), we can now have the support for silent rules always
enabled.
The 'silent-rules' option will thus become a no-op, but will reaming a
valid option for the time being, for better backward-compatibility.
A collateral effect of this change is that the use of the 'silent-rules'
option will not anymore automatically disable the warnings in the
'portability-recursive' category.
The present change is basically a backport of the Automake-NG commit
'v1.11d-75-g61ca923' of 19-04-2012, "[ng] silent rules: support for
them is always active now". Stemmed by this thread on the Automake-NG
list:
<http://lists.gnu.org/archive/html/automake-ng/2012-04/msg00027.html>
* automake.in: Enable silent-rules machinery unconditionally. Reword
some comments. Do not switch off warnings in the category
'portability-recursive' anymore if the 'silent-rules' option is
given.
* m4/init.m4: Call 'AC_REQUIRE' on 'AM_SILENT_RULES' unconditionally.
* lib/Automake/Options.pm: Recognize 'silent-rules' as a dummy option.
Do not bother anymore checking that it is set in 'configure.ac'.
* t/silent.sh: Remove now-redundant calls to AM_SILENT_RULES.
* t/silent2.sh: Likewise.
* t/silent3.sh: Likewise.
* t/silent4.sh: Likewise.
* t/silent8.sh: Likewise.
* t/silent9.sh: Likewise.
* t/silent-lex.sh: Likewise.
* t/silent-many-gcc.sh: Likewise.
* t/silent-many-generic.sh: Likewise.
* t/silent-yacc-headers.sh: Likewise.
* t/silent-yacc.sh: Likewise.
* t/silentcxx-gcc.sh: Likewise.
* t/silentcxx.sh: Likewise.
* t/silentf77.sh: Likewise.
* t/silentf90.sh: Likewise.
* t/help-silent.sh: Likewise.
* t/silent-configsite.sh: Likewise, and other minor adjustments.
* t/silent7.sh: Likewise. Also, extend to check that silent rules
are disabled by default, and remove obsoleted checks about the
'silent-rules' option being rejected in 'AUTOMAKE_OPTIONS'.
* t/silent6.sh: Remove now-redundant calls to 'AM_SILENT_RULES'.
Call automake with '-Wno-portability-recursive'. Remove other
obsoleted checks.
* t/dollarvar.sh: Don't expect the use of 'AM_SILENT_RULES' in
'configure.ac' to disable warning in the 'portability-recursive'
category anymore.
* t/compile_f_c_cxx.sh: Adjust to avoid a spurious failure.
* t/silent-amopts.sh: Remove as obsolete.
* t/silent-nowarn.sh: Likewise.
* t/list-of-tests.mk: Adjust.
* NEWS: Update.
* doc/automake.texi: Update and simplify accordingly.
* configure.ac (AM_INIT_AUTOMAKE): Remove 'silent-rules' option.
2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
fixup: botched edit in bootstrap.sh
2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: botched edit in bootstrap.sh
* bootstrap.sh (dosubst): Fix botched option ("G" instead of "g")
in a sed "s///" expression. Issue introduced in today's commit
'v1.12-17-g5f810d0'.
2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
news: fix confusing wording
news: fixed weaknesses in build system and testsuite
bootstrap: consistently use correct copyright year
fixup: remove leftover "TERM=ansi" definition in 't/color.sh'
2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
news: fix confusing wording
Reported by Dave Hart.
* NEWS (Future backward-incompatibilities): Fix possibly confusing
wording about the upcoming requirement of Autoconf >= 2.65.
2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
news: fixed weaknesses in build system and testsuite
* NEWS (Bugs fixed in 1.12.1): Report that several weaknesses in the
Automake's own build system and test suite have been fixed. See for
example recent commits:
- commit v1.12-5-geb7e8f3, for bug#11345
- commit v1.12-5-g63e07a9, for bug#11346
- commit v1.12-5-gf31fe4f
- commit v1.12-10-gab14841
- commit v1.12-19-g807f3cf, for bug#11369
- commit v1.12-20-gd330368, for bug#11369
- bug#11387, pre-emptively solved by commit v1.12-4-g444618b
2012-05-01 Stefano Lattarini <stefano.lattarini@gmail.com>
bootstrap: consistently use correct copyright year
Suggested by Peter Johansson in the discussion about automake bug#11356:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11356#41>
* boostrap.sh (dosubst): Don't initialize the substituted value for the
release year from the current year (using `date +%Y`); instead, do it
through ...
($RELEASE_YEAR): ... this new statically-defined variable. To ensure it
won't get out-of-sync, it will be automatically updated ...
* Makefile.am (update-copyright): ... by this target's recipe.
Since are at it, fix a botched output redirection for an error message,
i.e., use ">&2" instead of ">&1".
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: remove leftover "TERM=ansi" definition in 't/color.sh'
It should have actually be removed in commit 'v1.12-23-gb105d40'.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: save few forks when possible
* lib/am/check.am (am__check_pre): Save some forks, by analyzing more
carefully the value of '$@' to decide how to extract its dirname part,
and whether that should be created as a directory.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
news: Automake 1.13 will require Autoconf >= 2.65
news: put planned future backward-incompatibilities on top
readme: update INSTALL to latest version from Autoconf
sync: some auxiliary files synced from upstream
hacking: copyright notices must be updated before releasing
color-tests: coloring can be forced on non-ANSI terminals as well
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
news: Automake 1.13 will require Autoconf >= 2.65
Autoconf 2.65 is almost three years old now, so requiring it is
acceptable. Also, the soon-to-appear support for Objective C++
in Automake will be simplified if we can assume that Autoconf
version (which is the one that introduced support for Objective
C++).
* NEWS (Planned future backward-incompatibilities): Automake 1.13
will require Autoconf 2.65 or later.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
news: put planned future backward-incompatibilities on top
* NEWS (New in 1.12): List of planned future backward-incompatibilities
moved from here ...
(New in 1.12.1): ... to here.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: update INSTALL to latest version from Autoconf
* INSTALL: Updated to the version coming with Autoconf 2.69. This
is warranted now that we use and require that same Autoconf version
in our build system.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: some auxiliary files synced from upstream
* lib/config.sub: Synced from upstream, by "make fetch".
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: copyright notices must be updated before releasing
* HACKING (Release procedure): Suggest to use "make update-copyright".
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
color-tests: coloring can be forced on non-ANSI terminals as well
Before this change, colorization of testsuite output was suppressed
whenever the terminal was recognized to be a "dumb" one, incapable
of handling ANSI coloring (i.e., when the environment variable TERM
had a value of "dumb"). This happened even when the AM_COLOR_TESTS
variable was set to a value of "always".
Such a behaviour was suboptimal and slightly confusing; in fact, if
a user wants to force coloring of testsuite output that is being
redirected to a regular file, he should be able to do so even if his
terminal is not capable of handling ANSI colors -- in fact, such
terminal wouldn't be involved with the testsuite output in any way,
so why should it be allowed to influence it?
Thus, we now enable coloring of test output whenever AM_COLOR_TESTS
is set to "always", irrespective of the value of the TERM environment
variable.
* NEWS: Update.
* lib/am/check.am [%?COLOR%] (am__tty_colors): Activate colorization
of testsuite output whenever AM_COLOR_TESTS has the value of "always".
* t/ax/tap-summary-aux.sh: Export the TERM environment variable to
"dumb" when forcing colorization of the testsuite output; this should
*not* prevent such colorization from taking place, and we want to
check that this expectation really holds.
* t/ax/testsuite-summary-checks.sh: Likewise.
* t/color.sh: Likewise, and adjust some grepping checks.
* t/tap-color.sh: Likewise. Also, remove redundant "make check"
invocation since we are at it.
* t/color2.sh: Likewise, and check that exporting TERM=dumb actually
prevents testsuite output colorization when AM_COLOR_TESTS is unset.
* t/parallel-tests-reset-term.sh: Relax, to prevent it from failing
spuriously due to the new semantic.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
cygnus: remove support for Cygnus-style trees
Support for "Cygnus-style" tree as enabled by the 'cygnus' option
has been deprecated in the documentation and with runtime warning
since Automake 1.12.1. It's now time to remove it.
Closes automake bug#11034.
* lib/Automake/Options.pm (_process_option_list): Issue a proper
error when the 'cygnus' option is seen.
* automake.in: Don't handle the 'cygnus' option anymore.
* docs/automake.texi: Remove references to cygnus option and
Cygnus-style trees.
* lib/am/dejagnu.am, lib/am/texinfos.am: Drop special setups for
cygnus mode.
* NEWS: Update.
* t/cygnus-no-more.sh: New test.
* t/flavor.sh: Adjust.
* t/cygnus-deprecation.sh: Remove.
* t/cygnus-check-without-all.sh: Likewise.
* t/cygnus-requires-maintainer-mode.sh: Likewise.
* t/cygnus-dependency-tracking.sh: Likewise.
* t/cygnus-imply-foreign.sh: Likewise.
* t/cygnus-no-installinfo.sh: Likewise.
* t/cygnus-no-dist.sh: Likewise.
* t/clean2.sh: Likewise.
* t/txinfo5.sh: Likewise.
* t/txinfo5b.sh: Likewise.
* t/list-of-tests.mk: Update.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
cygnus: warn when it's used (flagged as 'obsolete' now)
Support for "Cygnus-style" tree as enabled by the 'cygnus'
option is now reported as obsolete when the warnings in the
'obsolete' category are enabled.
See automake bug#11034.
* automake.in (check_cygnus): Report the use of 'cygnus' mode as
obsolete.
* NEWS: Update.
* docs/automake.texi: Minor adjustments.
* t/cygnus-deprecation.sh: New test.
* t/list-of-tests.mk: Add it.
* tests/cygnus-check-without-all.sh: Adjust by calling automake
with the warnings in the 'obsolete' category disabled.
* t/cygnus-requires-maintainer-mode.sh: Likewise.
* t/cygnus-dependency-tracking.sh: Likewise.
* t/cygnus-imply-foreign.sh: Likewise.
* t/cygnus-no-installinfo.sh: Likewise.
* t/cygnus-no-dist.sh: Likewise.
* t/clean2.sh: Likewise.
* t/flavor.sh: Likewise.
* t/txinfo5.sh: Likewise.
* t/txinfo5b.sh: Likewise.
* t/library.sh: Remove use of 'cygnus' and 'dejagnu' options,
and of AM_MAINTAINER_MODE macro.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: optimize global log creation
With this change, the time required to execute the test case
'testsuite-summary-speed.sh' has dropped as follows:
+ Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
GNU make 3.81:
- 1 run: 4 minutes => 30/40 seconds
+ Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
Solaris CCS make:
- 2 runs: 6 minutes => 30 seconds
+ Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
GNU make 3.82:
- 5 runs: 7 minutes => 1 minute and 10 seconds
* lib/am/check.am ($(TEST_SUITE_LOG)): Optimize for speed, by avoiding
lots of forks with the help of ...
(am__create_global_log): ... this new internal variable, basically
defining a smart awk program, and ...
(am__global_test_result_rx, am__copy_in_global_log_rx): ... these new
internal variables, used by the one above.
(am__rst_section): Remove as obsolete
* t/rst-formatting.trs: Remove.
* t/list-of-tests.mk: Update.
* t/testsuite-summary-count-many.sh: Improve its stress testing by
using 1 million tests rather than just 5 thousands: we can afford
this with our new optimization, and still have the test completed
in a reasonable time.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: optimize 'recheck' target for speed
With this change, the time required to execute the test case
'testsuite-recheck-speed.sh' has dropped as follows:
+ Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
GNU make 3.81:
- 1 run: 6 minutes => 40 seconds
+ Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
Solaris CCS make:
- 4 runs: 3 minutes => 1 minute
+ Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
GNU make 3.82:
- 5 runs: 4 minutes => 1 minute 30 seconds
* lib/am/check.am (recheck): Optimize for speed, by avoiding lots of
forks with the help of ...
(am__list_recheck_tests): ... this new internal variable, basically
defining a proper awk program, and ...
(am__recheck_rx): ... this other new internal variable, used by the
one above.
* t/test-trs-recover2.sh: Relax by not checking for a very corner
case ('.log' and '.trs' files both unreadable) that we don't handle
anymore.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
news: announce initial support for Objective C++
2012-04-30 Peter Breitenlohner <peb@mppmu.mpg.de>
Stefano Lattarini <stefano.lattarini@gmail.com>
objc++: test support for '.mm' suffix in _SOURCES entries
* t/ext.sh: Enhance by adding a file with the '.mm' suffix in
the 'foo_SOURCES' definition.
* t/nodep2.sh: Likewise.
2012-04-30 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: add performance tests on some parallel-tests aspects
* t/testsuite-recheck-speed.sh: New test.
* t/testsuite-summary-speed.sh: Likewise.
* t/list-of-tests.mk: Update.
The new tests are not meant to PASS/FAIL, but rather to help us to
obtain quantitative measurements of the performance improvements
offered by soon-to-appear optimization patches.
Timing before the optimizations implemented by following patches:
+ Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM,
GNU make 3.81:
- testsuite-recheck-speed.sh: 1 run, ~ 6 minutes
- testsuite-summary-speed.sh: 1 run, ~ 4 minutes
+ Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM,
Solaris CCS make:
- testsuite-recheck-speed.sh: 4 runs, ~ 3 minutes
- testsuite-summary-speed.sh: 2 runs, ~ 6 minutes
+ Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM,
GNU make 3.82:
- testsuite-recheck-speed.sh: 5 runs, ~ 4 minutes
- testsuite-summary-speed.sh: 5 runs, ~ 7 minutes
2012-04-30 Peter Breitenlohner <peb@mppmu.mpg.de>
objc++: add documentation
* doc/automake.texi (Objective C++ Support): New node.
(How the Linker is Chosen, Support for Other Languages): Adjust.
2012-04-30 Peter Breitenlohner <peb@mppmu.mpg.de>
objc++: initial support for Objective C++
Original thread (dating back to almost three years ago):
<http://lists.gnu.org/archive/html/automake-patches/2009-07/msg00016.html>
* automake.in: Register new language 'objcxx'.
(lang_objcxx_rewrite): New subroutine.
(resolve_linker): Add OBJCXXLINK.
(%_am_macro_for_cond): Add am__fastdepOBJCXX and AC_PROG_OBJCXX.
(%_ac_macro_for_var): Add OBJCXX and OBJCXXFLAGS.
* m4/depend.m4 (_AM_DEPENDENCIES): Add OBJCXX.
* m4/init.m4 (AM_INIT_AUTOMAKE): Add AC_PROG_OBJCXX hook.
2012-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'mkdirp-remove' into master
* mkdirp-remove:
AM_PROG_MKDIR_P: remove as obsolete
2012-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13
2012-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'mkdirp-deprecate' into maint
* mkdirp-deprecate:
AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13
2012-04-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: root can write on files without write perms; cater for this
tests: require lex, not yacc, in a lex test case
maint: fix a comment typo
2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: root can write on files without write perms; cater for this
Fixes last part of automake bug#11369.
* t/dist-readonly.sh ($required): Add 'non-root'.
2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: require lex, not yacc, in a lex test case
See automake bug#11369.
* t/lex-clean.sh ($required): Require 'lex', not 'yacc'.
2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
AM_PROG_MKDIR_P: remove as obsolete
Support for the obsolescent 'AM_PROG_MKDIR_P' m4 macro (and its
output variable '$(mkdir_p)') has in the documentation and with
runtime warning since Automake 1.12.1. It's now time to remove it.
* automake.in (scan_autoconf_traces): Remove special handling of
'AM_PROG_MKDIR_P'.
* m4/mkdirp.m4: Delete.
* Makefile.am (dist_automake_ac_DATA): Remove it.
* t/mkdirp-deprecation.sh: Delete.
* t/list-of-tests.mk: Remove it.
* doc/automake.texi: Remove references to the 'AM_MKDIR_P' m4 macro
and the '$(mkdir_p)' output variable.
* t/gettext-macros.sh: Ensure the gettext-requiring tests will
still see the now-removed 'AM_PROG_MKDIR_P' macro as an alias for
the 'AC_PROG_MKDIR_P' macro, since even recent versions of gettext
uses 'AM_PROG_MKDIR_P' in their '.m4' files.
* NEWS: Update.
2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13
Support for the obsolescent 'AM_PROG_MKDIR_P' macro (and its
output variable '$(mkdir_p)') has already been deprecated in
the documentation. It's now time to make its use actively
emit warnings in the 'obsolete' category as well.
* automake.in (scan_autoconf_traces): Warn about 'AM_PROG_MKDIR_P'
obsolescent if that macro is seen.
* m4/mkdirp.m4 (AM_PROG_MKDIR_P): Warn about its own obsolescence.
* m4/init.m4: Require 'AC_PROG_MKDIR_P', not 'AM_PROG_MKDIR_P'.
* t/mkdirp-deprecation.sh: New test.
* t/list-of-tests.mk: Add it.
* syntax-check.mk (sc_mkdir_p): Delete this check as obsolete.
(syntax_check_rules): Remove it.
* t/gettext-macros.sh: Ensure the gettext-requiring tests will
call aclocal and automake with the 'obsolete' warnings disabled,
since even recent versions of gettext used the now-deprecated
'AM_PROG_MKDIR_P' m4 macro.
* NEWS: Update.
2012-04-28 Jim Meyering <meyering@redhat.com>
maint: fix a comment typo
* configure.ac: Fix typo in comment: s/out/our/
2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'remove-acdir-option' and 'remove-obsolete-m4'
* remove-acdir-option:
aclocal: remove the --acdir option
* remove-obsolete-m4:
m4: delete several obsolete macros
2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
fixup: avoid unconditional re-bootstrapping on "make dist"
build: ensure release year in copyright notice is up-to-date
cosmetics: fix spacing in THANKS
readme: explicitly state we use ranges in copyright years
bootstrap: add convenience make target
automake, aclocal: update copyright year in output
2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: avoid unconditional re-bootstrapping on "make dist"
Since our 'bootstrap' script is distributed, the 'distdir' target depends
on it. But in our GNUmakefile, we also have a 'bootstrap' target declared
.PHONY, which when called re-bootstrap the Automake distribution. Thus,
whenever we run "make dist", GNU make sees it must remake the 'bootstrap'
target (as it is a dependency of the 'distdir' target), and thus ends up
re-bootstrapping all the package (because of the .PHONY 'bootstrap' target
in GNUmakefile).
We fix this issue by renaming our bootstrap script to 'bootstrap.sh'.
* bootstrap: Renamed ...
* bootstrap.sh: ... to this.
* GNUmakefile (bootstrap): Adjust.
* Makefile.am (EXTRA_DIST): Likewise.
(autodiffs): Likewise.
* HACKING: Likewise.
2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
build: ensure release year in copyright notice is up-to-date
From a suggestion by Eric Blake. See automake bug#11356.
This is a follow-up to previous patch 'v1.12-12-gb99b5be'.
* configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold
the value of the current year.
* Makefile.am (update-copyright): Be sure to also update the
definition of 'RELEASE_YEAR' in configure.ac.
* lib/Automake/Config.in ($RELEASE_YEAR): New exported variable,
initialized from the value substituted for '@RELEASE_YEAR@'.
(@EXPORT): Add it.
* automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be
substituted at make time) instead of hard-coding the release
year. This should ensure the copyright range in the version
message and in the generated files (Makefile.in and aclocal.m4)
are automatically kept up-to-date.
* bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'.
2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix spacing in THANKS
* THANKS: Use spaces, not tabs, to separate a reporter's name from
his e-mail address. Also, increase such spacing, to allow a more
consistent formatting with longer names.
2012-04-28 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: explicitly state we use ranges in copyright years
Reported by Jack Kelly in automake bug#11356.
* README: Explicitly state we use ranges in copyright years; this is
mandated by the GNU Coding Standards for each package that wants to
actually use ranges in copyright years.
2012-04-27 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: remove the --acdir option
It not documented in the manual anymore, its use has already been
causing a deprecation warning, and its oncoming removal has already
been announced in the NEWS file. So let's finally remove it.
* aclocal.in (parse_arguments): Don't recognize the '--acdir' option
anymore.
(handle_acdir_option): Remove subroutine.
* configure.ac ($ACLOCAL): Adjust.
($AUTOMAKE): Cosmetic changes, for consistency.
* tests/aclocal-acdir.test: Remove usages of the '--acdir' option.
* tests/aclocal-print-acdir.test: Likewise.
* NEWS: Update.
2012-04-27 Stefano Lattarini <stefano.lattarini@gmail.com>
bootstrap: add convenience make target
Dependencies in the Automake build system are not completely specified
(see for example the commit log of recent commit 'v1.12-10-gab14841',
"build: avoid too greedy rebuilds in the testsuite"). In fact, some of
them cannot even be; for example, Makefile is generated at configure
time from Makefile.in, which should be regenerated by our bleeding-edge
automake script, which is generated by out Makefile -- specifying the
complete chain of dependencies here would bring to a circular dependency
issue.
For this reason, before testing or deploying a change, we are often
forced to perform a full re-bootstrap of the Automake package, to ensure
all our files are actually up-to-date. Until now, this has to be done
manually, thus causing wasted keystrokes and more possibilities of error.
With this change, we introduce a new 'bootstrap' make target to
automatize all the (easy) steps of this re-bootstrapping (plus some
minor bells & whistles since we are at it).
* GNUmakefile: Rewrite to allow an easy bootstrapping and clean rebuild
of the whole package, in particular with the help of ...
(bootstrap): ... this new target.
2012-04-27 Stefano Lattarini <stefano.lattarini@gmail.com>
m4: delete several obsolete macros
Support for several obsolescent macros has already been deprecated,
and their removal already announced in the documentation and in the
NEWS file. It's now time to finally remove them.
* m4/dmalloc.m4 (fp_WITH_DMALLOC): Don't define anymore.
* m4/maintainer.m4 (jm_MAINTAINER_MODE): Likewise.
* m4/lispdir.m4 (ud_PATH_LISPDIR): Likewise.
* m4/protos.m4 (fp_C_PROTOTYPES): Likewise.
* m4/ccstdc.m4: Delete file.
* m4/header.m4: Likewise.
* m4/obsol-gt.m4: Likewise.
* m4/obsol-lt.m4: Likewise.
* m4/obsolete.m4: Likewise.
* Makefile.am (dist_automake_ac_DATA): Don't list the deleted '.m4'
files anymore.
* t/confh.sh: Use 'AC_CONFIG_HEADERS' instead of the now-removed
AM_CONFIG_HEADER.
* t/confh.sh: Likewise.
* t/confh4.sh: Likewise.
* t/confh6.sh: Likewise.
* t/confh7.sh: Likewise.
* t/confh8.sh: Likewise.
* t/confsub.sh: Likewise.
* t/stamph2.sh: Likewise.
* t/subdir6.sh: Likewise.
* t/autohdr2.sh: Remove as obsolete.
* t/obsolete.sh: Likewise.
* t/list-of-tests.mk. Don't list the deleted test cases anymore.
* NEWS: Update.
* doc/automake.texi: Likewise. In particular ...
(Obsolete Macros): Remove this node altogether.
2012-04-27 Stefano Lattarini <stefano.lattarini@gmail.com>
automake, aclocal: update copyright year in output
Fixes automake bug#11356.
* aclocal.in, automake.in: Add copyright year '2012' in the version
message. Ditto for the copyright notice in the generated Makefile.in
or aclocal.m4 files; and for those, since we are at it, prefer using
a range for copyright years, rather than listing each copyright year
individually.
2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maint: don't use "union" merge driver for NEWS anymore
build: avoid too greedy rebuilds in the testsuite
tests: avoid yet another spurious environment influence
tests: fix a failure in Lex/C++ tests on Mac OS X
tests: fix a spurious failure due to truncated timestamps
build: require autoconf 2.69
build: don't require minimal automake version in AM_INIT_AUTOMAKE
2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: don't use "union" merge driver for NEWS anymore
The use of the "union" merge driver to avoid conflicts in NEWS has
proven to be problematic, as it often silently produced mis-merges
(instead of spurious conflicts, but a spurious conflict is better
than a mis-merge). Also, our new branching policy (see automake
bug#11153 for a description) should greatly mitigate the problem of
merge conflicts in NEWS. For further discussion, see:
<http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00148.html>
2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
build: avoid too greedy rebuilds in the testsuite
The autogenerated makefile fragment 't/testsuite-part.am' used to depend
on the list of *all* the hand-written files. This was technically correct,
since that makefile fragment was (and still is) generated by the script
'gen-testsuite-part', which scans all the hand-written files to detect
implicit dependencies and to decide for which tests a further wrapper test
should be generated.
However, the presence of such a dependency implied that, whenever *any*
test case was modified (no matter how slightly), the 't/testsuite-part.am'
file was rebuilt, and since that is included by our 'Makefile.am', the
'Makefile.in' file was rebuilt as well by automake. In order to do so,
automake scanned our 'configure.ac' file, which requires the latest
Autoconf version (2.69 at the time of writing), and the casual user can
easily lack that on his machine (and that should be allowed, as automake
currently supports any autoconf version >= 2.62).
The described situation could hinder in-field testing or debugging by
users (even experienced ones) that are not automake developers; see for
example automake bug#11347.
So we drop the explicit dependency of 't/testsuite-part.am' on the
hand-written test cases. (As an aside, note that this has already
been done in Automake-NG, albeit for other reasons; see the commit
'v1.11b-129-g1690aca' of 2012-04-23, "[ng] build: define $(TESTS)
through a wildcard").
This is not a serious regression in the faithfulness of the Automake
build systems, since it unfortunately already had several undeclared
dependencies; e.g., 'Makefile.in' should depend on the automake script,
and 'aclocal.m4' should depend on the aclocal script (but this isn't
possible, as it would mean that distributed files depend on ones generated
at make time). Similarly, 'Makefile.in' should depend on some of the
'lib/am/*.am' files, but does not.
Currently, the workaround to get a faithful and correct rebuild is to run
./bootstrap && ./config.status --recheck && make clean all
and the present commit does not change that.
* Makefile.am ($(srcdir)/t/testsuite-part.am): Don't depend on
't/list-of-tests.mk' nor on '$(handwritten_TESTS)' anymore.
($(generated_TESTS)): Likewise, and don't depend on 'Makefile.am'
either.
2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr11345-lex' into maint
* fix-pr11345-lex:
tests: fix a failure in Lex/C++ tests on Mac OS X
2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr11346-timestamp' into maint
* fix-pr11346-timestamp:
tests: fix a spurious failure due to truncated timestamps
2012-04-26 Thien-Thi Nguyen <ttn@gnuvola.org> (tiny change)
tests: avoid yet another spurious environment influence
* t/remake11.sh: Unset 'd' before first use.
2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a failure in Lex/C++ tests on Mac OS X
The <cstdio> header from Xcode-4.3.2 on Mac OS X 10.7.3 declares a 'isatty'
function with C++ linkage, that conflicts with our dummy definition of the
same function, which in turn is required to work around the absence of the
unistd.h header on MinGW (see commit 'v1.11-2138-gfeea090' of 11-04-2012).
So we tweak the affected tests to work around this new problem as well.
This fixes automake bug#11345.
* t/lex-clean-cxx.sh ($required): Since we are at it, add an explicit
'c++' requirement.
* t/lex-depend-cxx.sh ($required): Likewise.
(my-hdr.hxx): Don't include <cstdio>. The "using namespace" directive
should still be enough to ensure the content of this header is not valid
C, albeit being of course valid C++.
Fix unrelated typos in comments.
(joe.ll): Adjust, by removing the call to 'printf'.
* THANKS: Add entry for reporter "Adam Mercer".
2012-04-26 Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Breitenlohner <peb@mppmu.mpg.de>
tests: fix a spurious failure due to truncated timestamps
Fixes automake bug#11346.
* t/self-check-is_newest.tap: Apparently, on some systems (or file
systems), "touch -r" can truncate timestamps :-( Work around that.
2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
build: require autoconf 2.69
It is only from version 2.69 that the 'AC_PROG_FC' macro has started to
set the '$GFC' variable to "yes" if the selected Fortran compiler is a
GNU compiler. Since we use this variable in our configure.ac, we better
require autoconf 2.69 explicitly.
* configure.ac (AC_PRERQ): Require autoconf >= 2.69.
Remove a now-obsolete "FIXME" comment.
2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
build: don't require minimal automake version in AM_INIT_AUTOMAKE
* configure.ac (AM_INIT_AUTOMAKE): Don't explicitly require a minimal
automake version number. Since the Automake build system is only meant
to work with the bleeding-edge automake, that requirement was redundant
and misleading.
2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: major version bump
This is for the master branch.
* configure.ac, m4/amversion.m4: Bump version to 1.12a.
2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
post-release: minor version bump
2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
post-release: minor version bump
This is for the maint branch.
* configure.ac, m4/amversion.m4: Bump version to 1.12.0a.
2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch master into maint after 1.12 release
2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
release: stable major release 1.12
* configure.ac (AC_INIT): Bump version number to 1.12.
* NEWS: Likewise.
* m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (autoupdated
by ./bootstrap).
2012-04-25 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'fix-pr11302-opensuse' and 'fix-pr11306-macosx'
* fix-pr11302-opensuse:
tests: cater to systems installing libs in /lib64
* fix-pr11306-macosx:
tests: fix spurious failure on Mac OS X
2012-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: test the internal $(am__relativize) variable
This new coverage might turn out be useful for the planned changes
in Automake-NG. Even if it eventually doesn't, we gen an improved
testsuite exposure of some non-trivial internals, so it's always a
win for us.
* t/relativize.tap: New test.
* t/list-of-tests.mk: Add it.
2012-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: cater to systems installing libs in /lib64
See automake bug#11302.
On at least OpenSUSE 12.1, "make install" will install libraries in
the '${prefix}/lib64' directory by default. This is due to the
$CONFIG_SITE set by /etc/profile.d/site.sh, which sets a libdir
that ends in '/lib64' rather than '/lib' if it finds that the compiler
is generating 64-bit code. This behaviour was causing some spurious
failures in our testsuite. Fix them.
* t/posixsubst-libraries.sh: Assume the libraries are installed in
'$(libdir)' rather than in '$(prefix)/lib'.
* t/posixsubst-ltlibraries.sh: Likewise.
* t/posixsubst-scripts.sh: Similarly, don't assume that '$(bindir)',
'$(sbindir)' and '$(libexedir)' always defaults to respectively
'$(prefix)/bin', '$(prefix)/sbin' and '$(prefix)/libexec'.
* t/transform3.test: Likewise.
2012-04-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Bruno Haible <bruno@clisp.org>
tests: fix spurious failure on Mac OS X
See automake bug#11306.
* t/lex-libobj.sh: We used to pass LEXLIB='-L /lib' to the ./configure
invocation, to prevent it from explicitly searching for a "lex library".
But the linker on MacOS X 10.5 apparently chokes on that:
cc -g -O2 -o foo foo.o -L /lib yywrap.o
ld: file not found: /lib
collect2: ld returned 1 exit status
So, we now instead pass LEXLIB=' ', which being non-empty is enough
to prevent the search of a "lex library". And since we are at it,
enhance comments on this non-obvious usage.
2012-04-22 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: parallel make with vala
* t/vala-parallel.sh: New test.
* t/list-of-tests.mk: Add it.
2012-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: configure exit with status 77, not 1, if valac version is too old
From a report by Bruno Haible in automake bug#1193. This change should
also automatically avoid spurious testsuite failures with older vala
versions.
* m4/vala.m4 (AM_PROG_VALAC): Exit with status 77, rather than 1, if
the Vala compiler found older than the minimal required version (if
any). This is more consistent with what is done by other macros like
AM_PROG_UPC or AC_PROG_CC.
* NEWS: Update.
* t/vala-headers.sh: Adjust, so that the test is only skipped of the
vala compiler is too old or the required PKG_CHECK_MODULES third-party
macro is not found by aclocal, and not if a generic error happens in
the configure script.
* t/vala-libs.sh: Likewise.
* t/vala2.sh: Likewise.
* t/vala3.sh: Likewise.
* t/vala5.sh: Likewise.
* t/vala-vpath.sh: Likewise (but don't check for the potential error
with PKG_CHECK_MODULES, as that macro is not used in any way here).
* t/vala4.sh: Adjust, to avoid the new semantic causing this test to
skip instead of failing.
2012-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
refactor: processing of input makefile rules
This is a pure refactoring, with no intended functional or semantic
changes. It breaks up an overly-long function in three smaller
sub-functions. This change will very especially useful for the work
on Automake-NG.
* lib/Automake/Rule.pm (define): Move quite a lot of code out, into ...
(_rule_defn_with_exeext_awareness, _maybe_warn_about_duplicated_target,
_conditionals_for_rule): ... these new subroutines.
2012-04-21 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: refactor pre-processing of makefile fragments
This change will provide the automake script with a new function that
reads in a Makefile fragment *without* performing Automake ad-hoc parsing,
but only the pre-processing step, i.e., removal of '##' comments and
substitution of tokens like '%SUBDIRS%', '%?LIBTOOL%' or '?GENENRIC?'.
This will very likely be useful for the work on Automake-NG.
This is a pure refactoring, with no intended functional or semantic
changes.
* automake.in (preprocess_file): New function, extracted ...
(make_paragraphs): ... from here.
2012-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: remove obsolete references to Autoconf 2.13
Autoconf 2.13 is definitely obsolete today, so giving hints or caveats
about it in the Automake documentation is not only obsolescent, but
also counter-productive, as it suggests that autoconf 2.13 is still
relevant.
* doc/automake.texi: Adjust. Related rewordings. Since we are at it,
prefer using a more modern autoconf version number (2.68 instead of 2.57)
in an example showing how to correctly use 'AC_PREREQ' in third-party
.m4 files.
2012-04-20 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure with non-ANSI terminals
* t/ax/tap-summary-aux.sh: When checking colored testsuite output,
be sure to export the TERM variable to the value "ansi"; otherwise
the automake testsuite driver will not display colored output, not
even if AM_COLOR_TESTS is exported to "always". Failure revealed
by NixOS Hydra.
2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: fix typo
* HACKING (Test suite): Refer to file 't/README', not to the
non-existent 'tests/README'.
2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: version bump after beta release
* configure.ac (AC_INIT): Bump version number to 1.11e, as per
HACKING suggestion.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Beta release 1.11d (will become 1.12)
* configure.ac (AC_INIT): Bump version number to 1.11d.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundant 'set -e' calls
* t/aclocal-install-fail.sh: Do not set the 'errexit' shell flag,
as it is already set by './defs'.
* t/aclocal-install-mkdir.sh: Likewise.
* t/aclocal-no-install-no-mkdir.sh: Likewise.
* t/aclocal-verbose-install.sh: Likewise.
* t/instdir-no-empty.sh: Likewise.
* t/link_cond.sh: Likewise.
* t/python-pr10995.sh: Likewise.
* t/vala-vapi.sh: Likewise.
2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures when cross-compiling
* t/parallel-tests-recheck-depends-on-all.sh: Skip the test
when cross-compiling.
* t/vala-vapi.sh: Skip tests that do not make sense when
cross-compiling.
* t/yacc-basic.sh: Likewise.
* t/yacc-cxx.sh: Likewise.
2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
maintainer-check: fix definition of $(ams) again
* syntax-checks.mk (ams): The previous change 'v1.11b-36-g127adfb' solved
one problem in the definition of this variable, but also caused it contain
the names of all the left-behind 't/*.dir' temporary test directories.
Fix that.
2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
maintainer-check: do not hang
* syntax-checks.mk (ams): The definition of this variable was invoking
the 'find' utility in an incorrect way, which resulted into the variable
being empty, thus reducing coverage in some maintainer check and making
other hang. Fix this.
2012-04-18 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: 'recheck' must depend on 'all'
Fixes automake bug#11252.
When a developer experience one or more failures in the testsuite, a good
workflow is for him to modify its program's sources to fix the bug thus
revealed, run "make recheck" to verify that the change has indeed solved
the testsuite failures previously experienced, and then run "make check"
to verify that the change has not introduced any new failure or regression.
Unfortunately, this apparently natural workflow couldn't have worked until
now, since the Automake-provided 'recheck' target (which didn't depend on
'all') wouldn't have causes the program to be recompiled, and the failed
tests would have thus been run with the older, buggy version of the
program, failing the same way as before.
* lib/am/check.am (recheck): Depend on 'all'.
* t/parallel-tests-recheck-depends-on-all.sh: New test.
* t/list-of-tests.mk: Add it.
* NEWS: Update.
2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: building libraries, and more on '.vapi' files
* t/vala1.sh: Remove, turned into ...
* t/vala-libs.sh: ... this functional test instead.
* t/list-of-tests.mk: Adjust.
2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: fix botched call to 'check_user_variables'
* automake.in (lang_vala_finish_target): The 'check_user_variables' function
takes an array, not an array ref, as argument; adjust its call accordingly.
2012-04-17 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: cleanup rules are better and more complete now
* automake.in (lang_vala_finish_target): Ensure Vala-generated C sources
and header files and our custom stamp files are correctly cleaned.
* t/vala-headers.sh, t/vala-vpath.sh: Enhance.
* NEWS: Update.
2012-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: check headers generation
* t/vala-headers.sh: New test, checking use of 'valac' options for
header generation (e.g., '-H', '--vapi', ...) in '$(..._VALAFLAGS)'.
* t/list-of-tests.mk: Add it.
2012-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: remove redundant libtool requirements and usages
* t/vala2.sh: Don't require libtool m4 macros, don't run libtoolize,
don't invoke AC_PROG_LIBTOOL: none of there is really needed.
* t/vala3.test: Likewise.
2012-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: some enhancements
* t/vala-vpath.sh, t/vala2.sh, t/vala3.sh, t/vala5.sh: Enhance a little.
2012-04-16 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: few adjustments and improvements
* t/vala4.sh: Don't run 'libtoolize', it's not truly required.
($required): Don't require 'libtoolize'.
(configure.ac): Don't invoke 'AC_PROG_LIBTOOL'.
* t/vala-mix.sh ($required): Require 'cc'.
Avoid some calls to 'framework_failure_', they were only useful when
this test was xfailing (to ensure it wasn't failing for the wrong
reasons).
Ensure the stamp file is created in the source directory.
2012-04-15 Jim Meyering <meyering@redhat.com>
build: use latest help2man, but without locale support
* doc/help2man: Update to latest (1.40.8), but built with
--disable-nls, which elides the less-portable locale-related
code, and with the "use 5.008" manually changed to "use 5.006".
Thanks to Brendan O'Dea for the tips.
* THANKS: Update Brendan's address.
2012-04-14 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: print error messages on stderr, not stdout
* lib/am/check.am ($(TEST_SUITE_LOG)): Be sure to print error messages
on stderr, not on stdout.
2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
dist tests: fix reduced coverage due to typo
* t/dist-formats.tap: Append to 'Makefile.am', not to 'Makefil.am'.
2012-04-13 Jim Meyering <meyering@redhat.com>
build: use slightly older help2man, for improved portability
Fixes automake bug#11235
* doc/help2man: Downgrade to help2man-1.36.4, so that it does
not require Locale/gettext.pm, which is not available on a
default Fedora 16 installation. Reported by Stefano Lattarini.
2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure when 'install-info' program is unavailable
From a report by Dmitry V. Levin:
<http://lists.gnu.org/archive/html/automake-patches/2012-04/msg00085.html>
* t/install-info-dir.sh : When 'install-info' is unavailable, create a
dummy '${infodir}/dir' file by hand when that file is required by later
checks.
2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
install: shell parameter expansions can be used in directory names
2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr11232' into maint
* fix-pr11232:
install: shell parameter expansions can be used in directory names
2012-04-13 Dmitry V. Levin <ldv@altlinux.org>
install: shell parameter expansions can be used in directory names
Fixes automake bug#11232.
GNU automake used to support shell parameter expansion and command
substitutions in installation directories, but that was inadvertently
broken by commit v1.11-759-g368f1c4 "install: don't create empty dirs
when an empty 'foo_PRIMARY' is used" of 18-03-2012, where shell quoting
of generated MKDIR_P command was changed from double to single quotes
in 3 places, while some 21 other places still use double quotes for
generated MKDIR_P commands.
* lib/am/data.am: Use double quotes for generated "mkdir -p" commands.
* lib/am/libs.am: Likewise.
* lib/am/ltlib.am: Likewise.
2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: more environment cleanups
* defs (SH_LOG_COMPILER, SH_LOG_COMPILE, SH_LOG_FLAGS,
AM_SH_LOG_FLAGS, SH_LOG_DRIVER, SH_LOG_DRIVER_FLAGS,
AM_SH_LOG_DRIVER_FLAGS): Unset these variable to avoid
potential interferences from the environment.
2012-04-13 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: unset 'AM_UPDATE_INFO_DIR' environment variable
* defs (AM_UPDATE_INFO_DIR): Unset, to be sure to avoid unduly
interferences from the environment. See also automake bug#11204.
* THANKS: Add entry for David Fang.
2012-04-12 Jim Meyering <meyering@redhat.com>
build: generate doc/*.1 files; include help2man
This change is required to avoid making a distributed file depend
on a generated (non-distributed) one. The preceding change
introduced one such dependency, with the distributed doc/*.1
depending on the generated aclocal and automake files. Here,
we avoid the problem by generating the doc/*.1 files rather than
distributing them.
* doc/help2man: New file, version 1.37.1.
* Makefile.am (EXTRA_DIST): Add doc/help2man.
(man1_MANS): Rename from $(dist_man1_MANS). Remove $(srcdir) prefix.
(CLEANFILES): Add these files here, rather than to
$(MAINTAINERCLEANFILES), since we are no longer distributing them.
(update_mans): Use doc/help2man, not $(HELP2MAN).
* configure.ac: Don't test for help2man, now that we bundle it.
2012-04-12 Jim Meyering <meyering@redhat.com>
build: avoid parallel build failures
A parallel build would fail when two concurrent sub-make processes
tried to build lib/Automake/Config.pm. The loser would complain that
grep: lib/Automake/Config.pm-t: No such file or directory
chmod: cannot access `lib/Automake/Config.pm-t': No such file or\
directory
make[1]: *** [lib/Automake/Config.pm] Error 1
* Makefile.am (update_mans): Don't build lib/Automake/Config.pm here.
Instead, depend on it from the two rules that use it:
($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on it.
($(srcdir)/doc/automake-$(APIVERSION).1): Likewise.
[ Note that technically, the above is incorrect, since it makes those
distributed doc/*.1 files depend on generated aclocal and automake.
That problem is addressed by the following commit. ]
However, that was not enough, since even then, a parallel build
would still fail, now with this:
help2man: can't get `--help' info from automake-1.11a
Try `--no-discard-stderr' if option outputs to stderr
make: *** [doc/automake-1.11a.1] Error 1
a subsequent "make -j3" would create the missing file.
That was because help2man would invoke t/wrap/aclocal.in and
t/wrap/automake.in, each of which would require aclocal and
automake, yet those two files weren't guaranteed to be created.
Add explicit dependencies:
($(srcdir)/doc/aclocal-$(APIVERSION).1): Depend on aclocal.
($(srcdir)/doc/automake-$(APIVERSION).1): Depend on automake.
2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
news: remove older entry for "future backward incompatibilities"
* NEWS (New in 1.11.4): Remove subsection about "Future backward
incompatibilities"; they are now either documented changes for the
upcoming 1.12 release, or re-casted as planned future backward
incompatibilities for the next 1.13 release.
2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
news: document fixes for bug#11222 and bug#11229
* NEWS (Bugs fixed in 1.11.5): New, documenting the fixes.
2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
vala: fix distcheck with c/vala mixed projects
vala: fix vapi files handling
vala: test vapi files handling (still failing)
2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branches 'vala-fix-pr11222' and 'vala-fix-pr11229' into maint
* vala-fix-pr11222:
vala: fix vapi files handling
vala: test vapi files handling (still failing)
* vala-fix-pr11229:
vala: fix distcheck with c/vala mixed projects
2012-04-12 Marc-Antoine Perennou <Marc-Antoine@Perennou.com> (tiny change)
vala: fix distcheck with c/vala mixed projects
Fixes automake bug#11229.
* automake.in (lang_vala_finish_target): Return early if the
current '_SOURCES' variable does not contain any '.vala' nor
'.vapi' source. Otherwise, the vala compiler will be called
without arguments, causing an error.
* tests/vala-mix.test: Enhance to catch the fixed bug.
2012-04-12 Stefano Lattarini <stefano.lattarini@gmail.com>
news: fix typo
* NEWS (Changes to Automake-generated testsuite harnesses): It's
'perl', not 'per'. Reported by Akim Demaille in a private mail.
2012-04-11 Marc-Antoine Perennou <Marc-Antoine@Perennou.com> (tiny change)
vala: fix vapi files handling
Fixes automake bug#11222.
Issue introduced in commit 'v1.11-696-g51f61df' of 27-02-2012,
"vala: fix 'valac' calls for projects with mixed Vala/C", which
fixed automake bug#10894.
* automake.in (lang_vala_finish_target): Also recognize '.vapi'
as an extension for vala input files.
* tests/list-of-tests.mk (XFAIL_TESTS): Remove 'vala-vapi.test'.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com> (tiny change)
Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
vala: test vapi files handling (still failing)
Exposes automake bug#11222.
* tests/vala-vapi.test: New test, still failing.
* tests/list-of-tests.mk (handwritten_TESTS): Add it.
(XFAIL_TESTS): Likewise.
* THANKS: Update.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
self checks: avoid spurious failures when keep_testdirs=yes
* t/self-check-cleanup.tap, t/self-check-dir.tap: Unset the
'keep_testdirs' environment variable, to avoid spurious errors
when the testsuite is run with "keep_testdirs=yes make check".
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: some weaknesses in a self-check test case
* t/self-check-cleanup.tap: This test contained several buglets
introduced in the recent row of commits that converted the Automake
build system to a non-recursive setup. Fix them. Since we are at
it, enhance the test to cover also the use of the 'keep_testdirs'
environment variable in order to keep the temporary test directories
around.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: avoid yet more spurious failures (2)
Some maintainer checks were too greedy in processing 'Makefile.am'
files, looking for them even in temporary directories left behind
by the test cases, thus causing occasional spurious failures.
* syntax-checks.mk (ams): Ignore 'Makefile.am' files in the
temporary test directories.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: avoid yet more spurious failures (1)
The 'sc_tests_makefile_variable_order' maintainer check is too
strict sometimes, blaming automake for outputting out-of-order
variables when this is in fact due to the result of post-processing
of third-party tools or custom test code.
* t/tap-doc2.sh: Ensure the final Makefile.in (that we hack by
hand) is removed, to avoid a spurious maintainer-check failure.
* t/gettext-macros.sh: Ensure that any leftover Makefile.in (that
is generated by gettext/autopoint) is removed, to avoid a spurious
maintainer-check failure.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: fixlets w.r.t. the release procedure
* HACKING (Release procedure): Do not state that the result of
"make fetch" is woefully incomplete: this is not true anymore today.
Suggest to re-run the testsuite after a "make fetch", in case any
file has been updated.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix spurious failures
* syntax-check.mk (sc_mkinstalldirs): Now the 'mkinstalldirs' is
listed in the top-level 'Makefile.am', not in 'lib/Makefile.am';
adjust the "whitelist" accordingly.
(sc_ensure_testsuite_has_run): The 'test-suite.log' file created by
"make check" is now placed in the top-level directory, not in the
't/' subdirectory. Adjust by using '$(TEST_SUITE_LOG)' instead of
an hand-crafted path for the 'test-suite.log' file.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: version bump after beta release
* configure.ac (AC_INIT): Bump version number to 1.11c, as per
HACKING suggestion.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Beta release 1.11b (will become 1.12)
* configure.ac (AC_INIT): Bump version number to 1.11b.
* NEWS: Likewise.
* m4/amversion.m4: Likewise (autoupdated by ./bootstrap).
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: some auxiliary files synced from upstream
* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/INSTALL: Likewise.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: described new branching policy for 1.12 an later
This change closes automake bug#11153.
* HACKING (Working with git): Document the new policy for automake
branching and merging, which will start being applied after 1.12 is
released:
- the maintenance branch will be 'maint', and we will cut the
maintenance releases directly from there;
- the development branch will be 'master', and we will cut the
new releases directly from there;
- 'maint' will be kept regularly merged into 'master'.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: avoid spurious failure with older GObject
* t/vala2.sh: In the 'PKG_CHECK_MODULES' call in 'configure.ac',
don't require gobject >= 2.10, but just >= 2.4: that is enough in
order for the test to pass.
* t/vala3.sh: Likewise.
* t/vala5.sh: Likewise. Also, skip the test instead of failing
if the ./configure invocation fails: that is likely due to the
fact that the GObject library is too old or missing, and that is
not automake's fault.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: force the use of automatic dependency tracking
* t/vala-mix2.sh: Invoke ./configure with the option
'--enable-dependency-tracking', so that slower dependency
extractors are not rejected. This avoids a spurious failure
at least on Solaris when the Sun C compiler is used.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures in tests on C++ and lex
This is a follow-up to commit v1.11-2128-g7f2bc63 of 09-04-2012,
"tests: avoid spurious failures with non-flex 'lex' programs and
C++". It is required to avoid a couple of spurious failures on
Solaris and NetBSD systems (at least). See also automake bug#11185.
* t/lex-clean-cxx.sh (parsefoo.lxx): Do not declared the provided
dummy 'isatty' function as 'static', since that might conflict with
a declaration of it as 'extern' pulled in through other system
* t/lex-depend-cxx.sh (joe.ll): Likewise.
* t/README: Update advice, to avoid similar issues in the future.
2012-04-11 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'rmch'
* rmch:
maint: simplify generation of files with @substed@ stuff
t/README: update w.r.t. recent overhaul (non-recursive build system)
docs: fix names of relevant test cases in comments
NEWS: automake build systems avoids make recursion
maint: no more make recursion in Automake's build system
tests: rename 'tests/' => 't/', '*.test' => '*.sh'
tests: remove recipes that run tests with 'prove'
tests: move most helper scripts and files into the 'ax' subdirectory
2012-04-08 Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Rosin <peda@lysator.liu.se>
tests: avoid spurious failures with non-flex 'lex' programs and C++
This change fixes automake bug#11185.
The commit v1.11-2058-g6f4b08d of 06-03-2012, "tests: explicitly
state that our lexers do not require unistd.h" has broken the tests
'lex-clean-cxx.test' and 'lex-depend-cxx.test' on Solaris, where lex
is not flex and does not understand the "%option never-interactive"
directive. Remove the use of this directive, resorting to defining
a dummy 'isatty()' function instead to keep the flex-generated tests
able to compile also on MinGW/MSYS.
* tests/lex-clean-cxx.test (parsefoo.lxx): Define a dummy 'isatty()'
function.
* tests/lex-depend-cxx.test (joe.ll): Likewise.
* tests/README: Adjust. Fix an unrelated typo since we are at it.
2012-04-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failures for shells with busted 'set -e'
Some versions of the BSD Korn shell wrongly bail out when the
'errexit' shell flag is active and the left-hand command in a
"&&" list fails and that list is the *last* command of the body
of a "while" or "for" loop.
* tests/install-info-dir.test: Work around that behaviour.
2012-04-08 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: simplify generation of files with @substed@ stuff
Use a proper "config.status --file=-" idiom to do most substitutions
in our generated files, to avoid too much duplications between the
various $(do_subst) commands in Makefile.am and the (explicit or
implicit AC_SUBST) invocation in configure.ac.
From a suggestion by Eric Blake and Federico Simoncelli:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00011.html>
* Makefile.am (do_subst): Rewrite to take advantage of the
"config.status --file=-" idiom.
(generated_file_finalize): New, to help checking that generated
files don't contain unexpanded '@substitutions@', and are made
read-only.
(automake, aclocal): Take advantage of the improved $(do_subst).
Improve comments.
(lib/Automake/Config.pm): Likewise, and of the new variable
$(generated_file_finalize) as well.
($(top_srcdir)/m4/amversion.m4): Likewise.
(defs-static): Likewise, and depend explicitly on 'Makefile'.
(do_subst_t): Remove as obsolete.
* THANKS: Update.
2012-04-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundant requirement
* tests/txinfo19.test ($required): Drop required "tex", it is not
really needed.
Add trailing ':' command since we are at it.
2012-04-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make two test scripts executable
* tests/instdir-cond.test: Add executable bit.
* tests/instdir-cond2.test: Likewise.
2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
t/README: update w.r.t. recent overhaul (non-recursive build system)
And other miscellaneous improvements since we are at it.
2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: fix names of relevant test cases in comments
* doc/automake.texi: In comments reporting which test(s) check a
given feature/idiom, fix the names of the referenced tests, to
reflect the recent 'tests/foo.test' => 't/foo.sh' "Great Rename".
2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
NEWS: automake build systems avoids make recursion
2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: no more make recursion in Automake's build system
We finally merge testsuite-related part of the Automake build
system with the top-level one. See also yesterday's commit
'v1.11-2124-ga4b0f4b', "maint: remove most recursion in automake's
own build system".
* t/gen-testsuite-part: Move ...
* gen-testsuite-part: ... here, with required adjustments.
* t/defs-static.in: Move ...
* defs-static.in: ... here, with required adjustments. In
particular ...
($testsrcdir, $testbuilddir): Removed.
($top_testsrcdir): Renamed ...
($am_top_srcdir): ... to this.
($top_testbuilddir): Renamed ...
($am_top_builddir): ... to this.
* t/defs: Move ...
* defs: ... here, and adjust as required.
* t/Makefile.am: Merge ...
* Makefile.am: ... in here, with related adjustments and
simplifications.
* bootstrap: Adjust as required.
* syntax-checks.mk: Likewise.
* .gitignore: Likewise.
* t/ax/tap-setup.sh: Likewise.
* t/get-sysconf.sh: Likewise.
* t/help-multilib.sh: Likewise.
* t/multlib.sh: Likewise.
* t/parallel-tests2.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-exit.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-explicit-skips.sh: Likewise.
* t/self-check-reexec.tap: Likewise.
* t/self-check-sanity.sh: Likewise.
* t/yacc-d-cxx.sh: Likewise.
2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: rename 'tests/' => 't/', '*.test' => '*.sh'
When we (soon) convert the Automake testsuite to a non-recursive
make setup, we'll have to fix the entries of $(TESTS) to be
prepended with the subdirectory they are in; this will increase
the length of $(TESTS), and thus increase the possibility of
exceeding the command-line length limits on some systems (most
notably, MinGW/MSYS). See automake bug#7868 for more information.
Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test'
script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test'
will become 't/foo.sh', which have the same number of characters.
* tests/: Rename ...
* t/: ... to this.
* t/*.test: Rename ...
* t/*.sh: ... to this.
* t/.gitignore: Removed as obsolete.
* t/defs: Adjust.
* t/gen-testsuite-part: Likewise.
* t/list-of-tests.mk: Likewise.
* t/ccnoco.sh: Likewise.
* t/ccnoco3.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-reexec.tap: Likewise.
* README: Likewise.
* bootstrap: Likewise
* configure.ac: Likewise.
* Makefile.am: Likewise.
* .gitignore: Likewise.
* syntax-check.mk: Likewise.
2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove recipes that run tests with 'prove'
Those recipes has served its purpose by helping us during the
development of TAP support in Automake, to ensure our TAP driver
didn't have gratuitous incompatibilities with the 'prove' test
runner. But they are now unused, out-of-date and bitrotting. So
it's better to just remove them. We can resurrect them at a later
time if the need arises.
* tests/Makefile.am (PROVE, AM_PROVEFLAGS, AM_PROVECMD): Remove
these variables.
(prove, installprove): Remove these targets and their recipe.
(EXTRA_DIST): Don't distribute 'ax/prove-runner' anymore.
* ax/prove-runner: Delete.
2012-04-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: move most helper scripts and files into the 'ax' subdirectory
* tests/defs-static.in ($am_testauxdir): New variable.
* tests/testsuite-summary-checks.sh: Moved ...
* tests/ax/testsuite-summary-checks.sh: ... here.
* tests/trivial-test-driver: Moved ...
* tests/ax/trivial-test-driver: ... here.
* tests/tap-summary-aux.sh: Moved ...
* tests/ax/tap-summary-aux.sh: ... here.
* tests/distcheck-hook-m4.am: Moved ...
* tests/ax/distcheck-hook-m4.am: ... here.
* tests/prove-runner: Moved ...
* tests/ax/prove-runner: ... here.
* tests/depcomp.sh: Moved ...
* tests/ax/depcomp.sh: ... here.
* tests/tap-setup.sh: Moved ...
* tests/ax/tap-setup.sh: ... here.
* tests/tap-functions.sh: Moved ...
* tests/ax/tap-functions.sh: ... here.
* tests/plain-functions.sh: Moved ...
* tests/ax/plain-functions.sh: ... here.
* tests/extract-testsuite-summary: Moved ...
* tests/ax/extract-testsuite-summary.pl: .. . here.
* tests/gen-testsuite-part: Adjusted accordingly.
* tests/Makefile.am: Likewise.
* tests/defs: Likewise.
* syntax-check.mk: Likewise.
* Several tests: Likewise.
2012-04-05 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: remove most recursion in automake's own build system
Recursive make-based build systems tend to be slower, more fragile
and less faithful than "flat" ones. See Peter Miller's article
"Recursive Make Considered Harmful" for more a more in-depth
discussion:
<http://miller.emu.id.au/pmiller/books/rmch/>
While in the case of automake this isn't a big problem (given the
small size of its build systems), it still creates occasional
glitches and annoyances.
With this change, the use of recursion in Automake's own build
system is eliminated *but for the testsuite*. Converting that
is a little more tricky, and better left for a later change (or
series of changes).
See also commit v1.11-769-gfeeb7f6 of 28-03-2012.
* contrib/Makefile.am, lib/Makefile.am, m4/Makefile.am,
doc/Makefile.am: Removed, their content merged ...
* Makefile.am: ... here, with required adjustments and few
other "opportunistic" changes.
(SUBDIRS): Update.
* configure.ac (AC_CONFIG_FILES): Likewise.
* .gitignore: Likewise.
2012-04-05 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a spurious failures with non-GNU make
* tests/instdir-no-empty.test: Also pass proper AM_MAKEFLAGS to
make invocations that might recurse, to ensure the macro definitions
passed from the command line are properly propagated.
2012-04-04 Stefano Lattarini <stefano.lattarini@gmail.com>
texinfo: warn about future use of '--tidy'
Starting from the next major release of Automake (likely 1.13) we
want to start passing the '--tidy' option to texi2dvi and texi2pdf
invocations, so that auxiliary TeX-generated files can be kept
around (thus speeding up rebuilding of DVI and PDF output) without
cluttering the build directory too much.
Since the '--tidy' option was introduced in Texinfo 4.9 (as
documented in the Texinfo distribution's NEWS file), this also
means that Makefiles generated by future Automake versions will
require at least that version of Texinfo (at the time of writing
four years and nine months old).
The users should be warned about the planned behavioral change
and the new version requirement it will entail.
See also automake bug#11146.
* NEWS (Planned Backward Incompatibilities): Add entry about use
of the '--tidy' option and requirement of Texinfo 4.9.
2012-04-04 Stefano Lattarini <stefano.lattarini@gmail.com>
texinfo: don't clutter the builddir when using modern texi2dvi
In modern versions of texi2dvi (at least since version 1.135, which
comes with Texinfo 4.13) the '-o' option does not imply anymore the
'--clean' option. As a consequence, lots of TeX-generated auxiliary
files are now left in the build directory by the 'pdf', 'ps' and
'dvi' rules.
This is especially annoying with non-recursive setups having the
'.texi' files in a subdirectory, as in:
info_TEXINFOS = doc/foo.texi
In this case, the stray auxiliary files are left in the top build
directory (since TeX is run from there). See for example:
<http://lists.gnu.org/archive/html/bug-bison/2012-04/msg00002.html>
See also automake bug#11146.
* lib/am/texibuild.am: Call 'texi2dvi' and 'texi2pdf' with the
'--clean' option. Update comments accordingly.
* tests/txinfo-noclutter.test: New test.
* tests/txinfo18.test: Remove as obsolete, the still relevant parts
of it moved into the new test.
* tests/list-of-tests.mk: Adjust.
* NEWS: Update.
2012-04-02 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: autotools-generated files are not committed anymore
* HACKING (Working with git) Generated files like 'configure',
'Makefile.in' and 'aclocal.m4' are not committed anymore in our
git repository since some months. Remove obsoleted advices that
assumed they still were.
2012-04-02 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: simplify documentation of bootstrapping process
* HACKING (Working with git): Do not suggest that, to ensure the
bootstrapping process is performed with the latest autotools, the
developer could explicitly pass $AUTOCONF and $AUTOM4TE in the
environment to the ./bootstrap and ./configure invocations: that
is a little tricky and quite fragile. Instead, suggest to just
put modern-enough version of the autotools early in PATH.
2012-04-01 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove repeated line in comment, fix quoting
* automake.in: Drop a repeated line in a comment. In the same
comment, prefer quoting 'like this' rather than `like this'.
Issue introduced in one of the commits that converted from quoting
`like this' to quoting 'like this'.
2012-03-31 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove useless import in automake script
* automake.in (Automake::Version): This import is not needed;
remove it.
2012-03-31 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
docs: deprecate 'cygnus' mode, help the transition
2012-03-31 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: deprecate 'cygnus' mode, help the transition
Support for "Cygnus-style" trees (so far enabled by the 'cygnus'
option) will be deprecated in one release of the next major series
(1.12.x) and removed in the next major release after that (1.13).
Better to start warning about this in the manual.
* docs/automake.texi: Warn about the oncoming deprecation of the
'cygnus' mode. Suggest some idioms that can be used to retain some
effects of the 'cygnus' option.
* THANKS: Update.
From a suggestion by Joseph S. Myers in automake bug#11034.
2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
perl refactor: use modern semantics of 'open'
* lib/Automake/XFile.pm: Update comments and POD documentation to
suggest a more idiomatic/modern usage.
(open): Be more robust in detecting whether the created file handle
is being opened for writing.
* lib/Automake/FileUtils.pm (update_file, contents): Call the
'Automake::XFile' and 'File::IO' constructors with two arguments
rather than one; this change obsoletes ...
(open_quote): ... this subroutine, which has thus been removed.
(@EXPORT): Drop '&open_quote'.
2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
cosmetics: don't make the generated Config.pm executable
maint: reduce use of recursion in automake build system
+ Extra non-trivial extra edits follows.
* lib/Makefile.am (amdir): Deleted this definition, it is already
provided by a proper AC_SUBST in configure.ac.
(dist_am_DATA): Remove 'am/ansi2knr.am', 'am/check-html.am' and
'am/multilib.am'.
(dist_perllib_DATA): Remove 'Automake/Struct.pm'.
2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: don't make the generated Config.pm executable
* lib/Makefile.am (Automake/Config.pm): Don't make this executable,
there's not need for it to be (it's a perl module, not a script).
2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: reduce use of recursion in automake build system
Recursive make-based build systems tend to be slower, more fragile
and less faithful than "flat" ones. See Peter Miller's article
"Recursive Make Considered Harmful" for more a more in-depth
discussion:
<http://miller.emu.id.au/pmiller/books/rmch/>
While in the case of automake this isn't a big problem (given the
small size of its build systems), it still creates occasional
glitches and annoyances. So, with this change, we start making
less use of make recursion in the Automake's own build system
(future changes will reduce it even more).
* lib/am/Makefile.am, lib/Automake/Makefile.am: Removed, their
content merged ...
* lib/Makefile.am: ... here, with required adjustments.
* configure.ac (AC_CONFIG_FILES): Update.
2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
news: sync with branch-1.11, fix mis-merges
2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
acinstall: remove, it has never been really used
Accordingly to the git history (see for example the 'README-alpha'
in commit 'Release-1-1e-39-g9beb4ec' of 06-10-1996), the 'acinstall'
script should have been used to install m4 files for aclocal. The
comments in this script report that "... A script is needed to do
this because we want to do serial-number checking; newer versions
of macro files should always be preferred".
But the 'acinstall' script has never been really used: for example,
the entry "actually use acinstall program" was removed (unfixed)
from the TODO file in commit 'Release-1-1k-12-g1201405' of
08-12-1996, and the only citation of 'acinstall' in the manual was
removed in commit 'Release-1-1l-37-g128c3d7' of 19-03-1997, and
never added back. In addition, the last non-trivial edit to the
script (that is, besides updates to the copyright notice) dates
back to 1996.
More importantly, now that aclocal supports the ACLOCAL_PATH
environment variable, installing m4 files directly in the
system-wide acdir is discouraged, and better left only to
distros' package managers (which already have their own way to
do so, with which third-party build systems should not directly
meddle).
So we just remove the 'acinstall' script.
* lib/acinstall: Remove.
* lib/Makefile.am (dist_script_DATA): Update.
2012-03-28 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: reorganize the source tree and make it less cluttered
* TODO: Move ...
* old/TODO: ... here. This is done because this file is quite
outdated, and today TODO and wishlist items are better handled
though the debbugs tracker.
* ChangeLog.00: Move ...
* old/ChangeLog.00: ... here.
* ChangeLog.01: Move ...
* old/ChangeLog.01: ... here.
* ChangeLog.02: Move ...
* old/ChangeLog.02: ... here.
* ChangeLog.03: Move ...
* old/ChangeLog.03: ... here.
* ChangeLog.04: Move ...
* old/ChangeLog.04: ... here.
* ChangeLog.09: Move ...
* old/ChangeLog.09: ... here.
* ChangeLog.11: Move ...
* old/ChangeLog.11: ... here.
* ChangeLog.96: Move ...
* old/ChangeLog.96: ... here.
* ChangeLog.98: Move ...
* old/ChangeLog.98: ... here.
* tests/ChangeLog-old: Move ...
* old/ChangeLog-tests: .. here.
* tests/Makefile.am (EXTRA_DIST): Adjust.
* Makefile.am (EXTRA_DIST): Likewise.
* .autom4te.cfg: New file, instructing the autotools to place the
autom4te cache directory in '.autom4te.cache' rather than in
'autom4te.cache'.
* .gitignore: Adjust.
* Makefile.am (maintainer-clean-local): Remove the '.autom4te.cache'
directory.
2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com>
news: we are going to drop 'cygnus' soonish
* NEWS (Future backward incompatibilities): Support for
"Cygnus-style" trees (so far enabled by the 'cygnus' option)
will be deprecated in the next minor release and removed in
in the next major release.
2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
depcomp: support tcc (Tiny C Compiler)
tests: workaround for automatic linker determination and conditionals
info: allow user to inhibit pruning of '${infodir}/dir'
vala tests: fix spurious failures with older valac (<= 0.7.2)
tests: fix a timestamp issue, and other minor buglets
tests: fix spurious failure with older autoconf
build: remove duplicated entries in $(TESTS)
+ Extra non-trivia edits:
* tests/link_cond.test: Use 'configure.ac', not 'configure.in'.
2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp: support tcc (Tiny C Compiler)
This change fixes automake bug#11007.
Since git commit 0c928da9 of 21-06-2010, "tcc: Draft suppoprt for
-MD/-MF options" (sic, with typo in summary line), tcc has supported
automatic dependency generation with a command-line interface
similar to what old (pre-8.0) Intel compilers did. This caused
Automake-generated code for automatic dependency tracking to
recognize tcc dependency style as "icc". However, the format of
the dependency files generated by tcc is apparently different enough
from that of icc to cause spurious failures in the post-processing
operated by our 'depcomp' script on such files.
The failure was exposed with the development version of tcc 0.9.26
(as installed with debian package "tcc 0.9.26~git20120104.83d") by
test case 'depcomp-auto.tap' (available only in the master branch).
* lib/depcomp (icc): Cater to tcc as well. Update comments
accordingly.
* NEWS: Update.
2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: workaround for automatic linker determination and conditionals
See automake bug#11089.
Automake is not very smart in automatically determining the command
to be used to link a program whose source files' languages are
conditionally defined. For example, an input like:
if HAVE_CXX
foo_SOURCES = more.c++
else
foo_SOURCES = less.c
endif
will cause the build rules for 'foo' to *unconditionally* use the
C++ compiler for linking, even when the 'HAVE_CXX' conditional
evaluates to false (which might mean that no C++ compiler is
available).
This behaviour is not really correct, but it's easy enough to work
around, and it's only relevant for fringe use cases (at best). So
let's just test that the workaround really works.
* tests/link_cond.test: New test.
* tests/list-of-tests.mk: Add it.
* THANKS: Update.
2012-03-27 Stefano Lattarini <stefano.lattarini@gmail.com>
info: allow user to inhibit pruning of '${infodir}/dir'
This should have ideally been part of commit 'v1.11-519-g1ec1668'
of 23-11-2011 "info: allow user to inhibit creation/update of
'${infodir}/dir'". Well, better late than never.
* lib/am/texinfos.am (uninstall-info-am): Don't look anymore at the
output of "install-info --version" to decide whether to use it to
update the '${infodir}/dir' or not; instead, honour the environment
variable 'AM_UPDATE_INFO_DIR'. To avoid code duplication with ...
(install-info-am): ... the recipe of this target, move common code
out to ...
(am__can_run_installinfo): ... this new internal variable.
* tests/install-info-dir.test: Enhance.
* doc/automake.texi (Texinfo): Update.
* NEWS: Likewise.
2012-03-26 Bruno Haible <bruno@clisp.org>
Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: fix spurious failures with older valac (<= 0.7.2)
See automake bug#11093.
The Vala compiler before the 0.7.3 release does not support the
'--profile' option. But some of our tests were relying on it, so
skip those tests if the detected Vala compiler is too old.
* tests/vala-vpath.test, tests/vala-mix.test, tests/vala-mix2.test
(configure.in): Require vala version >= 0.7.3 in AM_PROG_VALAC call.
2012-03-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a timestamp issue, and other minor buglets
Cherry picked from commit v1.11-1988-g82616f0 of 21-02-2012.
Reported by Panther Martin in automake bug#10848. See also
automake bug#11093.
* tests/conffile-leading-dot.test: Add a proper '$sleep' invocation,
to avoid spurious failures on fast systems without sub-second
timestamp resolutions. Add other minor related and unrelated
improvements and fixlets since we are at it.
2012-03-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure with older autoconf
Cherry picked from commit v1.11-1950-gba5a89b of 16-02-2012.
* tests/conffile-leading-dot.test: Relax grepping of 'config.status'
stderr, to cater for older autoconf. Issue revealed by a failure
with autoconf 2.63 on Cygwin 1.5.25. See also automake bug#11093.
2012-03-24 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: update THANKS
* THANKS: Add entry for Tim Landscheidt.
2012-03-24 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: terminate unfinished sentence, fix reference to a test case
* doc/automake.texi (Using the TAP test protocol): Here.
2012-03-24 Tim Landscheidt <tim@tim-landscheidt.de> (tiny change)
docs: fix some small typos and grammaros
* doc/automake.texi (Using the TAP test protocol): Here ...
* tests/tap-doc2.test: ... and here.
2012-03-24 Stefano Lattarini <stefano.lattarini@gmail.com>
build: remove duplicated entries in $(TESTS)
* tests/list-of-tests.mk (handwritten_TESTS): Remove duplicated
entries for test cases 'extra-portability*.test'.
2012-03-23 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: update TODO file
We don't have to make creation of $(foodir) conditional when
foo_PRIMARY is conditionally defined; that has been solved in
a more sweeping way by commit v1.11-759-g368f1c4 of March 18,
which solved bug#11030 and bug#10997.
The "check" target already depends on the "all" target.
Remove comment "investigate problems with conditionally defined
libraries"; it is aimed at automake 1.5 (!) and too terse and old
to be useful now.
Remove the 12 years old suggestion that "distcheck should make sure
that each file that uses _() is listed in POTFILES.in"; this is
handled by gnulib-provided syntax check 'sc_po_check' already today.
Don't tell to "Run automake before libtool"; automake does not
automatically run libtool anymore today.
Remove hint about the possibility to "rewrite automake in guile" or
"add a GUI": we are not going to do so.
The automatic de-ANSI-fication feature has already been remove, so
no need to suggest its potential removal in the future.
Remove reference to a prospective "cvs" option that could add some
cvs-specific rules. First of all, CVS is falling out of use today.
Secondly, and most to the point, instead of guessing which VCS
is going to be most popular and try to hack support for it into
automake, we should leave it to developer-specific makefile
fragments offered by projects like Gnulib to provide such rules
(they are already doing so with succcess).
About DOS support: it should actually be dropped, not extended.
Add link about Karl Berry's proposal of preferring HTML over Info
documentation installed in the local system:
<http://lists.gnu.org/archive/html/texinfo-devel/2012-03/msg00018.html>
Remove items about "beautification" of output Makefile.in; they
are pretty obvious, and mostly noise (after all, everybody prefers
clean output where possible). Leave it to any developer doing
future refactorings to find out low-hanging and/or high-impact
optimizations and beatifications of the generated Makefiles.
Remove item about internationalization: we're not going to
implement it.
Remove an item explicitly marked as "not that it matters".
The order of files in a distribution tarball does not really
matter, nobody has ever complained about it, so do not worry
about it.
Remove the suggestions about allowing hierarchy of dirs to share
one aclocal.m4 and about printing full file name of Makefile.am
or configure.in when giving error, in order to help very large
trees: nobody has ever complained about the current behaviours,
so no real need to change them.
2012-03-21 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: bootstrapping issues with 'list-of-tests.mk'
* tests/list-of-tests.mk: This file is expected to be executed
directly with make from the bootstrap script, so we can't use
Automake '##' comments after line continuations.
2012-03-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maint: move definition of XFAIL_TESTS near TESTS
Actually, after the trivial merge conflicts have been solved, what
this change actually does is moving the definition of XFAIL_TESTS
near that of handwritten_TESTS. But the rationale is the same of
that of commit 'v1.11-761-gabf40ce' (being merged here), and still
works, so all is good.
2012-03-21 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: move definition of XFAIL_TESTS near TESTS
The $(TESTS) variable is defined in file 'tests/list-of-tests.mk',
while the $(XFAIL_TESTS) variable is defined in 'tests/Makefile.am'.
This means that when a new xfailing test is to be added, two files
must be touched; this is suboptimal and slightly confusing.
* tests/Makefile.am (XFAIL_TESTS): Definition moved ...
* tests/list-of-tests.mk: ... here.
2012-03-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures caused by uses of 'configure.in'
Issue introduced by the recent merges of maint into master, and
revealed by "make maintainer-check".
* tests/aclocal-install-fail.test: Likewise.
* tests/aclocal-install-mkdir.test: Likewise.
* tests/aclocal-verbose-install.test: Likewise.
* tests/installdir.test: Likewise.
* tests/instdir-cond2.test: Likewise.
* tests/instdir-no-empty.test: Likewise.
* tests/python-pr10995.test: Likewise.
* tests/aclocal-no-install-no-mkdir.test: Likewise.
2012-03-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
install-mans: avoid spurious failure with NetBSD make
install: don't create empty dirs when an empty 'foo_PRIMARY' is used
aclocal: remove a couple of useless imports
aclocal: create local directory where to install m4 files
2012-03-18 Stefano Lattarini <stefano.lattarini@gmail.com>
install-mans: avoid spurious failure with NetBSD make
* lib/am/mans.am: After the changes introduced by previous commit
v1.11-759-g368f1c4, some manpage installation recipes started to
fail spuriously on NetBSD 5.1 make. Apparently, the system make
there eats backslashes used to escape whitespace characters in the
relevant recipes. Revert to slightly slower but safer idioms that
avoid the need of such escaping.
2012-03-18 Stefano Lattarini <stefano.lattarini@gmail.com>
install: don't create empty dirs when an empty 'foo_PRIMARY' is used
Fixes automake bug#11030 and bug#10997.
An empty declaration of "foo_PRIMARY" in a Makefile.am used to
cause the generated install rules to create the directory $(foodir)
anyway, even if nothing was to be installed there.
While this could be seen as a convenient way to create a $(foodir)
directory upon "make install" (respecting $(DESTDIR) settings and
such), it also caused problems with conditionals; for example, an
input of:
if FALSE
pgkdata_DATA = something
endif
caused the generated install rules to unconditionally create the
$(pkgdatadir) directory (see automake bug#10997).
Also, a user wanting to create an empty directory upon installation
can easily do so with a custom install hook, as in:
installdirs-local:
$(MKDIR_P) $(DESTDIR)$(foodir)
install-data-hook: installdirs-local
On the other hand, the old behavior of "always create $(foodir),
even if 'foo_PRIMARY' is empty" was harder and more tricky to
override.
Thus, from now on, an empty declaration of "foo_PRIMARY" will not
cause the directory $(foodir) to be created upon "make install"
anymore.
* lib/am/data.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am,
lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am,
lib/am/scripts.am, lib/am/texinfos.am: Adjust install rules to avoid
creating an installation directory if no files are actually to be
installed there.
* tests/instdir-empty.test: Remove, it was testing a semantic
opposite to the one we now want and implement.
* tests/instdir-no-empty.test: New test, check the new semantic.
* tests/instdir-cond.test: Enhance. Move the still-failing part
of the test ...
* tests/instdir-cond2.test: ... here.
* tests/list-of-tests.mk, tests/Makefile.am (XFAIL_TESTS): Update.
* tests/java3.test: Adjust to avoid spurious failures.
* HACKING, NEWS, THANKS: Update.
2012-03-17 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: remove a couple of useless imports
* aclocal.in (File::stat, Cwd): Remove these imports, they are not
really required.
2012-03-16 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: create local directory where to install m4 files
Fixes automake bug#8168 and bug#10816.
A call like "aclocal -I m4 --install" used to fail if the 'm4'
directory wasn't pre-existing. This could be particularly
annoying when running in a checked-out version from a VCS like
git, which doesn't allow empty directories to be tracked.
* aclocal.in (File::Path): New import.
(scan_m4_dirs): Don't die if the first directory of type FT_USER
doesn't exist and the '--install' option was given; that directory
will be created later ...
(install_file): ... here. Change signature of this function: now
it takes as second argument the destination directory rather than
the destination file. Crate the destination directory if it
doesn't already exist. In verbose mode, tell what is being copied
where.
(write_aclocal): Update to the changes in 'install_file'.
* NEWS, THANKS: Update.
* tests/aclocal-install-fail.test: New test.
* tests/aclocal-install-mkdir.test: Likewise.
* tests/aclocal-no-install-no-mkdir.test: Likewise.
* tests/aclocal-verbose-install.test: Likewise.
* tests/list-of-tests.mk: Add them.
2012-03-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
python: avoid failures due to $(am__py_compile) being undefined
python: expose automake bug#10995
2012-03-15 Steven Drake <sbd@NetBSD.org> (tiny change)
python: avoid failures due to $(am__py_compile) being undefined
Fixes automake bug#10995, introduced in commit v1.11-372-gb46debf.
* lib/am/python.am: Move the definition of 'am__py_compile' to
ensure it is always emitted in the output Makefile.in. Previously,
this wouldn't have happened if the input Makefile.am contained a
'noinst_PYTHON' declaration before a 'python_PYTHON' one.
* tests/Makefile.am (XFAIL_TESTS): Remove 'python-pr10995.test' and
'python.test'.
* NEWS: Update.
2012-03-15 Stefano Lattarini <stefano.lattarini@gmail.com>
python: expose automake bug#10995
* tests/python.test: Expose the bug in grepping tests.
* tests/python-noinst.test: New functional test to expose the
bug.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Add the new test and the
extended one.
* THANKS: Update.
2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: one more use of 'unindent' function
* tests/yacc-d-cxx.test (write_parse, write_main): Use 'unindent'
instead of ad-hoc sed invocation to strip extra leading whitespace.
2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundant 'set -e' calls
* tests/dist-pr109765.test: Do not set the 'errexit' shell flag,
as it is already set by 'tests/defs'.
* tests/instdir-cond.test: Likewise.
* tests/instdir-empty.test: Likewise.
* tests/lex-clean-cxx.test: Likewise.
* tests/lex-clean.test: Likewise.
* tests/lex-depend-cxx.test: Likewise.
* tests/lex-depend.test: Likewise.
* tests/lex-line.test: Likewise.
* tests/lex-nodist.test: Likewise.
* tests/lex-pr204.test: Likewise.
* tests/silent-lex.test: Likewise.
* tests/silent-yacc-headers.test: Likewise.
* tests/silent-yacc.test: Likewise.
* tests/vala-mix2.test: Likewise.
* tests/yacc-auxdir.test: Likewise.
* tests/yacc-bison-skeleton-cxx.test: Likewise.
* tests/yacc-bison-skeleton.test: Likewise.
* tests/yacc-clean-cxx.test: Likewise.
* tests/yacc-cxx.test: Likewise.
* tests/yacc-d-cxx.test: Likewise.
* tests/yacc-deleted-headers.test: Likewise.
* tests/yacc-depend.test: Likewise.
* tests/yacc-depend2.test: Likewise.
* tests/yacc-line.test: Likewise.
* tests/yacc-mix-c-cxx.test: Likewise.
* tests/yacc-weirdnames.test: Likewise.
2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: avoid spurious failures in get-sysconf.test
scripts: bump the depcomp scriptversion
sync: some auxiliary files synced from upstream
coverage: an empty foo_PRIMARY should create directory $(foodir)
coverage: make sure am__py_compile is defined when needed
coverage: expose automake bug#10997
coverage: expose automake bug#10975
getopt: relax version requirement for perl
+ Extra non-trivial edits:
* tests/dist-pr109765.test: Use 'configure.ac', not 'configure.in'.
* tests/instdir-cond.test: Likewise.
* tests/instdir-empty.test: Likewise.
2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure with older m4
Reported by Panther Martin in automake bug#10866, diagnosed by
Panther Martin and Eric Blake.
Older GNU m4 versions (e.g., 1.4.6) did error reporting at the end
of an error construct rather than the beginning. This was causing
a spurious testsuite failure due to an off-by-one error in the line
number reported in an aclocal diagnostic.
* tests/cond41.test: Keep all the body of the 'AM_COND_IF'
invocation on a single line, to avoid the off-by-one error.
2012-03-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures in get-sysconf.test
This change fixes the last bit of automake bug#10866.
* tests/get-sysconf.test: When Homebrew spawns a build, even if
from a project's VCS, it stages the files in a new temporary
directory, instead of building directly from a VCS checkout.
This behaviour was causing a spurious failure in this test, which
expected to find either a ChangeLog file or a .git directory in
the source directory (the former happening when the test was run
from a distribution tarball, the latter when it was run from a
git checkout). The Homebrew issue shows that these expectations
are not truly warranted, so relax the test to just give a warning,
not a failure, in case they do not hold. Since we are at it, fix
an unrelated weakness in the displaying of the git log, which
could have failed when the builddir was not a subdirectory of the
srcdir.
2012-03-12 Peter Rosin <peda@lysator.liu.se>
scripts: bump the depcomp scriptversion
* lib/depcomp (scriptversion): Bump, to account for recent changes.
2012-03-12 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: some auxiliary files synced from upstream
* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
* lib/gnupload: Likewise.
2012-03-12 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: an empty foo_PRIMARY should create directory $(foodir)
For example, a Makefile.am containing the definition:
pkgdata_DATA =
should cause the 'install' rule of the generated Makefile.in to
create the '$(pkgdatadir)' directory (respecting any DESTDIR
setting as well).
Suggestion by Peter Breitenlohner in automake bug#10997.
2012-03-12 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: make sure am__py_compile is defined when needed
See automake bug#10995.
* tests/python.test: Also make sure 'am__py_compile' is defined
correctly in the generated Makefile.in.
2012-03-12 Daiki Ueno <ueno@unixuser.org> (tiny change)
coverage: expose automake bug#10997
* tests/instdir-cond.test: New test.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
2012-03-09 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: expose automake bug#10975
* tests/dist-pr10975.test: New test.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com>
getopt: relax version requirement for perl
* lib/Automake/Getopt.pm: Require perl 5.6.0, not 5.6.2: the former
is enough. See also commit 'v1.11-2054-g7df05a0' on master (dated
04-03-2012).
2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
cosmetics: fix repeated changelog entry heading
2012-03-07 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix repeated changelog entry heading
2012-03-07 Peter Rosin <peda@lysator.liu.se>
Merge branch 'maint'
2012-03-07 Peter Rosin <peda@lysator.liu.se>
Merge branch 'msvc' into maint
This merge remedies the confusing situation that some changes
destined for both the master branch and the release branch (a.k.a.
branch-1.11) currently needs to be made on the non-obvious msvc
branch and not on the more natural maint branch. This has caused
a seemingly endless string of less than optimal commits.
The reason for the confusion stems from the fact that the changes made
on the msvc branch became too radical and was considered only suitable
for the master branch, and was thus written in a form suitable for
master and then merged there. Later, the msvc branch was merged
directly into branch-1.11, in order to rush the new features to the
market and to keep the released scripts (lib/ar-lib, lib/compile and
lib/depcomp) consistent with those on the master branch. However,
some changes had to be made to the features added by the msvc branch
in order for them to fit the requirements of branch-1.11, notably that
the warnings issued in the extra-portability class cannot be enabled
by -Wall in the 1.11.x maintenance releases.
In retrospect, it would have been better to not merge msvc directly
into branch-1.11, but instead do it via the maint branch (followed up
with a dummy merge from maint into master) the moment it was decided
that the msvc changes should make it into branch-1.11.
All in all, this merge is going to affect neither the master branch
nor branch-1.11, since it is followed up with dummy merges masking all
changes. The merge is made to maintain the sanity of the poor
developers, who wishes to once again have a working maint branch.
Discussion about merging the msvc branch into branch-1.11:
http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html
Discussion about why this merge hasn't happened before:
http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html
Extra edits below.
* lib/Automake/ChannelDefs.pm: Use the version from branch-1.11.
* tests/ar-lib3.test: Likewise.
* tests/ar-lib4.test: Likewise.
* tests/extra-portability.test: Likewise.
* tests/extra-portability2.test: Likewise.
* tests/extradep.test: Likewise.
* tests/extradep2.test: Likewise.
* tests/list-of-tests.mk: Likewise.
* HACKING: Backport the version from branch-1.11 while at it (as the
change on branch-1.11 is also present on master via an unrelated
commit), even though this change has nothing to do with the changes
on the msvc branch.
2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove useless sleep from tests on remake rules
The sleeps were there to make generated autotools files strictly
newer than their sources; however, this is not necessary, since
POSIX mandates that make considers files with the same timestamp
of their dependencies to be up-to-date.
* tests/remake9a.test: Remove useless $sleep.
* tests/remake9b.test: Likewise.
* tests/remake9c.test: Likewise.
* tests/remake9d.test: Likewise.
* tests/remake10a.test: Likewise.
* tests/remake10b.test: Likewise.
* tests/remake10c.test: Likewise.
2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'msvc' into master (dummy merge)
2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' into msvc
* maint:
news: describe recently-fixed bug in vala support
depcomp: add support for IBM xlc/xlC compilers
2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge remote-tracking branch 'origin/master'
2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
news: describe recently-fixed bug in vala support
depcomp: add support for IBM xlc/xlC compilers
2012-03-06 Stefano Lattarini <stefano.lattarini@gmail.com>
news: describe recently-fixed bug in vala support
* NEWS (Long-standing bugs): Document fix for bug#10894, fixed
by commit 'v1.11-696-g51f61df' of 27-02-2012.
2012-03-06 Michael Hofmannm <hofma@googlemail.com> (tiny change)
depcomp: add support for IBM xlc/xlC compilers
* lib/depcomp (xlc): New depmode.
* NEWS, THANKS: Update.
2012-03-06 Peter Rosin <peda@lysator.liu.se>
tests: do not clobber the $CC set by AM_PROG_CC_C_O
If $CC is originally a losing compiler, AM_PROG_CC_C_O will
modify $CC. "$MAKE -e" will then clobber this modified $CC
and reintroduce the raw losing compiler causing the test
to fail, as subdir-objects is in effect.
* tests/yacc-dist-nobuild-subdir.test: Drop -e from the $MAKE
invocations. This is safe since DISTCHECK_CONFIGURE_FLAGS is not
specified in the Makefile and since the YACC override is carried
over from the configure invocation into the Makefile making it
redundant to specifiy it again in the environment for $MAKE.
2012-03-06 Peter Rosin <peda@lysator.liu.se>
tests: explicitly state that our lexers do not require unistd.h
By default, GNU flex generates code that is dependent on unistd.h,
which is not portable to non-ANSI systems causing spurious test
failures.
* tests/cond35.test (tscan.l): Define YY_NO_UNISTD_H.
* tests/lex-clean.test (lexer.l): Likewise.
* tests/lex-depend.test (joe.l): Likewise.
* tests/lex-lib-external.test (foo.l): Likewise.
* tests/lex-lib.test (foo.l): Likewise.
* tests/lex-libobj.test (foo.l): Likewise.
* tests/lex-line.test (zardoz.l): Likewise.
* tests/lex-nodist.test (lexer.l): Likewise.
* tests/lex-noyywrap.test (foo.l): Likewise.
* tests/lex-pr204.test (lexer.l): Likewise.
* tests/lex-subobj-nodep.test (subl/sl.l): Likewise.
* tests/lex3.test (foo.l): Likewise.
* tests/lex5.test (foo/foo.l): Likewise.
* tests/lexvpath.test (lexer.l): Likewise.
* tests/silent-lex.test (foo.l): Likewise.
* tests/silent-many-gcc.test (foo5.l): Likewise.
* tests/silent-many-generic.test (foo5.l): Likewise.
* tests/lex-clean-cxx.test (parsefoo.lxx): Likewise. Also specify
the never-interactive option to prevent usage of the non-ANSI
function isatty(3) (from unistd.h).
* tests/lex-depend-cxx.test (joe.ll): Likewise.
* tests/README: Describe these quirks.
2012-03-06 Peter Rosin <peda@lysator.liu.se>
Merge branch 'msvc'
* msvc:
scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile
2012-03-06 Peter Rosin <peda@lysator.liu.se>
scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile
POSIX mandates that the compiler accepts a space between the -I,
-l and -L options and their respective arguments. See
http://pubs.opengroup.org/onlinepubs/000095399/utilities/c99.html
* lib/compile (func_cl_dashl): New function with factored out code
for implementing the -l option for the cl wrapper.
(func_cl_dashL): New function with factored out code implementing
the -L option for the cl wrapper.
(func_cl_wrapper): Use func_cl_dashl to implement both -l <lib>
and -l<lib>, and func_cl_dashL to implement both -L <dir> and
-L<dir>. Also add support for -I <dir>.
(scriptversion): Update.
* tests/compile3.test: Test both with and without a space between
-I, -l and -L and their respective arguments.
* tests/compile5.test: Likewise.
* tests/compile6.test: Likewise.
* tests/compile3.test: Likewise.
* NEWS: Update.
2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: drop 'Automake::Struct' module
Now that we require Perl 5.6, we can drop the 'Automake::Struct'
module, which was basically just a backport of Perl 5.6's
'Class::Struct' to Perl 5.5.
* automake.in: Use 'Class::Struct', not 'Automake::Struct'.
* lib/Automake/Struct.pm: Delete.
* lib/Automake/Makefile.am (dist_perllib_DATA): Remove it.
2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: require perl 5.6 throughout
That version of perl is quite old already, so it should be OK to
require it. More importantly, it is the older perl versions the
developers can currently use for testing, thus it's safer and more
honest to just require it throughout. And anyway, we were already
requiring it in Automake::Getopt, which implied that both automake
and aclocal wouldn't have worked in practice with an older perl
version.
See also the discussion related to automake bug#10925.
* lib/Automake/ChannelDefs.pm: Adjusted to require perl 5.6.
* lib/Automake/Channels.pm: Likewise.
* lib/Automake/Condition.pm: Likewise.
* lib/Automake/Configure_ac.pm: Likewise.
* lib/Automake/DisjConditions.pm: Likewise.
* lib/Automake/FileUtils.pm: Likewise.
* lib/Automake/General.pm: Likewise.
* lib/Automake/Item.pm: Likewise.
* lib/Automake/ItemDef.pm: Likewise.
* lib/Automake/Location.pm: Likewise.
* lib/Automake/Options.pm: Likewise.
* lib/Automake/Rule.pm: Likewise.
* lib/Automake/RuleDef.pm: Likewise.
* lib/Automake/Struct.pm: Likewise.
* lib/Automake/VarDef.pm: Likewise.
* lib/Automake/Variable.pm: Likewise.
* lib/Automake/Version.pm: Likewise.
* lib/Automake/Wrap.pm: Likewise.
* lib/Automake/XFile.pm: Likewise.
2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove useless escaping for "'" character
2012-03-04 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: remove redundant and unused requirements
* tests/defs (xsi-bin-sh, xsi-shell): Remove these requirements,
they have never been used.
(cygpath, cscope): Recognizing these explicitly is mostly redundant;
just merge them with the default "catch all" rule, and adjust that
accordingly.
(bzip2): Adjust some outdated comments.
2012-03-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure on case-insensitive file systems
See automake bug#10866.
* tests/java-uninstall.test: Relax the test a little to cater to
case-insensitive file systems, like HFS+ on MacOS X.
2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com>
news: more about planned backward incompatibilities
* NEWS (Future backward-incompatibilities): Starting from the next
major Automake versions, the parallel testsuite driver will be used
by default, instead of the serial testsuite driver as in the past.
2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix few spurious failures
* syntax-checks.mk: Fix some spurious failures by tightening and/or
tweaking few checks so that some false positives end up whitelisted.
2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure due to exported MAKEINFO
* tests/txinfo30.test: Unset variable MAKEINFO, as its content could
take precedence over our faked makeinfo script and cause a spurious
failure. Reported as part of automake bug#10866. Add trailing ':'
command since we are at it.
2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in a vala test
* tests/vala-mix2.test: Append to 'configure.ac' rather than to
'configure.in'. Reported as part of automake bug#10866, and also
revealed by "make maintainer-check".
2012-03-02 Stefano Lattarini <stefano.lattarini@gmail.com>
self checks: relax tests on cleanup
Some find(1) implementations have problems operating recursively on
directories having subdirectories with null permissions, even when
the permissions of such subdirectory should be fixed by find before
it descends into them; for example, with this setup:
% mkdir a a/b
% chmod 000 a/b
a command like this:
% find a -type d ! -perm -700 -exec chmod u+rwx '{}' ';'
fails with this diagnostic on MacOS X 10.7:
find: a/b: Permission denied
and with this diagnostic on Solaris 10:
find: cannot read dir a/b: Permission denied
The problem is that our self checks were simply demanding too much
from our cleanup trap: our tests never use subdirectories with null
permissions, so it doesn't matter if the cleanup trap fails to
handle those. Just relax the self checks to avoid such useless
testsuite noise.
* tests/self-check-cleanup.tap: Only try directories missing
write permissions, not with null permission. That should be
enough for our usages.
2012-03-02 Peter Rosin <peda@lysator.liu.se>
Merge branch 'msvc'
* msvc:
news: add entry about recent 'ar-lib' changes
2012-03-02 Peter Rosin <peda@lysator.liu.se>
news: add entry about recent 'ar-lib' changes
* NEWS: Add information about recent 'ar-lib' changes.
2012-03-02 Peter Rosin <peda@lysator.liu.se>
scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
* lib/ar-lib: Implement the "q" (quick) action as a synonym
for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol
index) when used as modifiers and "s" when used as a command,
there is simply no way for Microsoft lib to not update the
symbol table index in the archive.
(scriptversion): Update.
* tests/ar-lib.test: Check the added behavior. Also add checks
for the recently added "u" (update) and "v" (verbose) modifiers.
2012-03-02 Peter Rosin <peda@lysator.liu.se>
Merge branch 'fix-vala-test'
* fix-vala-test:
tests: fix (harmless) botched merge
2012-03-02 Peter Rosin <peda@lysator.liu.se>
tests: fix (harmless) botched merge
Commit v1.11-1750-g9928ea5 of 2012-01-16 (Merge branch 'maint')
reordered the macro calls so that AM_PROG_AR ended up after
AC_PROG_LIBTOOL, which is not allowed. This error went by
undetected since AC_PROG_LIBTOOL was redefined, but that also
removed the ordering requirement making the error benign.
* tests/vala.test: Put AM_PROG_AR before AC_PROG_LIBTOOL.
2012-03-02 Peter Rosin <peda@lysator.liu.se>
Merge branch 'maint' into msvc
2012-03-01 Peter Rosin <peda@lysator.liu.se>
scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib
* lib/ar-lib: Implement the "q" (quick) action as a synonym
for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol
index) when used as modifiers and "s" when used as a command,
there is simply no way for Microsoft lib to not update the
symbol table index in the archive.
(scriptversion): Update.
* tests/ar-lib.test: Check the added behavior. Also add checks
for the recently added "u" (update) and "v" (verbose) modifiers.
2012-02-29 Peter Rosin <peda@lysator.liu.se>
tests: do not try to use ar(1) when $AR points to something else
* tests/libobj10.test: Move the archive listing commands to the
Makefile, so that $AR - as determined by configure - can be
used.
* tests/libobj17.test: Likewise.
2012-02-29 Peter Rosin <peda@lysator.liu.se>
tests: make tests behave for the AR=lib case
These below tests were left mostly as-is when AM_PROG_AR was
introduced (with libobj16b being the exception, that test was
forgotten or has regressed since), in a misguided attempt to
not make them diverge from the original problem reports.
Modernize them so that they do not FAIL when $AR is Microsoft
'lib'.
* tests/libobj16b.test: Add AM_PROG_AR to configure.ac and remove
the no-longer-needed -Wno-extra-portability option when invoking
automake.
* tests/pr300-lib.test: Likewise.
* tests/pr300-ltlib.test: Likewise.
* tests/pr307.test: Likewise.
* tests/pr401.test: Likewise. Also fetch the 'ar-lib' script.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
2012-02-29 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
vala: fix 'valac' calls for projects with mixed Vala/C
vala: expose automake bug#10894
2012-02-29 Dave Goodell <goodell@mcs.anl.gov> (tiny change)
Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure with Portland Compilers
* tests/silent-many-generic.test (configure.ac): Be more careful
in the workaround to avoid spurious failures with C++ compilers
containing the string "CC" in their names; this avoids spurious
failures with at least the Sun Studio C++ compiler (when named
"sunCC") and the Portland Group C++ Compiler ("pgCC").
Also handle arguments with whitespace correctly in the 'am--cxx'
temporary wrapper.
* THANKS: Update.
2012-02-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure when dependency tracking is unavailable
Report by Dave Goodell. See automake bug#8880.
* tests/yacc-dist-nobuild.test: Run the sanity check that aims at
ensuring we really cover the expected code paths in a new build
directory, to avoid spurious failures when automatic dependency
tracking is disabled.
2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: fix 'valac' calls for projects with mixed Vala/C
Fixes automake bug#10894.
* automake.in (lang_vala_finish_target): Strip non-vala files
from the dependencies of vala stamps, and from the invocation
of valac compiler. Related refactorings.
* tests/Makefile.am (XFAIL_TESTS): Remove 'vala-mix2.test'.
2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: expose automake bug#10894
* tests/vala-mix2.test: New test.
* tests/list-of-tests.mk: Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
* THANKS: Update.
2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove a duplicated copyright line
* tests/list-of-tests.mk: Remove a duplicated copyright line.
2012-02-27 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: --program-transform shouldn't transform too much
Stemmed from a report by Vladimir 'φ-coder/phcoder' Serbinenko:
<http://lists.gnu.org/archive/html/automake/2012-02/msg00025.html>
* tests/transform3.test: New test, checking that --program-transform
does not transform too much stuff (in particular, pkglibexecdir,
pgklibdir and pkgdatadir).
* tests/list-of-tests.mk: Add it.
* THANKS: Update.
2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure (line too long in awk)
* tests/parallel-tests-many.test: Use perl, not awk, to write the
Makefile.am with (deliberately) overly long TESTS content, as some
inferior awk implementations (e.g., Solaris 10 /usr/bin/awk) are
unable to handle the long lines used there and die with errors like:
"awk: string too long near line 5".
2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures when awk is "traditional awk"
* tests/Makefile.am (do_subst): Also substitute '@AWK@'.
* tests/defs-static.in ($AWK): New, user-overridable and defaulting
to the substituted '@AWK@'.
* tests/defs (fetch_tap_driver): When the shell+awk implementation
of the TAP driver is required, export AM_TAP_AWK to point to a
properly capable awk, since the default awk might be a "traditional"
implementation, which won't be enough for our driver. This is the
right fix, since a proper setting of AM_TAP_AWK in the driver's
environment is expected (and documented to be required) in real
world uses of 'tap-driver.sh'.
2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid many spurious failures for shells with busted 'set -e'
Some versions of the BSD Korn shell wrongly bail out when the
'errexit' shell flag is active and the left-hand command in a
"&&" list fails and that list is the *last* command of an entry
in a "case" statement.
* tests/defs (gcc, g++, gcj): Work around that.
2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: don't create /usr/share/aclocal as empty
Related to automake bug#10791.
Since automake 1.11.2, aclocal no longer succeeds if the system
acdir '${datadir}/aclocal' (i.e., "/usr/share/aclocal" when
${prefix} is "/usr") does not exist. So we now have a directory
*installed empty by default*, but whose existence is required by
aclocal in order for it to function at all. This might be
confusing, and sounds like asking for trouble in the long term.
So we now also install a simple README file in that directory,
which briefly explains its purpose and warn that its existence
is required by the normal aclocal functioning.
* m4/acdir/README: New file.
* m4/Makefile.am (dist_system_ac_DATA): Add it.
* m4/acdir/.placeholder: Delete, no more needed.
* m4/Makefile.am (EXTRA_DIST): Remove it.
* THANKS: Update.
2012-02-26 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: document format for git commit messages
* HACKING (Writing a good commit message): New section.
(Working with git): A related minor adjustment.
2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: improve 'dist-hook' documentation
* doc/automake.texi (The dist Hook): Explicitly document the fact
that the dist-hook should account for the case where the source
tree is read-only, mostly for the benefit of distcheck. Since
we are at it, do some minor unrelated rewordings, and remove
obsolescent advice. Motivated by the discussion on automake
bug#10878.
* tests/disthook.test: New test.
* tests/disthook-perms.test: Delete as obsolete.
* tests/list-of-tests.mk: Adjust.
2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: improve "make distcheck" documentation
* doc/automake.texi (Checking the Distribution): The fact that
"make distcheck" uses a read-only srcdir wasn't documented clearly
enough here. Fix that. Since we are at it, be more explicit
about the steps undertaken by "make distcheck", and re-organize
this section a bit. Motivated by the discussion on automake
bug#10878.
(distcleancheck): Rename this node (in the "FAQ" section) ...
(Errors with distclean): ... to this.
Add a proper "FIXME" comment.
2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: proper capitalization and full stops in 'm4/depend.m4'
2012-02-25 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: dist-hook and distcheck-hook can modify file permission
See automake bug#10878.
* tests/dist-hook-perms.test: New test, checking that the user can
use the 'dist-hook' target to modify permissions of distributed
files before putting them in the distribution tarball.
* tests/distcheck-writable-srcdir.test: New test, checking that the
user can use 'distcheck-hook' to ensure his packages is built by
"make distcheck" with a writable srcdir. This goes against the GNU
Coding Standards, but some package authors might not care about
them too much, and it's nice to support their use case too.
* tests/list-of-tests.mk: Add them.
2012-02-25 Jim Meyering <meyering@redhat.com>
tests: avoid spurious failure when gcj is not installed
Since yesterday's commit, v1.11-2019-g4d2bf42,
the gcj4 test would fail when gcj is not installed.
* tests/defs-static.in (GNU_GCJ, GNU_GCJFLAGS): Define.
* tests/Makefile.am (do_subust): Add those to the list of
substituted symbols.
2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: look for GNU Java compiler at configure time
Do this for consistency with what is done with other compilers.
* configure.ac: Look for GNU java compiler at configure time.
* tests/defs (gcj): Adjust and simplify.
($am__tool_prefix): Remove definition, it's not used anymore.
2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
refactor: in Automake::Options (no semantic change)
* lib/Automake/Options.pm: Prefer leading spaces to leading tabs
throughout. Minor whitespace and comment changes.
(_process_option_list): Simple refactoring to make the code more
pleasant to read and easier to modify in the future. This
refactoring also reduces code duplication, with the help of ...
(_option_must_be_from_configure, _is_valid_easy_option): ... these
new internal subroutines.
* tests/tar3.test: Enhance.
* tests/silent-amopts.test: New, checks that automake complains if
the 'silent-rules' option is used in AUTOMAKE_OPTIONS.
* tests/list-of-tests.mk: Add it.
2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: typofixes and whitespace changes
* configure.ac: Fix a typo in comments.
* aclocal.in: Get rid of latest form-feed (^L) usages.
* automake.in: Likewise.
2012-02-24 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: looks for GNU compilers at configure time
This way, if the generic C compiler determined configure time is
recognized to be the GNU C compiler, we can reuse it instead of
looking for a compiler named "gcc" (over and over again) in the
test scripts requiring the GNU C compiler. Ditto for the C++,
Fortran, and Fortran 77 compilers.
This change will improve coverage by allowing us to more easily
use non-default GNU compilers throughout the testsuite.
And as a bonus, this change also removes a weakness from our
testsuite that could cause spurious failures when flags passed
to the generic compilers were erroneously reused for the GNU
compilers; see automake bug#10859.
* configure.ac: Look for the GNU compilers explicitly. Improve
some configure output and diagnostic since we are at it.
* tests/defs-static.in ($GNU_CC, $GNU_CXX, $GNU_FC, $GNU_F77):
Initialize with the values determined at configure time (while
allowing user overrides).
* tests/Makefile.am (do_edit): Also substitute the configure-time
values of GNU_CC, GNU_CXX, GNU_FC and GNU_F77.
* tests/defs (gcc, g++, gfortran, g77): Use the values for the GNU
compilers determined at configure time (i.e., $GNU_CC for the GNU
C compiler, and so on).
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
docs, news: document planned removal of obsolete macros and features
* NEWS (Future backward-incompatibilities): Document planned removal
of several superseded and/or obsoleted macros, of the $(mkdir_p)
variable and @mkdir_p@ substitution, and of the support for the
two- or three-arguments invocation forms of AM_INIT_AUTOMAKE.
* doc/automake.texi: Likewise.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: remove reference to lzma support, it has been removed
Support for lzma compression in distribution tarball has been
removed in commit 'v1.11-1674-g02e9072' of 01-01-2012, "dist:
remove support for lzma (superseded by xz and lzip)", but was
still documented in the manual.
* doc/automake.texi: Remove references to the 'dist-lzma' option
and to the lzma compression support.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fixlet in comment in automake
* automake.in ($configure_dist_common): In the associated comment,
refer to scanning of 'configure.ac', not 'configure.in'.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: assume 'test -x' is portable
* lib/Makefile.am (installcheck-local): To verify that the installed
scripts are actually executable, simply use 'test -x', instead of
resorting to perl and its '-x' file operator. Today, 'test -x'
should today be portable to any non-museum system. Since we are at
it, improve diagnostic in case of failure.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
deptrack: avoid few forks in configure (minor optimization)
* m4/depend.m4 (_AM_DEPENDENCIES): Use 'echo > file' instead of
'touch file' to ensure the creation of a dummy file. Adjust the
comment that explains why we can't simply use ': > file': the
problem this latter idiom tickles is present also with Solaris 10
/bin/sh, not merely with Solaris 8 /bin/sh.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: remove an obsolete check
* syntax-checks.mk (sc_perl_local_no_parens): Remove, we don't even
allow the use of local but for the '$_' and '$~' special variables.
(syntax_check_rules): Adjust.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
news: update w.r.t. change in quoting format
* NEWS (New in 1.11.1a): State that we prefer to quote 'like this'
or "like this" rather than `like this', as according to the new GCS
recommendations.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: do not quote `like this', as per GCS recommendation
* automake.in: Convert comments, diagnostic and help screen to the
use of new quoting format 'like this' or "like this" rather than
`like this'.
* tests/stdlib2.test: Adjust.
* tests/ltinstloc.test: Likewise.
* tests/location.test: Likewise.
* tests/libtool8.test: Likewise.
* tests/ldadd.test: Likewise, and prefer trailing ':' over trailing
'Exit 0'.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
aclocal: do not quote `like this', as per GCS recommendation
* aclocal.in: Convert comments, diagnostic and help screen
to the use of new quoting format 'like this' or "like this"
rather than `like this'.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
pm: do not quote `like this', as per GCS recommendation
This patch converts the internal perl modules used by automake and
aclocal to the use of new quoting format 'like this' or "like this"
rather than `like this'.
* lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm,
lib/Automake/Condition.pm, lib/Automake/Configure_ac.pm,
lib/Automake/DisjConditions.pm, lib/Automake/FileUtils.pm,
lib/Automake/General.pm, lib/Automake/Item.pm,
lib/Automake/Rule.pm, lib/Automake/Getopt.pm,
lib/Automake/Options.pm, lib/Automake/Struct.pm,
lib/Automake/VarDef.pm, lib/Automake/Variable.pm,
lib/Automake/Version.pm, lib/Automake/XFile.pm: Update and
adjust quoting format throughout, in comments and diagnostic.
Some minor related rewordings and reformatting since we are
at it.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
m4: do not quote `like this', as per GCS recommendation
This patch converts the files comprising the automake's own build
system to the use of new quoting format 'like this' or "like this"
rather than `like this'.
* m4/auxdir.m4, m4/ccstdc.m4, m4/depend.m4, m4/depout.m4, m4/tar.m4,
m4/init.m4, m4/maintainer.m4, m4/make.m4, m4/missing.m4, m4/vala.m4,
m4/mkdirp.m4, m4/sanity.m4, m4/silent.m4, m4/strip.m4: Update and
adjust quoting format throughout, in comments and diagnostic. Some
minor related rewordings and reformatting since we are at it. Bump
serial numbers.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
build: do not quote `like this', as per GCS recommendation
This patch converts the files implementing the automake's own build
system to the use of new quoting format 'like this' or "like this"
rather than `like this'.
* bootstrap, configure.ac, syntax-checks.mk, Makefile.am,
lib/Makefile.am, m4/Makefile.am, syntax-checks.mk: Update quoting
format throughout, in comments and diagnostic. Some minor related
rewordings and reformatting since we are at it.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: update advice w.r.t. release process
* HACKING: Don't describe the obsolete 'git-release' target anymore.
Instead, document the new and improved targets 'git-tag-release' and
'git-upload-release' (introduced in commit v1.11-674-gaf5f939 of
25-01-2012, "release: revamp rules to tag and upload the releases").
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: do not quote `like this', as per GCS recommendation
* HACKING: Quote 'like this' or "like this", not `like this'. This
is done for consistency with the new recommendations in the GNU
Coding Standards, and because I've come to actually prefer the '...'
and "..." quoting format over the `...' one.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
am: do not quote `like this', as per GCS recommendation
This patch converts the automake-provided '*.am' fragments, and
related files, to the use of new quoting format 'like this' or
"like this" rather than `like this'.
* lib/am/check.am: Update quoting format throughout, in comments
and diagnostic. Some related rewordings, reformatting, and removal
of redundant commands since we are at it.
* lib/am/configure.am: Likewise.
* lib/am/dejagnu.am: Likewise.
* lib/am/depend2.am: Likewise.
* lib/am/distdir.am: Likewise.
* lib/am/inst-vars.am: Likewise.
* lib/am/install.am: Likewise.
* lib/am/lang-compile.am: Likewise.
* lib/am/lisp.am: Likewise.
* lib/am/ltlib.am: Likewise.
* lib/am/mans.am: Likewise.
* lib/am/progs.am: Likewise.
* lib/am/remake-hdr.am: Likewise.
* lib/am/subdirs.am: Likewise.
* lib/am/tags.am: Likewise.
* lib/am/texi-vers.am: Likewise.
* lib/am/texibuild.am: Likewise.
* lib/am/texinfos.am: Likewise.
* lib/am/yacc.am: Likewise.
2012-02-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: quote 'like this', not `like this', as per GCS recommendation
This patch converts the automake testsuite and related files, to
the use of new quoting format 'like this' or "like this" rather
than `like this'.
This is done for consistency with the new recommendations in the GNU
Coding Standards, and, well, because I've come to actually prefer
the '...' and "..." quoting formats over the `...' one.
* tests/README: Update quoting format throughout. Remove some
"excessive" use of quoting, and throw in minor rewording where
appropriate.
* tests/Makefile.am: Likewise, for comments.
* tests/CheckListOfTests.am: Likewise.
* tests/defs-static.in: Likewise.
* tests/defs: Likewise.
* tests/trivial-test-driver: Likewise.
* Many tests/*.tap, tests/*.test and tests/*.sh files: Likewise,
and for the diagnostic and informational messages as well.
* tests/gen-testsuite-part: Likewise, and for the generated tests
as well.
2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com>
spy: "rm -f" and "rm -rf" without args are portable
According to recent testing by Eric Blake, it seems that all
non-museum rm(1) implementations don't complain if called without
file operands, *if* the '-f' option is used. This behaviour will
likely be mandated by future versions of the POSIX standard as
well.
We'd like to start assuming this rm(1) behaviour in future Automake
releases, in order to simplify some automake-provided cleanup rules.
So, for the moment, we add a new "spy" test in our test suite, to
try ensuring that all the rm(1) implementation we encounter "in the
wild" truly behaves as expected in this regard.
For more references, see this discussion on the bug-autoconf list:
<http://lists.gnu.org/archive/html/bug-autoconf/2012-02/msg00002.html>
which sprang from coreutils bug#10819:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10819>
and brought to the POSIX issue#542:
<http://austingroupbugs.net/view.php?id=542>
which has been accepted and will ensure that future version of the
POSIX standards will mandate that 'rm' shouldn't complain if called
without file operands, when the '-f' option is in use.
* tests/spy-rm.test: New test.
* tests/list-of-tests.mk: Add it.
2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures under "make distcheck"
* tests/tap-setup.sh: Pass also '-f' option to 'cp' invocations,
so that files that have already been copied in without write
permissions will still be overwritten where needed, instead of
causing a spurious testsuite failure. Issue seen when the
testsuite is run under "distcheck".
* tests/defs (get_shell_script): Remove target file before
overwriting it, for the same reason. Rework code flow a bit
since we are at it.
2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: avoid spurious failure for 'parallel-tests-many.test'
* tests/parallel-tests-many.test: Adjust grepping of "make check"
and "make recheck" output to match the new format of the testsuite
summary. Remove redundant 'set -e' call since we are at it.
2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: prefer 'configure.ac' over 'configure.in'
With this change, our testsuite now uses 'configure.ac' as the
name for the typical autoconf input, instead of the obsolescent
'configure.in' (which has been deprecated for several years, at
least since autoconf 2.50).
Most of the test cases changed by this commit have been
automatically modified with this sed command (using GNU
sed):
sed -i 's/\<configure\(\\\?\)\.in\>/configure\1.ac/g'
* syntax-checks.mk (sc_tests_no_configure_in): New syntax check.
(syntax_check_rules): Add it.
* tests/defs: Create stub for autoconf input in 'configure.ac',
not in 'configure.in'. Adjust comments.
($AUTOCONF, $AUTOHEADER, $AUTORECONF): Remove workaround for the
infamous debian autoconf wrapper: we don't need such workaround
anymore now that we name our autoconf input as 'configure.ac'.
For more information, see commit v1.11-564-g63da492 "test defs:
hack to support autoconf-wrapper programs" of 16-12-2011.
* tests/README: Use 'configure.ac', not 'configure.in'.
* Many many tests: Likewise.
* tests/backcompat3.test: Adjust to avoid spurious failures.
* tests/backcompat5.test: Likewise.
* tests/missing6.test: Likewise.
* tests/backcompat6.test: Likewise, and extend a bit since we
are at it.
2012-02-22 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: expose automake bug#7868
Expose the command-line length limit issue that can affect the
Automake-generated parallel-tests harness, especially on systems
where this limit is smaller (e.g., MinGW/MSYS).
Suggestion by Bob Friesenhahn.
* tests/parallel-tests-many.test: New test. We have verified that
it actually exposes the bug#7868, as it passes when we opportunely
reduce the number of test cases in $(TESTS). Checked on NetBSD 5.1
64bit, Debian unstable 32bit, Solaris 10 64bit and Cygwin 1.5 32bit.
* tests/list-of-tests.mk (handwritten_TESTS): Add it.
* tests/Makefile.am (XFAIL_TESTS): Likewise.
2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove obsoleted "icc" requirement
* tests/defs (icc): This requirement is not used anymore by any
test case, so remove it.
2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: fix typo in tests/README
2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: "make installcheck" shouldn't run the testsuite twice
* Makefile.am (installcheck-local): Remove. The "installcheck"
target provided by automake is already a recursive target, so
there's no need to have an 'installcheck-local' recipe that
manually recurse into 'tests/'. In fact, such a manual recursion
was causing the testsuite to be run twice by "make installcheck".
2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
news: minor fixlets and reorganization
* NEWS: Get rid of form-feed characters (^L) throughout the file.
Use separator lines instead (composed by 76 '~' characters), or
just an extra blank lines for older less verbose entries (those
predating the 1.8 release).
(New in 1.11.3): Move description of planned future backward
incompatibilities that won't make it to 1.12 ...
(New in 1.11a): ... in here. Quote 'like this', not `like this'.
Other minor miscellaneous rewordings and fixlets.
2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: few typofixes
2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: new option 'serial-tests'
Currently, automake offers a 'parallel-tests' option to enable the
use of the parallel testsuite harness in the generated Makefiles,
but no option to explicitly state the intention of using the older
serial testsuite driver (which is currently the default).
This makes the parallel test harness seems like a second-class
citizen (while actually it should be the other way around); more
importantly, it will prevent us from making the parallel harness
be the default one in future automake versions, since the users
of the serial harness would then have no way to instruct automake
to continue using it.
We solve all of this by introducing a new 'serial-tests' option.
* lib/Automake/Options.pm (_process_option_list): Recognize the
new option, and related minor refactoring.
* tests/serial-tests.test: New test.
* tests/list-of-tests.mk: Add it.
* doc/automake.texi: Update.
* NEWS: Likewise.
2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a timestamp issue, and other minor buglets
Reported by Panther Martin in automake bug#10848.
* tests/conffile-leading-dot.test: Add a proper '$sleep' invocation,
to avoid spurious failures on fast systems without sub-second
timestamp resolutions. Add other minor related and unrelated
improvements and fixlets since we are at it.
2012-02-21 Stefano Lattarini <stefano.lattarini@gmail.com>
automake: new option to print location of scripts and data files
With this change, we add a new automake option '--print-libdir'
that prints (on stdout) the path of the directory containing the
Automake-provided scripts (e.g., 'missing' and 'install-sh') and
data files (e.g., INSTALL or texinfo.tex).
Suggestion by Nick Bowler. See also automake bug#10473.
* automake.in (parse_arguments): Handle the new option.
(usage): Mention it.
* doc/automake.texi (automake Invocation): Document it.
* NEWS: Update.
* tests/print-dir.test: New test.
* tests/list-of-tests.mk: Add it.
2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: prefer the awk+sh TAP driver over the perl one
We had completed our shell+awk implementation of the TAP driver
months ago, but never documented it in the manual, continuing to
document only the "prototype" written in perl instead. Time to
fix this, before the 1.12 release.
* doc/automake.texi (Use TAP with the Automake test harness): Now
we document the use of the awk+shell implementation of our TAP
driver, rather than of the perl one.
* tests/tap-doc2.test: Adjust to use the shell+awk implementation
of the TAP driver.
2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: be stricter in determining whether "make -jN" works
* tests/parallel-tests3.test: With at least Solaris 10 CCS make,
"make -jN" does not fail, but merely prints a warning about
"DistributedMake -j option" being ignored. This was causing this
test case to fail spuriously. So we now use a stricter check in
determining whether make works in parallel mode. Since we are at
it, we try to cater also to Sun Distributed make, which understands
"-j N" but *not* "-jN".
2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't trust exit status of "make -k"
* tests/parallel-tests-extra-programs.test: Unless $MAKE is GNU
make, don't trust the exit status of "$MAKE -k". Fixes a spurious
failure with OpenBSD 5.0 make and NetBSD 5.1 make.
2012-02-19 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix race condition in 'self-check-dir.tap'
* tests/self-check-dir.tap (do_check): Don't fail if "ls -l" fails.
2012-02-18 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: fix another BSD parallel make issue
When BSD make is run in parallel mode, it apparently strips any
leading directory component from the automatic variable '$*' (of
course, against what POSIX mandates). This was causing FreeBSD 9.0
make and NetBSD 5.1 make to spuriously fail with automake-generated
test harnesses if subdir tests were present *and* make was being
run in parallel mode. This issue affected also the Automake own
testsuite.
* lib/am/check2.am (am__set_b): New internal variable.
(%OBJ%, %EXT%.log, %EXT%$(EXEEXT).log): Use it to work around
the described BSD make issue.
* tests/parallel-tests3.test: Enhanced to expose the bug.
* tests/parallel-tests-subdir.test: Enhance a little, since we
are at it.
* NEWS: Update.
2012-02-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid FreeBSD make VPATH issues in more tests (see bug#7884)
See also similar change 'v1.11-755-g818bc40' of 07-02-2012,
"tests: work around bug#7884 in many yacc/lex tests". The
rationale for this change is basically the same.
* tests/lex-lib-external.test: Use "yl_distcheck" instead of
bare "$MAKE distcheck" to avoid extra failures caused by
automake bug#7884.
* tests/lex-noyywrap.test: Likewise.
* tests/lex-libobj.test: Likewise.
* tests/man6.test: This test suffers from the same FreeBSD make
incompatibility in VPATH handling that is the source of automake
bug#7884. Since this is caused by rules that are defined in the
Makefile.am by the test itself, rather that being generated by
automake, the best thing to do is to skip this test if we detect
the presence of said make incompatibility (through the function
'useless_vpath_rebuild').
* tests/man8.test: Likewise.
2012-02-18 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: remove extra trailing whitespace in configure.ac
2012-02-17 Peter Rosin <peda@lysator.liu.se>
Merge branch 'yacc-quote-fix'
2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure with FreeBSD make
* tests/parallel-tests-extra-programs.test: FreeBSD make seems to
write (some) diagnostic messages on stdout instead than on stderr,
so now we also grep the stdout for the expected make diagnostic.
2012-02-17 Peter Rosin <peda@lysator.liu.se>
tests: fix broken quoting in the generated yacc grammar
Fixes problem introduced by v1.11-1912-ge0906b7 "tests: avoid
spurious failure with non-bison yacc" from 12-02-2012.
* tests/suffix10.tap (Makefile.am): Avoid outer single quotes
when we need to produce single quotes.
2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: always use correct path for automake/aclocal wrappers
Otherwise, bootstrapping from a git checkout won't work anymore.
Issue introduced in today's commit 'v1.11-1974-ga98e58f'.
* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Export PATH in a
way that makes the automake and aclocal wrappers truly accessible
(the location of this wrappers has been modified in a recent commit,
but this makefile hadn't been updated accordingly).
(update_mans): Likewise.
2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure in VPATH build
* tests/self-check-dir.tap: Adjust to handle running in a VPATH
build correctly.
2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix many spurious failures in VPATH builds
The 'is' helper script, used by some test cases since commit
'v1.11-1830-g96401cb' of 08-02-2012, "tests: better way to compare
lists in Makefile rules", is not available in VPATH builds, since
it resides in $(srcdir), nor in $(builddir), and only $(builddir)
is added to $PATH in the test script. This was causing spurious
failures.
Solve this issue by re-organizing a bit the layout and placing of
wrapper and help scripts used by the testsuite. This reorganization
is by no mean complete, but should be enough to solve the VPATH
issues.
* tests/is: Moved ...
* tests/ax/is: ... here
* tests/automake.in: Moved ...
* tests/wrap/automake.in: ... here.
* tests/aclocal.in: Moved ...
* tests/wrap/aclocal.in: ... here.
* tests/defs-static.in ($am_bindir, $PATH): Adjust.
* configure.ac (AC_CONFIG_FILES): Likewise.
* tests/Makefile.am (EXTRA_DIST, check_SCRIPTS): Likewise.
* tests/get-sysconf.test: Likewise.
* .gitignore: Likewise.
2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: relax a test to cater to NetBSD make
* tests/parallel-tests-empty-testlogs.test: When $(TESTS) is empty,
NetBSD 5.1 make ends up defining $(TESTS_LOGS) to ".log" rather than
to the empty string (as would be expected). This behaviour was
causing a check in this test case to fail. But that check was in
fact overly strict, since our recipes are smart enough to work
around the botched-up substitution. Also, the failure wasn't a
regression from Automake 1.11, since that version too would have
triggered the same error with NetBSD 5.1 make. So we just relax
the test a little to avoid extra noise in the testsuite.
2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)
2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
dryrun: $(am__dry_run) not confused by metachars in $(MAKEFLAGS)
* lib/am/header-vars.am (am__make_dryrun): Be smarter and more
correct in handling shell metacharacters in $(MAKEFLAGS).
2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: TAP-based tests should error if no plan was specified
After this change, it will still be OK for TAP-based tests not to
report any explicit TAP plan -- but they should state *explicitly*
that they want to do so, by calling the 'plan_' function with a
proper argument (currently, either "later" or "unknonwn").
Motivated by a recent issue introduced by yesterday's commit
'v1.11-1959-g0699a84' (pointed out by Peter Rosin, and fixed
by follow-up commit 'v1.11-1961-gea44190').
* tests/tap-functions.sh (plan_): Get rid of '$have_tap_plan_',
and refactor use and initialization of '$planned_' in a way that
will allow client script to get more information on which kind
of plan (if any) has been declared by the former 'plan_' invocation.
(skip_all_): Adjust.
* tests/defs (exit trap): Only print the "lazy" TAP plan if 'plan_'
has requested that *explicitly*.
* syntax-check.mk (sc_tests_tap_plan): Remove: it's obsolete now,
since a TAP-based test that doesn't call 'plan_' explicitly won't
print any TAP plan, and the TAP driver will catch that and report
an error.
(syntax_check_rules): Adjust.
2012-02-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: expose $(am__dry_run) limitations
Currently, the internal $(am__dry_run) macro can fail in weird ways
when $(MAKEFLAGS) contains shell metacharacters. Let's expose this
limitation in the testsuite (and fix a couple of related weaknesses
since we are at it).
* tests/make-dryrun.test: Moved ...
* tests/make-dryrun.tap: ... here, converted to TAP, and extended to
expose the described limitations. Also ...
(am_parallel_tests): Define this so that the 'gen-testsuite-part'
script won't generate a useless wrapper script.
* test/list-of-tests.mk: Update.
2012-02-17 Peter Rosin <peda@lysator.liu.se>
cosmetics: fix commit message typo in previous
* .git-log-fix: The file is called .git-log-fix, nothing else.
2012-02-17 Peter Rosin <peda@lysator.liu.se>
fixup: .git-log-fix should not be executable
* .git-log-fix: Set mode 644.
2012-02-17 Peter Rosin <peda@lysator.liu.se>
maint: support amending the generated ChangeLog, and fix a typo
* Makefile.am (gitlog_to_changelog_options): Add support for
amending the generated ChangeLog.
(EXTRA_DIST): Update.
* .git-log-fix: New file with things to amend to the generated
ChangeLog, starting with a fix for a typo in v1.11-1963-g3b369e6
"maint: use AC_PACKAGE_BUGREPORT to avoid duplication" from
yesterday.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: normalize copyright notice in some tests
* tests/lisp3.test: Normalize copyright notice to read the
same of that of other tests.
* tests/lisp4.test: Likewise.
* tests/lisp5.test: Likewise.
* tests/lisp6.test: Likewise.
* tests/lisp7.test: Likewise.
* tests/lisp8.test: Likewise.
* tests/lispdry.test: Likewise.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: fix grammaro
Reported by Eric Blake.
* README: Use "also has" instead of "has also"; the former sounds
better to a native speaker.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: use AC_PACKAGE_BUGREPORT to avoid duplication
* configure.ac: In the message reporting whether the user is about
to build an alpha or beta version, use the autoconf-provided
AC_PACKAGE_BUGREPORT macro instead of duplicating the bug reporting
address.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
readme: update and renew
* README: Remove stale or now-obvious description and advices.
Add reference to the INSTALL file. Some minor rewordings.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp tests: fix up today's botched commit
Today's commit 'v1.11-1959-g0699a84' has caused the generated
'depcomp*.tap' tests to call the 'plan_' function *before* it is
defined, and has also caused the extra checks required for better
libtool coverage to be run only when libtool is *not* in use,
rather than the other way around. Fix this mess.
Report by Peter Rosin.
* tests/gen-testsuite-part: Include './defs' in the generated
tests, rather than doing so from 'depcomp.sh'. Adjust the count
of TAP tests for 'depcomp-lt-auto.test' (it's 84, not 72).
* tests/depcomp.sh: Adjust accordingly, and fix inverted logic
about the decision of when to run extra checks for libtool.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
build: clearer diagnostic if "make" is invoked before "./configure"
Since a GNUmakefile wrapper has been introduced in our build
system, a "make" invocation issued before a "./configure" one
has caused GNU make to die with the cryptic message:
GNUmakefile:18: Makefile: No such file or directory
GNUmakefile:19: /syntax-checks.mk: No such file or directory
make: *** No rule to make target `/syntax-checks.mk'. Stop.
* GNUmakefile: Detect when we are being run from an unconfigured
tree, and give helpful diagnostic.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp tests: put TAP plan in generated tests
This avoids a spurious maintcheck failure, and also simplifies
the 'depcomp.sh' helper script a little.
* tests/gen-testsuite-part: Create and place also a proper 'plan_'
call (to emit the TAP plan) in each generated 'depmod*.tap' test.
* tests/depcomp.sh: Remove 'plan_' invocations, and simplify a
little since we are at it.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
update-copyright: don't touch COPYING and INSTALL
Reported by Peter Rosin.
* update-copyright: Also exclude the COPYING and INSTALL files
found in the top-level directory.
* COPYING, INSTALL: Revert update of copyright years done in
today's commit 'v1.11-1948-g641a5a4'.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: whitelist some false positives
Instead of tweaking or dumbing down some of our sources or tests
in order not to make them spuriously trigger few maintainer checks,
we tweak such checks instead.
* syntax-checks.mk (sc_tests_overriding_macros_on_cmdline): Also
allow the variable 'exp' to be overridden on the make command line.
Whitelist the test 'make-dryrun.test' where appropriate.
(sc_mkinstalldirs): When whitelisting the 'mkinstalldirs' occurrence
in 'lib/Makefile.am', do not look for the exact line number: it is
obviously too fragile.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure with parallel make
* tests/parallel-tests-extra-programs.test: Run make with the '-k'
option where appropriate, to ensure it doesn't stop at the first
error, which would prevent the building of the extra programs we
expect it to build.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure on older Cygwin
* tests/tap-signal.tap: Sending a SIGQUIT on Cygwin 1.5 can cause a
segmentation fault instead (sometimes at least). Don't let this
older bug pollute the results of our testsuite.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: display captured make stdout in 'tap-signal.tap'
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure in 'suffix3.tap'
* tests/suffix3.tap (foo.zoo): This C++ file fails to compile with
older g++ (3.4.4) on Cygwin 1.5.25 if we #include <iostream>. Don't
do that, since it's not strictly required, and the "using namespace"
directive is already enough to ensure the file contents is valid C++
but invalid C.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: fix typo in description of AM_YFLAGS
Report by Akim Demaille.
* doc/automake.texi (Program variables): Don't list "-d -t" twice
in the examples of valid ways to specify the '-d' flag to Yacc;
instead, use "-d -t" and "-t -d". Add missing period.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: another spurious failure with older autoconf fixed
* tests/aclocal8.test (configure.in): Also call 'AC_INIT', it's
required by some older autoconf versions (e.g., 2.63).
* tests/acloca15.test: Likewise. Add trailing ':' command since
we are at it.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure with older autoconf
* tests/conffile-leading-dot.test: Relax grepping of 'config.status'
stderr, to cater for older autoconf. Issue revealed by a failure
with autoconf 2.63 on Cygwin 1.5.25.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: sync auxiliary files from upstream
* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: run "make update-copyright"
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: add some missing copyright notices
* tests/ChangeLog-old: Add copyright notice.
* tests/aclocal.in: Likewise.
* tests/automake.in: Likewise.
* tests/extract-testsuite-summary: Likewise.
* tests/prove-runner: Likewise.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
update-copyright: don't touch files synced from external packages
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
update-copyright: don't touch files synced from external packages
* Makefile.am (update-copyright): Do not update copyright years of
files synced from external packages, as given by the '$(FETCHFILES)'
variable. Silence the recipe since we are at it.
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'extra-dist-tests-ksh-bug'
* extra-dist-tests-ksh-bug:
tests: fix spurious failure when testing wildcards in EXTRA_DIST
2012-02-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure when testing wildcards in EXTRA_DIST
* tests/extra10.test: Remove the "make distcheck" call, since, at
least with GNU make 3.82, it trips on the fact that $(srcdir) is
not explicitly used in the wildcard in EXTRA_DIST.
2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
fixup: distribute 'lib/update-copyright'
2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: distribute 'lib/update-copyright'
While the 'update-copyright' script shouldn't be needed by final
users, that's not a good reason to keep it out by the distribution,
as doing so might be unhelpful toward occasional but curious users
interested in peeking into the automake build system.
* lib/Makefile.am (EXTRA_DIST): Distribute 'update-copyright'.
2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: prefer $(GIT) over hard-coded "git" in maintainer recipes
* Makefile.am (update-copyright, autodiffs): Use '$(GIT)' instead
of hard-coding 'git'.
2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maint: add a rule to use gnulib's update-copyright
2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'extra-dist-tests-ksh-bug'
* extra-dist-tests-ksh-bug:
tests: avoid ksh bug for wildcards in EXTRA_DIST
2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'yl-work-for-master'
* yl-work-for-master: (44 commits)
tests: truly use Lex and Yacc selected by configure
news: fix grammaros related to Yacc
yacc/lex tests: avoid spurious skips with non-GNU make
fixup: remove double news entry
tests: workaround for shells with broken 'set -e'
tests: avoid spurious failure with non-bison yacc
tests: fix spurious failures due to missing 'yywrap()' function
fixup: list of yacc/lex tests was botched
tests: work around bug#7884 in many yacc/lex tests
yacc/lex tests: remove an unneeded workaround for bug#8485
yacc/lex tests: avoid too much failures with FreeBSD make
yacc-dist-nobuild.test: add reference to bug#7884
yacc tests: fix bug in 'yacc-cxx.test'
lex tests: fix spurious link errors on Solaris
lex: "make clean" removes .c files from non-distributed .l
lex tests: make test on Lex dependency tracking more "semantic"
lex tests: remove erroneous check about ylwrap distribution
yacc tests: "make clean" removes C++ files from non-distributed .y
tests: add a workaround for automake bug#8485
tests: add a couple of inter-tests reference
...
2012-02-15 Stefano Lattarini <stefano.lattarini@gmail.com>
cscope: is only expected to work with GNU make in VPATH setup
The 'cscope' functionality does not properly handle VPATH rewrites;
so we explicitly document that, for now, it is only ensured to work
with GNU make when doing a VPATH build, and we adjust testsuite
requirements accordingly.
Issue revealed by a failure of 'cscope.test' with Solaris 10 CCS
make.
* doc/automake.texi (Tags): Document the limitations of the cscope
support. Couple of fixlets to formatting since we are at it.
* tests/cscope.test: Converted to TAP, and thus moved ...
* tests/cscope.tap: ... here. Only run tests with VPATH builds when
using GNU make. Adjust so that no C, C++, Fortran or Java compiler,
nor any Emacs program, will be required to run this test.
* tests/list-of-tests.mk: Adjust.
2012-02-14 Jim Meyering <meyering@redhat.com>
maint: add a rule to use gnulib's update-copyright
* lib/update-copyright: New file, from gnulib.
* Makefile.am (FETCHFILES): Add update-copyright to the list.
(fetch): Fetch it.
(update-copyright): New rule.
2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'doc-no-history'
* doc-no-history:
docs: move chapter on automake history out of main manual
2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
check: fix test-suite.log formatting with NetBSD sed
* lib/am/check.am (am__rst_section): Tweak to ensure en extra final
newline is printed also with NetBSD sed. Issue revealed by a
failure of 'test-metadata-global-result.test'.
* tests/rst-formatting.test: New test, checking the internal
variables '$(am__rst_title)' and '$(am__rst_section)'.
* tests/list-of-tests.mk: Add it.
2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid ksh bug for wildcards in EXTRA_DIST
Some shells, like NetBSD 5.1 /bin/ksh, have a bug that causes
wildcards resulting from an unquoted parameter expansion not to
be expanded as expected in some cases:
$ touch a b c d
$ /bin/sh -c 'var="[ab]" && echo $var' # As expected.
a b
$ /bin/ksh -c 'var="[ab]" && echo $var' # Oops.
[ab]
$ /bin/ksh -c 'var="?" && echo $var' # But this as expected.
a b c d
This was causing a failure in our testsuite. Work around that.
See also:
<http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00149.html>
* tests/extra11.test: Work around the described issue by using the
$(wildcard) builtin in the EXTRA_DIST definition. This is not a
problem, since this test was assuming GNU make anyway. Since we are
at it, enhance coverage a little by also running "make distcheck".
* tests/extra10.test: Similarly, enhance coverage by also running
"make distcheck", and fix a minor bug in the process. But continue
using a "bare" wildcard expression in EXTRA_DIST, without involving
the $(wildcard) builtin, to ensure coverage of similar usages "in
the wild".
2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-tap-signal-test'
* fix-tap-signal-test:
fixup: fix test tap-signal.tap to avoid false negatives
2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: fix test tap-signal.tap to avoid false negatives
Problem introduced by yesterday commit v1.11-1851-g79b2c6a,
"tests: avoid yet other spurious failures on NetBSD"
* tests/tap-signal.tap: Truly ensure the exit status of the make
call under test is correctly reflected in the TAP result displayed
by the corresponding 'command_ok_' invocation.
2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
fixup: do not tickle makefile-deps.test with the make_dryrun code
gitattributes: custom merge driver for ChangeLog not needed anymore
gitattributes: use "union" merge driver for NEWS
2012-02-14 Peter Rosin <peda@lysator.liu.se>
fixup: do not tickle makefile-deps.test with the make_dryrun code
* lib/am/header-vars.am (am__make_dryrun): Avoid code matching
'^ *:' in the Makefile, as that tickles makefile-deps.test.
2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
gitattributes: custom merge driver for ChangeLog not needed anymore
* .gitattributes: We don't maintain a version-controlled ChangeLog
file anymore, so we have no need to specify a custom merge driver
for it anymore. Update accordingly.
2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
gitattributes: use "union" merge driver for NEWS
This should help in reducing the spurious merge conflicts for the
NEWS file, which have already caused a great deal of confusion and
wasted time.
Suggestion by Eric Blake:
http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00119.html
* .gitattributes (NEWS): Use the "union" merge driver.
2012-02-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: truly use Lex and Yacc selected by configure
When 'yacc-work' was merged into 'yl-work-for-master' in commit
v1.11-1910-ge6c40d4 (12-02-2012), the values for $YACC and $LEX
stopped being substituted directly by config.status, and started
being substituted by a Makefile rule using the contents of the
$(YACC) and $(LEX) makefile variables.
Unfortunately, our configure.ac was calling AM_SUBST_NOTMAKE on
'YACC' and 'LEX' (see commit v1.11-284-g34ca92b of 29-01-2011,
"tests: don't define YACC and LEX in the Makefiles", for a
rationale), so that the $(YACC) and $(LEX) in the Makefile simply
hold the default make-provided values (that is, "yacc" and "lex"
respectively), independently of what yacc and lex programs were
defined at configure time.
Apart from reducing coverage and creating confusion, this behaviour
also caused spurious failures on systems lacking a yacc and/or lex
programs.
Problem reported by Peter Rosin. References:
<http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00131.html>
<http://lists.gnu.org/archive/html/automake-patches/2012-02/msg00132.html>
* configure.ac (AM_SUBST_NOTMAKE): Don't call anymore on 'YACC' nor
on 'LEX'.
2012-02-13 Peter Rosin <peda@lysator.liu.se>
depcomp tests: do not specify LDFLAGS for static libraries
Commit v1.11-1848-gb3f34ca accidentally specified LDFLAGS
for libbaz even when built as a static library, which is
not allowed.
* tests/depcomp.sh (src/Makefile.am): Don't add any LDFLAGS
when libbaz is built as a static library.
2012-02-13 Peter Rosin <peda@lysator.liu.se>
depcomp tests: avoid redundant runs for non-libtool test
When running the dependency tests without libtool, it's
not meaningful to run the tests three-fold, the libtool
configure options are simply ignored anyway.
* tests/depcomp.sh: Only run the tests three-fold when
libtool is in use.
2012-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid yet other spurious failures on NetBSD
* tests/tap-signal.tap: Add a "strategically placed" extra 'echo'
command and a temporary silencing of xtraces; they are required
to avoid possible garbled output with NetBSD make, which would
miss some final newlines in the expected places and thus mess up
our TAP output.
2012-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid a spurious failure on NetBSD
* tests/test-driver-is-distributed.test: Rewrite to avoid having to
edit configure.in; such editing was subtly botched on NetBSD (the
'AC_CONFIG_AUX_DIR' call got misplaced, ending up *before* the
'AC_INIT' call), and that caused an hard-to-track bug. Since we
are at it, extend coverage a little.
2012-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure with NetBSD /bin/ksh
* tests/parallel-tests-fd-redirect-exeext.test (configure.in): Tweak
so that we don't end up with the generated configure script having
two nested subshells that start with '((':
((./conftest$EXEEXT 9>&1) | grep "^foobar") >&5 2>&5
which is unportable and could confuse some shells (e.g., NetBSD 5.1
/bin/ksh) into thinking we are trying to perform an arithmetic
operation.
2012-02-13 Peter Rosin <peda@lysator.liu.se>
tests: increase coverage for depcomp tests
On platforms requiring that no undefined symbols exist in order
to build shared libraries (e.g. Windows DLLs), you have to
explicitly declare that the libtool library you are building
does not actually have any undefined symbols, for libtool to
even try to build it as a shared library. Without that
explicit declaration, libtool falls back to a static library
only, regardless of any --enable-shared flags etc.
tests/depcomp.sh (Makefile.am): Add -no-undefined if a libtool
library (.la) is built.
(src/Makefile.am): Likewise.
2012-02-13 Peter Rosin <peda@lysator.liu.se>
news: fix grammaros related to Yacc
* NEWS: Fix some grammaros and typos.
2012-02-13 Stefano Lattarini <stefano.lattarini@gmail.com>
yacc/lex tests: avoid spurious skips with non-GNU make
* tests/defs (useless_vpath_rebuild): Fix botched logic that
was causing this function to always diagnose non-GNU make
implementations as being affected by the "useless rebuilds
in VPATH setup" bug (that affects FreeBSD make and causes
automake bug#7884).
2012-02-13 Peter Rosin <peda@lysator.liu.se>
fixup: remove double news entry
* NEWS: Remove double (stale) news entry introduced by a botched
merge.
2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: workaround for shells with broken 'set -e'
* tests/dist-formats.tap: Some versions of the BSD shell wrongly
bail out when the 'errexit' shell flag is active and the left-hand
command in a "&&" list fails and that list is the *last* command
of a "case" statement. This was causing an incorrect initialization
of the '$missing_compressors' variable, and thus potential spurious
failures when non-existing programs were assumed to be available.
2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: workaround for shells with broken 'set -e'
* tests/yacc-cxx.test: Some versions of the BSD shell wrongly bail
out when the 'errexit' shell flag is active if the left-hand
command in a "&&" list fails and such list is the *last* command
of a "for" or "while" loop or of an "if" construct. Work around
this issue.
* tests/check12.test: Likewise.
2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure with non-bison yacc
Issue revealed by a failure on NetBSD 5.1.
* tests/suffix10.tap (Makefile.am): Adjust the rule generating
the '.y' files so that such files won't use bison-only features.
2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
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 similar commits 'v1.11-546-gca0ba5d' (24-10-2011),
'v1.11-1085-gb5c3968' (24-10-2011) and 'v1.11-871-geb147a1'
(25-05-2011).
* tests/lex-clean.test: Provide a dummy 'yywrap' function.
* tests/lex-line.test: Likewise.
* tests/lex-nodist.test: Likewise.
* tests/lex-depend.test: Likewise.
* tests/lex-clean-cxx.test: Move the dummy 'yywrap' function
from the main '.cc' file into the '.lxx' file, so that it won't
be subject to the namespace declaration in the '.cc' file (which
was causing a spurious link error in systems without a default
"lex library").
2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'yacc-work' into yl-work-for-master
* yacc-work: (37 commits)
fixup: list of yacc/lex tests was botched
tests: work around bug#7884 in many yacc/lex tests
yacc/lex tests: remove an unneeded workaround for bug#8485
yacc/lex tests: avoid too much failures with FreeBSD make
yacc-dist-nobuild.test: add reference to bug#7884
yacc tests: fix bug in 'yacc-cxx.test'
lex tests: fix spurious link errors on Solaris
lex: "make clean" removes .c files from non-distributed .l
lex tests: make test on Lex dependency tracking more "semantic"
lex tests: remove erroneous check about ylwrap distribution
yacc tests: "make clean" removes C++ files from non-distributed .y
tests: add a workaround for automake bug#8485
tests: add a couple of inter-tests reference
lex tests: require just `lex' instead of `flex'
fix typo in ChangeLog (2011-05-04)
tests defs: use `skip_' for skipping yacc/lex related tests
lex/yacc tests: remove redundant $distdir definition
coverage: test lex-generated "#line" directives postprocessing
tests: minor improvements to a couple of yacc tests
tests: fix spurious failure in test 'yacc-d-cxx.test'
...
+ Extra non-trivial edits:
* tests/defs.in: Delete; the differences from maint has been
merged into 'tests/defs' and 'tests/defs-static.in'.
* tests/defs (yacc, lex): Use 'skip_all_', not 'skip_', to
skip the whole test case if yacc (resp. lex) is missing.
(bison): New, set up the environment so that 'bison -y' will
be used as the yacc program.
(useless_vpath_rebuild, yl_distcheck): Moved in from
'tests/defs.in'.
* tests/defs-static.in ($YACC, $LEX): Default to the values
determined at configure time, and allow them to be overridden
by the more namespace-safe variables '$AM_TESTSUITE_YACC' and
'$AM_TESTSUITE_LEX' respectively.
* tests/Makefile.am (do_subst): Also substitute '@YACC@' and
'@LEX@'.
* Several tests: Fix requirements declarations, by preferring
'lex' and 'yacc' over 'flex' and 'bison' whenever possible.
2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: list of yacc/lex tests was botched
* tests/list-of-tests.mk: Update to take into account the addition,
renaming, removing or split-ups of Yacc/Lex tests that have taken
place in the 'yacc-work' branch. Problem likely introduced by a
botched merge of 'maint' into 'yacc-work'.
2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: move chapter on automake history out of main manual
The chapter on Automake history, while certainly interesting and
even fascinating, does not truly pertain to a reference manual,
so move it out from there and into its own dedicated file. This
change is made more advisable and pressing by the fact that such
and "Automake history" chapter hasn't been updated since the 1.9.6
release, so it has been becoming less faithful and useful since
then.
* doc/history.texi: New, manual on the history of the automake
package; extracted from ...
* doc/automake.texi: ... this file, with related adjustments.
* doc/Makefile.am (info_TEXINFOS): Add 'history.texi'.
(history_TEXINFOS): New, list included file 'fdl.texi'.
* Makefile.am (release-stats): Remove as obsolete.
* HACKING (Release Procedure): Don't advise anymore to run the
"release-stats" target and to update the manual with its output.
* NEWS: Update.
* .gitignore: Likewise.
2012-02-12 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp tests: avoid redundant runs for libtool tests
When running libtool-oriented tests, our 'depcomp.sh' script used
to run the same checks thrice: once after having run configure
with the '--disable-shared' option, once after having run it with
the '--enable-shared' option, and once by allowing configure to
automatically select which kind of library (or libraries) to build.
This was done to offer extra coverage for the less-common depmodes
(like "aix" of "hp2") where the name of the compiler-generated
depfiles can depend on whether libtool is in use *and* on which
kind of libraries libtool is building (static, shared, or both).
About this, see commit 'Release-1-10-24-ge89ec38' of 28-03-2007,
"* lib/depcomp (aix): Rewrite depmode in the spirit of the tru64
one".
But that extra coverage came at the price of *considerably* slowing
down the depcomp libtool-oriented tests, since for each of them the
tested source tree was configured and built *twelve* times (rather
than "just" four as it is for the non-libtool case).
So, to strike a balance between coverage and speed, we now run the
libtool-oriented tests with the three different configuration modes
*only* when it is possible that the depmode that will get selected
is one of those which can actually benefit from the extra coverage.
* tests/depcomp.sh: Adjust to only run the threefold libtool tests
when that can truly be potentially useful. Add related explanatory
comments.
2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid wrong skips in dist-formats.tap
* tests/dist-formats.tap: The test checking whether the 'compress'
program is actually capable of compressing files relied on the
assumption that 'compress' exits with status zero if no problem
occurs; alas, this reasonable assumption doesn't hold in practice,
since 'compress' does (and is documented to) exit with status 2 if
the output is larger than the input after (attempted) compression!
Fix this by using and input that 'compress' can actually reduce in
size when compressing.
Do some related reformatting of surrounding code since we are at it.
2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: few tweakings and cosmetic changes
* tests/dist-formats.tap: Fix botched spacing.
* tests/subobjname.test: Prefer spaces to tabs in indentation.
* tests/cond43.test: Likewise.
* tests/comment7.test: Likewise.
* tests/compile_f90_c_cxx.test: Use "$tab" instead of literal
tab characters in the grep regexp.
* tests/compile_f_c_cxx.test: Likewise.
* tests/pluseq3.test: Likewise.
* tests/cond-basic.test: Likewise.
* tests/acloca16.test: Add empty line before trailing ':' command.
* tests/bsource.test: Likewise.
* tests/depend5.test: Likewise.
* tests/depend6.test: Likewise.
* tests/destdir.test: Likewise.
* tests/fort2.test: Likewise.
* tests/instdir-java.test: Likewise.
* tests/instdir-lisp.test: Likewise.
* tests/instdir-python.test: Likewise.
* tests/instdir.test: Likewise.
* tests/instdir2.test: Likewise.
* tests/ltinstloc.test: Likewise.
* tests/missing.test: Likewise.
* tests/missing2.test: Likewise.
* tests/nodef.test: Likewise.
* tests/nodef2.test: Likewise.
* tests/subst4.test: Likewise.
* tests/werror3.test: Likewise.
* tests/commen11.test: Likewise. Also, make grepping of automake
stderr slightly stricter, and properly quote strings with shell
metacharacters.
* tests/nodep2.test: Add empty line before trailing ':' command.
Do not create unneeded dummy source files.
2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove a couple of redundant 'set -e' calls
* tests/conffile-leading-dot.test: Do not set the 'errexit'
shell flag, as it is already set by 'tests/defs'.
* tests/make-dryrun.test: Likewise.
2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix a timestamp-related spurious failures
dryrun: fix regression with '$(am__make_dryrun)'
test defs: function 'is_newest' now works also with directories
2012-02-09 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'dryrun-fix' into maint
* dryrun-fix:
dryrun: fix regression with '$(am__make_dryrun)'
2012-02-09 Peter Rosin <peda@lysator.liu.se>
tests: check if 'compress' is real or fake
On Cygwin, 'compress' is provided by sharutils and is just a
dummy script that is not able to actually compress (it can
only decompress). This fake 'compress' is not usable for
our purpose - to create compressed tarballs.
* tests/dist-formats.tap (missing_compressors): Count 'compress'
as missing if it does not support the -c option.
2012-02-08 Peter Rosin <peda@lysator.liu.se>
Merge branch 'msvc'
* msvc:
depcomp: try to prevent whitespace regressions
depcomp: recognize tabs as whitespace in the dashmstdout mode
depcomp: quote 'like this', not `like this'
2012-02-08 Stefano Lattarini <stefano.lattarini@gmail.com>
depcomp tests: avoid spurious failures with 'dashXmstdout' depmode
* tests/gen-testsuite-part: The 'dashXmstdout' depmode cannot be
truly forced on gcc (like we were trying to do, causing spurious
failures in the process); so don't do that. This change shouldn't
actually reduce coverage anyway, since, as the comments in
'lib/depcomp' say, the 'dashXmstdout' depmode is just like
the 'dashmstdout' one, only with a different argument for the
compiler.
2012-02-08 Peter Rosin <peda@lysator.liu.se>
depcomp: try to prevent whitespace regressions
Suggested by Stefano Lattarini.
* lib/depcomp: Add $tab and $nl variables and use them
throughout.
2012-02-08 Peter Rosin <peda@lysator.liu.se>
depcomp: recognize tabs as whitespace in the dashmstdout mode
Commit Release-1-7-2b-2-gf03ceab "Cope with DOS filenames in
dependencies." inadvertedly converted tabs into spaces.
* lib/depcomp (dashmstdout): Add a tab character to all sets
matching whitespace.
2012-02-08 Peter Rosin <peda@lysator.liu.se>
depcomp: quote 'like this', not `like this'
Cherry-picked from recent changes from master.
* lib/depcomp: Quote 'like this', not `like this'.
2012-02-08 Peter Rosin <peda@lysator.liu.se>
tests: check the depmodes 'msvisualcpp' and 'msvcmsys'
* tests/defs (cygpath): New requirement, checking that cygpath
is working.
(mingw): New requirement, checking that the build system is
MSYS (in its normal MinGW mode).
* tests/gen-testsuite-part (depmodes): Add entries for depmodes
'msvisualcpp' and 'msvcmsys'.
2012-02-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: better way to compare lists in Makefile rules
With this commit, we introduce a new helper shell script for use
in the testsuite, which is meant to allow the test cases to easily
check whether two whitespace-separated lists are equal; this ability
is particularly useful to check for equality of the contents of make
variables that are expected to contain multiple whitespace-separated
words, and are defined through line continuations (or are rewritten
by automake in this way), or that contain expansion of potentially
empty variables.
Before this change, a test checking that an usage like this one:
VAR = valA
if COND1
VAR += val1 # com1
endif COND1
VAR += valC
worked as expected, couldn't use rules like:
## Doesn't work because $(VAR) expands to multiple words
verify:
test $(VAR) = "valA val1 valC"
nor like:
## Doesn't work because the final expansion of $(VAR) contains
## repeated contiguous whitespace characters (it actually
## equals "valA val1 valC", not "valA val1 valC"), and this
## is an internal detail which might change and which we don't
## want to explicitly rely on.
verify:
test "$(VAR)" = "valA val1 valC"
Instead, we had to rely on cumbersome workaround such as:
## This works, but is ugly.
verify:
test "`echo $(VAR)`" = "valA val1 valC"
or:
## This works, but is even uglier.
verify:
echo BEG: $(VAR) :END | grep "BEG: valA val1 valC :END"
Now, with the help of the new 'is' script, we can perform such a
check in a clearer and more straightforward way, as in:
## Works, and reads clearly.
verify:
is $(VAR) == valA val1 valC
* tests/is: New helper shell script, telling whether two whitespace
separated lists are equal.
* Makefile.am (EXTRA_DIST): Add it.
* tests/colneq2.test: Use the new helper script, and accordingly
get rid of older, more cumbersome idioms.
* tests/cond11.test: Likewise.
* tests/cond16.test: Likewise.
* tests/cond18.test: Likewise.
* tests/cond22.test: Likewise.
* tests/cond31.test: Likewise.
* tests/cond38.test: Likewise.
* tests/test-logs-repeated.test: Likewise.
* tests/objext-pr10128.test: Likewise.
* tests/programs-primary-rewritten.test: Likewise.
* tests/substre2.test: Likewise. Also ...
(configure.in, Makefile.am): Add a couple of hack to avoid having
to require (and run) a C compiler; accordingly ...
($required): ... remove this.
* tests/exeext4.test: Likewise.
* tests/substref.test: Likewise. Also ...
(hello.c): Use ": >" rather than "cat <<EOF" to generate it,
since it's meant to be empty anyway.
* tests/cond4.test: Use the new helper script, and accordingly
get rid of older, more cumbersome idioms. Avoid some unnecessary
uses of "make -e" since we are at it.
* tests/cond19.test: Likewise.
* tests/cond32.test: Likewise.
* tests/cond6.test: Use the new helper script, and accordingly
move some checks in the Makefile.am.
Avoid unnecessary execution of automake remake rules by manually
"touching" aclocal.m4
2012-02-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: improve and rework tests on dependency tracking
Fixes automake bug#10434. Suggestion by Peter Rosin.
The 'depcomp.tap' test case worked by trying to unconditionally
force the compiler in use by the testsuite to use, one by one, *all*
the dependency modes known by the 'depcomp' script, and, for each
such forced mode that was compatible enough with said compiler not
to cause breakage in the basic compilation rules, checking that it
was *also* good enough not to break remake rules in VPATH builds.
This seemed a good approach when this test was first introduced, as
it apparently increased coverage for the less used and less tested
dependency-tracking modes. But in the log run it turned out the
approach was actually in part too brittle, causing some annoying
spurious failures (as with the Tru64 depmode forced on GCC, see
automake bug#10434), and partly too forgiving, since, for some of
the more corner-case dependency modes, the 'depcomp' script simply
reverts to silently disabling dependency tracking when an error is
encountered (this happened e.g., with the Tru64 depmode forced on
the Sun C compiler 5.9), so that a passing test means nothing, and
only gives a false sense of security.
As Peter Rosin put it, "it's just dead wrong to assume that feeding
-M or -xM to the compiler (or whatever other random stuff 'depcomp'
might do) and not get an error is the same as dependencies magically
appearing".
So we get rid of this wrong approach, and in the process proceed to
a complete overhaul of many of the tests on automatic dependency
tracking, extending the offered coverage and rationalizing their
organization.
* tests/depcomp.sh: New helper script, used by several new
autogenerated tests.
* tests/gen-testsuite-part: Generate several tests based on the
new 'depcomp.sh' script. Emit makefile code that declares their
dependency on that script, and that extends EXTRA_DIST in order
to distribute it.
* tests/depmod.tap: Remove.
* tests/depend2.test: Remove, it has been subsumed by the new
autogenerated test 'depcomp-disabled.tap'.
* tests/depcomp3.test: Remove, it has been subsumed by the new
autogenerated test 'depmod-dashmstdout.tap'.
* tests/depcomp3.test: Remove, it has been subsumed by the new
autogenerated test 'depmod-lt-makedepend.tap'.
* tests/depcomp6.test: Remove, it has been subsumed by the new
autogenerated test 'depmod-auto.tap'.
* tests/depcomp7.test: Remove, it has been subsumed by the new
autogenerated test 'depmod-lt-auto.tap'.
* tests/depcomp5.test: Remove as obsolescent.
* test/list-of-tests.mk: Adjust.
* .gitignore: List the new autogenerated tests.
2012-02-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix a timestamp-related spurious failures
Fixes automake bug#10737. Report from Larry Daniel.
See also automake bug#8365 and commit 'v1.11-329-gd4df619' of
30-03-2011, "tests: fix timestamp-related failures".
* tests/aclocal5.test: Sleep before modifying m4 files that should
trigger remake rules. This fixes an hard-to-hit timestamp-related
race condition.
* THANKS: Update.
2012-02-07 Stefano Lattarini <stefano.lattarini@gmail.com>
dryrun: fix regression with '$(am__make_dryrun)'
In commit v1.11-683-gda0964e of 05-02-2012, we introduced a new
variable '$(am__make_dryrun)' that could be used in recipes to
determine whether make is running in dry mode (e.g., as with
"make -n"). Unfortunately, the idiom we used fails to take into
account the case in which $(MAKEFLAGS) contains one or more variable
definitions whose value is a whitespace-separated list; for example,
if we invoke make as:
make check TESTS="n1.test n2.test"
then the better make implementations out there (at least modern
GNU make and BSD make) will export MAKEFLAGS to the following
value:
TESTS=n1.test\ n2.test
So a shell loop like the one we used in $(am__make_dryrun):
for flag in $$MAKEFLAGS; do ...
won't behave as expected: the shell word-splitting rules will break
up the entry for TESTS into the two distinct entries "TESTS=n1.test\"
and "n2.test", and this second entry will goad our $(am__make_dryrun)
code into thinking that make is performing a dry run!
So now we simply loop over the expanded value of $(MAKEFLAGS).
This solves the regression, but alas, is more brittle in case the
users passes on the command line a macro value containing unbalanced
" or ' quotes, or shell metacharacters like, say, '`' or '('. This
should almost never happen though, so we don't worry about it now;
we will revisit the issue only when and if we receive bug reports in
this area.
* lib/am/header-vars.am (am__make_dryrun): Fix.
* tests/make-dryrun.test: New test.
* tests/list-of-tests.mk: Add it.
2012-02-07 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: work around bug#7884 in many yacc/lex tests
Due to automake bug#7884, many test cases on Yacc/Lex support are
failing when run with FreeBSD make. Since these failures are all
due to the same bug, and that bug is well understood and already
explicitly exposed in the dedicated 'yacc-dist-nobuild.test' test,
the reported failures are mostly noise, that not only is annoying,
but which might end up covering different real bugs or regressions.
Thus we minimize such spurious failures, by ensuring the commands
triggering them (most of them being "make distcheck" invocations)
will be skipped when $MAKE suffers of the bug/limitation that
triggers automake bug#7884.
* tests/defs.in (useless_vpath_rebuild): New function.
(yl_distcheck): Likewise.
* tests/lex3.test, tests/subpkg-yacc.test, tests/yacc-basic.test,
tests/yacc-cxx.test, tests/yacc-d-basic.test, tests/yacc-d-cxx.test,
tests/yacc-dist-nobuild-subdir.test : Use them to avoid extra
failures caused by automake bug#7884. Where possible, throw in
some related simplifications.
2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' into yacc-work
* maint: (75 commits)
test defs: function 'is_newest' now works also with directories
refactor: new variable telling whether make is running in "dry mode"
...
2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: avoid spurious XPASS results with NetBSD make
* tests/defs (make_can_chain_suffix_rules): Ensure to properly
declare the '.SUFFIXES:' in the temporary Makefile used to check
whether $MAKE is able to automatically chain suffix rules. This
avoids spurious XPASS results with (at least) NetBSD make in some
'suffix*.tap' tests; in a sense also, this also makes the probing
of $MAKE capabilities more faithful, since the Automake-generated
Makefiles are expected to properly declare the '.SUFFIXES:' as
well.
2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: few whitespace fixlets
2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: various typofixes
Several typofixes in documentation and comments, as
suggested by the "codespell.py" script. Reference:
<http://git.profusion.mobi/cgit.cgi/lucas/codespell/>
2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: convert encoding from ISO-8859 to UTF-8 in some tests
The changed files have been converted using iconv; specifically,
the command "iconv --from-code=ISO-8859-1 --to-code=UTF-8".
* tests/block.test, tests/tagsub.test: Converted to UTF-8 encoding.
2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: remove obsolete requirement 'rst2html'
* tests/defs (rst2html): Remove, it's not needed anymore now that
the old code supporting the ".log -> .html" conversion for the
parallel-tests harness has been moved in contrib. This removal
should have actually be done in commit v1.11-1757-g0a9d201 of
17-01-2012, 'check: move ".log -> .html" conversion in contrib'.
2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: workaround for shells with broken 'set -e'
* tests/defs (gmake, native, rst2html): Some versions of the BSD
shell wrongly bail out when the 'errexit' shell flag is active and
the left-hand command in a "&&" list fails, if that list is the
*last* command of a "for" or "while" loop. Work around this issue.
* tests/lex3.test: Likewise.
* tests/check12.test: Likewise.
* tests/yacc-basic.test: Likewise.
* tests/lex-noyywrap.test: Likewise.
* tests/parallel-tests2.test: Likewise.
* tests/lex-lib-external.test: Likewise.
* tests/check-no-test-driver.test: Likewise.
* tests/test-metadata-recheck.test: Likewise.
* tests/parallel-tests-dry-run-1.test: Likewise.
* tests/parallel-tests-dry-run-2.test: Likewise.
* tests/parallel-tests-unreadable.test: Likewise.
* tests/test-driver-custom-no-extra-driver.test: Likewise.
Problem revealed by spurious testsuite failures on a NetBSD 5.1
system and an OpenBSD 5.0 system.
2012-02-06 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix a typo in comments
* tests/extra-programs-empty.test: Fix typo in heading comments.
2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: function 'is_newest' now works also with directories
Reported by Jim Meyering against automake master (see bug#9147) and
by Adam Sampson against automake 1.11.3 (see bug#10730).
* tests/defs (is_newest): Call 'find' with the '-prune' option,
so that it won't descend in the directories (which could cause
spurious results).
* THANKS: Update.
Backported from commit v1.11-914-gb6a40fa (originally on master).
2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: more uses for '$(am__make_dryrun)'
With this change we refactor some recipes of the parallel-tests
harness to make them use, where appropriate, the new internal
variable '$(am__make_dryrun)' (introduced in the 'maint' branch)
when they need to determine whether make is running in "dry mode",
i.e., with "make -n". This allows for some simplifications and
for improved uniformity.
* lib/am/check.am (check-TESTS recheck): Use $(am__make_dryrun) and
simplify accordingly.
(am--redo-logs): Delete this internal helper recipe, merged into ...
($(TEST_SUITE_LOG)): ... this, with the help of $(am__make_dryrun).
recipe accordingly.
2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
refactor: new variable telling whether make is running in "dry mode"
tests: do not clobber the modified CC
2012-02-05 Stefano Lattarini <stefano.lattarini@gmail.com>
refactor: new variable telling whether make is running in "dry mode"
We define a new variable '$(am__make_dryrun)', that can be used
in recipes to determine whether make is running in "dry mode" (as
with "make -n") or not. This is useful in rules that invoke make
recursively, and are thus executed also with "make -n" -- either
because they are declared as dependencies to '.MAKE' (NetBSD make)
or because their recipes contain the "$(MAKE)" string (GNU and
Solaris make).
* lib/am/header-vars.am (am__make_dryrun): New variable.
* lib/am/check.am (check-TESTS recheck): Use it, and simplify
recipe accordingly.
* lib/am/distdir.am (distdir): Likewise.
* lib/am/lisp.am ($(am__ELCFILES)): Likewise.
2012-02-02 Peter Rosin <peda@lysator.liu.se>
tests: do not clobber the modified CC
If CC is originally a losing compiler, AM_PROG_CC_C_O will
modify CC. "$MAKE -e" will then clobber this modified CC
and reintroduce the raw losing compiler causing the test
to fail, as subdir-objects is in effect.
tests/check8.test: Drop -e from the $MAKE invocation, since
AM_COLOR_TESTS is not specified in the Makefile and -e is
therefore not needed.
2012-02-02 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix indentation and typos in perl TAP driver
* lib/tap-driver.pl (get_test_exit_message): Fix botched
indentation. Fix typo in error message: s/ststus/status/.
2012-02-02 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: fix typo in variable name ($AM_TESTSUITE_PERL)
* tests/defs-static.in: Fix typo: it's '$AM_TESTSUITE_PERL',
not '$AM_TESTUITE_PERL'.
2012-02-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tap/perl: handle missing or non-executable scripts better
This change improves how our Perl-based TAP driver handles
non-runnable test scripts (meaning they might be not executable,
or not readable, or even not exist). In particular, it makes the
driver deterministically display a clear "ERROR" result instead
of possibly dying with diagnostic from 'TAP::Parser' internals,
and prevents it from displaying spurious "missing TAP plan" errors.
Moreover, with this change, some testsuite failures present only
with newer perl versions (e.g., 5.14) are fixed. See automake
bug#10418.
* tests/tap-bad-prog.tap: When testing the perl implementation of
the TAP driver, and when the perl interpreter offers a good-enough
'IPC::Open3::open3' function, expect it not to display spurious
"missing TAP plan" diagnostic if the error is actually due to a
non-runnable test script.
* lib/tap-driver.pl (start): Removed, broken up into ...
(setup_io): ... this ...
(setup_parser): ... and this, which now tries to catch and report
errors in launching the test scripts.
(finish): New, used by both 'main' and 'setup_parser'.
(main): Adjust.
2012-02-01 Peter Rosin <peda@lysator.liu.se>
Merge branch 'maint'
2012-02-01 Peter Rosin <peda@lysator.liu.se>
tests: put AM_PROG_CC_C_O before AC_OUTPUT to help losing compilers
When AM_PROG_CC_C_O is after AC_OUTPUT, the compile script
is not used even if needed, causing testsuite fails if
libtool is not used.
* tests/depcomp8a.test: Uncomment the AM_PROG_CC_C_O macro
in its correct location, as indicated...
(configure.in): ...with this comment.
* tests/depcomp8b.test: Sync with tests/depcomp8a.test.
2012-01-31 Stefano Lattarini <stefano.lattarini@gmail.com>
cleanup: remove unused .am file
* lib/am/comp-vars.am: Remove. This file has stopped being useful
since commit 'Release-1-4d-206-g3334f9a' of 09-04-2001, and should
have been removed back then. But apparently only its contents were
removed, leaving the file empty but still present in the repository.
Or maybe this situation is the consequence of a minor blunder in
the conversion from CVS to Git; either way, this is not a big deal.
2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: do not assume the object file extension is .o
tests: avoid spurious failure of 'transform2.test' on Cygwin
tests: avoid spurious failure of deleted-am.test with FreeBSD make
tests: avoid possibly undeserved PASS from check8.test
warnings: more precise category and message for one warning
release: revamp rules to tag and upload the releases
amversion: add missing dependency
hacking: update advice w.r.t. synced files
hacking: don't reference ChangeLog anymore
+ Extra non-trivial edits:
* tests/suffix8.tap: Copy in (by hand) the modifications done
to 'suffix8.test' on maint, i.e., the addition of an explicit
'.y_.obj:' suffix rule to Makefile.am.
2012-01-30 Peter Rosin <peda@lysator.liu.se>
Merge branch 'msvc'
* msvc:
ar-lib: ignore the verbose modifier instead of erroring out
scripts: cherry-pick recent changes from master
tests: add missing dependency for some 'ar-lib*.test' tests
2012-01-30 Peter Rosin <peda@lysator.liu.se>
ar-lib: ignore the verbose modifier instead of erroring out
* lib/ar-lib: A number of tests uses the v modifier when listing
the archive content, ignore it to make them pass.
2012-01-30 Peter Rosin <peda@lysator.liu.se>
scripts: cherry-pick recent changes from master
* lib/ar-lib: prefer the term "Windows" over "Win32" and quote
'like this', not `like this'.
* lib/compile: Likewise.
2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix real and spurious warnings
* lib/Makefile.am (install-data-hook): Correctly quote $(DESTDIR)
occurrences.
* Makefile.am (install-exec-hook, uninstall-hook): Likewise.
(autodiffs): Prefer '$(am__cd)' to plain 'cd', where warranted.
* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise. Also,
prefer using AC_SUBST'd $(abs_top_builddir) over obtaining it at
runtime from $(top_builddir).
* syntax-check.mk (sc_mkinstalldirs): Tweak to whitelist known
harmless occurrences of the checked-against usages.
(sc_no_for_variable_in_macro): Likewise.
* tests/CheckListOfTests.am (maintainer-check-list-of-tests): Tweak
to avoid spuriously triggering the 'sc_no_for_variable_in_macro'
maintainer check. Prefer '$(am__cd)' to plain 'cd' when warranted.
2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: take advantage of some GNU make features
We can do so now that our maintainer checks require GNU make
unconditionally.
* syntax-check.mk (ams, xtests): Redefine as "immediate variables",
using the GNU make $(shell ...) builtin.
(maintainer-check-list-of-tests): Take advantage of GNU make "-C"
option. Don't use $(AM_MAKEFLAGS), we shouldn't need it with GNU
make.
2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com>
build: require GNU make in order to run the maintainer checks
This is not a real regression in portability, since most maintainer
check rules already assumed GNU grep, and were anyway only meant to
run on the developers' systems (where we can safely assume the
presence of GNU make).
This change will allow us to take advantage, in future changes, of
more GNU make features, thus simplifying or optimizing some of our
maintainer rules.
* GNUmakefile: New, including 'Makefile' and 'syntax-checks.mk'.
* configure.ac (AC_CONFIG_LINKS): Link it in the builddir.
* Makefile.am (EXTRA_DIST): Distribute 'GNUmakefile' and
'syntax-checks.mk'.
Move all syntax-check rules and auxiliary variables into ...
* syntax-checks.mk: ... this new file, with some adjustments.
2012-01-30 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: refactor rules checking '*.am' files
A small refactoring in our syntax-check to avoid code duplication
and to ensure more uniform checking. This change introduces some
new failures in syntax-check rules (both real and spurious), that
will be fixed in follow-up changes and code reorganizations.
* Makefile.am (ams): New variable, holding the list of all the
'*.am' fragments in he automake source tree.
(sc_no_brace_variable_expansions): Use it.
(sc_rm_minus_f): Likewise.
(sc_no_for_variable_in_macro): Likewise.
(sc_mkinstalldirs): Likewise.
(sc_pre_normal_post_install_uninstall): Likewise.
(sc_cd_in_backquotes): Likewise.
(sc_cd_relative_dir): Likewise.
(sc_tests_make_without_am_makeflags): Likewise.
(sc_tests_plain_egrep_fgrep): Likewise.
(sc_mkdir_p): Likewise.
2012-01-30 Peter Rosin <peda@lysator.liu.se>
tests: do not assume the object file extension is .o
* tests/specflg7.test: Dig out the object file extension from the
OBJEXT makefile variable.
* tests/substref.test: Likewise.
* tests/specflg8.test: Likewise. Also check that the false-true
object is created instead of checking the true-true object twice.
* tests/suffix8.test: Add a chain rule for the case where the
object file extension is .obj.
2012-01-30 Peter Rosin <peda@lysator.liu.se>
tests: fetch the 'compile' script for subdir objects
* tests/libobj19.test: Subdir objects are used, so the 'compile'
script needs to be present for inferior hosts. Fetch it.
2012-01-30 Peter Rosin <peda@lysator.liu.se>
tests: fetch the 'ar-lib' script for archiver usage
* tests/libobj10.test: The archiver is used, so the 'ar-lib'
script needs to be present for inferior hosts. Fetch it.
2012-01-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure of 'transform2.test' on Cygwin
On newer Cygwin versions (at least 1.7.x), the 'transform2.test'
test has been failing spuriously; the gist is the following:
some *purposefully* rigged install rules there try something
like:
install bla.exe .../inst/bin/foo.exe
install script.sh .../inst/bin/foo
and the second install command fails (trying to overwrite the
'.../inst/bin/foo.exe' file, likely due to overly aggressive
appending of '.exe' suffix when copying/renaming Windows
executables). Since this is a Cygwin issue rather than an
Automake one (and since the use case we are testing is a really
corner-case anyway, making it unworthy to attempt to work
around it in automake proper), we simply hack the test case
to avoid the failure.
Analysis by Peter Rosin and Ralf Wildenhues.
References:
<http://lists.gnu.org/archive/html/automake-patches/2010-08/msg00153.html>
<http://thread.gmane.org/gmane.os.cygwin/119380>
* tests/transform2.test: Skip the affected part of the test
if the described Cygwin behaviour is detected.
2012-01-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failure of deleted-am.test with FreeBSD make
* tests/deleted-am.test: Sleep between the removal of the included
'.am' fragments and the subsequent "make" calls, to ensure that the
remake rules kick in. This is required to avoid racy spurious
failures (~ 60% of the time) with FreeBSD make.
2012-01-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid possibly undeserved PASS from check8.test
* tests/check8.test: Strengthen grepping of "make check" output
where we know no problem with VPATH rewrites can take place. This
has the advantage of ensuring that we won't match also "sub/bar"
when looking for "bar" during the uncolorized tests.
Suggestion by Peter Rosin.
2012-01-27 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: work around MinGW/MSYS issue in fd redirections
Some checks on $(AM_TESTS_FD_REDIRECT) were failing on MSYS, likely
because system calls like "write(9, ...)" simply doesn't work for
MinGW-compiled programs. Similar usages work for the shell scripts
though, since /bin/sh is an MSYS program and thus is a lot more
POSIX-ish than most MinGW-compiled programs.
The best fix for this issue is to separate the checks using shell
scripts as dummy test cases from the checks using compiled programs
for the same purpose, and skip these latter checks on MinGW.
This change fixes automake bug#10466. Report by Peter Rosin.
* tests/parallel-tests-fd-redirect.test: Move checks using compiled
C programs as test cases to ...
* tests/parallel-tests-fd-redirect-exeext.test: ... this new test.
* tests/list-of-tests.mk: Update.
2012-01-27 Stefano Lattarini <stefano.lattarini@gmail.com>
warnings: more precise category and message for one warning
If automake detected an usage like "AC_CONFIG_FILES([./Makefile])"
in configure.ac, it warned that such an usage was unportable to
non-GNU make implementations. But the truth is actually worse:
that is actually *unportable to GNU make* itself, since it breaks
the automatic remake rules in subtle ways.
So we now reveal this breakage in a new test case, and enhance
the warning by giving it a more precise and correct wording, and
by moving it from the category 'portability' to the category
'unsupported'.
* automake.in (scan_autoconf_config_files): Improve the warning.
* tests/conffile-leading-dot.test: New test.
* tests/list-of-tests.mk: Add it.
2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com>
release: revamp rules to tag and upload the releases
The older Makefile rules used to create and tag the releases were
based on an approach we now consider flawed: they over-mechanized
some delicate operations that are better performed manually *and*
double-checked by a developer, and at the same time they did not
run enough safety checks.
* Makefile.am (GIT, version_rx, stable_version_rx, beta_version_rx,
match_version, git_must_have_clean_workdir, determine_release_type):
New variables.
(git-release, git-dist): Remove, they are superseded by ...
(git-tag-release, git-upload-release): ... these new targets.
2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com>
amversion: add missing dependency
* m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Depend on
configure.ac, since the value of $(VERSION) can change every
time configure.ac is updated.
2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: update advice w.r.t. synced files
* HACKING: Update and improve advices and explanations about files
in the automake repository that are now owned by automake, but
mirrored from other upstreams. Also, don't list these files
explicitly, rather point the reader to the $(FETCHFILES) variable
in Makefile.am.
* Makefile.am (FETCHFILES): Don't state that "there should be a
lot more here", as this is not true anymore today. Only 'COPYING'
must be synced by hand.
2012-01-25 Stefano Lattarini <stefano.lattarini@gmail.com>
hacking: don't reference ChangeLog anymore
* HACKING: Don't reference the ChangeLog file anymore, since that
is now generated from the git commit messages, not maintained by
hand. So remove advice that is obsolete, and speak about "git
commit message" instead of "ChangeLog entry" for advice that is
still relevant.
2012-01-24 Stefano Lattarini <stefano.lattarini@gmail.com>
multilib: move to contrib
This follows up on commit v1.11-665-gc5df21e of 2012-01-17,
"multilib: deprecate, will be moved to contrib". See also:
<http://lists.gnu.org/archive/html/automake-patches/2012-01/msg00109.html>
* NEWS: Update.
* automake.in ($seen_multilib): Remove.
(scan_autoconf_traces): Don't trace 'AM_ENABLE_MULTILIB', and don't
handle it anymore.
(handle_multilib): Remove.
(generate_makefile): Don't call it anymore.
* doc/automake.texi: Remove documentation about multilib support,
related macros, and helper files.
* m4/multi.m4: Delete.
* m4/Makefile.am (dist_automake_ac_DATA): Remove it.
* lib/am/multilib.am: Delete.
* lib/am/Makefile.am (dist_am_DATA): Remove it.
* contrib/multilib/multilib.am: New file, adapted from extracts of
a Makefile.in generated with automake multilib support. We did
this instead of moving and editing 'lib/am/multilib.am' because it
allows us to license this file with a liberal license that will
permit users to copy-and-paste it in non-GPLed Makefile.am files
too).
* lib/symlink-tree, lib/config-ml.in: Move ...
* contrib/multilib: ... in here.
* lib/Makefile.am (dist_script_DATA, dist_pkgvdata_DATA): Update.
* contrib/multilib/README: New file.
* contrib/Makefile.am (EXTRA_DIST): Add the files created or moved
in 'contrib/multlib'.
* tests/multilib.test: Update and enhance a little.
* tests/help-multilib.test: Likewise.
2012-01-23 Peter Rosin <peda@lysator.liu.se>
tests: improve diagnostics when write(2) fails
MinGW programs can't redirect file descriptor 9, they can only redirect
stdin, stdout and stderr. So, improve the information in the test log.
See automake bug#10466.
* tests/parallel-tests-fd-redirect.test (baz.c, zardoz.c): Check the
return value from the write(2) call, and report detected errors.
2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'compilers-for-testsuite'
* compilers-for-testsuite:
readme: how to run the testsuite with cross-compilers
tests: no need to unset CFLAGS in tests requiring 'gcc' anymore
test defs: allow compilers to be auto-selected on user's request
test defs: substitute compilers and flags found at configure time
test defs: setup `*FLAGS' variables for GNU compilers
configure: search generic compilers for use in the tests
2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
Peter Rosin <peda@lysator.liu.se>
readme: how to run the testsuite with cross-compilers
* tests/README: Suggest a better way to run the automake testsuite
with cross-compilers -- that is, configuring the Automake source
tree with proper `--build' and `--host' configure option. And
yes, specifying both these options (not only `--host') is indeed
required to avoid spurious failures in corner cases.
When you call configure with the `--host' option but without the
`--build' option, configure tries to auto-detect whether you are
cross-compiling or not, by trying to run a generated executable.
That test might spuriously "succeed" in some corner cases (e.g.,
Cygwin is able to run non-Cygwin apps). In fact, generally, it
can be the case that a cross-compilation is not detected as a
cross anymore just because someone has installed an emulator; as
an example, think of what can happen on a GNU/Linux system that
is configured (through the use of the binfmt_misc kernel module)
to execute PE executables (compiled for MS-DOS or Windows) through
Wine *automatically*. In conclusion, configure needs to be used
as recommended in the documentation (i.e., by specifying *both*
`--host' and `--build' instead of just one of them) to not have
the build fall into any of a number of weird traps.
* tests/defs (cross_compiling): Improve comments.
2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: no need to unset CFLAGS in tests requiring 'gcc' anymore
* tests/ccnoco.test: Since this test have "gcc" in $required,
there is no need to manually nullify the CFLAGS variable, since
now `tests/defs' should automatically re-define that to a value
appropriate for gcc.
* tests/ccnoco3.test: Likewise.
2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: allow compilers to be auto-selected on user's request
In the recent changes, by pre-setting the required compilers for
the `configure' scripts launched by the test scripts, we have
slightly reduced the coverage of autoconf/automake code aimed at
automatically detecting said compilers. This commit restore such
coverage, by allowing the user to instruct the testsuite *not* to
preset the testsuite compiler(s).
* tests/defs (cc): If $CC is set to the special value "autodetect"
or "autodetected", don't export the configure-detected CC, CFLAGS
and CPPFLAGS variables; rather, unset them.
(c++): Likewise, but for CXX, CXXFLAGS and CPPFLAGS instead.
(fortran): Likewise, but for FC and FCFLAGS instead.
(fortran77): Likewise, but for F77 and FFLAGS instead.
(require_compiler_): New function, to reduce code duplication.
2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: substitute compilers and flags found at configure time
* tests/Makefile.am (do_subst): Also substitute CC, CXX, F77, FC,
CPPFLAGS, CFLAGS, CXXFLAGS, FCFLAGS and FFLAGS.
* tests/defs-static.in: Define those variables, allowing for
overrides from the environment.
* tests/defs (for tool in $required): Export (subsets of) those
variables when the stuff in `$required' calls for it.
Add related explanatory comments.
2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: setup `*FLAGS' variables for GNU compilers
* configure.ac: Setup some `*FLAGS' variables for use by the
GNU compilers in our testsuite. For example, use `GNU_CFLAGS'
instead of `CFLAGS', and so on for similar variables. This
is especially useful in case the compilers found or defined
at configure time are not the GNU ones.
* tests/defs-static.in: Initialize those same variables with
the values set at configure time, but allowing overrides
from the environment.
* tests/Makefile.am (do_subst): Process configure-style
substitutions of those variables (e.g., `@GNU_CFLAGS@').
* tests/defs: When a GNU compiler is required, override the
corresponding generic `*FLAGS' variable with the GNU-specific
variant (e.g., redefine `$CFLAGS' to take the value of
`$GNU_CFLAGS').
2012-01-23 Stefano Lattarini <stefano.lattarini@gmail.com>
configure: search generic compilers for use in the tests
* configure.ac: Look for "generic" C, C++ and Fortran compilers,
with the aim of starting to use them in the testsuite (this will
be done in future changes). This is more tricky than it seems,
since we don't want to abort the whole configure script even if
no one of those compilers is available (after all, they're only
needed by the testsuite, not to build automake), but currently
autoconf doesn't offer an easy way to obtain this behaviour.
We prefer non-GNU compilers to the GNU ones, to ensure better
coverage "in the wild".
2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: remove redundant 'set -e' calls
* tests/aclocal-install-absdir.test: Do not set the 'errexit' shell
flag, as it is already set by 'tests/defs'.
* tests/distcheck-pr10470.test: Likewise.
* tests/objext-pr10128.test: Likewise.
* tests/parallel-tests-dry-run-1.test: Likewise.
* tests/silent-nested-vars.test: Likewise.
* tests/tar-override.test: Likewise.
* tests/vala-mix.test: Likewise.
* tests/vala-vpath.test: Likewise.
2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: fix spurious failure due to autom4te caching
vala: fix name of temporary file used in vala rules
vala tests: add missing 'valac' requirement, and other minor fixlets
news: fix grammaro
2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure due to autom4te caching
* tests/lzma.test: Remove stale autom4te.cache directories, to
prevent racy, spurious failures (using 'aclocal --force' was
not enough, since the cache was still picked up by the following
automake call).
2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
dist tests: missing 'compress' program was causing spurious failures
Fixes automake bug#10575.
The compress(1) tool is becoming anachronistic, and thus is not
installed by default on modern distros (e.g., Fedora 16). We
can't thus unconditionally assume it exists on every reasonable
portability target.
* tests/dist-formats.tap ($missing_compressors): When defining
this, don't assume anymore that compress(1) is unconditionally
available.
(Parallel compression): Skip this sub-test if compress(1) is
unavailable.
Since we are at it, fix a couple of unrelated buglets: a typo
in a test name (s/distcheck/ark-exists/), and some attempts to
remove directories with "rm -f".
2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: fix name of temporary file used in vala rules
Unquoted `@' characters in a "..." string in the automake script
were causing slightly wrong rules to be emitted in the generated
Makefile.in; i.e., rules like:
rm -f $@ && echo stamp > $10t
instead of the expected:
rm -f $@ && echo stamp > $@-t
* automake.in (lang_vala_finish_target): Fix that.
* tests/vala.test: Enhance.
2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
vala tests: add missing 'valac' requirement, and other minor fixlets
See also automake bug#10575.
* tests/vala-mix.test ($required): Add 'valac'; this will avoid
spurious failures on systems lacking a Vala compiler.
Add some explicative comments for a couple of non-obvious make
calls.
Make grepping of "make -n" slightly stricter, to avoid potential
false positives.
2012-01-22 Stefano Lattarini <stefano.lattarini@gmail.com>
news: fix grammaro
* NEWS (Miscellaneous changes): Fix grammaro: s/don't/doesn't/.
Reported by Jim Meyering.
2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
fixup: distribute 'contrib/multilib/multi.m4'
multilib: deprecate, will be moved to contrib
fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS
cosmetics: fix a botched comment in a maintainer check
2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: distribute 'contrib/multilib/multi.m4'
This fix up a blunder in commit v1.11-665-gc5df21e of 2012-01-17,
"multilib: deprecate, will be moved to contrib".
* contrib/Makefile.am (EXTRA_DIST): Add 'multilib/multi.m4'.
2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
multilib: deprecate, will be moved to contrib
As of 2012-01-17, according to Google codesarch, almost no active
package is using the 'multilib' feature offered by automake.
The only major exception seems to be GCC... But on a closer look,
it become clear that GCC basically carries its own version of
multilib support. In fact, Automake syncs its 'config-ml.in' and
'symlink-tree' scripts from GCC; and the GCC repository contains a
version of the 'multi.m4' file that is *more* updated than the one
in the automake repository (the former having being modified the
last time in 2008, the latter only in 2006).
The 'multilib' feature was anyway hardly documented at all, only
being briefly cited in the manual as an "obscure feature", "still
experimental", that was only for users "familiar with multilibs"
and which "can debug problems they might encounter". We expect
such users to be motivated and knowledgeable enough to make the
minor adjustments required to start using the contrib version of
multilib, if they really need to.
* NEWS (Future backward incompatibility): Update.
* doc/automake.texi: Deprecate multilib support. State that it
will be removed from automake core in the next major release.
* m4/multi.m4 (AM_ENABLE_MULTILIB): Deprecate. If called, now
gives a proper warning in the 'obsolete' category (while still
retaining its former behaviour for the rest).
* tests/multilib.test: Update.
* contrib/multilib/multi.m4: New, verbatim copy of the earlier
version of multi.m4, without the new deprecation warning.
* Makefile.am (fetch): Don't sync the 'config-ml.in' file nor
the 'symlink-tree' script from GCC SVN repository anymore.
(FETCHFILES): Adjust.
(WGET_GCC): Remove, it's not needed anymore.
2012-01-21 Stefano Lattarini <stefano.lattarini@gmail.com>
fixlet: flags for Fortran77 compiler are in FFLAGS, not F77FLAGS
This change fixes automake bug#10555.
Note that the bug was a minor one, since it didn't affect the
compilation rules generated by automake, but only only the "hints"
printed by automake in some error messages (e.g., "The usual way
to define `FFLAGS' is to add AC_PROG_F77 to configure.ac").
* lib/Automake/Variable.pm (%_ac_macro_for_var): The code generated
by AC_PROG_F77 uses FFLAGS, not F77FLAGS, as the variable where to
look for switches for the Fortran 77 compiler: adjust accordingly.
2012-01-19 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: fix a botched comment in a maintainer check
* Makefile.am (sc_tests_make_without_am_makeflags): Adjust
botched description of this check.
2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
cmdline parsing: move into a dedicated perl module
2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
cmdline parsing: move into a dedicated perl module
With this change, we delegate most of the automake and aclocal code
for command-line options parsing to a new module "Automake::Getopt".
This allows better code sharing between automake and aclocal, and
also with Autoconf, which will sync the new module from us. See
also autoconf commit 'v2.68-120-gf4be358' (2012-01-17, "getopt: new
Autom4te::Getopt module"), and this mailing list discussion:
<http://lists.gnu.org/archive/html/autoconf-patches/2012-01/msg00033.html>
This change might interact with the behaviour described in automake
bug#7434; for example, starting from now, "automake -Wfoo --version"
will cause automake to emit diagnostic like "unknown warning
category 'foo'" before actually printing the version number and
exiting. This is not a big deal in practice, and the code sharing
and simplifications introduced by this patch is certainly worth it.
Still, we should revisited the issue in the future.
* lib/Automake/Getopt.pm: New module, basically a slightly-edited
copy of the 'lib/Autom4te/Getopt.pm' file from the autoconf devel
repository (commit v2.68-120-gf4be358). It defines and exports ...
(parse_options): ... this new function.
* automake.in (parse_arguments): Use the new function.
* aclocal.in (parse_arguments): Likewise.
* lib/Automake/Makefile.am (dist_perllib_DATA): Add the new file.
* tests/getopt.test: Remove.
* tests/list-of-tests.mk: Update.
2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: don't use custom TAP diagnostic in our own tests
We simply don't need it (yet), we are not actually using it (the
set up for using it is there in the Makefile, but no test script
makes actual use of that).
* tests/Makefile.am (TAP_LOG_DRIVER_FLAGS): Remove '-comments' and
'--diagnostic-string' options.
* tests/defs ($diag_string_): Remove redefinition.
2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: better name for a couple of tests
Two tests checking "make -n" behaviour with the parallel-tests
harness has been introduced in the Automake repository in the past:
one of them ('parallel-tests-dryrun.test') in the maint branch, the
other one ('parallel-tests-dry-run.test') in the master branch.
Needless to say, their too-much-similar names can be a great source
of confusion now. Moreover, the two tests have been written during
distinct refactorings, and are meant to exercise different code
paths and/or usage scenarios, so that no one of them subsumes the
other, and they should be both kept.
Thus we simply rename both of them to avoid future confusion.
* tests/parallel-tests-dryrun.test: Renamed ...
* tests/parallel-tests-dry-run-1.test: .. to this.
* tests/parallel-tests-dry-run.test: Renamed ...
* tests/parallel-tests-dry-run-2.test: .. to this.
Add cross-reference among them.
* tests/list-of-tests.mk: Adjust.
2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
build: simplify our top-level "recheck" target
* Makefile.am (recheck): Now that all the test scripts are in
the 'tests/' directory, its recipe can be greatly simplified,
as we don't need to deal with recursion in multiple subdirectories
anymore.
2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
cosmetics: move CheckListOfTests.am into tests/
tests: move all under the same hierarchy ('tests/' directory)
gitlog-to-changelog: update from upstream
changelog: don't cluster multiple entries under the same "date line"
+ Extra non-trivial edits:
* tests/Makefile.am (XFAIL_TESTS): Update with the xfailing tests
that were in 'lib/Automake/tests'. Add proper "FIXME" comment.
2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
cosmetics: move CheckListOfTests.am into tests/
After the previous change 'v1.11-660-gfbeda3d', the makefile
fragment 'CheckListOfTests.am' is used only by the Makefile.am
in 'tests'; so keeping them two nearer makes sense. It also help
in reducing potential confusion, since (after that same change)
the whole Automake testsuite is expected to be (and remain)
contained into the 'tests' subdirectory.
* CheckListOfTests.am: Move ...
* tests/CheckListOfTests.am: ... to this.
* tests/Makefile.am (include): Adjust.
2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: move all under the same hierarchy ('tests/' directory)
This simplifies the organization of the Automake source tree and
reduces the (lamentably high) number of Makefiles in the Automake
build system by one. It also makes the maintainer check that
verifies the consistency of list of tests more self-contained and
simpler. Finally, it might be a first step forward the transition
to a non-recursive build system for automake (if we ever decide to
go down that road fully some day).
* lib/Automake/tests: All the '*.pl' tests in here moved ...
* tests/pm: ... into this new directory.
* lib/Automake/tests/Makefile.am: Remove, its meaningful
contents moved ...
* tests/Makefile.am: ... here, with obvious adjustments.
(test_subdirs): New variable, for the sake of the recipe
of 'maintainer-check-list-of-tests'.
* CheckListOfTests (maintainer-check-list-of-tests): Enhance
its recipe to make it able to deal with test script residing
in subdirectories.
* Makefile.am (maintainer-check-list-of-tests): Simplified.
(TEST_SUBDIRS): Remove, no more needed.
* tests/list-of-tests.mk (perl_TESTS): New variable, lists
the '.pl' tests just moved into 'tests/pm'.
(handwritten_TESTS): Add the contents of '$(perl_TESTS)'.
* lib/Automake/Makefile.am (SUBDIRS): Remove.
* configure.ac (AC_CONFIG_FILES): Update.
* .gitignore: Adjust.
2012-01-18 Stefano Lattarini <stefano.lattarini@gmail.com>
gitlog-to-changelog: update from upstream
* lib/gitlog-to-changelog: Update from gnulib upstream. The only
changes should be cosmetic and/or minor fixlets.
2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
changelog: don't cluster multiple entries under the same "date line"
* lib/gitlog-to-changelog: Synced from gnulib. The new version
has a new option '--no-cluster', that disables clustering of
adjacent commit messages under the same "date line".
* Makefile.am (gitlog_to_changelog_options): Add '--no-cluster'.
Also add a proper '--format' specification to ensure we have a
blank line between the summary line and the commit message body.
2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
fixup: contrib: really integrate in automake build system
2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: contrib: really integrate in automake build system
* configure.ac (AC_CONFIG_FILES): Add 'contrib/Makefile'.
* Makefile.am (SUBDIRS): Add 'contrib'.
2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
check: move ".log -> .html" conversion in contrib
That feature has been deprecated in the 1.11.x series, and marked
for removal from the automake core in the 1.12 release. Here we
implement such removal.
Reference:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>
See also commit 'v1.11-650-g20f2ac9'.
* doc/automake.texi, NEWS: Update.
* lib/am/check.am: Don't include 'check-html.am' anymore.
* lib/am/check-html.am: Move ...
* contrib/check-html.am: ... to this, and adjust comments.
* lib/am/Makefile.am (dist_am_DATA): Update.
* contrib/Makefile.am (EXTRA_DIST): Likewise.
* tests/parallel-tests2.test: Adjust.
* tests/parallel-tests-dryrun.test: Remove checks on the
".log -> .html" conversion.
* tests/test-driver-custom-html.test: Remove as obsolete.
* tests/test-driver-custom-no-html.test: Likewise.
* tests/tap-html.test: Likewise.
* tests/list-of-tests.mk: Don't list removed tests anymore.
2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
contrib: new, a directory for non-mainstream functionalities
2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tap: some makes in parallel mode unconditionally serialize output
Some make implementations (among them, FreeBSD make, NetBSD make,
and Solaris Distributed Make), when run in parallel mode, serialize
the output from their targets' recipes unconditionally. This has
the nasty side effect that the user won't see the partial results
of a TAP test until the test has terminated. This is not something
our TAP driver script can work around unfortunately; in fact, the
driver is sending out its output progressively and "in sync" with
test execution -- it is make that is stowing such output away
instead of presenting it to the user as soon as it gets it.
So we content ourself with working around the issue in our
testsuite, to at least avoid failures we could do nothing to
prevent.
* tests/tap-realtime.test: Skip this test if the make program used
is a non-GNU make running in parallel mode. And if Sun dmake is
being used, try to force it to run in serial mode, by exporting the
'DMAKE_MODE' environment variable to "serial".
2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
contrib: new, a directory for non-mainstream functionalities
This new 'contrib' hierarchy will be a good place were to move
implementation/support for obsolescent features we are not yet
ready to remove completely, or were to leave experimental or
third-party features to cook before their eventual inclusion in
the automake core.
* contrib: New directory.
* contrib/README: New file.
* contrib/Makefile.am: New file.
(EXTRA_DIST): Distribute README.
2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: APIs for custom test drivers are highly experimental
* doc/automake.texi (API for Custom Test Drivers): The APIs
described here are not "somewhat experimental", but rather
"highly experimental". Don't promise the sure a sort of
backward-compatibility that we are very likely not going to
keep.
2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid spurious failures with parallel make
Some tests are unprepared to be run with a make command that runs
in parallel mode by default. This can happen e.g., if the user
explicitly run the tests with something like:
AM_TESTSUITE_MAKE="gmake -j3" in the
in the environment, but also if the make used in the testsuite is
Sun Distributed Make, and the 'DMAKE_MODE' environment variable is
set to "parallel".
Fix some instances of this issue.
* tests/tap-doc.test (Makefile.am): Declare explicit dependencies
among the test cases, to ensure they are run in the correct order.
* tests/tap-doc2.test: Set the 'DMAKE_MODE' environment variable
to "serial", to prevent Sun dmake from trying to run in parallel.
Remove other now-superfluous workarounds for dmake.
2012-01-17 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures with Solaris dmake
Solaris Distributed Make, when run in parallel mode, can sprinkle
its standard output with lines like:
hostname --> 2 jobs
...
hostname --> Job output
...
This behaviour was causing spurious errors in some tests where we
compare the output of make with a known, expected value. Fix that.
* tests/tap-doc.test: Before comparing the output from make with its
expected value, remove extra lines that could have been printed by
Solaris dmake.
* tests/tap-doc2.test: Likewise.
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
recheck: fix interaction with "make -n"
vala: avoid potential useless remakes (minor bugfix)
vala: enhance tests
recheck: behave better with non-GNU make
check: separate .log -> .html conversion from core testsuite harness
docs: deprecate .log -> .html conversion by parallel-tests
tests: list some forgotten test cases in $(TESTS)
maintcheck: consistency of list of test scripts
build: explicitly declare some targets as .PHONY
maint: remove obsolete/broken maintainer targets
build: improve silencing of automake build system
tests: move list of tests in its own Makefile fragment
+ Extra non-trivial edits:
* tests/parallel-tests2.test: Obvious edits to merge the slightly
inconsistent enhancements to coverage done in master with those
done in maint.
* lib/am/check.am (check-TESTS, recheck): Sweeping and rather
complex changes to merge the considerable divergences between
maint and master in a way that is meaningful and, where possible,
retains the semantic changes from both maint and master.
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'check-html-deprecate' into maint
* check-html-deprecate:
recheck: fix interaction with "make -n"
recheck: behave better with non-GNU make
check: separate .log -> .html conversion from core testsuite harness
docs: deprecate .log -> .html conversion by parallel-tests
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
recheck: fix interaction with "make -n"
* lib/am/check.am (recheck): Ensure the recipe does not erroneously
remove '.log' files when running under "make -n". For the sake of
NetBSD make, this also means that ...
(.MAKE): ... this cannot depend on 'recheck' anymore.
* tests/parallel-tests-dryrun.test: New test.
* tests/list-of-tests.mk: Add it.
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: avoid potential useless remakes (minor bugfix)
* automake.in (lang_vala_finish_target): Ensure the timestamp file
from which the C files generated from Vala sources depend on gets
created with a modification time that is truly older than those of
said generated C files. This prevents make from attempting useless
rebuilds (which were bound to happen deterministically on systems
with sub-second timestamp resolutions). It is worth noting that,
luckily, those useless rebuild ended up being a no-op, since the
Vala compiler is careful not to update the timestamp of an output
file if its content has not changed from the previous version.
Still, the useless rebuilds messed up "make -q" and "make -n"
invocations, and were technically incorrect (despite being, as
noted, inoffensive in practice).
Problem revealed by failure of tests vala-mix.test and vala5.test
on a fast Solaris 10 system whose filesystem had a sub-second
timestamp resolution.
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: enhance tests
* tests/vala.test: Extend test. Throw in some cosmetic and
consistency changes since we are at it.
* tests/vala5.test: Avoid uselessly requiring libtool. Ensure a
failure happens in case VALAFLAGS are not supported as expected.
Extend test in some ways. Throw in some cosmetic and consistency
changes since we are at it.
* tests/vala-mix.test: New test.
* tests/list-of-tests.mk: Add it.
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
recheck: behave better with non-GNU make
* automake.in (handle_tests): Also substitute '%CHECK_DEPS%' with
the value of the '@check' array, containing the list of early
test dependencies like '$(check_SCRIPTS)', $(check_PROGRAMS)',
etc.
* lib/am/check.am (recheck): Explicitly depend on '%CHECK_DEPS%'.
(check, recheck): Unify the implementation of their recipes, with
different code paths taken depending on the name of the target.
This makes the implementation of "recheck" less brittle in the
process (especially when non-GNU make and AM_MAKEFLAGS overriding
are involved).
* lib/am/check-html.am (check-html, recheck-html): Likewise.
* tests/check.test: Adjust to avoid spurious failure.
* tests/parallel-tests2.test: Improve coverage.
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
check: separate .log -> .html conversion from core testsuite harness
That feature is to be deprecated in the 1.11.x series, and removed
from the automake core in the 1.12 release, where it will instead
be offered in a semi-independent extra '*.am' fragment. So let's
start better separating the .log -> .html conversion from the "core
code" of the parallel-tests harness.
Reference:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>
* lib/am/check.am (.log.html, check-html, recheck-html): Move these
targets ...
* automake.in (handle_tests): ... and the initialization of the
TEST_SUITE_HTML variable and the cleaning of the $(TEST_SUITE_HTML)
file ...
* lib/am/check-html.am: ... in this new file, with related (minor)
refactorings, enhancements and simplifications.
* lib/am/check.am (.MAKE. PHONY, AM_RECURSIVE_TARGETS): Adjust.
* lib/am/Makefile.am (dist_am_DATA): Add 'check-html.am'.
* tests/parallel-tests2.test: Improve coverage.
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: deprecate .log -> .html conversion by parallel-tests
That feature is to be deprecated in the 1.11.x series, and
removed in the 1.12 release.
Reference:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00005.html>
* doc/automake.texi (Simple Tests using parallel-tests): Deprecate
the '.log' -> '.html' conversion and the targets 'check-html' and
'recheck-html'. Related rewording and reformatting.
* NEWS (Future backward-incompatibilities): Update.
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: list some forgotten test cases in $(TESTS)
This way, they will be properly executed by "make check", and
properly distributed. Our previous commit 'v1.11-647-g27f1a1c'
is already paying its dividends!
* tests/list-of-tests.mk (handwritten_TESTS): Add check12.test,
dist-missing-included-m4.test, dist-missing-am.test, and
dist-missing-m4.test.
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: consistency of list of test scripts
This is basically a backport of commit 'v1.11-358-g7b6ab07'
and its follow-ups. The possibility of easily checking that
the list of test scripts listed in a Makefile equals that of
the tests on the filesystem has proved itself so useful that
it's worth taking the annoyance of backporting it to maint.
* CheckListOfTests.am: New file, backported from master (commit
'v1.11-1736-g083a75b') with minor adjustments.
(maintainer-check-list-of-tests): New target, check for consistency
between the list of tests defined in the including Makefile and the
list of tests on the filesystem.
(clean-maintcheck-testslist-tmp): New rule, to clean up temporary
files that might be left around by the rules associated with the
previous target.
(clean-local): Depend on it.
* lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
* tests/Makefile.am: Likewise.
* Makefile.am (maintainer-check-list-of-test): New target,
calling recursively into `tests/' and `lib/Automake/tests/',
using ...
(TEST_SUBDIRS): ... this new variable.
(maintainer-check): Added dependency from the new target
`maintainer-check-list-of-tests'.
2012-01-16 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: completeness check on list of tests simplified
* CheckListOfTests.am: Simplify the recipe, accordingly to the
assumption that all the entries in $(TEST_EXTENSIONS) and in
$(TESTS) have an associated real test script. This was not the
case when we used to have some entries in $(TESTS) that were not
real files, but rather "parameters" (sort of) for the corresponding
$(LOG_COMPILER). However, that usage had proven to be confusing
and brittle, and thus removed (see commit 'v1.11-1308-g375f23d' of
September 8 2011, "testsuite: revamp generation of autogenerated
tests").
2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
build: explicitly declare some targets as .PHONY
* Makefile.am (fetch, git-dist, git-release, maintainer-check):
Declare as ".PHONY".
2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: remove obsolete/broken maintainer targets
* Makefile.am (git-diff): Remove. First, we don't distribute diffs
between an automake version and the next one anyway, so this target
is pointless. Moreover, its recipe has been broken for quite a
long time now, always generating an empty diff due to the spurious
'$(PACKAGE)' argument that was passed to the "git diff" invocation.
(path-check): Remove. The 'pathchk' program running in this check
complains about any file with name longer than 14 characters, which
is a ridiculously low limit for today standards. Also, we already
had several test scripts (no less than 195!) that were exceeding
that limit, and nobody ever complained (not even on MinGW/MSYS nor
Cygwin).
2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
build: improve silencing of automake build system
In this change, we continue the silencing of the automake build
system that has been started in commit v1.11-642-g17542c3, but
which has been left incomplete there for an (absent-mindness)
mistake.
* Makefile.am (INSTALL): Silence the recipe.
(automake, aclocal): Likewise, and improve them a little since
we are at it.
* lib/Automake/Makefile.am (Config.pm): Likewise.
2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: move list of tests in its own Makefile fragment
This change will make it easier to merge maint into master, which
has a similar Makefile setup in the testsuite.
* tests/Makefile.am (include): Inclusion of ...
* tests/list-of-tests.mk: ... this new file.
* tests/Makefile.am (TESTS): Move most of its content into,
and redefine in function of, ...
* tests/list-of-tests.mk (handwritten_TESTS): ... this new
variable.
* tests/gen-parallel-tests: Update.
2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: move list of tests in its own Makefile fragment
build: silence automake build system
2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: move list of tests in its own Makefile fragment
This change will make it easier to merge maint into master, which
has a similar Makefile setup in the testsuite.
* tests/Makefile.am (include): Inclusion of ...
* tests/list-of-tests.mk: ... this new file.
* tests/Makefile.am (TESTS): Move most of its content into,
and redefine in function of ...
* tests/list-of-tests.mk (handwritten_TESTS): ... this new
variable.
* tests/gen-parallel-tests: Update.
2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
build: silence automake build system
* configure.ac (AM_SILENT_RULES): Invoke with "yes" as a parameter,
to activate silent rules by default.
* NEWS: Update.
* Makefile.am (sc_perl_syntax): Silence its recipe unconditionally,
similarly to what is done for other syntax checks.
(release-stats): Be silent by default *but not unconditionally*,
thanks to the use of $(AM_V_GEN).
(path-check, git-diff): Be silent by default, thanks to the use
of $(AM_V_GEN).
* m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Likewise.
* doc/Makefile.am ($(srcdir)/amhello-1.0.tar.gz): Likewise.
* tests/Makefile.am ($(srcdir)/parallel-tests.am): Likewise.
($(parallel_tests)): Likewise.
2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
gnupload: moved to gnulib
sync: gitlog-to-changelog from gnulib upstream
test defs: backport optimized 'using_gmake' implementation
tests: unify some tests on "make -n", reducing duplication
vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)"
+ Extra edits:
* tests/maken3.test: Carry over (with necessary adjustments) the
code from maken4.test that determines whether $MAKE supports the
special '.MAKE' target.
2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
gnupload: moved to gnulib
Since the gnupload script is not required by automake-generated
code (be it configure or Makefile content), and is not specifically
tied to automake in any way, it is better to have its master copy
installed in the gnulib repository, as is already done for similar
generally-useful, maintainer-oriented scripts. We can them sync it
from there.
See also gnulib commit v0.0-6822-gf8b7120, and:
<http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
* Makefile.am (FETCHFILES): Added 'gnupload'.
(fetch): Also sync 'gnupload' from the gnulib repository.
* lib/gnupload: Synced from gnulib.
* NEWS: Update.
2012-01-15 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: gitlog-to-changelog from gnulib upstream
* lib/gitlog-to-changelog: Synced from upstream, by "make fetch".
2012-01-14 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: backport optimized 'using_gmake' implementation
* tests/defs.in (using_gmake): Backport optimized, result-caching
implementation from master.
2012-01-14 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: unify some tests on "make -n", reducing duplication
* tests/maken2.test: Merge into ...
* tests/maken.test: ... this test, to avoid unnecessary code
duplication. Make checks depending on GNU make conditional to
the actual presence of GNU make.
* tests/maken4.test: Similarly, merge into ...
* tests/maken3.test: ... this test.
* tests/Makefile.am (TESTS): Remove maken2.test and maken4.test.
2012-01-14 Stefano Lattarini <stefano.lattarini@gmail.com>
vala: use "$(am__cd) $(srcdir)", not "cd $(srcdir)"
* automake.in (lang_vala_finish_target): In the generated rules,
use '$(am__cd)', not bare 'cd', to chdir into $(scdir). Issue
revealed by the maintainer check 'sc_cd_relative_dir'.
2012-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
dist: avoid $(distdir) removal failure on MSYS/MinGW
tests: fix spurious failure of 'get-sysconf.test'
coverage: expose automake bug#10470 (distcheck-related)
tests: make 'aclocal-install-absdir.test' executable
tests: require GNU make in 'vala-vapth.test'
vala: fix VPATH builds
tests: fix some bugs in the vala-vpath test
2012-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'fix-pr10470' into maint
* fix-pr10470:
dist: avoid $(distdir) removal failure on MSYS/MinGW
coverage: expose automake bug#10470 (distcheck-related)
2012-01-13 Stefano Lattarini <stefano.lattarini@gmail.com>
dist: avoid $(distdir) removal failure on MSYS/MinGW
This change fixes automake bug#10470.
On MSYS (1.0.17) it is not possible to remove a directory that is
in use, and this, together with timing issues, could cause spurious
failures in the cleanup code of the "distcheck" recipe. In fact,
it should be noted that assuming a directory can be removed while
it the CWD of a running process is a POSIX violation:
"If the directory is the root directory or the current working
directory of any process, it is unspecified whether the function
succeeds, or whether it shall fail and set errno to [EBUSY]."
* lib/am/distdir.am (am__remove_distdir): If rm fails, sleep some
seconds and retry, to give potential "pending" processes some time
to exit and "release" the directory.
* tests/Makefile.am (XFAIL_TESTS): Remove 'distcheck-pr10470.test'.
Report and suggestions by Peter Rosin and Eric Blake.
2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure of 'get-sysconf.test'
* tests/get-sysconf.test: Do not assume that a ChangeLog file exists
in $(srcdir): now that the ChangeLog is autogenerated and not under
version control anymore, this is not necessary true. Instead, if we
are running from a git checkout, use "git log" to get information on
the version of the automake snapshot being tested (and fall back on
extracting the first ChangeLog entry otherwise).
Reported by Jim Meyering in automake bug#10418.
Cherry picked from commit v1.11-1675-g104f302.
2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: expose automake bug#10470 (distcheck-related)
* tests/distcheck-pr10470.test: New test.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
Report and suggestions by Peter Rosin and Eric Blake.
2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make 'aclocal-install-absdir.test' executable
* tests/aclocal-install-absdir.test: Make it executable.
2012-01-12 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: add missing dependency for some 'ar-lib*.test' tests
This change fixes spurious failures of the tests ar-lib4.test,
ar-lib6a.test and ar-lib6b.test.
* tests/Makefile.am (ar-lib4.log): Depend explicitly on the
`libtool-macros.log' file.
(ar-lib6a.log, ar-lib6b.log): Likewise.
2012-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
dist: distdir not unconditionally removed anymore for xz and lzip
This change fixes automake bug#10444 a.k.a. bug#10448.
The 'dist-xz' and 'dist-lzip' recipes were erroneously using
'$(am__remove_distdir)' instead of '$(am__post_remove_distdir)'
to cleanup the '$(distdir)'; so a "make dist" issued in a package
using (say) gzip and xz compression would have failed to properly
created the gzip tarball, since the distdir was unconditionally
removed by "make dist-xz" upon its completion, instead of being
left populated for the following "make dist-gzip".
The problem with 'dist-xz' was introduced in the merge commit
`v1.11-1142-g47587d1', and the problem with 'dist-lzip' was
introduced in the merge commit `v1.11-1673-gc1b14e9'
* lib/am/distdir.am (dist-xz): Use '$(am__post_remove_distdir)',
not '$(am__remove_distdir)'.
(dist-lzip): Likewise.
2012-01-11 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: archive and compression formats used by "make dist"
This change exposes automake bug#10444 a.k.a. bug#10448.
* tests/dist-formats.tap: New test.
* tests/lzip.test: Remove, it's obsolete now.
* tests/nogzip.test: Likewise.
* tests/nogzip2.test: Likewise.
* tests/xz.test: Likewise.
* tests/list-of-tests.mk: Update.
2012-01-10 Peter Rosin <peda@lysator.liu.se>
tap/awk: avoid redirection issues with bash 3.2 and earlier
Fixes automake bug#10465.
* lib/tap-driver.sh: Add workaround for bash 3.2 and earlier, which
sometimes does not properly set '$?' when failing to write redirected
output of a compound command. See the Autoconf manual for more details.
The workaround was pointed out by Eric Blake.
2012-01-09 Peter Rosin <peda@lysator.liu.se>
tests: detect that MSYS lacks symlinks
* tests/self-check-cleanup.tap: Also check if "ln -s" really created a
symlink to cater for MSYS falling back to an ordinary copy. Also, don't
chmod the symlinks if they were never created.
2012-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: avoid many spurious failures on MSYS due to lack of symlinks
Fixes automake bug#10441.
* tests/add-missing.tap: Do not assume the system supports real
symlinks, as this is not the case for MinGW/MSYS. Skip checks
that would spuriously fail in that situation.
* tests/copy.test: Likewise.
Reported by Peter Rosin.
2012-01-08 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: require GNU make in 'vala-vapth.test'
* vala-vpath.test ($required): Add the "GNUmake" requirement, since
rules generated by vala support are expected to work with GNU make
only.
2012-01-08 Ryan Lortie <desrt@desrt.ca> (tiny change)
Stefano Lattarini <stefano.lattarini@gmail.com>
vala: fix VPATH builds
This change fixes automake bug#9859.
* automake.in (lang_vala_finish_target): Create the stamp file
'${derived}_vala.stamp' in $(srcdir), not in $(builddir).
Also, don't try to chdir to the $(srcdir) to trigger the rebuild
rules, since that is just wrong in a VPATH setup.
* tests/vala-vpath.test, tests/vala2.test: Extend to catch more
possible VPATH issues.
* tests/Makefile.am (XFAIL_TESTS): Remove 'vala-vpath.test'.
* NEWS, THANKS: Update.
2012-01-08 Ryan Lortie <desrt@desrt.ca> (tiny change)
tests: fix some bugs in the vala-vpath test
* tests/vala-vpath.test: There are (trivial) problems in this
testcase that would cause the build to fail even if the core
issue were resolved. Fix those.
2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: list forgotten test case in $(TESTS)
* tests/list-of-tests.mk: Also list 'tar-override.test'.
2012-01-06 Paul Eggert <eggert@cs.ucla.edu>
scripts: quote 'like this', not `like this'
This change follows up on recent changes to the GNU coding standards.
They now suggest that we should quote 'like this' or "like this" instead
of `like this'; see:
<http://www.gnu.org/prep/standards/html_node/Quote-Characters.html>.
Gnulib is being changed accordingly, and Gnulib imports some files
directly from Automake master, so change those files to use the
straight-up style. This affects only commentary and quoting in
diagnostics.
2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: safer declarations of test dependencies
To declare prerequisites common to all the tests, we now prefer to
use the special `check_DATA' and `check_SCRIPTS' variables rather
than "lazy" dependency declaration like "$(TEST_LOGS): DEPS ...";
this because the latter, allowing run-time overriding of the
TEST_LOGS variable, turned out to be subtly incomplete in some
situations involving non-trivial inter-test dependencies. For
example, if the user issued a:
make check TESTS=libtool.test
before the `defs-static' file was created (either explicitly or
implicitly), a spurious errors followed, along these lines:
1. $(TEST_LOGS) got dynamically defined to `libtool.log';
2. make saw that, in the Makefile, `libtool.log' was explicitly
declared depending on `libtool-macros.log' and `defs-static';
3. somehow, make considered the dependency on `libtool-macros.log'
*before* considering the one on `defs-static' (which BTW is
perfectly legitimate on make's part);
4. to satisfy such a dependency, make set out to execute the
test `libtool-macros.test' in order to create the file
`libtool-macros.log';
5. since `libtool-macros.log' was *not* in $(TEST_LOGS), it
didn't appear to depend on the `defs-static' file, so make
didn't consider necessary to build `defs-static' before
running the `libtool-macros.test' script;
6. but that script sources `./defs-static' in order to work;
thus the test `libtool-macros.test' failed spuriously.
* tests/Makefile.am ($(TEST_LOGS)): Remove explicit declaration
of dependency on the required files/scripts; instead use ...
(check_SCRIPTS, check_DATA): ... these new variables.
2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: skip tests on perl TAP driver if TAP::Parser is not available
We had so far taken for granted that all the perl installations
modern enough to correctly run automake also came with a built-in
TAP::Parser module; unfortunately, testing on MinGW/MSYS has
shown that this is not always true, and that a lot of spurious
testsuite failures would take place in such a situation (see
automake bug#10440).
Luckily, the perl implementation of the Automake TAP driver is
only meant to be used for prototyping and consistency checks, the
"real" Automake TAP driver being the portable one implemented in
awk. So we can simply skip the affected tests on systems lacking
TAP::Parser.
* tests/defs (fetch_tap_driver): Skip the whole test case if
the desired tap driver implementation is the perl one but the
TAP::Parser module is unavailable.
* tests/tap-bad-prog.tap: Adjust order of calls to `plan_' and
`fetch_tap_driver', to ensure the test is not skipped after the
TAP plan has been outputted (which would lead to a spurious
error).
* tests/tap-bad-signal.tap: Tweak to avoid the need to source the
`tap-setup.sh' script, as that might cause a test skip too late,
i.e., after a TAP plan has been already printed.
* tests/tap-test-number-0.test: Do not force the test to skip
when the tested TAP driver implementation is not the perl one.
On the other hand, when it *is* the perl one, skip the test if
the TAP::Parser module is unavailable.
* tests/test-driver-cond.test: Skip the part of the test actually
running "make check" if the TAP::Parser module is unavailable.
* tests/get-sysconf.test: Also print the version of the
`TAP::Parser' module, if available.
Reported by Peter Rosin.
2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
dist: do not wrap calls to 'tar' with the 'missing' script
fixup: previous commit v1.11-627-g1e0aedc
tests: fix spurious failures due to autom4te caching
2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
dist: do not wrap calls to 'tar' with the 'missing' script
The `missing' script is meant to allow non-developers to build a
package in the face of slightly-skewed timestamps (as might happen
e.g. when the package is obtained from a VCS checkout rather than
from a distribution tarball). It is *not* the business of the
`missing' script to try to provide wrappers for all the maintainer
tools (in this case, to tool being a decent tar program). Such
wrapping of `tar' was not only inappropriate, but it was also
preventing the legitimate overriding (at make runtime) of the
`tar' program used in the creation of the distribution tarballs.
See also automake bug#9822.
* lib/missing: Don't try to specially wrap `tar' invocations
anymore.
* m4/tar.m4 (_AM_PROG_TAR): In the definitions of the `AMTAR'
variable, do not wrap the `tar' invocation with the `missing'
script anymore. Instead, allow the user to override the intended
tar program at make runtime, by defining the `TAR' environment
variable.
[$1 == v7]: Similarly for the definitions of the `am__tar' and
`am__untar' variables. Since we are at it, don't make them depend
anymore on the definition of the obsolescent `AMTAR' variable.
* NEWS: Update.
* tests/missing-tar.test: Remove, it's obsolete.
* tests/tar-override.test: New test.
* tests/Makefile.am (TESTS): Update.
Reported by Akim Demaille.
2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
fixup: previous commit v1.11-627-g1e0aedc
* tests/acloca18.test: Do not remove an aclocal.m4 file that is
needed by a later autoconf invocation.
2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures due to autom4te caching
* tests/aclocal9.test: Call aclocal and autoconf with the `--force'
option.
* tests/acloca10.test: Sleep between re-runs of aclocal and autoconf.
* tests/acloca18.test: Explicitly remove also the configure script
and the aclocal.m4 before re-invoking aclocal and autoconf.
2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: avoid trailing backslashes in make recipes
The new testsuite-harness could generate recipes with a trailing
backslash character (possibly followed by blank characters only),
in the very common case where the user hadn't defined the special
$(AM_TESTS_FD_REDIRECT) variable. This caused spurious syntax
errors with at least older bash versions (e.g., bash 2.05b), and
could be potentially unportable to other weaker shells.
See automake bug#10436:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10436>
and coreutils bug#10427:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8>
* lib/am/check2.am: Rework line breaks so that no backslash can
be at the end of a line.
* tests/parallel-tests-trailing-bslash.test: New test.
* tests/list-of-tests.mk: Add it.
Report and diagnosis by Paul Eggert.
2012-01-06 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
parallel-tests: avoid issue with overly long lines in sed input
Additional edits:
* NEWS: Remove entry from merged commit, since that will also be
present in the NEWS file of automake 1.11.3.
* lib/am/check.am (check-TESTS, recheck, recheck-html): Rework
merged changes to adapt them to the different form these recipes
has assumed in the master branch (w.r.t. the maint branch).
2012-01-05 Stefano Lattarini <stefano.lattarini@gmail.com>
parallel-tests: avoid issue with overly long lines in sed input
See automake bug#10437:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10437>
and coreutils bug#10427:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10427#8>
* lib/am/check.am (recheck, recheck-html): In order to strip
trailing whitespace from the definition of the `$list' variable,
we used to invoke sed in a way that could cause it to get passed
overly long input lines, causing spurious failures. So rework
the logic of the recipe to avoid any sed invocation, relying on
simpler shell idioms instead.
(check-TESTS): Reorganize the recipe to be more similar to the
one of `recheck', for consistency and simplicity.
* NEWS: Update.
Report and analysis by Paul Eggert.
2012-01-05 Peter Rosin <peda@lysator.liu.se>
tests: work around strangeness in MSYS
MSYS mishandles carriage returns and behaves very strangely for
directories with colon in them. It seems that colon-directories are
somehow mixed up with drive letters.
Fixes automake bug#7849.
* tests/instspc.tap: Skip instead of erroring out when $test_string
is empty for the carriageret case, as that is expected on MSYS. Also,
for similar reasons, skip instead of erroring out when it is not
possible to cd into the just created directory, and the directory
name contains a colon. Update copyright years.
2012-01-04 Paul Eggert <eggert@cs.ucla.edu>
cosmetics: prefer the term "Windows" over "Win32"
Microsoft has renamed the Win32 API to "Windows API":
<http://msdn.microsoft.com/en-us/library/aa383723.aspx>
Also, after some discussion on bug-gnulib, when talking about hosts and
platforms we believe it's better to talk about "Windows" or "native
Windows" instead:
<https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00009.html>
<https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>
* doc/automake.texi: Mention "Windows", not "Win32".
* lib/Automake/XFile.pm: Likewise.
* lib/ar-lib: Likewise.
* lib/compile: Likewise.
* tests/compile2.test: Mention "Windows", not "w32".
2012-01-04 Peter Rosin <peda@lysator.liu.se>
test defs: skip all tests when the lib requirement isn't fulfilled
* tests/defs (lib): Use skip_all_ instead of skip_, in order to support
TAP-based test scripts.
2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: be sure to list all test cases in $(TESTS)
* tests/list-of-tests.mk: Due to slightly botched merges, the test
scripts `objext-pr10128.test' and `silent-nested-vars.test' weren't
being correctly listed in $(TESTS); fix this.
2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
sync: auxiliary files from upstream synced
sync: fix syncing of 'gitlog-to-changelog' script
maintcheck: avoid false positive in sc_tests_plain_make
2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: auxiliary files from upstream synced
* lib/texinfo.tex: Synced from upstream, by "make fetch".
* lib/gitlog-to-changelog: Likewise.
* lib/config.guess: Likewise.
* lib/config.sub: Likewise.
2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
sync: fix syncing of 'gitlog-to-changelog' script
* Makefile.am (FETCHFILES): Also list 'gitlog-to-changelog'.
2012-01-04 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: avoid false positive in sc_tests_plain_make
* Makefile.am (sc_tests_plain_make): Ensure to only match full
`make' words. Avoid false positive in `silent-nested-vars.test'.
2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
install: pkglibexec_SCRIPTS is a valid prefix/primary combination
coverage: expose automake bug#10128
progs, libs: implement EXTRA_foo_DEPENDENCIES
tests: fix spurious failures in 'pr300*.test'
2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
install: pkglibexec_SCRIPTS is a valid prefix/primary combination
It makes little sense for `libexec_SCRIPTS' to be accepted as valid
while `pkglibexec_SCRIPTS' is not. So fix this inconsistency by
explicitly allowing `pkglibexec_SCRIPTS' as well. It is worth
noting that the inconsistency has been there for a long time,
but only the quite recent commit `v1.11-373-g9ca6326' "Warnings
about primary/prefix mismatch fixed and extended" has made it
noisy enough to be noticed.
* automake.in (handle_scripts): Also list `pkglibexec' among the
prefixes valid for the `SCRIPTS' primary.
* doc/automake.texi (Scripts): Likewise.
* tests/primary-prefix-valid-couples.test: Update.
* THANKS: Likewise.
* NEWS: Likewise.
Reported by Dennis Schridde on the automake list:
<http://lists.gnu.org/archive/html/automake/2012-01/msg00002.html>
2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
coverage: expose automake bug#10128
* tests/objext-pr10128.test: New test, still expected to fail.
* tests/Makefile.am (TESTS, XFAIL_TESTS): Add it.
2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
progs, libs: implement EXTRA_foo_DEPENDENCIES
Backported from commit `v1.11-377-g6edafbb'.
The feature implemented by that change is quite unobtrusive, so
adding it to a maintenance release is acceptable. Also, there
have been requests from real-world users for this feature since
it has been implemented in master; see automake bug#9320:
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9320>
and this short discussion on the automake list:
<http://lists.gnu.org/archive/html/automake/2010-11/msg00099.html>
It would be a pity to make such users wait even more (until
Automake 1.12 is out) before they could start using this feature.
Thus we backport it, so that it will appear in the next maintenance
version of automake (1.11.3).
* automake.in (handle_programs, handle_libraries)
(handle_ltlibraries): Mark EXTRA_*_DEPENDENCIES as recognized.
* doc/automake.texi (Linking, Program and Library Variables)
(LIBOBJS): Document EXTRA_*_DEPENDENCIES.
* lib/am/library.am (%LIBRARY%): Also depend on
$(EXTRA_%XLIBRARY%_DEPENDENCIES).
* lib/am/ltlibrary.am (%LTLIBRARY%): Also depend on
(%XLTLIBRARY%_DEPENDENCIES).
* lib/am/program.am (%PROGRAM%%EXEEXT%): Also depend on
$(EXTRA_%XPROGRAM%_DEPENDENCIES).
* tests/extradep.test, tests/extradep2.test: New tests.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
2012-01-03 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failures in 'pr300*.test'
This change fixes automake bug#10426.
* tests/pr300-lib.test: Call configure with an explicit '--libdir'
option, to avoid spurious failures due to users possibly overriding
'${libdir}' in ther config.site files.
* tests/pr300-ltlib.test: Likewise.
Reported by Bruno Haible.
2012-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure due to I/O buffering
* tests/parallel-tests-interrupt.tap: Ensure the dummy test script
`foo.test' flushes its standard output before starting to grep the
log file where such output is being redirected by the parallel test
harness. Since we are at it, improve this same dummy script to
better catch unexpected behaviours and results.
Reported by Jim Meyering in automake bug#10418.
2012-01-02 Stefano Lattarini <stefano.lattarini@gmail.com>
news: fix botched merges, rebase on 1.11.2a NEWS version
The NEWS file is unfortunately written in a format that doesn't
lend itself very well to automatic merges; the recent merges of
maint into master have left it full of blunders and in a somewhat
inconsistent state.
Another orthogonal issue is that the current version of NEWS
still reports all the changes since the last 1.11 version, rather
than since the latest maintenance version 1.11.2, or, even better,
since the planned next maintenance version 1.11.3.
* NEWS: Fix blunders and errors from botched merges. Rebase the
file on the NEWS file from branch-1.11 (from which automake 1.11.3
is expected to be released).
2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'msvc'
* msvc:
tests: fix spurious failure due to autom4te caching
news: fix suboptimal wording
tests: various minor tweakings, mostly related to AM_PROG_AR
2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure due to autom4te caching
* tests/ar-lib3.test: Remove stale autom4te.cache directory, to
prevent racy, spurious failures.
Reported by Jim Meyering in automake bug#10418.
2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' into msvc
* maint:
tests: make 'lzip.test' executable
dist: obsolete support for lzma (superseded by xz and lzip)
test defs: more granular overriding of the make program
docs: fix a couple broken anchors
dist: add support for lzip compression
docs: fix paragraph names for automake and aclocal invocations
tests: fix spurious failure due to autom4te caching
fix: last entry in ChangeLog
tests: tweak tests on silent-rules for makes without nested vars
silent-rules: fallback for makes without nested vars
2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure of 'get-sysconf.test'
* tests/get-sysconf.test: Do not assume that a ChangeLog file exists
in $(srcdir): now that the ChangeLog is autogenerated and not under
version control anymore, this is not necessary true. Instead, if we
are running from a git checkout, use "git log" to get information on
the version of the automake snapshot being tested (and fall back on
extracting the first ChangeLog entry otherwise).
Reported by Jim Meyering in automake bug#10418.
2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
dist: remove support for lzma (superseded by xz and lzip)
See also commit `v1.11-611-ge637fa2' (from maint), where support
for lzma compression of distribution archive had been deprecated.
* NEWS: Update.
* lib/Automake/Options.pm: Error out if the `dist-lzma' option
is used.
* lib/am/distdir.am: Remove all support for the creation of a
lzma-compressed distribution archive.
* tests/lzma.test: Update.
2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
tests: make 'lzip.test' executable
dist: obsolete support for lzma (superseded by xz and lzip)
test defs: more granular overriding of the make program
docs: fix a couple broken anchors
dist: add support for lzip compression
docs: fix paragraph names for automake and aclocal invocations
tests: fix spurious failure due to autom4te caching
fix: last entry in ChangeLog
tests: tweak tests on silent-rules for makes without nested vars
silent-rules: fallback for makes without nested vars
2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: make 'lzip.test' executable
* tests/lzip.test: Make it executable.
2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'deprecate-lzma' into maint
* deprecate-lzma:
dist: obsolete support for lzma (superseded by xz and lzip)
2012-01-01 Stefano Lattarini <stefano.lattarini@gmail.com>
dist: obsolete support for lzma (superseded by xz and lzip)
The lzma utilities are today superseded by the xz utilities; in
fact, the official site at <http://tukaani.org/lzma/> reads:
``LZMA Utils are legacy data compression software with high
compression ratio. LZMA Utils are no longer developed, ...
Users of LZMA Utils should move to XZ Utils.''
and the existing automake manual (as of 1.11.2) already says:
``dist-xz
Generate an 'xz' tar archive of the distribution. xz archives
are frequently smaller than bzip2-compressed archives. The 'xz'
format will soon (early 2009) displace the 'lzma' format''
Also, the `dist-lzma' target still suffers of never-solved bugs,
due to the too-high compression ratio its uses by default, which
might cause an unacceptable memory consumption when one tries to
compress or, worse, decompress the created tarballs; see also:
<http://lists.gnu.org/archive/html/automake/2011-12/msg00025.html>
<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9658>
* NEWS: Update.
* doc/automake.texi (Dist, Options): State that `dist-lzma' will
go away in the next major automake version.
* lib/Automake/Options.pm (_process_option_list): Deprecate
`dist-lzma'.
* tests/lzma.test: Update.
2011-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: fix a couple of typos in error messages
* Makefile.am (sc_tests_plain_autoheader): Fix the message to
report a bad use of "autocheader", not of "automake."
(sc_tests_plain_autom4te): Likewise, but for "autom4te" instead.
(sc_tests_plain_autoreconf): Likewise, but for "autoreconf"
instead.
2011-12-31 Stefano Lattarini <stefano.lattarini@gmail.com>
maintcheck: be sure to look at all the test cases
Many maintainer checks in the top-level Makefile.am did some
unwarranted assumptions about the test cases, i.e., they assumed
that all the test scripts matched the wildcard `$(srcdir)/*.test'.
This failed to properly take into account VPATH builds (where some
generated tests might be in ${builddir} rather than in ${srcdir}),
TAP-based tests script (which have a `.tap' extension) and helper
scripts used by other test cases (which have a `.sh' extension).
Fixes automake bug#9299.
* Makefile.am (xtests): New variable, containing a (dynamically
computed) of files that looks like test cases of the automake
testsuite.
Update many rules to use this new variable instead of blindly
assuming that all the testcases matches the $(srcdir)/tests/*.test
wildcard.
* tests/tap-bad-prog.tap: Do a minor formatting change to
avoid spuriously triggering a match from the syntax check
`sc_tests_overriding_macros_on_cmdline'.
2011-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'dist-lzip' into maint
* dist-lzip:
dist: add support for lzip compression
2011-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
test defs: more granular overriding of the make program
Before this change, the only way the user could override the make
program used in the automake test cases was to override the $MAKE
variable in the environment. This had the annoying side effect of
requiring that, whenever a non-default make program was to be used
in the test cases, that same make program had to be used to drive
the execution of the automake testsuite; otherwise, the recursive
make invocations could pick up $MAKE from the environment, and use
that instead of re-executing with the correct make.
So, for example, if one wanted to try how Solaris /usr/ccs/bin/make
behaved in the automake test cases, he couldn't run the testsuite
in parallel mode, because that make lacks support for concurrent
execution of recipes; on fast machines, this easily meant a 4x or
higher slow-down.
Once the problem is clear, the solution is pretty simple: allow
the use of another variable, besides $MAKE, to override the make
program to be used in the test cases.
See also commit `v1.11-1318-g3ceeef4', that introduced a more
general version of this change to the master branch.
* tests/defs.in: Allow the make implementation to be used by the
test cases to be overridden by the `$AM_TESTSUITE_MAKE' variable,
in preference to the `$MAKE' variable.
2011-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: fix a couple broken anchors
* doc/automake.texi: In previous commit v1.11-605-g5f71f2b (related
to automake bug#8071), we had renamed the chapters about aclocal
and automake invocation, and added anchors to the old names as not
to break hyperlinks to our on-line manual. Unfortunately, these
anchors had been erroneously placed *before* the relevant `@node'
commands, instead that just after, so that they ended up pointing
to the wrong chapters. Fix this. Since we are at it, tweak the
wording of the comments to the anchors to better match that used
in the autoconf manual.
Report and suggestion by Eric Blake.
2011-12-30 Antonio Diaz Diaz <ant_diaz@teleline.es>
dist: add support for lzip compression
* NEWS: Update.
* automake.in (handle_dist): Recognize dist-lzip.
(make_paragraphs): Map LZIP to dist-lzip.
* doc/automake.texi (Dist, Options): Describe dist-lzip.
* lib/Automake/Options.pm (_process_option_list): Recognize
`dist-lzip'.
* lib/am/distdir.am (dist-lzip): New target.
(DIST_ARCHIVES) [?LZIP?]: Add `dist-lzip'.
(dist, dist-all) [?LZIP?]: Add command to create an lzip-compressed
tarball.
(distcheck): Handle lzip-compressed tarballs just like the others.
* tests/lzip.test: New test.
* tests/Makefile.am (TESTS): Add it.
2011-12-30 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge remote-tracking branch 'silent-fixes' into maint
* origin/silent-fixes:
fix: last entry in ChangeLog
tests: tweak tests on silent-rules for makes without nested vars
silent-rules: fallback for makes without nested vars
2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
docs: fix paragraph names for automake and aclocal invocations
All the other autotools entitle their invocation nodes
"autofoo Invocation", whereas automake used to call its
"Invoking Automake" and "Invoking aclocal". So let's
try to be more consistent.
This change is related to automake bug#8071.
Suggestion by Reuben Thomas and Eric Blake.
* doc/automake.texi (Invoking Automake): Node renamed ...
(automake Invocation): ... to this.
(Invoking aclocal): Node renamed ...
(aclocal Invocation): ... to this.
Add proper @anchor directives to avoid breaking existing web
hyperlinks still using the old names of the renamed nodes.
2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
tests: fix spurious failure due to autom4te caching
* tests/acloca18.test: Remove stale autom4te.cache directories, to
prevent racy, spurious failures.
* tests/python11.test: Likewise. Fix a typo in comments since we
are at it.
2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' into msvc
* maint:
maint: autogenerate ChangeLog
2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' into silent-fixes
* maint:
maint: autogenerate ChangeLog
fix: last ChangeLog entry
tests: drop unnecessary requirement in 'subpkg.test'
gitlog-to-changelog: new auxiliary script, synced from gnulib
docs: "aclocal --install -I /abs/dir" actually copies files
docs: fix node names for automake and aclocal invocations
2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint' into yacc-work
* maint:
maint: autogenerate ChangeLog
2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
Merge branch 'maint'
* maint:
maint: autogenerate ChangeLog
2011-12-28 Stefano Lattarini <stefano.lattarini@gmail.com>
maint: autogenerate ChangeLog
Following the practice set by various other GNU projects, we start
to automatically generate the ChangeLog file from the git commit
messages. This will avoid duplication (as the ChangeLog entries
were always inserted both in the git commit message and in the
version-controlled ChangeLog file), and potential problems with
spurious merge conflicts (which, although greatly mitigated by
Bruno Haible's `git-merge-changelog' helper program, have never
been completely solved).
* ChangeLog: Moved ...
* ChangeLog.11:... to this.
* Makefile.am (EXTRA_DIST): Add it.
(gitlog_to_changelog_command, gitlog_to_changelog_options): New
variables.
(ChangeLog, am--changelog-regen-hook): New targets.
* .gitignore: Add ChangeLog.
|