Skip to content

Instantly share code, notes, and snippets.

@uraimo
Last active October 25, 2019 06:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save uraimo/1ee00fa72e4002bf95c313c6b10e1e9a to your computer and use it in GitHub Desktop.
Save uraimo/1ee00fa72e4002bf95c313c6b10e1e9a to your computer and use it in GitHub Desktop.
  • Link gcc and g++ to clang and clang++ respectively if necessary

  • Move /bin/uname to /bin/uname.orig and override it with a /bin/uname script that calls /bin/uname.orig "$@" | sed 's/armv7l/armv6l/g'

  • Force armv6l for build-impl-script instead of using python's platform.machine() that calls the uname syscall (setarch cannot be used since armv6 cannot be set...):

    diff --git a/utils/swift_build_support/swift_build_support/targets.py b/utils/swift_build_support/swift_build_support/targets.
    py
    index 2859677fac..b7d65c4f9a 100644
    --- a/utils/swift_build_support/swift_build_support/targets.py
    +++ b/utils/swift_build_support/swift_build_support/targets.py
    @@ -156,7 +156,7 @@ class StdlibDeploymentTarget(object):
             the recognized targets. Otherwise, throw a NotImplementedError.
             """
             system = platform.system()
    -        machine = platform.machine()
    +        machine = "armv6l" #platform.machine()
    
             if system == 'Linux':
                 if machine == 'x86_64':
    
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment