[Zope-CVS] SVN: zpkgtools/trunk/doc/TODO.txt add notes about a better approach to dealing with C/C++ headers;

Fred L. Drake, Jr. fdrake at gmail.com
Fri Aug 5 11:49:06 EDT 2005


Log message for revision 37737:
  add notes about a better approach to dealing with C/C++ headers;
  this will likely be imported in the near future
  

Changed:
  U   zpkgtools/trunk/doc/TODO.txt

-=-
Modified: zpkgtools/trunk/doc/TODO.txt
===================================================================
--- zpkgtools/trunk/doc/TODO.txt	2005-08-05 15:46:05 UTC (rev 37736)
+++ zpkgtools/trunk/doc/TODO.txt	2005-08-05 15:49:06 UTC (rev 37737)
@@ -9,6 +9,40 @@
 - Need name + acronym to describe what gets built, not normal words
   (Jim sez).  Zope3-Dev seems to want to call them "packages".
 
+- The Python world needs a more reasonable way of associating C/C++
+  header files with a package; what's being used now is close to
+  unworkable for complex installations.
+
+  The current Python recommendation is to install headers in
+  $exec_prefix/include/pythonX.Y/pkgname/.  What pkgname means is not
+  clearly defined, but for distutils, it means the first argument to
+  setup(); examples on an Ubuntu Linux installation include numarray,
+  Numeric, pyogg, and Scientific.
+
+  This does not deal with different versions of a package installed at
+  different points along sys.path; while ideally such versions should
+  be API and ABI compatible, that's a policy decision that each
+  individual package has to make, as we want to avoid assumptions
+  about such policies in a general tool.
+
+  We also need a way to construct provide access to headers provided
+  by one component in a collection distribution from another component
+  in the same distribution.  One approach to this would be to
+  construct a temporary directory to contain headers that would be
+  installed if we install the package, similar to build/scripts-X.Y/.
+  This would need to be added to the set of include paths provided to
+  the C/C++ compilers before the path to the already-installed
+  headers.  This would follow the general disutils principal to
+  construct a temporary copy of what you would install as a build is
+  performed.  If could be implemented as a stock distutils feature,
+  though that isn't strictly necessary.  It would probably be best
+  implemented as a new command, build_headers, that would be run
+  before build_ext.  An alternate install_headers implementation may
+  be needed.
+
+  Such an approach should allow removal of the Dependencies/Includes/
+  directory from distributions that provide headers.
+
 - Package assembler script and distribution runtime
 
   - We should have a way to express dependence on particular versions



More information about the Zope-CVS mailing list