[macOS export] Fix lipo file handling.
This commit is contained in:
parent
9c41c4ecb6
commit
c7f4e3fd25
1 changed files with 17 additions and 15 deletions
|
@ -45,25 +45,27 @@ bool LipO::create_file(const String &p_output_path, const PackedStringArray &p_f
|
||||||
|
|
||||||
uint64_t max_size = 0;
|
uint64_t max_size = 0;
|
||||||
for (int i = 0; i < p_files.size(); i++) {
|
for (int i = 0; i < p_files.size(); i++) {
|
||||||
MachO mh;
|
{
|
||||||
if (!mh.open_file(p_files[i])) {
|
MachO mh;
|
||||||
ERR_FAIL_V_MSG(false, vformat("LipO: Invalid MachO file: \"%s.\"", p_files[i]));
|
if (!mh.open_file(p_files[i])) {
|
||||||
|
ERR_FAIL_V_MSG(false, vformat("LipO: Invalid MachO file: \"%s\".", p_files[i]));
|
||||||
|
}
|
||||||
|
|
||||||
|
FatArch arch;
|
||||||
|
arch.cputype = mh.get_cputype();
|
||||||
|
arch.cpusubtype = mh.get_cpusubtype();
|
||||||
|
arch.offset = 0;
|
||||||
|
arch.size = mh.get_size();
|
||||||
|
arch.align = mh.get_align();
|
||||||
|
max_size += arch.size;
|
||||||
|
|
||||||
|
archs.push_back(arch);
|
||||||
}
|
}
|
||||||
|
|
||||||
FatArch arch;
|
|
||||||
arch.cputype = mh.get_cputype();
|
|
||||||
arch.cpusubtype = mh.get_cpusubtype();
|
|
||||||
arch.offset = 0;
|
|
||||||
arch.size = mh.get_size();
|
|
||||||
arch.align = mh.get_align();
|
|
||||||
max_size += arch.size;
|
|
||||||
|
|
||||||
archs.push_back(arch);
|
|
||||||
|
|
||||||
Ref<FileAccess> fb = FileAccess::open(p_files[i], FileAccess::READ);
|
Ref<FileAccess> fb = FileAccess::open(p_files[i], FileAccess::READ);
|
||||||
if (fb.is_null()) {
|
if (fb.is_null()) {
|
||||||
close();
|
close();
|
||||||
ERR_FAIL_V_MSG(false, vformat("LipO: Can't open file: \"%s.\"", p_files[i]));
|
ERR_FAIL_V_MSG(false, vformat("LipO: Can't open file: \"%s\".", p_files[i]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,7 +102,7 @@ bool LipO::create_file(const String &p_output_path, const PackedStringArray &p_f
|
||||||
Ref<FileAccess> fb = FileAccess::open(p_files[i], FileAccess::READ);
|
Ref<FileAccess> fb = FileAccess::open(p_files[i], FileAccess::READ);
|
||||||
if (fb.is_null()) {
|
if (fb.is_null()) {
|
||||||
close();
|
close();
|
||||||
ERR_FAIL_V_MSG(false, vformat("LipO: Can't open file: \"%s.\"", p_files[i]));
|
ERR_FAIL_V_MSG(false, vformat("LipO: Can't open file: \"%s\".", p_files[i]));
|
||||||
}
|
}
|
||||||
uint64_t cur = fa->get_position();
|
uint64_t cur = fa->get_position();
|
||||||
for (uint64_t j = cur; j < archs[i].offset; j++) {
|
for (uint64_t j = cur; j < archs[i].offset; j++) {
|
||||||
|
|
Loading…
Reference in a new issue