Opened 19 years ago
Closed 19 years ago
#31 closed defect (fixed)
Move util.py and its extension out from pyvolution to utilities/numerical_tools
Reported by: | ole | Owned by: | ole |
---|---|---|---|
Priority: | normal | Milestone: | AnuGA ready for release |
Component: | Compilation and installation | Version: | 1.0 |
Severity: | normal | Keywords: | |
Cc: |
Description (last modified by ole)
This relates to the issues raised in ticket:20 and changeset:1856 about c-extensions.
Background:
- util.py provides general functionality such as gradient computations
- util.py relies on its C-extension and the associated header file for speed
- However, other C extensions (such as shallow_water) relies directly on util_ext.h
We need an elegant solution that
- Avoids code duplication
- Allows common libraries to appear in directories separate from e.g. pyvolution
- Minimises any extra setup requirements
One idea would be to move the functionality from util and its extensions to utilities/numerical_tools and then have shallow_water_ext.c do #include <utilities/numerical_tools.h>
This could be accomplihed by adding the root dir (currently also in PYTHONPATH) to the -I option when compiling. If this could be done automatically, this solution will work nicely. However, it would be undesirable to introduce another environmant variable specifying the root dir for compilation purposes.
A clean solution is required.
Ideas Look at how is Numeric/arrayobject.h is found and mimic that! (This assumes that Numeric is already in Python/include)
The cleanest for our installation would be to add the anuga root dir to include_dirs in distutils, but for running out of the sandpit I suggest we add directories from sys.path to -I in compile.py
Change History (6)
comment:1 Changed 19 years ago by ole
- Description modified (diff)
comment:2 Changed 19 years ago by ole
- Description modified (diff)
comment:3 Changed 19 years ago by ole
- Status changed from new to assigned
comment:4 Changed 19 years ago by ole
- Description modified (diff)
comment:5 Changed 19 years ago by ole
- Description modified (diff)
comment:6 Changed 19 years ago by ole
- Resolution set to fixed
- Status changed from assigned to closed
Done - see changeset:2508 and changeset:2509