1
mirror of https://invent.kde.org/network/falkon.git synced 2024-11-11 09:32:12 +01:00
falkonOfficial/BUILDING.md

168 lines
7.0 KiB
Markdown
Raw Normal View History

General
2011-10-17 09:57:07 +02:00
----------------------------------------------------------------------------------
2011-03-02 16:57:41 +01:00
If you can, you should use precompiled packages for your distribution.
But if you cannot use them, or they are not available, please read
this information before compiling.
2015-10-19 21:32:01 +02:00
After your binary is successfully compiled, you need to copy bin/ folder
from git to specific directory by your system you compiled for.
2011-10-17 09:57:07 +02:00
On Linux, you can easily do it by running make install.
If you are unsure where is the right place, you can check it directly from
QupZilla by clicking from Help Menu on Configuration Information, then in
Path section.
You may want to build QupZilla with debugging symbols (for generating
2012-02-26 12:12:38 +01:00
backtrace of crash) as easily as adding one line to src/defines.pri:
CONFIG += debug
2017-02-06 18:38:32 +01:00
QupZilla requires Qt (>= 5.8) and QtWebEngine (at least version included in Qt 5.8)
2011-10-17 09:57:07 +02:00
Microsoft Windows
----------------------------------------------------------------------------------
2017-02-06 18:38:32 +01:00
You need Microsoft Visual C++ Compiler, Qt Libraries 5.8 or higher and openssl
libraries. in order to build QupZilla.
2011-10-17 09:57:07 +02:00
Linux / Unix
----------------------------------------------------------------------------------
2017-02-06 18:38:32 +01:00
You need to have Qt 5 (>= 5.8) with QtWebEngine.
Next compulsory requirement is OpenSSL (libcrypto). xcb libraries are also
required unless you specify NO_X11 build option.
To build KWallet plugin, you need:
- KF5 KWallet
- set KDE_INTEGRATION build flag
To build Gnome-Keyring plugin, you need
- libgnome-keyring-dev installed
- set GNOME_INTEGRATION build flag
For debug build, gdb is required by qmake.
MAC OS X
----------------------------------------------------------------------------------
You need to have Xcode from the Apple App Store installed in Applications, [Command Line Tools for the same Xcode version](https://developer.apple.com/) may be included depending on the version,
Mac: Repair current OpenSSL undefined reference from homebrew to dynamic (#1971) * Repair current OpenSSL static reference from homebrew * These are the default locations, as of today, for Mac OS X 10.11.4 *(El Capitan)* **NOTES** * This could really use some environment variables for homebrew root and which SSL version is in use. Not familiar enough yet with recent Qt to do this at this time. * Symbolic links could also be used but again determining the current homebrew SSL installed is something to be desired e.g. similar to `$ openssl version` e.g. perhaps a `cut` of `$ brew info openssl`? Refs: * http://brew.sh/ *(homepage)* * https://github.com/Homebrew/brew *(repo)* Historical refs: * #1888 * #1850 * Mac: Scrape `brew` output for openssl working install directory as per @nowrep * Addresses a long standing bug on Mac compiling with this project * Also correct the BUILDING markdown file for OS X... was awaiting response from the owner to do this to see which direction to move. **NOTES** * Quotes **are required** when using `$$system` here otherwise `cut` fails with no switch argument found Applies to #1971 * Fix BUILDING to BUILDING.md * Do this so it actually parses markdown Indirectly related to #1971 * Fix `brew` to Homebrew * Even though the project is named `brew` and owner is `Homebrew` their pages refers to it as `Homebrew` Applies to #1971 * Yet another change * There are more symlinks... so the results from `brew --prefix openssl` yields a symlinked path and adding `/include` and `/lib` to them resolve alternately to the `Cellar`. Feel **much** better about using this one since it's an exact API as I mentioned earlier in the PR Applies to #1971 * Add a single newline for @cranes-bill * Only one newline is needed and has nothing to do with trailing spaces... at least according to the GH editor * Restores the flow :) Applies to #1971 * More flow of README.md * GH preview said it didn't need this but I guess it does... we'll try newlines everywhere ;) Applies to #1971 * Use non-standard markdown for "newlines" * Restore the spaces manually **NOTES** This is not any known specification but it's what @nowrep wants Refs: * [CommonMark](http://commonmark.org/) * [Daring Fireballs](http://daringfireball.net/projects/markdown/)
2016-05-14 12:45:28 +02:00
[Homebrew](http://brew.sh/), and `$ brew install openssl` for openssl.
2017-02-06 18:38:32 +01:00
Next compulsory requirement is Qt 5 (>= 5.8) with QtWebEngine.
After successful compilation, you need to build the application bundle and follow any
instructions that may be presented. You will do it with following command:
$ ./mac/macdeploy.sh [<path-to-macdeployqt>]
2015-10-19 21:32:01 +02:00
You need to specify path to macdeployqt (usually in QTDIR/bin/macdeployqt) only
if it is not in PATH.
FreeBSD
----------------------------------------------------------------------------------
You may need to set few sysctls to get QupZilla running with raster graphics system.
For more informations, please see FAQ.
2011-10-17 09:57:07 +02:00
Available Defines
----------------------------------------------------------------------------------
2012-02-26 12:12:38 +01:00
You can set define directly in file (src/defines.pri)
or set environment variable by
$ export NAME="value"
General:
2015-10-19 21:32:01 +02:00
PORTABLE_BUILD QupZilla won't write any data outside of path of execution.
It will also disable plugins by default.
(disabled by default)
example:
$ export PORTABLE_BUILD="true"
2012-01-21 20:29:33 +01:00
NONBLOCK_JS_DIALOGS Enable non-blocking JavaScript dialogs from alert() prompt()
and confirm() functions. They are shown inside page and are not
2012-01-21 20:29:33 +01:00
blocking application window.
However, due to synchronous API, there is a possible crash when
2012-01-21 20:29:33 +01:00
closing browser windows with opened dialogs.
If you can take this risk and/or make sure you aren't closing browser
with opened dialogs, you may enable this option.
These dialogs are much more beautiful than normal QDialogs.
(disabled by default)
2012-01-21 20:29:33 +01:00
example:
$ export NONBLOCK_JS_DIALOGS="true"
Windows specific defines:
W7API Enable Windows 7 API support
2011-10-17 09:57:07 +02:00
Requires linking against libraries from Microsoft Visual C++
Compiler 2010
(enabled by default)
Linux / Unix specific defines:
NO_X11 Disable all X11 calls.
Enable this when building for Wayland-only.
All X11 calls are guarded by runtime X11 platform check
even without this option.
example:
$ export NO_X11="true"
KDE_INTEGRATION Enable KDE integration.
Currently it enables building of KWallet Password plugin,
which provides support for storing passwords in KWallet.
example:
$ export KDE_INTEGRATION="true"
GNOME_INTEGRATION Enable Gnome integration.
Currently it enables building of Gnome-Keyring Password plugin,
which provides support for storing passwords in Gnome-Keyring.
example:
$ export GNOME_INTEGRATION="true"
USE_LIBPATH By default, /usr/lib/ is used for libQupZilla and /usr/lib/qupzilla
for plugins.
You can change it by setting this define.
example:
$ export USE_LIBPATH="/usr/lib64"
NO_SYSTEM_DATAPATH By default, QupZilla is using /usr/share/qupzilla/ path
for storing themes and translations.
By setting this define, QupZilla will use path of execution.
(disabled by default)
example:
$ export NO_SYSTEM_DATAPATH="true"
QUPZILLA_PREFIX You can define different prefix.
QupZilla binary will then be moved to PREFIX/bin/, use
PREFIX/share/qupzilla/ as datadir, PREFIX/share/applications for
desktop launcher and PREFIX/share/pixmaps for icon.
(default prefix is "/usr")
example:
$ export QUPZILLA_PREFIX="/usr"
2016-02-07 16:38:22 +01:00
SHARE_FOLDER You can define the path of the share folder, i.e. /usr/share
QupZilla will then use SHARE_FOLDER/qupzilla as datadir,
SHARE_FOLDER/applications for desktop launcher and
SHARE_FOLDER/pixmaps for the icon. By default it is not defined
and files will be installed as described above.
(default share folder is "/usr/share")
example:
$ export SHARE_FOLDER="/usr/share"
2016-02-07 16:38:22 +01:00
DISABLE_DBUS Build without QtDBus module. Native desktop notifications
will be disabled.
example:
$ export DISABLE_DBUS="true"