GENERAL ------- * how to commands communicate non-option data amongst themselves? eg. 'install_py' might want to ask 'build_py' which .py files to install and compile -- how should that be handled (NB. implies that 'build' must be run before 'install' is run, can't just go by what's in the filesystem) -> currently done by commands just knowing about each others' options and methods; this seems to work, and I don't see a need for further bureaucracy here * I think fancy_getopt needs to get fancier to properly support the -I, -D, -l, -L, etc. options of "build_ext": need to be able to accumulate multiple options in a list, should be able to split a string on a given delimiter, probably want to specify if repetitions of the same option will accumulate or replace, etc. BUILD/INSTALL ------------- * "site" vs "std" install directories need to be more symmetrical. Perhaps: 'install_std_lib' and 'install_std_platlib' vs 'install_site_lib' and 'install_site_platlib' and when we know the installation scheme ('std' or 'site'), we pick one of these pairs as 'install_lib' and 'install_platlib'. Then the install_* commands need only refer to 'install_lib' and 'install_platlib', and not worry about the installation scheme. EXTENSION BUILDING ------------------ EXTERNAL DEPENDENCIES --------------------- * ??? do we need to implement autoconf in Python (shudder) ??? * if not, how to handle the case of "if Tk present, build with it" in PIL, or "define HAVE_STRFTIME if we have strftime()" in mxDateTime"?