Opened 17 years ago
Last modified 6 years ago
#169 new defect
Standard build system should support omega and bindings for windows with MSVC
Reported by: | Richard Boulton | Owned by: | Olly Betts |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Build system | Version: | git master |
Severity: | normal | Keywords: | |
Cc: | Olly Betts, James Aylett, Mark Hammond | Blocked By: | |
Blocking: | Operating System: | Microsoft Windows |
Description (last modified by )
The standard build system (ie, configure, autotools, etc) should be able to detect and use MSVC on a windows system. This will require some unix support stuff to be installed, but MSys & Mingw should suffice (ie, a full cygwin installation shouldn't be needed).
Mark has made some progress in this direction, and Richard made a start at looking at it, so this bug is intended as a place to collaborate.
Olly says: "I don't know if libtool's support has bitrotted though. If it has, there's a (very poorly named) wrapper called "wgcc" which translated gcc options to msvc"
Change History (6)
comment:1 by , 17 years ago
Cc: | added |
---|---|
Owner: | changed from | to
comment:2 by , 17 years ago
Cc: | added |
---|
comment:3 by , 17 years ago
Operating System: | → Microsoft Windows |
---|---|
Status: | new → assigned |
comment:4 by , 9 years ago
Cc: | added |
---|---|
Description: | modified (diff) |
james filed #683, which is a duplicate of this:
It should be possible to drive the MSVC tools (principally the compiler & linker) from autotools, which would provide us with a single build chain for all platforms.
This thread suggests it is mostly a matter of installing MSYS (from mingw, but not using its compiler) and passing suitable options to configure:
https://lists.gnu.org/archive/html/automake/2011-09/msg00003.html
comment:5 by , 7 years ago
Owner: | changed from | to
---|---|
Status: | assigned → new |
Version: | SVN trunk → git master |
You can now build git master with MSVC (either MSVS 2015 or 2017; older versions probably lack sufficient C++11 support) using our standard build system.
I've also set up appveyor CI, testing mingw, mingw64, cygwin, msvs2015 and msvs2017:
https://ci.appveyor.com/project/ojwb/xapian
The config for that is in .appveyor.yml
in the top level of the repo, which should provide hints on how to perform such builds.
Currently xapian-core builds and its testsuite passes for all builds.
I haven't really tried to build omega or the bindings, mostly because sorting out dependencies is tedious on platforms I don't actually use myself (omega needs libmagic and PCRE; the bindings needs the various languages we target). Patches to enable more would be very welcome as once we have CI it'll be easier to keep the builds working.
comment:6 by , 6 years ago
Summary: | Standard build system should support windows with MSVC → Standard build system should support omega and bindings for windows with MSVC |
---|
Retitling to reflect what's left to do
There are now details of how to build xapian-core using MSVC in xapian-core's INSTALL file.
1.4.6 (coming soon) will include all the necessary changes to support this for xapian-core, including that documentation.
Slightly random thought - assuming you want to support builds from SVN, if SWIG is reluctant to build with MSVC, it would be easy to tweak bootstrap to get it to configure SWIG to build with mingw or cygwin GCC instead, while Xapian is built with MSVC...