mirror of
https://github.com/YACReader/yacreader
synced 2025-06-04 01:28:55 -04:00
Add 64 bit builddir support for YACReaderLibraryServer
This commit is contained in:
parent
af59672204
commit
6a1ba45a4d
110
INSTALL.md
Normal file
110
INSTALL.md
Normal file
@ -0,0 +1,110 @@
|
||||
# Building YACReader from source
|
||||
|
||||
YACReader and YACReaderLibrary are build using qmake. To build and install the
|
||||
program, run:
|
||||
|
||||
> qmake-qt5 CONFIG+=[Options]
|
||||
> make
|
||||
> make install
|
||||
|
||||
from the source dir. For seperate builds of YACReader or YACReaderLibrary,
|
||||
enter their respective subfolders and run the commands from there.
|
||||
|
||||
The headless version of YACReaderLibrary is located in the YACReaderLibraryServer
|
||||
folder. To build it, enter the folder and run the steps as described above.
|
||||
|
||||
|
||||
## Build dependencies:
|
||||
|
||||
- Qt >= 5.3 with the following modules:
|
||||
- declarative
|
||||
- quickcontrols
|
||||
- sql
|
||||
- script
|
||||
- multimedia
|
||||
- imageformats
|
||||
- opengl
|
||||
- sql-sqlite
|
||||
- network
|
||||
|
||||
- A pdf rendering backend (optional, see below)
|
||||
- qrencode (optional)
|
||||
- glu
|
||||
- (lib)unarr (see below)
|
||||
|
||||
Please note that not all of these dependencies are needed at build time.
|
||||
A good example for this is YACReaderLibrary's GridView mode which will
|
||||
silently fail and only show a white page if the proper qml modules
|
||||
(declarative, quickcontrols) are not missing.
|
||||
|
||||
## Backends
|
||||
|
||||
### Decompression
|
||||
|
||||
YACReader uses [(lib)unarr](https://github.com/selmf/unarr) for comic book
|
||||
decompression. Most Linux distributions don't ship this library yet, so will
|
||||
probably have to build it yourself.
|
||||
|
||||
We recommend using (lib)unarr as a shared library, but we also support static
|
||||
and embedded builds. Please consult the [README](compressed_archive/unarr/README.txt)
|
||||
for more information on this topic.
|
||||
|
||||
### PDF
|
||||
|
||||
Starting with version 9.0.0 YACReader supports the following pdf render engines:
|
||||
|
||||
- poppler (Linux default)
|
||||
- pdfium (Default for Windows and MacOS)
|
||||
- pdfkit (macOS only)
|
||||
- no_pdf (disables pdf support)
|
||||
|
||||
To override the default for a given platform add CONFIG+=[pdfbackend] as an options
|
||||
when running qmake.
|
||||
|
||||
While the Poppler backend is well tested and has been the standard for YACReader
|
||||
for a long time, it's performance is a bit lacking. The pdfium engine offers
|
||||
much better performance (about 10x faster on some pdf files we tested).
|
||||
However, at the time of this writing, it is not a software that is available
|
||||
prepackaged for Linux.
|
||||
|
||||
### Other build options:
|
||||
|
||||
You can adjust the installation prefix as well als the path make install uses
|
||||
to install the files.
|
||||
|
||||
>qmake PREFIX=DIR
|
||||
|
||||
sets the default prefix (for example "/", "/usr", "/usr/local").
|
||||
|
||||
>make install INSTALL_ROOT=DIR
|
||||
|
||||
can be used to install to a different location, which is usefull for packaging.
|
||||
|
||||
Default values:
|
||||
|
||||
>PREFIX=/usr
|
||||
>INSTALL_ROOT=""
|
||||
|
||||
On embedded devices that don't support desktop OpenGL, it is recommended to use
|
||||
the no_opengl config option:
|
||||
|
||||
qmake-qt5 CONFIG+=no_opengl
|
||||
|
||||
This will remove any dependency on desktop OpenGL and hardlock YACReader's
|
||||
coverflow to software rendering. Please note that it doesn't actually remove
|
||||
OpenGL from the build, the Qt toolkit will still make use of it.
|
||||
|
||||
|
||||
# Feedback and contribution
|
||||
|
||||
If you're compiling YACReader because there is no package available for your
|
||||
Linux distribution please consider creating and submitting a package or filing a
|
||||
package request.
|
||||
|
||||
While we do provide packages for .deb based distributions as well as an AUR
|
||||
package for Archlinux, we are in need of packagers especially for RPM based
|
||||
distributions. If you are interested, please contact @selmf on the YACReader
|
||||
forums or write an email to info@yacreader.com
|
||||
|
||||
If you have already created a package please let us know so we can add it to
|
||||
our downloads list ;)
|
111
INSTALL.txt
111
INSTALL.txt
@ -1,111 +0,0 @@
|
||||
COMPILATION GUIDE FOR LINUX/UNIX USERS
|
||||
**************************************
|
||||
|
||||
YACReader and YACReaderLibrary are build using qmake. To build and install the program, run:
|
||||
|
||||
qmake-qt5 CONFIG+=[Options]
|
||||
make
|
||||
make install
|
||||
|
||||
from the source dir. For seperate builds of YACReader or YACReaderLibrary, enter their respective subfolders and run the commands from there.
|
||||
|
||||
The headless version of YACReaderLibrary is located in the YACReaderLibraryServer folder. To build it, enter the folder and run the steps as
|
||||
described above.
|
||||
|
||||
|
||||
Dependencies:
|
||||
-------------
|
||||
|
||||
- Qt >= 5.3 with the following modules:
|
||||
- declarative
|
||||
- quickcontrols
|
||||
- sql
|
||||
- script
|
||||
- multimedia
|
||||
- imageformats
|
||||
- opengl
|
||||
- sql-sqlite
|
||||
- network
|
||||
|
||||
- a pdf rendering backend, poppler-qt5 or pdfium (optional, see below)
|
||||
- qrencode (optional)
|
||||
- sqllite
|
||||
- glu
|
||||
- a decompression backend, either 7zip or unarr (see below)
|
||||
|
||||
Please note that not all of these dependencies are needed at build time. A good example for this is YACReaderLibrary's GridView mode which will
|
||||
silently fail and only show a white page if the proper qml modules (declarative, quickcontrols) are not installed.
|
||||
|
||||
|
||||
Decompression backend:
|
||||
----------------------
|
||||
|
||||
YACReader supports two decompression backends:
|
||||
|
||||
- unarr
|
||||
- p7zip=9.20.1
|
||||
|
||||
These can be selected at build time by adding either CONFIG+=unarr or CONFIG+=7zip as an option when running qmake.
|
||||
If none of these is provided, the build system will default to unarr on Linux/Unix and [p]7zip on Windows and OS X.
|
||||
|
||||
The decompression backends have their own dependencies and require additional steps like downloading additional source code
|
||||
for setup. Please consult the README files provided in the compressed_archive and compressed_archive/unarr folders for details.
|
||||
|
||||
If you chose to build YACReader with p7zip as a backend on Linux/Unix, please take notice that this backend has some problems:
|
||||
|
||||
- p7zip > 9.20.1 is not supported
|
||||
- p7zip 9.20.1 has known bugs that are fixed only in the later versions
|
||||
- a system update that replaces p7zip 9.20.1 with a later version will make YACReader unusable
|
||||
|
||||
If your system already ships with p7zip > 9.20.1 you can place 7z.so and the Codecs folder with the Rar29.so file from p7zip 9.20.1 in /usr/lib/yacreader
|
||||
YACReader will check this folder first and can thus continue using 7zip as a backend with p7zip > 9.20.1 installed on your system.
|
||||
|
||||
|
||||
Pdf backend:
|
||||
------------
|
||||
|
||||
Starting with version 8.6.0 YACReader supports the following pdf render backends:
|
||||
|
||||
- poppler (Linux default)
|
||||
- pdfium
|
||||
- pdfkit (macOS only, macOS default)
|
||||
- no_pdf (disables pdf support)
|
||||
|
||||
To select one of them just add CONFIG+=[backend] when running qmake.
|
||||
|
||||
While the Poppler backend is well-tested and has been the standard for YACReader for a long time, its performance is a bit lacking.
|
||||
Pdfium, the pdf render engine developed by Google's Chromium project and used in the
|
||||
Chrome browser, offers much better performance (about 10x as fast on some pdf files we tested).
|
||||
However, at the time of this writing, it isn't easily available as an installable package and a bit challenging to build.
|
||||
If you are interested in using this backend, you can find further informations on how to proceed in the dependencies subfolder.
|
||||
|
||||
|
||||
Other build options:
|
||||
--------------------
|
||||
|
||||
You can adjust the installation prefix as well als the path make install uses to install the files.
|
||||
Use "qmake PREFIX=DIR" to configure YACReader for your systems default prefix (for example "/", "/usr", "/usr/local").
|
||||
|
||||
For packaging purposes, you can use "make install INSTALL_ROOT=DIR" to install to a different location than the prefix.
|
||||
|
||||
Default values:
|
||||
|
||||
PREFIX=/usr
|
||||
INSTALL_ROOT=""
|
||||
|
||||
On embedded devices that don't support desktop OpenGL, it is recommended to use the no_opengl config option:
|
||||
|
||||
qmake-qt5 CONFIG+=no_opengl
|
||||
|
||||
This will remove any dependency on desktop OpenGL and hardlock YACReader's coverflow to software rendering. Please note that it
|
||||
doesn't actually remove OpenGL from the build, the Qt toolkit will still make use of it.
|
||||
|
||||
|
||||
DO YOU WANT TO HELP YACREADER?
|
||||
******************************
|
||||
|
||||
If you're compiling YACReader because there is no package available for your Linux distribution please consider creating and submitting a package.
|
||||
While we do provide packages for .deb based distributions as well as an AUR package for Archlinux we are in need of packagers especially for RPM based
|
||||
distributions. If you are interested, please contact selmf on the YACReader forums or write an email to info@yacreader.com
|
||||
|
||||
If you have already created a package for your Linux distribution please let us know so whe can add it to our downloads list ;)
|
@ -1,7 +1,3 @@
|
||||
######################################################################
|
||||
# Automatically generated by qmake (2.01a) dom 12. oct 20:47:48 2008
|
||||
######################################################################
|
||||
|
||||
TEMPLATE = app
|
||||
TARGET = YACReaderLibraryServer
|
||||
|
||||
@ -41,7 +37,7 @@ unix {
|
||||
CONFIG -= flat
|
||||
QT += core sql network
|
||||
|
||||
# Input
|
||||
# Source files
|
||||
HEADERS += ../YACReaderLibrary/library_creator.h \
|
||||
../YACReaderLibrary/package_manager.h \
|
||||
../YACReaderLibrary/bundle_creator.h \
|
||||
@ -103,13 +99,15 @@ TRANSLATIONS = yacreaderlibraryserver_es.ts \
|
||||
yacreaderlibraryserver_de.ts \
|
||||
yacreaderlibraryserver_source.ts
|
||||
|
||||
|
||||
RESOURCES += images.qrc
|
||||
|
||||
|
||||
contains(QMAKE_TARGET.arch, x86_64) {
|
||||
Release:DESTDIR = ../release64
|
||||
Debug:DESTDIR = ../debug64
|
||||
} else {
|
||||
Release:DESTDIR = ../release
|
||||
Debug:DESTDIR = ../debug
|
||||
|
||||
}
|
||||
|
||||
unix:!macx {
|
||||
#set install prefix if it's empty
|
||||
@ -123,7 +121,7 @@ DATADIR = $$PREFIX/share
|
||||
|
||||
DEFINES += "LIBDIR=\\\"$$LIBDIR\\\"" "DATADIR=\\\"$$DATADIR\\\"" "BINDIR=\\\"$$BINDIR\\\""
|
||||
|
||||
#MAKE INSTALL
|
||||
#make install
|
||||
CONFIG(server_standalone) {
|
||||
INSTALLS += bin server translation
|
||||
}
|
||||
@ -133,7 +131,8 @@ else:CONFIG(server_bundled) {
|
||||
else {
|
||||
INSTALLS += bin server translation
|
||||
message("No build type specified. Defaulting to standalone server build (CONFIG+=server_standalone).")
|
||||
message("If you wish to run YACReaderLibraryServer on a system with an existing install of YACReaderLibrary, please specify CONFIG+=server_bundled as an option when running qmake.")
|
||||
message("If you wish to run YACReaderLibraryServer on a system with an existing install of YACReaderLibrary,\
|
||||
please specify CONFIG+=server_bundled as an option when running qmake.")
|
||||
}
|
||||
|
||||
bin.path = $$BINDIR
|
||||
@ -149,6 +148,8 @@ server.files = ../release/server
|
||||
translation.path = $$DATADIR/yacreader/languages
|
||||
translation.files = ../release/languages/yacreaderlibrary_*
|
||||
|
||||
# TODO: We need a manpage for yaclibserver
|
||||
# TODO: We need a systemd service file for yaclibserver
|
||||
#manpage.path = $$DATADIR/man/man1
|
||||
#manpage.files = ../YACReaderLibrary.1
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user