Skip to content

Commit 291ee86

Browse files
committed
Build armips in libretro builds (requirement for some lua functionality)
1 parent 6efbdfc commit 291ee86

10 files changed

Lines changed: 67 additions & 44 deletions

File tree

CMakeLists.txt

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,6 @@ option(USE_LIBNX "Set to ON to build for Switch(libnx)" OFF)
193193
option(USE_FFMPEG "Build with FFMPEG support" ON)
194194
option(USE_DISCORD "Build with Discord support" ON)
195195
option(USE_MINIUPNPC "Build with miniUPnPc support" ON)
196-
option(USE_ARMIPS "Build with armips support in API/debuggerdebugger" ON)
197196
option(USE_SYSTEM_SNAPPY "Dynamically link against system snappy" ${USE_SYSTEM_SNAPPY})
198197
option(USE_SYSTEM_FFMPEG "Dynamically link against system FFMPEG" ${USE_SYSTEM_FFMPEG})
199198
option(USE_SYSTEM_LIBZIP "Dynamically link against system libzip" ${USE_SYSTEM_LIBZIP})
@@ -2147,7 +2146,7 @@ add_library(${CoreLibName} ${CoreLinkType}
21472146
Core/Dialog/SavedataParam.h
21482147
Core/ELF/ElfReader.cpp
21492148
Core/ELF/ElfReader.h
2150-
Core/ELF/ElfTypes.h
2149+
Core/ELF/PSPElfTypes.h
21512150
Core/ELF/PBPReader.cpp
21522151
Core/ELF/PBPReader.h
21532152
Core/ELF/PrxDecrypter.cpp
@@ -2475,11 +2474,7 @@ if(ANDROID)
24752474
endif()
24762475
endif()
24772476

2478-
if(USE_ARMIPS)
2479-
set(CoreExtraLibs ${CoreExtraLibs} armips)
2480-
else()
2481-
add_compile_definitions(NO_ARMIPS=1)
2482-
endif()
2477+
set(CoreExtraLibs ${CoreExtraLibs} armips)
24832478

24842479
# needed for VK_USE_PLATFORM_XCB_KHR only
24852480
#if(VULKAN AND NOT WIN32)

Core/Core.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,7 +1096,7 @@
10961096
<ClInclude Include="Dialog\PSPScreenshotDialog.h" />
10971097
<ClInclude Include="Dialog\SavedataParam.h" />
10981098
<ClInclude Include="ELF\ElfReader.h" />
1099-
<ClInclude Include="ELF\ElfTypes.h" />
1099+
<ClInclude Include="ELF\PSPElfTypes.h" />
11001100
<ClInclude Include="ELF\ParamSFO.h" />
11011101
<ClInclude Include="ELF\PBPReader.h" />
11021102
<ClInclude Include="ELF\PrxDecrypter.h" />
@@ -1348,4 +1348,4 @@
13481348
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
13491349
<ImportGroup Label="ExtensionTargets">
13501350
</ImportGroup>
1351-
</Project>
1351+
</Project>

Core/Core.vcxproj.filters

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1398,7 +1398,7 @@
13981398
<ClInclude Include="ELF\ElfReader.h">
13991399
<Filter>ELF</Filter>
14001400
</ClInclude>
1401-
<ClInclude Include="ELF\ElfTypes.h">
1401+
<ClInclude Include="ELF\PSPElfTypes.h">
14021402
<Filter>ELF</Filter>
14031403
</ClInclude>
14041404
<ClInclude Include="MIPS\MIPSDebugInterface.h">

Core/Debugger/SymbolMap.cpp

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@
3131

3232
#include <algorithm>
3333
#include <memory>
34-
#ifndef NO_ARMIPS
3534
#include <string_view>
36-
#endif
3735
#include <unordered_map>
3836

3937
#include "zlib.h"
@@ -46,20 +44,7 @@
4644
#include "Core/MemMap.h"
4745
#include "Core/Config.h"
4846
#include "Core/Debugger/SymbolMap.h"
49-
50-
#ifndef NO_ARMIPS
5147
#include "ext/armips/Core/Assembler.h"
52-
#else
53-
struct Identifier {
54-
explicit Identifier() {}
55-
explicit Identifier(const std::string &s) {}
56-
};
57-
58-
struct LabelDefinition {
59-
Identifier name;
60-
int64_t value;
61-
};
62-
#endif
6348

6449
SymbolMap *g_symbolMap;
6550

Core/ELF/ElfReader.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
#include <vector>
2121
#include "Common/CommonTypes.h"
22-
#include "Core/ELF/ElfTypes.h"
22+
#include "Core/ELF/PSPElfTypes.h"
2323

2424
enum {
2525
R_MIPS_NONE,

Core/MIPS/MIPSAsm.cpp

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
#include <cstdarg>
22
#include <cstring>
33
#include <memory>
4-
#ifndef NO_ARMIPS
54
#include <string_view>
6-
#endif
75
#include <vector>
86

97
#include "Common/CommonTypes.h"
10-
#ifndef NO_ARMIPS
118
#include "ext/armips/Core/Assembler.h"
129
#include "ext/armips/Core/FileManager.h"
13-
#endif
14-
1510
#include "Core/Debugger/SymbolMap.h"
1611
#include "Core/MemMapHelpers.h"
1712
#include "Core/MIPS/MIPSAsm.h"
@@ -25,7 +20,6 @@ std::string GetAssembleError()
2520
return errorText;
2621
}
2722

28-
#ifndef NO_ARMIPS
2923
class PspAssemblerFile: public AssemblerFile
3024
{
3125
public:
@@ -96,11 +90,5 @@ bool MipsAssembleOpcode(const char *line, DebugInterface *cpu, u32 address) {
9690

9791
return true;
9892
}
99-
#else
100-
bool MipsAssembleOpcode(const char *line, DebugInterface *cpu, u32 address) {
101-
errorText = "Built without armips, cannot assemble";
102-
return false;
103-
}
104-
#endif
10593

10694
} // namespace

UWP/CoreUWP/CoreUWP.vcxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
<ClInclude Include="..\..\Core\Dialog\PSPScreenshotDialog.h" />
132132
<ClInclude Include="..\..\Core\Dialog\SavedataParam.h" />
133133
<ClInclude Include="..\..\Core\ELF\ElfReader.h" />
134-
<ClInclude Include="..\..\Core\ELF\ElfTypes.h" />
134+
<ClInclude Include="..\..\Core\ELF\PSPElfTypes.h" />
135135
<ClInclude Include="..\..\Core\ELF\ParamSFO.h" />
136136
<ClInclude Include="..\..\Core\ELF\PBPReader.h" />
137137
<ClInclude Include="..\..\Core\ELF\PrxDecrypter.h" />
@@ -1032,4 +1032,4 @@
10321032
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
10331033
<ImportGroup Label="ExtensionTargets">
10341034
</ImportGroup>
1035-
</Project>
1035+
</Project>

UWP/CoreUWP/CoreUWP.vcxproj.filters

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -458,7 +458,7 @@
458458
<ClInclude Include="..\..\Core\Dialog\PSPScreenshotDialog.h" />
459459
<ClInclude Include="..\..\Core\Dialog\SavedataParam.h" />
460460
<ClInclude Include="..\..\Core\ELF\ElfReader.h" />
461-
<ClInclude Include="..\..\Core\ELF\ElfTypes.h" />
461+
<ClInclude Include="..\..\Core\ELF\PSPElfTypes.h" />
462462
<ClInclude Include="..\..\Core\ELF\ParamSFO.h" />
463463
<ClInclude Include="..\..\Core\ELF\PBPReader.h" />
464464
<ClInclude Include="..\..\Core\ELF\PrxDecrypter.h" />

libretro/Makefile.common

Lines changed: 58 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,64 @@ SOURCES_CXX += \
306306
${EXTDIR}/at3_standalone/fft.cpp \
307307
${EXTDIR}/at3_standalone/mem.cpp
308308

309+
COREFLAGS += -DARMIPS_USE_STD_FILESYSTEM
310+
SOURCES_CXX += \
311+
$(EXTDIR)/armips/Util/ByteArray.cpp \
312+
$(EXTDIR)/armips/Util/CRC.cpp \
313+
$(EXTDIR)/armips/Util/EncodingTable.cpp \
314+
$(EXTDIR)/armips/Util/FileClasses.cpp \
315+
$(EXTDIR)/armips/Util/Util.cpp \
316+
$(EXTDIR)/armips/Core/ELF/ElfRelocator.cpp \
317+
$(EXTDIR)/armips/Core/ELF/ElfFile.cpp \
318+
$(EXTDIR)/armips/Core/Assembler.cpp \
319+
$(EXTDIR)/armips/Core/Allocations.cpp \
320+
$(EXTDIR)/armips/Core/Common.cpp \
321+
$(EXTDIR)/armips/Core/Expression.cpp \
322+
$(EXTDIR)/armips/Core/ExpressionFunctions.cpp \
323+
$(EXTDIR)/armips/Core/ExpressionFunctionHandler.cpp \
324+
$(EXTDIR)/armips/Core/FileManager.cpp \
325+
$(EXTDIR)/armips/Core/Misc.cpp \
326+
$(EXTDIR)/armips/Core/SymbolData.cpp \
327+
$(EXTDIR)/armips/Core/SymbolTable.cpp \
328+
$(EXTDIR)/armips/Core/Types.cpp \
329+
$(EXTDIR)/armips/Commands/CAssemblerCommand.cpp \
330+
$(EXTDIR)/armips/Commands/CAssemblerLabel.cpp \
331+
$(EXTDIR)/armips/Commands/CDirectiveArea.cpp \
332+
$(EXTDIR)/armips/Commands/CDirectiveConditional.cpp \
333+
$(EXTDIR)/armips/Commands/CDirectiveData.cpp \
334+
$(EXTDIR)/armips/Commands/CDirectiveFile.cpp \
335+
$(EXTDIR)/armips/Commands/CDirectiveMessage.cpp \
336+
$(EXTDIR)/armips/Commands/CommandSequence.cpp \
337+
$(EXTDIR)/armips/Archs/Architecture.cpp \
338+
$(EXTDIR)/armips/Archs/ARM/Arm.cpp \
339+
$(EXTDIR)/armips/Archs/ARM/ArmOpcodes.cpp \
340+
$(EXTDIR)/armips/Archs/ARM/ArmParser.cpp \
341+
$(EXTDIR)/armips/Archs/ARM/ArmElfRelocator.cpp \
342+
$(EXTDIR)/armips/Archs/ARM/ArmExpressionFunctions.cpp \
343+
$(EXTDIR)/armips/Archs/ARM/CArmInstruction.cpp \
344+
$(EXTDIR)/armips/Archs/ARM/CThumbInstruction.cpp \
345+
$(EXTDIR)/armips/Archs/ARM/Pool.cpp \
346+
$(EXTDIR)/armips/Archs/ARM/ThumbOpcodes.cpp \
347+
$(EXTDIR)/armips/Archs/MIPS/CMipsInstruction.cpp \
348+
$(EXTDIR)/armips/Archs/MIPS/Mips.cpp \
349+
$(EXTDIR)/armips/Archs/MIPS/MipsElfFile.cpp \
350+
$(EXTDIR)/armips/Archs/MIPS/MipsElfRelocator.cpp \
351+
$(EXTDIR)/armips/Archs/MIPS/MipsExpressionFunctions.cpp \
352+
$(EXTDIR)/armips/Archs/MIPS/MipsMacros.cpp \
353+
$(EXTDIR)/armips/Archs/MIPS/MipsOpcodes.cpp \
354+
$(EXTDIR)/armips/Archs/MIPS/MipsParser.cpp \
355+
$(EXTDIR)/armips/Archs/MIPS/PsxRelocator.cpp \
356+
$(EXTDIR)/armips/Archs/SuperH/CShInstruction.cpp \
357+
$(EXTDIR)/armips/Archs/SuperH/ShElfRelocator.cpp \
358+
$(EXTDIR)/armips/Archs/SuperH/ShExpressionFunctions.cpp \
359+
$(EXTDIR)/armips/Archs/SuperH/ShOpcodes.cpp \
360+
$(EXTDIR)/armips/Archs/SuperH/ShParser.cpp \
361+
$(EXTDIR)/armips/Archs/SuperH/SuperH.cpp \
362+
$(EXTDIR)/armips/Parser/DirectivesParser.cpp \
363+
$(EXTDIR)/armips/Parser/ExpressionParser.cpp \
364+
$(EXTDIR)/armips/Parser/Parser.cpp \
365+
$(EXTDIR)/armips/Parser/Tokenizer.cpp
366+
309367
ifeq ($(PLATFORM_EXT), android)
310368
COREFLAGS += -DHAVE_DLFCN_H
311369
else ifneq ($(PLATFORM_EXT), win32)
@@ -369,9 +427,6 @@ SOURCES_CXX += \
369427
$(EXTDIR)/imgui/imgui_tables.cpp \
370428
$(EXTDIR)/imgui/imgui_widgets.cpp
371429

372-
SOURCES_CXX += \
373-
$(EXTDIR)/armips/Core/Types.cpp
374-
375430
SOURCES_CXX += \
376431
$(COMMONDIR)/Crypto/md5.cpp \
377432
$(COMMONDIR)/Crypto/sha1.cpp \

0 commit comments

Comments
 (0)