.. vim:syntax=rest

Basic tasks
===========

Then, those are the old remaining things to do (once we get to the point we
were when scons was inside numpy repository):
    - remove duplicate between check_code and check_include_and_run.
    - remove code for building empty programs: replace it by proper sconf (see
      below)
    - f2py tool: see F2PY section 
    - clean the code of numpyenv; in perticular: builder creation (should be
      done through tools), rename functions, and set the order right (0.6*
      serie).
    - clean up numpy.core building (0.6* serie): avoid explicit build dir and co
    - add a function to set up distutils build dirs and call the builder (0.6)
    - CXX optimizations flags + Control cxxflags from env
    - Add CPPPDEFINES in perflib checkers 
    - handle inplace
    - doc
    - CLAPACK: check old atlas
    - setuptools integration
    - solution to handle sdist (source files)
    - automatic handling of python header and python lib for python extensions.
    - handle numpy headers, too

Meta Goals:
    - 0.5: make scipy buildable by numscons.
    - 0.6: Python Extension builder + upstream Fortran changes
    - 0.7: f2py tool thread-safe, fortran improvements
    
Cleaning checkers modules:
    - Refactor site config custom: remove duplicate between core.libinfo and
      checkers.perflib_info
    - Have test for fortran

Things to implement / problems to solve:
    - Make 'real' python extension builders
    - f2py interoperability ?
    - fortran compiler optimization / option (underscore and so on)

F2py:
    - Numpy version to handle build dir issues
    - Difference between .f and .pyf:
    - Make it thread-safe: through scons or python execution (using f2py on one
      file is generally time-consuming, so launching it through python exec
      should not be too bad; the other solution is to handle it at scons level)

Tests:
    - What can be tested ?

Fortran:
    - improve Fortran runtime detection for upstream integration
    - improve Fortran mangling and dummy main detection for upstream
      integration

Not so important things:
    - improve BrokenMathlib and Mathlib in core, and make them available to
      everyone
    - Generic Api builders (with dep tracking)
    - Generic FromTemplate builder (with dep tracking)

Upstream scons changes needed:
==============================

(we cannot use external scons before those are integrated in scons)

Builder
-------

New builders we can add to scons (and needed by numscons):

    - a PythonExtension builder independant of distutils
    - a CtypesExtension builder
    - pyrex builder ?

Fortran code
------------

Finish work on refactored scons

Misc
----

We need the following:
        
    - Being able to run a builder and capture its output (both stdout and
      stderr)
    - building blocks for checkers

Documentation:
==============
    - scons / distutils integration, global design (BuildDir, directories, etc...)
    - use cases: package developers (examples, etc...), numpy developers,
      building numpy with scons, etc...

