On 30 August 1999, Guido van Rossum said: > Indeed. I'm guessing that Greg wrote his code specifically to drive > compilers, not so much to invoke an editor on a specific file. It so > happens that the Windows compilers have command lines that look > sufficiently like the Unix compilers that this might actually work. Correct, but the spawn module I posted should work for any case where you want to run an external command synchronously without redirecting I/O. (And it could probably be extended to handle those cases, but a) I don't need them for Distutils [yet!], and b) I don't know how to do it portably.) > On the Mac, driving the compilers is best done using AppleEvents, so > it's probably better to to try to abuse the spawn() interface for > that... (Greg, is there a higher level where the compiler actions are > described without referring to specific programs, but perhaps just to > compiler actions and input and output files?) [off-topic alert... probably belongs on distutils-sig, but there you go] Yes, my CCompiler class is all about providing a (hopefully) compiler- and platform-neutral interface to a C/C++ compiler. Currently there're only two concrete subclasses of this: UnixCCompiler and MSVCCompiler, and they both obviously use spawn, because Unix C compilers and MSVC both provide that kind of interface. A hypothetical sibling class that provides an interface to some Mac C compiler might use a souped-up spawn that "knows about" Apple Events, or it might use some other interface to Apple Events. If Jack's simplified summary of what passing Apple Events to a command looks like is accurate, maybe spawn can be souped up to work on the Mac. Or we might need a dedicated module for running Mac programs. So does anybody have code to run external programs on the Mac using Apple Events? Would it be possible/reasonable to add that as '_spawn_mac()' to my spawn module? Greg -- Greg Ward - software developer gward@cnri.reston.va.us Corporation for National Research Initiatives 1895 Preston White Drive voice: +1-703-620-8990 Reston, Virginia, USA 20191-5434 fax: +1-703-620-0913
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4