Re: [PATCH branch-1.6] feature: 'makedep' for m4
Eric Blake via M4-patches <[email protected]> Mon, 21 Apr 2025 10:41:40 -0500
| Newsgroups | gmane.comp.gnu.m4.patches |
|---|---|
| Message-ID | <mmgtl5kys57hocxeqkx5jikcqaonwc2ce3ai6x65egdmr4xrj2@moualeuxswjh> |
T24gTW9uLCBBcHIgMjEsIDIwMjUgYXQgMTA6MjU6NDdBTSAtMDUwMCwgRXJpYyBCbGFrZSB2aWEg TTQtcGF0Y2hlcyB3cm90ZToKPiBGcm9tOiBEYXZpZCBXYXJtZSA8YTEzNmRtd0B3YXJtZS5uZXQ+ Cj4gCj4gQWRkIGFiaWxpdHkgdG8gZ2VuZXJhdGUgbWFrZSBkZXBlbmRlbmN5IHJ1bGVzLgo+ICog ZG9jL200LnRleGluZm86IERvY3VtZW50IG5ldyBvcHRpb25zLgo+ICogc3JjL2J1aWx0aW4uYzog UmVjb3JkIGRlcGVuZGVuY2llcyBmb3IgaW5jbHVkZSgpIC8gc2luY2x1ZGUoKS4KPiAqIHNyYy9t NC5jOiBBZGQgbmV3IG9wdGlvbnMuICBSZWNvcmQgZGVwZW5kZW5jaWVzIGZvciBmaWxlcwo+IHNw ZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLiAgR2VuZXJhdGUgZGVwZW5kZW5jaWVzIGF0IGVu ZC4KPiAqIHNyYy9tNC5oOiBBZGQgZGVmaW5lcyBmb3IgdHJhY2tpbmcgaG93IGZpbGVzIGFyZSBy ZWZlcmVuY2VzLCBhbmQKPiBuZXcgZnVuY3Rpb25zIGZvciByZWNvcmRpbmcgLyBnZW5lcmF0aW9u IG9mIGRlcGVuZGVuY2llcy4KPiAqIHNyYy9wYXRoLmM6IEFkZGVkIHJlY29yZGluZyAvIGdlbmVy YXRpb24gb2YgZGVwZW5kZW5jaWVzLgo+ICogTkVXUzogQWRkZWQgYSBibHVyYiBmb3IgdGhpcyBu ZXcgZmVhdHVyZS4KPiAqIFRIQU5LUyBBZGRlZCB1cyB0byB0aGUgbGlzdC4KPiBDby1hdXRob3Jl ZC1ieTogTG9yZW56byBEaSBHcmVnb3JpbyA8bG9yZW56by5kaWdyZWdvcmlvQGdtYWlsLmNvbT4K PiAtLS0KPiAKPiBUaGlzIGlzIE5PVCB5ZXQgcmVhZHkgZm9yIGluY2x1c2lvbiAtIEkgaW5zaXN0 IHRoYXQgd2UgTkVFRCB0byBoYXZlCj4gc29tZXRoaW5nIHRoYXQgdGVzdHMgdGhlIGZ1bmN0aW9u YWxpdHkgZHVyaW5nICdtYWtlIGNoZWNrJyB0byBlbnN1cmUKPiBpdCBkb2Vzbid0IHJlZ3Jlc3Mu ICBBbmQgdGhlcmUgYXJlIHByb2JhYmx5IG90aGVyIG5pdHBpY2tzIHRoYXQgSSB3aWxsCj4gY2xl YW4gdXAgKHN1Y2ggYXMgQ2hhbmdlTG9nIHN0eWxlLCBlcnJvciBtZXNzYWdlIHR3ZWFrcywgZmln dXJpbmcgb3V0Cj4gdGhlIHByZWZlcnJlZCB3YXkgdG8gZG8gdGhlIGZsZXhpYmxlIGFsbG9jYXRp b24gb2YgdGhlIGZpbGUgbmFtZSBpbgo+IHN0b3JhZ2UgYWxvbmdzaWRlICdzdHJ1Y3QgZGVwZW5k ZW5jeScsIGFuZCBzbyBmb3J0aCkuICBIb3dldmVyLCBJJ20KPiByZXBvc3RpbmcgRGF2aWQncyBv cmlnaW5hbCBwYXRjaCBhcyB0ZW50YXRpdmVseSByZWJhc2VkIHRvIGJyYW5jaC0xLjYsCj4gdG8g bWFrZSBpdCBlYXNpZXIgdG8gY29udGludWUgdG8gZ2V0IHRoaXMgcmVhZHkgZm9yIGluY2x1c2lv biBiZWZvcmUgSQo+IGN1dCB0aGUgbmV4dCBiZXRhIHJlbGVhc2UgaW4gcHJlcGFyYXRpb24gZm9y IGFuIGV2ZW50dWFsIDEuNi4KCkFtb25nIG90aGVyIHRoaW5ncywgJ21ha2Ugc3ludGF4LWNoZWNr JyBmYWlsczoKCj4gKysrIGIvZG9jL200LnRleGkKPiBAQCAtMTQ1LDYgKzE0NSw3IEBAIFRvcAo+ IAo+ICAqIE9wZXJhdGlvbiBtb2Rlczo6ICAgICAgICAgICAgIENvbW1hbmQgbGluZSBvcHRpb25z IGZvciBvcGVyYXRpb24gbW9kZXMKPiAgKiBQcmVwcm9jZXNzb3IgZmVhdHVyZXM6OiAgICAgICBD b21tYW5kIGxpbmUgb3B0aW9ucyBmb3IgcHJlcHJvY2Vzc29yIGZlYXR1cmVzCj4gKyogTWFrZSBk ZXBlbmRlbmN5IGdlbmVyYXRpb246OiAgR2VuZXJhdGluZyBtYWtlIGRlcGVuY2VuY3kgcnVsZXMK ClR5cG86IHMvZGVwZW5jZW5jeS9kZXBlbmRlbmN5LwoKPiArKysgYi9zcmMvYnVpbHRpbi5jCj4g QEAgLTE0NzIsMTMgKzE0NzIsMTQgQEAgbTRfY2hhbmdlY29tIChzdHJ1Y3Qgb2JzdGFjayAqb2Jz IE1BWUJFX1VOVVNFRCwgaW50IGFyZ2MsCj4gICAgIGFyZ3VtZW50LCBpZiBpdCBleGlzdHMuICBD b21wbGFpbiBhYm91dCBpbmFjY2Vzc2libGUgZmlsZXMgaWZmCj4gICAgIFNJTEVOVCBpcyBmYWxz ZS4gICovCj4gIHN0YXRpYyB2b2lkCj4gLWluY2x1ZGUgKGludCBhcmdjLCBtYWNyb19hcmd1bWVu dHMgKmFyZ3YsIGJvb2wgc2lsZW50KQo+ICtpbmNsdWRlIChpbnQgYXJnYywgbWFjcm9fYXJndW1l bnRzICphcmd2LCBib29sIHNpbGVudCwgaW50IHJlZl9mcm9tKQoKU2hvdWxkIHJlZl9mcm9tIGJl IGFuIGVudW0gaW5zdGVhZCBvZiBpbnQgYXJndW1lbnQsIHNpbmNlIHRoZXJlIGFyZQpvbmx5IGEg ZmluaXRlIG51bWJlciBvZiBjYWxsZXJzPwoKPiArKysgYi9zcmMvbTQuYwoKPiBAQCAtMzY1LDYg KzQyMSwyMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nX29wdGlvbnNbXSA9IHsK PiAgICB7Indhcm4tbWFjcm8tc2VxdWVuY2UiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwKPiAg ICAgV0FSTl9NQUNST19TRVFVRU5DRV9PUFRJT059LAo+IAo+ICsgIHsibWFrZWRlcCIsIHJlcXVp cmVkX2FyZ3VtZW50LCBOVUxMLCBNQUtFREVQX09QVElPTn0sCj4gKyAgeyJtYWtlZGVwLXRhcmdl dCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBNQUtFREVQX1RBUkdFVF9PUFRJT059LAo+ICsg IHsibWFrZWRlcC1nZW4tbWlzc2luZy1hcmdmaWxlcyIsIG5vX2FyZ3VtZW50LCBOVUxMLAo+ICsg ICAgIE1BS0VERVBfR0VOX01JU1NJTkdfQVJHRklMRVNfT1BUSU9OfSwKPiArICB7Im1ha2VkZXAt Z2VuLW1pc3NpbmctaW5jbHVkZSIsIG5vX2FyZ3VtZW50LCBOVUxMLAo+ICsgICAgIE1BS0VERVBf R0VOX01JU1NJTkdfSU5DTFVERV9PUFRJT059LAo+ICsgIHsibWFrZWRlcC1nZW4tbWlzc2luZy1z aW5jbHVkZSIsIG5vX2FyZ3VtZW50LCBOVUxMLAo+ICsgICAgIE1BS0VERVBfR0VOX01JU1NJTkdf U0lOQ0xVREVfT1BUSU9OfSwKPiArICB7Im1ha2VkZXAtZ2VuLW1pc3NpbmctYWxsIiwgbm9fYXJn dW1lbnQsIE5VTEwsCj4gKyAgICAgTUFLRURFUF9HRU5fTUlTU0lOR19BTExfT1BUSU9OfSwKPiAr ICB7Im1ha2VkZXAtcGhvbnktYXJnZmlsZXMiLCBub19hcmd1bWVudCwgTlVMTCwgTUFLRURFUF9Q SE9OWV9BUkdGSUxFU19PUFRJT059LAo+ICsgIHsibWFrZWRlcC1waG9ueS1pbmNsdWRlIiwgbm9f YXJndW1lbnQsIE5VTEwsIE1BS0VERVBfUEhPTllfSU5DTFVERV9PUFRJT059LAo+ICsgIHsibWFr ZWRlcC1waG9ueS1zaW5jbHVkZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCBNQUtFREVQX1BIT05ZX1NJ TkNMVURFX09QVElPTn0sCgpMb25nIGxpbmVzIG5lZWQgd3JhcHBpbmcuICAnbWFrZSBzeW50YXgt Y2hlY2snIHJ1bnMgR05VIGluZGVudCB3aGljaAp3YW50cyB0byBmaXQgdGhpbmdzIGluIDgwIGNv bHVtbnM7IEknbSBpbmNsaW5lZCB0byBhY2NlcHQgaXRzCnN1Z2dlc3Rpb25zLCBleGNlcHQgdGhh dDoKCj4gKyAgZWxzZSBpZiAoIW1ha2VkZXBfcGF0aCAhPSAhbWFrZWRlcF90YXJnZXQpCj4gKyAg ICBtNF9lcnJvciAoRVhJVF9GQUlMVVJFLCAwLCBOVUxMLAo+ICsgICAgICAgICAgICAgIF8oIi0t bWFrZWRlcCBhbmQgLS1tYWtlZGVwLXRhcmdldCBjYW5ub3QgYmUgdXNlZCBpbmRlcGVuZGVudGx5 IikpOwoKaGVyZSBpdCBzdWdnZXN0ZWQ6CgogICAgIG00X2Vycm9yIChFWElUX0ZBSUxVUkUsIDAs IE5VTEwsCi0gICAgICAgICAgICAgIF8oIi0tbWFrZWRlcCBhbmQgLS1tYWtlZGVwLXRhcmdldCBj YW5ub3QgYmUgdXNlZCBpbmRlcGVuZGVudGx5IikpOworICAgICAgICAgICAgICBfCisgICAgICAg ICAgICAgICgiLS1tYWtlZGVwIGFuZCAtLW1ha2VkZXAtdGFyZ2V0IGNhbm5vdCBiZSB1c2VkIGlu ZGVwZW5kZW50bHkiKSk7Cgp3aGljaCBpcyB3cm9uZy4gIFRoZSB3b3JrYXJvdW5kIHRoZXJlIG1h eSBiZSBhIHNob3J0ZXIgbWVzc2FnZToKCl8oIi0tbWFrZWRlcCBtdXN0IGJlIHVzZWQgd2l0aCAt LW1ha2VkZXAtdGFyZ2V0IikKCj4gKysrIGIvc3JjL3BhdGguYwo+IEBAIC0zNiw2ICszNiwxOCBA QCB0eXBlZGVmIHN0cnVjdCBpbmNsdWRlcyBpbmNsdWRlczsKPiAgc3RhdGljIGluY2x1ZGVzICpk aXJfbGlzdDsgICAgICAvKiB0aGUgbGlzdCBvZiBwYXRoIGRpcmVjdG9yaWVzICovCj4gIHN0YXRp YyBpbmNsdWRlcyAqZGlyX2xpc3RfZW5kOyAgLyogdGhlIGVuZCBvZiBzYW1lICovCj4gIHN0YXRp YyBpbnQgZGlyX21heF9sZW5ndGg7ICAgICAgLyogbGVuZ3RoIG9mIGxvbmdlc3QgZGlyZWN0b3J5 IG5hbWUgKi8KPiArCj4gK3N0cnVjdCBkZXBlbmRlbmN5Cj4gK3sKPiArICBzdHJ1Y3QgZGVwZW5k ZW5jeSAqbmV4dDsgICAgICAvKiBuZXh0IGluIGxpc3Qgb2YgZGVwZW5kZW5jaWVzICovCj4gKyAg aW50IHJlZl9mcm9tOyAgICAgICAgICAgICAgICAgLyogYml0IG1hc2s6IHBsYWNlcyBmaWxlIHJl ZmVyZW5jZWQgZnJvbSAqLwo+ICsgIGNoYXIgcGF0aCBbMV07ICAgICAgICAgICAgICAgIC8qIHBh dGhuYW1lIG9mIHRoaXMgZGVwZW5kZW5jeSAqLwoKSSBzdGlsbCBuZWVkIHRvIHJlc2VhcmNoIHRo ZSBiZXN0IHdheSB0byBkbyB0aGlzOyBidXQgaWYgd2Uga2VlcCBpdAp3aXRoIFsxXSwgR05VIGlu ZGVudCBkb2VzIG5vdCBsaWtlIHRoZSBzcGFjZSBiZWZvcmUgWy4KCj4gK307Cj4gKwo+ICt0eXBl ZGVmIHN0cnVjdCBkZXBlbmRlbmN5IGRlcGVuZGVuY3k7Cj4gKwo+ICtzdGF0aWMgZGVwZW5kZW5j eSAqZGVwZW5kZW5jeV9saXN0OyAgICAgLyogdGhlIGxpc3Qgb2YgZGVwZW5kZW5jaWVzICovCj4g K3N0YXRpYyBkZXBlbmRlbmN5ICpkZXBlbmRlbmN5X2xpc3RfZW5kOyAvKiB0aGUgZW5kIG9mIHNh bWUgKi8KPiAgDAo+IAo+ICB2b2lkCj4gQEAgLTE5NCw2ICsyMDYsNzQgQEAgbTRfcGF0aF9zZWFy Y2ggKGNvbnN0IGNoYXIgKmZpbGUsIGJvb2wgYmluYXJ5LCBjaGFyICoqcmVzdWx0KQo+ICAgIHJl dHVybiBmcDsKPiAgfQo+IAo+ICt2b2lkCj4gK3JlY29yZF9kZXBlbmRlbmN5IChjb25zdCBjaGFy ICogcGF0aCwgaW50IHJlZl9mcm9tKQoKY29uc3QgY2hhciAqcGF0aAoKPiArewo+ICsgIGRlcGVu ZGVuY3kgKmRwOwo+ICsgIHNpemVfdCBsZW4sIG5ieXRlczsKPiArICBmb3IgKGRwID0gZGVwZW5k ZW5jeV9saXN0OyBkcCAhPSBOVUxMOyBkcCA9IGRwLT5uZXh0KQo+ICsgICAgaWYgKHN0cmNtcCAo cGF0aCwgZHAtPnBhdGgpID09IDApCj4gKyAgICAgIHsKPiArICAgICAgICAvKiBSZW1lbWJlciBh bGwgdGhlIHBsYWNlcyB0aGlzIGZpbGUgaGFzIGJlZW4gcmVmZXJlbmNlZCBmcm9tLiAqLwo+ICsg ICAgICAgIGRwLT5yZWZfZnJvbSB8PSByZWZfZnJvbTsKPiArICAgICAgICByZXR1cm47Cj4gKyAg ICAgIH0KPiArCj4gKyAgbGVuID0gc3RybGVuIChwYXRoKTsKPiArICBuYnl0ZXMgPSBvZmZzZXRv ZihkZXBlbmRlbmN5LCBwYXRoWzBdKSArIGxlbiArIDE7CgpvZmZzZXRvZiAoZGVwZW5kZW5jeQoK PiArICBkcCA9IHhtYWxsb2MgKG5ieXRlcyk7Cj4gKyAgZHAtPm5leHQgPSBOVUxMOwo+ICsgIGRw LT5yZWZfZnJvbSA9IHJlZl9mcm9tOwo+ICsgIHN0cmNweSAoZHAtPnBhdGgsIHBhdGgpOwo+ICsK PiArICBpZiAoZGVwZW5kZW5jeV9saXN0X2VuZCA9PSBOVUxMKQo+ICsgICAgZGVwZW5kZW5jeV9s aXN0ID0gZHA7Cj4gKyAgZWxzZQo+ICsgICAgZGVwZW5kZW5jeV9saXN0X2VuZC0+bmV4dCA9IGRw Owo+ICsgIGRlcGVuZGVuY3lfbGlzdF9lbmQgPSBkcDsKPiArfQo+ICsKPiArdm9pZAo+ICtnZW5l cmF0ZV9tYWtlX2RlcGVuZGVuY2llcyAoY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqdGFy Z2V0LCBpbnQgcGhvbnkpCj4gK3sKPiArICBGSUxFICpmcDsKPiArICBpbnQgY29sLCBsZW4sIG1h eGNvbDsKCkFueXRoaW5nIHBvcHVsYXRlZCB3aXRoIHN0cmxlbigpIHNob3VsZCBwcm9iYWJseSBi ZSBzaXplX3QsIG5vdCBpbnQuCgo+ICsgIGRlcGVuZGVuY3kgKmRwOwo+ICsKPiArICBmcCA9IGZv cGVuIChwYXRoLCAidyIpOwo+ICsgIGlmICghZnApCj4gKyAgICB7Cj4gKyAgICAgIG00X2Vycm9y ICgwLCBlcnJubywgTlVMTCwgInVuYWJsZSB0byBvcGVuICVzIiwKPiArICAgICAgICAgICAgICAg IHF1b3RlYXJnX3N0eWxlX21lbSAobG9jYWxlX3F1b3Rpbmdfc3R5bGUsIHBhdGgsIHN0cmxlbiAo cGF0aCkpKTsKCkxvbmcgbGluZS4KCj4gKyAgICAgIHJldHVybjsKPiArICAgIH0KPiArCj4gKyAg LyogR2VuZXJhdGUgdGhlIG1haW4gZGVwZW5kZW5jeSBydWxlLiAqLwo+ICsgIG1heGNvbCA9IDc4 Owo+ICsgIGZwcmludGYgKGZwLCAiJXM6IiwgdGFyZ2V0KTsKPiArICBjb2wgPSBzdHJsZW4gKHRh cmdldCkgKyAxOwo+ICsgIGZvciAoZHAgPSBkZXBlbmRlbmN5X2xpc3Q7IGRwICE9IE5VTEw7IGRw ID0gZHAtPm5leHQpCj4gKyAgICB7Cj4gKyAgICAgIGxlbiA9IDEgKyBzdHJsZW4gKGRwLT5wYXRo KTsKClNob3VsZCB3ZSBzdG9yZSBsZW4gaW4gJ3N0cnVjdCBkZXBlbmRlbmN5JyBzbyB3ZSBhcmVu J3QgcmVjb21wdXRpbmcKc3RybGVuKCkgZWFjaCB0aW1lIGEgbmV3IGxvb2t1cCBpcyBkb25lPwoK PiArICAgICAgaWYgKGNvbCArIGxlbiArIDIgPiBtYXhjb2wpIC8qICsyIGlzIGZvciB0cmFpbGlu ZyBzcGFjZS9iYWNrc2xhc2ggKi8KPiArICAgICAgICB7Cj4gKyAgICAgICAgICBmcHJpbnRmIChm cCwiIFxcXG4gIik7CgpmcCwgIiBcXFxuICIKClVzaW5nIGZwcmludGYgdG8gcHJpbnQgc29tZXRo aW5nIHdpdGhvdXQgJSBpcyBvdmVya2lsbDsgZnB1dHMgaXMKYmV0dGVyLiAgV2h5IGlzIHRoZSBu ZXh0IGxpbmUgc3RhcnRpbmcgd2l0aCBhIHNwYWNlIGhlcmU/Cgo+ICsgICAgICAgICAgY29sID0g MTsKPiArICAgICAgICB9Cj4gKyAgICAgIGZwcmludGYgKGZwLCAiICVzIiwgZHAtPnBhdGgpOwo+ ICsgICAgICBjb2wgKz0gbGVuOwo+ICsgICAgfQo+ICsgIGZwdXRzICgiXG4iLCBmcCk7Cj4gKwo+ ICsgIC8qIEdlbmVyYXRlIHBob255IHRhcmdldHMgZm9yIHVzZXItc3BlY2lmaWVkIHN1YnNldCBv ZiBkZXBlbmRlbmNpZXMuICovCj4gKyAgaWYgKHBob255ICE9IDApCj4gKyAgICBmb3IgKGRwID0g ZGVwZW5kZW5jeV9saXN0OyBkcCAhPSBOVUxMOyBkcCA9IGRwLT5uZXh0KQo+ICsgICAgICBpZiAo KGRwLT5yZWZfZnJvbSAmIHBob255KSAhPSAwKQo+ICsgICAgICAgIGZwcmludGYgKGZwLCAiXG4l czpcbiIsIGRwLT5wYXRoKTsKPiArCj4gKyAgZmNsb3NlIChmcCk7CgpJIHJlYWxseSBoYXZlIG5v dCB5ZXQgaW5wc2VjdGVkIHRoZSBvdXRwdXQgZmlsZXMgdG8gbWFrZSBzdXJlIHRoZXkKbG9vayBz YW5lOyBzaG91bGQgdGhleSBpbmNsdWRlIGFueSBoZWFkZXIgKHN1Y2ggYXMgImdlbmVyYXRlZCBi eSAuLi4iKQp0byBtYWtlIGl0IG9idmlvdXMgdGhleSB3ZXJlIGNvbXB1dGVkIGJ5IGEgcnVuIG9m IG00PyAgVGhpcyBpcyB3aHkgSQppbnNpc3QgdGhhdCB0aGVyZSBiZSB0ZXN0c3VpdGUgY292ZXJh Z2UuCgotLSAKRXJpYyBCbGFrZSwgUHJpbmNpcGFsIFNvZnR3YXJlIEVuZ2luZWVyClJlZCBIYXQs IEluYy4KVmlydHVhbGl6YXRpb246ICBxZW11Lm9yZyB8IGxpYmd1ZXN0ZnMub3JnCgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTTQtcGF0Y2hlcyBtYWls aW5nIGxpc3QKTTQtcGF0Y2hlc0BnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL200LXBhdGNoZXMK