DragonBuild / dragon

pip install dragon | A Powerful buildsystem and toolkit currently targeting darwin (iOS/macOS) machines
MIT License
220 stars 23 forks source link

Using sbingner arm64e linux toolchain with dragonbuild #19

Closed InsaneWaifu closed 4 years ago

InsaneWaifu commented 4 years ago

Using https://github.com/sbingner/llvm-project/releases with dragonbuild doesn't seem to work; moving ios-arm64e-clang-toolchain/* to toolchain/linux/iphone makes an error when running dragonbuild Other than copying the toolchain and ios 13 sdk, it's a fresh install of dragonbuild using the install script

$ dragon make
KeyError: Missing value in variables array.
'cc'
Press v for detailed debugging output, any other key to exit.
Entire Project Config:
Traceback (most recent call last):
  File "/home/joshualausch/.dragonbuild//DragonGen/DragonGen.py", line 989, in <module>
    main()
  File "/home/joshualausch/.dragonbuild//DragonGen/DragonGen.py", line 971, in main
    variables = generate_vars(proj_config, config, default_target)
  File "/home/joshualausch/.dragonbuild//DragonGen/DragonGen.py", line 262, in generate_vars
    ret.update({k: '$dragondir/toolchain/linux/iphone/bin/arm64-apple-darwin14-' + var_d[k] for k in [
  File "/home/joshualausch/.dragonbuild//DragonGen/DragonGen.py", line 262, in <dictcomp>
    ret.update({k: '$dragondir/toolchain/linux/iphone/bin/arm64-apple-darwin14-' + var_d[k] for k in [
KeyError: 'cc'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/joshualausch/.dragonbuild//DragonGen/DragonGen.py", line 999, in <module>
    handle(exception)
  File "/home/joshualausch/.dragonbuild//DragonGen/DragonGen.py", line 904, in handle
    pprint.pprint(ex.variables, stream=sys.stderr)
AttributeError: 'KeyError' object has no attribute 'variables'

And here is DragonMake:

name: FakeShutoff
icmd: sbreload

all:
  targetvers: 13.0
  archs:
    - arm64
    - arm64e

FakeShutoff:
    type: tweak

    logos_files:
        - "*.xm"
InsaneWaifu commented 4 years ago

So here is an update: Just unzipping the toolchain into toolchains removes the error. But now I get clang errors. With an empty project for arm64:

[Dragon] [1/4] (0.033) clang++ -arch arm64 -I$DRAGONBUILD/include -I$DRAGONBUILD/vendor/include -I$DRAGONBUILD/include/_fallback -I/headers/ -I. -fmodules -fcxx-modules -fmodule-name=test -fobjc-arc -fbuild-session-file=.dragon/modules/ -fcolor-diagnostics -fmodules-prune-after=345600 -miphoneos-version-min=13.0 -isysroot $DRAGONBUILD/sdks/iPhoneOS.sdk  -O0 -fmodules-validate-once-per-build-session -F$DRAGONBUILD/sdks/iPhoneOS.sdk/System/Library/Frameworks -F$DRAGONBUILD/sdks/iPhoneOS.sdk/System/Library/PrivateFrameworks -F$DRAGONBUILD/frameworks -miphoneos-version-min=13.0 -isysroot $DRAGONBUILD/sdks/iPhoneOS.sdk     -Wall -fmodules-prune-interval=86400  -framework UIKit -framework Foundation   -dynamiclib -ggdb -Xlinker -segalign -Xlinker 4000 -L$DRAGONBUILD/lib -L.   -framework CydiaSubstrate -o .dragon/build/test.arm64  
FAILED: .dragon/build/test.arm64 
clang++ -arch arm64 -I$DRAGONBUILD/include -I$DRAGONBUILD/vendor/include -I$DRAGONBUILD/include/_fallback -I/headers/ -I. -fmodules -fcxx-modules -fmodule-name=test -fobjc-arc -fbuild-session-file=.dragon/modules/ -fcolor-diagnostics -fmodules-prune-after=345600 -miphoneos-version-min=13.0 -isysroot $DRAGONBUILD/sdks/iPhoneOS.sdk  -O0 -fmodules-validate-once-per-build-session -F$DRAGONBUILD/sdks/iPhoneOS.sdk/System/Library/Frameworks -F$DRAGONBUILD/sdks/iPhoneOS.sdk/System/Library/PrivateFrameworks -F$DRAGONBUILD/frameworks -miphoneos-version-min=13.0 -isysroot $DRAGONBUILD/sdks/iPhoneOS.sdk     -Wall -fmodules-prune-interval=86400  -framework UIKit -framework Foundation   -dynamiclib -ggdb -Xlinker -segalign -Xlinker 4000 -L$DRAGONBUILD/lib -L.   -framework CydiaSubstrate -o .dragon/build/test.arm64  
clang: warning: argument unused during compilation: '-arch arm64' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-F/home/joshualausch/.dragonbuild//sdks/iPhoneOS.sdk/System/Library/Frameworks' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-F/home/joshualausch/.dragonbuild//sdks/iPhoneOS.sdk/System/Library/PrivateFrameworks' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-F/home/joshualausch/.dragonbuild//frameworks' [-Wunused-command-line-argument]
clang: warning: argument unused during compilation: '-dynamiclib' [-Wunused-command-line-argument]
/usr/bin/ld: -f may not be used without -shared
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
[Dragon] Build failed
[Dragon] Cleaning Up
InsaneWaifu commented 4 years ago

Gonna open a seperate issue for the above as this has nothing to do with the toolchain