The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Successful build of MicroMaxOnAppleSilicon, reference v2.2.2 (3e8a7f), with Swift 6.2 (beta) for macOS (SPM) on 5 Jul 2025 05:51:00 UTC.

Swift 6 data race errors: 0

Build Command

env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64

Build Log

========================================
RunAll
========================================
Builder version: 4.64.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Reference: v2.2.2
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/mesqueeb/MicroMaxOnAppleSilicon
 * tag               v2.2.2     -> FETCH_HEAD
HEAD is now at 3e8a7f4 2.2.2
Cloned https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Revision (git rev-parse @):
3e8a7f4676fb283be33757d08f869e501114f965
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git at v2.2.2
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.2
Building package at path:  $PWD
https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-26.0.0-Beta.app xcrun swift build --arch arm64
Building for debugging...
[0/26] Compiling MicroMaxCppBridge MicroMaxBridge.cpp
[1/26] Write swift-version-1EA4D86E10B52AF.txt
[2/26] Copying fmax.ini
[3/26] Write sources
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/EngineContext.c:6:32: warning: pragma diagnostic expected option name (e.g. "-Wundef") [-Wunknown-pragmas]
    6 | #pragma GCC diagnostic warning "-w"
      |                                ^
1 warning generated.
[4/26] Compiling MicroMaxCBridge EngineContext.c
[5/26] Compiling BMovegen.cpp
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:1:32: warning: pragma diagnostic expected option name (e.g. "-Wundef") [-Wunknown-pragmas]
    1 | #pragma GCC diagnostic warning "-w"
      |                                ^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:164:19: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  164 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |           ~~~~~~~~^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:164:19: note: place parentheses around the '|' expression to silence this warning
  164 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |                   ^
      |           (       )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:164:19: note: place parentheses around the '?:' expression to evaluate it first
  164 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |                   ^
      |                (              )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:171:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  171 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                   ~^~~~~~~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:171:20: note: place parentheses around the assignment to silence this warning
  171 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                    ^
      |                   (       )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:171:20: note: use '==' to turn this assignment into an equality comparison
  171 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                    ^
      |                    ==
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:199:47: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  199 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                    ~~~~~~~~~~~^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:199:47: note: place parentheses around the '|' expression to silence this warning
  199 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                    ~~~~~~~~~~~^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:199:47: note: place parentheses around the '?:' expression to evaluate it first
  199 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                               ^
      |                                           (        )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:204:40: warning: operator '>>' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
  204 |                                     +(R-76>>2);                      /* end-game Pawn-push bonus */
      |                                       ~^~~~~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:204:40: note: place parentheses around the '-' expression to silence this warning
  204 |                                     +(R-76>>2);                      /* end-game Pawn-push bonus */
      |                                        ^
      |                                       (   )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:215:39: warning: | has lower precedence than <; < will be evaluated first [-Wparentheses]
  215 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                   ~~~~^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:215:39: note: place parentheses around the '<' expression to silence this warning
  215 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                   ~~~~^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:215:39: note: place parentheses around the | expression to evaluate it first
  215 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                     ~~^~~~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:217:46: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  217 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                       ~~~~~~~^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:217:46: note: place parentheses around the '|' expression to silence this warning
  217 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                              ^
      |                                       (      )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:217:46: note: place parentheses around the '?:' expression to evaluate it first
  217 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                              ^
      |                                           (
  218 |                                                  F,y&255,C):v;
      |
      |                                                              )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:222:44: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  222 |                                     W(*sp++=*p++);
      |                                       ~~~~~^~~~~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:222:44: note: place parentheses around the assignment to silence this warning
  222 |                                     W(*sp++=*p++);
      |                                            ^
      |                                       (         )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:222:44: note: use '==' to turn this assignment into an equality comparison
  222 |                                     W(*sp++=*p++);
      |                                            ^
      |                                            ==
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:46: warning: | has lower precedence than <; < will be evaluated first [-Wparentheses]
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^~~~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:46: note: place parentheses around the '<' expression to silence this warning
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^
      |                                               (  )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:46: note: place parentheses around the | expression to evaluate it first
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^
      |                                             (  )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:50: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                             ~~~~~^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:50: note: place parentheses around the '|' expression to silence this warning
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                                  ^
      |                                             (    )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:232:50: note: place parentheses around the '?:' expression to evaluate it first
  232 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                                  ^
      |                                               (            )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:241:41: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
  241 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^~~~~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:241:41: note: place parentheses around the '==' expression to silence this warning
  241 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^
      |                                          (   )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:241:41: note: place parentheses around the & expression to evaluate it first
  241 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^
      |                                     (     )
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:18: warning: | has lower precedence than ==; == will be evaluated first [-Wparentheses]
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                  ^~~~~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:18: note: place parentheses around the '==' expression to silence this warning
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                  ^~~~~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:18: note: place parentheses around the | expression to evaluate it first
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~^~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:23: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~~~~~~^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:23: note: place parentheses around the '|' expression to silence this warning
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~~~~~~^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:267:23: note: place parentheses around the '?:' expression to evaluate it first
  267 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                   ~~~~^~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:69:21: note: expanded from macro 'FMAX'
   69 | #    define FMAX(x) x
      |                     ^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:145:5: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
  145 | int D(k,q,l,e,E,z,n)        /* recursive minimax search, k=moving side, n=depth*/
      |     ^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:486:96: warning: '/*' within block comment [-Wcomment]
  486 |         /* printf("# c='%c' i=%d od[i]=%d j=%d (%3d,%8x)\n",c?c:' ',i,od[i],j,o[j-1],of[j-1]); /**/
      |                                                                                                ^
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:725:34: warning: operator '>>' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
  725 |             MovesLeft = -(GamePtr+(Side==WHITE)>>1);
      |                           ~~~~~~~^~~~~~~~~~~~~~~~
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:725:34: note: place parentheses around the '+' expression to silence this warning
  725 |             MovesLeft = -(GamePtr+(Side==WHITE)>>1);
      |                                  ^
      |                           (                    )
16 warnings generated.
[6/26] Compiling Fairymax.c
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CppBridge/io.cpp:236:5: warning: 'vsprintf' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use vsnprintf(3) instead. [-Wdeprecated-declarations]
  236 |     vsprintf(string,format,arg_list);
      |     ^
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/usr/include/_stdio.h:298:1: note: 'vsprintf' has been explicitly marked deprecated here
  298 | __deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use vsnprintf(3) instead.")
      | ^
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/usr/include/sys/cdefs.h:227:48: note: expanded from macro '__deprecated_msg'
  227 |         #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
      |                                                       ^
1 warning generated.
[7/26] Compiling BBitboard.cpp
[8/26] Compiling MicroMaxCppBridge io.cpp
[8/26] Compiling MicroMaxCppBridge AbstractAdapter.cpp
[10/26] Compiling MicroMaxCppBridge ChessCore.cpp
/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CppBridge/engine.cpp:53:5: warning: 'vsprintf' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use vsnprintf(3) instead. [-Wdeprecated-declarations]
   53 |     vsprintf(string,format,arg_list);
      |     ^
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/usr/include/_stdio.h:298:1: note: 'vsprintf' has been explicitly marked deprecated here
  298 | __deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use vsnprintf(3) instead.")
      | ^
/Applications/Xcode-26.0.0-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk/usr/include/sys/cdefs.h:227:48: note: expanded from macro '__deprecated_msg'
  227 |         #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
      |                                                       ^
1 warning generated.
[11/26] Compiling MicroMaxCppBridge engine.cpp
[12/26] Compiling MicroMaxCppBridge ProtocolParser.cpp
[13/26] Compiling MicroMaxCppBridge UnixListener.cpp
[14/26] Compiling BBBook.cpp
[15/26] Compiling BPosition.cpp
[16/26] Write sources
[17/28] Compiling MicroMaxCppBridge UnixAdapter.cpp
[18/28] Compiling MicroMaxCppBridge VirtualBoard.cpp
[19/28] Compiling MicroMaxCppBridge WBProtocolParser.cpp
[20/28] Compiling MicroMaxCppBridge Resources.cpp
[21/28] Compiling MicroMaxCppBridge PThreadStaticLinker.cpp
[22/28] Compiling MicroMaxCppBridge WBProtocol.cpp
[23/28] Compiling MicroMaxObjCBridge MicroMaxObjCBridge.mm
[24/28] Compiling MicroMaxObjCBridge resource_bundle_accessor.m
[25/28] Compiling MicroMaxObjCBridge EngineContext.m
[27/28] Compiling Asyncify Asyncify.swift
[28/28] Emitting module Asyncify
[29/32] Emitting module MicroMaxOnAppleSilicon
[30/32] Compiling MicroMaxOnAppleSilicon Helpers.swift
[31/32] Compiling MicroMaxOnAppleSilicon MicroMaxBridge.swift
[32/32] Compiling MicroMaxOnAppleSilicon Types.swift
Build complete! (8.47s)
Fetching https://github.com/mesqueeb/Asyncify
[1/143] Fetching asyncify
Fetched https://github.com/mesqueeb/Asyncify from cache (0.76s)
Computing version for https://github.com/mesqueeb/Asyncify
Computed https://github.com/mesqueeb/Asyncify at 0.0.9 (1.21s)
Creating working copy for https://github.com/mesqueeb/Asyncify
Working copy of https://github.com/mesqueeb/Asyncify resolved at 0.0.9
Build complete.
{
  "c_language_standard" : "gnu17",
  "cxx_language_standard" : "c++20",
  "dependencies" : [
    {
      "identity" : "asyncify",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.0.9",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/mesqueeb/Asyncify"
    }
  ],
  "manifest_display_name" : "MicroMaxOnAppleSilicon",
  "name" : "MicroMaxOnAppleSilicon",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    }
  ],
  "products" : [
    {
      "name" : "MicroMaxOnAppleSilicon",
      "targets" : [
        "MicroMaxCBridge",
        "MicroMaxCppBridge",
        "MicroMaxObjCBridge",
        "MicroMaxOnAppleSilicon"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MicroMaxOnAppleSiliconTests",
      "module_type" : "SwiftTarget",
      "name" : "MicroMaxOnAppleSiliconTests",
      "path" : "MicroMaxOnAppleSilicon/Tests",
      "sources" : [
        "MicroMaxOnAppleSiliconTests.swift"
      ],
      "target_dependencies" : [
        "MicroMaxCBridge",
        "MicroMaxCppBridge",
        "MicroMaxObjCBridge",
        "MicroMaxOnAppleSilicon"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MicroMaxOnAppleSilicon",
      "module_type" : "SwiftTarget",
      "name" : "MicroMaxOnAppleSilicon",
      "path" : "MicroMaxOnAppleSilicon/Sources/SwiftBridge",
      "product_dependencies" : [
        "Asyncify"
      ],
      "product_memberships" : [
        "MicroMaxOnAppleSilicon"
      ],
      "sources" : [
        "Helpers.swift",
        "MicroMaxBridge.swift",
        "Types.swift"
      ],
      "target_dependencies" : [
        "MicroMaxObjCBridge"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MicroMaxObjCBridge",
      "module_type" : "ClangTarget",
      "name" : "MicroMaxObjCBridge",
      "path" : "MicroMaxOnAppleSilicon/Sources/ObjCBridge",
      "product_memberships" : [
        "MicroMaxOnAppleSilicon"
      ],
      "resources" : [
        {
          "path" : "/Users/admin/builder/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/ObjCBridge/Resources/fmax.ini",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "EngineContext.m",
        "MicroMaxObjCBridge.mm"
      ],
      "target_dependencies" : [
        "MicroMaxCppBridge"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MicroMaxCppBridge",
      "module_type" : "ClangTarget",
      "name" : "MicroMaxCppBridge",
      "path" : "MicroMaxOnAppleSilicon/Sources/CppBridge",
      "product_memberships" : [
        "MicroMaxOnAppleSilicon"
      ],
      "sources" : [
        "AbstractAdapter.cpp",
        "Bitboard/BBBook.cpp",
        "Bitboard/BBitboard.cpp",
        "Bitboard/BMovegen.cpp",
        "Bitboard/BPosition.cpp",
        "ChessCore.cpp",
        "MicroMaxBridge.cpp",
        "PThreadStaticLinker.cpp",
        "ProtocolParser.cpp",
        "Resources.cpp",
        "UnixAdapter.cpp",
        "UnixListener.cpp",
        "VirtualBoard.cpp",
        "WBProtocol.cpp",
        "WBProtocolParser.cpp",
        "engine.cpp",
        "io.cpp"
      ],
      "target_dependencies" : [
        "MicroMaxCBridge"
      ],
      "type" : "library"
    },
    {
      "c99name" : "MicroMaxCBridge",
      "module_type" : "ClangTarget",
      "name" : "MicroMaxCBridge",
      "path" : "MicroMaxOnAppleSilicon/Sources/CBridge",
      "product_memberships" : [
        "MicroMaxOnAppleSilicon"
      ],
      "sources" : [
        "EngineContext.c",
        "Fairymax/Fairymax.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Done.