diff options
author | Thiago Macieira <thiago@macieira.org> | 2013-10-08 18:29:04 -0700 |
---|---|---|
committer | Thiago Macieira <thiago@macieira.org> | 2013-10-08 23:29:44 -0700 |
commit | 3cbd961ce341424fc730b0711efcb1318e8169ac (patch) | |
tree | beda101d540133f9f42e874e59224ce9b9938643 | |
parent | 6c90fa7c64a151ac0c13f69966863608e77276af (diff) | |
download | subsurface-3cbd961ce341424fc730b0711efcb1318e8169ac.tar.gz |
Update the README and create an INSTALL file.
Let the README contain generic information and move the build
instructions to the INSTALL file.
Signed-off-by: Thiago Macieira <thiago@macieira.org>
-rw-r--r-- | INSTALL | 155 | ||||
-rw-r--r-- | README | 172 |
2 files changed, 155 insertions, 172 deletions
diff --git a/INSTALL b/INSTALL new file mode 100644 index 000000000..fe0f7967d --- /dev/null +++ b/INSTALL @@ -0,0 +1,155 @@ +Building the Qt version under Linux +----------------------------------- + +On Debian you need libqt4-dev, libmarble-dev, libzip-dev. +Unfortunately the marble version in Debian stable (and possibly +Ubuntu) appears broken and missing essential header files used in the +current git version of Subsurface. We hack around this right now by +including this header file but this needs to be revisited before an +actual release. + +On Fedora you need qt-devel, marble-devel, libzip-devel, +libxml2-devel, libxslt-devel, libsqlite3x-devel. If you are going to +compile libdivecomputer, you need to libusb-devel too. + +On Debian the package names are different; try libxml2-dev, +libsqlite3-dev, libxslt1-dev, libzip-dev (and libusb-1.0-0-dev if +you're going to compile libdivecomputer). + +To compile libdivecomputer: +$ git clone git://git.libdivecomputer.org/libdivecomputer +$ cd libdivecomputer +$ git checkout release-0.4 +$ autoreconf --install +$ ./configure +$ make +$ sudo make install + +To compile Subsurface: +$ git clone git://subsurface.hohndel.org/subsurface.git +$ cd subsurface +$ qmake +$ make +$ sudo make install [optionally, add: prefix=/usr/local] + +Building the Qt version under MacOSX +------------------------------------ + +1) Install Homebrew + +$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" + +2) Install needed dependencies + +$ brew install asciidoc libzip qt sqlite cmake libusb pkg-config + +3) Make the brew version of sqlite the default + +$ brew link --force sqlite + +4) Install Marble + +$ mkdir -p ~/src/marble/build +$ git clone -b KDE/4.11 git://anongit.kde.org/marble ~/src/marble/sources +$ cd ~/src/marble/build +$ cmake -DCMAKE_BUILD_TYPE=Debug -DQTONLY=TRUE -DCMAKE_INSTALL_PREFIX=/usr/local ~/src/marble/sources +$ make +$ sudo make install +$ cd src/lib +$ mkdir -p /usr/local/include/marble +$ cp $(find . -name '*.h') /usr/local/include/marble/ +$ cp *dylib /usr/local/lib/ + +5) Install Libdivecomputer + +$ brew install automake libtool +$ cd ~/src +$ git clone git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer +$ cd libdivecomputer +$ git checkout release-0.4 +$ autoreconf --install +$ ./configure +$ make +$ sudo make install + +6) Compile Subsurface + +$ cd ~/src +$ git clone git://subsurface.hohndel.org/subsurface.git +$ cd subsurface +$ qmake +$ make +$ sudo make install + +After the above is done, Subsurface will be installed to +/Applications. + +Another option is to create a .dmg for distribution: + +$ qmake +$ make +$ make mac-create-dmg + +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 17). A shell script to do +that (plus the .nsi file to create the installer with makensis) are +included in the packaging/Windows directory. + +The best way to get libdivecomputer to build appears to be + +$ git clone git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer +$ cd libdivecomputer +$ git checkout release-0.4 +$ mingw32-configure +$ mingw32-make +$ sudo mingw32-make install + +To compile Subsurface, use: + +$ git clone git://subsurface.hohndel.org/subsurface.git +$ cd subsurface +$ i686-w64-mingw32-qmake-qt4 +$ make +$ make install +$ make create-windows-installer + +Building Subsurface on Windows +------------------------------ + +This is still work in progress. + +To build subsurface, use: + +$ git clone git://subsurface.hohndel.org/subsurface.git +$ cd subsurface +$ qmake +$ make +$ make install +$ make create-windows-installer + +Build options +------------- + +The following options are recognised when passed to qmake: + + -config debug Create a debug build + -config release Create a release build + The default depends on how Qt was built. + V=1 Disable the "silent" build mode + LIBDCDEVEL=1 Search for libdivecomputer in ../libdivecomputer + INCLUDEPATH+=xxx Add xxx to the include paths to the compiler + (pass the actual path, without -I) + LIBS+=xxx Add xxx to the linker flags. -l and -L options are + recognised. + +The INCLUDEPATH and LIBS options are useful to tell the buildsystem +about non-standard installation paths for the dependencies (such as +Marble). They can be repeated as often as needed, or multiple +arguments can be passed on the same switch, separated by a space. For +example: + + qmake LIBS+="-L$HOME/marble/lib -L$HOME/libdivecomputer/lib" \ + INCLUDEPATH+="$HOME/marble/include $HOME/libdivecomputer/include" @@ -11,89 +11,6 @@ will get you the latest version of the fully functional Subsurface. git checkout Gtk -If you are indeed planning to work on the Qt version, here are some -pointers to get you started: - -Building the Qt version under Linux ------------------------------------ - -On Debian you need libqt4-dev, libmarble-dev, libzip-dev. -Unfortunately the marble version in Debian stable (and possibly -Ubuntu) appears broken and missing essential header files used in the -current git version of Subsurface. We hack around this right now by -including this header file but this needs to be revisited before an -actual release. - -On Fedora you need qt-devel, marble-devel, libzip-devel. - -Building the Qt version under MacOSX ------------------------------------- - -You might have built MacPorts packages with +quartz dependencies to -build the previous Subsurface/Gtk version. Switch to the +x11 -dependencies and prepare your system for Subsurface/Qt by doing: - -sudo port uninstall gtk-osx-application subsurface libdivecomputer -sudo port install cairo +x11 pango +x11 py27-pygtk +x11 gtk2 +x11 -sudo port install qt4-mac marble libzip libtool libusb - -Then build libdivecomputer and Subsurface as described below. - -With the current version (and dependencies of marble), to run subsurface you have to once - -sudo port install dbus -sudo launchctl load -w /Library/LaunchDaemons/org.freedesktop.dbus-system.plist -launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist -sudo chown -R ${USER} ~/Library/Preferences/KDE - -Buildling the Qt version under MacOSX, using dependencies from Homebrew ------------------------------------------------------------------------ - -1) Install Homebrew - -$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" - -2) Install needed dependencies - -$ brew install asciidoc libzip qt sqlite cmake libusb pkg-config - -3) Make the brew version of sqlite the default - -$ brew link --force sqlite - -4) Install Marble - -$ mkdir -p ~/src/marble/build -$ git clone -b KDE/4.11 git://anongit.kde.org/marble ~/src/marble/sources -$ cd ~/src/marble/build -$ cmake -DCMAKE_BUILD_TYPE=Debug -DQTONLY=TRUE -DCMAKE_INSTALL_PREFIX=/usr/local ~/src/marble/sources -$ make -$ sudo make install -$ cd src/lib -$ mkdir -p /usr/local/include/marble -$ cp $(find . -name '*.h') /usr/local/include/marble/ -$ cp *dylib /usr/local/lib/ - -5) Install Libdivecomputer - -$ brew install automake libtool -$ cd ~/src -$ git clone git://libdivecomputer.git.sourceforge.net/gitroot/libdivecomputer/libdivecomputer -$ cd libdivecomputer -$ git checkout release-0.4 -$ autoreconf --install -$ ./configure -$ make -$ sudo make install - -6) Compile Subsurface - -$ cd ~/src -$ git clone git://subsurface.hohndel.org/subsurface.git -$ cd subsurface -$ make - - Subsurface - an Open Source Divelog =================================== @@ -154,95 +71,6 @@ can get a tar ball from http://subsurface.hohndel.org/downloads/Subsurface-3.1.tgz - -Building subsurface under Linux -------------------------------- -You need libxml2-devel, libxslt-devel, gtk2-devel, glib2-devel, -gconf2-devel, libsoup-devel, osm-gps-map-devel, libsqlite3x-devel, and -libzip-devel to build this (and libusb-1.0 if you have libdivecomputer -built with it, but then you obviously already have it installed). -Check with your Linux distribution how to install these packages. - -On Debian the package names are different; try libxml2-dev, -libgtk2.0-dev, libglib2.0-dev, libgconf2-dev, libsoup2.4-dev, -libosmgpsmap-dev, libsqlite3-dev, libxslt1-dev, libzip-dev, -zlib1g-dev (and libusb-1.0-0-dev if libdivecomputer is built with it). - -Note that contrary to earlier versions of Subsurface, starting in v3.1 -XSLT, LIBZIP and OSMGPSMAP are no longer optional but instead are -required to build. - -You also need to have libdivecomputer installed. The current git -versions of Subsurface assume that you use libdivecomputer version -0.4, which goes something like this: - -git clone git://git.libdivecomputer.org/libdivecomputer -cd libdivecomputer -git checkout release-0.4 -autoreconf --install -./configure -make -sudo make install - -NOTE! Sometimes you may need to tell the main Subsurface Makefile where -you installed libdivecomputer; pkg-config for libdivecomputer doesn't -always work unless the project has been installed by the distro. - -Just edit the makefile directly. - - -Building Subsurface under Windows ---------------------------------- -Subsurface builds nicely with MinGW - the official builds are done as -cross builds under Linux (currently on Fedora 17). A shell script to do -that (plus the .nsi file to create the installer with makensis) are -included in the packaging/Windows directory. - -Strangely the developers have failed to make 'https' support work in -the cross-built Windows binaries. As a workaround at this point the -cross built Windows binaries use http instead https connections (right -now this only applies to divelogs.de uploads). - -The best way to get libdivecomputer to build appears to be - -mingw32-configure -mingw32-make -sudo mingw32-make install - -Once you have built and installed libdivecomputer you can use - -sh packaging/Windows/mingw-make.sh - -to then build subsurface. In order to create an installer simply use - -sh packaging/Windows/mingw-make.sh create-windows-installer - - -Building subsurface on a Mac ----------------------------- -Install MacPorts and install the dependencies from MacPorts: - -sudo port install libusb libtool libzip qt4-mac marble - -Install libdivecomputer: -git clone git://git.libdivecomputer.org/libdivecomputer -cd libdivecomputer -git checkout release-0.4 -autoreconf --install -LIBUSB_CFLAGS=-I/opt/local/include ./configure -make -sudo make install - -Install subsurface: -git clone git://subsurface.hohndel.org/subsurface.git -cd subsurface -PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/" make -sudo make install-macosx - -More instructions on how to create a Subsurface DMG can be found in -packaging/macosx/README - - Usage: ====== |