Updated docs for building static Qt/Quasselcore
[quassel.git] / dev-notes / build-static-quassel.txt
diff --git a/dev-notes/build-static-quassel.txt b/dev-notes/build-static-quassel.txt
new file mode 100644 (file)
index 0000000..82c05c4
--- /dev/null
@@ -0,0 +1,41 @@
+These notes should help you to build a quasselcore statically linked to Qt
+and OpenSSL. Note that these are just hints that work for me; ymmv.
+
+1.) Get a statically linked Qt
+    As of Qt 4.4, this configure line for building should probably work if
+    you only want to build a static core (since we disable most GUI
+    components here; you'd need to adjust that line for a full Qt!)
+
+    ./configure -static -no-accessibility -qt-sql-sqlite -qt-zlib -no-qt3support \
+    -no-gif -no-libtiff -no-libpng -no-libmng -no-libjpeg -nomake demos -nomake examples \
+    -nomake gui -nomake uic -nomake opengl -nomake tools -no-opengl -no-sm -no-xshape \
+    -no-xinerama -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-fontconfig -no-tablet \
+    -no-xkb -no-glib -no-svg -openssl-linked -no-phonon -no-webkit -no-dbus -no-xmlpatterns \
+    -prefix /usr/local/Trolltech/qt-4.4-static
+
+    To only build non-X dependent parts of Qt:
+    for i in `cat
+    /path/to/quassel/dev-notes/QT4_TARGET_DIRECTORIES`; do make -C $i; done
+
+    NOTE: This has not really been tested and may or may not be working for
+          you. If in doubt, follow the official route and just do make
+          and make install.
+
+2.) Link some system libs into /path/to/quassel/build/contrib/libs:
+    (we need this, because otherwise your quasselcore wouldn't be
+    portable)
+
+    On my system, I have this in build/contrib/libs:
+      libcrypto.a -> /usr/lib/libcrypto.a
+      libssl.a -> /usr/lib/libssl.a
+      libstdc++.a -> /usr/lib/gcc/i686-pc-linux-gnu/4.2.3/libstdc++.a
+
+    YMMV depending on the exact versions installed on your system, of course.
+
+3.) Build Quassel Core:
+    
+    cd /path/to/quassel
+    /path/to/static/qt/bin/qmake -config static BUILD=core
+    make
+
+4.) Enjoy.