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
|
TEMPLATE = app
|
||||||
TARGET = YACReaderLibraryServer
|
TARGET = YACReaderLibraryServer
|
||||||
|
|
||||||
@ -41,7 +37,7 @@ unix {
|
|||||||
CONFIG -= flat
|
CONFIG -= flat
|
||||||
QT += core sql network
|
QT += core sql network
|
||||||
|
|
||||||
# Input
|
# Source files
|
||||||
HEADERS += ../YACReaderLibrary/library_creator.h \
|
HEADERS += ../YACReaderLibrary/library_creator.h \
|
||||||
../YACReaderLibrary/package_manager.h \
|
../YACReaderLibrary/package_manager.h \
|
||||||
../YACReaderLibrary/bundle_creator.h \
|
../YACReaderLibrary/bundle_creator.h \
|
||||||
@ -103,13 +99,15 @@ TRANSLATIONS = yacreaderlibraryserver_es.ts \
|
|||||||
yacreaderlibraryserver_de.ts \
|
yacreaderlibraryserver_de.ts \
|
||||||
yacreaderlibraryserver_source.ts
|
yacreaderlibraryserver_source.ts
|
||||||
|
|
||||||
|
|
||||||
RESOURCES += images.qrc
|
RESOURCES += images.qrc
|
||||||
|
|
||||||
|
contains(QMAKE_TARGET.arch, x86_64) {
|
||||||
Release:DESTDIR = ../release
|
Release:DESTDIR = ../release64
|
||||||
Debug:DESTDIR = ../debug
|
Debug:DESTDIR = ../debug64
|
||||||
|
} else {
|
||||||
|
Release:DESTDIR = ../release
|
||||||
|
Debug:DESTDIR = ../debug
|
||||||
|
}
|
||||||
|
|
||||||
unix:!macx {
|
unix:!macx {
|
||||||
#set install prefix if it's empty
|
#set install prefix if it's empty
|
||||||
@ -123,7 +121,7 @@ DATADIR = $$PREFIX/share
|
|||||||
|
|
||||||
DEFINES += "LIBDIR=\\\"$$LIBDIR\\\"" "DATADIR=\\\"$$DATADIR\\\"" "BINDIR=\\\"$$BINDIR\\\""
|
DEFINES += "LIBDIR=\\\"$$LIBDIR\\\"" "DATADIR=\\\"$$DATADIR\\\"" "BINDIR=\\\"$$BINDIR\\\""
|
||||||
|
|
||||||
#MAKE INSTALL
|
#make install
|
||||||
CONFIG(server_standalone) {
|
CONFIG(server_standalone) {
|
||||||
INSTALLS += bin server translation
|
INSTALLS += bin server translation
|
||||||
}
|
}
|
||||||
@ -133,7 +131,8 @@ else:CONFIG(server_bundled) {
|
|||||||
else {
|
else {
|
||||||
INSTALLS += bin server translation
|
INSTALLS += bin server translation
|
||||||
message("No build type specified. Defaulting to standalone server build (CONFIG+=server_standalone).")
|
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
|
bin.path = $$BINDIR
|
||||||
@ -149,6 +148,8 @@ server.files = ../release/server
|
|||||||
translation.path = $$DATADIR/yacreader/languages
|
translation.path = $$DATADIR/yacreader/languages
|
||||||
translation.files = ../release/languages/yacreaderlibrary_*
|
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.path = $$DATADIR/man/man1
|
||||||
#manpage.files = ../YACReaderLibrary.1
|
#manpage.files = ../YACReaderLibrary.1
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user