diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2014-12-15 18:19:21 -0800 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-12-15 18:19:21 -0800 |
commit | da16258d61e2f2ed9fade335cc56d7e98aa9008b (patch) | |
tree | 6e900c9b0b88b7c90aa30f40cc1563409059008e | |
parent | 899d3aeb3a26fd910dd56b3e5d227cfa207a6326 (diff) | |
download | subsurface-da16258d61e2f2ed9fade335cc56d7e98aa9008b.tar.gz |
INSTALL file: add Windows cross building instructions
And other small adjustments
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | INSTALL | 82 |
1 files changed, 57 insertions, 25 deletions
@@ -140,10 +140,11 @@ $ qmake SPECIAL_MARBLE_PREFIX=1 # on Fedora/OpenSUSE you need qmake-qt5 $ make $ sudo make install # [optionally, add: prefix=/usr/local] -At least on Fedora you need to make sure that /usr/local/lib is searched -for shared libraries (this is where the steps above installed -libdivecomputer and libmarblewidget in oder not to conflict with system +At least on Fedora and OpenSUSE you need to make sure that /usr/local/lib +is searched for shared libraries (this is where the steps above installed +libdivecomputer and libmarblewidget in order not to conflict with system pacakges). So you need to do the following: + $ sudo echo "/usr/local/lib" > /etc/ld.so.conf.d/local.conf $ sudo ldconfig @@ -263,58 +264,89 @@ Cross-building Subsurface on Linux for Windows ---------------------------------------------- Subsurface builds nicely with MinGW - the official builds are done as -cross builds under Linux (currently on Fedora 19). A shell script to do +cross builds under Linux (currently on Fedora 20). A shell script to do that (plus the .nsi file to create the installer with makensis) are included in the packaging/windows directory. +Everywhere below the mingw64- prefix is used for the cross tools. If you +really need a 32bit binary you need to use mingw32- as prefix and you may +also run into issues creating an installable binary with Qt5 (i.e., you +may have to go back to Qt4). + The best way to get libdivecomputer to build appears to be $ mkdir -p ~/src -$ git clone git://git.libdivecomputer.org/libdivecomputer ~/src/libdivecomputer -$ cd ~/src/libdivecomputer -$ git checkout release-0.4 -$ mingw32-configure --disable-shared -$ mingw32-make -$ sudo mingw32-make install +$ cd ~/src +$ git clone -b Subsurface-4.3 git://subsurface-divelog.org/libdc libdivecomputer + # or -b Subsurface-testing to get the testing version - careful, + # careful - this gets rebased and may be broken + +$ cd libdivecomputer +$ autoreconf --install +$ mingw64-configure --disable-shared +$ mingw64-make +$ sudo mingw64-make install To compile Marble, use: -$ mkdir -p ~/src/marble/build -$ git clone -b KDE/4.11 git://anongit.kde.org/marble ~/src/marble/sources -$ cd ~/src/marble/build -$ mingw32-cmake -DCMAKE_BUILD_TYPE=Debug -DQTONLY=TRUE ../sources - - or - -$ mingw32-cmake -DCMAKE_BUILD_TYPE=Release -DQTONLY=TRUE ../sources -$ mingw32-make -j4 -$ mingw32-make install +$ cd ~/src +$ git clone -b Subsurface-4.3 git://subsurface-divelog.org/marble marble-source + # or -b Subsurface-testing to get the testing version - careful, + # careful - this gets rebased and may be broken + +$ mkdir marble-build +$ cd marble-build +$ mingg64-cmake -DQTONLY=ON -DQT5BUILD=ON \ + -DBUILD_MARBLE_APPS=OFF -DBUILD_MARBLE_EXAMPLES=OFF \ + -DBUILD_MARBLE_TESTS=OFF -DBUILD_MARBLE_TOOLS=OFF \ + -DBUILD_TESTING=OFF -DWITH_DESIGNER_PLUGIN=OFF \ + -DBUILD_WITH_DBUS=OFF ../marble-source +$ mingw64-make # <- this step will take quite a while... if you have more cores + # try ming64-make -j8 or something like that +$ sudo mingw64-make install + To compile libgit2, use: $ mkdir -p ~/src/libgit2/build $ git clone git://github.com/libgit2/libgit2 ~/src/libgit2 $ cd ~/src/libgit2/build -$ mingw32-cmake .. -$ mingw32-cmake --build . +$ mingw64-cmake .. +$ mingw64-make +$ sudo mingw64-make install To compile Subsurface, use: -$ mkdir -p ~/src/subsurface -$ git clone git://subsurface-divelog.org/subsurface.git ~/src/subsurface -$ cd ~/src/subsurface -$ packaging/windows/mingw-make.sh +$ cd ~/src +$ git clone git://subsurface-divelog.org/subsurface.git +$ cd subsurface +$ cd git checkout v4.3 # this get's you the last release + # skip this step to build the latest development + # version +$ packagin/windows/mingw-make.sh Qt5 SPECIAL_MARBLE_PREFIX=1 # on Fedora/OpenSUSE you need qmake-qt5 $ packaging/windows/mingw-make.sh install $ packaging/windows/mingw-make.sh installer The last step assumes that you have a link from packaging/windows/dll to the correct directory in your MinGW installation. On my machine that is -/usr/i686-w64-mingw32/sys-root/mingw/bin +/usr/i686-w64-mingw64/sys-root/mingw/bin Similarly, the paths used in packaging/windows/mingw-make.sh may need to be adjusted according to your distributions layout +Also, at least one version of Qt DLLs shipping with Fedora was +self-inconsistent at caused random crashes at startup. Unless you have +good reasons to build your own binaries, on Windows you may be better off +with the pre-compiled binaries we provide. + Building Subsurface on Windows ------------------------------ +This is NOT RECOMMENDED. To the best of our knowledge there is one single +person who regularly does this (and he provided these instructions). The +Subsurface team does not provide support for Windows binary build from +sources... + 1) Install msys-git: http://msysgit.github.io |