Re: Making setup.py run external command to build

Tzu-ping Chung <[email protected]> Tue, 23 Mar 2021 19:56:05 +0800
Newsgroups gmane.comp.python.distutils.devel
Message-ID <[email protected]>
DQo+IE9uIDIzIE1hciAyMDIxLCBhdCAxOToxMywgSnVsaWFuIFNtaXRoIDxqdWxlc0BvcDU5Lm5l
dD4gd3JvdGU6DQo+IA0KPiBBcHByb2FjaCAxIGlzIHRvIHBhc3MgY2FsbGJhY2tzIHRvIGRpc3R1
dGlscy5jb3JlLnNldHVwKCkgb3INCj4gc2V0dXB0b29scy5zZXR1cCgpLiBIb3dldmVyIHRoZXJl
IGRvZXNuJ3QgYXBwZWFyIHRvIGJlIGRvY3VtZW50YXRpb24gaW4NCj4gZWl0aGVyIG9mIHRoZXNl
IG1vZHVsZXMgYWJvdXQgd2hhdCBzdWNoIGNhbGxiYWNrcyBzaG91bGQgZG8gb3IgaG93L3doZW4N
Cj4gdGhleSBhcmUgY2FsbGVkLiBUaGUgb25seSB3YXkgdG8gZmlndXJlIHRoaW5ncyBvdXQgc2Vl
bXMgdG8gYmUgdG8gbG9vaw0KPiBhdCB0aGUgZGlzdHV0aWxzIG9yIHNldHVwdG9vbHMgc291cmNl
LCB3aGljaCBpJ20gZmluZGluZyBwcmV0dHkgb3BhcXVlLg0KDQpbc25pcHBlZF0NCg0KPiBBcyBm
YXIgYXMgaSBjYW4gdGVsbCwgY2FsbGJhY2tzIGFyZSBvbmx5IGdpdmVuIGluZm9ybWF0aW9uIGFi
b3V0IHRoZQ0KPiBvcmlnaW5hbCBjb21tYW5kIGxpbmUgYXJndW1lbnRzIHJhdGhlciB0aGFuIG1v
cmUgYWJzdHJhY3QgaW5mb3JtYXRpb24NCj4gc3VjaCBhcyB3aGVyZSB0byBwdXQgb3V0cHV0IGZp
bGVzLCBzbyBkaXN0dXRpbHMgYW5kIHNldHVwdG9vbHMgZG9uJ3QNCj4gc2VlbSB0byBiZSBnaXZp
bmcgYW55IGFkZGVkIHZhbHVlIGhlcmUuDQoNCltzbmlwcGVkXQ0KDQo+IEdpdmVuIGhvdyBmdW5k
YW1lbnRhbCB0aGUgcGlwIHRvb2wgaXMgdG8gUHl0aG9uIHBhY2thZ2luZywgaSB3YXMgaG9waW5n
DQo+IHRoYXQgdGhlIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgdGhhdCBwaXAgcGFzc2VzIHRvIHNl
dHVwLnB5IHdvdWxkIGJlDQo+IHN0YW5kYXJkaXNlZCBhbmQgZG9jdW1lbnRlZCwgYnV0IHRoaXMg
ZG9lc24ndCBzZWVtIHRvIGJlIHRoZSBjYXNlLg0KDQpXaGF0IHlvdSBnZXQgZnJvbSBwaXAgaXMg
c3RhbmRhcmRpc2VkIGFuZCBkb2N1bWVudGVkIGluIFBFUCA1MTcuIFRoZQ0KcGFydCB0aGF04oCZ
cyBub3Qgc28gaXMgd2hhdCBoYXBwZW5zICphZnRlciogc2V0dXAgdG9vbHMgcmVjZWl2ZXMgdGhv
c2UNCnRoaW5ncywgd2hpY2ggaXMgZW50aXJlbHkgc2V0dXB0b29scyBpbnRlcm5hbHMuDQoNCltz
bmlwcGVkXQ0KDQo+IFNvIGFzIGZhciBhcyBpIGNhbiB0ZWxsLCB0aGVyZSBhcmUgdHdvIGxldmVs
cyBvZiBhYnN0cmFjdGlvbiBhdCB3aGljaA0KPiBvbiBjYW4gaW1wbGVtZW50IGN1c3RvbWlzZWQg
UHl0aG9uIHBhY2thZ2luZyAodGhlIHNldHVwdG9vbHMuc2V0dXAoKSdzDQo+IGNhbGxiYWNrcyBv
ciB0aGUgc2V0dXAucHkgY29tbWFuZCBsaW5lKSwgYnV0IG5laXRoZXIgb25lIHNlZW1zIHRvIGJl
DQo+IGRvY3VtZW50ZWQgb3Igc3RhbmRhcmRpc2VkLg0KPiANCj4gSXMgdGhhdCByaWdodD8gT3Ig
YW0gaSBtaXNzaW5nIHNvbWV0aGluZyBmdW5kYW1lbnRhbCBoZXJlPw0KDQpZb3XigJlyZSBiYXNp
Y2FsbHkgY29ycmVjdCwgdGhlcmUgYXJlIHR3byBhYnN0cmFjdGlvbnMgaW4gcGxheS4gVGhlIGZp
cnN0DQooYmV0d2VlbiBwaXAgYW5kIHNldHVwdG9vbHMpIGlzIGRvY3VtZW50ZWQuIFRoZSBzZWNv
bmQgKGJldHdlZW4NCnNldHVwdG9vbHMgYW5kIHRoZSBleHRlcm5hbCBjb21tYW5kKSBpcyBub3Qs
IGJlY2F1c2UgdGhhdOKAmXMgc2V0dXB0b29scw0KaW50ZXJuYWxzIGFuZCBzZXR1cHRvb2xzIGRv
ZXNu4oCZdCByZWFsbHkgZXhwZWN0IHBlb3BsZSB0byBtZXNzIHdpdGgNCnRoZW0uIFlvdSBzdGls
bCBjYW4gaWYgeW91IHdhbnQgdG8sIG9mIGNvdXJzZSwgYnV0IHlvdeKAmXJlIG9uIHlvdXIgb3du
Lg0KDQpTbyBteSBhZHZpY2Ugd291bGQgYmUgdG8gZGl0Y2ggc2V0dXAgdG9vbHMgZW50aXJlbHkg
YW5kIHdvcmsgZGlyZWN0bHkgd2l0aA0KdGhlIFBFUCA1MTcgaW50ZXJmYWNlLiBZb3UgZG9u4oCZ
dCBuZWVkIHRvIHN0YXJ0IGZyb20gc2NyYXRjaCB0aG91Z2g7IHRoZXJlDQphcmUgc2V2ZXJhbCBQ
RVAgNTE3IGltcGxlbWVudGF0aW9ucyBvdGhlciB0aGFuIHNldHVwdG9vbHMsIGFuZCBzb21lIG9m
DQp0aGVtIGFscmVhZHkgaW1wbGVtZW50ZWQgc29tZSBtZWNoYW5pc21zIHRvIGNhbGwgZXh0ZXJu
YWwgYnVpbGQgY29tbWFuZHMsDQpzdWNoIGFzIGVuc2NvbnNbMV0gKHZpYSBTQ29ucykgYW5kIFBE
TVsyXSAodmlhIHNldHVwdG9vbHMpLiBTb21lIG90aGVyDQpwcm9qZWN0cyBhbHNvIGhhdmUgYWxy
ZWFkeSBleHByZXNzZWQgaW50ZXJlc3RzIHN1cHBvcnRpbmcgdGhpcywgc3VjaCBhcw0KRmxpdFsz
XSwgYW5kIEkgdGhpbmsgdGhleeKAmWQgYmUgbW9yZSB0aGFuIGhhcHB5IHRvIGRpc2N1c3MgdGhp
cyBpZiB5b3UNCndhbnQgdG8gd29yayB0aGlzIHdpdGggdGhlbS4NCg0KWzFdOiBodHRwczovL2dp
dGh1Yi5jb20vZGhvbHRoL2Vuc2NvbnMNClsyXTogaHR0cHM6Ly9naXRodWIuY29tL2Zyb3N0bWlu
Zy9wZG0NClszXTogaHR0cHM6Ly9naXRodWIuY29tL3Rha2x1eXZlci9mbGl0DQoNCi0tDQpUenUt
cGluZyBDaHVuZyAoQHVyYW51c2pyKQ0KdXJhbnVzanJAZ21haWwuY29tDQpodHRwczovL3VyYW51
c2pyLmNvbQ0KDQotLQpEaXN0dXRpbHMtU0lHIG1haWxpbmcgbGlzdCAtLSBkaXN0dXRpbHMtc2ln
QHB5dGhvbi5vcmcKVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBkaXN0dXRpbHMtc2ln
LWxlYXZlQHB5dGhvbi5vcmcKaHR0cHM6Ly9tYWlsLnB5dGhvbi5vcmcvbWFpbG1hbjMvbGlzdHMv
ZGlzdHV0aWxzLXNpZy5weXRob24ub3JnLwpNZXNzYWdlIGFyY2hpdmVkIGF0IGh0dHBzOi8vbWFp
bC5weXRob24ub3JnL2FyY2hpdmVzL2xpc3QvZGlzdHV0aWxzLXNpZ0BweXRob24ub3JnL21lc3Nh
Z2UvQkRHTkpUVVU3QTM2WFpJUktFNjRMQTczR0o2TFdYRlQvCg==