Re: Installing synopsis on Windows
Stefan Seefeld <[email protected]> Sat, 12 May 2007 20:30:35 -0400
| Newsgroups | gmane.comp.documentation.synopsis |
|---|---|
| Message-ID | <[email protected]> |
David Genest wrote: > > On 5/12/07, *Stefan Seefeld* <[email protected] > <mailto:[email protected]>> wrote: > > David Genest wrote: > > The current build system is a hybrid that mixes the python distutils > with some autoconf / make build system. I'm not sure exactly what your > MSVC harness would do, whether it would only replace the (embedded) > autoconf / make part or the entire build system. > > > As starters, it builds the Synopsis library and applets from the sources > located at /src. But it can (and will) build the cpp cxx and idl parsers > - well everything compilable in C++. > Does the python distutils distribute only the built libraries and > install them? If it the case, the MSVC harness would only build the > libraries, like I mentioned. distutils is a harness, for which I wrote custom commands. These commands build and install everything, libSynopsis (containing the C++ API), as well as the various python extension modules (essentially all the parser backends). > It would be best (for multiple reasons) if we could first establish > the mingw-based build as a reference (that one triggers if you run > "/path/to/native/python setup.py build" on windows), and then make > the MSVC solution / project reproduce the result. > > > Ok, I'll try that and investigate . > > Let's assume for a moment that we build 'inplace' (an option to > the distutils build harness). This results in: > > * libSynopsis.[so, dll] to end up in lib/ > * C++ applets to end up in bin/ > * Cpp, C, and Cxx parser to end up in Synopsis/Parsers/[Cpp, C, Cxx] > > Does this answer your question ? > > > Yes. And how does python get to those parsers ? (which I beleive are > python extension modules right?) Right. Well, when I build 'inplace' (i.e. during development), I simply set the PYTHONPATH environment variable appropriately, e.g. "PYTHONPATH=`pwd`" in the root directory. That allows the python interpreter to find them. > PS: How much does your solution / project harness depend on the MSVC > version > to use ? Is there a way to have a single harness that works with > multiple > versions ? > > > Unfortunately, every solution and project is bound to a specific MSVC > version. This is why, as convenient as they are, the projects and > solutions are not very maintenance friendly. In the future, we could use > CMake ( http://www.cmake.org/HTML/About.html), which can generate MSVC > projects from description files, and build with make on unix-style > platforms. But that is another story, far from the current approach, > which I don't understand enough anyway. Funny that you mention CMake. There is a long (and a bit heated) debate on the boost devel mailing list about the possibility to use that for future versions of boost... Regards, Stefan -- ...ich hab' noch einen Koffer in Berlin...