@@ -397,6 +397,40 @@ function should_execute_host_actions_for_phase() {
397
397
fi
398
398
}
399
399
400
+ function verify_host_is_supported() {
401
+ local host=" $1 "
402
+ case ${host} in
403
+ freebsd-x86_64 \
404
+ | cygwin-x86_64 \
405
+ | haiku-x86_64 \
406
+ | linux-x86_64 \
407
+ | linux-i686 \
408
+ | linux-armv6 \
409
+ | linux-armv7 \
410
+ | linux-aarch64 \
411
+ | linux-powerpc64 \
412
+ | linux-powerpc64le \
413
+ | linux-s390x \
414
+ | macosx-x86_64 \
415
+ | iphonesimulator-i386 \
416
+ | iphonesimulator-x86_64 \
417
+ | iphoneos-armv7 \
418
+ | iphoneos-armv7s \
419
+ | iphoneos-arm64 \
420
+ | appletvsimulator-x86_64 \
421
+ | appletvos-arm64 \
422
+ | watchsimulator-i386 \
423
+ | watchos-armv7k \
424
+ | android-armv7 \
425
+ | android-aarch64)
426
+ ;;
427
+ * )
428
+ echo " Unknown host tools target: ${host} "
429
+ exit 1
430
+ ;;
431
+ esac
432
+ }
433
+
400
434
function set_build_options_for_host() {
401
435
llvm_cmake_options=()
402
436
swift_cmake_options=()
@@ -409,58 +443,28 @@ function set_build_options_for_host() {
409
443
local host=" $1 "
410
444
411
445
# Hosts which can be cross-compiled must specify:
412
- # SWIFT_HOST_TRIPLE and llvm_target_arch (as well as usual HOST_VARIANT flags)
446
+ # SWIFT_HOST_TRIPLE and llvm_target_arch.
447
+ # Hosts which have differing platforn names from their
448
+ # SWIFT_HOST_VARIANT_* values should change them here as well.
449
+
450
+ verify_host_is_supported $host
451
+
452
+ local platform=${host%% -* }
453
+ local architecture=${host##* -}
454
+
455
+ SWIFT_HOST_VARIANT=$platform
456
+ SWIFT_HOST_VARIANT_SDK=$( toupper $platform )
457
+ SWIFT_HOST_VARIANT_ARCH=$architecture
413
458
414
459
case ${host} in
415
- freebsd-x86_64)
416
- SWIFT_HOST_VARIANT=" freebsd"
417
- SWIFT_HOST_VARIANT_SDK=" FREEBSD"
418
- SWIFT_HOST_VARIANT_ARCH=" x86_64"
419
- ;;
420
- cygwin-x86_64)
421
- SWIFT_HOST_VARIANT=" cygwin"
422
- SWIFT_HOST_VARIANT_SDK=" CYGWIN"
423
- SWIFT_HOST_VARIANT_ARCH=" x86_64"
460
+ linux-armv6)
461
+ SWIFT_HOST_TRIPLE=" armv6-unknown-linux-gnueabihf"
462
+ llvm_target_arch=" ARM"
424
463
;;
425
- haiku-x86_64)
426
- SWIFT_HOST_VARIANT=" haiku"
427
- SWIFT_HOST_VARIANT_SDK=" HAIKU"
428
- SWIFT_HOST_VARIANT_ARCH=" x86_64"
464
+ linux-armv7)
465
+ SWIFT_HOST_TRIPLE=" armv7-unknown-linux-gnueabihf"
466
+ llvm_target_arch=" ARM"
429
467
;;
430
- linux-* )
431
- SWIFT_HOST_VARIANT=" linux"
432
- SWIFT_HOST_VARIANT_SDK=" LINUX"
433
- case ${host} in
434
- linux-x86_64)
435
- SWIFT_HOST_VARIANT_ARCH=" x86_64"
436
- ;;
437
- linux-i686)
438
- SWIFT_HOST_VARIANT_ARCH=" i686"
439
- ;;
440
- linux-armv6)
441
- SWIFT_HOST_VARIANT_ARCH=" armv6"
442
- SWIFT_HOST_TRIPLE=" armv6-unknown-linux-gnueabihf"
443
- llvm_target_arch=" ARM"
444
- ;;
445
- linux-armv7)
446
- SWIFT_HOST_VARIANT_ARCH=" armv7"
447
- SWIFT_HOST_TRIPLE=" armv7-unknown-linux-gnueabihf"
448
- llvm_target_arch=" ARM"
449
- ;;
450
- linux-aarch64)
451
- SWIFT_HOST_VARIANT_ARCH=" aarch64"
452
- ;;
453
- linux-powerpc64)
454
- SWIFT_HOST_VARIANT_ARCH=" powerpc64"
455
- ;;
456
- linux-powerpc64le)
457
- SWIFT_HOST_VARIANT_ARCH=" powerpc64le"
458
- ;;
459
- linux-s390x)
460
- SWIFT_HOST_VARIANT_ARCH=" s390x"
461
- ;;
462
- esac
463
- ;;
464
468
macosx-* | iphoneos-* | iphonesimulator-* | \
465
469
appletvos-* | appletvsimulator-* | \
466
470
watchos-* | watchsimulator-* )
@@ -469,96 +473,72 @@ function set_build_options_for_host() {
469
473
xcrun_sdk_name=" macosx"
470
474
llvm_target_arch=" "
471
475
SWIFT_HOST_TRIPLE=" x86_64-apple-macosx${DARWIN_DEPLOYMENT_VERSION_OSX} "
472
- SWIFT_HOST_VARIANT=" macosx"
473
476
SWIFT_HOST_VARIANT_SDK=" OSX"
474
- SWIFT_HOST_VARIANT_ARCH=" x86_64"
475
477
cmake_osx_deployment_target=" ${DARWIN_DEPLOYMENT_VERSION_OSX} "
476
478
;;
477
479
iphonesimulator-i386)
478
480
xcrun_sdk_name=" iphonesimulator"
479
481
llvm_target_arch=" X86"
480
482
SWIFT_HOST_TRIPLE=" i386-apple-ios${DARWIN_DEPLOYMENT_VERSION_IOS} "
481
- SWIFT_HOST_VARIANT=" iphonesimulator"
482
483
SWIFT_HOST_VARIANT_SDK=" IOS_SIMULATOR"
483
- SWIFT_HOST_VARIANT_ARCH=" i386"
484
484
cmake_osx_deployment_target=" "
485
485
;;
486
486
iphonesimulator-x86_64)
487
487
xcrun_sdk_name=" iphonesimulator"
488
488
llvm_target_arch=" X86"
489
489
SWIFT_HOST_TRIPLE=" x86_64-apple-ios${DARWIN_DEPLOYMENT_VERSION_IOS} "
490
- SWIFT_HOST_VARIANT=" iphonesimulator"
491
490
SWIFT_HOST_VARIANT_SDK=" IOS_SIMULATOR"
492
- SWIFT_HOST_VARIANT_ARCH=" x86_64"
493
491
cmake_osx_deployment_target=" "
494
492
;;
495
493
iphoneos-armv7)
496
494
xcrun_sdk_name=" iphoneos"
497
495
llvm_target_arch=" ARM"
498
496
SWIFT_HOST_TRIPLE=" armv7-apple-ios${DARWIN_DEPLOYMENT_VERSION_IOS} "
499
- SWIFT_HOST_VARIANT=" iphoneos"
500
497
SWIFT_HOST_VARIANT_SDK=" IOS"
501
- SWIFT_HOST_VARIANT_ARCH=" armv7"
502
498
cmake_osx_deployment_target=" "
503
499
;;
504
500
iphoneos-armv7s)
505
501
xcrun_sdk_name=" iphoneos"
506
502
llvm_target_arch=" ARM"
507
503
SWIFT_HOST_TRIPLE=" armv7s-apple-ios${DARWIN_DEPLOYMENT_VERSION_IOS} "
508
- SWIFT_HOST_VARIANT=" iphoneos"
509
504
SWIFT_HOST_VARIANT_SDK=" IOS"
510
- SWIFT_HOST_VARIANT_ARCH=" armv7s"
511
505
cmake_osx_deployment_target=" "
512
506
;;
513
507
iphoneos-arm64)
514
508
xcrun_sdk_name=" iphoneos"
515
509
llvm_target_arch=" AArch64"
516
510
SWIFT_HOST_TRIPLE=" arm64-apple-ios${DARWIN_DEPLOYMENT_VERSION_IOS} "
517
- SWIFT_HOST_VARIANT=" iphoneos"
518
511
SWIFT_HOST_VARIANT_SDK=" IOS"
519
- SWIFT_HOST_VARIANT_ARCH=" arm64"
520
512
cmake_osx_deployment_target=" "
521
513
;;
522
514
appletvsimulator-x86_64)
523
515
xcrun_sdk_name=" appletvsimulator"
524
516
llvm_target_arch=" X86"
525
517
SWIFT_HOST_TRIPLE=" x86_64-apple-tvos${DARWIN_DEPLOYMENT_VERSION_TVOS} "
526
- SWIFT_HOST_VARIANT=" appletvsimulator"
527
518
SWIFT_HOST_VARIANT_SDK=" TVOS_SIMULATOR"
528
- SWIFT_HOST_VARIANT_ARCH=" x86_64"
529
519
cmake_osx_deployment_target=" "
530
520
;;
531
521
appletvos-arm64)
532
522
xcrun_sdk_name=" appletvos"
533
523
llvm_target_arch=" AArch64"
534
524
SWIFT_HOST_TRIPLE=" arm64-apple-tvos${DARWIN_DEPLOYMENT_VERSION_TVOS} "
535
- SWIFT_HOST_VARIANT=" appletvos"
536
525
SWIFT_HOST_VARIANT_SDK=" TVOS"
537
- SWIFT_HOST_VARIANT_ARCH=" arm64"
538
526
cmake_osx_deployment_target=" "
539
527
;;
540
528
watchsimulator-i386)
541
529
xcrun_sdk_name=" watchsimulator"
542
530
llvm_target_arch=" X86"
543
531
SWIFT_HOST_TRIPLE=" i386-apple-watchos${DARWIN_DEPLOYMENT_VERSION_WATCHOS} "
544
- SWIFT_HOST_VARIANT=" watchsimulator"
545
532
SWIFT_HOST_VARIANT_SDK=" WATCHOS_SIMULATOR"
546
- SWIFT_HOST_VARIANT_ARCH=" i386"
547
533
cmake_osx_deployment_target=" "
548
534
;;
549
535
watchos-armv7k)
550
536
xcrun_sdk_name=" watchos"
551
537
llvm_target_arch=" ARM"
552
538
SWIFT_HOST_TRIPLE=" armv7k-apple-watchos${DARWIN_DEPLOYMENT_VERSION_WATCHOS} "
553
- SWIFT_HOST_VARIANT=" watchos"
554
539
SWIFT_HOST_VARIANT_SDK=" WATCHOS"
555
- SWIFT_HOST_VARIANT_ARCH=" armv7k"
556
540
cmake_osx_deployment_target=" "
557
541
;;
558
- * )
559
- echo " Unknown host for swift tools: ${host} "
560
- exit 1
561
- ;;
562
542
esac
563
543
564
544
if [[ " ${DARWIN_SDK_DEPLOYMENT_TARGETS} " != " " ]]; then
@@ -626,22 +606,6 @@ function set_build_options_for_host() {
626
606
-DSWIFT_DARWIN_DEPLOYMENT_VERSION_WATCHOS=" ${DARWIN_DEPLOYMENT_VERSION_WATCHOS} "
627
607
)
628
608
;;
629
- android-* )
630
- SWIFT_HOST_VARIANT=" android"
631
- SWIFT_HOST_VARIANT_SDK=" ANDROID"
632
- case ${host} in
633
- android-armv7)
634
- SWIFT_HOST_VARIANT_ARCH=" armv7"
635
- ;;
636
- android-aarch64)
637
- SWIFT_HOST_VARIANT_ARCH=" aarch64"
638
- ;;
639
- esac
640
- ;;
641
- * )
642
- echo " Unknown host tools target: ${host} "
643
- exit 1
644
- ;;
645
609
esac
646
610
647
611
0 commit comments