[Python-checkins] CVS: distutils TODO,1.1,1.2

Greg Ward python-dev@python.org
Thu, 1 Jun 2000 19:09:56 -0700


Update of /cvsroot/python/distutils
In directory slayer.i.sourceforge.net:/tmp/cvs-serv9978

Modified Files:
	TODO 
Log Message:
Recently revived the to-do list after months of hibernation --
lots of additions and a few deletions.

Index: TODO
===================================================================
RCS file: /cvsroot/python/distutils/TODO,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** TODO	1999/12/16 01:13:05	1.1
--- TODO	2000/06/02 02:09:53	1.2
***************
*** 2,14 ****
  -------
  
- * 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
--- 2,5 ----
***************
*** 17,33 ****
    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.
  
  
--- 8,93 ----
    repetitions of the same option will accumulate or replace, etc.
  
+ * do the above options even work at all?  seem to recall hearing
+   reports of dismal failure, but I never looked into it
+   [knowing how FancyGetopt works, there's no way these options
+   can work: damn]
+ 
+ * think about how to support distribution-specific "configure" commands --
+   eg. how can they push option values (include/library directories, that
+   sort of thing) onto the "build_ext" command?
+ 
+ * should/can the 'finalize_options()' methods be made more robust, so
+   you can sensibly call them multiple times?  this might be all that's
+   necessary to enable option-pushing...
+   [no: added reinitialize_command(), which *is* what's needed to enable
+    option-pushing]
+ 
+ * inconsistent use of -f (sdist vs bdist) -- force or format?
+ 
+ * fix UnixCCompiler so it doesn't depend on sysconfig (ie. cc must
+   be passed in)
+ 
+ * allow user to supply cc (compiler executable) in addition to
+   compiler type
+ 
+ * ?? add pre-processor interface to CCompiler ?? (needed to support
+   Autoconf-style 'try_cpp', 'search_cpp', 'search_headers' in config
+   commands)
+ 
+ * radically simplify CCompiler method signatures: drop most of the
+   per-invocation customization, and just use the instance
+   attributes for eg. include_dirs, libraries, ...
+ 
+ * need a good, general-purpose, portable-if-you-want-it, unportable-if-
+   you-need-control, way for the builder/installer to specify compiler
+   and linker flags (lots of people expect CFLAGS and LDFLAGS to work,
+   so they probably should; but options to either command and/or
+   build are the right way, so those should be preferred)
+ 
+ 
+ HELP
+ ----
+ 
+ * interface for "help about some option" -- eg. --help-compiler to
+   build_ext would list available compilers; --help-formats to "sdist"
+   or "bdist" would list available distribution formats; ...
+   [delegated to Rene Liebscher]
+ 
  
+ DOCS
+ ----
+ 
+ * write write write
+ 
+ * standard blurb for README files
+ 
+ 
+ 
  BUILD/INSTALL
  -------------
+ 
+ * if Distutils installs the first third-party modules in an installation
+   (and creates site-packages), then "install" needlessly warns about
+   having installed to a location not on sys.path -- presumably because
+   site-packages isn't in sys.path at startup, since it doesn't exist
+   until we create it!  (I think this is only a problem with 1.5.2,
+   since site-packages is now created when Python is installed -- check!)
+ 
+ * write a class Extension (name?) to hold all the information needed
+   to describe a single extension -- ie. replace the (ext_name, build_info)
+   tuple (particularly build_info!)
+   [done 2000/05/30 GPW]
+ 
+ * need a mechanism for specifying pre-install and post-install hooks,
+   which will be run when installing from a smart built distribution
+   (RPM, wininst, etc.); also, "install" needs to run these hooks
+   *except* for "fake" installs done solely to create a built distribution
+ 
+ * extension building on AIX
+ 
+ * bdist_dumb should grow a little intelligence: let packager choose whether
+   to make archive relative to prefix or the root (prefix is essential
+   for proper Windows support )
  
  
  
***************
*** 35,42 ****
--- 95,121 ----
  ------------------
  
+ * review and integrate cygwin patch from Rene Liebscher
+ 
  
+ DISTRIBUTIONS
+ -------------
+ 
+ * review/tweak bdist_rpm code from Harry Gebel (minor style issues, fix
+   hardcoded directories)
+   [done 2000/06/01 GPW, but in need of serious testing!]
+ 
+ * figure out why bdist_rpm doesn't work with RPM 2.x, and make it work if
+   possible
+ 
+ * make "bdist" take multiple formats (both for convenience
+   and consistency with "sdist"); should be doable now that we can
+   reinitialize, refinalize, and (presumably) rerun commands
+ 
+ 
  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"?