On 31-7-2014 16:11, Liam White wrote:
The devlibs setup is actually the most simplified way to build
Inkscape, because one does not need to download and install MSYS to
build it on Windows this way.
I agree with Liam. Our current setup for Windows is about as simple as I
can imagine (for both 32 and 64 bit). The most difficult thing is
setting up Bazaar, which is unrelated to setting up the build
environment. Once one can checkout Inkscape's source, the only build
setup steps that are required are: bzr checkout devlibs, and
downloading and unzipping mingw. There is very little room for
improvement here; certainly MSYS2's installation instructions are more
'difficult'. I don't think setting up our build setup is preventing
developers on Windows to join the project.
That said, there is a cost of our simplicity: someone has to maintain
the devlibs. With the hard work of Partha and Liam, we have managed to
get devlibs64 up; without them we probably still would not have had
64bit. 64-bit builds are possible because we modified our code to get it
built with 64bit! We already have official 64bit builds :)
It'd be nice to have another project maintain a "devlibs", effectively
what MSYS2 would provide for us, possibly at the cost of some *reduced*
simplicity in setting up the build environment (based of of the
installation instructions online for MSYS2). Perhaps it is as easy as
just copying the binaries/headers into our devlibs though...
(Does MSYS2 provide clang binaries that are usable for compiling Inkscape?)
On Jul 31, 2014 4:00 AM, "Ruben Van Boxem"
I wanted to explore the possibility of a 64-bit Windows build of
Inkscape (for obvious reasons of increased memory availability),
and discovered the "effort" had already been done by the great
people of MSYS2 and MinGW-w64.
I would strongly suggest the Windows developers look into
switching to this development platform instead of the current,
manually maintained "devlibs" setup. Perhaps this suggestion can
be made more plausible if I attempt to explain what MSYS2 and
MinGW-w64 is an active project that provides Win32 headers and
libraries so that GCC can be used on Windows, both 32- and 64-bit.
It has replaced "ye olde" MinGW.org
on numerous Linux distros
(most notably Debian, Fedora, OpenSUSE, Ubuntu, and Arch). It is
also the toolchain distributed alongside the Qt SDK releases.
MSYS2 is an updated version of the old MSYS (it takes a newer
version of Cygwin, applies the MSYS patches, and presto: a Unix
shell environment for building Unix/cross-platform software on
Windows). Additionally, MSYS2 provides a complete repository of
binary packages, linux-distro style. What the developers did was
port Arch Linux' package manager, pacman, and create a whole
ecosystem around it of ready-made MinGW-w64 packages. The full
list can be found here
You'll notice that the list contains a mingw-w64-inkscape package.
What this means is that there is an easy way of
obtaining/building/... inkscape on Windows, without the need to
jump through too many hoops.
I'm not saying you guys should drop everything and come hide in
the shade of MSYS2, but instead evaluate the current build process
on Windows, and perhaps provide a simplified way of developing
Inkscape on this platform. A free bonus would be the possibility
of providing a 64-bit Inkscape build, which is already possible
without any 64-bit Windows patches thanks to good code by you guys
Also note that cross-compilation from Linux shouldn't be much
harder either, all the aforementioned distros have an extensive
list of MinGW-w64 libraries at their disposal, and using CMake
should make it all "just work". The current wiki's instructions
look abysmally complicated compared to the simplicity made
possible by the MinGW-w64/MSYS2 combo.
I strongly hope you take this into consideration, as it will lead
to a lower entry for developing Inkscape on windows, which in turn
will lead to quicker bug-fixing (I hope ;-)).
Thanks and keep up the fine work!
Ruben (known as rubenvb in the MinGW-w64 mailing community)