With Qt4 zlib was linked implicitly (and explicitly linking it caused
errors). This was a Qt issue that has been resolved with (at least
current) Qt5, now we need to explicitly link zlib on native Windows.
Change-Id: Ia5a6bdc83a39f6f5629c34ed835d2272a887f161
On macOS we pass the full path to the compiler. On recent versions this
causes the compiler to not find its SDK path, this needs to get passed
via the isysroot option.
Change-Id: Iea2820e1755cc80e12691119dfa31d70938ea511
Replace the use of crypto++ with tomcrypt, which is much smaller and C.
This gets rid of various build issues for systems that don't ship
crypo++ (i.e. everything except Linux.)
Change-Id: Ic0799e17b94935c71b14765cf9a2a7ea2b0adc7a
To use ipodpatcher and sansapatcher as external binaries (so we can do
proper permission elevation) we need to build them using qmake as part
of the main build. Add a subdirs template based project file to do that,
and project files for the patchers.
Move Linux appimage rules one level up, since it needs to include the
patchers as well.
Change-Id: I63ee59372668f4319402df65a77a6f04521d133b
Qt6 beta doesn't include the Multimedia module. Allow building without,
and disable on Qt6 for now.
Change-Id: Ie2ad25c81d9c62c8c6e8efaf8309b3600afce1d0
When building for Windows (at least using mxe) bzip2 clashes with
existing symbols. This seems to be a similar issue as with zlib. Don't
link it explicitly, so the linker uses the existing symbols.
Fixes building for Windows.
Change-Id: I7a1e980542961f3e7f8febedd6c0b8f04a6f6ec0
Build the "appimage" target to create an AppImage file from the binary.
The needed linuxdeploy tools will be downloaded first.
Change-Id: Ia1e8977ea7689fb547c5d1a6abe6448a94f1b1af
This is to enable binary patching of Hiby-based firmware files
Note that noting in rbutil uses this yet.
Change-Id: I03ac824dd7402d508eb4e857ad78f184eb0d0243
This fixes two of them: not finding the lrelease binary and not
compiling for C++11 (which is required by some Qt headers now).
Change-Id: I3c0eb3c2002c3ce7a2eeea877db5fa6942c9b2ba
This fixes a couple of issues when cross-compiling for windows:
- lib builds (i.e. mks5lboot) were overriding the cross CC/CXX with the
native CC, producing incompatible binaries.
- Qt made the accessibility plugin part of the core library, so we no
longer need to import it.
Change-Id: I9d884aee62dfa51d3624a3fa9b99c23b3b375f20
Qt 5.6 on OS X requires targeting at least OS X 10.7, while for earlier
versions we can still target 10.6. Handle this case and inform the user about
the used target version.
Change-Id: I78e426037e2966241ab9a63105e04e7366b469ed
Windows doesn't have which, so building natively on Windows didn't create
translations anymore. Use a which-less approach instead.
Change-Id: I7b4c40b26d68da54277a148e8e2d76ac81061c8b
Check for lrelease and always try to run it if found. If not found show a
warning. This avoids build problems for certain setups which previously
required -config dbg to complete.
Change-Id: I60f0f49adc8455743afc5e4d23294ce0729f38d2
Update to latest quazip release. Note that quazip is now LGPL and not GPL /
LGPL dual licensed anymore.
Change-Id: Ie1e975b5b546dd31218eef9df472527493fe81e0
When building with MSVC we need to add the msvc folder to the include list, and
remove the libraries from the dependencies since they need to get built
separately.
Change-Id: I297787f32495da4541c67bfef549b4d1ad68dd18
- Qt5 doesn't support PPC anymore, so always build for x86 only.
- Qt5 requires the use of the multimedia module (as Windows).
Change-Id: I7d54faffe9d2fb557f55234ba7b81a508d92a38b
MSVC doesn't understand the gcc specific -Wno-unused-local-typedefs option.
Don't add it in this case.
Change-Id: I7ffb6c0c9c797eaad85975199c386020c464ca7b
We're compiling cutelogger directly, not as DLL. Therefore we must not add
__declspec attributes to the header.
Change-Id: I41b87fd4ba34dfbcd0d37245ff1c1f279139bb33
Change tracing from qDebug() to use cutelogger, which is available under the
LGPL2.1. This allows to automatically add filename and line number to the log,
and also provides multiple log levels.
Change-Id: I5dbdaf902ba54ea99f07ae10a07467c52fdac910
OS X' gcc 4.0 (still used to be able building fat binaries) doesn't ignore that
option and instead errors out.
Change-Id: Id5927ff04dc606480af9add554eeaa75c169510f
gcc 4.8 introduces this new warning which some Qt4 headers triggers. Since we
don't want to change Qt simply disable it. The warning doesn't show up when
compiling with Qt5, so only disable it for Qt4.
Change-Id: Ia8fcf0859e0a370def36bc9b43ed4d096a80db28
Setup AR before checking for ccache to avoid adding ccache to ar. Setup CC and
CFLAGS in the beginning as well. Quote ar and system speex options to fix
building with ccache enabled.
Change-Id: I21714f0849e990abeac72dcda52c81474e090934
We need this only for cross compiling. Trying to figure the compiler prefix
fails if the compiler isn't gcc (i.e. clang), and we only support gcc when
cross compiling.
Change-Id: I822e1b47ec7e9d7e9fdeae8ccf3b8d417a472ef9
Previously several additional rules were added by qmake to build the required
libraries. This has a couple of problems on Windows, requiring the use of a
msys shell.
Additional variables are passed as environment variables. Windows doesn't
understand this. Passing the variables via make command line argument works but
make won't be able to change those variables anymore, breaking things. Use
intermediate variables passed via make command line that are then exported by
the called Makefile. This doesn't work in the generated Makefile since the
export lines must not be part of a rule.
Also cleans up the project file a bit.
Change-Id: Iaffb059ce8bafe17a35bd1e0a74ae7acd966c138
When setting up qmake to use ccache keep using the compiler as defined in the
qmakespec instead of assuming it always to be gcc / g++.
Change-Id: I00ce32158ca4a5d67517347cae2e86b77051b3c9
Create a new widget which holds the contents of the manual tab and its logic.
Unify its display / download code. Fixes FS#12587, which was caused by
duplicated code.
Change-Id: I5721d2a95ebeaf80481c1fd149eda22cf1328501
- As done with libucl and librbspeex, create universal libraries using ar
instead of building twice and using lipo. This notably simplifies things.
- Allow overwriting the compiler via command line. This is required for
building on OS X.
- Update Rockbox Utility to the changed library rules. Fixes building which was
broken by the previous Makefile changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31588 a1c6a512-1295-4272-9138-f99709370657
Reworked version of FS#12402 by Jean-Louis Biasini.
Since the mkimxboot process takes quite a while which blocks the UI it has been
adjusted to perform the actual firmware patching in a separate process. Various
other small changes have been made to make it fit better into Rockbox Utility's
dialogs / messages and update the code to latest changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31580 a1c6a512-1295-4272-9138-f99709370657
- Build libs in a libs/ folder below the build folder. This makes it easier to
remove them when cleaning the build directory.
- Pass flags via environment instead as parameters to make. Hopefully fixes
problems when using QtCreator on Windows.
- Respect silent config option when calling the lib Makefiles.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31525 a1c6a512-1295-4272-9138-f99709370657
Use the same name for output file / library and folder to simplify
dependencies.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31334 a1c6a512-1295-4272-9138-f99709370657
Instead of building sansapatcher sources directly build and use the library.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31329 a1c6a512-1295-4272-9138-f99709370657
Instead of building the sources directly build and link libipodpatcher.a as
done for other tools.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31326 a1c6a512-1295-4272-9138-f99709370657
On OS X if no version is passed a string containing a space gets generated in
some situation, which will break building. Explicitly set version to some known
string as done for other libs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31262 a1c6a512-1295-4272-9138-f99709370657
Pass a subdirectory of the build folder as BUILD_DIR to the called Makefiles.
Not all do respect the value yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31260 a1c6a512-1295-4272-9138-f99709370657