[Python-Dev] addressing distutils inability to track file dependencies

Guido van Rossum guido@python.org
Fri, 14 Jun 2002 15:11:30 -0400

> > I thought that the thing to do this was
> > 
> >   python setup.py build_ext -i
> oh, that's definitely close enough.
> that's what you get for reading the docs instead of trying
> every combination of the available options ;-)
> (maybe someone who knows a little more about distutils
> could take an hour and add brief overviews of all standard
> commands to the reference section(s)?  just having a list
> of all commands and command options would have helped
> me, for sure...)

Instead of bothering with the (mostly) harmless but also mostly
unhelpful manuals, try the --help feature.  E.g. this has the info you

$ python setup.py build_ext --help
Global options:
  --verbose (-v)  run verbosely (default)
  --quiet (-q)    run quietly (turns verbosity off)
  --dry-run (-n)  don't actually do anything
  --help (-h)     show detailed help message

Options for 'PyBuildExt' command:
  --build-lib (-b)     directory for compiled extension modules
  --build-temp (-t)    directory for temporary files (build by-products)
  --inplace (-i)       ignore build-lib and put compiled extensions into the
                       source directory alongside your pure Python modules
  --include-dirs (-I)  list of directories to search for header files
                       (separated by ':')
  --define (-D)        C preprocessor macros to define
  --undef (-U)         C preprocessor macros to undefine
  --libraries (-l)     external C libraries to link with
  --library-dirs (-L)  directories to search for external C libraries
                       (separated by ':')
  --rpath (-R)         directories to search for shared C libraries at runtime
  --link-objects (-O)  extra explicit link objects to include in the link
  --debug (-g)         compile/link with debugging information
  --force (-f)         forcibly build everything (ignore file timestamps)
  --compiler (-c)      specify the compiler type
  --swig-cpp           make SWIG create C++ files (default is C)
  --help-compiler      list available compilers

usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help


--Guido van Rossum (home page: http://www.python.org/~guido/)