Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-09-04 04:12:56


David Abrahams wrote:
> Is it possible to build Python extensions (on Windows) with BBv2
> yet? What would it take to get that going?

I've got 'getting_started1' module build after making the attached changes
(which still are not ready to be comitted).

Alas, loading the module does not work. I get an error that MSVCP60D.dll is
not found, and I don't know what this DLL is and where it comes from. Any
ideas?

- Volodya
 --Boundary-00=_YIwV/wryIuc1/0B Content-Type: text/x-diff;
charset="iso-8859-1";
name="python.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="python.diff"

? tools/whale.jam
Index: new/builtin.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/new/builtin.jam,v
retrieving revision 1.106
diff -u -r1.106 builtin.jam
--- new/builtin.jam 29 Aug 2003 07:01:13 -0000 1.106
+++ new/builtin.jam 4 Sep 2003 09:09:13 -0000
@@ -253,7 +253,7 @@
# ordinary library. Therefore, we specify only suffixes
# used for generation of targets.
type.set-generated-target-suffix PYTHON_EXTENSION : : so ;
-type.set-generated-target-suffix PYTHON_EXTENSION : <os>NT : so ;
+type.set-generated-target-suffix PYTHON_EXTENSION : <os>NT : dll ;
type.set-generated-target-suffix PYTHON_EXTENSION : <os>CYGWIN : dll ;

type.register CPP : cpp cxx cc ;
Index: tools/msvc.jam
===================================================================
RCS file: /cvsroot/boost/boost/tools/build/tools/msvc.jam,v
retrieving revision 1.10
diff -u -r1.10 msvc.jam
--- tools/msvc.jam 18 Aug 2003 04:39:43 -0000 1.10
+++ tools/msvc.jam 4 Sep 2003 09:09:13 -0000
@@ -313,6 +313,7 @@

flags msvc NEEDLIBS <library-file> ;
flags msvc LINKFLAGS <main-target-type>LIB/<link>shared : /DLL ;
+flags msvc LINKFLAGS <main-target-type>PYTHON_EXTENSION/<link>shared : /DLL ;

toolset.flags msvc.link USER_LINKFLAGS <linkflags> ;
toolset.flags msvc.link LINKPATH <library-path> ;
 --Boundary-00=_YIwV/wryIuc1/0B Content-Type: text/x-diff;
charset="iso-8859-1";
name="Jamfile.diff"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="Jamfile.diff"

? Jamfile.diff
? bin
Index: Jamfile.v2
===================================================================
RCS file: /cvsroot/boost/boost/libs/python/build/Jamfile.v2,v
retrieving revision 1.5
diff -u -r1.5 Jamfile.v2
--- Jamfile.v2 13 Jan 2003 12:31:12 -0000 1.5
+++ Jamfile.v2 4 Sep 2003 09:10:13 -0000
@@ -1,8 +1,11 @@
import os ;
+import modules ;

# Use a very crude way to sense there python is locatted

-local PYTHON_PATH ;
+
+local PYTHON_PATH = [ modules.peek : PYTHON_PATH ] ;
+ECHO "XXX" $(PYTHON_PATH) ;

if [ GLOB /usr/local/include/python2.2 : * ]
{
@@ -19,7 +22,7 @@
defines = USE_DL_IMPORT ;

# Declare a target for the python interpreter library
- lib python : : <name>python2.2.dll ;
+ lib python : : <name>python22 <search>$(PYTHON_PATH)/libs ;
PYTHON_LIB = python ;
}
else
@@ -32,15 +35,15 @@

if $(PYTHON_PATH) {

-
+ECHO "HERE" ;
project boost/python
: source-location ../src
- : requirements <include>$(PYTHON_PATH)/include/python2.2
- $(lib_condition)<library-path>$(PYTHON_PATH)/lib/python2.2/config
+ : requirements <include>$(PYTHON_PATH)/include
+ $(lib_condition)<library-path>$(PYTHON_PATH)/libs
<link>shared:<library>$(PYTHON_LIB)
<define>$(defines)
: usage-requirements # requirement that will be propageted to *users* of this library
- <include>$(PYTHON_PATH)/include/python2.2
+ <include>$(PYTHON_PATH)/include

# We have a bug which causes us to conclude that conditionalized
# properties in this section are not free.
 --Boundary-00=_YIwV/wryIuc1/0B--


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk