David Fraser
davidf at sjsoft.com
Fri Mar 5 12:51:02 EST 2004
Gregory (Grisha) Trubetskoy wrote: >[snip] > > >>To build the win32 installer it needs to be done in the dist directory >>(apparently under Unix) >>I had troubles trying to run configure on MinGW as it needs an apxs to >>find... >>but the APXS is not actually needed for the setup script (the code that >>used it is commented out) >>So I ran configure on Linux, and built the installer there... >>This is done by copying src/Release/mod_python.so to the dist directory. >> >> > >not anymore, it now can be done under windows. In fact it *has* to because >this step also compiles _psp. > >you DO need to manually create a setup.py from setup.py.in since >./configure, as you noted, won't work on windows > > > >>In fact I found that by simply copying the setup.py generated on Linux I >>could run this on Windows >>The instruction is: >> setup.py bdist_wininst --install-script=win32_postinstall.py >> >> > >perhaps distutils take care of it automtically, but I've always >done it separately, building the mod_python package for the standard lib, >which would be a step just before the bdist_wininst. > >I had to copy src and mod_python (in lib/python) to under dist (on unix >the makefiles creates symlinks, but they don't work under windows, so you >have to copy), then run > >(This has to be run from the VC++ msdos shell, since it will invoke the >compiler to build _psp.so (or _psp.dll, don't remember)) > > python setup.py build > > OK, trying to get the win32 build for psp going ... Previous message from Grisha on the subject (sent privately to me on 08/21/2003 07:15 PM): >The you'll need to build _psp.so - that you need to do in the dist >directory, and you will need to manually create a setup.py file from >setup.py.in. I think you will also need to copy src and lib into dist in >order to make it work. Then you do python setup.py build and it should >produce _psp.so. > >Ah, also, you'll need to edit psp_parser.c and comment out a reference to >unistd.h, also need to do that in include/psp_flex.h. > > There's a option nounistd in the psp_parser.l code which doesn't work. However, adding --nounistd to the flex command line does work (it removes the includes nicely) This also sorts out include/psp_flex.h It's worth noting that flex 2.5.31 compiles and works out of the box on CygWin (but not MinGW). Anyway I have now modified the setup.py.in so that it can be used to compile without manually copying the src and lib directories. The paths are determined automatically. I have tested this on Windows and Linux but obviously it would need further testing... I attach a patch for setup.py.in With this, mod_psp compiles successfully on Windows and passes the tests... I also tried getting the install script to run automatically without having to specify it on the command line but distutils makes it tricky... Cheers David -------------- next part -------------- A non-text attachment was scrubbed... Name: setup-compilepsp.patch Type: text/x-patch Size: 4960 bytes Desc: not available Url : http://mailman.modpython.org/pipermail/mod_python/attachments/20040305/a9844b5c/setup-compilepsp.bin
|