mirror of
https://github.com/autc04/Retro68.git
synced 2025-03-26 07:34:07 +00:00
PEFTools: reduce dependencies on Apple's interfaces
This commit is contained in:
parent
05d5067e33
commit
a9337f529f
@ -221,13 +221,13 @@ void MakeImportLibraryMulti(fs::path path, fs::path libname)
|
||||
string membername =
|
||||
string(member->name+1, member->name+1+member->name[0]);
|
||||
|
||||
if(member->architecture == kPowerPCCFragArch
|
||||
|| member->architecture == kAnyCFragArch)
|
||||
if(member->architecture == 'pwpc'
|
||||
|| member->architecture == '\?\?\?\?')
|
||||
{
|
||||
if(member->usage == kStubLibraryCFrag
|
||||
|| member->usage == kImportLibraryCFrag)
|
||||
if(member->usage == 0 /* import library */
|
||||
|| member->usage == 3 /* stub library */)
|
||||
;
|
||||
else if(member->usage == kWeakStubLibraryCFrag)
|
||||
else if(member->usage == 4 /* weak stub library */)
|
||||
membername += "__weak";
|
||||
else
|
||||
{
|
||||
|
@ -41,8 +41,6 @@ typedef struct {} FSSpec, *FSSpecPtr;
|
||||
|
||||
/* Definitions for PEF, from Apple's Universal Interfaces */
|
||||
#include <PEFBinaryFormat.h>
|
||||
#include <CodeFragments.h>
|
||||
|
||||
|
||||
/* Deal with differences between versions of PEFBinaryFormat.h */
|
||||
#ifndef PEFRelocComposeSetPosition_1st
|
||||
@ -105,6 +103,43 @@ DEFINE_ESWAP(PEFImportedSymbol, "L")
|
||||
DEFINE_ESWAP(PEFLoaderRelocationHeader, "ssLL")
|
||||
DEFINE_ESWAP(PEFExportedSymbol, "LLs")
|
||||
|
||||
|
||||
|
||||
struct CFragResourceMember {
|
||||
uint32_t architecture;
|
||||
uint16_t reservedA;
|
||||
uint8_t reservedB;
|
||||
uint8_t updateLevel;
|
||||
uint32_t currentVersion;
|
||||
uint32_t oldDefVersion;
|
||||
uint32_t uUsage1;
|
||||
uint16_t uUsage2;
|
||||
uint8_t usage;
|
||||
uint8_t where;
|
||||
uint32_t offset;
|
||||
uint32_t length;
|
||||
uint32_t uWhere1;
|
||||
uint16_t uWhere2;
|
||||
uint16_t extensionCount;
|
||||
uint16_t memberSize;
|
||||
unsigned char name[16];
|
||||
};
|
||||
|
||||
struct CFragResource {
|
||||
uint32_t reservedA;
|
||||
uint32_t reservedB;
|
||||
uint16_t reservedC;
|
||||
uint16_t version;
|
||||
uint32_t reservedD;
|
||||
uint32_t reservedE;
|
||||
uint32_t reservedF;
|
||||
uint32_t reservedG;
|
||||
uint16_t reservedH;
|
||||
uint16_t memberCount;
|
||||
CFragResourceMember firstMember;
|
||||
};
|
||||
|
||||
|
||||
DEFINE_ESWAP(CFragResource, "LLssLLLLss*")
|
||||
DEFINE_ESWAP(CFragResourceMember, "Ls..LLLs..LLLsss*")
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user