Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion BUILDING_MIDDLEMAC.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ place. If a build step spawns a new shell, then that shell is likely to use what
`rbenv global 3.4.4`

Okay, and now we need to build and then install Middlemac. First, grab the source that has
been modified to work with
been modified to work with Ruby 3:

`git clone git@github.com:sbeitzel/middlemac.git`

Expand Down
138 changes: 138 additions & 0 deletions Configuration/Project-Debug.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
//
// Project-Debug.xcconfig
//
// Generated by BuildSettingExtractor on 6/28/25
// https://buildsettingextractor.com
//

#include "Project-Shared.xcconfig"

// Debug Information Format
//
// The type of debug information to produce.
//
// * DWARF: Object files and linked products will use DWARF as the debug information
// format. [dwarf]
// * DWARF with dSYM File: Object files and linked products will use DWARF as the debug
// information format, and Xcode will also produce a dSYM file containing the debug
// information from the individual object files (except that a dSYM file is not needed
// and will not be created for static library or object file products). [dwarf-with-dsym]

DEBUG_INFORMATION_FORMAT = dwarf



// Enable Testability
//
// Enabling this setting will build the target with options appropriate for running
// automated tests against its product.
//
// This setting can be enabled when building targets for debugging if their products will
// be tested. This may result in tests running slower than otherwise.
//
// When this setting is enabled:
//
// * `GCC_SYMBOLS_PRIVATE_EXTERN` is disabled (`-fvisibility=hidden` will not be passed
// to `clang`).
// * `-enable-testing` is passed to the Swift compiler.
// * `-rdynamic` is passed to the linker.
// * `STRIP_INSTALLED_PRODUCT` is disabled (`strip` will not be run on the produced
// binary).

ENABLE_TESTABILITY = YES



// Generate Position-Dependent Code
//
// Faster function calls for applications. Not appropriate for shared libraries, which
// need to be position-independent.

GCC_DYNAMIC_NO_PIC = NO



// Optimization Level
//
// Specifies the degree to which the generated code is optimized for speed and binary
// size.
//
// * None: Do not optimize. [-O0]
// With this setting, the compiler's goal is to reduce the cost of compilation and to
// make debugging produce the expected results. Statements are independent—if you stop
// the program with a breakpoint between statements, you can then assign a new value to
// any variable or change the program counter to any other statement in the function and
// get exactly the results you would expect from the source code.
// * Fast: Optimizing compilation takes somewhat more time, and a lot more memory for a
// large function. [-O1]
// With this setting, the compiler tries to reduce code size and execution time,
// without performing any optimizations that take a great deal of compilation time. In
// Apple's compiler, strict aliasing, block reordering, and inter-block scheduling are
// disabled by default when optimizing.
// * Faster: The compiler performs nearly all supported optimizations that do not
// involve a space-speed tradeoff. [-O2]
// With this setting, the compiler does not perform loop unrolling or function
// inlining, or register renaming. As compared to the `Fast` setting, this setting
// increases both compilation time and the performance of the generated code.
// * Fastest: Turns on all optimizations specified by the `Faster` setting and also
// turns on function inlining and register renaming options. This setting may result in a
// larger binary. [-O3]
// * Fastest, Smallest: Optimize for size. This setting enables all `Faster`
// optimizations that do not typically increase code size. It also performs further
// optimizations designed to reduce code size. [-Os]
// * Fastest, Aggressive Optimizations: This setting enables `Fastest` but also enables
// aggressive optimizations that may break strict standards compliance but should work
// well on well-behaved code. [-Ofast]
// * Smallest, Aggressive Size Optimizations: This setting enables additional size
// savings by isolating repetitive code patterns into a compiler generated function.
// [-Oz]

GCC_OPTIMIZATION_LEVEL = 0



// Preprocessor Macros
//
// Space-separated list of preprocessor macros of the form `foo` or `foo=bar`.

GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1 $(inherited)



// Produce Debugging Information
//
// Debugging information is required for shader debugging and profiling.

MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE



// Build Active Architecture Only
//
// If enabled, only the active architecture is built. This setting will be ignored when
// building with a run destination which does not define a specific architecture, such as
// a 'Generic Device' run destination, or if the 'Override Architectures' scheme option
// is set to 'Match Run Destination' or 'Universal'.

ONLY_ACTIVE_ARCH = YES



// Active Compilation Conditions
//
// A list of compilation conditions to enable for conditional compilation expressions.

SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG $(inherited)



// Swift Optimization Level
//
// * None: Compile without any optimization. [-Onone]
// * Optimize for Speed: [-O]
// * Optimize for Size: [-Osize]
// * Whole Module Optimization: [-O -whole-module-optimization]

SWIFT_OPTIMIZATION_LEVEL = -Onone

#include? "../../SharedXcodeSettings/DeveloperSettings.xcconfig"
54 changes: 54 additions & 0 deletions Configuration/Project-Release.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
//
// Project-Release.xcconfig
//
// Generated by BuildSettingExtractor on 6/28/25
// https://buildsettingextractor.com
//

#include "Project-Shared.xcconfig"

// Debug Information Format
//
// The type of debug information to produce.
//
// * DWARF: Object files and linked products will use DWARF as the debug information
// format. [dwarf]
// * DWARF with dSYM File: Object files and linked products will use DWARF as the debug
// information format, and Xcode will also produce a dSYM file containing the debug
// information from the individual object files (except that a dSYM file is not needed
// and will not be created for static library or object file products). [dwarf-with-dsym]

DEBUG_INFORMATION_FORMAT = dwarf-with-dsym



// Enable Foundation Assertions
//
// Controls whether assertion logic provided by `NSAssert` is included in the
// preprocessed source code or is elided during preprocessing. Disabling assertions can
// improve code performance.

ENABLE_NS_ASSERTIONS = NO



// Produce Debugging Information
//
// Debugging information is required for shader debugging and profiling.

MTL_ENABLE_DEBUG_INFO = NO



// Swift Compilation Mode
//
// This setting controls the way the Swift files in a module are rebuilt.
//
// * Incremental: Only rebuild the Swift source files in the module that are out of
// date, running multiple compiler processes as needed.
// * Whole Module: Always rebuild all Swift source files in the module, in a single
// compiler process.

SWIFT_COMPILATION_MODE = wholemodule

#include? "../../SharedXcodeSettings/DeveloperSettings.xcconfig"
Loading