Skip to main content
Topic: QT configuration options. (Read 2872 times)

QT configuration options.

Compiling QT is a significant and time-consuming process.  Otter is the only reason I compile QT.  ./configure --help lists numerous options.  The following can be omitted.  Which are unnecessary for Otter?

    -no-c++11 .......... Do not compile Qt with C++11 support enabled.
    -no-largefile ...... Disables large file support.
    -no-accessibility .. Do not compile Accessibility support.
    -no-sql-<driver> ... Disable SQL <driver> entirely.
    -no-qml-debug ...... Do not build the in-process QML debugging support.
    -no-sse2 ........... Do not compile with use of SSE2 instructions.
    -no-sse3 ........... Do not compile with use of SSE3 instructions.
    -no-ssse3 .......... Do not compile with use of SSSE3 instructions.
    -no-sse4.1 ......... Do not compile with use of SSE4.1 instructions.
    -no-sse4.2 ......... Do not compile with use of SSE4.2 instructions.
    -no-avx ............ Do not compile with use of AVX instructions.
    -no-avx2 ........... Do not compile with use of AVX2 instructions.
    -no-mips_dsp ....... Do not compile with use of MIPS DSP instructions.
    -no-mips_dspr2 ..... Do not compile with use of MIPS DSP rev2 instructions.
    -no-pkg-config ..... Disable use of pkg-config.
    -no-mtdev ........... Do not compile mtdev support.
+  -no-journald ........ Do not send logging output to journald.
    -no-gif ............. Do not compile GIF reading support.
    -no-libpng .......... Do not compile PNG support.
    -no-libjpeg ......... Do not compile JPEG support.
    -no-freetype ........ Do not compile in Freetype2 support.
    -no-harfbuzz ........ Do not compile HarfBuzz-NG support.
    -no-openssl ......... Do not compile support for OpenSSL.
    -no-libproxy ....... Do not compile support for libproxy
    -no-xkbcommon-evdev . Do not use X-less xkbcommon when compiling libinput support.
    -no-xinput2 ......... Do not compile XInput2 support.
    -no-xcb-xlib......... Do not compile Xcb-Xlib support.
    -no-glib ............ Do not compile Glib support.
    -no-pulseaudio ...... Do not compile PulseAudio support.
    -no-alsa ............ Do not compile ALSA support.
    -no-gtkstyle ........ Do not compile GTK theme support.
    -nomake <part> ..... Exclude part from the list of parts to be built.
    -no-compile-examples ... Install only the sources of examples.
    -no-gui ............ Don't build the Qt GUI module and dependencies.
    -no-widgets ........ Don't build the Qt Widgets module and dependencies.
    -no-rpath .......... Do not use the library install path as a runtime
*  -no-optimized-qmake ... Do not build qmake optimized.
    -no-nis ............ Do not compile NIS support.
    -no-cups ........... Do not compile CUPS support.
    -no-iconv .......... Do not compile support for iconv(3).
    -no-evdev .......... Do not compile support for evdev.
    -no-tslib .......... Do not compile support for tslib.
    -no-icu ............ Do not compile support for ICU libraries.
    -no-fontconfig ..... Do not compile FontConfig support.
    -no-strip .......... Do not strip binaries and libraries of unneeded symbols.
*  -no-pch ............ Do not use precompiled header support.
    -no-dbus ........... Do not compile the Qt D-Bus module.
    -no-use-gold-linker ..... Do not link using the GNU gold linker.
*  -no-separate-debug-info . Do not store debug information in a separate file.
    -no-xcb ............ Do not compile Xcb (X protocol C-language Binding) support.
    -no-eglfs .......... Do not compile EGLFS (EGL Full Screen/Single Surface) support.
    -no-directfb ....... Do not compile DirectFB support.
    -no-linuxfb ........ Do not compile Linux Framebuffer support.
    -no-kms ............ Do not compile KMS support.
    -no-gcc-sysroot ..... When using -sysroot, it disables the passing of --sysroot to the compiler
    -no-feature-<feature> Do not compile in <feature>.
    -no-opengl .......... Do not support OpenGL.
    -no-libinput ........ Do not support libinput.
    -no-gstreamer ....... Do not support GStreamer.
*  -no-system-proxies .. Do not use system network proxies by default.
    -no-warnings-are-errors Make warnings be treated normally
    -no-slog2 .......... Do not compile with slog2 support.
    -no-pps ............ Do not compile with pps support.
    -no-imf ............ Do not compile with imf support.
    -no-lgmon .......... Do not compile with lgmon support.
    -no-framework ...... Do not build Qt as a series of frameworks.
    -secure-transport .. Use SecureTransport instead of OpenSSL (requires -no-openssl)
    -no-android-style-assets ....... Do not compile in the code which automatically extracts

Re: QT configuration options.

Reply #1
@rhubarbpieguy, you could try to disable SQL drivers other than SQLite, but that won't save much space and I don't thinkt that these are built if headers are not present anyway.
I haven't tried to disable entire modules but if there is a way then here is list of required ones, others are not used:
https://github.com/OtterBrowser/otter-browser/blob/master/CMakeLists.txt#L73

Note that you won't save much since base modules (QtCore, QtGui, etc.) and QtWebKit are way bigger than extra ones.
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.