mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-30 12:25:49 +00:00
The relinker binary carried no build identity: a release build and a checkout of main were indistinguishable, so a report could not name the build it came from. --version prints the revision git describe reports, falling back to "unknown" when the tree has no git metadata, and needs no input or output paths. The usage line and USAGE.md list the option.
55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
#ifndef CORE_RELINKER_CLI_INCLUDE_CLI_HPP
|
|
#define CORE_RELINKER_CLI_INCLUDE_CLI_HPP
|
|
|
|
#include <set>
|
|
#include <string>
|
|
#include <vector>
|
|
#include <cstdint>
|
|
#include <optional>
|
|
|
|
namespace Cli {
|
|
|
|
struct Args {
|
|
bool showHelp = false;
|
|
bool showVersion = false;
|
|
bool skipSyscallCheck = false;
|
|
bool trapSdkSyscallStubs = false;
|
|
bool skipSceModule = false;
|
|
bool toIntel = false;
|
|
bool toRosetta = false;
|
|
bool frameRedZone = false;
|
|
bool writeRegistry = false;
|
|
bool toWindows = false;
|
|
bool toMacos = false;
|
|
bool lazyBinding = false;
|
|
bool autorun = false;
|
|
bool windowsDiagnostics = false;
|
|
bool windowsGui = false;
|
|
std::optional<std::uint64_t> windowsFixedBase;
|
|
bool traceImports = false;
|
|
std::optional<std::uint64_t> linuxFixedBase;
|
|
std::optional<std::uint64_t> macosFixedBase;
|
|
std::uint32_t unusedFilterLevel = 0;
|
|
std::string inputPath;
|
|
std::string outputPath;
|
|
std::string sceModulePath;
|
|
std::string patchesPath;
|
|
bool noPatches = false;
|
|
std::string verifyPatchesPath;
|
|
bool verifyOutput = false;
|
|
std::string runPath = "$ORIGIN/libs";
|
|
std::set<std::string> excludedSceModules;
|
|
std::vector<std::string> moduleDirectories;
|
|
std::vector<std::string> executables;
|
|
};
|
|
|
|
Args ParseArgs(int argc, char* argv[]);
|
|
|
|
const char* Usage();
|
|
|
|
int Autorun(const std::string& absPath, bool toWindows);
|
|
|
|
}
|
|
|
|
#endif
|