Unverified Commit c9270f62 authored by Artturin's avatar Artturin Committed by GitHub
Browse files

Merge pull request #329964 from Artturin/androidrenamesdk

treewide: Rename android `sdkVer` and `ndkVer`
parents b9a1e555 35e5943d
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -257,6 +257,22 @@ let
        if final.isMacOS then "MACOSX_DEPLOYMENT_TARGET"
        else if final.isiOS then "IPHONEOS_DEPLOYMENT_TARGET"
        else null;

      # Remove before 25.05
      androidSdkVersion =
        if (args ? sdkVer && !args ? androidSdkVersion) then
          throw "For android `sdkVer` has been renamed to `androidSdkVersion`"
        else if (args ? androidSdkVersion) then
          args.androidSdkVersion
        else
          null;
      androidNdkVersion =
        if (args ? ndkVer && !args ? androidNdkVersion) then
          throw "For android `ndkVer` has been renamed to `androidNdkVersion`"
        else if (args ? androidSdkVersion) then
          args.androidNdkVersion
        else
          null;
    } // (
      let
        selectEmulator = pkgs:
+6 −6
Original line number Diff line number Diff line
@@ -60,23 +60,23 @@ rec {
  armv7a-android-prebuilt = {
    config = "armv7a-unknown-linux-androideabi";
    rust.rustcTarget = "armv7-linux-androideabi";
    sdkVer = "33";
    ndkVer = "26";
    androidSdkVersion = "33";
    androidNdkVersion = "26";
    useAndroidPrebuilt = true;
  } // platforms.armv7a-android;

  aarch64-android-prebuilt = {
    config = "aarch64-unknown-linux-android";
    rust.rustcTarget = "aarch64-linux-android";
    sdkVer = "33";
    ndkVer = "26";
    androidSdkVersion = "33";
    androidNdkVersion = "26";
    useAndroidPrebuilt = true;
  };

  aarch64-android = {
    config = "aarch64-unknown-linux-android";
    sdkVer = "33";
    ndkVer = "26";
    androidSdkVersion = "33";
    androidNdkVersion = "26";
    libc = "bionic";
    useAndroidPrebuilt = false;
    useLLVM = true;
+8 −8
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ let
  buildInfo = ndkBuildInfoFun stdenv.buildPlatform;
  targetInfo = ndkTargetInfoFun stdenv.targetPlatform;

  inherit (stdenv.targetPlatform) sdkVer;
  androidSdkVersion = if (stdenv.targetPlatform ? androidSdkVersion && stdenv.targetPlatform.androidSdkVersion != null) then stdenv.targetPlatform.androidSdkVersion else (throw "`androidSdkVersion` is not set during the importing of nixpkgs");
  suffixSalt = lib.replaceStrings ["-" "."] ["_" "_"] stdenv.targetPlatform.config;

  # targetInfo.triple is what Google thinks the toolchain should be, this is a little
@@ -77,8 +77,8 @@ rec {
      cp -r ${androidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double} $out/toolchain
      find $out/toolchain -type d -exec chmod 777 {} \;

      if [ ! -d $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${sdkVer} ]; then
        echo "NDK does not contain libraries for SDK version ${sdkVer}";
      if [ ! -d $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion} ]; then
        echo "NDK does not contain libraries for SDK version ${androidSdkVersion}";
        exit 1
      fi

@@ -86,8 +86,8 @@ rec {
      ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/*.so $out/lib/
      ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/*.a $out/lib/
      chmod +w $out/lib/*
      ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${sdkVer}/*.so $out/lib/
      ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${sdkVer}/*.o $out/lib/
      ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion}/*.so $out/lib/
      ln -s $out/toolchain/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion}/*.o $out/lib/

      echo "INPUT(-lc++_static)" > $out/lib/libc++.a

@@ -130,7 +130,7 @@ rec {
    bintools = binutils;
    libc = targetAndroidndkPkgs.libraries;
    extraBuildCommands = ''
      echo "-D__ANDROID_API__=${stdenv.targetPlatform.sdkVer}" >> $out/nix-support/cc-cflags
      echo "-D__ANDROID_API__=${stdenv.targetPlatform.androidSdkVersion}" >> $out/nix-support/cc-cflags
      # Android needs executables linked with -pie since version 5.0
      # Use -fPIC for compilation, and link with -pie if no -shared flag used in ldflags
      echo "-target ${targetInfo.triple} -fPIC" >> $out/nix-support/cc-cflags
@@ -151,9 +151,9 @@ rec {
  # cross-compiling packages to wrap incorrectly wrap binaries we don't include
  # anyways.
  libraries = runCommand "bionic-prebuilt" {} ''
    lpath=${buildAndroidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double}/sysroot/usr/lib/${targetInfo.triple}/${sdkVer}
    lpath=${buildAndroidndk}/libexec/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/${buildInfo.double}/sysroot/usr/lib/${targetInfo.triple}/${androidSdkVersion}
    if [ ! -d $lpath ]; then
      echo "NDK does not contain libraries for SDK version ${sdkVer} <$lpath>"
      echo "NDK does not contain libraries for SDK version ${androidSdkVersion} <$lpath>"
      exit 1
    fi
    mkdir -p $out/lib
+1 −1
Original line number Diff line number Diff line
@@ -64,7 +64,7 @@ in lib.init bootStages ++ [
        cc = if crossSystem.useiOSPrebuilt or false
               then buildPackages.darwin.iosSdkPkgs.clang
             else if crossSystem.useAndroidPrebuilt or false
               then buildPackages."androidndkPkgs_${crossSystem.ndkVer}".clang
               then buildPackages."androidndkPkgs_${crossSystem.androidNdkVersion}".clang
             else if targetPlatform.isGhcjs
               # Need to use `throw` so tryEval for splicing works, ugh.  Using
               # `null` or skipping the attribute would cause an eval failure
+1 −1
Original line number Diff line number Diff line
@@ -19588,7 +19588,7 @@ with pkgs;
  # TODO(@Ericson2314): Build bionic libc from source
  bionic = if stdenv.hostPlatform.useAndroidPrebuilt
    then pkgs."androidndkPkgs_${stdenv.hostPlatform.ndkVer}".libraries
    then pkgs."androidndkPkgs_${stdenv.hostPlatform.androidNdkVer}".libraries
    else callPackage ../os-specific/linux/bionic-prebuilt { };
  boolstuff = callPackage ../development/libraries/boolstuff { };