Copied it from rom-properties.
This broke the Launchpad Ubuntu 20.04 armhf build. Not going to resubmit
it, because I don't think anyone will be using rvthtool on that OS and
platform...
(cherry picked from commit d9f4ec96f1)
Not sure how I didn't notice this before... (probably because
I don't regularly test the 32-bit i386 version, and Ubuntu
didn't ship glibc-2.34 in any LTS releases.)
(copied over from rom-properties)
Combining the removal of .gnu_debuglink into the objcopy command had the
effect of losing `strip`'s usual stripping functionality. Add the
`--strip-all` parameter to restore it.
Copied over from rom-properties.
This fixes a regression from commit 43372103cb.
(Port over CMake changes from rom-properties.)
- CPUInstructionSetFlags.cmake: Add more CPU architectures.
- DirInstallPaths.cmake: Set ${TARGET_CPU_ARCH} and add more
CPU architectures.
- FindNETTLE.cmake: Use ${TARGET_CPU_ARCH}.
- SplitDebugInformation.cmake: Add the `mold` workaround.
- options.cmake: Disable split debug by default on macOS.
- platform.cmake: Minor cleanups.
- gcc.cmake: Code coverage cleanup, check for "--no-undefined" and
"--no-allow-shlib-undefined" (but only allow them on Linux),
and check for "-ftree-vectorize".
- msvc.cmake:
- Add: /we4477 /MP /guard:cf /guard:ehcont /permissive-
- On i386 only: /SAFESEH
- Disable /Zc:externC /Zc:noexceptTypes on Clang.
- Disable thread-safe statics only on i386 and amd64.
- win32-gcc.cmake, win32-msvc.cmake:
- Various flag changes.
CMake 3.1 added CMAKE_<LANG>_STANDARD, which allows CMake to determine
what flags are needed to select a particular language version.
Set it to C17 and C++17. Previously, we were using C11 and C++11,
though gcc11 switched the default C++ version to C++17. The custom
macro handled this by not adding flags for C++, but it still added
the C11 flag, which prevented use of C17.
Ported over from rom-properties.
This is needed for rom-properties, since we have to provide both
32-bit and 64-bit DLLs for proper shell integration, but rvthtool
is only packaged for a single architecture.
Rename the .desktop file to com.gerbilsoft.qrvthtool.desktop.
TODO: Maybe com.gerbilsoft.rvthtool.qrvthtool.desktop? Not that
I'd be making a GTK+ UI frontend anytime soon...
- Changed several macros to functions, e.g. C/C++ language version checks.
- Improved CPU architecture detection.
- Improved LFS detection on some *BSD platforms.
- Preliminary support for Windows on ARM.
- Added toolchain files for i686 and x86_64 MinGW-w64.
Based on the same classes from mcrecover.
TODO:
- Add some translations.
- Persistent configuration. I don't think porting mcrecover's ConfigStore
is the right thing to do here.
CryptoAPI's RSA functionality is ridiculously complicated to use. Instead
of wasting time figuring out how to use it, we'll just precompile MPIR
(a mostly GMP-compatible library) and nettle for Windows.
This commit includes a precompiled build of mpir-3.0.0. rsaw_gmp.c works
with it with no problems. The Windows version is now significantly faster
at verifying signatures as a result.
Removed rsaw_generic.c, since it's no longer in use.
c_std_99 was added in CMake 3.8, which is a fairly recent version.
Ubuntu 17.04 has CMake 3.9, but 16.10 has 3.7.2. Hence, we shouldn't
use it in order to remain compatible with at least Ubuntu 16.04 LTS.
This program will allow for managing Nintendo RVT-H Reader devkits,
including dumping existing images and installing new images.
The current version doesn't actually do anything. It's mostly a copy
of the infrastructure from rom-properties, with some changes. In
particular, we're using CMake's TARGET_COMPILE_FEATURES() instead of
manually detecting C99 support.