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 v3.0.0 (c7f092), with Swift 6.1 for Linux on 10 Dec 2025 06:30:47 UTC.

Swift 6 data race errors: 0

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.68.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Reference: v3.0.0
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: 	git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: 	git branch -m <name>
From https://github.com/mesqueeb/MicroMaxOnAppleSilicon
 * tag               v3.0.0     -> FETCH_HEAD
HEAD is now at c7f092d 3.0.0
Cloned https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
Revision (git rev-parse @):
c7f092d8606badf213a0919e19b063c1e91b0960
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git at v3.0.0
========================================
Build
========================================
Selected platform:         linux
Swift version:             6.1
Building package at path:  $PWD
https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
https://github.com/mesqueeb/MicroMaxOnAppleSilicon.git
WARNING: environment variable SUPPRESS_SWIFT_6_FLAGS is not set
{
  "c_language_standard" : "gnu17",
  "dependencies" : [
  ],
  "manifest_display_name" : "MicroMaxOnAppleSilicon",
  "name" : "MicroMaxOnAppleSilicon",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    }
  ],
  "products" : [
    {
      "name" : "MicroMaxOnAppleSilicon",
      "targets" : [
        "MicroMaxCBridge",
        "MicroMaxOnAppleSilicon"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MicroMaxOnAppleSiliconTests",
      "module_type" : "SwiftTarget",
      "name" : "MicroMaxOnAppleSiliconTests",
      "path" : "MicroMaxOnAppleSilicon/Tests",
      "sources" : [
        "MicroMaxOnAppleSiliconTests.swift"
      ],
      "target_dependencies" : [
        "MicroMaxCBridge",
        "MicroMaxOnAppleSilicon"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MicroMaxOnAppleSilicon",
      "module_type" : "SwiftTarget",
      "name" : "MicroMaxOnAppleSilicon",
      "path" : "MicroMaxOnAppleSilicon/Sources/SwiftBridge",
      "product_memberships" : [
        "MicroMaxOnAppleSilicon"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/SwiftBridge/Resources/fmax.ini",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "FENParser.swift",
        "Helpers.swift",
        "MicroMaxBridge.swift",
        "Types.swift"
      ],
      "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",
        "MicroMaxEngine.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4606859-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats 2>&1
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:4d72617259f6eef9908440c49a67b79bc4f973ae19f78187418ddfb5b178d4ec
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Building for debugging...
[0/6] Write sources
[1/6] Copying fmax.ini
/host/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.
[2/6] Compiling MicroMaxCBridge EngineContext.c
/host/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"
      |                                ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:167:19: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  167 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |           ~~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:167:19: note: place parentheses around the '|' expression to silence this warning
  167 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |                   ^
      |           (       )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:167:19: note: place parentheses around the '?:' expression to evaluate it first
  167 |         m=-P<l|R<5?d-2?-I:e:-P;   /*** prune if > beta  unconsidered:static eval */
      |                   ^
      |                (              )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:174:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  174 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                   ~^~~~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:174:20: note: place parentheses around the assignment to silence this warning
  174 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                    ^
      |                   (       )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:174:20: note: use '==' to turn this assignment into an equality comparison
  174 |                 W(r=o[++j])                                /* loop over directions o[] */
      |                    ^
      |                    ==
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:202:47: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  202 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                    ~~~~~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:202:47: note: place parentheses around the '|' expression to silence this warning
  202 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                    ~~~~~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:202:47: note: place parentheses around the '?:' expression to evaluate it first
  202 |                                 v-=w[p]>0|R<EG?0:20;                   /*** freeze K in mid-game ***/
      |                                               ^
      |                                           (        )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:207:40: warning: operator '>>' has lower precedence than '-'; '-' will be evaluated first [-Wshift-op-parentheses]
  207 |                                     +(R-76>>2);                      /* end-game Pawn-push bonus */
      |                                       ~^~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:207:40: note: place parentheses around the '-' expression to silence this warning
  207 |                                     +(R-76>>2);                      /* end-game Pawn-push bonus */
      |                                        ^
      |                                       (   )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:218:39: warning: | has lower precedence than <; < will be evaluated first [-Wparentheses]
  218 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                   ~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:218:39: note: place parentheses around the '<' expression to silence this warning
  218 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                   ~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:218:39: note: place parentheses around the | expression to evaluate it first
  218 |                                 C=R<EG|P-I|d<3||t&&p-3?C:d;            /* extend 1 ply if in-check */
      |                                     ~~^~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:220:46: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  220 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                       ~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:220:46: note: place parentheses around the '|' expression to silence this warning
  220 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                              ^
      |                                       (      )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:220:46: note: place parentheses around the '?:' expression to evaluate it first
  220 |                                     s=C>2|v>V?-D(16-k,-l,-V,-v,/*** futility, recursive eval. of reply */
      |                                              ^
      |                                           (
  221 |                                                  F,y&255,C):v;
      |
      |                                                              )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:225:44: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
  225 |                                     W(*sp++=*p++);
      |                                       ~~~~~^~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:225:44: note: place parentheses around the assignment to silence this warning
  225 |                                     W(*sp++=*p++);
      |                                            ^
      |                                       (         )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:225:44: note: use '==' to turn this assignment into an equality comparison
  225 |                                     W(*sp++=*p++);
      |                                            ^
      |                                            ==
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:235:46: warning: | has lower precedence than <; < will be evaluated first [-Wparentheses]
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:235:46: note: place parentheses around the '<' expression to silence this warning
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^
      |                                               (  )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:235:46: note: place parentheses around the | expression to evaluate it first
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                              ^
      |                                             (  )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:235:50: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                             ~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:235:50: note: place parentheses around the '|' expression to silence this warning
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                                  ^
      |                                             (    )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:235:50: note: place parentheses around the '?:' expression to evaluate it first
  235 |                                     Fifty = t|p<3?0:Fifty+1;
      |                                                  ^
      |                                               (            )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:244:41: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses]
  244 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:244:41: note: place parentheses around the '==' expression to silence this warning
  244 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^
      |                                          (   )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:244:41: note: place parentheses around the & expression to evaluate it first
  244 |                             if(z&S&&Post&K==I&d>2&v>V&v<l){int *p=ps;char X,Y;
      |                                         ^
      |                                     (     )
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:270:18: warning: | has lower precedence than ==; == will be evaluated first [-Wparentheses]
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                  ^~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:270:18: note: place parentheses around the '==' expression to silence this warning
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                  ^~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:270:18: note: place parentheses around the | expression to evaluate it first
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~^~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:270:23: warning: operator '?:' has lower precedence than '|'; '|' will be evaluated first [-Wbitwise-conditional-parentheses]
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:270:23: note: place parentheses around the '|' expression to silence this warning
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |               ~~~~~~~~^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:270:23: note: place parentheses around the '?:' expression to evaluate it first
  270 |     C:FMAX( m=m+I|P==I?m:(X=Y=0); )                /* if stalemate, draw-score */
      |                   ~~~~^~~~~~~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:72:21: note: expanded from macro 'FMAX'
   72 | #    define FMAX(x) x
      |                     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:148:5: warning: a function definition without a prototype is deprecated in all versions of C and is not supported in C23 [-Wdeprecated-non-prototype]
  148 | int D(k,q,l,e,E,z,n)        /* recursive minimax search, k=moving side, n=depth*/
      |     ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:489:103: warning: '/*' within block comment [-Wcomment]
  489 |         /* engine_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]); /**/
      |                                                                                                       ^
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:733:34: warning: operator '>>' has lower precedence than '+'; '+' will be evaluated first [-Wshift-op-parentheses]
  733 |             MovesLeft = -(GamePtr+(Side==WHITE)>>1);
      |                           ~~~~~~~^~~~~~~~~~~~~~~~
/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/CBridge/Fairymax/Fairymax.c:733:34: note: place parentheses around the '+' expression to silence this warning
  733 |             MovesLeft = -(GamePtr+(Side==WHITE)>>1);
      |                                  ^
      |                           (                    )
16 warnings generated.
[3/6] Compiling Fairymax.c
[4/6] Compiling MicroMaxCBridge MicroMaxEngine.c
[5/6] Write swift-version-24593BA9C3E375BF.txt
[7/12] Compiling MicroMaxOnAppleSilicon Types.swift
[8/12] Compiling MicroMaxOnAppleSilicon FENParser.swift
[9/12] Emitting module MicroMaxOnAppleSilicon
[10/12] Compiling MicroMaxOnAppleSilicon MicroMaxBridge.swift
[11/12] Compiling MicroMaxOnAppleSilicon Helpers.swift
[12/12] Compiling MicroMaxOnAppleSilicon resource_bundle_accessor.swift
Build complete! (9.21s)
Build complete.
{
  "c_language_standard" : "gnu17",
  "dependencies" : [
  ],
  "manifest_display_name" : "MicroMaxOnAppleSilicon",
  "name" : "MicroMaxOnAppleSilicon",
  "path" : "/host/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "14.0"
    },
    {
      "name" : "macos",
      "version" : "11.0"
    }
  ],
  "products" : [
    {
      "name" : "MicroMaxOnAppleSilicon",
      "targets" : [
        "MicroMaxCBridge",
        "MicroMaxOnAppleSilicon"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "MicroMaxOnAppleSiliconTests",
      "module_type" : "SwiftTarget",
      "name" : "MicroMaxOnAppleSiliconTests",
      "path" : "MicroMaxOnAppleSilicon/Tests",
      "sources" : [
        "MicroMaxOnAppleSiliconTests.swift"
      ],
      "target_dependencies" : [
        "MicroMaxCBridge",
        "MicroMaxOnAppleSilicon"
      ],
      "type" : "test"
    },
    {
      "c99name" : "MicroMaxOnAppleSilicon",
      "module_type" : "SwiftTarget",
      "name" : "MicroMaxOnAppleSilicon",
      "path" : "MicroMaxOnAppleSilicon/Sources/SwiftBridge",
      "product_memberships" : [
        "MicroMaxOnAppleSilicon"
      ],
      "resources" : [
        {
          "path" : "/host/spi-builder-workspace/MicroMaxOnAppleSilicon/Sources/SwiftBridge/Resources/fmax.ini",
          "rule" : {
            "copy" : {
            }
          }
        }
      ],
      "sources" : [
        "FENParser.swift",
        "Helpers.swift",
        "MicroMaxBridge.swift",
        "Types.swift"
      ],
      "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",
        "MicroMaxEngine.c"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "6.0"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:4d72617259f6eef9908440c49a67b79bc4f973ae19f78187418ddfb5b178d4ec
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.