configure RVLFaceLib

This commit is contained in:
shibbo 2024-10-26 11:22:12 -04:00
parent ee81031f37
commit 0e48990696
3 changed files with 71 additions and 16 deletions

View File

@ -9572,14 +9572,14 @@ RVL_SDK/rso/RSOLink.c:
.text start:0x80456B4C end:0x80457EBC
.data start:0x805EA648 end:0x805EA7A8
RVLFaceLib.a/RFL_System.o:
RVLFaceLib/RFL_System.c:
extab start:0x800064E0 end:0x80006500
extabindex start:0x800069A0 end:0x800069D0
.text start:0x80457EBC end:0x80458878
.sdata start:0x806B2808 end:0x806B2810
.sbss start:0x806B7408 end:0x806B7420
RVLFaceLib.a/RFL_NANDLoader.o:
RVLFaceLib/RFL_NANDLoader.c:
extab start:0x80006500 end:0x80006580
extabindex start:0x800069D0 end:0x80006A90
.text start:0x80458878 end:0x804598A4
@ -9587,7 +9587,7 @@ RVLFaceLib.a/RFL_NANDLoader.o:
.data start:0x805EA7A8 end:0x805EA7C8
.sdata start:0x806B2810 end:0x806B2820
RVLFaceLib.a/RFL_NANDAccess.o:
RVLFaceLib/RFL_NANDAccess.c:
extab start:0x80006580 end:0x800065F8
extabindex start:0x80006A90 end:0x80006B44
.text start:0x804598A4 end:0x8045B458
@ -9595,58 +9595,58 @@ RVLFaceLib.a/RFL_NANDAccess.o:
.sdata2 start:0x806C1D30 end:0x806C1D38
.sbss2 start:0x806C2918 end:0x806C2920
RVLFaceLib.a/RFL_Model.o:
RVLFaceLib/RFL_Model.c:
extab start:0x800065F8 end:0x80006660
extabindex start:0x80006B44 end:0x80006BE0
.text start:0x8045B458 end:0x8045D400
.rodata start:0x8055C568 end:0x8055C678
.sdata2 start:0x806C1D38 end:0x806C1D78
RVLFaceLib.a/RFL_MakeTex.o:
RVLFaceLib/RFL_MakeTex.c:
extab start:0x80006660 end:0x800066A0
extabindex start:0x80006BE0 end:0x80006C40
.text start:0x8045D400 end:0x8045FCC0
.rodata start:0x8055C678 end:0x8055C748
.sdata2 start:0x806C1D78 end:0x806C1E38
RVLFaceLib.a/RFL_Icon.o:
RVLFaceLib/RFL_Icon.c:
extab start:0x800066A0 end:0x800066B8
extabindex start:0x80006C40 end:0x80006C64
.text start:0x8045FCC0 end:0x804602A4
.rodata start:0x8055C748 end:0x8055C778
.sdata2 start:0x806C1E38 end:0x806C1E78
RVLFaceLib.a/RFL_HiddenDatabase.o:
RVLFaceLib/RFL_HiddenDatabase.c:
extab start:0x800066B8 end:0x800066C0
extabindex start:0x80006C64 end:0x80006C70
.text start:0x804602A4 end:0x804602D8
RVLFaceLib.a/RFL_Database.o:
RVLFaceLib/RFL_Database.c:
extab start:0x800066C0 end:0x80006738
extabindex start:0x80006C70 end:0x80006D24
.text start:0x804602D8 end:0x8046134C
RVLFaceLib.a/RFL_Controller.o:
RVLFaceLib/RFL_Controller.c:
extab start:0x80006738 end:0x80006748
extabindex start:0x80006D24 end:0x80006D3C
.text start:0x8046134C end:0x804615E8
RVLFaceLib.a/RFL_MiddleDatabase.o:
RVLFaceLib/RFL_MiddleDatabase.c:
extab start:0x80006748 end:0x80006750
extabindex start:0x80006D3C end:0x80006D48
.text start:0x804615E8 end:0x80461738
RVLFaceLib.a/RFL_DefaultDatabase.o:
RVLFaceLib/RFL_DefaultDatabase.c:
.text start:0x80461738 end:0x80461750
.rodata start:0x8055C778 end:0x8055C938
RVLFaceLib.a/RFL_DataUtility.o:
RVLFaceLib/RFL_DataUtility.c:
extab start:0x80006750 end:0x80006778
extabindex start:0x80006D48 end:0x80006D84
.text start:0x80461750 end:0x80461F04
.rodata start:0x8055C938 end:0x8055C948
RVLFaceLib.a/RFL_Format.o:
RVLFaceLib/RFL_Format.c:
extab start:0x80006778 end:0x80006780
extabindex start:0x80006D84 end:0x80006D90
.text start:0x80461F04 end:0x80461FC0

View File

@ -288,6 +288,34 @@ cflags_sdk = [
f"-DVERSION={version_num}",
]
cflags_rfl = [
"-nodefaults",
"-lang c",
"-proc gekko",
"-align powerpc",
"-enum int",
"-fp hardware",
"-Cpp_exceptions on",
"-O4,p",
"-inline auto",
'-pragma "cats off"',
'-pragma "warn_notinlined off"',
"-maxerrors 1",
"-nosyspath",
"-RTTI off",
"-fp_contract on",
"-str reuse",
"-enc SJIS",
"-ipa file",
"-i libs/MSL_C++/include",
"-i libs/MSL_C/include",
"-i libs/MetroTRK/include",
"-i libs/RVL_SDK/include",
"-i libs/Runtime/include",
f"-i build/{config.version}/include",
f"-DVERSION={version_num}",
]
# Debug flags
if args.debug:
# Or -sym dwarf-2 for Wii compilers
@ -331,9 +359,8 @@ def NWLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]:
"progress_category": "nw4r",
"objects": objects,
}
# Helper function for Dolphin libraries
def SDKLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]:
return {
"lib": lib_name,
@ -343,6 +370,15 @@ def SDKLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]:
"objects": objects,
}
def RFLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]:
return {
"lib": lib_name,
"mw_version": "GC/3.0a3",
"cflags": cflags_rfl,
"progress_category": "rfl",
"objects": objects,
}
Matching = True # Object matches and should be linked
NonMatching = False # Object does not match and should not be linked
Equivalent = config.non_matching # Object should be linked when configured with --non-matching
@ -2651,6 +2687,25 @@ config.libs = [
Object(NonMatching, "RVL_SDK/wud/debug_msg.c")
]
),
RFLib(
"RVLFaceLib",
[
Object(NonMatching, "RVLFaceLib/RFL_System.c"),
Object(NonMatching, "RVLFaceLib/RFL_NANDLoader.c"),
Object(NonMatching, "RVLFaceLib/RFL_NANDAccess.c"),
Object(NonMatching, "RVLFaceLib/RFL_Model.c"),
Object(NonMatching, "RVLFaceLib/RFL_MakeTex.c"),
Object(NonMatching, "RVLFaceLib/RFL_Icon.c"),
Object(NonMatching, "RVLFaceLib/RFL_HiddenDatabase.c"),
Object(NonMatching, "RVLFaceLib/RFL_Database.c"),
Object(NonMatching, "RVLFaceLib/RFL_Controller.c"),
Object(NonMatching, "RVLFaceLib/RFL_MiddleDatabase.c"),
Object(NonMatching, "RVLFaceLib/RFL_DefaultDatabase.c"),
Object(NonMatching, "RVLFaceLib/RFL_DataUtility.c"),
Object(NonMatching, "RVLFaceLib/RFL_Format.c")
]
)
]
# Optional extra categories for progress tracking

View File

@ -1,6 +1,6 @@
def convert_entry(entry):
obj_name = entry.split("[")[1].split(".o")[0]
new_path = f"RVL_SDK/vf/{obj_name}.c"
new_path = f"RVLFaceLib/{obj_name}.c"
return f'Object(NonMatching, "{new_path}"),'
def process_file(input_filename, output_filename):