|
347 | 347 | "--out", |
348 | 348 | "<output_root:hpy>", |
349 | 349 | "--cflags", |
350 | | - "-I<output_root:com.oracle.graal.python>/jni_gen -I<output_root:graalpy-pyconfig>/<arch> -I<path:com.oracle.graal.python.cext>/include", |
| 350 | + "-I<output_root:com.oracle.graal.python>/jni_gen -I<output_root:graalpy-pyconfig>/<os>-<arch>/<multitarget_libc_selection>/ -I<path:com.oracle.graal.python.cext>/include", |
351 | 351 | ], |
352 | 352 | "platformDependent": True, |
353 | 353 | "buildDependencies": [ |
|
540 | 540 | "windows": { |
541 | 541 | "<others>": { |
542 | 542 | "defaultBuild": False, |
| 543 | + "multitarget": { |
| 544 | + "libc": ["default"], |
| 545 | + }, |
543 | 546 | }, |
544 | 547 | }, |
545 | 548 | "<others>": { |
546 | 549 | "<others>": { |
547 | 550 | "defaultBuild": True, |
| 551 | + "multitarget": [ |
| 552 | + {"libc": ["glibc", "default"]}, |
| 553 | + {"libc": ["musl"], "variant": ["swcfi"]}, |
| 554 | + ], |
548 | 555 | }, |
549 | 556 | }, |
550 | 557 | }, |
|
577 | 584 | "windows": { |
578 | 585 | "<others>": { |
579 | 586 | "defaultBuild": False, |
| 587 | + "multitarget": { |
| 588 | + "libc": ["default"], |
| 589 | + }, |
580 | 590 | }, |
581 | 591 | }, |
582 | 592 | "<others>": { |
583 | 593 | "<others>": { |
584 | 594 | "defaultBuild": True, |
| 595 | + "multitarget": [ |
| 596 | + {"libc": ["glibc", "default"]}, |
| 597 | + {"libc": ["musl"], "variant": ["swcfi"]}, |
| 598 | + ], |
585 | 599 | }, |
586 | 600 | }, |
587 | 601 | }, |
|
606 | 620 | "graalpy-pyconfig": { |
607 | 621 | "subDir": "graalpython", |
608 | 622 | "class": "CMakeNinjaProject", |
| 623 | + "multitarget": [ |
| 624 | + {"libc": ["glibc", "default"]}, |
| 625 | + {"libc": ["musl"], "variant": ["swcfi"]}, |
| 626 | + ], |
609 | 627 | "max_jobs": "1", |
610 | 628 | "ninja_targets": ["all"], |
611 | 629 | "cmakeConfig": { |
|
628 | 646 | "os_arch": { |
629 | 647 | "windows": { |
630 | 648 | "<others>": { |
| 649 | + "multitarget": { |
| 650 | + "libc": ["default"], |
| 651 | + }, |
631 | 652 | "cmakeConfig": { |
632 | 653 | "CAPI_INC_DIR": "<output_root:com.oracle.graal.python>/jni_gen", |
633 | | - "PYCONFIG_INCLUDE_DIR": "<output_root:graalpy-pyconfig>/<arch>", |
| 654 | + "PYCONFIG_INCLUDE_DIR": "<output_root:graalpy-pyconfig>/<os>-<arch>/<multitarget_libc_selection>", |
634 | 655 | "TRUFFLE_NFI_H_INC": "<path:com.oracle.truffle.nfi.native>/include", |
635 | 656 | "GRAALPY_PARENT_DIR": "<suite_parent:graalpython>", |
636 | 657 | "GRAALPY_EXT": "<graalpy_ext>", |
|
653 | 674 | }, |
654 | 675 | "<others>": { |
655 | 676 | "<others>": { |
| 677 | + "multitarget": [ |
| 678 | + {"libc": ["glibc", "default"]}, |
| 679 | + {"libc": ["musl"], "variant": ["swcfi"]}, |
| 680 | + ], |
656 | 681 | "cmakeConfig": { |
657 | 682 | "CAPI_INC_DIR": "<output_root:com.oracle.graal.python>/jni_gen", |
658 | | - "PYCONFIG_INCLUDE_DIR": "<output_root:graalpy-pyconfig>/<arch>", |
| 683 | + "PYCONFIG_INCLUDE_DIR": "<output_root:graalpy-pyconfig>/<os>-<arch>/<multitarget_libc_selection>/", |
659 | 684 | "TRUFFLE_NFI_H_INC": "<path:com.oracle.truffle.nfi.native>/include", |
660 | 685 | "GRAALPY_PARENT_DIR": "<suite_parent:graalpython>", |
661 | 686 | "GRAALPY_EXT": "<graalpy_ext>", |
|
695 | 720 | "os_arch": { |
696 | 721 | "windows": { |
697 | 722 | "<others>": { |
698 | | - # "/O2", "/WX", # cflags to replace -O3 -Werror |
699 | 723 | "defaultBuild": False, |
| 724 | + "multitarget": { |
| 725 | + "libc": ["default"], |
| 726 | + }, |
700 | 727 | }, |
701 | 728 | }, |
702 | 729 | "<others>": { |
703 | 730 | "<others>": { |
704 | 731 | "defaultBuild": True, |
| 732 | + "multitarget": [ |
| 733 | + {"libc": ["glibc", "default"]}, |
| 734 | + {"libc": ["musl"], "variant": ["swcfi"]}, |
| 735 | + ], |
705 | 736 | }, |
706 | 737 | }, |
707 | 738 | }, |
|
718 | 749 | "os_arch": { |
719 | 750 | "windows": { |
720 | 751 | "<others>": { |
721 | | - # "/O2", "/WX", # cflags to replace -O3 -Werror |
722 | 752 | "defaultBuild": False, |
| 753 | + "multitarget": { |
| 754 | + "libc": ["default"], |
| 755 | + }, |
723 | 756 | }, |
724 | 757 | }, |
725 | 758 | "darwin": { |
726 | 759 | "<others>": { |
727 | 760 | "defaultBuild": True, |
| 761 | + "multitarget": { |
| 762 | + "libc": ["default"], |
| 763 | + }, |
728 | 764 | }, |
729 | 765 | }, |
730 | 766 | "<others>": { |
731 | 767 | "<others>": { |
732 | 768 | "ldlibs": ["-lutil"], |
733 | 769 | "defaultBuild": True, |
| 770 | + "multitarget": [ |
| 771 | + {"libc": ["glibc", "default"]}, |
| 772 | + {"libc": ["musl"], "variant": ["swcfi"]}, |
| 773 | + ], |
734 | 774 | }, |
735 | 775 | }, |
736 | 776 | }, |
|
787 | 827 | "--vm.Xss16777216", # request 16M of stack |
788 | 828 | '--vm.-enable-native-access=org.graalvm.shadowed.jline', |
789 | 829 | ], |
| 830 | + "multitarget": [ |
| 831 | + {"libc": ["glibc", "default"], "compiler": ["llvm-toolchain", "host", "*"]}, |
| 832 | + {"libc": ["musl"], "variant": ["swcfi"]}, |
| 833 | + ], |
790 | 834 | }, |
791 | 835 |
|
792 | 836 | "libpythonvm": { |
|
886 | 930 | "<others>": { |
887 | 931 | "layout": { |
888 | 932 | "<os>/<arch>/": [ |
889 | | - "dependency:com.oracle.graal.python.cext/bin/*", |
890 | | - "dependency:python-libbz2/bin/*", |
| 933 | + "dependency:com.oracle.graal.python.cext/<os>-<arch>/<multitarget_libc_selection>/bin/*", |
| 934 | + "dependency:python-libbz2/<os>-<arch>/<multitarget_libc_selection>/bin/*", |
891 | 935 | ] |
892 | 936 | }, |
893 | 937 | }, |
|
896 | 940 | "<others>": { |
897 | 941 | "layout": { |
898 | 942 | "<os>/<arch>/": [ |
899 | | - "dependency:com.oracle.graal.python.cext/bin/*", |
900 | | - "dependency:python-libzsupport/*", |
901 | | - "dependency:python-libposix/*", |
902 | | - "dependency:python-libbz2/bin/*", |
903 | | - "dependency:python-liblzma/bin/*", |
| 943 | + "dependency:com.oracle.graal.python.cext/<os>-<arch>/<multitarget_libc_selection>/bin/*", |
| 944 | + "dependency:python-libzsupport/<os>-<arch>/<multitarget_libc_selection>/*", |
| 945 | + "dependency:python-libposix/<os>-<arch>/<multitarget_libc_selection>/*", |
| 946 | + "dependency:python-libbz2/<os>-<arch>/<multitarget_libc_selection>/bin/*", |
| 947 | + "dependency:python-liblzma/<os>-<arch>/<multitarget_libc_selection>/bin/*", |
904 | 948 | ] |
905 | 949 | }, |
906 | 950 | }, |
|
1171 | 1215 | "description": "GraalVM Python header resources", |
1172 | 1216 | "layout": { |
1173 | 1217 | "./META-INF/resources/include/": [ |
1174 | | - "dependency:graalpy-pyconfig/pyconfig.h", |
| 1218 | + "dependency:graalpy-pyconfig/<os>-<arch>/<multitarget_libc_selection>/pyconfig.h", |
1175 | 1219 | "file:graalpython/com.oracle.graal.python.cext/include/*", |
1176 | 1220 | ], |
1177 | 1221 | }, |
|
1354 | 1398 | "extracted-dependency:GRAALPY_VIRTUALENV_SEEDER", |
1355 | 1399 | "dependency:graalpy_licenses/*", |
1356 | 1400 | ], |
1357 | | - "bin/<exe:graalpy>": "dependency:graalpy_thin_launcher", |
1358 | | - "bin/<exe:python>": "dependency:graalpy_thin_launcher", |
1359 | | - "bin/<exe:python3>": "dependency:graalpy_thin_launcher", |
1360 | | - "bin/<exe:graalpy-config>": "dependency:graalpy_thin_launcher", |
1361 | | - "libexec/<exe:graalpy-polyglot-get>": "dependency:graalpy_thin_launcher", |
| 1401 | + "bin/<exe:graalpy>": "dependency:graalpy_thin_launcher/<os>-<arch>/<multitarget_libc_selection>/graalpy_thin_launcher", |
| 1402 | + "bin/<exe:python>": "dependency:graalpy_thin_launcher/<os>-<arch>/<multitarget_libc_selection>/graalpy_thin_launcher", |
| 1403 | + "bin/<exe:python3>": "dependency:graalpy_thin_launcher/<os>-<arch>/<multitarget_libc_selection>/graalpy_thin_launcher", |
| 1404 | + "bin/<exe:graalpy-config>": "dependency:graalpy_thin_launcher/<os>-<arch>/<multitarget_libc_selection>/graalpy_thin_launcher", |
| 1405 | + "libexec/<exe:graalpy-polyglot-get>": "dependency:graalpy_thin_launcher/<os>-<arch>/<multitarget_libc_selection>/graalpy_thin_launcher", |
1362 | 1406 | "release": "dependency:sdk:STANDALONE_JAVA_HOME/release", |
1363 | 1407 | }, |
1364 | 1408 | }, |
|
0 commit comments