Thanks for the suggestion, Nic. I don't think it would work to use cygwin, because I have to use the same compiler that Python is built with on Windows to be able to build the SWIG bindings, but maybe I should look into building Sword without ICU.

I corresponded with Greg Hellings, and he suggested that maybe I could "just build Sword with the bundled vc10 solution and drop in a manual execution of swordswig akin to the one in CMake," which seemed like a good idea.I tried it, and was able to successfully build Sword and run SWIG, but now I'm stuck on a setup.py file that needs to be run.

What I'm currently doing is:
1. Building lib/vcppmake/libsword.sln in Visual Studio 2010 (with a few minor changes to the SLN and VCXPROJ files necessary to make it work because it is a VC2013 project), which works.
2. From the bindings/swig directory, running the command:
swig.exe -w-451,-402 -shadow -c++ -python -o ../../bindings/swig/python/Sword.cxx -I../../bindings/swig -I../../include -I../../include/internal/regex -I../../../icu-sword/include -I../../src/utilfuns/win32 -I../../../curl/include ../../bindings/swig/sword.i
This also works.
3. From the bindings/swig/python directory (where SWIG generated the CXX file), running the command:
   C:\Python34\python.exe setup.py build
I have attached the setup.py file that I am using. This does *not* work. I get the following error: C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:../../../../sword-build /LIBPATH:C:\Python34\libs /LIBPATH:C:\Python34\PCbuild sword.lib /EXPORT:PyInit__Sword build\temp.win32-3.4\Release\Sword.obj /OUT:build\lib.win32-3.4\_Sword.pyd /IMPLIB:build\temp.win32-3.4\Release\_Sword.lib /MANIFESTFILE:build\temp.win32-3.4\Release\_Sword.pyd.manifest
   LINK : fatal error LNK1181: cannot open input file 'sword.lib'
error: command 'C:\\Program Files\\Microsoft Visual Studio 10.0\\VC\\BIN\\link.exe' failed with exit status 1181 4. Because #3 does not work, running "C:\Python34\python.exe setup.py install" doesn't either and gives the same error.

The problem is that I have no file named sword.lib, because libsword.sln generates libsword.lib. I tried renaming it, and just got some different errors.

(I'm also somewhat confused about the CMake path variables in the setup.py file. Given my current directory tree:
Sword
   > bzip2
   > curl
   > icu-sword
   > sword-1.7.3
           > bindings
                   > swig
                           > python
           > include
         > lib
               > vcppmake
                     > Release
   > sword-build
   > xz
What would be the appropriate values for CMAKE_CURRENT_SOURCE_DIR, CMAKE_SOURCE_DIR, and CMAKE_BINARY_DIR? Currently I'm using the values 'sword-1.7.3/bindings/swig/python', 'sword-1.7.3', and 'sword-build', respectively, but I'm not sure how setup.py would find files in the lib/vcppmake/Release directory.)

I'm not quite sure what to try next. Is there a way I am not aware of to obtain the sword.lib file that I need, or should I try building Sword using CMake with ICU disabled?

Thank you.

-- Timothy
from distutils.core import setup, Extension
setup(name='sword',version='1.7.3',
maintainer='Sword Developers',
maintainer_email='[email protected]',
url='http://www.crosswire.org/sword',
py_modules=['Sword'],
include_dirs=['../', '../../../include', '../../', '../../../'],
ext_modules = [Extension('_Sword',['Sword.cxx'],
libraries=[('sword')],
library_dirs=[('../../../../sword-build')],
)]
,)
_______________________________________________
sword-devel mailing list: [email protected]
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to