File: Changes

package info (click to toggle)
ocamlbuild 0.16.1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,832 kB
  • sloc: ml: 9,087; makefile: 521; sh: 187
file content (4213 lines) | stat: -rw-r--r-- 107,559 bytes parent folder | download | duplicates (2)
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
We use "MPR#$N" to denote the ticket number $N on the Mantis bugtracker:
  http://caml.inria.fr/mantis/view.php?id=$N
and OGPR#$N to denote the github pull issue against the OCaml repository
  https://github.com/ocaml/ocaml/pull/$N

The form #$N indicates an issue on the github ocamlbuild repository,
  https://github.com/ocaml/ocamlbuild/issues/$N
  https://github.com/ocaml/ocamlbuild/pulls/$N
We also use PR#$N for pull requests.

Changes breaking compatibility are marked with a "* " bullet instead
of the usual "- ".

0.16.1 (13 Feb 2025):
---------------------

OCamlbuild 0.16.1 improves ocamlbuild's behavior
when cross-compiling for Windows.

- Set default values of `Options.ext_*` and `Options.exe` from the output of
  `Options.ocamlc "-config"` (Useful when `Options.ocamlc` is a cross compiler)
  (#353, #361 by Pierre Boutillier, reviewed by Kate Deplaix and Hugo Heuzard,
   requested by whitequark in #181)
- Misc: continue improving the CI
  (#355 by Hugo Heuzard)

0.15.0 (29 Jun 2024):
----------------------
OCamlbuild 0.15.0 comes with first class support for native Windows ports of OCaml
(MinGW64-w64 and MSVC). This support was historically provided by
[opam-repository-mingw](https://fdopen.github.io/opam-repository-mingw/).

- Misc: restore CI (unix, macos, windows)
  (#328, #329, #336, #349 by Hugo Heuzard)
* Remove degraded mode for windows
  (#333 by Hugo Heuzard)
- Remove light mode (#332 by Hugo Heuzard)
- Make the codebase work on windows native
  (#329, #333, #334, #338, #339, #342, #343, #344 by Hugo Heuzard)
* No longer treat empty path in PATH env variable as the current working directory
  (#339 by Hugo Heuzard)
- Emit a warning if several calls are made to
   `Ocamlbuild_plugin.dispatch` -- all calls before the last one are
   ignored, which may not be what users expect.
  (#30 by Gabriel Scherer, review by whitequark)
- Rename user-rebindable {LINK,COMP}FLAGS into OCB_{LINK,COMP}FLAGS
  (#303 by Gabriel Scherer)

0.14.3 (20 Dec 2023):
---------------------

- Add OCaml 5.2 support
  (#325 by Hugo Heuzard)
- Quote Makefile arguments to allow spaces in paths, especially on Windows.
  Documented in #321 (#324 by Jonah Beckford)

0.14.2 (28 Sep 2022):
---------------------

- Add OCaml 5.1 support
  (#319 by Kate Deplaix, reviewed by Gabriel Scherer)

0.14.1 (09 Feb 2021):
---------------------

- Add OCaml 5.00 support
  (#315 by Kate Deplaix, reviewed by Gabriel Scherer)
- Fix race conditions when invoking ocamlbuild in parallel from a makefile
  (#302 by Gabriel Scherer)
- Removes .so from products of all cmxs rules
  (#305 by Ivan Gotovchits, reviewed by Gabriel Scherer)

0.14.0 (23 Feb 2019):
---------------------

Compared to the previous released version (0.12.0), OCamlbuild 0.14.0
contains new features (`ppopt(..)` and `ppxopt(...)` flags, ocamlbuild
options) and support for OCaml 4.08+dev.

* Revert the change to "pack" handling from the never-released 0.13
  (#272), which turns out to break compatibility with too many
  projects. At this point in the lifetime of ocamlbuild usage, it's
  more important to keep building existing projects than to improve
  the build system for new projects -- of course the latter is also
  nice, but not when it endangers compatibility.  (Gabriel Scherer)

0.13.1 (15 Sep 2018):
---------------------

This bugfix release attempts to fix a regression due to the change in
"pack" handling in 0.13.0. It is not clear whether the regression
should be considered a bug in 0.13.0 or an incorrect _tags file in the
broken package, but we prefer to fix it anyway.

- #287: change "linkpkg" flag definition to not apply in the
  new "pack"++"link" mode introduced by #272. This avoids
  a build failure in webidl.1.4 and possibly other packages
  using "true: linkpkg".
  (Gabriel Scherer, report by Andreas Hauptmann)

0.13.0 (8 Sep 2018):
--------------------

OCamlbuild 0.13.0 contains new features (`ppopt(..)` and `ppxopt(...)` flags,
ocamlbuild options) and bugfixes (to pack production, for 4.08+dev support).

- #45, #190: add ppopt(arg) and ppxopt(package,arg) when -use-ocamlfind
  (Gabriel Scherer, review by whitequark,
   request by Gabriel Scherer, Gabriel Radanne and Pavel Argentov)

- #268, #269: add flag support for some ocamlmklib options:
  custom, debug, failsafe, linkall, ccopt(..), cclib(..), rpath(..), ldopt(..)
  (Gabriel Scherer, report by Hannes Mehnert, review by whitequark)

* #272: add the "link" tag to "pack" actions
  Instead of a separate category, "pack" is now another form of linking
  like "program", "library", "toplevel" and "output_obj". This fixes
  the issue that package(...) tags where not passed at pack-production
  time, spotted by Jérémie Dimino. More generally, this extends
  the meaning of all "link" flags to "pack", which seems to be the correct
  behavior for all the rules we inspected.
  (Gabriel Scherer, original issue diagnosis by Jérémie Dimino)

- #278: typo fixes in the manual
  (Xinzhe Yang)

- #282: fix compilation with trunk OCaml (4.08+dev)
  (Xavier Clerc and Nandor Licker)

0.12.0 (11 Nov 2017):
---------------------

OCamlbuild 0.12.0 is a maintenance release containing mostly bugfixes
and a few user-contributed features.

- #227: install signatures.{mli,cmi,cmti} to help documentation tools
  (Daniel Bünzli and Gabriel Scherer)

- #232: fix Windows install rules
  (David Allsopp)

- #234: add "afl_instrument" and "afl_inst_ratio" flags for corresponding
  ocamlopt options.
  (Jeremy Yallop)

- #237: extend cc/ccopt/cclib flags to apply to "ocaml" compilation as well,
  as tweaking the C linker can be required for pure-OCaml projects -- see #236
  (Gabriel Scherer, report by Nathan Rebours)

- #253: only run native tests if ocamlopt is available.
  (Ximin Luo, review by whitequark and Gabriel Scherer)

- #256, #258: pass -keep-docs and -keep-locs when using -pack
  (Gabriel Scherer, report by Vincent Jacques)

- #257, #259: add `_opam` to the list of directories ignored by default;
  it is used for package-local opam switches
  (Gabriel Scherer, request by Edwin Török)

0.11.0 (5 Mar 2017):
--------------------

OCamlbuild 0.11.0 introduces a change to the way `.cmxs` files are
produced when no `.mldylib` file is absent: it will now use the exact
same semantics as `.cmxa` and `.mllib` file -- in particular, it
should not be necessary anymore to have identical
`foo.{mllib,mldylib}` files, only `foo.mllib` should suffice. See the
detailed changelog below for details.

- #111: added "nostdlib" flag for corresponding ocaml{c,opt} options
  (Thomas Wood)

- #115: add `node_modules` to the list of directories ignored by default
  (.svn/, CVS/, .bzr/, .hg/, .git/, _darcs/, node_modules/)
  (Yunxing Dai)

- #125, #160: added "-toolchain" option for corresponding ocamlfind option.
  (whitequark)

- #127, #137, #138: install ocamlbuild's man pages, missing since 4.02
  (Adam Sampson and Gabriel Scherer)

- #130: make sure that -just-plugin always stops after the plugin-build phase
  (Gabriel Scherer, report by whitequark)

* #132, #159: remove the rule ".cmx -> .cmxs"
  Previously, there was a ".cmx -> .cmxa" rule that would
  pull a module and its dependencies in a .cmxa, and a separate
  ".cmx -> .cmxs" rule that would pull only a module as a .cmxs.

  The latter is a reasonable default choice, the idea being that
  a module's dependencies may often be statically linked with the
  program instead of being dynamically linked. But it conflicts with
  the presence of a rule ".cmxa -> .cmxs" as soon as the library has
  the same name as one of the modules it contains.

  The reason why the rule ".cmxa -> .cmxs" matter is that it can be
  composed with the rule ".mllib -> .cmxa" to build .cmxs files from
  .mllib files, without having to copy each .mllib file into
  a separate .mldylib file.

  In other terms, the previous behaviour would, by default (in absence
  of .mldylib file who always takes priority), only link the module in
  the .cmxs file, and people wishing otherwise would have to write
  a list of modules in a .mldylib file. The new behavior will, by
  default, take the .mllib file or the module dependencies (as for
  .cmxa) to build a .cmxs file, and people wishing otherwise will have
  to write just the module name in a .mldylib file.

  It is unclear whether this change will break some projects on which
  users relied on the previous semantics. It seems equally likely that
  the previous semantics, when it applied, was a source of bugs
  (the .cmxs files didn't have the expected modules) that would not be
  discovered by people not testing dynamic linking. Such bugs have
  been found and fixed in the following cases:

  - <https://github.com/dbuenzli/uucp/pull/9>
  - <https://github.com/dbuenzli/uunf/pull/4>
  - <https://github.com/dbuenzli/uuseg/pull/4>

  (Daniel Bünzli, Jérémie Dimino, Armaël Guéneau, Gabriel Scherer, whitequark)

- #124, #136: do not explicitly pass -shared when building shared libraries;
  let the compiler decide what to build.
  (whitequark)

- #143-171: migration of Mantis bugtracker issues to the github issue tracker
  (Damien Doligez)

- #172-175, #177: setting up Continuous Infrastructure (CI) testsuite checks
  (whitequark)

- #202: install license, changes and readme in opam's docdir for `odig`
  (Gabriel Scherer, request and review by Daniel Bünzli)

* #240: new heuristic for handling the OCAMLLIB environment variable.
  `ocamlbuild -where` will ignore OCAMLLIB completely if OCAMLBUILD_LIBDIR is
  not a lexical subdirectory of OCAML_LIBDIR (i.e. an opam installation).
  Otherwise, it now returns $OCAMLLIB with the difference between
  OCAMLBUILD_LIBDIR and OCAML_LIBDIR appended (i.e. for a normal findlib
  installation, it now returns $OCAMLLIB/site-lib/ocamlbuild)
  (David Allsopp, review by Gabriel Schere)

- "noautolink" tag for ocaml{c,opt}
  (Gabriel Scherer)

0.10.{0,1} (Dec 2016):
----------------------

These releases were never widely distributed, because of
a quickly-caught regression due to the change of .cmxs compilation
behavior (#132), fixed with the help Daniel Bünzli, Jérémie Dimino
and, in particular, whitequark.

0.9.3 (6 Oct 2016):
-------------------

OCamlbuild 0.9.3 introduces several features contributed or requested
by our users. See the detailed changelog below.

- #39: new ".o -> .clib" rule to build libraries out of single C stubs
  (Gabriel Scherer, request by whitequark)

- #78: Integrate the in-progress OCamlbuild manual, previously located at
    https://github.com/gasche/manual-ocamlbuild
  into the ocamlbuild repository, in the manual/ subdirectory.
  The most current version of the manual can thus be accessed at
    https://github.com/ocaml/ocamlbuild/tree/master/manual/manual.adoc
  (Gabriel Scherer)

- #93: added "noassert" and "unsafe" flag for corresponding ocaml{c,opt} options
  (François Pottier)

- #94: added "cc", "cclib", and "ccopt" flags which correspond to the
  respective ocaml{c,opt} options
  (Rudi Grinberg)

- PR#7295: add infer_interface support for various type-checking-time flags:
    color, keep_docs, no_alias_deps, nolabels, nopervasives, open,
    strict_formats, strict_sequence, warn, warn_error
  (Gabriel Scherer, report by Knuth Posern)

0.9.2 (1 May 2016):
-------------------

OCamlbuild 0.9.2 is a release to support OCaml 4.03. Martin Neuhäußer
contributed new flags for flambda-specific optimization options. We
also extend the scope of the flags -opaque and -for-pack, to align
with 4.03 best practices. Note that OCamlbuild should still work
correctly under older OCaml releases.

- #67: Add support for flambda's optimization parameters
  The flags are named according to the flambda options with two exceptions:
    optimization_rounds(int) for -rounds <int>
    optimize({2,3,classic}) for -O{2,3,classic}
  (Martin Neuhäußer)
- #70 (partial): fix hygiene complains about the build directory under
  Windows
  (Andreas Hauptmann, Gabriel Scherer)
- #73: also pass predicates(foo) to ocamldep
  (Jérémie Dimino)
- extend the scope of the -opaque flag under 4.03
  (Gabriel Scherer)
- extend the scope of the -for-pack flag to ocamlc,
  as recommend by OCaml compiler maintainers in
  [PR#5996](http://caml.inria.fr/mantis/view.php?id=5995#c13339)
  (Gabriel Scherer)

0.9.1 (29 Feb 2016):
--------------------

OCamlbuild 0.9.1 synchronizes the behavior of ocamlbuild with
changes in the OCaml compiler that are present in the 4.03 release
branch; this version that should be usable for testing packages using
4.03 before its release.

- Do not exclude files whose name starts with '_' from the source tree
  (Gabriel Scherer, report by Daniel Bünzli on the caml-list)
- #44: When ocamlbuild discovers a cycle in the dependencies, the
   displayed problematic path is now refined to the actual cycle
  (François Bobot, review by Armaël Géneau)
- #51: synchronize handling of -o flag for C files with upstream OCaml
  (whitequark)

OCamlbuild 0.9.0 (19 Jan 2016):
-------------------------------

OCamlbuild 0.9.0 is an experimental release designed to help testing
OCaml software in preparation for the 4.03 release -- the first one to
not include ocamlbuild.

- MPR#6794, MPR#6809: pass package-specific include flags when building C files
  (Jérémie Dimino, request by whitequark)
- OGPR#208: add "asm" tag to ocamlbuild to enable flag -S
  (ygrek)
- Changed OCamlbuild's license to LGPLv2 with static linking exception.
- OGPR#219: speedup target-already-built builds
  (ygrek)
- MPR#6605, OGPR#117: un-hardcode camlp4 library path
  (Vincent Laporte and Gabriel Scherer)
- #20: add -dot and -man-related ocamldoc options
  (Gabriel Scherer)
- #10, PR#21: Fix manpages generation: properly pass the "manpage" tag.
  (Armaël Guéneau)
- #20: add -documentation support for parametrized flag
  (Gabriel Scherer, review by Rudi Grinberg and François Bobot)
- #10, #35: Use extension-independent tags for ocamldoc rules.
  (Armaël Guéneau)


OCamlbuild was included in the OCaml compiler distribution between
OCaml 3.10.0 (May 2007) and OCaml 4.02.3 (July 2015). The changes
below correspond to the subset of ocamlbuild-related changes in those
OCaml releases.
-------------------------------------------------------------------------


OCaml 4.02.3 (27 Jul 2015):
---------------------------

OCaml 4.02.2 (17 Jun 2015):
---------------------------

OCamlbuild:
- MPR#6237: explicit "infer" tag to control or disable menhir --infer
  (Hugo Heuzard)
- MPR#6625: pass -linkpkg to files built with -output-obj.
  (whitequark)
- MPR#6702: explicit "linkpkg" and "dontlink(foo)" flags
  (whitequark, Gabriel Scherer)
- MPR#6712: Ignore common VCS directories
  (whitequark)
- MPR#6720: pass -g to C compilers when tag 'debug' is set
  (whitequark, Gabriel Scherer)
- MPR#6733: add .byte.so and .native.so targets to pass
  -output-obj -cclib -shared.
  (whitequark)
- MPR#6733: "runtime_variant(X)" to pass -runtime-variant X option.
  (whitequark)
- MPR#6774: new menhir-specific flags "only_tokens" and "external_tokens(Foo)"
  (François Pottier)

Bug fixes:
- MPR#6626: ocamlbuild on cygwin cannot find ocamlfind
  (Gergely Szilvasy)
- MPR#6640: ocamlbuild: wrong "unused tag" warning on "precious"
  (report by user 'william')
- MPR#6652: ocamlbuild -clean does not print a newline after output
  (Damien Doligez, report by Andi McClure)
- MPR#6793: ocamlbuild passes nonsensical "-ocamlc ..." commands to menhir
  (Gabriel Scherer, report by Damien Doligez)
- MPR#6893: ocamlbuild:  "tag not used" warning when using (p)dep
  (Gabriel Scherer, report by Christiano Haesbaert)

OCaml 4.02.1 (14 Oct 2014):
---------------------------

Bug Fixes:
- MPR#6599: ocamlbuild: add -bin-annot when using -pack
  (Christopher Zimmermann)
- ocamlbuild: add an -ocamlmklib option to change the ocamlmklib command
  (Jérôme Vouillon)

OCaml 4.02.0 (29 Aug 2014):
---------------------------

Bug fixes:
- MPR#5406 ocamlbuild: "tag 'package' does not expect a parameter"
  (Gabriel Scherer)
- MPR#6184: ocamlbuild: `ocamlfind ocamldep` does not support -predicate
  (Jacques-Pascal Deplaix)
- MPR#6300: ocamlbuild -use-ocamlfind conflicts with -ocamlc
  (Gabriel Scherer)
- MPR#6482: ocamlbuild fails when _tags file in unhygienic directory
  (Gabriel Scherer)
- MPR#6502: ocamlbuild spurious warning on "use_menhir" tag
  (Xavier Leroy)

Features wishes:
- MPR#5201: ocamlbuild: add --norc to the bash invocation to help performances
  (Daniel Weil)
- MPR#6087: ocamlbuild, improve _tags parsing of escaped newlines
  (Gabriel Scherer, request by Daniel Bünzli)
- MPR#6109: Typos in ocamlbuild error messages
  (Gabriel Kerneis)
- MPR#6166: document -ocamldoc option of ocamlbuild
  (Xavier Clerc)
- MPR#6187: ocamlbuild: warn when using -plugin-tag(s) without myocamlbuild.ml
  (Jacques-Pascal Deplaix)
- MPR#6495: ocamlbuild tags 'safe_string', 'unsafe_string'
  (Anil Madhavapeddy)
- make ocamldebug -I auto-detection work with ocamlbuild
  (Josh Watzman)

OCaml 4.01.0 (12 Sep 2013):
---------------------------

Bug fixes:
- MPR#4469: emacs mode: caml-set-compile-command is annoying with ocamlbuild
  (Daniel Bünzli)
- MPR#4502: ocamlbuild now reliably excludes the build-dir from hygiene check
  (Gabriel Scherer, report by Romain Bardou)
- MPR#5102: ocamlbuild fails when using an unbound variable in rule dependency
  (Xavier Clerc, report by Daniel Bünzli)
- MPR#5212: Improve ocamlbuild error messages of _tags parser
  (ygrek)
- MPR#5300: ocamlbuild: verbose parameter should implicitly set classic display
  (Xavier Clerc, report by Robert Jakob)
- MPR#5468: ocamlbuild should preserve order of parametric tags
  (Wojciech Meyer, report by Dario Texeira)
- MPR#5763: ocamlbuild does not give correct flags when running menhir
  (Gabriel Scherer, reported by Philippe Veber)
- MPR#5891: ocamlbuild: support rectypes tag for mlpack
  (Khoo Yit Phang)
- MPR#6058: 'ocamlbuild -use-ocamlfind -tag thread -package threads t.cma' fails
  (Gabriel Scherer, report by Hezekiah M. Carty)
- MPR#6109: Typos in ocamlbuild error messages
  (Gabriel Kerneis)

Feature wishes:
- MPR#5243: improve the ocamlbuild API documentation in signatures.mli
  (Christophe Troestler)
- MPR#6059: add -output-obj rules for ocamlbuild
  (Anil Madhavapeddy)
- MPR#6060: ocamlbuild tags 'principal', 'strict_sequence' and 'short_paths'
  (Anil Madhavapeddy)
- ocamlbuild tag 'no_alias_deps'
  (Daniel Bünzli)

Tools:
- OCamlbuild now features a bin_annot tag to generate .cmt files.
  (Jonathan Protzenko)
- OCamlbuild now features a strict_sequence tag to trigger the
  strict-sequence option.
  (Jonathan Protzenko)
- OCamlbuild now picks the non-core tools like ocamlfind and menhir from PATH
  (Wojciech Meyer)

OCaml 4.00.1 (5 Oct 2012):
--------------------------

Bug fixes:
- MPR#5468: ocamlbuild should preserve order of parametric tags


OCaml 4.00.0 (26 Jul 2012):
---------------------------

Bug Fixes:
- MPR#5305: prevent ocamlbuild from complaining about links to _build/
- MPR#5356: ocamlbuild handling of 'predicates' for ocamlfind
- MPR#5435: ocamlbuild does not find .opt executables on Windows
- MPR#5503: error when ocamlbuild is passed an absolute path as build directory
- MPR#5531: Allow ocamlbuild to add ocamldoc flags through -docflag
- MPR#5604: fix permissions of files created by ocamlbuild itself
- MPR#5616: move ocamlbuild documentation to the reference manual
- MPR#5655: ocamlbuild doesn't pass cflags when building C stubs


OCaml 3.12.1 (4 Jul 2011):
--------------------------

Bug fixes:
- MPR#4380: ocamlbuild should not use tput on windows
- MPR#4552: ocamlbuild does not create symlinks when using '.itarget' file
- MPR#4967: ocamlbuild passes wrong switches to ocamldep through menhir
- MPR#5039: ocamlbuild should use '-linkpkg' only when linking programs
- MPR#5095: ocamlbuild ignores some tags when building bytecode objects
- MPR#5100: ocamlbuild always rebuilds a 'cmxs' file
- MPR#5103: build and install objinfo when building with ocamlbuild
- MPR#5165: ocamlbuild does not pass '-thread' option to ocamlfind
- MPR#5213: ocamlbuild should pass '-rectypes' to ocamldoc when needed

Feature wishes:
- MPR#5065: added '-ocamldoc' option to ocamlbuild
- MPR#5139: added possibility to add options to ocamlbuild
- ocamlbuild: allow dependency on file "_oasis"

Other changes:
- Changed default minor heap size from 32k to 256k words.
- Added new operation 'compare_ext' to custom blocks, called when
  comparing a custom block value with an unboxed integer.


Objective Caml 3.12.0 (2 Aug 2010):
-----------------------------------

Ocamlbuild:
- Add support for native dynlink.

All tools:
- MPR#4857: add a -vnum option to display the version number and nothing else

Objective Caml 3.11.2 (20 Jan 2010):
------------------------------------

Bug fixes:
- MPR#4421: ocamlbuild uses wrong compiler for C files
- MPR#4710, MPR#4720: ocamlbuild does not use properly configuration information
- MPR#4856: ocamlbuild uses ocamlrun to execute a native plugin
- MPR#4873: ocamlbuild ignores "thread" tag when building a custom toplevel
- MPR#4890: ocamlbuild tries to use native plugin on bytecode-only arch
- MPR#4896: ocamlbuild should always pass -I to tools for external libraries
- MPR#4922: ocamlbuild recompiles too many files
- Various build problems with ocamlbuild under Windows with msvc

Feature wishes:
- MPR#4723: "clear_rules" function to empty the set of ocamlbuild rules

Objective Caml 3.11.1 (12 Jun 2009):
------------------------------------

- ocamlbuild: incorrectly using the compile-time value of $OCAMLLIB


Objective Caml 3.11.0 (03 Dec 2008):
------------------------------------

Objective Caml 3.10.2 (29 Feb 2008):
------------------------------------

Objective Caml 3.10.1 (11 Jan 2008):
------------------------------------

- MPR#4286 ocamlbuild: cannot compile under AIX and SunOS
- MPR#4304 ocamlbuild: handle -I correctly
- MPR#4313 ocamlbuild: -log and missing directories
- MPR#4327 ocamlbuild: make emacs look for .annot in _build directory
- MPR#4378 ocamlbuild: typo in plugin.ml
- MPR#4379 ocamlbuild: problem with plugins under Windows
- MPR#4387 ocamlbuild: build directory not used properly
- MPR#4410 ocamlbuild: problem with plugin and -build


Objective Caml 3.10.0 (18 May 2007):
------------------------------------

New tools:
- ocamlbuild: compilation manager for OCaml applications and libraries.
  See draft documentation at http://gallium.inria.fr/~pouillar/


The content below corresponds to the old Changelog, before ocamlbuild was
included in the OCaml distribution. The version control history of those changes
is unfortunately lost, but the log below is kept for historical purposes.

(The use of a "* " bullet below does not indicate
a compatibility-breaking change, it was just the standard format for
this Changelog.)
-------------------------------------------------------------------------


2007-03-22  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Allow to receive the build function in {custom,file}_rule.

	* rule.ml,
	* rule.mli,
	* signatures.mli: Ditto.
	* ocaml_specific.ml: Update.

	* command.ml,
	* command.mli: Add a function to get string and tags.

	* ocamldep.ml,
	* ocamldep.mli: Make tag based dependencies.

	* ocaml_compiler.ml: Do the pack as one command to be sure running the
	remove.

	* test/test8/myocamlbuild.ml,
	* test/good-output: Update.

2007-03-21  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix the previous fix.

	* ocaml_compiler.ml: Remove the empty file.
	* test/good-output: Update.

2007-03-21  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	[native pack] use touch instead of mv and cmp.

	* ocaml_compiler.ml: This version is will force ocamlopt to do the
	right thing.
	* test/good-output: Update.

2007-03-20  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Two bugs, two fixes.

	* ocaml_tools.ml: Add pp flags to interface inference.
	* ocaml_specific.ml: Add a rule for packing with a cmi that already
	exists.
	* test/good-output: Update.
	* Makefile: Change the default location.

2007-03-13  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix a bug in expand_module.

	* ocaml_utils.ml: Handle correctly pathnames instead of just basenames.

2007-03-13  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use sys_file_exists instead of Sys.file_exists.

	* my_unix.ml: Since Sys.file_exists don't treat well captial letters.
	* my_std.ml: Fix a bug.
	* pathname.ml: Here is a an exception to the previous rule so, put a
	comment.

2007-03-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix the List.union order.

	* my_std.ml: Fix and improve List.union.
	* pathname.ml: Use it and fix merge_include_dirs.
	* test/good-output: Update since the union order was wrong.

2007-03-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Re fix menhir and include dirs.

	* ocaml_tools.ml: Specifiy ocamlc and -I with --ocamlc.

2007-03-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix a bug: Add include directories to menhir.

	* ocaml_tools.ml: Ditto.
	* my_std.ml,
	* signatures.mli: Specification typo.

2007-03-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Handle specially archives files during an import.

	* shell.ml: Ditto.

2007-03-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use cp -p in copy_rule, and fix some typos in the manual.

	* manual/manual.tex: Typos.
	* rule.ml,
	* rule.mli: Add cp_p and use it for copy_rule.

2007-03-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Relaxe executor on exception condition.

	Patch from Berke.
	* executor.ml: Ignore Not_found and exceptional conditions.
	* TODO: Add an entry (needs to better understand POSIX).

2007-03-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Split where in bindir and libdir.

	* ocamlbuild_where.mli: Ditto.
	* ocaml_specific.ml: Update.
	* options.ml: Use bindir.
	* plugin.ml: Update.
	* start.sh: Update.

2007-03-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Virtual solvers for ocaml tools.

	* options.ml: Setup virtual command solver for commands like ocamlc,
	ocamlopt... This allow to have full pathname but let also failback to
	classic search path.
	* ocaml_compiler.ml: Add a tag to differentiate dependencies at link
	time.
	* ocamlbuild-presentation.rslide: Add an item as suggested by a friend.

2007-03-02  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Same thing for the second link function.

	* ocaml_compiler.ml: Ignore stdlib.

2007-03-02  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Move the stdlib hack.

	* ocaml_compiler.ml: Should works better.

2007-03-02  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Little fix about library linking.

	* ocaml_utils.ml: Avoid linking twice in some cases.
	* ocaml_compiler.ml: Handle specially the OCaml stdlib.

2007-03-01  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Remove a rec.

	* glob.ml: Parse is not rec.

2007-03-01  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	true: traverse and FAQ.

	* main.ml: Move the inital config upper to be loaded before the others
	and hygiene.
	* FAQ: New.

2007-02-28  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Improve the glob dir handling.

	* glob.ml: Extend the ast instead of parsing an extended string.

2007-02-28  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Ensure that the whole boolean expression is only valid in the directory.

	* glob.ml: Ditto.

2007-02-28  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Put -g on link only for programs.

	* ocaml_specific.ml: Ditto.

2007-02-26  Berke Durak  <berke.durak@inria.fr>

	Added disclaimer to default rules table.

	* manual/manual.tex: .

2007-02-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add the -documentation option.

	* main.ml: Implement it.
	* flags.ml,
	* flags.mli: Add get_flags.
	* man/ocamlbuild.1: Update.
	* signatures.mli,
	* options.ml: Add show_documention.
	* rule.ml,
	* rule.mli: Add pretty_print.

2007-02-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add the -dont-catch-errors option.

	* main.ml: Implement it.
	* options.ml: Parse it.
	* signatures.mli: Declare it.
	* _tags: Use debug.

2007-02-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Deal with the camlp4 library name.

	* ocaml_specific.ml: Introduce use_old_camlp4 for the old one.

2007-02-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Minor `ocaml_lib' improvments.

	* signatures.mli: Declare and doc it.
	* ocamlbuild_plugin.ml: Export it.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Add some dirs to std libs.
	Move the ocaml_lib implem to ...
	* ocaml_utils.mli,
	* ocaml_utils.ml: ... here. Improve it by adding the ~tag_name option.
	* ocaml_compiler.ml: The hash now contains the tag.
	* _tags: *.top use unix too.

2007-02-22  Berke Durak  <berke.durak@inria.fr>

	Should use Log.eprintf for show_tags.

	* main.ml: .

2007-02-22  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	( & ), sanitize.sh, and the manual...

	* signatures.mli: Add ( & ).

	* hygiene.ml: Also clean the sanitize.sh script itself.
	* my_std.ml: Add ( & ).
	* manual/manual.tex: Some fixes and a section that I wrote but that's
	needs reflexion about what solution we want to support.

2007-02-22  Berke Durak  <berke.durak@inria.fr>

	Implemented fixes suggested  by Commissar Leroy.

	* fda.ml: .
	* hygiene.ml: .
	* hygiene.mli: .
	* man/ocamlbuild.1: .
	* manual/manual.tex: .
	* ocaml_specific.ml: .
	* options.ml: .
	* signatures.mli: .

2007-02-20  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add -show-tags.

	* hygiene.ml: Rewrap the error message.
	* main.ml: Do the show_tags job. Move one hook.
	* ocaml_specific.ml: Add -g also in native code.
	* options.ml,
	* signatures.mli: Add the -show-tags option.
	* tags.ml: Fix print.
	* TODO: Add a done entry.

2007-02-16  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Relaxing plural options to spaces.

	* lexers.mli,
	* lexers.mll: Add comma_or_blank_sep_strings.
	* options.ml: Use it.

2007-02-16  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a plugin example.

	* manual/myocamlbuild.ml: New.

2007-02-16  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Typos.

	* ocamlbuild-presentation.rslide: .
	* manual/trace.out: .

2007-02-16  Berke Durak  <berke.durak@inria.fr>

	Fixed a few typos and sentences.

	* ocamlbuild-presentation.rslide: .

2007-02-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Little changes...

	* ocamlbuild-presentation.rslide: .

2007-02-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Slides almost done...

	* manual/trace.out: New. Of course you needed it.
	* ocamlbuild-presentation.rslide: Ditto.

2007-02-15  Berke Durak  <berke.durak@inria.fr>

	Improving slides.

	* ocamlbuild-presentation.rslide: .

2007-02-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Slides...

	* ocamlbuild-presentation.rslide: .

2007-02-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Working on slides...

	* ocamlbuild-presentation.rslide: .

2007-02-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	More slides...

	* ocamlbuild-presentation.rslide: .

2007-02-12  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Keep include dirs uniq.

	* ocaml_compiler.ml: Ditto.

2007-02-12  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Keep include dirs uniq.

	* ocaml_compiler.ml: Ditto.

2007-02-12  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add ocamlmktop support.

	* ocamlbuild.mltop: New.
	* main.ml: Handle .top as binaries.
	* ocaml_compiler.ml,
	* ocaml_specific.ml,
	* ocaml_compiler.mli: Add mktop functions and rules.
	* options.ml,
	* signatures.mli: Add an ocamlmktop option.

2007-02-09  Berke Durak  <berke.durak@inria.fr>

	Was attempting to link with threads.cmxa in byte mode.

	* ocaml_specific.ml: .

2007-02-09  Berke Durak  <berke.durak@inria.fr>

	Talking of sterilize.sh.

	* manual/manual.tex: .

2007-02-09  Berke Durak  <berke.durak@inria.fr>

	Rewrote some parts, filled the abstract, moved rantings to the appendix.

	* manual/manual.tex: .
	* .vcs: .

2007-02-08  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add manual/manual.hva.

	* manual/manual.hva: New.

2007-02-08  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Changes done with Luc.

	* manual/manual.tex: .
	* manual/Makefile: .

2007-02-08  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix a bug found by Luc in hevea.

	* ocaml_utils.ml,
	* ocaml_utils.mli: Change keep_this_module into module_importance to
	have a finer grain.
	* ocaml_compiler.ml: Update to importance.
	* ocamldep.ml,
	* ocamldep.mli: We now try to also build stdlib modules but don't fail
	if they don't exists.
	* test/test5/stack.ml: New.
	* test/test5/a.ml: A test case (from hevea).
	* test/good-output: Update.

2007-02-08  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Ocamldoc, extension:* tag ...

	* ocaml_tools.mli,
	* ocaml_tools.ml: The ocamldoc support now takes into account two modes
	*d and -o.
	* ocaml_specific.ml: Two more rules and many flags for some of the
	standard behaviors.
	* signatures.mli: Some comments.
	* tools.ml: Add the extension:* tag.
	* TODO: Update.

2007-02-08  Berke Durak  <berke.durak@inria.fr>

	Hygiene generates sterilize.sh.

	* fda.ml: .
	* fda.mli: .
	* hygiene.ml: .
	* hygiene.mli: .
	* main.ml: .
	* options.ml: .
	* signatures.mli: .

2007-02-07  Berke Durak  <berke.durak@inria.fr>

	Updated section on ocamldoc.

	* manual/manual.tex: .

2007-02-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Some minor manual and slides changes.

	* ocamlbuild-presentation.rslide,
	* manual/manual.tex: Ditto.

2007-02-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Make links for the documentation.

	* main.ml: Handle doc.
	* test/good-output: Update.

2007-02-07  Berke Durak  <berke.durak@inria.fr>

	Added manual section for ocamldoc.

	* manual/manual.tex: .
	* manual/Makefile: .

2007-02-07  Berke Durak  <berke.durak@inria.fr>

	Fixed truncated display problem.

	* executor.ml: .
	* .vcs: .

2007-02-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix the bootstrap.

	* start.sh: Swap lines.
	* Makefile: -verbose.

2007-02-07  Berke Durak  <berke.durak@inria.fr>

	TODO + Executor.

	* manual/manual.tex: .
	* TODO: .

2007-02-06  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Make -a more static, to avoid some complications.

	* ocaml_utils.ml,
	* ocaml_compiler.ml,
	* ocaml_compiler.ml,
	* ocaml_specific.ml: Ditto.

2007-02-06  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	A fix.

	* ocaml_compiler.ml: Don't use these refs too early.
	* ocamlbuild-presentation.rslide: .

2007-02-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Plugin signature.

	Somewhat a big patch, but that's just moving things around.

	* signatures.mli: Add TAGS, OUTCOME, MISC, OPTIONS, ARCH and PLUGIN.
	* ocamlbuild_plugin.mli: New.
	* ocamlbuild_plugin.ml: Conform to the sig.

	* command.ml,
	* command.mli: Add a tags type.
	* main.ml: Quit early if no targets.
	* my_std.ml,
	* my_std.mli: More things are in signatures.
	* resource.ml,
	* resource.mli: Remove the type t that was an Pathname.t alias.
	* options.ml,
	* options.mli: Add ext_lib, ext_obj, ext_dll.
	* ocaml_compiler.ml: Update.
	* ocaml_tools.ml: Update to Outcome.
	* ocaml_specific.ml: Update.
	* ocaml_utils.mli: Remove *ext_*.
	* ocaml_arch.mli: Now in signatures.
	* pathname.ml: Add readdir.
	* slurp.ml: open Outcome.
	* rule.ml,
	* rule.mli,
	* solver.ml,
	* solver.mli: Update to Resource.t and Outcome.t.
	* tags.mli: Now in Signatures.
	* test/good-output: Update.
	* test/test8/test.sh,
	* test/test3/test.sh,
	* test/test4/test.sh,
	* test/test5/test.sh,
	* test/test6/test.sh,
	* test/test7/test.sh,
	* test/test2/test.sh: Update to -verbose 0.

2007-02-05  Berke Durak  <berke.durak@inria.fr>

	Continuing doc.

	* manual/manual.tex: .
	* .: .

2007-02-05  Berke Durak  <berke.durak@inria.fr>

	Described display line.

	* manual/manual.tex: .

2007-02-05  Berke Durak  <berke.durak@inria.fr>

	Renamed -debug as -verbose.  Authorized spaces etc. in flags.  Continuing documentation.

	* lexers.mll: .
	* manual/manual.tex: .
	* options.ml: .

2007-02-05  Berke Durak  <berke.durak@inria.fr>

	Added man page.

	* main.ml: .
	* man: New.
	* man/ocamlbuild.1: New.
	* manual/manual.tex: .
	* TODO: .

2007-02-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Update start.sh.

	* start.sh: Update.

2007-02-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Typo s/Orignal/Original/g.

2007-02-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Make signatures and std_signatures mliS.

	* signatures.ml: Remove.
	* std_signatures.ml: Remove.
	* signatures.mli: New.
	* std_signatures.mli: New.
	* Makefile: Update.
	* lexers.mll: Allow any prefix: for tags.

2007-02-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	The beginning of a presentation.

	* ocamlbuild-presentation.rslide: New.

2007-02-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Also add who is the original author of the file.

	* ocamlbuild.ml,
	* ocamlbuild_plugin.ml,
	* ocamlbuildlight.ml,
	* ocamlbuild_where.mli,
	* ocamlbuild.mli,
	* ocamlbuildlight.mli,
	* bool.ml,
	* bool.mli,
	* configuration.ml,
	* configuration.mli,
	* command.ml,
	* command.mli,
	* display.ml,
	* discard_printf.ml,
	* display.mli,
	* discard_printf.mli,
	* executor.ml,
	* executor.mli,
	* flags.ml,
	* fda.ml,
	* flags.mli,
	* fda.mli,
	* glob.ml,
	* glob_ast.ml,
	* glob_ast.mli,
	* glob.mli,
	* glob_lexer.mli,
	* glob_lexer.mll,
	* hygiene.ml,
	* hooks.ml,
	* hygiene.mli,
	* hooks.mli,
	* log.ml,
	* lexers.mli,
	* log.mli,
	* lexers.mll,
	* my_unix_with_unix.ml,
	* main.ml,
	* my_unix.ml,
	* my_std.ml,
	* my_unix_with_unix.mli,
	* my_std.mli,
	* my_unix.mli,
	* main.mli,
	* ocaml_utils.ml,
	* ocaml_tools.ml,
	* ocaml_arch.ml,
	* ocaml_specific.ml,
	* ocaml_compiler.ml,
	* ocaml_dependencies.ml,
	* ocaml_utils.mli,
	* ocaml_specific.mli,
	* ocaml_dependencies.mli,
	* ocaml_tools.mli,
	* ocaml_arch.mli,
	* ocaml_compiler.mli,
	* options.ml,
	* options.mli,
	* ocamldep.ml,
	* ocamldep.mli,
	* plugin.ml,
	* ppcache.ml,
	* pathname.ml,
	* ppcache.mli,
	* plugin.mli,
	* pathname.mli,
	* resource.ml,
	* resource.mli,
	* rule.ml,
	* rule.mli,
	* report.ml,
	* report.mli,
	* signatures.ml,
	* slurp.ml,
	* std_signatures.ml,
	* solver.ml,
	* shell.ml,
	* shell.mli,
	* slurp.mli,
	* solver.mli,
	* tags.ml,
	* tools.ml,
	* tags.mli,
	* tools.mli: Ditto.

2007-02-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add the header license.

	* ocamlbuildlight.ml,
	* ocamlbuild.ml,
	* ocamlbuild_plugin.ml,
	* ocamlbuild_where.mli,
	* ocamlbuild.mli,
	* ocamlbuildlight.mli,
	* bool.ml,
	* bool.mli,
	* configuration.ml,
	* configuration.mli,
	* command.ml,
	* command.mli,
	* discard_printf.ml,
	* display.ml,
	* display.mli,
	* discard_printf.mli,
	* executor.ml,
	* executor.mli,
	* fda.ml,
	* flags.ml,
	* flags.mli,
	* fda.mli,
	* glob.ml,
	* glob_ast.ml,
	* glob.mli,
	* glob_ast.mli,
	* glob_lexer.mli,
	* glob_lexer.mll,
	* hygiene.ml,
	* hooks.ml,
	* hygiene.mli,
	* hooks.mli,
	* log.ml,
	* lexers.mli,
	* log.mli,
	* lexers.mll,
	* my_unix.ml,
	* main.ml,
	* my_std.ml,
	* my_unix_with_unix.ml,
	* misc/opentracer.ml,
	* my_std.mli,
	* main.mli,
	* my_unix.mli,
	* my_unix_with_unix.mli,
	* ocaml_arch.ml,
	* ocaml_compiler.ml,
	* ocaml_specific.ml,
	* ocaml_tools.ml,
	* ocaml_utils.ml,
	* ocaml_dependencies.ml,
	* ocaml_utils.mli,
	* ocaml_tools.mli,
	* ocaml_dependencies.mli,
	* ocaml_compiler.mli,
	* ocaml_specific.mli,
	* ocaml_arch.mli,
	* options.ml,
	* options.mli,
	* ocamldep.ml,
	* ocamldep.mli,
	* plugin.ml,
	* pathname.ml,
	* ppcache.ml,
	* plugin.mli,
	* ppcache.mli,
	* pathname.mli,
	* resource.ml,
	* resource.mli,
	* rule.ml,
	* rule.mli,
	* report.ml,
	* report.mli,
	* slurp.ml,
	* std_signatures.ml,
	* signatures.ml,
	* solver.ml,
	* shell.ml,
	* shell.mli,
	* slurp.mli,
	* solver.mli,
	* tools.ml,
	* tags.ml,
	* tags.mli,
	* tools.mli: Ditto.

2007-02-03  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix a bug in copy_file.

	* my_std.ml: Also use the binary mode for the output channel.

2007-02-03  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add nopervasives, and nolabels.

	* ocaml_specific.ml: Ditto.

2007-02-03  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Windows cannot use executor.

	* shell.ml: As in command.ml use executor only in non-windows and
	non-degraded mode.
	* rule.ml: Update two error messages.

2007-02-02  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Some minor things for the ocaml myocamlbuild for instance.

	* configuration.ml,
	* configuration.mli: Add has_tag.
	* my_std.ml,
	* my_std.mli: Add getenv and copy_chan.
	* ocaml_utils.ml,
	* ocaml_utils.mli: Move some commands to rule.
	* ocaml_specific.ml: Improve the menhir switching.
	* options.ml,
	* options.mli: Add -use-menhir and -menhir options.
	* rule.ml,
	* rule.mli: Add copy_rule and move some commands from ocaml_utils.
	* signatures.ml: .

2007-02-01  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Move main sigs in signatures.ml and std_signatures.ml.

	* ocamlbuild_pack.mlpack: .
	* ocamlbuildlib.mllib: .
	* ocamlbuildlightlib.mllib: .
	* ocamlbuild.odocl: .
	* command.mli: .
	* glob.mli: .
	* log.mli: .
	* my_unix_with_unix.ml: .
	* my_std.ml: .
	* my_std.mli: .
	* ocaml_specific.ml: .
	* pathname.mli: .
	* std_signatures.ml: New.
	* signatures.ml: New.
	* start.sh: .
	* tags.ml: .
	* tags.mli: .
	* test/test5/_tags: .
	* Makefile: .
	* _tags: .

2007-02-01  Berke Durak  <berke.durak@inria.fr>

	Shell.run doesn't use execute_many in degraded mode.

	* shell.ml: .

2007-02-01  Berke Durak  <berke.durak@inria.fr>

	cp, rm -rf and mv-like commands use Executor to better play with display.

	* display.ml: .
	* my_unix.ml: .
	* main.ml: .
	* my_std.ml: .
	* my_unix.mli: .
	* shell.ml: .
	* shell.mli: .
	* start.sh: .
	* _tags: .

2007-02-01  Berke Durak  <berke.durak@inria.fr>

	Systematizing exit codes.

	* executor.ml: .
	* main.ml: .

2007-02-01  Berke Durak  <berke.durak@inria.fr>

	Added automatic file: tag, changed flag syntax.

	* lexers.mli: .
	* lexers.mll: .
	* main.ml: .
	* ocamldep.ml: .
	* ocamldep.mli: .
	* tools.ml: .

2007-01-31  Berke Durak  <berke.durak@inria.fr>

	Cleans up links to the _build directory.

	* main.ml: .
	* options.ml: .
	* options.mli: .
	* pathname.ml: .
	* pathname.mli: .

2007-01-31  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Restore the link to binary targets functionality.

	* main.ml: Make it separate from target running.

2007-01-31  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add an hygiene hook pair.

	* ocamlbuild_plugin.ml,
	* hooks.ml,
	* hooks.mli,
	* main.ml: Ditto.

2007-01-31  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	The Killer feature about a fine grained dependency injection control.

	* rule.ml,
	* rule.mli: Add build_deps_of_tags and call it automatically before
	* ocaml_compiler.ml,
	* ocaml_compiler.mli: Rework tags, to have them when callinng
	build_deps_of_tags.
	executing a command.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Move the exception Exit_build_error to main and
	remove the old dep function.
	* ocamlbuild_plugin.ml: Export some new functions.
	* test/test7/myocamlbuild.ml: Add a dep declaration.
	* test/test7/cool_plugin.ml: New.
	* test/test7/_tags: New.
	* test/good-output: Update.
	* flags.ml,
	* command.ml,
	* command.mli: Rename flags_of_tags as tag_handler.
	* main.ml: Update error handling.
	* TODO: Done.

2007-01-30  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix and improve the new link/deps system.

	* ocaml_dependencies.ml,
	* ocaml_dependencies.mli: Some fixes and improvements.
	* pathname.ml,
	* pathname.mli: Add check_extension.
	* ocaml_compiler.ml,
	* ocaml_compiler.mli: Add support for hidden_packages and update.

2007-01-30  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Reverse the last 2 patches, since there is fact no name clash.

2007-01-30  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Shell -> Oshell second part.

	* ocamlbuild.odocl: Ditto.
	* test/good-output: Update.

2007-01-30  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Rename the Shell module as Oshell to avoid a name clash with labltk.

	* shell.ml: Remove.
	* shell.mli: Remove.
	* oshell.ml: New.
	* oshell.mli: New.
	* ocamlbuild_pack.mlpack,
	* command.ml,
	* display.ml,
	* main.ml,
	* options.ml,
	* ppcache.ml,
	* pathname.ml,
	* plugin.ml,
	* resource.ml,
	* start.sh: Update.

2007-01-30  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix 2 bugs.

	* test/test9/testglob.ml: More tests.
	* glob_lexer.mll: Fix "/**".
	* _tags: Restore my warnings.
	* executor.ml: Use the unused variable.

2007-01-30  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Improve dprintf and update.

	* log.ml, log.mli: dprintf now wraps the message between "@[<2>" and "@]@.".
	* command.ml,
	* display.ml,
	* fda.ml,
	* main.ml,
	* ocaml_dependencies.ml,
	* ocaml_compiler.ml,
	* ocaml_utils.ml,
	* ocamldep.ml,
	* pathname.ml,
	* resource.ml,
	* rule.ml,
	* solver.ml: Update the dprintf usage.

2007-01-30  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add the new dependency linking system (plz test it !).

	* ocamlbuild_pack.mlpack: Add a brand new module.
	* ocaml_dependencies.ml: New.
	* ocaml_dependencies.mli: New.
	* ocaml_compiler.ml,
	* ocaml_compiler.mli: Use this new module.
	* resource.ml,
	* resource.mli: Export a folding function on dependencies.
	* TODO: Add something to do.
	* start.sh: .
	* main.ml: Update.

2007-01-29  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Executor exit codes.

	* executor.ml: Use the standard exit.
	* main.ml: Some exit codes are reserved for Executor.

2007-01-29  Berke Durak  <berke.durak@inria.fr>

	Executor returns finer-grained results.

	* executor.ml: .
	* manual/manual.tex: .

2007-01-29  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Toward a working command execute feature :).

	* executor.ml,
	* executor.mli: FIXME.
	* command.ml,
	* command.mli: Update to the new signature and merge the degraded mode
	to avoid duplication.
	* my_unix.ml,
	* my_unix.mli,
	* ocaml_utils.ml,
	* ocamldep.ml,
	* plugin.ml,
	* resource.ml,
	* rule.ml,
	* solver.ml,
	* test/good-output: Update.

2007-01-29  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Revert almost all of the 2 last patches.

	* command.ml: .
	* command.mli: .
	* executor.ml: .
	* executor.mli: .
	* my_unix.ml: .
	* my_unix.mli: .
	* ocaml_utils.ml: .
	* ocaml_specific.ml: .
	* ocamldep.ml: .
	* plugin.ml: .
	* resource.ml: .
	* rule.ml: .
	* solver.ml: .

2007-01-29  Berke Durak  <berke.durak@inria.fr>

	Fixing before/after thunks.

	* command.ml: .
	* command.mli: .
	* ocaml_utils.ml: .
	* ocamldep.ml: .
	* plugin.ml: .
	* resource.ml: .
	* rule.ml: .
	* solver.ml: .
	* TODO: .

2007-01-29  Berke Durak  <berke.durak@inria.fr>

	Adding before and after handlers to Executor.

	* command.ml: .
	* executor.ml: .
	* executor.mli: .
	* my_unix.ml: .
	* my_unix.mli: .
	* manual/manual.tex: .

2007-01-29  Berke Durak  <berke.durak@inria.fr>

	Fixed multi-dir globbing.

	* glob_lexer.mll: .
	* manual/manual.tex: .

2007-01-29  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add Rule.custom_rule and cleanup the ocamldep meta rule.

	* ocamldep.ml,
	* ocamldep.mli: Make it a meta rule (or a rule generator).
	* rule.ml,
	* rule.mli: Add custom_rule.
	* ocaml_specific.ml: Update to Ocamldep.
	* test/good-output: Minor update.

2007-01-29  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	MakefileS...

	* manual/Makefile: More things to remove (sometimes).
	* Makefile: Use $(BUILDDIR) instead of _build.

2007-01-26  Berke Durak  <berke.durak@inria.fr>

	Documenting glob expressions.

	* glob_lexer.mll: Added negative character classes.
	* manual/manual.tex: .

2007-01-26  Berke Durak  <berke.durak@inria.fr>

	Started documenting glob syntax.

	* manual/manual.tex: .

2007-01-25  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	One other include dir fix.

	* main.ml: Ditto.
	* test/test9/testglob.ml: Add a failing test (request for feature).
	* test/good-output: Update.

2007-01-25  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Include dirs and Backtrace.

	* main.ml: Fix -I, and restore the backtrace.
	* report.ml,
	* report.mli: Fix the backtrace and rename analyze to
	print_backtrace_analyze.

2007-01-25  Berke Durak  <berke.durak@inria.fr>

	Added cross-directory globbing.

	* glob_ast.ml: .
	* glob.ml: .
	* glob_ast.mli: .
	* glob_lexer.mll: .
	* test/test9/testglob.ml: .

2007-01-25  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Inlcude dirs trought tags.

	* main.ml: Ditto.
	* my_unix_with_unix.ml: Imrpove stat errors.
	* my_std.ml,
	* my_std.mli: .
	* pathname.ml: bmla.
	* slurp.ml,
	* slurp.mli: Add force, fix bugs.

2007-01-25  Berke Durak  <berke.durak@inria.fr>

	Fixed double display of error status.

	* command.ml: .
	* display.ml: .
	* display.mli: .
	* log.ml: .
	* log.mli: .
	* main.ml: .
	* my_std.ml: .
	* my_std.mli: .
	* plugin.ml: .

2007-01-25  Berke Durak  <berke.durak@inria.fr>

	Stupid bug.

	* log.ml: .
	* main.ml: .
	* options.ml: .

2007-01-25  Berke Durak  <berke.durak@inria.fr>

	Fixed interface, handling of -- with no argument.

	* ocamlbuild_plugin.mli: Remove.
	* manual/manual.tex: .
	* options.ml: .

2007-01-25  Berke Durak  <berke.durak@inria.fr>

	Updated start.sh.

	* start.sh: .

2007-01-25  Berke Durak  <berke.durak@inria.fr>

	Added .mlis.

	* ocamlbuild_plugin.mli: New.
	* fda.mli: New.
	* main.ml: .
	* ocaml_specific.ml: .
	* plugin.ml: .
	* plugin.mli: New.

2007-01-25  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Cut down ocaml_specific in pieces.

	* ocaml_specific.ml,
	* ocaml_specific.mli: Split.
	* ocamlbuild_plugin.ml: Update.
	* ocamlbuild_pack.mlpack: Add new modules.
	* my_std.ml,
	* my_std.mli: Add good_outcome.
	* ocaml_utils.ml: New.
	* ocaml_tools.ml: New.
	* ocaml_compiler.ml: New.
	* ocaml_utils.mli: New.
	* ocaml_compiler.mli: New.
	* ocaml_tools.mli: New.
	* ocamldep.ml: New.
	* ocamldep.mli: New.
	* start.sh: Update.
	* TODO: Move things done.

2007-01-25  Berke Durak  <berke.durak@inria.fr>

	Fixer return codes and error message flushing issues.

	* display.ml: .
	* log.ml: .
	* log.mli: .
	* main.ml: .
	* report.ml: .
	* report.mli: .

2007-01-25  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a warning.

	* ocaml_specific.ml: In -debug 1 mode there is a now a warning when
	ocamlbuild skip a seliently a module, supposing that's an error of
	ocamldep.

2007-01-24  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	More hooks.

	* ocamlbuild_plugin.ml,
	* hooks.ml,
	* hooks.mli,
	* main.ml: Add {Before,After}_rules.

2007-01-24  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Call these hooks.

	* main.ml: Call these hooks.

2007-01-24  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a first version of dispatch.

	* ocamlbuild_plugin.ml: Export dispatch and the hooks type.
	* ocamlbuild_pack.mlpack: Add Hooks.
	* hooks.ml: New.
	* hooks.mli: New.
	* ocaml_specific.mli: New line.

2007-01-24  Berke Durak  <berke.durak@inria.fr>

	Mini slurp bug.

	* slurp.ml: .
	* TODO: .

2007-01-24  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix few more things.

	* ocamlbuildlight.ml: .
	* ocamlbuild_version.ml: Remove.
	* ocamlbuild.ml: .
	* ocamlbuild_pack.mlpack: .
	* main.ml: .
	* ocaml_specific.ml: .
	* ocaml_specific.mli: .
	* start.sh: .
	* test/test2/toto.ml: .
	* test/good-output: .

2007-01-24  Berke Durak  <berke.durak@inria.fr>

	Read directories before files in Slurp.

	* slurp.ml: .
	* TODO: .

2007-01-24  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix some bugs.

	* ocamlbuild_version.ml: Remove.
	* ocamlbuild.ml,
	* ocamlbuildlight.ml: Main is now in the pack.
	* ocamlbuild_pack.mlpack: more things.
	* ocaml_specific.ml: One fix and one comment.
	* start.sh: Update.

2007-01-24  Berke Durak  <berke.durak@inria.fr>

	Splitting ocaml_specific into multiple files.

	* ocamlbuildlight.ml: .
	* ocamlbuild.ml: .
	* ocamlbuild_version.ml: New.
	* ocamlbuild.mli: .
	* ocamlbuildlight.mli: .
	* ocamlbuild_pack.mlpack: .
	* command.ml: .
	* fda.ml: New.
	* hygiene.ml: .
	* main.ml: New.
	* my_std.ml: .
	* my_std.mli: .
	* main.mli: New.
	* manual/manual.tex: .
	* ocaml_specific.ml: .
	* ocaml_specific.mli: .
	* options.ml: .
	* options.mli: .
	* plugin.ml: New.
	* rule.ml: .
	* report.ml: .
	* tools.ml: New.
	* tools.mli: New.
	* TODO: .
	* _tags: .

2007-01-24  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Minor changes.

	* manual/manual.tex: Typo s/the the/the/g.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Add some function to deal with linking of a
	module list. Add a better lib declaration function.
	* TODO: Update.

2007-01-17  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	A new pathname operator and a bug fix.

	* pathname.ml,
	* pathname.mli: add the ( -.- ) operator to add an extension to a
	pathname.
	* ocaml_specific.ml: Use that new operator.
	* resource.ml: Fix a bug.

2007-01-17  Berke Durak  <berke.durak@inria.fr>

	More examples.

	* examples/example3/epoch.ml: .
	* examples/example3/make.sh: New.
	* manual/manual.tex: .
	* TODO: .

2007-01-17  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Infered mli's, and bug fixes.

	* my_unix.ml: Fix a bug.
	* my_std.mli: Doc.
	* manual/manual.tex: Use \verb.
	* ocaml_arch.ml: Don't always overide the forpack_flags_of_pathname
	function reference.
	* ocaml_arch.mli: Remove the reference.
	* ocaml_specific.ml: Update for forpack and add infered mli's.
	* pathname.ml,
	* pathname.mli: Add is_directory.

2007-01-17  Berke Durak  <berke.durak@inria.fr>

	More examples.

	* examples/example3/epoch.ml: New.
	* examples/example2/hello.ml: .
	* examples/example2/greet.ml: New.
	* examples/example3: New.
	* examples/example2: New.
	* manual/manual.tex: .
	* TODO: .

2007-01-17  Berke Durak  <berke.durak@inria.fr>

	Started examples.

	* examples/example1/hello.ml: New.
	* examples/example1: New.
	* examples: New.
	* manual/manual.tex: .
	* .vcs: .
	* TODO: .

2007-01-17  Berke Durak  <berke.durak@inria.fr>

	Wrote limitations and features.

	* manual/manual.tex: .

2007-01-17  Berke Durak  <berke.durak@inria.fr>

	Wrote motivations.

	* manual/manual.tex: .
	* _tags: .

2007-01-17  Berke Durak  <berke.durak@inria.fr>

	Started manual.

	* manual/Makefile: New.
	* manual/manual.tex: New.
	* manual: New.

2007-01-17  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Bugs, menhir, path variables.

	* display.ml: Fix a bug.
	* glob.mli: Fix a typo.
	* lexers.mli,
	* lexers.mll: Extend ocamldep_output lexer and meta_path lexer.
	* my_std.ml,
	* my_std.mli: Add memo and String.rev.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Better rules for C lib linking and menhir rules.
	* resource.ml,
	* resource.mli: Handle naively some multiple variables.
	* rule.ml,
	* rule.mli: Update.
	* start.sh: Update.

2007-01-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Integrate dprintf to the display.

	* display.ml,
	* display.mli: Add dprintf and log_level.
	* log.ml,
	* log.mli: Add dprintf and level.
	* debug.ml: Remove.
	* debug.mli: Remove.
	* options.ml: Update.
	* command.ml, ocaml_specific.ml, my_std.ml,
	* pathname.ml, ppcache.ml, resource.ml,
	* rule.ml, report.ml, slurp.ml, solver.ml,
	* configuration.ml, tags.ml: Update to Log.
	* ocamlbuild.odocl: Add Log, remove Debug.
	* ocamlbuild_pack.mlpack: Remove Debug.
	* bool.ml: Remove the debug dependency.

2007-01-10  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Execute and windows...

	* command.ml: Test windows here.
	* my_unix_with_unix.ml: Revert a little.

2007-01-10  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Don't use executor on windows.

	* my_unix_with_unix.ml: Since at least set_nonblock does not works on
	windows.

2007-01-10  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add the -no-log option and fix a log bug.

	* log.mli,
	* log.ml: Log is now a lazy to have the good setup order.
	* options.ml: Add the -no-log option.

2007-01-10  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix a bug with quoting of the nil string.

	* shell.ml: Quote the nil string.

2007-01-09  Berke Durak  <berke.durak@inria.fr>

	Documented the interface of the glob module.

	* glob.mli: .

2007-01-09  Berke Durak  <berke.durak@inria.fr>

	Continuing to document interfaces.

	* bool.mli: .
	* debug.mli: .
	* discard_printf.mli: .
	* executor.mli: .
	* hygiene.mli: .
	* my_std.mli: .
	* slurp.mli: .
	* Makefile: .

2007-01-09  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix a bug with directory links to build dir.

	* ocaml_specific.ml,
	* options.ml,
	* options.mli: Keep the Slurp.entry instead of a set.
	* pathname.ml: Clean the entry instead of the set, that more precise.
	* Makefile: Add doc phonny rules.

2007-01-09  Berke Durak  <berke.durak@inria.fr>

	Doc for Configuration.

	* ocamlbuild_plugin.ml: .
	* bool.mli: .
	* configuration.ml: .
	* configuration.mli: .
	* command.mli: .
	* doc: New.
	* glob.ml: .
	* ocaml_specific.ml: .
	* Makefile: .

2007-01-09  Berke Durak  <berke.durak@inria.fr>

	Started documentation.

	* bool.mli: .
	* command.ml: .
	* command.mli: .

2007-01-09  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Export the doc.

	* Makefile: Use a link.
	* _tags: Don't spend times in that dir.

2007-01-09  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Put the log file in the source dir and not when building plugin.

	* log.ml,
	* log.mli: Use an optional.
	* options.ml: Update.
	* pathname.mli: Export in_source_dir.
	* .vcs: Add _log.

2007-01-09  Berke Durak  <berke.durak@inria.fr>

	Added doc target.

	* report.ml: .
	* Makefile: .
	* TODO: .

2007-01-09  Berke Durak  <berke.durak@inria.fr>

	Writes tags to log file.

	* display.ml: .

2007-01-09  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add the Log module.

	* ocamlbuild_pack.mlpack: Add Log.
	* command.ml,
	* command.mli: Use Log.
	* log.ml: New.
	* log.mli: New.
	* options.ml: Use Log.
	* start.sh: Update.

2007-01-09  Berke Durak  <berke.durak@inria.fr>

	Added -log option.

	* command.ml: .
	* command.mli: .
	* display.ml: .
	* display.mli: .
	* executor.mli: .
	* options.ml: .
	* _tags: .

2007-01-09  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Make usable the ocamldoc support.

	* ocaml_specific.ml: Add rules for ocamldoc.
	* ocamlbuild.odocl: New.
	* test/test3/proj.odocl: New.
	* test/good-output: Update.
	* test/test3/test.sh: Add a odoc test.

2007-01-09  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Some cleanups.

	* ocamlbuild_plugin.ml: Add tag_file that simule one simple line in the
	_tags file.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Add ln_s, touch, chmod.
	* pathname.ml,
	* pathname.mli: Remove map_extension*, split_extension* and compiled
	files hack skipping.
	* rule.ml: Improve logging.
	* solver.ml: Use another level.

2007-01-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix a bug with debug rules.

	* ocaml_specific.ml: Move %.cmi from prods to deps.
	* test/good-output: Update.

2007-01-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add debugging rules.
	To get a ocamlbuild with debugging info you can
	call `make debug' that will produce ocamlbuild.d.byte
	and x.d.cmo files.

	* ocaml_specific.ml,
	* ocaml_specific.mli: Add debugging rules, reorder warnings flag to
	have 'A' and 'a' before others.
	* Makefile: Add the debug target.
	* _tags: Cleanup (remove the debug tag that was set by default).

2007-01-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add profiling support directly in rules.
	This means that you can now request for building a target such as
	my_main.p.native or my_lib.p.cmxa, that will create %.p.cmx
	intermediate files that do not interfer with non-profiling ones.

	* ocaml_specific.ml,
	* ocaml_specific.mli: Add rules and functions for native link and
	comilation in profiling mode.
	* Makefile: Add a profile target (require a fixed ocamlopt w.r.t pack).
	* _tags: Take care also of .p.cmx files.
	* glob.ml: IS.print is equivalent to print_is.
	* my_std.ml: Fix a bug.

2007-01-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add some functions...

	* glob.ml: Extract is_suffix and is_prefix.
	* my_std.ml,
	* my_std.mli: Add String.{is_suffix,is_prefix,first_chars,last_chars}
	and List.union.
	* pathname.ml,
	* pathname.mli: Add get_extensions, remove_extensions,
	update_extensions, map_extensions that treat all extensions instead of
	just the last.
	* tags.ml,
	* tags.mli: Add +++ and --- that treat optional tags.

2007-01-06  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Change the default display in degraded mode.

	* command.ml: Ditto.

2007-01-06  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Cleanup Makefile options.

	* Makefile: Ditto.

2007-01-06  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a simple opened files tracer.

	* misc/opentracer.ml: New.
	Just support ktrace for now. A strace one will be appreciated the
	interface to follow is quite simple anyway.
	* misc: New.

2007-01-06  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Handle better commands without Px atom.

	* command.ml: Display the whole command if no Px is found.
	* display.mli: No longer export these strings.

2007-01-06  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Handle myocamlbuild_config.mli.

	* ocaml_specific.ml: Add support for an interface to the config.

2007-01-06  Berke Durak  <berke.durak@inria.fr>

	Improved language of explanations in Report.

	* report.ml: .

2007-01-06  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Factor and fix the plugin building.

	* ocamlbuildlight.mli: New.
	* executor.ml: Call cleanup, add a fixme.
	* ocaml_specific.ml: Factor and fix plugin stuffs.
	* start.sh: Update.
	* Makefile: Update.
	* TODO: Update.
	* _tags: No longer do favors to some modules.

2007-01-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix plugins.

	* ocamlbuildlib.mllib: Add missing modules.
	* ocamlbuildlightlib.mllib: New.
	* Makefile: Update.

2007-01-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Change the my_unix system.

	* ocamlbuildlight.ml: Just call the main.
	* ocamlbuild.ml: Setup my_unix_with_unix.
	* ocamlbuildlib.mllib: Remove executor and exit_codes for the lib.
	* ocamlbuild_pack.mlpack: Remove my_std and my_unix.
	* exit_codes.ml: Remove. Put them directly in executor.
	* executor.ml: Add exitcodes.
	* my_unix.ml: New. Default implem.
	* my_unix_with_unix.ml: Extend the default implem.
	* my_unix_without_unix.ml: Remove.
	* my_unix.mli: Add the implem type and val.
	* my_unix_with_unix.mli: New.
	* ocaml_specific.ml,
	* pathname.ml,
	* slurp.ml,
	* Makefile,
	* command.ml,
	* _tags: Update.

2007-01-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Don't use executor for the myocamlbuild call.

	* ocaml_specific.ml: Use sys_command directly.

2007-01-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix a stupid bug.

	* command.ml: That cause to have reversed sequences.

2007-01-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Some libs and ocamldoc changes.

	* ocaml_specific.ml,
	* ocaml_specific.mli: Improve ocaml_lib_flag, add fews libs.
	Fix ocamldoc support update tags, and use Px only once.

2007-01-05  Berke Durak  <berke.durak@inria.fr>

	Started ocamldoc support.

	* ocaml_specific.ml: .
	* options.ml: .
	* options.mli: .

2007-01-05  Berke Durak  <berke.durak@inria.fr>

	Pretend option didn't work.

	* command.ml: .

2007-01-05  Berke Durak  <berke.durak@inria.fr>

	TODO + typo.

	* options.ml: .
	* TODO: .

2007-01-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Really call executor all time.

	* command.ml,
	* command.mli: Remove normalization.
	And execute_many, it's now execute that do all the job.
	In degraded mode it's execute_degraded.
	* my_unix_without_unix.ml: Update.
	* ocaml_specific.ml,
	* resource.ml,
	* rule.ml,
	* solver.ml: Update to Command.execute type.

2007-01-05  Berke Durak  <berke.durak@inria.fr>

	Isatty detection logic.

	* command.ml: .
	* executor.ml: .
	* my_unix_with_unix.ml: .
	* my_unix_without_unix.ml: .
	* my_unix.mli: .

2007-01-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Always call executor.

	* command.ml: Unless in degraded mode.

2007-01-05  Berke Durak  <berke.durak@inria.fr>

	Removed debugging output, added period argument for ticker.

	* display.ml: .
	* executor.ml: .
	* executor.mli: .
	* my_unix.mli: .

2007-01-05  Berke Durak  <berke.durak@inria.fr>

	Somewhat slow but executor seems to work.

	* executor.ml: .

2007-01-05  Berke Durak  <berke.durak@inria.fr>

	Added an Exit_codes module.  Fixing Executor...

	* ocamlbuild.ml: .
	* ocamlbuildlib.mllib: .
	* executor.ml: .
	* exit_codes.ml: New.
	* solver.ml: .

2007-01-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix the max_jobs argument passing.

	* command.ml: Use an optional argument.

2007-01-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Subway changes...

	* my_unix_without_unix.ml,
	* my_unix_with_unix.ml,
	* my_unix.mli,
	* command.ml: Call the new execute_many.
	* executor.ml,
	* executor.mli: Handle command sequences.

2007-01-04  Berke Durak  <berke.durak@inria.fr>

	Added Display.update.

	* display.ml: .
	* display.mli: .
	* executor.ml: .

2007-01-04  Berke Durak  <berke.durak@inria.fr>

	Added display function, indentation, language.

	* display.ml: .
	* display.mli: .
	* hygiene.ml: .

2007-01-04  Berke Durak  <berke.durak@inria.fr>

	Fixing interface of Executor.

	* executor.ml: .
	* executor.mli: .
	* my_unix_with_unix.ml: .

2007-01-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add attributes to entries. Add the -byte-plugin option.

	* slurp.ml,
	* slurp.mli: Add an attribute field, add map, rename fold_pathnames to
	fold and filter_on_names to filter.
	* hygiene.ml,
	* hygiene.mli: Perform hygiene only on entries with a true attribute.
	* options.ml,
	* options.mli: Add the native_plugin reference and the -byte-plugin
	option.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Exclude files tagged not_hygienic or precious
	from hygiene.

2007-01-04  Berke Durak  <berke.durak@inria.fr>

	Fixed pack issues.

	* ocamlbuild.ml: .
	* executor.ml: .
	* executor.mli: New.
	* _tags: .

2007-01-04  Berke Durak  <berke.durak@inria.fr>

	Started executor module.

	* executor.ml: New.
	* hygiene.ml: .
	* my_unix_with_unix.ml: .

2007-01-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add virtual commands.

	* command.ml,
	* command.mli: Add the V constructor for virtual commands that
	will query a virtual command solver to use the best implementation
	of that virtual command.

2007-01-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Mainly, prepare for parallel display.

	* ocamlbuild_plugin.ml: Export file_rule.
	* command.ml,
	* command.mli: Some cleanup and preparation.
	* lexers.mll: Remove the dirty hack.
	* my_std.ml,
	* my_std.mli: Move search_in_path to Command and add ( @:= ).
	* my_unix_with_unix.ml,
	* my_unix_without_unix.ml,
	* my_unix.mli: Change the execute_many_using_fork type.
	* ocaml_specific.ml: Use the nopervasives tag for
	pervasives dependencies.
	* start.sh: Update.
	* test/test8/myocamlbuild.ml: Update.
	* test/good-output: Update.
	* Makefile: Update.

2007-01-03  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	I don't like microbes.

	* hygiene.ml: Reverse the bool.

2007-01-03  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix the stat problem.

	* ocaml_specific.ml: Use the filtered entry for source_dir_path_set.

2007-01-03  Berke Durak  <berke.durak@inria.fr>

	Hygiene filters cleaned out microbes.

	* hygiene.ml: .
	* hygiene.mli: .
	* ocaml_specific.ml: .
	* ocaml_specific.mli: .
	* slurp.ml: .
	* slurp.mli: .

2007-01-03  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Filename concat cleanup.

	* my_std.ml,
	* my_std.mli: Add filename_concat.
	* glob.ml,
	* hygiene.ml,
	* lexers.mll,
	* pathname.ml,
	* resource.ml,
	* report.ml,
	* solver.ml,
	* slurp.ml,
	* solver.mli:
	Use filename_concat.
	* flags.ml: FIXME.

2007-01-03  Berke Durak  <berke.durak@inria.fr>

	Revert to old.

	* slurp.ml: .

2007-01-03  Berke Durak  <berke.durak@inria.fr>

	Debugging tags for myocamlbuild.ml.

	* ocaml_specific.ml: .
	* slurp.ml: .

2007-01-02  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Another atempt to fix the slurp bug and lazy.

	* slurp.ml: Ditto.

2007-01-02  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix slurp w.r.t lazyness: keep the cwd.

	* slurp.ml: Ditto.

2007-01-02  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	My_unix, slurp in degraded mode, _tags in subdirs, fix the bug with -j...

	* ocamlbuild_version.mli: Remove.
	* ocamlbuild_where.mli: New.
	* display.mli: New.
	* shell.ml: New.
	* shell.mli: New.
	* glob.ml,
	* glob.mli,
	* configuration.ml,
	* lexers.mli,
	* lexers.mll,
	* configuration.mli: Honor _tags files in subdirs.
	* my_unix_with_unix.ml,
	* command.ml,
	* command.mli,
	* resource.ml,
	* resource.mli,
	* solver.ml: Fix the bug with the -j option.
	* slurp.ml,
	* slurp.mli: New degraded mode using the find command.
	Use lazy values to avoid computing useless directories.
	* options.ml,
	* options.mli: Update -version and -where.
	* pathname.ml,
	* pathname.mli: Remove the init section.
	* rule.ml,
	* rule.mli: Add file_rule useful for rules that don't run a command but
	just write a file.
	* ocaml_specific.ml: Fix some plugin bugs. Remove -I to ocamldep.
	Handle msvc .obj,.lib instead of .o,.a.
	* my_unix_without_unix.ml: Make works link stuffs running the readlink
	command.
	* display.ml,
	* hygiene.ml,
	* my_std.ml,
	* my_unix.mli,
	* my_std.mli,
	* start.sh,
	* test/test5/test.sh,
	* test/good-output,
	* test/test6/test.sh,
	* test/test7/test.sh,
	* test/test4/test.sh,
	* test/test8/test.sh,
	* test/test3/test.sh,
	* test/test2/test.sh,
	* Makefile,
	* _tags,
	* ocamlbuild_pack.mlpack: Update.

2007-01-02  Berke Durak  <berke.durak@inria.fr>

	Fixed ticker.

	* display.ml: .

2006-12-21  Berke Durak  <berke.durak@inria.fr>

	Cosmetic.

	* command.ml: .
	* display.ml: .

2006-12-21  Berke Durak  <berke.durak@inria.fr>

	Computing display length.

	* display.ml: .

2006-12-21  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add -classic-display.

	* command.ml,
	* command.mli: Provide a way to use the classic display.
	* options.ml: Add the -classic-display option.
	* Makefile: Remove ppcache form the default.

2006-12-21  Berke Durak  <berke.durak@inria.fr>

	Finish display only once ; display number of jobs cached.

	* command.ml: .
	* display.ml: .

2006-12-21  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Oops fix a bug.

	* command.ml: Add begin .. end.

2006-12-21  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Some display fixes.

	* command.ml: Select the display mode and remove the assert false.
	* display.ml: Change the print function to have a more compact one.
	* start.sh: Update.

2006-12-21  Berke Durak  <berke.durak@inria.fr>

	Error support in Display.finish.

	* display.ml: .

2006-12-21  Berke Durak  <berke.durak@inria.fr>

	Support for cache.

	* display.ml: .

2006-12-21  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Integrate display mode.

	* ocamlbuild_pack.mlpack: Add display.
	* command.mli: Add Px to indicate to highligth this pathname.
	* command.ml: Support Px and call Display.
	* display.ml: Fix minor bugs.
	* ocaml_specific.ml: Declare some Px, and quiet ocamlyacc, ocamllex.
	* options.ml: Add quiet to default tags.
	* ppcache.ml: Detect more accuratly ocamlrun.
	* pathname.ml: Improve concat.
	* _tags: No profile.

2006-12-21  Berke Durak  <berke.durak@inria.fr>

	Added pretend.

	* display.ml: .

2006-12-21  Berke Durak  <berke.durak@inria.fr>

	Added ticker.

	* display.ml: .

2006-12-21  Berke Durak  <berke.durak@inria.fr>

	Display module.

	* display.ml: .
	* my_unix_with_unix.ml: .
	* my_unix_without_unix.ml: .
	* my_unix.mli: .
	* test/test10/test.sh: New.
	* test/test10: New.
	* test/test10/dbdi: New.

2006-12-21  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use a better init order, and fix a Filename.concat usage.

	* ocaml_specific.ml: The plugin should act before any initialization.
	* ocaml_arch.ml: Use Pathname.(/).

2006-12-21  Berke Durak  <berke.durak@inria.fr>

	Started user-friendly display module.

	* display.ml: New.

2006-12-21  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix init order.

	* ocaml_specific.ml: Config must be available for plugin building.

2006-12-21  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Some fixes.

	* command.ml: Quote if needed.
	* my_std.mli: Comment String.contains_string.
	* resource.ml: Remove a useless separator.
	* test/good-output: Update.

2006-12-21  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Plugin config file and profile mode.

	* ocaml_specific.ml: Fix a bug due to the lazyness of &&.
	* ocaml_specific.mli: Move some functions.

2006-12-21  Berke Durak  <berke.durak@inria.fr>

	Now compiles patterns for fast matching.  Removed regexp support.

	* glob_ast.ml: .
	* glob.ml: .
	* glob_lexer.mli: .
	* glob_ast.mli: .
	* glob_lexer.mll: .
	* test/test9/testglob.ml: .
	* test/test9/dbgl: New.

2006-12-20  Berke Durak  <berke.durak@inria.fr>

	Pattern matching seems to start to work.

	* glob.ml: .

2006-12-20  Berke Durak  <berke.durak@inria.fr>

	Started faster pattern matching code.

	* ocaml_specific.ml: .
	* _tags: .

2006-12-20  Berke Durak  <berke.durak@inria.fr>

	myocamlbuild is rebuilt only as needed.

	* hygiene.ml: .
	* ocaml_specific.ml: .
	* pathname.ml: .
	* pathname.mli: .
	* resource.ml: .

2006-12-20  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Some changes mainly for windows support.

	* command.ml,
	* command.mli: Add the Quote constructor to help quoting building in
	commands.
	* my_unix_with_unix.ml,
	* my_unix_without_unix.ml,
	* glob.ml: Commented reslash mode.
	* my_std.ml,
	* my_std.mli: Some new functions.
	* my_unix.mli: Export sys_command.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Update and windows support.
	* options.ml,
	* options.mli: Remove the ocamlmklib option.
	* ppcache.ml: Fix a bug.
	* pathname.ml: Add more dirseps. Use a custom Filename.concat (for now).
	* resource.ml,
	* rule.ml,
	* Makefile,
	* _tags: Update.

2006-12-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Update start order.

	* start.sh: Ditto.

2006-12-11  Berke Durak  <berke.durak@inria.fr>

	Added -custom, fixed paths for installation.

	* ocaml_specific.ml: .
	* Makefile: .

2006-12-11  Berke Durak  <berke.durak@inria.fr>

	Typo.

	* report.ml: .

2006-12-08  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a basic ocamlmklib support.

	* ocaml_specific.ml,
	* ocaml_specific.mli: Use ocamlmklib to make libraries if enabled.
	* options.ml,
	* options.mli: Add -ocamlmklib and -use-ocamlmklib.

2006-12-08  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Export more references of options.

	* command.ml,
	* command.mli: Add ?quiet to execute.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Update to options.
	* options.ml,
	* options.mli: Move ocamlc, ocamlopt... to references on command specs.
	* solver.ml: Update.
	* Makefile: Use _ocamldistr to avoid hygiene.
	* .vcs: Use _ocamldistr.

2006-12-08  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	OCaml distrib stuffs.

	* command.ml,
	* command.mli: Add a normalization callback.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Add a more complete interface.
	* options.ml,
	* options.mli: Add nostdlib.
	* pathname.ml: Add mkdir -p to import in build.
	* rule.ml,
	* rule.mli: Call normalization of commands for digest.
	* report.ml: Add ignore.
	* start.sh: Add report.ml*.
	* Makefile: Add distrib exportation (make a link).
	* .vcs: Unmask ocamldistrib link.

2006-12-07  Berke Durak  <berke.durak@inria.fr>

	Added TODO item.

	* .vcs: .
	* TODO: .

2006-12-07  Berke Durak  <berke.durak@inria.fr>

	Added TODO file.

	* TODO: New.

2006-12-07  Berke Durak  <berke.durak@inria.fr>

	Very rudimentary report analysis.

	* report.ml: .
	* _tags: .

2006-12-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Update tests to run ocamlbuild correctly.

	* test/test2/test.sh,
	* test/test3/test.sh,
	* test/test4/test.sh,
	* test/test5/test.sh,
	* test/test6/test.sh,
	* test/test7/test.sh,
	* test/test8/test.sh,
	* test/test9/test.sh: Ditto.
	* test/good-output: Update.

2006-12-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Make test9 independant.

	* test/test9/test.sh: Ditto.

2006-12-07  Berke Durak  <berke.durak@inria.fr>

	Rewrote globbing engine, adding {,} ; moved reporting functions to Report.

	* ocamlbuild_pack.mlpack: .
	* command.ml: .
	* glob_ast.ml: .
	* glob.ml: .
	* glob_ast.mli: .
	* glob_lexer.mll: .
	* ocaml_specific.ml: .
	* report.ml: New.
	* report.mli: New.
	* solver.ml: .
	* solver.mli: .
	* start.sh: .
	* test/test9/testglob.ml: .
	* test/test9/test.sh: .
	* test/test3/test.sh: .
	* _tags: .

2006-12-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Degraded mode...

	* ocamlbuildlight.ml: New.
	* ocamlbuild_pack.mlpack: Include new modules.
	* bool.ml: Fake dependency.
	* configuration.ml: Adapt to the glob parser.
	* command.ml: Export the fork usage.
	* glob.ml: Use Str through My_unix.
	* glob_lexer.mli: New.
	* glob_lexer.mll: Add slashs to valid character patterns.
	* lexers.mli,
	* lexers.mll: Use the glob parser.
	* my_std.ml: Use My_unix.
	* my_unix_with_unix.ml: New.
	* my_unix_without_unix.ml: New.
	* my_unix.mli: New.
	* my_std.mli: Add search_in_path and change lazy force to ( !* ).
	* ocaml_specific.ml: Some updates.
	* options.ml,
	* options.mli: Add -ocamlrun.
	* pathname.ml: Adapt to an optional slurp.
	* ppcache.ml: Use search_in_path of my_std.
	* resource.ml: Update to ( !* ).
	* solver.ml: Export Unix errors reporting.
	* slurp.ml,
	* slurp.mli: Use My_unix.
	* start.sh: Update.
	* test/test9/testglob.ml: Test a constant.
	* test/test5/_tags,
	* test/test3/_tags,
	* test/test4/_tags: Don't use regexp.
	* test/good-output: Add test9.
	* test/test9/test.sh: Remove the parent usage.
	* Makefile: Add the light mode.
	* .vcs: Update.
	* _tags: Update.

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	Extra tests for globbing.

	* test/test9/testglob.ml: .

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	First draft of pattern matching.

	* glob_ast.ml: .
	* glob.ml: .
	* glob_ast.mli: .
	* glob_lexer.mll: .

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	More hard-wired but common cases for globbing.

	* glob.ml: .
	* test/test9/testglob.ml: .

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	Hidden interface in globber.

	* glob.mli: .
	* test/test9/testglob.ml: .

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	Basic globbing works.

	* glob.ml: .
	* glob.mli: .
	* test/test9/testglob.ml: .

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	Improved interface.

	* glob.ml: .
	* glob_ast.ml: New.
	* glob_ast.mli: New.
	* glob.mli: New.
	* glob_lexer.mll: .
	* test/test9/testglob.ml: .
	* _tags: .

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	Added test9.

	* test/test9/testglob.ml: New.
	* test/test9/parent: New.
	* test/runtest.sh: .
	* test/test9: New.
	* test/test9/test.sh: New.

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	Parser seems to work.

	* glob.ml: .
	* glob_lexer.mll: .

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	Removed eof_char.

	* glob.ml: .
	* glob_lexer.mll: .

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	Interface seems to be OK.

	* glob.ml: .
	* glob_lexer.mll: .

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	Adding files for the globbing module.

	* bool.ml: New.
	* bool.mli: New.
	* glob.ml: New.
	* glob_lexer.mll: New.
	* _tags: .

2006-12-06  Berke Durak  <berke.durak@inria.fr>

	Replaced numeric escapes.

	* lexers.mll: .

2006-12-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Remove most of the Str usage by using ocamllex.

	* ocamlbuild_pack.mlpack: Remove Re, add Lexers.
	* configuration.ml: Use Lexers.
	* command.ml: Don't use Re.
	* lexers.mli: New.
	* lexers.mll: New.
	* my_std.ml,
	* my_std.mli: Add String.before and String.after.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Use Lexers but also provide tags for warnings.
	* resource.ml,
	* rule.ml,
	* options.ml,
	* ppcache.ml,
	* pathname.ml: Use Lexers.
	* re.ml: Remove.
	* re.mli: Remove.
	* start.sh: Update.
	* Makefile: Igonre _build... and gives -ml to ocamllex.
	* _tags: Warnings for lexers.

2006-12-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use Sys instead of Unix for readdir.

	* my_std.ml,
	* my_std.mli: Supress a Unix usage.

2006-12-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add an option to disable the link creation.

	* ocaml_specific.ml: Honor this option.
	* options.ml: Declare it.
	* options.mli: Define it.

2006-12-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Don't import compiled files...

	* pathname.ml: For the OCaml compilation itself I need to exclude some
	dirs that contains compiled files but I want to use some of them with
	ocamlbuild.

2006-12-05  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Support flags for ocamlyacc and ocamllex.

	* ocaml_specific.ml,
	* options.ml,
	* options.mli: Add these options.

2006-12-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Two fixes (hygiene and libraries)...

	* hygiene.ml: Exit 0 if sterilize removes some files (since source
	files are cached in a rather persistent data structure I prefer let the
	user start on a fresh setup).
	* ocaml_specific.ml: Use the dirname if there is no directory named by
	removing the extension.

2006-12-04  Berke Durak  <berke.durak@inria.fr>

	Small bug in hygiene.

	* hygiene.ml: .

2006-12-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add postition specifications to rules.

	* rule.ml,
	* rule.mli: Add a way to specifie where to put a new rule
	(top,bottom,before another,after another).
	* flags.ml: Reorder.
	* my_std.ml,
	* my_std.mli: Add mv, fix an error handling.
	* ocaml_specific.ml: Better error message for circular dependencies.
	* ppcache.ml: Handle errors better.

2006-11-29  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a working multiple job support.

	* command.ml,
	* command.mli: Add different versions of execute_many including a
	version that use forks.
	* options.ml,
	* options.mli: Restore the -j option.
	* solver.ml: Call Command.execute_many.
	* test/runtest.sh: Pass $@ to sub tests.
	* test/good-output: Update.

2006-11-28  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix the link order.

	* start.sh: Fix the link order.

2006-11-28  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	One step toward multiple jobs: Add the support for suspended building.

	* resource.ml,
	* resource.mli: Add the notion of suspended building.
	This represent a resource that is fully ready for evaluation, it's just
	a command and a function to apply after.
	* rule.ml: Do not really execute rules that can be safely suspended.
	* solver.ml: Play with suspended rules to collect as many as possible
	to get closer to a pararllel execution.

2006-11-27  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix the makefile.

	* Makefile: Fix deps.

2006-11-27  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Activates more warnings, and prepare the -j feature.

	* hygiene.ml: Consolidates fragile patterns.
	* my_std.ml: Likewise.
	* ocaml_specific.ml: Mainly update to the new builder prototype.
	* pathname.ml,
	* pathname.mli: Kick a useless parameter.
	* resource.ml: Remove dead code and update.
	* rule.ml,
	* rule.mli: The bulider now takes a list of resource lists, it will
	try to make in parallel the first level of commands.
	* solver.ml: Update to builder without parallelism.
	* test/good-output: Update.
	* Makefile: Warnings are now set to -w A -warn-error A.

2006-11-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix packages... again.

	* ocaml_specific.ml: Ditto.

2006-11-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix packages.

	* ocaml_specific.ml: Try to handle better packages during link.
	* Makefile: Add the try_bootstrap rule.

2006-11-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add -tag, -tags to options.

	* ocaml_specific.ml: Append default tags from options.
	* options.ml,
	* options.mli: Add -tag and -tags.
	* tags.mli: Indent.

2006-11-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix a bug and update tests.

	* resource.ml: Use Hashtbl.replace of course instead of Hashtbl.add to
	avoid a nasty bug.
	* test/test7/test.sh,
	* test/test8/test.sh,
	* test/test2/test.sh,
	* test/test6/test.sh,
	* test/test4/test.sh,
	* test/test5/test.sh,
	* test/test3/test.sh: Extract program options to be sure that
	the -nothing-should-be-rebuilt option is before the -- one.
	* test/good-output: Update.

2006-11-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use a hashtbl for digests.

	* resource.ml: Ditto.
	* ocaml_specific.ml: Remove dead code.

2006-11-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use lists instead of sets for rule deps & prods.

	* ocaml_specific.ml: Move the mli dep first.
	* resource.ml,
	* resource.mli: No more provide digest_resources but digest_resource.
	* rule.ml,
	* rule.mli: Use list instead of sets for deps and prods, since they are
	not heavily updated and the order matter.
	* solver.ml: Adapt.
	* test/good-output: Yeah!

2006-11-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	One more fix for libraries.

	* ocaml_specific.ml: Improve the link_exception handling.
	* test/good-output: Update.

2006-11-25  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix the library linking.

	* ocaml_specific.ml: The test7 is specially made to check that feature.

2006-11-25  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Remove list_set.

	* ocamlbuild_pack.mlpack: Remove list_set
	* list_set.ml: Remove.
	* list_set.mli: Remove.
	* start.sh: Remove list_set.
	* test/good-output: Regen.

2006-11-25  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix the C rule when dirname = '.'.

	* ocaml_specific.ml: Don't move the output when it's useless.

2006-11-25  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Ignore ocamlbuild_version.ml.

2006-11-25  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	New transitive closure.

	* ocamlbuild_version.ml: Remove.
	* my_std.ml,
	* my_std.mli: Add a debug mode for digests and run_and_read.
	* ocaml_specific.ml: New transitive closure.
	* pathname.ml,
	* pathname.mli: Export also parent_dir_name and fix same_contents.
	* resource.ml,
	* resource.mli: Add dependencies.
	* rule.ml: Adapt.
	* test/good-output: Regen.
	* Makefile: Improve install.
	* .vcs: Ignore other _build dirs.

2006-11-20  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Rule definition shortcut and C files.

	* rule.ml,
	* rule.mli: Allow to pass ~prod and ~dep when there is just one file.
	* ocaml_specific.ml: Add a rule for C files and use the previous
	shortcut.

2006-11-18  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	No more extend Format.

	* command.ml,
	* my_std.ml,
	* my_std.mli: Put directly ksbprintf and sbprintf in My_std.

2006-11-18  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Clean up and consistent use of Pathname instead of Filename.

	* command.ml,
	* my_std.ml,
	* my_std.mli,
	* ocaml_specific.ml,
	* pathname.ml,
	* ppcache.ml,
	* pathname.mli,
	* resource.ml: That's it.

2006-11-18  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Restore List_set.

	* ocamlbuild_pack.mlpack,
	* list_set.ml,
	* list_set.mli,
	* resource.ml,
	* start.sh: Ditto.

2006-11-18  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Remove List_set and List_map.

	* ocamlbuild_pack.mlpack: No more in the pack.
	* list_set.ml: Remove.
	* list_map.ml: Remove.
	* list_map.mli: Remove.
	* list_set.mli: Remove.
	* resource.ml: Use a Set.
	* start.sh: Adapt.

2006-11-18  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Huge speed up, worth updating.

	* resource.ml,
	* resource.mli: Use a hash instead of map, remove the percent type.
	* rule.ml,
	* rule.mli: Remove the function for rule names. Use an exception to
	choose matching rules.

2006-11-18  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Speedup rule calling.

	* rule.ml,
	* rule.mli: No more call the code rule twice to compute the digest.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Adapt to Rule.
	* test/test8/myocamlbuild.ml: Use the exception.
	* test/good-output: Update.
	* boot: Update svn:ignore.

2006-11-16  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Remove phony resources and include dependencies.

	* ocaml_specific.ml,
	* options.ml,
	* options.mli,
	* pathname.ml,
	* pathname.mli,
	* resource.ml,
	* resource.mli,
	* rule.ml,
	* rule.mli,
	* solver.ml,
	* test/test8/myocamlbuild.ml: Simplify a lot the code.

2006-11-16  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Some improvements...

	* ocamlbuild.ml: .
	* ocamlbuild_version.ml: New.
	* ocamlbuild_plugin.ml: New.
	* ocamlbuild_version.mli: New.
	* ocamlbuildlib.mllib: .
	* ocamlbuild.sh: Remove.
	* ocamlbuild_pack.mlpack: New.
	* boot: .
	* ocaml_specific.ml: .
	* ocaml_specific.mli: .
	* options.ml: .
	* options.mli: .
	* rule.ml: .
	* rule.mli: .
	* start.sh: .
	* test/test8/a.ml: New.
	* test/test7/a2.ml: .
	* test/test7/a3.ml: New.
	* test/test8/myocamlbuild.ml: New.
	* test/test7/myocamlbuild.ml: New.
	* test/test8: New.
	* test/test8/test.sh: New.
	* test/runtest.sh: .
	* test/test7/test.sh: .
	* test/good-output: .
	* Makefile: .
	* _tags: .

2006-11-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add support for libraries.

	* ocamlbuildlib.ml: Remove.
	* ocamlbuildlib.mllib: New.
	* ocaml_specific.ml: Rules and actions for libraries.
	* rule.ml: Improve explanations.
	* start.sh: Don't make ocamlbuildlib.
	* test/test7/a.mli: New.
	* test/runtest.sh: Add test7.
	* test/test7/test.sh: Add reverts for a.ml.
	* test/good-output: Update.
	* Makefile: Remove junk lines.

2006-11-14  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a tests for libraries.

	* test/test7/e.ml: New.
	* test/test7/d.ml: New.
	* test/test7/a.ml: New.
	* test/test7/b.ml: New.
	* test/test7/a2.ml: New.
	* test/test7/c.ml: New.
	* test/test7/test.sh: New.
	* test/test7/ablib.mllib: New.
	* test/test7: New.

2006-11-14  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Simplify dependency rules.

	* ocaml_specific.ml: No more use bytelinkdeps...
	* rule.ml,
	* rule.mli: Add a dyndeps set.
	* ocamlbuild.sh,
	* pathname.ml,
	* Makefile: Update.

2006-11-14  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Update tests...

	* test/test2/vivi3.ml: .
	* test/good-output: .

2006-11-10  Berke Durak  <berke.durak@inria.fr>

	Added -sterilize option.

	* hygiene.ml: ditto
	* hygiene.mli: ditto
	* ocaml_specific.ml: ditto
	* options.ml: ditto
	* options.mli: ditto

2006-11-10  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	View the context dir in first.

	* pathname.ml: Ditto.

2006-11-10  Berke Durak  <berke.durak@inria.fr>

	Added thread and profile tags.

	* ocaml_specific.ml: ditto.

2006-11-10  Berke Durak  <berke.durak@inria.fr>

	Added law for leftover dependency files.

	* ocaml_specific.ml: ditto.

2006-11-10  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Reverse the ignore_auto default value.

	* options.ml: Add -no-skip, remove -ignore-auto, add -Is and -Xs.
	* test/test2/test.sh,
	* test/test5/test.sh,
	* test/test6/test.sh,
	* test/test4/test.sh,
	* test/test3/test.sh,
	* Makefile: Revert flags.

2006-11-10  Berke Durak  <berke.durak@inria.fr>

	Added install target to Makefile.

	* Makefile: .

2006-11-10  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Deal with for-pack flags...

	* ocaml_arch.ml: Define a hook.
	* ocaml_arch.mli: Declare it.
	* ocaml_specific.ml: Use it.
	* test/test6: Ignore main.byte.

2006-11-09  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix start.sh and remove dead code.

	* ocaml_specific.ml: Remove dead code about ignore_auto.
	* start.sh: Swap two modules.
	* test/test6/main.byte: Remove.

2006-11-09  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Pack now works great...

	* ocamlbuild.sh: Use ocamlopt.
	* command.ml: Reset filesys cache.
	* my_std.ml,
	* my_std.mli: Add a filesys cache for
	case sensitive file_exists and digest over files.
	* ocaml_specific.ml: Work on link and packs.
	* ppcache.ml: Exit 2 is for unix.
	* pathname.ml,
	* resource.ml,
	* rule.ml,
	* rule.mli,
	* slurp.ml,
	* solver.ml,
	* solver.mli,
	* test/test5: Update.

2006-11-07  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Too lazy to fill this up :).

	* ocamlbuild.sh,
	* configuration.ml,
	* command.ml,
	* debug.ml,
	* debug.mli,
	* my_std.ml,
	* my_std.mli,
	* ocaml_specific.ml,
	* ocaml_specific.mli,
	* options.ml,
	* options.mli,
	* pathname.ml,
	* ppcache.ml,ew.
	* ppcache.mli,ew.
	* pathname.mli,
	* resource.ml,
	* resource.mli,
	* rule.ml,
	* rule.mli,
	* slurp.ml,
	* solver.ml,
	* solver.mli,
	* slurp.mli,
	* start.sh,
	* tags.ml,
	* test/test5/test.sh,
	* test/test4/test.sh,
	* test/test3/test.sh,
	* test/good-output,
	* test/test2/test.sh,
	* test/test6/test.sh,
	* Makefile,
	* _tags: This too.

2006-11-04  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Some pack,dirs stuffs.

	* ocamlbuild.ml,
	* ocamlbuildlib.ml,ew.
	* ocamlbuild.sh,ew.
	* configuration.ml,
	* my_std.ml,
	* my_std.mli,
	* ocaml_arch.ml,ew.
	* ocaml_specific.ml,
	* ocaml_specific.mli,
	* ocaml_arch.mli,ew.
	* options.ml,
	* options.mli,
	* pathname.ml,
	* pathname.mli,
	* resource.ml,
	* resource.mli,
	* rule.ml,
	* solver.ml,
	* test/good-output,
	* Makefile,
	* _tags: That's it.

2006-10-31  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Remove the dirty thing about cmi's.

	* ocaml_specific.ml,
	* ocaml_specific.mli: Moves of files are no more needed.
	* test/good-output: Update.

2006-10-31  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Some renaming and cleanup...

	* ocamlbuild.ml,
	* configuration.ml,
	* configuration.mli,
	* list_set.ml,
	* ocaml_specific.ml,
	* resource.ml,
	* test/good-output,
	* test/test6/test.sh: Do that.

2006-10-31  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use the nothing-should-be-rebuilt for tests and update the output.

	* test/test2,
	* test/test2/test.sh,
	* test/test3/test.sh,
	* test/test4/test.sh,
	* test/test5/test.sh,
	* test/test6/test.sh,
	* test/good-output: Do that.

2006-10-31  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a mode usefull for tests.

	* options.ml, options.mli, rule.ml:
	This new mode fails when something needs to be rebuilt.

2006-10-31  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Improve the ocaml rule set.

	* ocaml_specific.ml: Yipee!

2006-10-31  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add scripts to run tests.

	* test/test2/vivi1.ml: New.
	* test/test2/vivi2.ml: New.
	* test/test2/vivi3.ml: New.
	* test/test2/vivi.ml: .
	* test/test4/test.sh: New.
	* test/test5/test.sh: New.
	* test/test2/test.sh: New.
	* test/test6/test.sh: .
	* test/good-output: New.
	* test/test3/test.sh: New.
	* test/runtest.sh: New.

2006-10-31  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Restore some recursivity for includes.

	* resource.ml,
	* resource.mli: Remove the digest field.
	* rule.ml: .
	* test/test6/test.sh: .

2006-10-30  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Remove the arbitrary deep dependencies.

	* ocaml_specific.ml,
	* ocaml_specific.mli: No more implicit transitives deps.
	* resource.ml,
	* resource.mli: Remove as many things as possible.
	* rule.ml,
	* rule.mli,
	* solver.ml: Simplify.
	* command.ml: Fix newlines and flush.

2006-10-30  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Separated preprocessing, total order over rules...

	* ocamlbuild.ml,
	* my_std.ml,
	* my_std.mli,
	* ocaml_specific.ml,
	* ocaml_specific.mli,
	* options.ml,
	* options.mli,
	* pathname.ml,
	* pathname.mli,
	* resource.ml,
	* resource.mli,
	* rule.ml,
	* rule.mli,
	* solver.ml,
	* test/test2/tutu.ml,
	* tags.ml,
	* test/test2/tyty.mli,ew.
	* test/test6/test.sh,
	* test/test6,
	* test/test5/_tags,
	* test/test5: Update.

2006-10-27  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add options: -ocamlc,-ocamlopt,-ocamldep,-ocamlyacc,-ocamllex.

	* options.ml,
	* options.mli: Declare them.
	* ocaml_specific.ml: Use them.

2006-10-27  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix start.sh.

	* start.sh: Fix the output.

2006-10-27  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Regen start.sh.

	* start.sh: Regen.

2006-10-27  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use the list based implems and fix many bugs.

	* ocamlbuild.ml: Rename some dependency files.
	* boot: Ignore boot/ocamlbuild.byte.save.* files.
	* command.ml: Fix command printing.
	* my_std.ml,
	* my_std.mli: Add List.equal, use the cp command in Shell.cp.
	* ocaml_specific.ml,
	* ocaml_specific.mli: Many things.
	* pathname.ml, pathname.mli: Make compare obselete prefer equal.
	* resource.ml, resource.mli: Add print_cache and use list based
	sets and maps.
	* Makefile: Add the bootstrap rule.

2006-10-27  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a test for fine-grained dependencies.

	* test/test6/main.ml: New.
	* test/test6/d.ml: New.
	* test/test6/b.ml: New.
	* test/test6/a.ml: New.
	* test/test6/main.mli: New.
	* test/test6/a.mli: New.
	* test/test6/d.mli: New.
	* test/test6/b.mli: New.
	* test/test6/b.mli.v2: New.
	* test/test6/main.byte: New.
	* test/test6/d.mli.v1: New.
	* test/test6/test.sh: New.
	* test/test6/d.mli.v2: New.
	* test/test6/b.mli.v1: New.
	* test/test6: New.

2006-10-26  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Dummy implementations for set and map using lists.
	The main advantage is to only rely on the equal function that is simpler
	to maintain correct in an imperative setting.

	* list_map.ml: New.
	* list_set.ml: New.
	* list_map.mli: New.
	* list_set.mli: New.

2006-10-24  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fixes and improvment.

	* ocamlbuild.ml,
	* my_std.ml,
	* my_std.mli,
	* ocaml_specific.ml,
	* ocaml_specific.mli,
	* pathname.ml,
	* resource.ml,
	* rule.ml,
	* rule.mli,
	* solver.ml,
	* solver.mli: The previous version was somwhat unstable.

2006-10-24  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Many things...

	* ocamlbuild.ml,
	* command.ml,
	* command.mli,
	* ocaml_specific.ml,
	* ocaml_specific.mli,
	* options.ml,
	* options.mli,
	* resource.ml,
	* resource.mli,
	* rule.ml,
	* rule.mli,
	* solver.ml,
	* solver.mli:
	Simplify the whole solver by removing the value type.
	Rule code now returns a resource set, that is injected as dependencies.
	So rule code always returns unit. But can raise exceptions.
	Add -ignore, and -ignore-auto options to workaround ocamldep
	approximations without igonring errors.
	* Makefile: Add backup and restore targets.

2006-10-23  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Compute digests of dependencies recursively.

	* ocamlbuild.ml,
	* ocaml_specific.ml,
	* options.ml,
	* options.mli,
	* resource.ml,
	* resource.mli,
	* rule.ml: Ditto.

2006-10-23  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	One step toward a parallelisable system.

	* boot,
	* command.ml,
	* ocaml_specific.ml,
	* ocaml_specific.mli,
	* options.ml,
	* options.mli,
	* rule.ml,
	* rule.mli,
	* solver.ml: Update.
	* value.ml: Remove.
	* value.mli: Remove.

2006-10-20  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add vcs config file to setup a good default setup.

	* .vcs: New.

2006-10-20  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Simplify the bootstrap by introducing a shell script.

	* boot/ocamlbuild.byte: Remove. Useless in distribution mode
	but will be created, the first time. So the devel is not
	disturbed.
	* start.sh: New.
	* Makefile: Remove the old one to use start.sh.

2006-10-20  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Take command line in account for the digest computation.

	* command.ml,
	* command.mli,
	* debug.ml,
	* ocaml_specific.ml,
	* ocaml_specific.mli,
	* resource.ml,
	* resource.mli,
	* rule.ml,
	* rule.mli,
	* solver.ml,
	* value.ml,
	* value.mli: Update.

2006-10-19  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	New pathname representation.

	* pathname.ml, pathname.mli: This new representation should
	avoids "fix" problems.

2006-10-17  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Change the cache implem -> now really fast at link time.

	* ocamlbuild.ml,
	* boot/ocamlbuild.byte,
	* my_std.ml,
	* ocaml_specific.ml,
	* pathname.ml,
	* resource.ml,
	* resource.mli,
	* solver.ml: By replacing various sets by a map of records and
	remember that something has not changed, or cannot be built;
	there is a real speedup. In particular to detect that the link is
	not necessary to do.

2006-10-17  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a basic support for a digest based cache verification.

	* resource.ml, resource.mli: Add have_digest and store_digest.
	* rule.ml: Use these digests but don't include the command for
	now.
	* test/test2/vivi.ml, test/test2/tata.mli: Dummy updates.

2006-10-16  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Split in many files.

	* ocamlbuild.ml: Splitted.
	* boot/ocamlbuild.byte: Updated.
	* configuration.ml: New.
	* configuration.mli: New.
	* command.ml: New.
	* command.mli: New.
	* debug.ml: New.
	* debug.mli: New.
	* flags.ml: New.
	* flags.mli: New.
	* my_std.ml: New.
	* my_std.mli: New.
	* ocaml_specific.ml: New.
	* ocaml_specific.mli: New.
	* options.ml: New.
	* options.mli: New.
	* pathname.ml: New.
	* pathname.mli: New.
	* re.ml: New.
	* re.mli: New.
	* resource.ml: New.
	* resource.mli: New.
	* rule.ml: New.
	* rule.mli: New.
	* solver.ml: New.
	* solver.mli: New.
	* test/test5/d.ml: New.
	* tags.ml: New.
	* test/test5/b.ml: New.
	* test/test5/a.ml: New.
	* tags.mli: New.
	* test/test5/a.mli: New.
	* test/test5/c.mlpack: New.
	* test/test5/_tags: New.
	* test/test5: New.
	* value.ml: New.
	* value.mli: New.
	* Makefile: .

2006-10-16  Berke Durak  <berke.durak@inria.fr>

	Various useful changes.

	* ocamlbuild.ml: Hygiene to true.
	* slurp.ml: Remove debugging
	* Makefile: Clean annot and object files.

2006-10-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Bootstrap it ;).

	* ocamlbuild.ml: Add support for -g, -dtypes, and -rectypes in
	four lines.
	* _tags: New. Specify how to build ocamlbuild itself.
	* boot: New.
	* boot/ocamlbuild.byte: New. A bytecode version needed to
	bootstrap
	* Makefile: By default make it a wrapper over ocamlbuild in boot.

2006-10-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Little fix...

	* ocamlbuild.ml: Don't assoc over pathnames since the default
	compare is wrong and slow use the string repr.

2006-10-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Allow to control flags, and libraries by tags.

	* ocamlbuild.ml: In the _tags file you can add or remove flags
	using a colon flag_name:flag_value.
	* test/test2/vivi.ml,
	* test/test3/f.ml,
	* test/test4/b/bb.ml: Dummy updates.
	* test/test3/_tags: New.
	* test/test4/_tags: New.

2006-10-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add a tag based flag system.

	* test/test2/vivi.ml: An example.
	* test/test2/_tags: New.
	* ocamlbuild.ml: Now a command can request for flags by giving a
	set of tags these tags include file specific tags this allow to
	tweak flags by just providing a _tags file.

2006-10-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add -lib,-libs options remove -P.

	* ocamlbuild.ml: -P Is useless due to the fact that we now
	have the same directory structure in the _build directory.
	Add -lib,-libs that allows one to specify -lib unix without
	its extension in order to request for native and byte
	compilations.

2006-10-15  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Multi directories now works ;).

	* ocamlbuild.ml: Solve the whole problem by improving the
	Pathname module. Pathnames are now symbolic values that
	can include variable names. These variable names represent
	still ambiguous pathnames /a/b/(c|d as x1)/e.ml but variables
	can be shared, so discovering that /a/b/(c|d as x1)/e.ml is in
	fact /a/b/c/e.ml will make /a/b/(c|d as x1)/e.cmo automatically
	take this value /a/b/c/e.cmo cause it shares the x1 variable.

2006-10-13  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	I prefer capitalized names.

	* AUTHORS

2006-10-13  Berke Durak  <berke.durak@inria.fr>

	Added an AUTHORS file.

	* AUTHORS: New.

2006-10-13  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add the vcs dir.

	* vcs: New.
	* vcs/ocamlbuild.rb: New.

2006-10-13  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	* ocamlbuild.ml: Restore dependencies.

2006-10-13  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix the makefile.

	* Makefile, discard_printf.ml: Ditto.

2006-10-13  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Improve the directory handling.

	* ocamlbuild.ml: Ditto, but there is still a problem with native.
	* Makefile: Update.

2006-10-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix native dependencies.

	* ocamlbuild.ml: By default due to inlining the cmx dependencies
	are needed to build a cmx.
	* Makefile: Add native support.

2006-10-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use phony for linkdeps.

	* ocamlbuild.ml: Ditto.

2006-10-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix exit on multiple targets.

	* ocamlbuild.ml: Ditto.

2006-10-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	More flags -lflags,-lflag...

	* ocamlbuild.ml: Add plrual form options for those that use
	comma separated lists.

2006-10-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use phony resources for .cmo.linkdeps.

	* ocamlbuild.ml: Also restore the command running if "--"
	is specified

2006-10-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Remove Include_string_list resources, add Phony resources.

	* ocamlbuild.ml: Also fix some rules.

2006-10-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Shift debug levels.

	* ocamlbuild.ml: Add -quiet.

2006-10-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Use str more intensively.

	* ocamlbuild.ml: Also clean up useless functions.

2006-10-11  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Fix link dependencies.

	* ocamlbuild.ml: Force to consider recursivly Include_ tagged
	resources for their full contents. Alas it takes more time to
	know if we need to recompute the link.
	* test/test2/vivi.ml: Update.

2006-10-10  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Support multiple directories, it can compile the OCaml compiler :).

	* ocamlbuild.ml: Add directory handling but also start
	the tags config files handling.
	* Makefile: Use str.cma.

2006-10-08  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	Add library support.

	* ocamlbuild.ml: Deduce basic set of tags form the target
	extension.

2006-10-08  Nicolas Pouillard  <nicolas.pouillard@gmail.com>

	More customisable flags, and cycle detection.

	* ocamlbuild.ml: Add some flags -lflag, -ppflag, -cflag, --.
	Also add a detection mechanism for dependencies.
	* discard_printf.ml, Makefile: Update.