From ee550e789fba47ff931f24b1d19b7eddfa6c27e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Thu, 28 Aug 2025 18:42:25 -0300 Subject: [PATCH 01/20] Initial Xcode files --- .gitignore | 2 + .../project.pbxproj | 283 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + 3 files changed, 292 insertions(+) create mode 100644 dosbox_pure_libretro.xcodeproj/project.pbxproj create mode 100644 dosbox_pure_libretro.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/.gitignore b/.gitignore index 8951a548..106008a8 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ libs/ *.so *.dylib jni/*.bat +.DS_Store +xcuserdata diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj new file mode 100644 index 00000000..2a6dbb41 --- /dev/null +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -0,0 +1,283 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 77; + objects = { + +/* Begin PBXCopyFilesBuildPhase section */ + 65FB48532E6103B20028503E /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 65FB48552E6103B20028503E /* libdosbox_pure_libretro.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libdosbox_pure_libretro.a; sourceTree = BUILT_PRODUCTS_DIR; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 65FB48522E6103B20028503E /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 65FB484C2E6103B20028503E = { + isa = PBXGroup; + children = ( + 65FB48562E6103B20028503E /* Products */, + ); + sourceTree = ""; + }; + 65FB48562E6103B20028503E /* Products */ = { + isa = PBXGroup; + children = ( + 65FB48552E6103B20028503E /* libdosbox_pure_libretro.a */, + ); + name = Products; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 65FB48542E6103B20028503E /* dosbox_pure_libretro */ = { + isa = PBXNativeTarget; + buildConfigurationList = 65FB485F2E6103B20028503E /* Build configuration list for PBXNativeTarget "dosbox_pure_libretro" */; + buildPhases = ( + 65FB48512E6103B20028503E /* Sources */, + 65FB48522E6103B20028503E /* Frameworks */, + 65FB48532E6103B20028503E /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = dosbox_pure_libretro; + packageProductDependencies = ( + ); + productName = dosbox_pure_libretro; + productReference = 65FB48552E6103B20028503E /* libdosbox_pure_libretro.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 65FB484D2E6103B20028503E /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastUpgradeCheck = 1640; + TargetAttributes = { + 65FB48542E6103B20028503E = { + CreatedOnToolsVersion = 16.4; + }; + }; + }; + buildConfigurationList = 65FB48502E6103B20028503E /* Build configuration list for PBXProject "dosbox_pure_libretro" */; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 65FB484C2E6103B20028503E; + minimizedProjectReferenceProxies = 1; + preferredProjectObjectVersion = 77; + productRefGroup = 65FB48562E6103B20028503E /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 65FB48542E6103B20028503E /* dosbox_pure_libretro */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 65FB48512E6103B20028503E /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 65FB485D2E6103B20028503E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = 3BM944F372; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.5; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 65FB485E2E6103B20028503E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 3BM944F372; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 18.5; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 65FB48602E6103B20028503E /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 3BM944F372; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 65FB48612E6103B20028503E /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 3BM944F372; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 65FB48502E6103B20028503E /* Build configuration list for PBXProject "dosbox_pure_libretro" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 65FB485D2E6103B20028503E /* Debug */, + 65FB485E2E6103B20028503E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 65FB485F2E6103B20028503E /* Build configuration list for PBXNativeTarget "dosbox_pure_libretro" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 65FB48602E6103B20028503E /* Debug */, + 65FB48612E6103B20028503E /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 65FB484D2E6103B20028503E /* Project object */; +} diff --git a/dosbox_pure_libretro.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/dosbox_pure_libretro.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000..919434a6 --- /dev/null +++ b/dosbox_pure_libretro.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + From 4131f429b4deb0d56409a4daac33d4a969508535 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Thu, 28 Aug 2025 19:42:19 -0300 Subject: [PATCH 02/20] Add xcconfig files with setups from Makefile. Add source files --- apple/base.xcconfig | 31 ++ apple/debug.xcconfig | 5 + apple/release.xcconfig | 8 + .../project.pbxproj | 288 +++++++++++++++++- 4 files changed, 323 insertions(+), 9 deletions(-) create mode 100644 apple/base.xcconfig create mode 100644 apple/debug.xcconfig create mode 100644 apple/release.xcconfig diff --git a/apple/base.xcconfig b/apple/base.xcconfig new file mode 100644 index 00000000..ad370caf --- /dev/null +++ b/apple/base.xcconfig @@ -0,0 +1,31 @@ +// Definições comuns para todas as configs +CLANG_CXX_LANGUAGE_STANDARD = gnu++11 +CLANG_CXX_LIBRARY = libc++ +GCC_C_LANGUAGE_STANDARD = gnu11 +IPHONEOS_DEPLOYMENT_TARGET = 12.0 + +// Flags globais do Makefile +OTHER_CPLUSPLUSFLAGS = $(inherited) \ + -fomit-frame-pointer \ + -fexceptions \ + -fvisibility=hidden \ + -ffunction-sections \ + -fPIC \ + -Wno-address-of-packed-member \ + -Wno-format \ + -Wno-switch \ + -Wno-psabi \ + -Wno-unknown-warning-option \ + -Wno-deprecated-declarations \ + -Wno-deprecated-volatile \ + -Wno-comma \ + -Wno-implicit-int-conversion \ + -Wno-documentation + +// Defines globais +GCC_PREPROCESSOR_DEFINITIONS = __LIBRETRO__=1 _FILE_OFFSET_BITS=64 DISABLE_DYNAREC=1 DBP_IOS=1 $(inherited) + +// Linker flags comuns +OTHER_LDFLAGS = $(inherited) -Wl,-dead_strip -lpthread + +HEADER_SEARCH_PATHS = $(SRCROOT)/include $(SRCROOT)/libretro-common/include diff --git a/apple/debug.xcconfig b/apple/debug.xcconfig new file mode 100644 index 00000000..62d47505 --- /dev/null +++ b/apple/debug.xcconfig @@ -0,0 +1,5 @@ + +GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 _DEBUG=1 $(inherited) +OTHER_CFLAGS = $(inherited) -ftrivial-auto-var-init=zero +OTHER_CPLUSPLUSFLAGS = $(inherited) -g -O0 -ftrivial-auto-var-init=zero +OTHER_LDFLAGS = $(inherited) -g -O0 diff --git a/apple/release.xcconfig b/apple/release.xcconfig new file mode 100644 index 00000000..ef92c890 --- /dev/null +++ b/apple/release.xcconfig @@ -0,0 +1,8 @@ + +GCC_PREPROCESSOR_DEFINITIONS = NDEBUG=1 $(inherited) +OTHER_CPLUSPLUSFLAGS = $(inherited) -O2 +OTHER_LDFLAGS = $(inherited) -O2 + +// Strip automático, equivalente a "strip -xS" +STRIP_INSTALLED_PRODUCT = YES +STRIP_STYLE = all diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index 2a6dbb41..aebf8df7 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -6,6 +6,11 @@ objectVersion = 77; objects = { +/* Begin PBXBuildFile section */ + 65FB497F2E6105E40028503E /* keyb2joypad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65FB48952E6105E40028503E /* keyb2joypad.cpp */; }; + 65FB49DB2E6105E40028503E /* dosbox_pure_libretro.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65FB48642E6105E40028503E /* dosbox_pure_libretro.cpp */; }; +/* End PBXBuildFile section */ + /* Begin PBXCopyFilesBuildPhase section */ 65FB48532E6103B20028503E /* CopyFiles */ = { isa = PBXCopyFilesBuildPhase; @@ -20,8 +25,215 @@ /* Begin PBXFileReference section */ 65FB48552E6103B20028503E /* libdosbox_pure_libretro.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libdosbox_pure_libretro.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 65FB48632E6105E40028503E /* core_options.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = core_options.h; sourceTree = ""; }; + 65FB48642E6105E40028503E /* dosbox_pure_libretro.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = dosbox_pure_libretro.cpp; sourceTree = ""; }; + 65FB48652E6105E40028503E /* dosbox_pure_osd.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dosbox_pure_osd.h; sourceTree = ""; }; + 65FB48662E6105E40028503E /* dosbox_pure_pad.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dosbox_pure_pad.h; sourceTree = ""; }; + 65FB48672E6105E40028503E /* dosbox_pure_run.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dosbox_pure_run.h; sourceTree = ""; }; + 65FB48682E6105E40028503E /* dosbox_pure_ver.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = dosbox_pure_ver.h; sourceTree = ""; }; + 65FB48942E6105E40028503E /* keyb2joypad.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = keyb2joypad.h; sourceTree = ""; }; + 65FB48952E6105E40028503E /* keyb2joypad.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = keyb2joypad.cpp; sourceTree = ""; }; + 65FB49E82E6106210028503E /* dosbox_pure_libretro.info */ = {isa = PBXFileReference; lastKnownFileType = text; path = dosbox_pure_libretro.info; sourceTree = ""; }; + 65FB49E92E6106210028503E /* DOSBOX-AUTHORS */ = {isa = PBXFileReference; lastKnownFileType = text; path = "DOSBOX-AUTHORS"; sourceTree = ""; }; + 65FB49EA2E6106210028503E /* DOSBOX-THANKS */ = {isa = PBXFileReference; lastKnownFileType = text; path = "DOSBOX-THANKS"; sourceTree = ""; }; + 65FB49F02E6106210028503E /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + 65FB49F12E6106210028503E /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; /* End PBXFileReference section */ +/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ + 654FCE782E610A6000604D3F /* Exceptions for "include" folder in "Static Library" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + bios_disk.h, + bios.h, + callback.h, + config.h, + control.h, + cpu.h, + cross.h, + dbp_network.h, + dbp_opengl.h, + dbp_serialize.h, + dbp_threads.h, + debug.h, + dma.h, + dos_inc.h, + dos_system.h, + dosbox.h, + fpu.h, + hardware.h, + inout.h, + ipx.h, + ipxserver.h, + joystick.h, + keyboard.h, + logging.h, + mapper.h, + mem.h, + midi.h, + mixer.h, + mouse.h, + paging.h, + pci_bus.h, + pic.h, + programs.h, + regs.h, + render.h, + serialport.h, + setup.h, + shell.h, + support.h, + timer.h, + vga.h, + video.h, + ); + target = 65FB48542E6103B20028503E /* Static Library */; + }; + 654FCE792E610A6000604D3F /* Exceptions for "libretro-common" folder in "Static Library" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + include/retro_timers.h, + rthreads/ctr_pthread.h, + rthreads/gx_pthread.h, + rthreads/wiiu_pthread.h, + ); + publicHeaders = ( + include/libretro.h, + ); + target = 65FB48542E6103B20028503E /* Static Library */; + }; + 654FCE7A2E610A6000604D3F /* Exceptions for "src" folder in "Static Library" target */ = { + isa = PBXFileSystemSynchronizedBuildFileExceptionSet; + membershipExceptions = ( + cpu/core_dyn_x86/decoder.h, + cpu/core_dyn_x86/dyn_fpu_dh.h, + cpu/core_dyn_x86/dyn_fpu.h, + cpu/core_dyn_x86/helpers.h, + cpu/core_dyn_x86/risc_x64.h, + cpu/core_dyn_x86/risc_x86.h, + cpu/core_dyn_x86/string.h, + cpu/core_dynrec/decoder_basic.h, + cpu/core_dynrec/decoder_opcodes.h, + cpu/core_dynrec/decoder.h, + cpu/core_dynrec/dyn_fpu.h, + cpu/core_dynrec/operators.h, + "cpu/core_dynrec/risc_armv4le-common.h", + "cpu/core_dynrec/risc_armv4le-o3.h", + "cpu/core_dynrec/risc_armv4le-thumb-iw.h", + "cpu/core_dynrec/risc_armv4le-thumb-niw.h", + "cpu/core_dynrec/risc_armv4le-thumb.h", + cpu/core_dynrec/risc_armv4le.h, + cpu/core_dynrec/risc_armv8le.h, + cpu/core_dynrec/risc_mipsel32.h, + cpu/core_dynrec/risc_ppc.h, + cpu/core_dynrec/risc_x64.h, + cpu/core_dynrec/risc_x86.h, + cpu/core_full/ea_lookup.h, + cpu/core_full/load.h, + cpu/core_full/loadwrite.h, + cpu/core_full/op.h, + cpu/core_full/optable.h, + cpu/core_full/save.h, + cpu/core_full/string.h, + cpu/core_full/support.h, + cpu/core_normal/helpers.h, + cpu/core_normal/prefix_0f.h, + cpu/core_normal/prefix_66_0f.h, + cpu/core_normal/prefix_66.h, + cpu/core_normal/prefix_none.h, + cpu/core_normal/string.h, + cpu/core_normal/support.h, + cpu/core_normal/table_ea.h, + cpu/dyn_cache.h, + cpu/instructions.h, + cpu/lazyflags.h, + cpu/modrm.h, + dos/cdrom.h, + dos/dev_con.h, + dos/dos_codepages.h, + dos/dos_keyboard_layout_data.h, + dos/drives.h, + dos/scsidefs.h, + dos/wnaspi32.h, + fpu/fpu_instructions_x86.h, + fpu/fpu_instructions.h, + gui/midi_alsa.h, + gui/midi_coreaudio.h, + gui/midi_coremidi.h, + gui/midi_mt32.h, + gui/midi_opl.h, + gui/midi_oss.h, + gui/midi_retro.h, + gui/midi_tsf.h, + gui/midi_win32.h, + gui/mt32emu.h, + gui/render_glsl.h, + gui/render_loops.h, + gui/render_scalers.h, + gui/render_simple.h, + gui/render_templates_hq.h, + gui/render_templates_hq2x.h, + gui/render_templates_hq3x.h, + gui/render_templates_sai.h, + gui/render_templates.h, + gui/tsf.h, + hardware/adlib.h, + hardware/dbopl.h, + hardware/mame/emu.h, + hardware/mame/saa1099.h, + hardware/mame/sn76496.h, + hardware/nukedopl3.h, + hardware/pci_devices.h, + hardware/serialport/directserial.h, + hardware/serialport/libserial.h, + hardware/serialport/misc_util.h, + hardware/serialport/nullmodem.h, + hardware/serialport/serialdummy.h, + hardware/serialport/softmodem.h, + ints/int10.h, + ints/xms.h, + ); + target = 65FB48542E6103B20028503E /* Static Library */; + }; +/* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ + +/* Begin PBXFileSystemSynchronizedRootGroup section */ + 65FB48932E6105E40028503E /* include */ = { + isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + 654FCE782E610A6000604D3F /* Exceptions for "include" folder in "Static Library" target */, + ); + path = include; + sourceTree = ""; + }; + 65FB48A02E6105E40028503E /* libretro-common */ = { + isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + 654FCE792E610A6000604D3F /* Exceptions for "libretro-common" folder in "Static Library" target */, + ); + path = "libretro-common"; + sourceTree = ""; + }; + 65FB49752E6105E40028503E /* src */ = { + isa = PBXFileSystemSynchronizedRootGroup; + exceptions = ( + 654FCE7A2E610A6000604D3F /* Exceptions for "src" folder in "Static Library" target */, + ); + path = src; + sourceTree = ""; + }; + 65FB49EF2E6106210028503E /* images */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = images; + sourceTree = ""; + }; + 65FB49F22E6106A20028503E /* apple */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = apple; + sourceTree = ""; + }; +/* End PBXFileSystemSynchronizedRootGroup section */ + /* Begin PBXFrameworksBuildPhase section */ 65FB48522E6103B20028503E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; @@ -36,7 +248,10 @@ 65FB484C2E6103B20028503E = { isa = PBXGroup; children = ( + 65FB49E72E6105F80028503E /* Doc */, + 65FB48622E6104DC0028503E /* Source */, 65FB48562E6103B20028503E /* Products */, + 65FB49F22E6106A20028503E /* apple */, ); sourceTree = ""; }; @@ -48,13 +263,55 @@ name = Products; sourceTree = ""; }; + 65FB48622E6104DC0028503E /* Source */ = { + isa = PBXGroup; + children = ( + 65FB48632E6105E40028503E /* core_options.h */, + 65FB48642E6105E40028503E /* dosbox_pure_libretro.cpp */, + 65FB48652E6105E40028503E /* dosbox_pure_osd.h */, + 65FB48662E6105E40028503E /* dosbox_pure_pad.h */, + 65FB48672E6105E40028503E /* dosbox_pure_run.h */, + 65FB48682E6105E40028503E /* dosbox_pure_ver.h */, + 65FB48932E6105E40028503E /* include */, + 65FB48942E6105E40028503E /* keyb2joypad.h */, + 65FB48952E6105E40028503E /* keyb2joypad.cpp */, + 65FB48A02E6105E40028503E /* libretro-common */, + 65FB49752E6105E40028503E /* src */, + ); + name = Source; + sourceTree = ""; + }; + 65FB49E72E6105F80028503E /* Doc */ = { + isa = PBXGroup; + children = ( + 65FB49E82E6106210028503E /* dosbox_pure_libretro.info */, + 65FB49E92E6106210028503E /* DOSBOX-AUTHORS */, + 65FB49EA2E6106210028503E /* DOSBOX-THANKS */, + 65FB49EF2E6106210028503E /* images */, + 65FB49F02E6106210028503E /* LICENSE */, + 65FB49F12E6106210028503E /* README.md */, + ); + name = Doc; + sourceTree = ""; + }; /* End PBXGroup section */ +/* Begin PBXHeadersBuildPhase section */ + 654FCE772E610A6000604D3F /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXHeadersBuildPhase section */ + /* Begin PBXNativeTarget section */ - 65FB48542E6103B20028503E /* dosbox_pure_libretro */ = { + 65FB48542E6103B20028503E /* Static Library */ = { isa = PBXNativeTarget; - buildConfigurationList = 65FB485F2E6103B20028503E /* Build configuration list for PBXNativeTarget "dosbox_pure_libretro" */; + buildConfigurationList = 65FB485F2E6103B20028503E /* Build configuration list for PBXNativeTarget "Static Library" */; buildPhases = ( + 654FCE772E610A6000604D3F /* Headers */, 65FB48512E6103B20028503E /* Sources */, 65FB48522E6103B20028503E /* Frameworks */, 65FB48532E6103B20028503E /* CopyFiles */, @@ -63,7 +320,12 @@ ); dependencies = ( ); - name = dosbox_pure_libretro; + fileSystemSynchronizedGroups = ( + 65FB48932E6105E40028503E /* include */, + 65FB48A02E6105E40028503E /* libretro-common */, + 65FB49752E6105E40028503E /* src */, + ); + name = "Static Library"; packageProductDependencies = ( ); productName = dosbox_pure_libretro; @@ -98,7 +360,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 65FB48542E6103B20028503E /* dosbox_pure_libretro */, + 65FB48542E6103B20028503E /* Static Library */, ); }; /* End PBXProject section */ @@ -108,6 +370,8 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 65FB497F2E6105E40028503E /* keyb2joypad.cpp in Sources */, + 65FB49DB2E6105E40028503E /* dosbox_pure_libretro.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -116,6 +380,8 @@ /* Begin XCBuildConfiguration section */ 65FB485D2E6103B20028503E /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; + baseConfigurationReferenceRelativePath = base.xcconfig; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; @@ -167,7 +433,6 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 18.5; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; @@ -178,6 +443,8 @@ }; 65FB485E2E6103B20028503E /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; + baseConfigurationReferenceRelativePath = base.xcconfig; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; @@ -223,7 +490,6 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 18.5; LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; @@ -234,11 +500,13 @@ }; 65FB48602E6103B20028503E /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; + baseConfigurationReferenceRelativePath = debug.xcconfig; buildSettings = { CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 3BM944F372; OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = dosbox_pure_libretro; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -246,11 +514,13 @@ }; 65FB48612E6103B20028503E /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; + baseConfigurationReferenceRelativePath = release.xcconfig; buildSettings = { CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 3BM944F372; OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = "$(TARGET_NAME)"; + PRODUCT_NAME = dosbox_pure_libretro; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; @@ -268,7 +538,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 65FB485F2E6103B20028503E /* Build configuration list for PBXNativeTarget "dosbox_pure_libretro" */ = { + 65FB485F2E6103B20028503E /* Build configuration list for PBXNativeTarget "Static Library" */ = { isa = XCConfigurationList; buildConfigurations = ( 65FB48602E6103B20028503E /* Debug */, From bf05cbcb730b8189d682b575c3f273b3a0a3fcfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Fri, 29 Aug 2025 15:25:16 -0300 Subject: [PATCH 03/20] Add "iOS XCFramework" target --- .../project.pbxproj | 149 +++++++++++++++++- 1 file changed, 148 insertions(+), 1 deletion(-) diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index aebf8df7..10c01792 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -6,6 +6,25 @@ objectVersion = 77; objects = { +/* Begin PBXAggregateTarget section */ + 654FCE7D2E61E25000604D3F /* iOS XCFramework */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 654FCE7E2E61E25000604D3F /* Build configuration list for PBXAggregateTarget "iOS XCFramework" */; + buildPhases = ( + 654FCE882E61E5E900604D3F /* Reset Build folder */, + 654FCE892E61E5EB00604D3F /* Archive Device Lib */, + 654FCE8A2E61E5EE00604D3F /* Archive Simulator Lib */, + 654FCE812E61E25700604D3F /* Create XCFramework */, + ); + dependencies = ( + ); + name = "iOS XCFramework"; + packageProductDependencies = ( + ); + productName = "iOS XCFramework"; + }; +/* End PBXAggregateTarget section */ + /* Begin PBXBuildFile section */ 65FB497F2E6105E40028503E /* keyb2joypad.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65FB48952E6105E40028503E /* keyb2joypad.cpp */; }; 65FB49DB2E6105E40028503E /* dosbox_pure_libretro.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65FB48642E6105E40028503E /* dosbox_pure_libretro.cpp */; }; @@ -198,6 +217,11 @@ /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ /* Begin PBXFileSystemSynchronizedRootGroup section */ + 654FCE832E61E2ED00604D3F /* build */ = { + isa = PBXFileSystemSynchronizedRootGroup; + path = build; + sourceTree = ""; + }; 65FB48932E6105E40028503E /* include */ = { isa = PBXFileSystemSynchronizedRootGroup; exceptions = ( @@ -248,10 +272,11 @@ 65FB484C2E6103B20028503E = { isa = PBXGroup; children = ( + 65FB49F22E6106A20028503E /* apple */, + 654FCE832E61E2ED00604D3F /* build */, 65FB49E72E6105F80028503E /* Doc */, 65FB48622E6104DC0028503E /* Source */, 65FB48562E6103B20028503E /* Products */, - 65FB49F22E6106A20028503E /* apple */, ); sourceTree = ""; }; @@ -341,6 +366,9 @@ BuildIndependentTargetsInParallel = 1; LastUpgradeCheck = 1640; TargetAttributes = { + 654FCE7D2E61E25000604D3F = { + CreatedOnToolsVersion = 16.4; + }; 65FB48542E6103B20028503E = { CreatedOnToolsVersion = 16.4; }; @@ -361,10 +389,102 @@ projectRoot = ""; targets = ( 65FB48542E6103B20028503E /* Static Library */, + 654FCE7D2E61E25000604D3F /* iOS XCFramework */, ); }; /* End PBXProject section */ +/* Begin PBXShellScriptBuildPhase section */ + 654FCE812E61E25700604D3F /* Create XCFramework */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${SRCROOT}/build/${PROJECT_NAME}-ios_device.xcarchive", + "${SRCROOT}/build/${PROJECT_NAME}-ios_simulator.xcarchive", + ); + name = "Create XCFramework"; + outputFileListPaths = ( + ); + outputPaths = ( + "${SRCROOT}/build/${PROJECT_NAME}_ios.xcframework", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nARCHIVE_DEV=\"${SRCROOT}/build/${PROJECT_NAME}-ios_device.xcarchive\"\nARCHIVE_SIM=\"${SRCROOT}/build/${PROJECT_NAME}-ios_simulator.xcarchive\"\nXCFRAMEWORK=\"${SRCROOT}/build/${PROJECT_NAME}_ios.xcframework\"\n\nrm -rf \"${XCFRAMEWORK}\"\n\n# Create XCFramework\nxcodebuild -create-xcframework \\\n -archive \"${ARCHIVE_DEV}\" -library lib${PROJECT_NAME}.a \\\n -archive \"${ARCHIVE_SIM}\" -library lib${PROJECT_NAME}.a \\\n -output \"${XCFRAMEWORK}\"\n"; + }; + 654FCE882E61E5E900604D3F /* Reset Build folder */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + ); + name = "Reset Build folder"; + outputFileListPaths = ( + ); + outputPaths = ( + "$(SRCROOT)/build/*", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\nBUILD_DIR=\"${SRCROOT}/build\"\n\n# rm -rf \"${BUILD_DIR}\"\n# mkdir -p \"$BUILD_DIR\"\n"; + }; + 654FCE892E61E5EB00604D3F /* Archive Device Lib */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${SRCROOT}/src", + "$(SRCROOT)/libretro-common", + "$(SRCROOT)/include", + "$(SRCROOT)/*.h", + "$(SRCROOT)/*.cpp", + ); + name = "Archive Device Lib"; + outputFileListPaths = ( + ); + outputPaths = ( + "${SRCROOT}/build/${PROJECT_NAME}-ios_device.xcarchive", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nSCHEME=\"Static Library\"\nARCHIVE_DEV=\"${SRCROOT}/build/${PROJECT_NAME}-ios_device.xcarchive\"\n\nrm -rf \"${ARCHIVE_DEV}\"\n\n# iOS Device\nxcodebuild archive \\\n -project ${PROJECT_NAME}.xcodeproj \\\n -scheme \"${SCHEME}\" \\\n -configuration Release \\\n -destination \"generic/platform=iOS\" \\\n -archivePath \"${ARCHIVE_DEV}\" \\\n# -derivedDataPath /tmp/dd_dosbox_ios\n"; + }; + 654FCE8A2E61E5EE00604D3F /* Archive Simulator Lib */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputFileListPaths = ( + ); + inputPaths = ( + "${SRCROOT}/src", + "$(SRCROOT)/libretro-common", + "$(SRCROOT)/include", + "$(SRCROOT)/*.h", + "$(SRCROOT)/*.cpp", + ); + name = "Archive Simulator Lib"; + outputFileListPaths = ( + ); + outputPaths = ( + "${SRCROOT}/build/${PROJECT_NAME}-ios_simulator.xcarchive", + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nSCHEME=\"Static Library\"\nARCHIVE_SIM=\"${SRCROOT}/build/${PROJECT_NAME}-ios_simulator.xcarchive\"\n\nrm -rf \"${ARCHIVE_SIM}\"\n\n# iOS Simulator\nxcodebuild archive \\\n -project ${PROJECT_NAME}.xcodeproj \\\n -scheme \"${SCHEME}\" \\\n -configuration Release \\\n -destination \"generic/platform=iOS Simulator\" \\\n -archivePath \"${ARCHIVE_SIM}\" \\\n# -derivedDataPath /tmp/dd_dosbox_ios\n"; + }; +/* End PBXShellScriptBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ 65FB48512E6103B20028503E /* Sources */ = { isa = PBXSourcesBuildPhase; @@ -378,6 +498,24 @@ /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ + 654FCE7F2E61E25000604D3F /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 3BM944F372; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + }; + name = Debug; + }; + 654FCE802E61E25000604D3F /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 3BM944F372; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + }; + name = Release; + }; 65FB485D2E6103B20028503E /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; @@ -529,6 +667,15 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ + 654FCE7E2E61E25000604D3F /* Build configuration list for PBXAggregateTarget "iOS XCFramework" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 654FCE7F2E61E25000604D3F /* Debug */, + 654FCE802E61E25000604D3F /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; 65FB48502E6103B20028503E /* Build configuration list for PBXProject "dosbox_pure_libretro" */ = { isa = XCConfigurationList; buildConfigurations = ( From 019ccdba4c6bf9cdf7cb471b1730dad93d09f3e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Fri, 29 Aug 2025 17:21:11 -0300 Subject: [PATCH 04/20] Fix archive build --- apple/debug.xcconfig | 1 + apple/release.xcconfig | 11 +++++++++-- dosbox_pure_libretro.xcodeproj/project.pbxproj | 18 ++++-------------- 3 files changed, 14 insertions(+), 16 deletions(-) diff --git a/apple/debug.xcconfig b/apple/debug.xcconfig index 62d47505..5b5165ef 100644 --- a/apple/debug.xcconfig +++ b/apple/debug.xcconfig @@ -1,3 +1,4 @@ +PRODUCT_NAME = dosbox_pure_libretro GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 _DEBUG=1 $(inherited) OTHER_CFLAGS = $(inherited) -ftrivial-auto-var-init=zero diff --git a/apple/release.xcconfig b/apple/release.xcconfig index ef92c890..02e5236e 100644 --- a/apple/release.xcconfig +++ b/apple/release.xcconfig @@ -1,8 +1,15 @@ +PRODUCT_NAME = dosbox_pure_libretro GCC_PREPROCESSOR_DEFINITIONS = NDEBUG=1 $(inherited) OTHER_CPLUSPLUSFLAGS = $(inherited) -O2 OTHER_LDFLAGS = $(inherited) -O2 -// Strip automático, equivalente a "strip -xS" -STRIP_INSTALLED_PRODUCT = YES +// Auto strip, similar to "strip -xS" (conflicted with archive) +STRIP_INSTALLED_PRODUCT = NO STRIP_STYLE = all + +// Needed to include .a lib in the .xcarchive +BUILD_LIBRARY_FOR_DISTRIBUTION = YES +SKIP_INSTALL = NO +INSTALL_PATH = /usr/local/lib + diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index 10c01792..f135672c 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -551,12 +551,9 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = dwarf; DEVELOPMENT_TEAM = 3BM944F372; ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -574,8 +571,8 @@ LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "xrsimulator xros watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; }; name = Debug; }; @@ -614,12 +611,10 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEVELOPMENT_TEAM = 3BM944F372; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_USER_SCRIPT_SANDBOXING = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -631,7 +626,8 @@ LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - SDKROOT = iphoneos; + SUPPORTED_PLATFORMS = "xrsimulator xros watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; VALIDATE_PRODUCT = YES; }; name = Release; @@ -643,9 +639,6 @@ buildSettings = { CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 3BM944F372; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = dosbox_pure_libretro; - SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -657,9 +650,6 @@ buildSettings = { CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 3BM944F372; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_NAME = dosbox_pure_libretro; - SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; From c2a67391bbebc8e6a40af43f41fe3fe9c0346a15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Fri, 29 Aug 2025 17:21:23 -0300 Subject: [PATCH 05/20] Improve build scripts --- .../project.pbxproj | 28 +++---------------- 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index f135672c..7d2bfbd0 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -11,7 +11,6 @@ isa = PBXAggregateTarget; buildConfigurationList = 654FCE7E2E61E25000604D3F /* Build configuration list for PBXAggregateTarget "iOS XCFramework" */; buildPhases = ( - 654FCE882E61E5E900604D3F /* Reset Build folder */, 654FCE892E61E5EB00604D3F /* Archive Device Lib */, 654FCE8A2E61E5EE00604D3F /* Archive Simulator Lib */, 654FCE812E61E25700604D3F /* Create XCFramework */, @@ -416,25 +415,6 @@ shellPath = /bin/sh; shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nARCHIVE_DEV=\"${SRCROOT}/build/${PROJECT_NAME}-ios_device.xcarchive\"\nARCHIVE_SIM=\"${SRCROOT}/build/${PROJECT_NAME}-ios_simulator.xcarchive\"\nXCFRAMEWORK=\"${SRCROOT}/build/${PROJECT_NAME}_ios.xcframework\"\n\nrm -rf \"${XCFRAMEWORK}\"\n\n# Create XCFramework\nxcodebuild -create-xcframework \\\n -archive \"${ARCHIVE_DEV}\" -library lib${PROJECT_NAME}.a \\\n -archive \"${ARCHIVE_SIM}\" -library lib${PROJECT_NAME}.a \\\n -output \"${XCFRAMEWORK}\"\n"; }; - 654FCE882E61E5E900604D3F /* Reset Build folder */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "Reset Build folder"; - outputFileListPaths = ( - ); - outputPaths = ( - "$(SRCROOT)/build/*", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "set -e\n\nBUILD_DIR=\"${SRCROOT}/build\"\n\n# rm -rf \"${BUILD_DIR}\"\n# mkdir -p \"$BUILD_DIR\"\n"; - }; 654FCE892E61E5EB00604D3F /* Archive Device Lib */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -446,8 +426,8 @@ "${SRCROOT}/src", "$(SRCROOT)/libretro-common", "$(SRCROOT)/include", - "$(SRCROOT)/*.h", - "$(SRCROOT)/*.cpp", + "$(SRCROOT)/dosbox_pure_ver.h", + "$(SRCROOT)/dosbox_pure_libretro.cpp", ); name = "Archive Device Lib"; outputFileListPaths = ( @@ -470,8 +450,8 @@ "${SRCROOT}/src", "$(SRCROOT)/libretro-common", "$(SRCROOT)/include", - "$(SRCROOT)/*.h", - "$(SRCROOT)/*.cpp", + "$(SRCROOT)/dosbox_pure_ver.h", + "$(SRCROOT)/dosbox_pure_libretro.cpp", ); name = "Archive Simulator Lib"; outputFileListPaths = ( From 966d3f8e77d4a1db639b8e63430b8695df372d8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Fri, 29 Aug 2025 17:21:40 -0300 Subject: [PATCH 06/20] Disable excessive warnings :( --- apple/base.xcconfig | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/apple/base.xcconfig b/apple/base.xcconfig index ad370caf..3d40a6c4 100644 --- a/apple/base.xcconfig +++ b/apple/base.xcconfig @@ -16,11 +16,20 @@ OTHER_CPLUSPLUSFLAGS = $(inherited) \ -Wno-switch \ -Wno-psabi \ -Wno-unknown-warning-option \ + -Wno-unreachable-code \ + -Wno-sometimes-uninitialized \ + -Wno-deprecated-anon-enum-enum-conversion + +OTHER_CFLAGS = $(inherited) \ -Wno-deprecated-declarations \ -Wno-deprecated-volatile \ -Wno-comma \ -Wno-implicit-int-conversion \ - -Wno-documentation + -Wno-documentation \ + -Wno-unused-variable \ + -Wno-unused-function \ + -Wno-conditional-uninitialized \ + -Wno-strict-prototypes // Defines globais GCC_PREPROCESSOR_DEFINITIONS = __LIBRETRO__=1 _FILE_OFFSET_BITS=64 DISABLE_DYNAREC=1 DBP_IOS=1 $(inherited) From 6660e9a22ecbe159d90157ae0528345c3fa83eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Wed, 3 Sep 2025 12:22:26 -0300 Subject: [PATCH 07/20] Better naming --- dosbox_pure_libretro.xcodeproj/project.pbxproj | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index 7d2bfbd0..41a333a4 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -7,9 +7,9 @@ objects = { /* Begin PBXAggregateTarget section */ - 654FCE7D2E61E25000604D3F /* iOS XCFramework */ = { + 654FCE7D2E61E25000604D3F /* Static iOS XCFramework */ = { isa = PBXAggregateTarget; - buildConfigurationList = 654FCE7E2E61E25000604D3F /* Build configuration list for PBXAggregateTarget "iOS XCFramework" */; + buildConfigurationList = 654FCE7E2E61E25000604D3F /* Build configuration list for PBXAggregateTarget "Static iOS XCFramework" */; buildPhases = ( 654FCE892E61E5EB00604D3F /* Archive Device Lib */, 654FCE8A2E61E5EE00604D3F /* Archive Simulator Lib */, @@ -17,7 +17,7 @@ ); dependencies = ( ); - name = "iOS XCFramework"; + name = "Static iOS XCFramework"; packageProductDependencies = ( ); productName = "iOS XCFramework"; @@ -388,7 +388,7 @@ projectRoot = ""; targets = ( 65FB48542E6103B20028503E /* Static Library */, - 654FCE7D2E61E25000604D3F /* iOS XCFramework */, + 654FCE7D2E61E25000604D3F /* Static iOS XCFramework */, ); }; /* End PBXProject section */ @@ -637,7 +637,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 654FCE7E2E61E25000604D3F /* Build configuration list for PBXAggregateTarget "iOS XCFramework" */ = { + 654FCE7E2E61E25000604D3F /* Build configuration list for PBXAggregateTarget "Static iOS XCFramework" */ = { isa = XCConfigurationList; buildConfigurations = ( 654FCE7F2E61E25000604D3F /* Debug */, From 9017a00c690c9a194332e3c93f35b642e7a82372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Fri, 5 Sep 2025 16:17:14 -0300 Subject: [PATCH 08/20] Split xcconfig files into projet and target --- apple/{base.xcconfig => project-base.xcconfig} | 0 apple/{debug.xcconfig => project-debug.xcconfig} | 2 +- apple/{release.xcconfig => project-release.xcconfig} | 2 +- apple/target-debug.xcconfig | 1 + apple/target-release.xcconfig | 1 + dosbox_pure_libretro.xcodeproj/project.pbxproj | 8 ++++---- 6 files changed, 8 insertions(+), 6 deletions(-) rename apple/{base.xcconfig => project-base.xcconfig} (100%) rename apple/{debug.xcconfig => project-debug.xcconfig} (86%) rename apple/{release.xcconfig => project-release.xcconfig} (91%) create mode 100644 apple/target-debug.xcconfig create mode 100644 apple/target-release.xcconfig diff --git a/apple/base.xcconfig b/apple/project-base.xcconfig similarity index 100% rename from apple/base.xcconfig rename to apple/project-base.xcconfig diff --git a/apple/debug.xcconfig b/apple/project-debug.xcconfig similarity index 86% rename from apple/debug.xcconfig rename to apple/project-debug.xcconfig index 5b5165ef..559dc5d7 100644 --- a/apple/debug.xcconfig +++ b/apple/project-debug.xcconfig @@ -1,4 +1,4 @@ -PRODUCT_NAME = dosbox_pure_libretro +#include "top-level-base.xcconfig" GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 _DEBUG=1 $(inherited) OTHER_CFLAGS = $(inherited) -ftrivial-auto-var-init=zero diff --git a/apple/release.xcconfig b/apple/project-release.xcconfig similarity index 91% rename from apple/release.xcconfig rename to apple/project-release.xcconfig index 02e5236e..313a90f8 100644 --- a/apple/release.xcconfig +++ b/apple/project-release.xcconfig @@ -1,4 +1,4 @@ -PRODUCT_NAME = dosbox_pure_libretro +#include "top-level-base.xcconfig" GCC_PREPROCESSOR_DEFINITIONS = NDEBUG=1 $(inherited) OTHER_CPLUSPLUSFLAGS = $(inherited) -O2 diff --git a/apple/target-debug.xcconfig b/apple/target-debug.xcconfig new file mode 100644 index 00000000..6e314755 --- /dev/null +++ b/apple/target-debug.xcconfig @@ -0,0 +1 @@ +PRODUCT_NAME = dosbox_pure_libretro diff --git a/apple/target-release.xcconfig b/apple/target-release.xcconfig new file mode 100644 index 00000000..6e314755 --- /dev/null +++ b/apple/target-release.xcconfig @@ -0,0 +1 @@ +PRODUCT_NAME = dosbox_pure_libretro diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index 41a333a4..7eb70865 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -499,7 +499,7 @@ 65FB485D2E6103B20028503E /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; - baseConfigurationReferenceRelativePath = base.xcconfig; + baseConfigurationReferenceRelativePath = "project-debug.xcconfig"; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; @@ -559,7 +559,7 @@ 65FB485E2E6103B20028503E /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; - baseConfigurationReferenceRelativePath = base.xcconfig; + baseConfigurationReferenceRelativePath = "project-release.xcconfig"; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; @@ -615,7 +615,7 @@ 65FB48602E6103B20028503E /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; - baseConfigurationReferenceRelativePath = debug.xcconfig; + baseConfigurationReferenceRelativePath = "target-debug.xcconfig"; buildSettings = { CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 3BM944F372; @@ -626,7 +626,7 @@ 65FB48612E6103B20028503E /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; - baseConfigurationReferenceRelativePath = release.xcconfig; + baseConfigurationReferenceRelativePath = "target-release.xcconfig"; buildSettings = { CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = 3BM944F372; From 503a052632694cd9228083e0a128f8d00dd975be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Fri, 5 Sep 2025 16:17:52 -0300 Subject: [PATCH 09/20] Remove code signing --- dosbox_pure_libretro.xcodeproj/project.pbxproj | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index 7eb70865..1bfaf4d8 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -481,8 +481,6 @@ 654FCE7F2E61E25000604D3F /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 3BM944F372; ENABLE_USER_SCRIPT_SANDBOXING = NO; }; name = Debug; @@ -490,8 +488,6 @@ 654FCE802E61E25000604D3F /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 3BM944F372; ENABLE_USER_SCRIPT_SANDBOXING = NO; }; name = Release; @@ -532,7 +528,6 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = 3BM944F372; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; @@ -592,7 +587,6 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = 3BM944F372; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu17; @@ -617,8 +611,6 @@ baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; baseConfigurationReferenceRelativePath = "target-debug.xcconfig"; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 3BM944F372; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -628,8 +620,6 @@ baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; baseConfigurationReferenceRelativePath = "target-release.xcconfig"; buildSettings = { - CODE_SIGN_STYLE = Automatic; - DEVELOPMENT_TEAM = 3BM944F372; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; From b679cd08758d84d03f547d379f890a40db86f6ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Fri, 5 Sep 2025 17:24:08 -0300 Subject: [PATCH 10/20] Fix config include and unsupported multi-line arguments --- apple/project-base.xcconfig | 29 +++++------------------------ apple/project-debug.xcconfig | 2 +- apple/project-release.xcconfig | 2 +- apple/target-base.xcconfig | 1 + apple/target-debug.xcconfig | 2 +- apple/target-release.xcconfig | 2 +- 6 files changed, 10 insertions(+), 28 deletions(-) create mode 100644 apple/target-base.xcconfig diff --git a/apple/project-base.xcconfig b/apple/project-base.xcconfig index 3d40a6c4..616273c9 100644 --- a/apple/project-base.xcconfig +++ b/apple/project-base.xcconfig @@ -1,3 +1,6 @@ + +PRODUCT_NAME = dosbox_pure_libretro + // Definições comuns para todas as configs CLANG_CXX_LANGUAGE_STANDARD = gnu++11 CLANG_CXX_LIBRARY = libc++ @@ -5,31 +8,9 @@ GCC_C_LANGUAGE_STANDARD = gnu11 IPHONEOS_DEPLOYMENT_TARGET = 12.0 // Flags globais do Makefile -OTHER_CPLUSPLUSFLAGS = $(inherited) \ - -fomit-frame-pointer \ - -fexceptions \ - -fvisibility=hidden \ - -ffunction-sections \ - -fPIC \ - -Wno-address-of-packed-member \ - -Wno-format \ - -Wno-switch \ - -Wno-psabi \ - -Wno-unknown-warning-option \ - -Wno-unreachable-code \ - -Wno-sometimes-uninitialized \ - -Wno-deprecated-anon-enum-enum-conversion +OTHER_CPLUSPLUSFLAGS = $(inherited) -fomit-frame-pointer -fexceptions -fvisibility=hidden -ffunction-sections -fPIC -Wno-address-of-packed-member -Wno-format -Wno-switch -Wno-psabi -Wno-unknown-warning-option -Wno-unreachable-code -Wno-sometimes-uninitialized -Wno-deprecated-anon-enum-enum-conversion -OTHER_CFLAGS = $(inherited) \ - -Wno-deprecated-declarations \ - -Wno-deprecated-volatile \ - -Wno-comma \ - -Wno-implicit-int-conversion \ - -Wno-documentation \ - -Wno-unused-variable \ - -Wno-unused-function \ - -Wno-conditional-uninitialized \ - -Wno-strict-prototypes +OTHER_CFLAGS = $(inherited) -Wno-deprecated-declarations -Wno-deprecated-volatile -Wno-comma -Wno-implicit-int-conversion -Wno-documentation -Wno-unused-variable -Wno-unused-function -Wno-conditional-uninitialized -Wno-strict-prototypes // Defines globais GCC_PREPROCESSOR_DEFINITIONS = __LIBRETRO__=1 _FILE_OFFSET_BITS=64 DISABLE_DYNAREC=1 DBP_IOS=1 $(inherited) diff --git a/apple/project-debug.xcconfig b/apple/project-debug.xcconfig index 559dc5d7..178e8083 100644 --- a/apple/project-debug.xcconfig +++ b/apple/project-debug.xcconfig @@ -1,4 +1,4 @@ -#include "top-level-base.xcconfig" +#include "project-base.xcconfig" GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 _DEBUG=1 $(inherited) OTHER_CFLAGS = $(inherited) -ftrivial-auto-var-init=zero diff --git a/apple/project-release.xcconfig b/apple/project-release.xcconfig index 313a90f8..1c0de600 100644 --- a/apple/project-release.xcconfig +++ b/apple/project-release.xcconfig @@ -1,4 +1,4 @@ -#include "top-level-base.xcconfig" +#include "project-base.xcconfig" GCC_PREPROCESSOR_DEFINITIONS = NDEBUG=1 $(inherited) OTHER_CPLUSPLUSFLAGS = $(inherited) -O2 diff --git a/apple/target-base.xcconfig b/apple/target-base.xcconfig new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/apple/target-base.xcconfig @@ -0,0 +1 @@ + diff --git a/apple/target-debug.xcconfig b/apple/target-debug.xcconfig index 6e314755..c26b704b 100644 --- a/apple/target-debug.xcconfig +++ b/apple/target-debug.xcconfig @@ -1 +1 @@ -PRODUCT_NAME = dosbox_pure_libretro +#include "target-base.xcconfig" diff --git a/apple/target-release.xcconfig b/apple/target-release.xcconfig index 6e314755..c26b704b 100644 --- a/apple/target-release.xcconfig +++ b/apple/target-release.xcconfig @@ -1 +1 @@ -PRODUCT_NAME = dosbox_pure_libretro +#include "target-base.xcconfig" From 64fab934b7193101344b3057cb475196b3d6b08c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Fri, 5 Sep 2025 17:27:15 -0300 Subject: [PATCH 11/20] Move TARGETED_DEVICE_FAMILY to xcconfig --- apple/project-base.xcconfig | 5 ++++- dosbox_pure_libretro.xcodeproj/project.pbxproj | 2 -- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apple/project-base.xcconfig b/apple/project-base.xcconfig index 616273c9..6efe30ba 100644 --- a/apple/project-base.xcconfig +++ b/apple/project-base.xcconfig @@ -1,6 +1,9 @@ - +// Packaging PRODUCT_NAME = dosbox_pure_libretro +// Deployment +TARGETED_DEVICE_FAMILY = 1,2,3,4,6,7 + // Definições comuns para todas as configs CLANG_CXX_LANGUAGE_STANDARD = gnu++11 CLANG_CXX_LIBRARY = libc++ diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index 1bfaf4d8..a17dd217 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -611,7 +611,6 @@ baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; baseConfigurationReferenceRelativePath = "target-debug.xcconfig"; buildSettings = { - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; }; @@ -620,7 +619,6 @@ baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; baseConfigurationReferenceRelativePath = "target-release.xcconfig"; buildSettings = { - TARGETED_DEVICE_FAMILY = "1,2"; }; name = Release; }; From 35d654fdda597b9341b950130bbf3f0ee49176f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Fri, 5 Sep 2025 17:35:26 -0300 Subject: [PATCH 12/20] Remove project wide xcconfig --- apple/{project-base.xcconfig => base.xcconfig} | 0 apple/{project-debug.xcconfig => debug.xcconfig} | 2 +- apple/{project-release.xcconfig => release.xcconfig} | 2 +- apple/target-base.xcconfig | 1 - apple/target-debug.xcconfig | 1 - apple/target-release.xcconfig | 1 - dosbox_pure_libretro.xcodeproj/project.pbxproj | 8 ++------ 7 files changed, 4 insertions(+), 11 deletions(-) rename apple/{project-base.xcconfig => base.xcconfig} (100%) rename apple/{project-debug.xcconfig => debug.xcconfig} (87%) rename apple/{project-release.xcconfig => release.xcconfig} (91%) delete mode 100644 apple/target-base.xcconfig delete mode 100644 apple/target-debug.xcconfig delete mode 100644 apple/target-release.xcconfig diff --git a/apple/project-base.xcconfig b/apple/base.xcconfig similarity index 100% rename from apple/project-base.xcconfig rename to apple/base.xcconfig diff --git a/apple/project-debug.xcconfig b/apple/debug.xcconfig similarity index 87% rename from apple/project-debug.xcconfig rename to apple/debug.xcconfig index 178e8083..f8a597b3 100644 --- a/apple/project-debug.xcconfig +++ b/apple/debug.xcconfig @@ -1,4 +1,4 @@ -#include "project-base.xcconfig" +#include "base.xcconfig" GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 _DEBUG=1 $(inherited) OTHER_CFLAGS = $(inherited) -ftrivial-auto-var-init=zero diff --git a/apple/project-release.xcconfig b/apple/release.xcconfig similarity index 91% rename from apple/project-release.xcconfig rename to apple/release.xcconfig index 1c0de600..0a38e90d 100644 --- a/apple/project-release.xcconfig +++ b/apple/release.xcconfig @@ -1,4 +1,4 @@ -#include "project-base.xcconfig" +#include "base.xcconfig" GCC_PREPROCESSOR_DEFINITIONS = NDEBUG=1 $(inherited) OTHER_CPLUSPLUSFLAGS = $(inherited) -O2 diff --git a/apple/target-base.xcconfig b/apple/target-base.xcconfig deleted file mode 100644 index 8b137891..00000000 --- a/apple/target-base.xcconfig +++ /dev/null @@ -1 +0,0 @@ - diff --git a/apple/target-debug.xcconfig b/apple/target-debug.xcconfig deleted file mode 100644 index c26b704b..00000000 --- a/apple/target-debug.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "target-base.xcconfig" diff --git a/apple/target-release.xcconfig b/apple/target-release.xcconfig deleted file mode 100644 index c26b704b..00000000 --- a/apple/target-release.xcconfig +++ /dev/null @@ -1 +0,0 @@ -#include "target-base.xcconfig" diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index a17dd217..ae40c804 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -494,8 +494,6 @@ }; 65FB485D2E6103B20028503E /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; - baseConfigurationReferenceRelativePath = "project-debug.xcconfig"; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; @@ -553,8 +551,6 @@ }; 65FB485E2E6103B20028503E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; - baseConfigurationReferenceRelativePath = "project-release.xcconfig"; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; @@ -609,7 +605,7 @@ 65FB48602E6103B20028503E /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; - baseConfigurationReferenceRelativePath = "target-debug.xcconfig"; + baseConfigurationReferenceRelativePath = debug.xcconfig; buildSettings = { }; name = Debug; @@ -617,7 +613,7 @@ 65FB48612E6103B20028503E /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReferenceAnchor = 65FB49F22E6106A20028503E /* apple */; - baseConfigurationReferenceRelativePath = "target-release.xcconfig"; + baseConfigurationReferenceRelativePath = release.xcconfig; buildSettings = { }; name = Release; From 6ed7eb5bfa142a8653b90978a071f047ae75e761 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Fri, 5 Sep 2025 18:36:17 -0300 Subject: [PATCH 13/20] Move SUPPORTED_PLATFORMS to xcconfig --- apple/base.xcconfig | 3 +++ dosbox_pure_libretro.xcodeproj/project.pbxproj | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apple/base.xcconfig b/apple/base.xcconfig index 6efe30ba..1d932ad2 100644 --- a/apple/base.xcconfig +++ b/apple/base.xcconfig @@ -4,6 +4,9 @@ PRODUCT_NAME = dosbox_pure_libretro // Deployment TARGETED_DEVICE_FAMILY = 1,2,3,4,6,7 +// Architectures +SUPPORTED_PLATFORMS = xrsimulator xros watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos + // Definições comuns para todas as configs CLANG_CXX_LANGUAGE_STANDARD = gnu++11 CLANG_CXX_LIBRARY = libc++ diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index ae40c804..30042b17 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -544,7 +544,6 @@ LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - SUPPORTED_PLATFORMS = "xrsimulator xros watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos"; SUPPORTS_MACCATALYST = YES; }; name = Debug; @@ -596,7 +595,6 @@ LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - SUPPORTED_PLATFORMS = "xrsimulator xros watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos"; SUPPORTS_MACCATALYST = YES; VALIDATE_PRODUCT = YES; }; From ffa5634701d27fb69150f55b93c1882b44e67319 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Thu, 11 Sep 2025 16:17:56 -0300 Subject: [PATCH 14/20] Move customized target settings to xcconfig --- apple/base.xcconfig | 3 +++ dosbox_pure_libretro.xcodeproj/project.pbxproj | 2 -- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apple/base.xcconfig b/apple/base.xcconfig index 1d932ad2..63475552 100644 --- a/apple/base.xcconfig +++ b/apple/base.xcconfig @@ -3,6 +3,9 @@ PRODUCT_NAME = dosbox_pure_libretro // Deployment TARGETED_DEVICE_FAMILY = 1,2,3,4,6,7 +SUPPORTS_MACCATALYST = YES +SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES +SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = YES // Architectures SUPPORTED_PLATFORMS = xrsimulator xros watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index 30042b17..c5ce77b3 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -544,7 +544,6 @@ LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; - SUPPORTS_MACCATALYST = YES; }; name = Debug; }; @@ -595,7 +594,6 @@ LOCALIZATION_PREFERS_STRING_CATALOGS = YES; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - SUPPORTS_MACCATALYST = YES; VALIDATE_PRODUCT = YES; }; name = Release; From 17e2110dd5c1928f5832b6d6472d7362efda23ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Thu, 11 Sep 2025 16:36:18 -0300 Subject: [PATCH 15/20] Move customized project settings to xcconfig --- apple/base.xcconfig | 3 + .../project.pbxproj | 94 ------------------- 2 files changed, 3 insertions(+), 94 deletions(-) diff --git a/apple/base.xcconfig b/apple/base.xcconfig index 63475552..3995084e 100644 --- a/apple/base.xcconfig +++ b/apple/base.xcconfig @@ -10,6 +10,9 @@ SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = YES // Architectures SUPPORTED_PLATFORMS = xrsimulator xros watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos +// Search paths +ALWAYS_SEARCH_USER_PATHS = NO + // Definições comuns para todas as configs CLANG_CXX_LANGUAGE_STANDARD = gnu++11 CLANG_CXX_LIBRARY = libc++ diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index c5ce77b3..307657fc 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -495,106 +495,12 @@ 65FB485D2E6103B20028503E /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; }; name = Debug; }; 65FB485E2E6103B20028503E /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu17; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - LOCALIZATION_PREFERS_STRING_CATALOGS = YES; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - VALIDATE_PRODUCT = YES; }; name = Release; }; From b491456c15f11cb7e8301ff850d1f0093680f551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Thu, 18 Sep 2025 10:31:13 -0300 Subject: [PATCH 16/20] Remove support for driverkit, which has build failures --- apple/base.xcconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apple/base.xcconfig b/apple/base.xcconfig index 3995084e..e812d33a 100644 --- a/apple/base.xcconfig +++ b/apple/base.xcconfig @@ -8,7 +8,7 @@ SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = YES // Architectures -SUPPORTED_PLATFORMS = xrsimulator xros watchsimulator watchos macosx iphonesimulator iphoneos driverkit appletvsimulator appletvos +SUPPORTED_PLATFORMS = xrsimulator xros watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos // Search paths ALWAYS_SEARCH_USER_PATHS = NO From af5909dbd672fa76c881b6fe585d4557702eb0c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Thu, 18 Sep 2025 11:08:47 -0300 Subject: [PATCH 17/20] Set header access to project (except core_*) --- .../project.pbxproj | 105 ------------------ 1 file changed, 105 deletions(-) diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index 307657fc..39754004 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -59,62 +59,8 @@ /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - 654FCE782E610A6000604D3F /* Exceptions for "include" folder in "Static Library" target */ = { - isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - bios_disk.h, - bios.h, - callback.h, - config.h, - control.h, - cpu.h, - cross.h, - dbp_network.h, - dbp_opengl.h, - dbp_serialize.h, - dbp_threads.h, - debug.h, - dma.h, - dos_inc.h, - dos_system.h, - dosbox.h, - fpu.h, - hardware.h, - inout.h, - ipx.h, - ipxserver.h, - joystick.h, - keyboard.h, - logging.h, - mapper.h, - mem.h, - midi.h, - mixer.h, - mouse.h, - paging.h, - pci_bus.h, - pic.h, - programs.h, - regs.h, - render.h, - serialport.h, - setup.h, - shell.h, - support.h, - timer.h, - vga.h, - video.h, - ); - target = 65FB48542E6103B20028503E /* Static Library */; - }; 654FCE792E610A6000604D3F /* Exceptions for "libretro-common" folder in "Static Library" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; - membershipExceptions = ( - include/retro_timers.h, - rthreads/ctr_pthread.h, - rthreads/gx_pthread.h, - rthreads/wiiu_pthread.h, - ); publicHeaders = ( include/libretro.h, ); @@ -162,54 +108,6 @@ cpu/core_normal/string.h, cpu/core_normal/support.h, cpu/core_normal/table_ea.h, - cpu/dyn_cache.h, - cpu/instructions.h, - cpu/lazyflags.h, - cpu/modrm.h, - dos/cdrom.h, - dos/dev_con.h, - dos/dos_codepages.h, - dos/dos_keyboard_layout_data.h, - dos/drives.h, - dos/scsidefs.h, - dos/wnaspi32.h, - fpu/fpu_instructions_x86.h, - fpu/fpu_instructions.h, - gui/midi_alsa.h, - gui/midi_coreaudio.h, - gui/midi_coremidi.h, - gui/midi_mt32.h, - gui/midi_opl.h, - gui/midi_oss.h, - gui/midi_retro.h, - gui/midi_tsf.h, - gui/midi_win32.h, - gui/mt32emu.h, - gui/render_glsl.h, - gui/render_loops.h, - gui/render_scalers.h, - gui/render_simple.h, - gui/render_templates_hq.h, - gui/render_templates_hq2x.h, - gui/render_templates_hq3x.h, - gui/render_templates_sai.h, - gui/render_templates.h, - gui/tsf.h, - hardware/adlib.h, - hardware/dbopl.h, - hardware/mame/emu.h, - hardware/mame/saa1099.h, - hardware/mame/sn76496.h, - hardware/nukedopl3.h, - hardware/pci_devices.h, - hardware/serialport/directserial.h, - hardware/serialport/libserial.h, - hardware/serialport/misc_util.h, - hardware/serialport/nullmodem.h, - hardware/serialport/serialdummy.h, - hardware/serialport/softmodem.h, - ints/int10.h, - ints/xms.h, ); target = 65FB48542E6103B20028503E /* Static Library */; }; @@ -223,9 +121,6 @@ }; 65FB48932E6105E40028503E /* include */ = { isa = PBXFileSystemSynchronizedRootGroup; - exceptions = ( - 654FCE782E610A6000604D3F /* Exceptions for "include" folder in "Static Library" target */, - ); path = include; sourceTree = ""; }; From 1015a91fdb012b78b34102e903356deb082108f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Thu, 18 Sep 2025 11:43:41 -0300 Subject: [PATCH 18/20] Use explicit scheme name and SCRIPT_* vars --- .../project.pbxproj | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index 39754004..ca354f6a 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -59,14 +59,14 @@ /* End PBXFileReference section */ /* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */ - 654FCE792E610A6000604D3F /* Exceptions for "libretro-common" folder in "Static Library" target */ = { + 654FCE792E610A6000604D3F /* Exceptions for "libretro-common" folder in "dosbox_pure_libretro static" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; publicHeaders = ( include/libretro.h, ); - target = 65FB48542E6103B20028503E /* Static Library */; + target = 65FB48542E6103B20028503E /* dosbox_pure_libretro static */; }; - 654FCE7A2E610A6000604D3F /* Exceptions for "src" folder in "Static Library" target */ = { + 654FCE7A2E610A6000604D3F /* Exceptions for "src" folder in "dosbox_pure_libretro static" target */ = { isa = PBXFileSystemSynchronizedBuildFileExceptionSet; membershipExceptions = ( cpu/core_dyn_x86/decoder.h, @@ -109,7 +109,7 @@ cpu/core_normal/support.h, cpu/core_normal/table_ea.h, ); - target = 65FB48542E6103B20028503E /* Static Library */; + target = 65FB48542E6103B20028503E /* dosbox_pure_libretro static */; }; /* End PBXFileSystemSynchronizedBuildFileExceptionSet section */ @@ -127,7 +127,7 @@ 65FB48A02E6105E40028503E /* libretro-common */ = { isa = PBXFileSystemSynchronizedRootGroup; exceptions = ( - 654FCE792E610A6000604D3F /* Exceptions for "libretro-common" folder in "Static Library" target */, + 654FCE792E610A6000604D3F /* Exceptions for "libretro-common" folder in "dosbox_pure_libretro static" target */, ); path = "libretro-common"; sourceTree = ""; @@ -135,7 +135,7 @@ 65FB49752E6105E40028503E /* src */ = { isa = PBXFileSystemSynchronizedRootGroup; exceptions = ( - 654FCE7A2E610A6000604D3F /* Exceptions for "src" folder in "Static Library" target */, + 654FCE7A2E610A6000604D3F /* Exceptions for "src" folder in "dosbox_pure_libretro static" target */, ); path = src; sourceTree = ""; @@ -226,9 +226,9 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 65FB48542E6103B20028503E /* Static Library */ = { + 65FB48542E6103B20028503E /* dosbox_pure_libretro static */ = { isa = PBXNativeTarget; - buildConfigurationList = 65FB485F2E6103B20028503E /* Build configuration list for PBXNativeTarget "Static Library" */; + buildConfigurationList = 65FB485F2E6103B20028503E /* Build configuration list for PBXNativeTarget "dosbox_pure_libretro static" */; buildPhases = ( 654FCE772E610A6000604D3F /* Headers */, 65FB48512E6103B20028503E /* Sources */, @@ -244,7 +244,7 @@ 65FB48A02E6105E40028503E /* libretro-common */, 65FB49752E6105E40028503E /* src */, ); - name = "Static Library"; + name = "dosbox_pure_libretro static"; packageProductDependencies = ( ); productName = dosbox_pure_libretro; @@ -282,7 +282,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 65FB48542E6103B20028503E /* Static Library */, + 65FB48542E6103B20028503E /* dosbox_pure_libretro static */, 654FCE7D2E61E25000604D3F /* Static iOS XCFramework */, ); }; @@ -297,18 +297,18 @@ inputFileListPaths = ( ); inputPaths = ( - "${SRCROOT}/build/${PROJECT_NAME}-ios_device.xcarchive", - "${SRCROOT}/build/${PROJECT_NAME}-ios_simulator.xcarchive", + "${SRCROOT}/build/${PROJECT_NAME}-static_ios_device.xcarchive", + "${SRCROOT}/build/${PROJECT_NAME}-static_ios_simulator.xcarchive", ); name = "Create XCFramework"; outputFileListPaths = ( ); outputPaths = ( - "${SRCROOT}/build/${PROJECT_NAME}_ios.xcframework", + "${SRCROOT}/build/${PROJECT_NAME}_static_ios.xcframework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nARCHIVE_DEV=\"${SRCROOT}/build/${PROJECT_NAME}-ios_device.xcarchive\"\nARCHIVE_SIM=\"${SRCROOT}/build/${PROJECT_NAME}-ios_simulator.xcarchive\"\nXCFRAMEWORK=\"${SRCROOT}/build/${PROJECT_NAME}_ios.xcframework\"\n\nrm -rf \"${XCFRAMEWORK}\"\n\n# Create XCFramework\nxcodebuild -create-xcframework \\\n -archive \"${ARCHIVE_DEV}\" -library lib${PROJECT_NAME}.a \\\n -archive \"${ARCHIVE_SIM}\" -library lib${PROJECT_NAME}.a \\\n -output \"${XCFRAMEWORK}\"\n"; + shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nLIB=\"lib${PROJECT_NAME}.a\"\nXCFRAMEWORK=\"${SCRIPT_OUTPUT_FILE_0}\"\n\nrm -rf \"${XCFRAMEWORK}\"\n\n# Create XCFramework\nxcodebuild -create-xcframework \\\n -archive \"${SCRIPT_INPUT_FILE_0}\" -library ${LIB} \\\n -archive \"${SCRIPT_INPUT_FILE_1}\" -library ${LIB} \\\n -output \"${XCFRAMEWORK}\"\n"; }; 654FCE892E61E5EB00604D3F /* Archive Device Lib */ = { isa = PBXShellScriptBuildPhase; @@ -328,11 +328,11 @@ outputFileListPaths = ( ); outputPaths = ( - "${SRCROOT}/build/${PROJECT_NAME}-ios_device.xcarchive", + "${SRCROOT}/build/${PROJECT_NAME}-static_ios_device.xcarchive", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nSCHEME=\"Static Library\"\nARCHIVE_DEV=\"${SRCROOT}/build/${PROJECT_NAME}-ios_device.xcarchive\"\n\nrm -rf \"${ARCHIVE_DEV}\"\n\n# iOS Device\nxcodebuild archive \\\n -project ${PROJECT_NAME}.xcodeproj \\\n -scheme \"${SCHEME}\" \\\n -configuration Release \\\n -destination \"generic/platform=iOS\" \\\n -archivePath \"${ARCHIVE_DEV}\" \\\n# -derivedDataPath /tmp/dd_dosbox_ios\n"; + shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nSCHEME=\"${PROJECT_NAME} static\"\nARCHIVE_DEV=\"${SCRIPT_OUTPUT_FILE_0}\"\n\nrm -rf \"${ARCHIVE_DEV}\"\n\n# iOS Device\nxcodebuild archive \\\n -project ${PROJECT_NAME}.xcodeproj \\\n -scheme \"${SCHEME}\" \\\n -configuration Release \\\n -destination \"generic/platform=iOS\" \\\n -archivePath \"${ARCHIVE_DEV}\" \\\n# -derivedDataPath /tmp/dd_dosbox_ios\n"; }; 654FCE8A2E61E5EE00604D3F /* Archive Simulator Lib */ = { isa = PBXShellScriptBuildPhase; @@ -352,11 +352,11 @@ outputFileListPaths = ( ); outputPaths = ( - "${SRCROOT}/build/${PROJECT_NAME}-ios_simulator.xcarchive", + "${SRCROOT}/build/${PROJECT_NAME}-static_ios_simulator.xcarchive", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nSCHEME=\"Static Library\"\nARCHIVE_SIM=\"${SRCROOT}/build/${PROJECT_NAME}-ios_simulator.xcarchive\"\n\nrm -rf \"${ARCHIVE_SIM}\"\n\n# iOS Simulator\nxcodebuild archive \\\n -project ${PROJECT_NAME}.xcodeproj \\\n -scheme \"${SCHEME}\" \\\n -configuration Release \\\n -destination \"generic/platform=iOS Simulator\" \\\n -archivePath \"${ARCHIVE_SIM}\" \\\n# -derivedDataPath /tmp/dd_dosbox_ios\n"; + shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nSCHEME=\"${PROJECT_NAME} static\"\nARCHIVE_SIM=\"${SCRIPT_OUTPUT_FILE_0}\"\n\nrm -rf \"${ARCHIVE_SIM}\"\n\n# iOS Simulator\nxcodebuild archive \\\n -project ${PROJECT_NAME}.xcodeproj \\\n -scheme \"${SCHEME}\" \\\n -configuration Release \\\n -destination \"generic/platform=iOS Simulator\" \\\n -archivePath \"${ARCHIVE_SIM}\" \\\n# -derivedDataPath /tmp/dd_dosbox_ios\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -436,7 +436,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 65FB485F2E6103B20028503E /* Build configuration list for PBXNativeTarget "Static Library" */ = { + 65FB485F2E6103B20028503E /* Build configuration list for PBXNativeTarget "dosbox_pure_libretro static" */ = { isa = XCConfigurationList; buildConfigurations = ( 65FB48602E6103B20028503E /* Debug */, From 7195bce91aae338a3669ff3cb3a91c54607c5986 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Thu, 18 Sep 2025 11:46:24 -0300 Subject: [PATCH 19/20] Ignore recommended settings --- dosbox_pure_libretro.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index ca354f6a..c65436c8 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -258,7 +258,7 @@ isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; - LastUpgradeCheck = 1640; + LastUpgradeCheck = 2600; TargetAttributes = { 654FCE7D2E61E25000604D3F = { CreatedOnToolsVersion = 16.4; From 65812e0c4e4d8f40f8f9debb1ddc81a73cc66709 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20Pinto?= Date: Tue, 23 Sep 2025 16:35:18 -0300 Subject: [PATCH 20/20] Use active configuration when building Static iOS XCFramework --- dosbox_pure_libretro.xcodeproj/project.pbxproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dosbox_pure_libretro.xcodeproj/project.pbxproj b/dosbox_pure_libretro.xcodeproj/project.pbxproj index c65436c8..2e391571 100644 --- a/dosbox_pure_libretro.xcodeproj/project.pbxproj +++ b/dosbox_pure_libretro.xcodeproj/project.pbxproj @@ -332,7 +332,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nSCHEME=\"${PROJECT_NAME} static\"\nARCHIVE_DEV=\"${SCRIPT_OUTPUT_FILE_0}\"\n\nrm -rf \"${ARCHIVE_DEV}\"\n\n# iOS Device\nxcodebuild archive \\\n -project ${PROJECT_NAME}.xcodeproj \\\n -scheme \"${SCHEME}\" \\\n -configuration Release \\\n -destination \"generic/platform=iOS\" \\\n -archivePath \"${ARCHIVE_DEV}\" \\\n# -derivedDataPath /tmp/dd_dosbox_ios\n"; + shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nSCHEME=\"${PROJECT_NAME} static\"\nARCHIVE_DEV=\"${SCRIPT_OUTPUT_FILE_0}\"\n\nrm -rf \"${ARCHIVE_DEV}\"\n\n# iOS Device\nxcodebuild archive \\\n -project ${PROJECT_NAME}.xcodeproj \\\n -scheme \"${SCHEME}\" \\\n -configuration ${CONFIGURATION} \\\n -destination \"generic/platform=iOS\" \\\n -archivePath \"${ARCHIVE_DEV}\" \\\n# -derivedDataPath /tmp/dd_dosbox_ios\n"; }; 654FCE8A2E61E5EE00604D3F /* Archive Simulator Lib */ = { isa = PBXShellScriptBuildPhase; @@ -356,7 +356,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nSCHEME=\"${PROJECT_NAME} static\"\nARCHIVE_SIM=\"${SCRIPT_OUTPUT_FILE_0}\"\n\nrm -rf \"${ARCHIVE_SIM}\"\n\n# iOS Simulator\nxcodebuild archive \\\n -project ${PROJECT_NAME}.xcodeproj \\\n -scheme \"${SCHEME}\" \\\n -configuration Release \\\n -destination \"generic/platform=iOS Simulator\" \\\n -archivePath \"${ARCHIVE_SIM}\" \\\n# -derivedDataPath /tmp/dd_dosbox_ios\n"; + shellScript = "set -e\n\n# PROJECT_NAME=dosbox_pure_libretro\nSCHEME=\"${PROJECT_NAME} static\"\nARCHIVE_SIM=\"${SCRIPT_OUTPUT_FILE_0}\"\n\nrm -rf \"${ARCHIVE_SIM}\"\n\n# iOS Simulator\nxcodebuild archive \\\n -project ${PROJECT_NAME}.xcodeproj \\\n -scheme \"${SCHEME}\" \\\n -configuration ${CONFIGURATION} \\\n -destination \"generic/platform=iOS Simulator\" \\\n -archivePath \"${ARCHIVE_SIM}\" \\\n# -derivedDataPath /tmp/dd_dosbox_ios\n"; }; /* End PBXShellScriptBuildPhase section */