Mercurial > hg > CbC > CbC_gcc
comparison gcc/ada/Makefile.rtl @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
15 | 15 |
16 #You should have received a copy of the GNU General Public License | 16 #You should have received a copy of the GNU General Public License |
17 #along with GCC; see the file COPYING3. If not see | 17 #along with GCC; see the file COPYING3. If not see |
18 #<http://www.gnu.org/licenses/>. | 18 #<http://www.gnu.org/licenses/>. |
19 | 19 |
20 # This makefile fragment is included in the ada Makefile (both Unix | 20 # This makefile fragment is included in the ada Makefile. |
21 # and Windows). | 21 |
22 | 22 # Its purpose is to allow the separate maintenance of the list of |
23 # Its purpose is to allow the separate maintainence of the list of | 23 # GNATRTL objects and target pairs, which frequently changes. |
24 # GNATRTL objects, which frequently changes. | 24 |
25 ifndef ADAC | |
26 ADAC=$(CC) | |
27 endif | |
25 | 28 |
26 # Objects needed only for tasking | 29 # Objects needed only for tasking |
27 GNATRTL_TASKING_OBJS= \ | 30 GNATRTL_TASKING_OBJS= \ |
28 a-dispat$(objext) \ | 31 a-dispat$(objext) \ |
29 a-dynpri$(objext) \ | 32 a-dynpri$(objext) \ |
422 g-hesora$(objext) \ | 425 g-hesora$(objext) \ |
423 g-hesorg$(objext) \ | 426 g-hesorg$(objext) \ |
424 g-htable$(objext) \ | 427 g-htable$(objext) \ |
425 g-io$(objext) \ | 428 g-io$(objext) \ |
426 g-io_aux$(objext) \ | 429 g-io_aux$(objext) \ |
430 g-lists$(objext) \ | |
427 g-locfil$(objext) \ | 431 g-locfil$(objext) \ |
428 g-mbdira$(objext) \ | 432 g-mbdira$(objext) \ |
429 g-mbflra$(objext) \ | 433 g-mbflra$(objext) \ |
430 g-md5$(objext) \ | 434 g-md5$(objext) \ |
431 g-memdum$(objext) \ | 435 g-memdum$(objext) \ |
439 g-sechas$(objext) \ | 443 g-sechas$(objext) \ |
440 g-sehamd$(objext) \ | 444 g-sehamd$(objext) \ |
441 g-sehash$(objext) \ | 445 g-sehash$(objext) \ |
442 g-sercom$(objext) \ | 446 g-sercom$(objext) \ |
443 g-sestin$(objext) \ | 447 g-sestin$(objext) \ |
448 g-sets$(objext) \ | |
444 g-sha1$(objext) \ | 449 g-sha1$(objext) \ |
445 g-sha224$(objext) \ | 450 g-sha224$(objext) \ |
446 g-sha256$(objext) \ | 451 g-sha256$(objext) \ |
447 g-sha384$(objext) \ | 452 g-sha384$(objext) \ |
448 g-sha512$(objext) \ | 453 g-sha512$(objext) \ |
517 s-conca7$(objext) \ | 522 s-conca7$(objext) \ |
518 s-conca8$(objext) \ | 523 s-conca8$(objext) \ |
519 s-conca9$(objext) \ | 524 s-conca9$(objext) \ |
520 s-crc32$(objext) \ | 525 s-crc32$(objext) \ |
521 s-crtl$(objext) \ | 526 s-crtl$(objext) \ |
527 s-dfmkio$(objext) \ | |
528 s-dfmopr$(objext) \ | |
529 s-dgmgop$(objext) \ | |
530 s-dlmopr$(objext) \ | |
522 s-diflio$(objext) \ | 531 s-diflio$(objext) \ |
532 s-diflmk$(objext) \ | |
533 s-digemk$(objext) \ | |
523 s-diinio$(objext) \ | 534 s-diinio$(objext) \ |
535 s-dilomk$(objext) \ | |
524 s-dim$(objext) \ | 536 s-dim$(objext) \ |
525 s-dimkio$(objext) \ | 537 s-dimkio$(objext) \ |
526 s-dimmks$(objext) \ | 538 s-dimmks$(objext) \ |
527 s-direio$(objext) \ | 539 s-direio$(objext) \ |
540 s-dlmkio$(objext) \ | |
528 s-dmotpr$(objext) \ | 541 s-dmotpr$(objext) \ |
529 s-dsaser$(objext) \ | 542 s-dsaser$(objext) \ |
530 s-elaall$(objext) \ | 543 s-elaall$(objext) \ |
531 s-excdeb$(objext) \ | 544 s-excdeb$(objext) \ |
532 s-except$(objext) \ | 545 s-except$(objext) \ |
711 unchconv$(objext) \ | 724 unchconv$(objext) \ |
712 unchdeal$(objext) \ | 725 unchdeal$(objext) \ |
713 $(GNATRTL_ALTIVEC_OBJS) \ | 726 $(GNATRTL_ALTIVEC_OBJS) \ |
714 $(GNATRTL_SOCKETS_OBJS) \ | 727 $(GNATRTL_SOCKETS_OBJS) \ |
715 $(EXTRA_GNATRTL_NONTASKING_OBJS) | 728 $(EXTRA_GNATRTL_NONTASKING_OBJS) |
729 | |
730 # LIBGNAT_TARGET_PAIRS is a list of pairs of filenames. | |
731 # The members of each pair must be separated by a '<' and no whitespace. | |
732 # Each pair must be separated by some amount of whitespace from the following | |
733 # pair. | |
734 | |
735 # Non-tasking case: | |
736 | |
737 LIBGNAT_TARGET_PAIRS = \ | |
738 a-intnam.ads<libgnarl/a-intnam__dummy.ads \ | |
739 s-inmaop.adb<libgnarl/s-inmaop__dummy.adb \ | |
740 s-intman.adb<libgnarl/s-intman__dummy.adb \ | |
741 s-osinte.ads<libgnarl/s-osinte__dummy.ads \ | |
742 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
743 s-taprop.adb<libgnarl/s-taprop__dummy.adb \ | |
744 s-taspri.ads<libgnarl/s-taspri__dummy.ads | |
745 | |
746 # When using the GCC exception handling mechanism, we need to use an | |
747 # alternate body for a-exexpr.adb (a-exexpr-gcc.adb) | |
748 | |
749 EH_MECHANISM= | |
750 | |
751 # Compilation options for the GCC-SJLJ RTS. This may be augmented for | |
752 # target specific contexts, e.g. to add -fno-omit-frame-pointer for backtrace | |
753 # computations. | |
754 GNATLIBCFLAGS_FOR_GCCSJLJ=-fsjlj | |
755 | |
756 # Default shared object option. Note that we rely on the fact that the "soname" | |
757 # option will always be present and last in this flag, so that we can have | |
758 # $(SO_OPTS)libgnat-x.xx | |
759 | |
760 SO_OPTS = -Wl,-soname, | |
761 | |
762 # Default gnatlib-shared target. | |
763 # By default, equivalent to gnatlib. | |
764 # Set to gnatlib-shared-default, gnatlib-shared-dual, or a platform specific | |
765 # target when supported. | |
766 GNATLIB_SHARED = gnatlib | |
767 | |
768 # By default, build socket support units. On platforms that do not support | |
769 # sockets, reset this variable to empty and add DUMMY_SOCKETS_TARGET_PAIRS | |
770 # to LIBGNAT_TARGET_PAIRS. | |
771 | |
772 GNATRTL_SOCKETS_OBJS = g-soccon$(objext) g-socket$(objext) g-socthi$(objext) \ | |
773 g-soliop$(objext) g-sothco$(objext) | |
774 | |
775 DUMMY_SOCKETS_TARGET_PAIRS = \ | |
776 g-socket.adb<libgnat/g-socket__dummy.adb \ | |
777 g-socket.ads<libgnat/g-socket__dummy.ads \ | |
778 g-socthi.adb<libgnat/g-socthi__dummy.adb \ | |
779 g-socthi.ads<libgnat/g-socthi__dummy.ads \ | |
780 g-sothco.adb<libgnat/g-sothco__dummy.adb \ | |
781 g-sothco.ads<libgnat/g-sothco__dummy.ads | |
782 | |
783 # On platforms where atomic increment/decrement operations are supported, | |
784 # special version of Ada.Strings.Unbounded package can be used. | |
785 | |
786 ATOMICS_TARGET_PAIRS = \ | |
787 a-coinho.adb<libgnat/a-coinho__shared.adb \ | |
788 a-coinho.ads<libgnat/a-coinho__shared.ads \ | |
789 a-stunau.adb<libgnat/a-stunau__shared.adb \ | |
790 a-suteio.adb<libgnat/a-suteio__shared.adb \ | |
791 a-strunb.ads<libgnat/a-strunb__shared.ads \ | |
792 a-strunb.adb<libgnat/a-strunb__shared.adb \ | |
793 a-stwiun.adb<libgnat/a-stwiun__shared.adb \ | |
794 a-stwiun.ads<libgnat/a-stwiun__shared.ads \ | |
795 a-swunau.adb<libgnat/a-swunau__shared.adb \ | |
796 a-swuwti.adb<libgnat/a-swuwti__shared.adb \ | |
797 a-stzunb.adb<libgnat/a-stzunb__shared.adb \ | |
798 a-stzunb.ads<libgnat/a-stzunb__shared.ads \ | |
799 a-szunau.adb<libgnat/a-szunau__shared.adb \ | |
800 a-szuzti.adb<libgnat/a-szuzti__shared.adb | |
801 | |
802 ATOMICS_BUILTINS_TARGET_PAIRS = \ | |
803 s-atocou.adb<libgnat/s-atocou__builtin.adb | |
804 | |
805 # Special version of units for x86 and x86-64 platforms. | |
806 | |
807 X86_TARGET_PAIRS = \ | |
808 a-numaux.ads<libgnat/a-numaux__x86.ads \ | |
809 a-numaux.adb<libgnat/a-numaux__x86.adb \ | |
810 s-atocou.adb<libgnat/s-atocou__x86.adb | |
811 | |
812 X86_64_TARGET_PAIRS = \ | |
813 a-numaux.ads<libgnat/a-numaux__x86.ads \ | |
814 a-numaux.adb<libgnat/a-numaux__x86.adb \ | |
815 s-atocou.adb<libgnat/s-atocou__builtin.adb | |
816 | |
817 # Implementation of symbolic traceback based on dwarf | |
818 TRASYM_DWARF_UNIX_PAIRS = \ | |
819 s-trasym.adb<libgnat/s-trasym__dwarf.adb \ | |
820 s-mmosin.ads<libgnat/s-mmosin__unix.ads \ | |
821 s-mmosin.adb<libgnat/s-mmosin__unix.adb \ | |
822 s-mmauni.ads<libgnat/s-mmauni__long.ads | |
823 | |
824 TRASYM_DWARF_MINGW_PAIRS = \ | |
825 s-trasym.adb<libgnat/s-trasym__dwarf.adb \ | |
826 s-mmosin.ads<libgnat/s-mmosin__mingw.ads \ | |
827 s-mmosin.adb<libgnat/s-mmosin__mingw.adb | |
828 | |
829 TRASYM_DWARF_COMMON_OBJS = s-objrea$(objext) s-dwalin$(objext) s-mmap$(objext) \ | |
830 s-mmosin$(objext) | |
831 | |
832 TRASYM_DWARF_UNIX_OBJS = $(TRASYM_DWARF_COMMON_OBJS) s-mmauni$(objext) | |
833 | |
834 TRASYM_DWARF_MINGW_OBJS = $(TRASYM_DWARF_COMMON_OBJS) | |
835 | |
836 # Shared library version | |
837 LIB_VERSION = $(strip $(shell grep ' Library_Version :' $(GNAT_SRC)/gnatvsn.ads | sed -e 's/.*"\(.*\)".*/\1/')) | |
838 | |
839 # Additional object files from C source to be added to libgnat. | |
840 EXTRA_LIBGNAT_OBJS= | |
841 | |
842 # Additional C source files to be added to libgnat without corresponding | |
843 # object file (#included files). This should include at least the GNAT | |
844 # specific header files required to rebuild the runtime library from sources. | |
845 EXTRA_LIBGNAT_SRCS= | |
846 | |
847 # Additional object files from Ada sources to be added in libgnat | |
848 EXTRA_GNATRTL_NONTASKING_OBJS= | |
849 | |
850 # Additional object files from Ada sources to be added in libgnarl | |
851 EXTRA_GNATRTL_TASKING_OBJS= | |
852 | |
853 # Subsets of extra libgnat sources that always go together | |
854 VX_SIGTRAMP_EXTRA_SRCS=sigtramp.h sigtramp-vxworks-target.inc | |
855 | |
856 # Additional object files that should go in the same directory as libgnat, | |
857 # aside the library itself. Typically useful for crtbegin/crtend kind of files. | |
858 EXTRA_ADALIB_OBJS= | |
859 | |
860 # crt files for VxWorks exception tables registration, referenced by | |
861 # spec files in the runtime library. | |
862 VX_CRTBE_EXTRA_ADALIB_OBJS=vx_crtbegin.o vx_crtbegin_array.o vx_crtend.o | |
863 | |
864 # Contructor attributes (with priorities) are only supported on VxWorks 7 | |
865 # or for RTPs. | |
866 ifneq ($(strip $(filter vxworks7% rtp%,$(target_os) $(THREAD_KIND))),) | |
867 VX_CRTBE_EXTRA_ADALIB_OBJS+=vx_crtbegin_attr.o | |
868 endif | |
869 | |
870 # GCC spec files to be installed in $(libsubdir), so --specs=<spec-filename> | |
871 # finds them at runtime. | |
872 GCC_SPEC_FILES= | |
873 | |
874 # $(filter-out PATTERN...,TEXT) removes all PATTERN words from TEXT. | |
875 # $(strip STRING) removes leading and trailing spaces from STRING. | |
876 # If what's left is null then it's a match. | |
877 | |
878 # PowerPC and e500v2 VxWorks | |
879 ifeq ($(strip $(filter-out powerpc% wrs vxworks vxworksspe vxworks7 vxworks7spe,$(target_cpu) $(target_vendor) $(target_os))),) | |
880 | |
881 ifeq ($(strip $(filter-out e500%, $(target_alias))),) | |
882 ARCH_STR=e500 | |
883 # gcc config translates the target e500v2-wrs-vxworks to | |
884 # powerpc-wrs-vxworksspe. Let's keep the original alias here when | |
885 # generating s-oscons.ads. | |
886 target=$(target_alias) | |
887 else | |
888 ifeq ($(strip $(filter-out powerpc64, $(target_cpu))),) | |
889 ARCH_STR=ppc64 | |
890 else | |
891 ARCH_STR=ppc | |
892 endif | |
893 endif | |
894 | |
895 VX=$(strip $(if $(filter vxworks7%, $(target_os)), vxworks7, vxworks)) | |
896 SVX=system-$(VX) | |
897 GCC_SPEC_FILES+=$(VX)-gnat-crtbe-link.spec | |
898 | |
899 LIBGNAT_TARGET_PAIRS = \ | |
900 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ | |
901 a-numaux.ads<libgnat/a-numaux__vxworks.ads \ | |
902 s-inmaop.adb<libgnarl/s-inmaop__vxworks.adb \ | |
903 s-intman.ads<libgnarl/s-intman__vxworks.ads \ | |
904 s-intman.adb<libgnarl/s-intman__vxworks.adb \ | |
905 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ | |
906 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ | |
907 s-osprim.adb<libgnat/s-osprim__vxworks.adb \ | |
908 s-parame.ads<libgnat/s-parame__vxworks.ads \ | |
909 s-parame.adb<libgnat/s-parame__vxworks.adb \ | |
910 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ | |
911 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ | |
912 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ | |
913 s-vxwork.ads<libgnarl/s-vxwork__ppc.ads \ | |
914 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ | |
915 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ | |
916 g-stsifd.adb<libgnat/g-stsifd__sockets.adb \ | |
917 $(ATOMICS_TARGET_PAIRS) \ | |
918 $(ATOMICS_BUILTINS_TARGET_PAIRS) | |
919 | |
920 # VxWorks 5 and 6 both use the same target triplet making them | |
921 # indistinguishable in the context of this make file. Package | |
922 # System.Stack_Checking.Operations is not needed on VxWorks 6 as it leads to | |
923 # an undefined symbol when building a dynamic shared library. To alleviate | |
924 # this problem and distinguish this case, we use the THREAD_KIND and include | |
925 # the package only in default mode. | |
926 | |
927 ifeq ($(strip $(filter-out default,$(THREAD_KIND))),) | |
928 LIBGNAT_TARGET_PAIRS += \ | |
929 s-stchop.ads<libgnat/s-stchop__limit.ads \ | |
930 s-stchop.adb<libgnat/s-stchop__vxworks.adb | |
931 EXTRA_GNATRTL_NONTASKING_OBJS+=s-stchop.o | |
932 endif | |
933 | |
934 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
935 | |
936 ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) | |
937 LIBGNAT_TARGET_PAIRS += \ | |
938 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ | |
939 s-vxwext.adb<libgnarl/s-vxwext__rtp.adb \ | |
940 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-rtp.adb \ | |
941 system.ads<libgnat/$(SVX)-$(ARCH_STR)-rtp.ads | |
942 | |
943 EH_MECHANISM=-gcc | |
944 else | |
945 ifeq ($(strip $(filter-out rtp-smp,$(THREAD_KIND))),) | |
946 LIBGNAT_TARGET_PAIRS += \ | |
947 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
948 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ | |
949 s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ | |
950 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
951 system.ads<libgnat/$(SVX)-$(ARCH_STR)-rtp-smp.ads | |
952 | |
953 EH_MECHANISM=-gcc | |
954 EXTRA_LIBGNAT_OBJS+=affinity.o | |
955 else | |
956 ifeq ($(strip $(filter-out kernel-smp,$(THREAD_KIND))),) | |
957 LIBGNAT_TARGET_PAIRS += \ | |
958 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
959 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
960 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
961 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
962 s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ | |
963 system.ads<libgnat/$(SVX)-$(ARCH_STR)-kernel.ads | |
964 | |
965 EH_MECHANISM=-gcc | |
966 EXTRA_LIBGNAT_OBJS+=affinity.o | |
967 else | |
968 LIBGNAT_TARGET_PAIRS += \ | |
969 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
970 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb | |
971 | |
972 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) | |
973 EH_MECHANISM=-gcc | |
974 LIBGNAT_TARGET_PAIRS += \ | |
975 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
976 s-vxwext.adb<libgnarl/s-vxwext__kernel.adb \ | |
977 system.ads<libgnat/$(SVX)-$(ARCH_STR)-kernel.ads | |
978 else | |
979 LIBGNAT_TARGET_PAIRS += \ | |
980 system.ads<libgnat/system-vxworks-ppc.ads | |
981 endif | |
982 endif | |
983 EXTRA_GNATRTL_NONTASKING_OBJS+=i-vxinco.o i-vxwork.o i-vxwoio.o | |
984 endif | |
985 endif | |
986 | |
987 EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o | |
988 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) | |
989 | |
990 EXTRA_GNATRTL_TASKING_OBJS += s-vxwork.o s-vxwext.o | |
991 | |
992 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o | |
993 | |
994 EXTRA_ADALIB_OBJS+=$(VX_CRTBE_EXTRA_ADALIB_OBJS) | |
995 EXTRA_LIBGNAT_SRCS+=vx_crtbegin.inc | |
996 | |
997 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) | |
998 ifeq ($(strip $(filter-out powerpc64, $(target_cpu))),) | |
999 GCC_SPEC_FILES+=vxworks7-ppc64-rtp-base-link.spec | |
1000 else | |
1001 GCC_SPEC_FILES+=vxworks7-rtp-base-link.spec | |
1002 endif | |
1003 else | |
1004 GCC_SPEC_FILES+=vxworks-$(ARCH_STR)-link.spec | |
1005 GCC_SPEC_FILES+=vxworks-cert-$(ARCH_STR)-link.spec | |
1006 GCC_SPEC_FILES+=vxworks-smp-$(ARCH_STR)-link.spec | |
1007 endif | |
1008 endif | |
1009 | |
1010 # PowerPC and e500v2 VxWorks 653 | |
1011 ifeq ($(strip $(filter-out powerpc% wrs vxworksae vxworksaespe,$(target_cpu) $(target_vendor) $(target_os))),) | |
1012 | |
1013 ifeq ($(strip $(filter-out e500%, $(target_alias))),) | |
1014 ARCH_STR=e500 | |
1015 # gcc config translates the target e500v2-wrs-vxworks to | |
1016 # powerpc-wrs-vxworksspe. Let's keep the original alias here when | |
1017 # generating s-oscons.ads. | |
1018 target=$(target_alias) | |
1019 else | |
1020 ARCH_STR=ppc | |
1021 endif | |
1022 | |
1023 # target pairs for vthreads runtime | |
1024 LIBGNAT_TARGET_PAIRS = \ | |
1025 a-elchha.adb<libgnat/a-elchha__vxworks-ppc-full.adb \ | |
1026 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ | |
1027 a-numaux.ads<libgnat/a-numaux__vxworks.ads \ | |
1028 g-io.adb<hie/g-io__vxworks-ppc-cert.adb \ | |
1029 s-inmaop.adb<libgnarl/s-inmaop__vxworks.adb \ | |
1030 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
1031 s-intman.ads<libgnarl/s-intman__vxworks.ads \ | |
1032 s-intman.adb<libgnarl/s-intman__vxworks.adb \ | |
1033 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ | |
1034 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ | |
1035 s-osprim.adb<libgnat/s-osprim__vxworks.adb \ | |
1036 s-parame.ads<libgnat/s-parame__ae653.ads \ | |
1037 s-parame.adb<libgnat/s-parame__vxworks.adb \ | |
1038 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ | |
1039 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ | |
1040 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ | |
1041 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb \ | |
1042 s-vxwext.adb<libgnarl/s-vxwext__noints.adb \ | |
1043 s-vxwext.ads<libgnarl/s-vxwext__vthreads.ads \ | |
1044 s-vxwork.ads<libgnarl/s-vxwork__ppc.ads \ | |
1045 system.ads<libgnat/system-vxworks-$(ARCH_STR)-vthread.ads \ | |
1046 $(ATOMICS_TARGET_PAIRS) \ | |
1047 $(ATOMICS_BUILTINS_TARGET_PAIRS) | |
1048 | |
1049 EH_MECHANISM=-gcc | |
1050 | |
1051 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
1052 | |
1053 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o | |
1054 EXTRA_GNATRTL_TASKING_OBJS=i-vxinco.o s-vxwork.o s-vxwext.o | |
1055 | |
1056 EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o | |
1057 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) | |
1058 | |
1059 # Extra pairs for the vthreads runtime | |
1060 ifeq ($(strip $(filter-out vthreads,$(THREAD_KIND))),) | |
1061 LIBGNAT_TARGET_PAIRS += \ | |
1062 s-thread.adb<libgnat/s-thread__ae653.adb \ | |
1063 s-osvers.ads<libgnat/s-osvers__vxworks-653.ads \ | |
1064 $(DUMMY_SOCKETS_TARGET_PAIRS) | |
1065 | |
1066 GNATRTL_SOCKETS_OBJS = | |
1067 EXTRA_GNATRTL_NONTASKING_OBJS += s-thread.o s-osvers.o | |
1068 else | |
1069 LIBGNAT_TARGET_PAIRS += \ | |
1070 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ | |
1071 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ | |
1072 g-stsifd.adb<libgnat/g-stsifd__sockets.adb | |
1073 endif | |
1074 | |
1075 endif | |
1076 | |
1077 # VxWorksae / VxWorks 653 for x86 (vxsim) - ?? VxWorks mils not implemented | |
1078 ifeq ($(strip $(filter-out %86 wrs vxworksae,$(target_cpu) $(target_vendor) $(target_os))),) | |
1079 # target pairs for kernel + vthreads runtime | |
1080 LIBGNAT_TARGET_PAIRS = \ | |
1081 a-elchha.adb<libgnat/a-elchha__vxworks-ppc-full.adb \ | |
1082 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ | |
1083 a-numaux.ads<libgnat/a-numaux__vxworks.ads \ | |
1084 g-io.adb<hie/g-io__vxworks-ppc-cert.adb \ | |
1085 s-inmaop.adb<libgnarl/s-inmaop__vxworks.adb \ | |
1086 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
1087 s-intman.ads<libgnarl/s-intman__vxworks.ads \ | |
1088 s-intman.adb<libgnarl/s-intman__vxworks.adb \ | |
1089 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ | |
1090 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ | |
1091 s-osprim.adb<libgnat/s-osprim__vxworks.adb \ | |
1092 s-parame.ads<libgnat/s-parame__ae653.ads \ | |
1093 s-parame.adb<libgnat/s-parame__vxworks.adb \ | |
1094 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ | |
1095 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ | |
1096 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ | |
1097 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb \ | |
1098 s-vxwext.adb<libgnarl/s-vxwext__noints.adb \ | |
1099 s-vxwext.ads<libgnarl/s-vxwext__vthreads.ads \ | |
1100 s-vxwork.ads<libgnarl/s-vxwork__x86.ads \ | |
1101 system.ads<libgnat/system-vxworks-x86-vthread.ads \ | |
1102 $(ATOMICS_TARGET_PAIRS) \ | |
1103 $(ATOMICS_BUILTINS_TARGET_PAIRS) | |
1104 | |
1105 EH_MECHANISM=-gcc | |
1106 | |
1107 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
1108 | |
1109 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o s-thread.o | |
1110 EXTRA_GNATRTL_TASKING_OBJS=i-vxinco.o s-vxwork.o s-vxwext.o | |
1111 | |
1112 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o | |
1113 GNATRTL_SOCKETS_OBJS = | |
1114 | |
1115 # Extra pairs for the vthreads runtime | |
1116 ifeq ($(strip $(filter-out vthreads,$(THREAD_KIND))),) | |
1117 LIBGNAT_TARGET_PAIRS += \ | |
1118 s-thread.adb<libgnat/s-thread__ae653.adb \ | |
1119 s-osvers.ads<libgnat/s-osvers__vxworks-653.ads \ | |
1120 $(DUMMY_SOCKETS_TARGET_PAIRS) | |
1121 | |
1122 GNATRTL_SOCKETS_OBJS = | |
1123 EXTRA_GNATRTL_NONTASKING_OBJS += s-thread.o s-osvers.o | |
1124 else | |
1125 LIBGNAT_TARGET_PAIRS += \ | |
1126 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ | |
1127 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ | |
1128 g-stsifd.adb<libgnat/g-stsifd__sockets.adb | |
1129 endif | |
1130 | |
1131 endif | |
1132 | |
1133 # x86/x86_64 VxWorks | |
1134 ifeq ($(strip $(filter-out %86 x86_64 wrs vxworks vxworks7,$(target_cpu) $(target_vendor) $(target_os))),) | |
1135 | |
1136 EH_MECHANISM=-gcc | |
1137 | |
1138 VX=$(strip $(if $(filter vxworks7%, $(target_os)), vxworks7, vxworks)) | |
1139 SVX=system-$(VX) | |
1140 GCC_SPEC_FILES+=$(VX)-gnat-crtbe-link.spec | |
1141 | |
1142 ifeq ($(strip $(filter-out x86_64, $(target_cpu))),) | |
1143 X86CPU=x86_64 | |
1144 LIBGNAT_TARGET_PAIRS=$(X86_64_TARGET_PAIRS) | |
1145 else | |
1146 X86CPU=x86 | |
1147 LIBGNAT_TARGET_PAIRS=$(X86_TARGET_PAIRS) | |
1148 endif | |
1149 | |
1150 LIBGNAT_TARGET_PAIRS+= \ | |
1151 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ | |
1152 i-vxwork.ads<libgnat/i-vxwork__x86.ads \ | |
1153 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ | |
1154 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ | |
1155 s-inmaop.adb<libgnarl/s-inmaop__vxworks.adb \ | |
1156 s-intman.ads<libgnarl/s-intman__vxworks.ads \ | |
1157 s-intman.adb<libgnarl/s-intman__vxworks.adb \ | |
1158 s-osprim.adb<libgnat/s-osprim__vxworks.adb \ | |
1159 s-parame.ads<libgnat/s-parame__vxworks.ads \ | |
1160 s-parame.adb<libgnat/s-parame__vxworks.adb \ | |
1161 s-stchop.ads<libgnat/s-stchop__limit.ads \ | |
1162 s-stchop.adb<libgnat/s-stchop__vxworks.adb \ | |
1163 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ | |
1164 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ | |
1165 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ | |
1166 s-vxwork.ads<libgnarl/s-vxwork__x86.ads \ | |
1167 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ | |
1168 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ | |
1169 g-stsifd.adb<libgnat/g-stsifd__sockets.adb \ | |
1170 $(ATOMICS_TARGET_PAIRS) | |
1171 | |
1172 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
1173 | |
1174 # The CPU setting for VxSim varies with the | |
1175 # host (Windows or Linux) | |
1176 # target (VxWorks6 or VxWorks7) | |
1177 # runtime (rtp or kernel) | |
1178 # ------------------------------------------------------------- | |
1179 # vx6 vx7 | |
1180 # Windows (host_os = mingw32) | |
1181 # kernel SIMNT SIMNT | |
1182 # rtp SIMPENTIUM SIMNT | |
1183 # Linux (host_os = linux-gnu) | |
1184 # kernel SIMLINUX SIMLINUX | |
1185 # rtp SIMPENTIUM SIMLINUX | |
1186 # ------------------------------------------------------------- | |
1187 # It is overridden by VXSIM_CPU only in files init-vxsim.c and | |
1188 # sigtramp-vxworks-vxsim.c which contain functions determined at | |
1189 # runtime to be called if a program is running on VxSim vs real hardware | |
1190 # (due to differences in signal context for unwinding). | |
1191 | |
1192 ifneq ($(strip $(filter-out vxworks7, $(target_os))),) | |
1193 ifeq ($(strip $(filter-out vxworks rtp rtp-smp,$(target_os) $(THREAD_KIND))),) | |
1194 VXSIM_CPU = SIMPENTIUM | |
1195 else | |
1196 ifeq ($(strip $(filter-out kernel kernel-smp rtp rtp-smp,$(THREAD_KIND))),) | |
1197 ifeq ($(strip $(filter-out linux%,$(host_os))),) | |
1198 # Linux | |
1199 VXSIM_CPU = SIMLINUX | |
1200 else | |
1201 # Windows | |
1202 VXSIM_CPU = SIMNT | |
1203 endif | |
1204 endif | |
1205 endif | |
1206 | |
1207 GNATLIBCFLAGS_FOR_C := $(GNATLIBCFLAGS_FOR_C) -D__VXSIM_CPU__=$(VXSIM_CPU) | |
1208 endif | |
1209 | |
1210 ifeq ($(strip $(filter-out rtp,$(THREAD_KIND))),) | |
1211 LIBGNAT_TARGET_PAIRS += \ | |
1212 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ | |
1213 s-vxwext.adb<libgnarl/s-vxwext__rtp.adb \ | |
1214 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-rtp.adb \ | |
1215 system.ads<libgnat/$(SVX)-x86-rtp.ads | |
1216 else | |
1217 ifeq ($(strip $(filter-out rtp-smp, $(THREAD_KIND))),) | |
1218 LIBGNAT_TARGET_PAIRS += \ | |
1219 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1220 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ | |
1221 s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ | |
1222 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
1223 system.ads<libgnat/$(SVX)-$(X86CPU)-rtp-smp.ads | |
1224 | |
1225 EXTRA_LIBGNAT_OBJS+=affinity.o | |
1226 else | |
1227 ifeq ($(strip $(filter-out kernel-smp, $(THREAD_KIND))),) | |
1228 LIBGNAT_TARGET_PAIRS += \ | |
1229 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
1230 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1231 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
1232 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
1233 s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ | |
1234 system.ads<libgnat/$(SVX)-$(X86CPU)-kernel.ads | |
1235 | |
1236 EXTRA_LIBGNAT_OBJS+=affinity.o | |
1237 else | |
1238 LIBGNAT_TARGET_PAIRS += \ | |
1239 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
1240 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb | |
1241 | |
1242 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) | |
1243 LIBGNAT_TARGET_PAIRS += \ | |
1244 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
1245 s-vxwext.adb<libgnarl/s-vxwext__kernel.adb \ | |
1246 system.ads<libgnat/$(SVX)-x86-kernel.ads | |
1247 else | |
1248 LIBGNAT_TARGET_PAIRS += \ | |
1249 system.ads<libgnat/system-vxworks-x86.ads | |
1250 endif | |
1251 endif | |
1252 | |
1253 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o | |
1254 endif | |
1255 endif | |
1256 | |
1257 EXTRA_GNATRTL_NONTASKING_OBJS += s-stchop.o | |
1258 EXTRA_GNATRTL_TASKING_OBJS += i-vxinco.o s-vxwork.o s-vxwext.o | |
1259 | |
1260 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o | |
1261 | |
1262 EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o | |
1263 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) | |
1264 | |
1265 EXTRA_ADALIB_OBJS+=$(VX_CRTBE_EXTRA_ADALIB_OBJS) | |
1266 EXTRA_LIBGNAT_SRCS+=vx_crtbegin.inc | |
1267 | |
1268 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) | |
1269 GCC_SPEC_FILES+=vxworks7-$(X86CPU)-rtp-base-link.spec | |
1270 else | |
1271 GCC_SPEC_FILES+=vxworks-x86-link.spec | |
1272 GCC_SPEC_FILES+=vxworks-cert-x86-link.spec | |
1273 GCC_SPEC_FILES+=vxworks-smp-x86-link.spec | |
1274 endif | |
1275 endif | |
1276 | |
1277 # ARM and Aarch64 VxWorks | |
1278 ifeq ($(strip $(filter-out aarch64 arm% coff wrs vx%,$(target_cpu) $(target_vendor) $(target_os))),) | |
1279 | |
1280 ifeq ($(strip $(filter-out aarch64, $(target_cpu))),) | |
1281 ARCH_STR=aarch64 | |
1282 VX=vxworks7 | |
1283 EH_MECHANISM=-gcc | |
1284 SIGTRAMP_OBJ=sigtramp-vxworks.o | |
1285 else | |
1286 ifeq ($(strip $(filter-out arm%, $(target_cpu))),) | |
1287 ARCH_STR=arm | |
1288 ifeq ($(strip $(filter-out vxworks7%, $(target_os))),) | |
1289 VX=vxworks7 | |
1290 EH_MECHANISM=-arm | |
1291 SIGTRAMP_OBJ=sigtramp-armvxworks.o | |
1292 else | |
1293 VX=vxworks | |
1294 EH_MECHANISM=-gcc | |
1295 SIGTRAMP_OBJ=sigtramp-vxworks.o | |
1296 endif | |
1297 else | |
1298 ARCH_STR=coff | |
1299 endif | |
1300 endif | |
1301 | |
1302 SVX=system-$(VX) | |
1303 GCC_SPEC_FILES+=$(VX)-gnat-crtbe-link.spec | |
1304 | |
1305 LIBGNAT_TARGET_PAIRS = \ | |
1306 a-intnam.ads<libgnarl/a-intnam__vxworks.ads \ | |
1307 a-numaux.ads<libgnat/a-numaux__vxworks.ads \ | |
1308 s-inmaop.adb<libgnarl/s-inmaop__vxworks.adb \ | |
1309 s-interr.adb<libgnarl/s-interr__vxworks.adb \ | |
1310 s-intman.ads<libgnarl/s-intman__vxworks.ads \ | |
1311 s-intman.adb<libgnarl/s-intman__vxworks.adb \ | |
1312 s-osinte.adb<libgnarl/s-osinte__vxworks.adb \ | |
1313 s-osinte.ads<libgnarl/s-osinte__vxworks.ads \ | |
1314 s-osprim.adb<libgnat/s-osprim__vxworks.adb \ | |
1315 s-parame.ads<libgnat/s-parame__vxworks.ads \ | |
1316 s-parame.adb<libgnat/s-parame__vxworks.adb \ | |
1317 s-stchop.ads<libgnat/s-stchop__limit.ads \ | |
1318 s-stchop.adb<libgnat/s-stchop__vxworks.adb \ | |
1319 s-taprop.adb<libgnarl/s-taprop__vxworks.adb \ | |
1320 s-tasinf.ads<libgnarl/s-tasinf__vxworks.ads \ | |
1321 s-taspri.ads<libgnarl/s-taspri__vxworks.ads \ | |
1322 s-vxwork.ads<libgnarl/s-vxwork__$(ARCH_STR).ads \ | |
1323 g-socthi.ads<libgnat/g-socthi__vxworks.ads \ | |
1324 g-socthi.adb<libgnat/g-socthi__vxworks.adb \ | |
1325 g-stsifd.adb<libgnat/g-stsifd__sockets.adb | |
1326 | |
1327 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
1328 | |
1329 ifeq ($(strip $(filter-out rtp-smp,$(THREAD_KIND))),) | |
1330 LIBGNAT_TARGET_PAIRS += \ | |
1331 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1332 s-vxwext.ads<libgnarl/s-vxwext__rtp.ads \ | |
1333 s-vxwext.adb<libgnarl/s-vxwext__rtp-smp.adb \ | |
1334 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
1335 system.ads<libgnat/$(SVX)-$(ARCH_STR)-rtp-smp.ads | |
1336 | |
1337 EXTRA_LIBGNAT_OBJS+=affinity.o | |
1338 | |
1339 EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) | |
1340 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) | |
1341 else | |
1342 ifeq ($(strip $(filter-out kernel-smp,$(THREAD_KIND))),) | |
1343 LIBGNAT_TARGET_PAIRS += \ | |
1344 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1345 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks-tls.adb \ | |
1346 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
1347 s-vxwext.adb<libgnarl/s-vxwext__kernel-smp.adb \ | |
1348 system.ads<libgnat/$(SVX)-$(ARCH_STR).ads | |
1349 | |
1350 EXTRA_LIBGNAT_OBJS+=affinity.o | |
1351 | |
1352 EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) | |
1353 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) | |
1354 else | |
1355 LIBGNAT_TARGET_PAIRS += \ | |
1356 s-tpopsp.adb<libgnarl/s-tpopsp__vxworks.adb \ | |
1357 system.ads<libgnat/$(SVX)-$(ARCH_STR).ads | |
1358 | |
1359 ifeq ($(strip $(filter-out kernel,$(THREAD_KIND))),) | |
1360 LIBGNAT_TARGET_PAIRS += \ | |
1361 s-vxwext.ads<libgnarl/s-vxwext__kernel.ads \ | |
1362 s-vxwext.adb<libgnarl/s-vxwext__kernel.adb | |
1363 | |
1364 EXTRA_LIBGNAT_OBJS+=$(SIGTRAMP_OBJ) | |
1365 EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS) | |
1366 endif | |
1367 endif | |
1368 endif | |
1369 | |
1370 EXTRA_GNATRTL_NONTASKING_OBJS=i-vxwork.o i-vxwoio.o \ | |
1371 s-stchop.o | |
1372 EXTRA_GNATRTL_TASKING_OBJS=i-vxinco.o s-vxwork.o s-vxwext.o | |
1373 | |
1374 EXTRA_LIBGNAT_OBJS+=vx_stack_info.o | |
1375 | |
1376 ifeq ($(strip $(filter-out arm vxworks7%, $(target_cpu) $(target_os))),) | |
1377 GCC_SPEC_FILES+=vxworks7-rtp-base-link.spec | |
1378 else | |
1379 ifeq ($(strip $(filter-out aarch64, $(target_cpu))),) | |
1380 GCC_SPEC_FILES+=vxworks7-rtp-base-link.spec | |
1381 endif | |
1382 EXTRA_ADALIB_OBJS+=$(VX_CRTBE_EXTRA_ADALIB_OBJS) | |
1383 EXTRA_LIBGNAT_SRCS+=vx_crtbegin.inc | |
1384 | |
1385 ifneq ($(strip $(filter-out vxworks7%, $(target_os))),) | |
1386 GCC_SPEC_FILES+=vxworks-arm-link.spec | |
1387 GCC_SPEC_FILES+=vxworks-smp-arm-link.spec | |
1388 endif | |
1389 endif | |
1390 endif | |
1391 | |
1392 # ARM android | |
1393 ifeq ($(strip $(filter-out arm% linux-androideabi,$(target_cpu) $(target_os))),) | |
1394 LIBGNAT_TARGET_PAIRS = \ | |
1395 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1396 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1397 s-intman.adb<libgnarl/s-intman__android.adb \ | |
1398 s-linux.ads<libgnarl/s-linux__android.ads \ | |
1399 s-osinte.adb<libgnarl/s-osinte__android.adb \ | |
1400 s-osinte.ads<libgnarl/s-osinte__android.ads \ | |
1401 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1402 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1403 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1404 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1405 $(ATOMICS_TARGET_PAIRS) \ | |
1406 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1407 system.ads<libgnat/system-linux-arm.ads | |
1408 | |
1409 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1410 | |
1411 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
1412 EXTRA_LIBGNAT_OBJS+=sigtramp-armdroid.o | |
1413 EXTRA_LIBGNAT_SRCS+=sigtramp.h | |
1414 EH_MECHANISM=-arm | |
1415 THREADSLIB = | |
1416 GNATLIB_SHARED = gnatlib-shared-dual | |
1417 LIBRARY_VERSION := $(LIB_VERSION) | |
1418 endif | |
1419 | |
1420 # AARCH64 QNX | |
1421 ifeq ($(strip $(filter-out aarch64 %qnx,$(target_cpu) $(target_os))),) | |
1422 LIBGNAT_TARGET_PAIRS = \ | |
1423 a-intnam.ads<libgnarl/a-intnam__qnx.ads \ | |
1424 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1425 s-intman.adb<libgnarl/s-intman__qnx.adb \ | |
1426 s-osinte.adb<libgnarl/s-osinte__qnx.adb \ | |
1427 s-osinte.ads<libgnarl/s-osinte__qnx.ads \ | |
1428 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1429 s-qnx.ads<libgnarl/s-qnx.ads \ | |
1430 s-taprop.adb<libgnarl/s-taprop__qnx.adb \ | |
1431 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1432 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1433 g-soliop.ads<libgnat/g-soliop__qnx.ads \ | |
1434 $(ATOMICS_TARGET_PAIRS) \ | |
1435 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1436 system.ads<libgnat/system-qnx-aarch64.ads | |
1437 | |
1438 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1439 | |
1440 EXTRA_GNATRTL_TASKING_OBJS=s-qnx.o | |
1441 EXTRA_LIBGNAT_OBJS+=sigtramp-qnx.o | |
1442 EXTRA_LIBGNAT_SRCS+=sigtramp.h | |
1443 EH_MECHANISM=-gcc | |
1444 | |
1445 SO_OPTS= -shared-libgcc -Wl,-soname, | |
1446 MISCLIB= -lsocket | |
1447 THREADSLIB= | |
1448 GNATLIB_SHARED = gnatlib-shared-dual | |
1449 LIBRARY_VERSION := $(LIB_VERSION) | |
1450 endif | |
1451 | |
1452 # Sparc Solaris | |
1453 ifeq ($(strip $(filter-out sparc% sun solaris%,$(target_cpu) $(target_vendor) $(target_os))),) | |
1454 LIBGNAT_TARGET_PAIRS = \ | |
1455 a-intnam.ads<libgnarl/a-intnam__solaris.ads \ | |
1456 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1457 s-intman.adb<libgnarl/s-intman__solaris.adb \ | |
1458 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1459 s-osinte.adb<libgnarl/s-osinte__solaris.adb \ | |
1460 s-osinte.ads<libgnarl/s-osinte__solaris.ads \ | |
1461 s-osprim.adb<libgnat/s-osprim__solaris.adb \ | |
1462 s-taprop.adb<libgnarl/s-taprop__solaris.adb \ | |
1463 s-tasinf.adb<libgnarl/s-tasinf__solaris.adb \ | |
1464 s-tasinf.ads<libgnarl/s-tasinf__solaris.ads \ | |
1465 s-taspri.ads<libgnarl/s-taspri__solaris.ads \ | |
1466 s-tpopsp.adb<libgnarl/s-tpopsp__solaris.adb \ | |
1467 g-soliop.ads<libgnat/g-soliop__solaris.ads \ | |
1468 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
1469 $(ATOMICS_TARGET_PAIRS) \ | |
1470 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1471 system.ads<libgnat/system-solaris-sparc.ads | |
1472 | |
1473 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
1474 | |
1475 EH_MECHANISM=-gcc | |
1476 THREADSLIB = -lposix4 -lthread | |
1477 MISCLIB = -lposix4 -lnsl -lsocket | |
1478 SO_OPTS = -Wl,-h, | |
1479 GNATLIB_SHARED = gnatlib-shared-dual | |
1480 GMEM_LIB = gmemlib | |
1481 LIBRARY_VERSION := $(LIB_VERSION) | |
1482 endif | |
1483 | |
1484 # x86 and x86-64 solaris | |
1485 ifeq ($(strip $(filter-out %86 %x86_64 solaris2%,$(target_cpu) $(target_os))),) | |
1486 LIBGNAT_TARGET_PAIRS_COMMON = \ | |
1487 a-intnam.ads<libgnarl/a-intnam__solaris.ads \ | |
1488 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1489 s-intman.adb<libgnarl/s-intman__solaris.adb \ | |
1490 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1491 s-osinte.adb<libgnarl/s-osinte__solaris.adb \ | |
1492 s-osinte.ads<libgnarl/s-osinte__solaris.ads \ | |
1493 s-osprim.adb<libgnat/s-osprim__solaris.adb \ | |
1494 s-taprop.adb<libgnarl/s-taprop__solaris.adb \ | |
1495 s-tasinf.adb<libgnarl/s-tasinf__solaris.adb \ | |
1496 s-tasinf.ads<libgnarl/s-tasinf__solaris.ads \ | |
1497 s-taspri.ads<libgnarl/s-taspri__solaris.ads \ | |
1498 s-tpopsp.adb<libgnarl/s-tpopsp__solaris.adb \ | |
1499 g-soliop.ads<libgnat/g-soliop__solaris.ads \ | |
1500 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
1501 $(ATOMICS_TARGET_PAIRS) \ | |
1502 system.ads<libgnat/system-solaris-x86.ads | |
1503 | |
1504 ifeq ($(strip $(filter-out %86 solaris2%,$(target_cpu) $(target_os))),) | |
1505 ifeq ($(strip $(MULTISUBDIR)),/amd64) | |
1506 LIBGNAT_TARGET_PAIRS = \ | |
1507 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_64_TARGET_PAIRS) | |
1508 else | |
1509 LIBGNAT_TARGET_PAIRS = \ | |
1510 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_TARGET_PAIRS) | |
1511 endif | |
1512 else | |
1513 ifeq ($(strip $(MULTISUBDIR)),/32) | |
1514 LIBGNAT_TARGET_PAIRS = \ | |
1515 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_TARGET_PAIRS) | |
1516 else | |
1517 LIBGNAT_TARGET_PAIRS = \ | |
1518 $(LIBGNAT_TARGET_PAIRS_COMMON) $(X86_64_TARGET_PAIRS) | |
1519 endif | |
1520 endif | |
1521 | |
1522 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
1523 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
1524 | |
1525 EH_MECHANISM=-gcc | |
1526 THREADSLIB = -lposix4 -lthread | |
1527 MISCLIB = -lposix4 -lnsl -lsocket | |
1528 SO_OPTS = -Wl,-h, | |
1529 GNATLIB_SHARED = gnatlib-shared-dual | |
1530 GMEM_LIB = gmemlib | |
1531 LIBRARY_VERSION := $(LIB_VERSION) | |
1532 endif | |
1533 | |
1534 # x86 Linux | |
1535 ifeq ($(strip $(filter-out %86 linux%,$(target_cpu) $(target_os))),) | |
1536 LIBGNAT_TARGET_PAIRS = \ | |
1537 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1538 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
1539 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
1540 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1541 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1542 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
1543 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
1544 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
1545 s-tsmona.adb<libgnat/s-tsmona__linux.adb \ | |
1546 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
1547 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
1548 s-linux.ads<libgnarl/s-linux.ads \ | |
1549 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1550 $(ATOMICS_TARGET_PAIRS) \ | |
1551 system.ads<libgnat/system-linux-x86.ads | |
1552 | |
1553 ifeq ($(strip $(MULTISUBDIR)),/64) | |
1554 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) | |
1555 else | |
1556 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
1557 endif | |
1558 | |
1559 LIBGNAT_TARGET_PAIRS += \ | |
1560 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1561 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1562 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1563 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1564 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1565 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1566 s-taspri.ads<libgnarl/s-taspri__posix.ads | |
1567 | |
1568 EH_MECHANISM=-gcc | |
1569 THREADSLIB = -lpthread -lrt | |
1570 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
1571 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
1572 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
1573 | |
1574 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1575 | |
1576 GNATLIB_SHARED = gnatlib-shared-dual | |
1577 MISCLIB = -ldl | |
1578 GMEM_LIB = gmemlib | |
1579 LIBRARY_VERSION := $(LIB_VERSION) | |
1580 | |
1581 GNATLIBCFLAGS_FOR_GCCSJLJ+=-fno-omit-frame-pointer -momit-leaf-frame-pointer | |
1582 endif | |
1583 | |
1584 # x86 kfreebsd | |
1585 ifeq ($(strip $(filter-out %86 kfreebsd%,$(target_cpu) $(target_os))),) | |
1586 LIBGNAT_TARGET_PAIRS = \ | |
1587 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1588 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1589 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1590 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1591 s-osinte.ads<libgnarl/s-osinte__kfreebsd-gnu.ads \ | |
1592 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1593 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1594 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1595 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1596 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
1597 $(ATOMICS_TARGET_PAIRS) \ | |
1598 $(X86_TARGET_PAIRS) \ | |
1599 system.ads<libgnat/system-freebsd.ads | |
1600 | |
1601 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1602 | |
1603 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
1604 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
1605 | |
1606 EH_MECHANISM=-gcc | |
1607 THREADSLIB = -lpthread | |
1608 GNATLIB_SHARED = gnatlib-shared-dual | |
1609 GMEM_LIB = gmemlib | |
1610 LIBRARY_VERSION := $(LIB_VERSION) | |
1611 MISCLIB = -lutil | |
1612 endif | |
1613 | |
1614 # i[3456]86-pc-gnu i.e. GNU Hurd | |
1615 ifeq ($(strip $(filter-out %86 pc gnu,$(target_cpu) $(target_vendor) $(target_os))),) | |
1616 LIBGNAT_TARGET_PAIRS = \ | |
1617 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1618 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1619 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1620 s-osinte.adb<libgnarl/s-osinte__gnu.adb \ | |
1621 s-osinte.ads<libgnarl/s-osinte__gnu.ads \ | |
1622 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1623 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1624 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1625 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1626 $(ATOMICS_TARGET_PAIRS) \ | |
1627 $(X86_TARGET_PAIRS) \ | |
1628 system.ads<libgnat/system-freebsd.ads | |
1629 | |
1630 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1631 | |
1632 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o | |
1633 | |
1634 EH_MECHANISM=-gcc | |
1635 THREADSLIB = -lpthread | |
1636 GNATLIB_SHARED = gnatlib-shared-dual | |
1637 GMEM_LIB = gmemlib | |
1638 LIBRARY_VERSION := $(LIB_VERSION) | |
1639 endif | |
1640 | |
1641 ifeq ($(strip $(filter-out x86_64 kfreebsd%,$(target_cpu) $(target_os))),) | |
1642 LIBGNAT_TARGET_PAIRS = \ | |
1643 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1644 a-numaux.adb<libgnat/a-numaux__x86.adb \ | |
1645 a-numaux.ads<libgnat/a-numaux__x86.ads \ | |
1646 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1647 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1648 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1649 s-osinte.ads<libgnarl/s-osinte__kfreebsd-gnu.ads \ | |
1650 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1651 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1652 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1653 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1654 system.ads<libgnat/system-freebsd.ads | |
1655 | |
1656 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1657 | |
1658 EH_MECHANISM=-gcc | |
1659 THREADSLIB = -lpthread | |
1660 GNATLIB_SHARED = gnatlib-shared-dual | |
1661 GMEM_LIB = gmemlib | |
1662 LIBRARY_VERSION := $(LIB_VERSION) | |
1663 endif | |
1664 | |
1665 # aarch64 FreeBSD | |
1666 ifeq ($(strip $(filter-out %aarch64 freebsd%,$(target_cpu) $(target_os))),) | |
1667 LIBGNAT_TARGET_PAIRS = \ | |
1668 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1669 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1670 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1671 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1672 s-osinte.adb<libgnarl/s-osinte__freebsd.adb \ | |
1673 s-osinte.ads<libgnarl/s-osinte__freebsd.ads \ | |
1674 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1675 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1676 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1677 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1678 $(ATOMICS_TARGET_PAIRS) \ | |
1679 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1680 system.ads<libgnat/system-freebsd.ads | |
1681 | |
1682 GNATLIB_SHARED = gnatlib-shared-dual | |
1683 | |
1684 EH_MECHANISM=-gcc | |
1685 THREADSLIB= -lpthread | |
1686 GMEM_LIB = gmemlib | |
1687 LIBRARY_VERSION := $(LIB_VERSION) | |
1688 MISCLIB = -lutil | |
1689 endif | |
1690 | |
1691 # x86 FreeBSD | |
1692 ifeq ($(strip $(filter-out %86 freebsd%,$(target_cpu) $(target_os))),) | |
1693 LIBGNAT_TARGET_PAIRS = \ | |
1694 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1695 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1696 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1697 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1698 s-osinte.adb<libgnarl/s-osinte__freebsd.adb \ | |
1699 s-osinte.ads<libgnarl/s-osinte__freebsd.ads \ | |
1700 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1701 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1702 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1703 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1704 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
1705 $(ATOMICS_TARGET_PAIRS) \ | |
1706 $(X86_TARGET_PAIRS) \ | |
1707 system.ads<libgnat/system-freebsd.ads | |
1708 | |
1709 GNATLIB_SHARED = gnatlib-shared-dual | |
1710 | |
1711 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
1712 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
1713 | |
1714 EH_MECHANISM=-gcc | |
1715 THREADSLIB= -lpthread | |
1716 GMEM_LIB = gmemlib | |
1717 LIBRARY_VERSION := $(LIB_VERSION) | |
1718 MISCLIB = -lutil | |
1719 endif | |
1720 | |
1721 # x86-64 FreeBSD | |
1722 ifeq ($(strip $(filter-out %86_64 freebsd%,$(target_cpu) $(target_os))),) | |
1723 LIBGNAT_TARGET_PAIRS = \ | |
1724 a-intnam.ads<libgnarl/a-intnam__freebsd.ads \ | |
1725 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1726 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1727 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1728 s-osinte.adb<libgnarl/s-osinte__freebsd.adb \ | |
1729 s-osinte.ads<libgnarl/s-osinte__freebsd.ads \ | |
1730 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1731 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1732 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1733 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1734 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
1735 $(ATOMICS_TARGET_PAIRS) \ | |
1736 $(X86_64_TARGET_PAIRS) \ | |
1737 system.ads<libgnat/system-freebsd.ads | |
1738 | |
1739 GNATLIB_SHARED = gnatlib-shared-dual | |
1740 | |
1741 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
1742 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
1743 | |
1744 EH_MECHANISM=-gcc | |
1745 THREADSLIB= -lpthread | |
1746 GMEM_LIB = gmemlib | |
1747 LIBRARY_VERSION := $(LIB_VERSION) | |
1748 MISCLIB = -lutil | |
1749 endif | |
1750 | |
1751 # x86-64 DragonFly | |
1752 ifeq ($(strip $(filter-out %86_64 dragonfly%,$(target_cpu) $(target_os))),) | |
1753 LIBGNAT_TARGET_PAIRS = \ | |
1754 a-intnam.ads<libgnarl/a-intnam__dragonfly.ads \ | |
1755 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1756 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1757 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
1758 s-osinte.adb<libgnarl/s-osinte__dragonfly.adb \ | |
1759 s-osinte.ads<libgnarl/s-osinte__dragonfly.ads \ | |
1760 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1761 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1762 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1763 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1764 $(ATOMICS_TARGET_PAIRS) \ | |
1765 $(X86_64_TARGET_PAIRS) \ | |
1766 system.ads<libgnat/system-dragonfly-x86_64.ads | |
1767 | |
1768 GNATLIB_SHARED = gnatlib-shared-dual | |
1769 | |
1770 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o | |
1771 | |
1772 EH_MECHANISM=-gcc | |
1773 THREADSLIB= -lpthread | |
1774 GMEM_LIB = gmemlib | |
1775 LIBRARY_VERSION := $(LIB_VERSION) | |
1776 MISCLIB = -lutil | |
1777 endif | |
1778 | |
1779 # S390 Linux | |
1780 ifeq ($(strip $(filter-out s390% linux%,$(target_cpu) $(target_os))),) | |
1781 LIBGNAT_TARGET_PAIRS = \ | |
1782 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
1783 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1784 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1785 s-linux.ads<libgnarl/s-linux.ads \ | |
1786 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1787 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
1788 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1789 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
1790 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
1791 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
1792 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
1793 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1794 system.ads<libgnat/system-linux-s390.ads | |
1795 | |
1796 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1797 | |
1798 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
1799 EH_MECHANISM=-gcc | |
1800 THREADSLIB = -lpthread | |
1801 GNATLIB_SHARED = gnatlib-shared-dual | |
1802 LIBRARY_VERSION := $(LIB_VERSION) | |
1803 endif | |
1804 | |
1805 # HP/PA HP-UX 10 | |
1806 ifeq ($(strip $(filter-out hppa% hp hpux10%,$(target_cpu) $(target_vendor) $(target_os))),) | |
1807 LIBGNAT_TARGET_PAIRS = \ | |
1808 a-excpol.adb<libgnat/a-excpol__abort.adb \ | |
1809 a-intnam.ads<libgnarl/a-intnam__hpux.ads \ | |
1810 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1811 s-interr.adb<libgnarl/s-interr__sigaction.adb \ | |
1812 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1813 s-osinte.adb<libgnarl/s-osinte__hpux-dce.adb \ | |
1814 s-osinte.ads<libgnarl/s-osinte__hpux-dce.ads \ | |
1815 s-parame.ads<libgnat/s-parame__hpux.ads \ | |
1816 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1817 s-taprop.adb<libgnarl/s-taprop__hpux-dce.adb \ | |
1818 s-taspri.ads<libgnarl/s-taspri__hpux-dce.ads \ | |
1819 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1820 system.ads<libgnat/system-hpux.ads | |
1821 | |
1822 EH_MECHANISM=-gcc | |
1823 endif | |
1824 | |
1825 # HP/PA HP-UX 11 | |
1826 ifeq ($(strip $(filter-out hppa% hp hpux11%,$(target_cpu) $(target_vendor) $(target_os))),) | |
1827 LIBGNAT_TARGET_PAIRS = \ | |
1828 a-intnam.ads<libgnarl/a-intnam__hpux.ads \ | |
1829 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1830 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1831 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
1832 s-osinte.ads<libgnarl/s-osinte__hpux.ads \ | |
1833 s-parame.ads<libgnat/s-parame__hpux.ads \ | |
1834 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1835 s-traceb.adb<libgnat/s-traceb__hpux.adb \ | |
1836 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1837 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1838 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
1839 system.ads<libgnat/system-hpux.ads | |
1840 | |
1841 EH_MECHANISM=-gcc | |
1842 TGT_LIB = /usr/lib/libcl.a | |
1843 THREADSLIB = -lpthread | |
1844 GMEM_LIB = gmemlib | |
1845 soext = .sl | |
1846 SO_OPTS = -Wl,+h, | |
1847 GNATLIB_SHARED = gnatlib-shared-dual | |
1848 LIBRARY_VERSION := $(LIB_VERSION) | |
1849 endif | |
1850 | |
1851 # IBM AIX | |
1852 ifeq ($(strip $(filter-out ibm aix%,$(target_vendor) $(target_os))),) | |
1853 LIBGNAT_TARGET_PAIRS = \ | |
1854 a-intnam.ads<libgnarl/a-intnam__aix.ads \ | |
1855 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1856 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1857 s-osinte.adb<libgnarl/s-osinte__aix.adb \ | |
1858 s-osinte.ads<libgnarl/s-osinte__aix.ads \ | |
1859 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
1860 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1861 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1862 s-tpopsp.adb<libgnarl/s-tpopsp__posix.adb \ | |
1863 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
1864 $(ATOMICS_TARGET_PAIRS) \ | |
1865 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
1866 system.ads<libgnat/system-aix.ads | |
1867 | |
1868 ifneq ($(target_os),) | |
1869 ifeq ($(findstring ppc64, \ | |
1870 $(shell $(GCC_FOR_TARGET) $(GNATLIBCFLAGS) \ | |
1871 -print-multi-os-directory)), \ | |
1872 ppc64) | |
1873 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-aix.adb | |
1874 else | |
1875 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1876 endif | |
1877 endif | |
1878 | |
1879 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
1880 | |
1881 THREADSLIB = -lpthreads | |
1882 EH_MECHANISM=-gcc | |
1883 | |
1884 GMEM_LIB = gmemlib | |
1885 endif | |
1886 | |
1887 # LynxOS 178 and LynxOS 178 Elf | |
1888 ifeq ($(strip $(filter-out lynxos178%,$(target_os))),) | |
1889 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
1890 | |
1891 LIBGNAT_TARGET_PAIRS = \ | |
1892 a-intnam.ads<libgnarl/a-intnam__lynxos.ads \ | |
1893 g-soliop.ads<libgnat/g-soliop__lynxos.ads \ | |
1894 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1895 s-intman.adb<libgnarl/s-intman__lynxos.adb \ | |
1896 s-osinte.adb<libgnarl/s-osinte__lynxos178.adb \ | |
1897 s-osprim.ads<libgnat/s-osprim__lynxos.ads \ | |
1898 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1899 s-taspri.ads<libgnarl/s-taspri__lynxos.ads \ | |
1900 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb | |
1901 | |
1902 ifeq ($(strip $(filter-out powerpc%, $(target_cpu))),) | |
1903 LIBGNAT_TARGET_PAIRS += system.ads<libgnat/system-lynxos178-ppc.ads | |
1904 endif | |
1905 ifeq ($(strip $(filter-out %86, $(target_cpu))),) | |
1906 LIBGNAT_TARGET_PAIRS += system.ads<libgnat/system-lynxos178-x86.ads | |
1907 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
1908 endif | |
1909 | |
1910 ifeq ($(strip $(filter-out lynxos178e,$(target_os))),) | |
1911 LIBGNAT_TARGET_PAIRS += \ | |
1912 s-osinte.ads<libgnarl/s-osinte__lynxos178e.ads \ | |
1913 s-osprim.adb<libgnat/s-osprim__posix2008.adb \ | |
1914 s-tracon.adb<hie/s-tracon__ppc-eabi.adb | |
1915 endif | |
1916 | |
1917 EH_MECHANISM=-gcc | |
1918 endif | |
1919 | |
1920 # RTEMS | |
1921 ifeq ($(strip $(filter-out rtems%,$(target_os))),) | |
1922 LIBGNAT_TARGET_PAIRS = \ | |
1923 system.ads<libgnat/system-rtems.ads \ | |
1924 a-intnam.ads<libgnarl/a-intnam__rtems.ads \ | |
1925 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
1926 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
1927 s-osinte.adb<libgnarl/s-osinte__rtems.adb \ | |
1928 s-osinte.ads<libgnarl/s-osinte__rtems.ads \ | |
1929 s-osprim.adb<libgnat/s-osprim__rtems.adb \ | |
1930 s-parame.adb<libgnat/s-parame__rtems.adb \ | |
1931 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
1932 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
1933 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
1934 s-stchop.adb<libgnat/s-stchop__rtems.adb \ | |
1935 s-interr.adb<libgnarl/s-interr__hwint.adb | |
1936 ifeq ($(strip $(filter-out arm%, $(target_cpu))),) | |
1937 EH_MECHANISM=-arm | |
1938 else | |
1939 EH_MECHANISM=-gcc | |
1940 endif | |
1941 endif | |
1942 | |
1943 # PikeOS | |
1944 ifeq ($(strip $(filter-out powerpc% %86 sysgo pikeos,$(target_cpu) $(target_vendor) $(target_os)))),) | |
1945 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
1946 endif | |
1947 | |
1948 # *-elf, *-eabi, or *-eabispe | |
1949 ifeq ($(strip $(filter-out elf eabi eabispe,$(target_os))),) | |
1950 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
1951 endif | |
1952 | |
1953 ifeq ($(strip $(filter-out %djgpp,$(target_os))),) | |
1954 GNATRTL_SOCKETS_OBJS = | |
1955 | |
1956 LIBGNAT_TARGET_PAIRS = \ | |
1957 a-intnam.ads<libgnarl/a-intnam__dummy.ads \ | |
1958 s-inmaop.adb<libgnarl/s-inmaop__dummy.adb \ | |
1959 s-intman.adb<libgnarl/s-intman__dummy.adb \ | |
1960 s-osinte.ads<libgnarl/s-osinte__dummy.ads \ | |
1961 s-osprim.adb<libgnat/s-osprim__unix.adb \ | |
1962 s-taprop.adb<libgnarl/s-taprop__dummy.adb \ | |
1963 s-taspri.ads<libgnarl/s-taspri__dummy.ads \ | |
1964 system.ads<libgnat/system-djgpp.ads \ | |
1965 $(DUMMY_SOCKETS_TARGET_PAIRS) | |
1966 | |
1967 EH_MECHANISM=-gcc | |
1968 endif | |
1969 | |
1970 # Cygwin/Mingw32 | |
1971 ifeq ($(strip $(filter-out cygwin% mingw32% pe,$(target_os))),) | |
1972 # Cygwin provides a full Posix environment, and so we use the default | |
1973 # versions g-socthi rather than the Windows-specific MinGW version. | |
1974 # Ideally we would use all the default versions for Cygwin and none | |
1975 # of the MinGW versions, but for historical reasons the Cygwin port | |
1976 # has always been a CygMing frankenhybrid and it is a long-term project | |
1977 # to disentangle them. | |
1978 ifeq ($(strip $(filter-out cygwin%,$(target_os))),) | |
1979 LIBGNAT_TARGET_PAIRS = \ | |
1980 g-socthi.ads<libgnat/g-socthi.ads \ | |
1981 g-socthi.adb<libgnat/g-socthi.adb | |
1982 else | |
1983 LIBGNAT_TARGET_PAIRS = \ | |
1984 g-socthi.ads<libgnat/g-socthi__mingw.ads \ | |
1985 g-socthi.adb<libgnat/g-socthi__mingw.adb | |
1986 endif | |
1987 LIBGNAT_TARGET_PAIRS += \ | |
1988 a-dirval.adb<libgnat/a-dirval__mingw.adb \ | |
1989 a-excpol.adb<libgnat/a-excpol__abort.adb \ | |
1990 s-gloloc.adb<libgnat/s-gloloc__mingw.adb \ | |
1991 s-inmaop.adb<libgnarl/s-inmaop__dummy.adb \ | |
1992 s-taspri.ads<libgnarl/s-taspri__mingw.ads \ | |
1993 s-tasinf.adb<libgnarl/s-tasinf__mingw.adb \ | |
1994 s-tasinf.ads<libgnarl/s-tasinf__mingw.ads \ | |
1995 g-stsifd.adb<libgnat/g-stsifd__sockets.adb \ | |
1996 g-soliop.ads<libgnat/g-soliop__mingw.ads \ | |
1997 $(ATOMICS_TARGET_PAIRS) \ | |
1998 system.ads<libgnat/system-mingw.ads | |
1999 | |
2000 LIBGNAT_TARGET_PAIRS += \ | |
2001 a-exetim.adb<libgnarl/a-exetim__mingw.adb \ | |
2002 a-exetim.ads<libgnarl/a-exetim__mingw.ads \ | |
2003 a-intnam.ads<libgnarl/a-intnam__mingw.ads \ | |
2004 g-sercom.adb<libgnat/g-sercom__mingw.adb \ | |
2005 $(TRASYM_DWARF_MINGW_PAIRS) \ | |
2006 s-tsmona.adb<libgnat/s-tsmona__mingw.adb \ | |
2007 s-interr.adb<libgnarl/s-interr__sigaction.adb \ | |
2008 s-intman.adb<libgnarl/s-intman__mingw.adb \ | |
2009 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
2010 s-osinte.ads<libgnarl/s-osinte__mingw.ads \ | |
2011 s-osprim.adb<libgnat/s-osprim__mingw.adb \ | |
2012 s-taprop.adb<libgnarl/s-taprop__mingw.adb | |
2013 | |
2014 ifeq ($(strip $(filter-out x86_64%,$(target_cpu))),) | |
2015 ifeq ($(strip $(MULTISUBDIR)),/32) | |
2016 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
2017 SO_OPTS= -m32 -Wl,-soname, | |
2018 else | |
2019 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) | |
2020 SO_OPTS = -m64 -Wl,-soname, | |
2021 endif | |
2022 else | |
2023 ifeq ($(strip $(MULTISUBDIR)),/64) | |
2024 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) | |
2025 SO_OPTS = -m64 -Wl,-soname, | |
2026 else | |
2027 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
2028 SO_OPTS = -m32 -Wl,-soname, | |
2029 endif | |
2030 endif | |
2031 | |
2032 EXTRA_GNATRTL_NONTASKING_OBJS += \ | |
2033 s-win32.o s-winext.o g-regist.o g-sse.o g-ssvety.o | |
2034 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_MINGW_OBJS) | |
2035 EXTRA_GNATRTL_TASKING_OBJS = a-exetim.o | |
2036 EXTRA_LIBGNAT_SRCS+=mingw32.h | |
2037 MISCLIB = -lws2_32 | |
2038 | |
2039 # ??? This will be replaced by gnatlib-shared-dual-win32 when GNAT | |
2040 # auto-import support for array/record will be done. | |
2041 GNATLIB_SHARED = gnatlib-shared-win32 | |
2042 | |
2043 EH_MECHANISM=-gcc | |
2044 | |
2045 TOOLS_TARGET_PAIRS=indepsw.adb<indepsw-gnu.adb | |
2046 | |
2047 GMEM_LIB = gmemlib | |
2048 EXTRA_GNATTOOLS = ../../gnatdll$(exeext) | |
2049 EXTRA_GNATMAKE_OBJS = mdll.o mdll-utl.o mdll-fil.o | |
2050 soext = .dll | |
2051 LIBRARY_VERSION := $(LIB_VERSION) | |
2052 endif | |
2053 | |
2054 # Mips Linux | |
2055 ifeq ($(strip $(filter-out mips% linux%,$(target_cpu) $(target_os))),) | |
2056 LIBGNAT_TARGET_PAIRS = \ | |
2057 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2058 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2059 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2060 s-linux.ads<libgnarl/s-linux__mips.ads \ | |
2061 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2062 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2063 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2064 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2065 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2066 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2067 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
2068 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
2069 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
2070 system.ads<libgnat/system-linux-mips.ads | |
2071 | |
2072 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2073 | |
2074 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
2075 EH_MECHANISM=-gcc | |
2076 THREADSLIB = -lpthread | |
2077 GNATLIB_SHARED = gnatlib-shared-dual | |
2078 GMEM_LIB = gmemlib | |
2079 LIBRARY_VERSION := $(LIB_VERSION) | |
2080 endif | |
2081 | |
2082 # PowerPC and e500v2 Linux | |
2083 ifeq ($(strip $(filter-out powerpc% linux%,$(target_cpu) $(target_os))),) | |
2084 LIBGNAT_TARGET_PAIRS_COMMON = \ | |
2085 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
2086 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
2087 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2088 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
2089 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
2090 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2091 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2092 s-linux.ads<libgnarl/s-linux.ads \ | |
2093 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2094 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
2095 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
2096 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
2097 s-tsmona.adb<libgnat/s-tsmona__linux.adb \ | |
2098 $(ATOMICS_TARGET_PAIRS) \ | |
2099 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
2100 system.ads<libgnat/system-linux-ppc.ads | |
2101 | |
2102 LIBGNAT_TARGET_PAIRS = \ | |
2103 $(LIBGNAT_TARGET_PAIRS_COMMON) \ | |
2104 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
2105 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2106 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2107 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2108 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2109 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2110 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads | |
2111 | |
2112 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2113 | |
2114 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
2115 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
2116 | |
2117 EH_MECHANISM=-gcc | |
2118 THREADSLIB = -lpthread -lrt | |
2119 GNATLIB_SHARED = gnatlib-shared-dual | |
2120 MISCLIB = -ldl | |
2121 GMEM_LIB = gmemlib | |
2122 LIBRARY_VERSION := $(LIB_VERSION) | |
2123 endif | |
2124 | |
2125 # ARM linux, GNU eabi | |
2126 ifeq ($(strip $(filter-out arm% linux-gnueabi%,$(target_cpu) $(target_os))),) | |
2127 LIBGNAT_TARGET_PAIRS = \ | |
2128 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2129 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2130 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2131 s-linux.ads<libgnarl/s-linux.ads \ | |
2132 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2133 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2134 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2135 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2136 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2137 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2138 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
2139 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
2140 $(ATOMICS_TARGET_PAIRS) \ | |
2141 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
2142 system.ads<libgnat/system-linux-arm.ads | |
2143 | |
2144 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2145 | |
2146 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
2147 EH_MECHANISM=-arm | |
2148 THREADSLIB = -lpthread | |
2149 GNATLIB_SHARED = gnatlib-shared-dual | |
2150 GMEM_LIB = gmemlib | |
2151 LIBRARY_VERSION := $(LIB_VERSION) | |
2152 endif | |
2153 | |
2154 # AArch64 Linux | |
2155 ifeq ($(strip $(filter-out aarch64% linux%,$(target_cpu) $(target_os))),) | |
2156 LIBGNAT_TARGET_PAIRS = \ | |
2157 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
2158 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
2159 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2160 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
2161 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
2162 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2163 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2164 s-linux.ads<libgnarl/s-linux.ads \ | |
2165 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
2166 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2167 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2168 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2169 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2170 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2171 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2172 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
2173 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
2174 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
2175 $(ATOMICS_TARGET_PAIRS) \ | |
2176 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
2177 system.ads<libgnat/system-linux-arm.ads | |
2178 | |
2179 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2180 | |
2181 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
2182 EH_MECHANISM=-gcc | |
2183 THREADSLIB=-lpthread -lrt | |
2184 GNATLIB_SHARED=gnatlib-shared-dual | |
2185 GMEM_LIB = gmemlib | |
2186 LIBRARY_VERSION := $(LIB_VERSION) | |
2187 endif | |
2188 | |
2189 # Sparc Linux | |
2190 ifeq ($(strip $(filter-out sparc% linux%,$(target_cpu) $(target_os))),) | |
2191 LIBGNAT_TARGET_PAIRS = \ | |
2192 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2193 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2194 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2195 s-linux.ads<libgnarl/s-linux__sparc.ads \ | |
2196 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2197 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2198 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2199 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2200 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2201 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2202 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
2203 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
2204 system.ads<libgnat/system-linux-sparc.ads | |
2205 | |
2206 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2207 | |
2208 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
2209 EH_MECHANISM=-gcc | |
2210 THREADSLIB = -lpthread | |
2211 GNATLIB_SHARED = gnatlib-shared-dual | |
2212 GMEM_LIB = gmemlib | |
2213 LIBRARY_VERSION := $(LIB_VERSION) | |
2214 endif | |
2215 | |
2216 # HP/PA Linux | |
2217 ifeq ($(strip $(filter-out hppa% linux%,$(target_cpu) $(target_os))),) | |
2218 LIBGNAT_TARGET_PAIRS = \ | |
2219 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2220 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2221 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2222 s-linux.ads<libgnarl/s-linux__hppa.ads \ | |
2223 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2224 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2225 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2226 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2227 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2228 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2229 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
2230 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
2231 system.ads<libgnat/system-linux-hppa.ads | |
2232 | |
2233 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2234 | |
2235 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
2236 EH_MECHANISM=-gcc | |
2237 THREADSLIB = -lpthread | |
2238 GNATLIB_SHARED = gnatlib-shared-dual | |
2239 GMEM_LIB = gmemlib | |
2240 LIBRARY_VERSION := $(LIB_VERSION) | |
2241 endif | |
2242 | |
2243 # M68K Linux | |
2244 ifeq ($(strip $(filter-out m68k% linux%,$(target_cpu) $(target_os))),) | |
2245 LIBGNAT_TARGET_PAIRS = \ | |
2246 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2247 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2248 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2249 s-linux.ads<libgnarl/s-linux.ads \ | |
2250 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2251 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2252 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2253 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2254 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2255 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2256 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
2257 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
2258 system.ads<libgnat/system-linux-m68k.ads | |
2259 | |
2260 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2261 | |
2262 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
2263 EH_MECHANISM=-gcc | |
2264 THREADSLIB = -lpthread | |
2265 GNATLIB_SHARED = gnatlib-shared-dual | |
2266 GMEM_LIB = gmemlib | |
2267 LIBRARY_VERSION := $(LIB_VERSION) | |
2268 endif | |
2269 | |
2270 # SH4 Linux | |
2271 ifeq ($(strip $(filter-out sh4% linux%,$(target_cpu) $(target_os))),) | |
2272 LIBGNAT_TARGET_PAIRS = \ | |
2273 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2274 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2275 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2276 s-linux.ads<libgnarl/s-linux.ads \ | |
2277 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2278 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2279 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2280 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2281 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2282 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2283 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
2284 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
2285 system.ads<libgnat/system-linux-sh4.ads | |
2286 | |
2287 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-linux.adb | |
2288 | |
2289 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
2290 EH_MECHANISM=-gcc | |
2291 MISCLIB= | |
2292 THREADSLIB = -lpthread | |
2293 GNATLIB_SHARED = gnatlib-shared-dual | |
2294 GMEM_LIB = gmemlib | |
2295 LIBRARY_VERSION := $(LIB_VERSION) | |
2296 endif | |
2297 | |
2298 # IA64 Linux | |
2299 ifeq ($(strip $(filter-out %ia64 linux%,$(target_cpu) $(target_os))),) | |
2300 LIBGNAT_TARGET_PAIRS = \ | |
2301 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
2302 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
2303 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2304 a-numaux.ads<libgnat/a-numaux__libc-x86.ads \ | |
2305 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
2306 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
2307 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2308 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2309 s-linux.ads<libgnarl/s-linux.ads \ | |
2310 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
2311 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2312 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2313 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2314 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2315 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2316 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2317 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
2318 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
2319 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
2320 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
2321 s-tsmona.adb<libgnat/s-tsmona__linux.adb \ | |
2322 $(ATOMICS_TARGET_PAIRS) \ | |
2323 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
2324 system.ads<libgnat/system-linux-ia64.ads | |
2325 | |
2326 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2327 | |
2328 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
2329 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
2330 EH_MECHANISM=-gcc | |
2331 THREADSLIB=-lpthread -lrt | |
2332 GNATLIB_SHARED=gnatlib-shared-dual | |
2333 MISCLIB = -ldl | |
2334 GMEM_LIB = gmemlib | |
2335 LIBRARY_VERSION := $(LIB_VERSION) | |
2336 endif | |
2337 | |
2338 # IA64 HP-UX | |
2339 ifeq ($(strip $(filter-out ia64% hp hpux%,$(target_cpu) $(target_vendor) $(target_os))),) | |
2340 LIBGNAT_TARGET_PAIRS = \ | |
2341 a-intnam.ads<libgnarl/a-intnam__hpux.ads \ | |
2342 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2343 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2344 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2345 s-osinte.ads<libgnarl/s-osinte__hpux.ads \ | |
2346 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2347 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
2348 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
2349 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
2350 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
2351 $(ATOMICS_TARGET_PAIRS) \ | |
2352 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
2353 system.ads<libgnat/system-hpux-ia64.ads | |
2354 | |
2355 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
2356 | |
2357 MISCLIB= | |
2358 EH_MECHANISM=-gcc | |
2359 THREADSLIB=-lpthread | |
2360 GNATLIB_SHARED=gnatlib-shared-dual | |
2361 GMEM_LIB = gmemlib | |
2362 soext = .so | |
2363 SO_OPTS = -Wl,+h, | |
2364 LIBRARY_VERSION := $(LIB_VERSION) | |
2365 endif | |
2366 | |
2367 # Alpha Linux | |
2368 ifeq ($(strip $(filter-out alpha% linux%,$(target_cpu) $(target_os))),) | |
2369 LIBGNAT_TARGET_PAIRS = \ | |
2370 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2371 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2372 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2373 s-linux.ads<libgnarl/s-linux__alpha.ads \ | |
2374 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2375 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2376 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2377 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2378 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2379 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2380 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
2381 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
2382 $(ATOMICS_TARGET_PAIRS) \ | |
2383 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
2384 system.ads<libgnat/system-linux-alpha.ads | |
2385 | |
2386 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2387 | |
2388 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
2389 EH_MECHANISM=-gcc | |
2390 MISCLIB= | |
2391 THREADSLIB=-lpthread | |
2392 GNATLIB_SHARED=gnatlib-shared-dual | |
2393 LIBRARY_VERSION := $(LIB_VERSION) | |
2394 endif | |
2395 | |
2396 # x86-64 Linux | |
2397 ifeq ($(strip $(filter-out %x86_64 linux%,$(target_cpu) $(target_os))),) | |
2398 LIBGNAT_TARGET_PAIRS = \ | |
2399 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
2400 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
2401 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2402 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
2403 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
2404 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2405 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2406 s-linux.ads<libgnarl/s-linux.ads \ | |
2407 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
2408 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2409 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2410 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2411 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2412 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2413 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2414 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
2415 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
2416 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
2417 $(TRASYM_DWARF_UNIX_PAIRS) \ | |
2418 s-tsmona.adb<libgnat/s-tsmona__linux.adb \ | |
2419 $(ATOMICS_TARGET_PAIRS) \ | |
2420 $(X86_64_TARGET_PAIRS) \ | |
2421 system.ads<libgnat/system-linux-x86.ads | |
2422 | |
2423 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2424 | |
2425 EXTRA_GNATRTL_NONTASKING_OBJS += g-sse.o g-ssvety.o | |
2426 EXTRA_GNATRTL_NONTASKING_OBJS += $(TRASYM_DWARF_UNIX_OBJS) | |
2427 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
2428 | |
2429 EH_MECHANISM=-gcc | |
2430 THREADSLIB=-lpthread -lrt | |
2431 MISCLIB = -ldl | |
2432 GNATLIB_SHARED=gnatlib-shared-dual | |
2433 GMEM_LIB = gmemlib | |
2434 LIBRARY_VERSION := $(LIB_VERSION) | |
2435 | |
2436 GNATLIBCFLAGS_FOR_GCCSJLJ+=-fno-omit-frame-pointer -momit-leaf-frame-pointer | |
2437 endif | |
2438 | |
2439 ifeq ($(strip $(filter-out %x32 linux%,$(target_cpu) $(target_os))),) | |
2440 LIBGNAT_TARGET_PAIRS = \ | |
2441 a-exetim.adb<libgnarl/a-exetim__posix.adb \ | |
2442 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
2443 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2444 a-synbar.adb<libgnarl/a-synbar__posix.adb \ | |
2445 a-synbar.ads<libgnarl/a-synbar__posix.ads \ | |
2446 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2447 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2448 s-linux.ads<libgnarl/s-linux__x32.ads \ | |
2449 s-mudido.adb<libgnarl/s-mudido__affinity.adb \ | |
2450 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2451 s-osinte.adb<libgnarl/s-osinte__x32.adb \ | |
2452 s-osprim.adb<libgnat/s-osprim__x32.adb \ | |
2453 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2454 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2455 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2456 s-tpopsp.adb<libgnarl/s-tpopsp__tls.adb \ | |
2457 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
2458 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
2459 $(ATOMICS_TARGET_PAIRS) \ | |
2460 $(X86_64_TARGET_PAIRS) \ | |
2461 system.ads<libgnat/system-linux-x86.ads | |
2462 | |
2463 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2464 | |
2465 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o | |
2466 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o a-exetim.o | |
2467 EH_MECHANISM=-gcc | |
2468 THREADSLIB=-lpthread -lrt | |
2469 GNATLIB_SHARED=gnatlib-shared-dual | |
2470 GMEM_LIB = gmemlib | |
2471 LIBRARY_VERSION := $(LIB_VERSION) | |
2472 endif | |
2473 | |
2474 # RISC-V Linux | |
2475 ifeq ($(strip $(filter-out riscv% linux%,$(target_cpu) $(target_os))),) | |
2476 LIBGNAT_TARGET_PAIRS = \ | |
2477 a-intnam.ads<libgnarl/a-intnam__linux.ads \ | |
2478 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2479 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2480 s-linux.ads<libgnarl/s-linux__riscv.ads \ | |
2481 s-osinte.adb<libgnarl/s-osinte__posix.adb \ | |
2482 s-osinte.ads<libgnarl/s-osinte__linux.ads \ | |
2483 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2484 s-taprop.adb<libgnarl/s-taprop__linux.adb \ | |
2485 s-tasinf.ads<libgnarl/s-tasinf__linux.ads \ | |
2486 s-tasinf.adb<libgnarl/s-tasinf__linux.adb \ | |
2487 s-taspri.ads<libgnarl/s-taspri__posix-noaltstack.ads \ | |
2488 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb \ | |
2489 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
2490 system.ads<libgnat/system-linux-riscv.ads | |
2491 | |
2492 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-gnu.adb | |
2493 | |
2494 EXTRA_GNATRTL_TASKING_OBJS=s-linux.o | |
2495 EH_MECHANISM=-gcc | |
2496 THREADSLIB = -lpthread | |
2497 GNATLIB_SHARED = gnatlib-shared-dual | |
2498 GMEM_LIB = gmemlib | |
2499 LIBRARY_VERSION := $(LIB_VERSION) | |
2500 endif | |
2501 | |
2502 # Darwin (Mac OS X) | |
2503 ifeq ($(strip $(filter-out darwin%,$(target_os))),) | |
2504 SO_OPTS = -shared-libgcc | |
2505 LIBGNAT_TARGET_PAIRS = \ | |
2506 a-intnam.ads<libgnarl/a-intnam__darwin.ads \ | |
2507 s-inmaop.adb<libgnarl/s-inmaop__posix.adb \ | |
2508 s-osinte.adb<libgnarl/s-osinte__darwin.adb \ | |
2509 s-osinte.ads<libgnarl/s-osinte__darwin.ads \ | |
2510 s-taprop.adb<libgnarl/s-taprop__posix.adb \ | |
2511 s-taspri.ads<libgnarl/s-taspri__posix.ads \ | |
2512 g-sercom.adb<libgnat/g-sercom__linux.adb \ | |
2513 s-tpopsp.adb<libgnarl/s-tpopsp__posix-foreign.adb | |
2514 | |
2515 ifeq ($(strip $(filter-out %86,$(target_cpu))),) | |
2516 LIBGNAT_TARGET_PAIRS += \ | |
2517 s-intman.adb<libgnarl/s-intman__susv3.adb \ | |
2518 s-osprim.adb<libgnat/s-osprim__darwin.adb \ | |
2519 $(ATOMICS_TARGET_PAIRS) \ | |
2520 system.ads<libgnat/system-darwin-x86.ads | |
2521 | |
2522 ifeq ($(strip $(MULTISUBDIR)),/x86_64) | |
2523 SO_OPTS += -m64 | |
2524 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) | |
2525 else | |
2526 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
2527 endif | |
2528 | |
2529 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o | |
2530 endif | |
2531 | |
2532 ifeq ($(strip $(filter-out %x86_64,$(target_cpu))),) | |
2533 LIBGNAT_TARGET_PAIRS += \ | |
2534 s-intman.adb<libgnarl/s-intman__susv3.adb \ | |
2535 s-osprim.adb<libgnat/s-osprim__darwin.adb \ | |
2536 a-exetim.ads<libgnarl/a-exetim__default.ads \ | |
2537 a-exetim.adb<libgnarl/a-exetim__darwin.adb \ | |
2538 $(ATOMICS_TARGET_PAIRS) \ | |
2539 system.ads<libgnat/system-darwin-x86.ads | |
2540 | |
2541 ifeq ($(strip $(MULTISUBDIR)),/i386) | |
2542 SO_OPTS += -m32 | |
2543 LIBGNAT_TARGET_PAIRS += $(X86_TARGET_PAIRS) | |
2544 else | |
2545 LIBGNAT_TARGET_PAIRS += $(X86_64_TARGET_PAIRS) | |
2546 endif | |
2547 | |
2548 EXTRA_GNATRTL_NONTASKING_OBJS=g-sse.o g-ssvety.o | |
2549 EXTRA_GNATRTL_TASKING_OBJS=a-exetim.o | |
2550 endif | |
2551 | |
2552 ifeq ($(strip $(filter-out powerpc%,$(target_cpu))),) | |
2553 LIBGNAT_TARGET_PAIRS += \ | |
2554 s-intman.adb<libgnarl/s-intman__posix.adb \ | |
2555 s-osprim.adb<libgnat/s-osprim__posix.adb \ | |
2556 a-numaux.ads<libgnat/a-numaux__darwin.ads \ | |
2557 a-numaux.adb<libgnat/a-numaux__darwin.adb \ | |
2558 $(ATOMICS_TARGET_PAIRS) \ | |
2559 $(ATOMICS_BUILTINS_TARGET_PAIRS) \ | |
2560 system.ads<libgnat/system-darwin-ppc.ads | |
2561 | |
2562 ifeq ($(strip $(MULTISUBDIR)),/ppc64) | |
2563 SO_OPTS += -m64 | |
2564 endif | |
2565 endif | |
2566 | |
2567 ifeq ($(strip $(filter-out arm,$(target_cpu))),) | |
2568 LIBGNAT_TARGET_PAIRS += \ | |
2569 s-intman.adb<libgnarl/s-intman__susv3.adb \ | |
2570 s-osprim.adb<libgnat/s-osprim__darwin.adb \ | |
2571 $(ATOMICS_TARGET_PAIRS) \ | |
2572 $(ATOMICS_BUILTINS_TARGET_PAIRS) | |
2573 | |
2574 LIBGNAT_TARGET_PAIRS += \ | |
2575 system.ads<libgnat/system-darwin-arm.ads | |
2576 endif | |
2577 | |
2578 ifeq ($(strip $(filter-out arm64 aarch64,$(target_cpu))),) | |
2579 LIBGNAT_TARGET_PAIRS += \ | |
2580 s-intman.adb<libgnarl/s-intman__susv3.adb \ | |
2581 s-osprim.adb<libgnat/s-osprim__darwin.adb \ | |
2582 $(ATOMICS_TARGET_PAIRS) \ | |
2583 $(ATOMICS_BUILTINS_TARGET_PAIRS) | |
2584 | |
2585 EXTRA_LIBGNAT_OBJS+=sigtramp-ios.o | |
2586 EXTRA_LIBGNAT_SRCS+=sigtramp.h | |
2587 LIBGNAT_TARGET_PAIRS += \ | |
2588 system.ads<libgnat/system-darwin-arm.ads | |
2589 endif | |
2590 | |
2591 TOOLS_TARGET_PAIRS = indepsw.adb<indepsw-darwin.adb | |
2592 | |
2593 EH_MECHANISM=-gcc | |
2594 GNATLIB_SHARED = gnatlib-shared-darwin | |
2595 GMEM_LIB = gmemlib | |
2596 LIBRARY_VERSION := $(LIB_VERSION) | |
2597 soext = .dylib | |
2598 GCC_LINK_FLAGS=-static-libstdc++ | |
2599 endif | |
2600 | |
2601 ifeq ($(EH_MECHANISM),-gcc) | |
2602 LIBGNAT_TARGET_PAIRS += \ | |
2603 s-excmac.ads<libgnat/s-excmac__gcc.ads \ | |
2604 s-excmac.adb<libgnat/s-excmac__gcc.adb | |
2605 EXTRA_LIBGNAT_OBJS+=raise-gcc.o | |
2606 EXTRA_GNATRTL_NONTASKING_OBJS+=g-cppexc.o s-excmac.o | |
2607 endif | |
2608 | |
2609 ifeq ($(EH_MECHANISM),-arm) | |
2610 LIBGNAT_TARGET_PAIRS += \ | |
2611 s-excmac.ads<libgnat/s-excmac__arm.ads \ | |
2612 s-excmac.adb<libgnat/s-excmac__arm.adb | |
2613 EXTRA_LIBGNAT_OBJS+=raise-gcc.o | |
2614 EXTRA_GNATRTL_NONTASKING_OBJS+=g-cppexc.o s-excmac.o | |
2615 endif | |
2616 | |
2617 # LIBGNAT_SRCS is the list of all C files (including headers) of the runtime | |
2618 # library. LIBGNAT_OBJS is the list of object files for libgnat. | |
2619 # thread.c is special as put into GNATRTL_TASKING_OBJS | |
2620 LIBGNAT_OBJS = adadecode.o adaint.o argv.o aux-io.o \ | |
2621 cal.o cio.o cstreams.o ctrl_c.o \ | |
2622 env.o errno.o exit.o expect.o final.o rtfinal.o rtinit.o \ | |
2623 init.o initialize.o locales.o mkdir.o \ | |
2624 raise.o seh_init.o socket.o sysdep.o \ | |
2625 targext.o terminals.o tracebak.o \ | |
2626 $(EXTRA_LIBGNAT_OBJS) | |
2627 | |
2628 # NOTE ??? - when the -I option for compiling Ada code is made to work, | |
2629 # the library installation will change and there will be a | |
2630 # GNAT_RTL_SRCS. Right now we count on being able to build GNATRTL_OBJS | |
2631 # from ADA_INCLUDE_SRCS. | |
2632 | |
2633 LIBGNAT_SRCS = $(patsubst %.o,%.c,$(LIBGNAT_OBJS)) \ | |
2634 adadecode.h adaint.h env.h gsocket.h raise.h standard.ads.h \ | |
2635 tb-gcc.c libgnarl/thread.c $(EXTRA_LIBGNAT_SRCS) | |
2636 | |
2637 # memtrack.o is special as not put into libgnat. | |
2638 GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS) $(GNATRTL_TASKING_OBJS) \ | |
2639 memtrack.o | |
2640 | |
2641 # Run time source files | |
2642 # Note that libgnat contains a significant number of files. In orde to avoid | |
2643 # command line length limitations the source regexp has been split for that | |
2644 # directory. | |
2645 ADA_INCLUDE_SRCS =\ | |
2646 libgnat/ada.ads libgnat/calendar.ads libgnat/directio.ads libgnat/gnat.ads libgnat/interfac.ads libgnat/ioexcept.ads \ | |
2647 libgnat/machcode.ads libgnat/text_io.ads libgnat/unchconv.ads libgnat/unchdeal.ads \ | |
2648 libgnat/sequenio.ads libgnat/system.ads Makefile.adalib libgnat/memtrack.adb \ | |
2649 libgnat/a-[a-o]*.adb libgnat/a-[a-o]*.ads \ | |
2650 libgnat/a-[p-z]*.adb libgnat/a-[p-z]*.ads \ | |
2651 libgnat/g-[a-o]*.adb libgnat/g-[a-o]*.ads \ | |
2652 libgnat/g-[p-z]*.adb libgnat/g-[p-z]*.ads \ | |
2653 libgnat/s-[a-o]*.adb libgnat/s-[a-o]*.ads \ | |
2654 libgnat/s-[p-z]*.adb libgnat/s-[p-z]*.ads \ | |
2655 libgnat/i-[a-o]*.adb libgnat/i-[a-o]*.ads \ | |
2656 libgnat/i-[p-z]*.adb libgnat/i-[p-z]*.ads \ | |
2657 libgnarl/[agis]-[a-z]*.ad[sb] | |
2658 | |
2659 | |
2660 # Files that are in ADA_INCLUDE_SRCS but not in all configurations. | |
2661 # They will be removed from the run time if not used. | |
2662 ADA_EXCLUDE_SRCS =\ | |
2663 g-allein.ads g-alleve.adb g-alleve.ads g-altcon.adb g-altcon.ads \ | |
2664 g-altive.ads g-alveop.adb g-alveop.ads g-alvety.ads g-alvevi.ads \ | |
2665 g-intpri.ads g-regist.adb g-regist.ads g-sse.ads g-ssvety.ads \ | |
2666 i-vxinco.adb i-vxinco.ads i-vxwoio.adb i-vxwoio.ads i-vxwork.ads \ | |
2667 s-bb.ads s-bbbosu.ads s-bbcaco.ads s-bbcppr.ads s-bbexti.adb \ | |
2668 s-bbexti.ads s-bbinte.adb s-bbinte.ads s-bbprot.adb s-bbprot.ads \ | |
2669 s-bbsle3.ads s-bbsuer.ads s-bbsule.ads s-bbthqu.adb s-bbthqu.ads \ | |
2670 s-bbthre.adb s-bbthre.ads s-bbtiev.adb s-bbtiev.ads s-bbtime.adb \ | |
2671 s-bbtime.ads s-bcprmu.adb s-bcprmu.ads s-btstch.adb s-btstch.ads \ | |
2672 s-gcc.adb s-gcc.ads s-gccdiv.adb s-gccdiv.ads \ | |
2673 s-gccshi.adb s-gccshi.ads \ | |
2674 s-init.ads s-init.adb s-linux.ads s-macres.ads \ | |
2675 s-memcom.adb s-memcom.ads s-memmov.adb s-memmov.ads s-memset.adb \ | |
2676 s-memset.ads s-mufalo.adb s-mufalo.ads s-musplo.adb s-musplo.ads \ | |
2677 s-sam4.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb s-sopco4.ads \ | |
2678 s-sopco5.adb s-sopco5.ads s-stchop.ads s-stchop.adb s-stm32.ads \ | |
2679 s-strcom.adb s-strcom.ads s-thread.ads \ | |
2680 s-vxwext.adb s-vxwext.ads \ | |
2681 s-win32.ads s-winext.ads | |
2682 | |
2683 # ADA_EXCLUDE_SRCS without the sources used by the target | |
2684 ADA_EXCLUDE_FILES=$(filter-out \ | |
2685 $(patsubst %$(objext),%.ads,$(GNATRTL_OBJS)) \ | |
2686 $(patsubst %$(objext),%.adb,$(GNATRTL_OBJS)), \ | |
2687 $(ADA_EXCLUDE_SRCS)) | |
2688 | |
2689 setup-rts: force | |
2690 $(RMDIR) $(RTSDIR) | |
2691 $(MKDIR) $(RTSDIR) | |
2692 $(CHMOD) u+w $(RTSDIR) | |
2693 # Copy target independent sources | |
2694 $(foreach f,$(ADA_INCLUDE_SRCS) $(LIBGNAT_SRCS), \ | |
2695 $(LN_S) $(GNAT_SRC)/$(f) $(RTSDIR) ;) true | |
2696 # Remove files not used | |
2697 $(RM) $(patsubst %,$(RTSDIR)/%,$(ADA_EXCLUDE_FILES)) | |
2698 # Remove files to be replaced by target dependent sources | |
2699 $(RM) $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ | |
2700 $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)))) | |
2701 for f in $(RTSDIR)/*-*__*.ads $(RTSDIR)/*-*__*.adb; do \ | |
2702 case "$$f" in \ | |
2703 $(RTSDIR)/s-stratt__*) ;; \ | |
2704 *) $(RM) $$f ;; \ | |
2705 esac; \ | |
2706 done | |
2707 # Copy new target dependent sources | |
2708 $(foreach PAIR,$(LIBGNAT_TARGET_PAIRS), \ | |
2709 $(LN_S) $(GNAT_SRC)/$(word 2,$(subst <, ,$(PAIR))) \ | |
2710 $(RTSDIR)/$(word 1,$(subst <, ,$(PAIR)));) | |
2711 | |
2712 # Special flags | |
2713 | |
2714 # force no sibling call optimization on s-traceb.o so the number of stack | |
2715 # frames to be skipped when computing a call chain is not modified by | |
2716 # optimization. We don't want inlining, either. | |
2717 | |
2718 s-traceb.o : s-traceb.adb s-traceb.ads | |
2719 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) \ | |
2720 $(NO_INLINE_ADAFLAGS) $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) $< \ | |
2721 $(OUTPUT_OPTION) | |
2722 | |
2723 # compile s-tasdeb.o without optimization and with debug info so that it is | |
2724 # always possible to set conditional breakpoints on tasks. | |
2725 | |
2726 s-tasdeb.o : s-tasdeb.adb s-tasdeb.ads | |
2727 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 $(ADA_INCLUDES) \ | |
2728 $< $(OUTPUT_OPTION) | |
2729 | |
2730 # force no function reordering on a-except.o because of the exclusion bounds | |
2731 # mechanism (see the source file for more detailed information). | |
2732 # force debugging information on a-except.o so that it is always | |
2733 # possible to set conditional breakpoints on exceptions. | |
2734 # use -O1 otherwise gdb isn't able to get a full backtrace on mips targets. | |
2735 | |
2736 a-except.o : a-except.adb a-except.ads | |
2737 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) \ | |
2738 $(NO_INLINE_ADAFLAGS) $(NO_REORDER_ADAFLAGS) -O1 $(ADA_INCLUDES) \ | |
2739 $< $(OUTPUT_OPTION) | |
2740 | |
2741 # compile s-excdeb.o without optimization and with debug info to let the | |
2742 # debugger set breakpoints and inspect subprogram parameters on exception | |
2743 # related events. | |
2744 | |
2745 s-excdeb.o : s-excdeb.adb s-excdeb.ads s-except.ads | |
2746 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) -O0 \ | |
2747 $(ADA_INCLUDES) $< $(OUTPUT_OPTION) | |
2748 | |
2749 # force debugging information on s-assert.o so that it is always | |
2750 # possible to set breakpoint on assert failures. | |
2751 | |
2752 s-assert.o : s-assert.adb s-assert.ads | |
2753 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ | |
2754 $< $(OUTPUT_OPTION) | |
2755 | |
2756 # force debugging information on a-tags.o so that the debugger can find | |
2757 # the description of Ada.Tags.Type_Specific_Data. | |
2758 | |
2759 a-tags.o : a-tags.adb a-tags.ads | |
2760 $(ADAC) -c $(ALL_ADAFLAGS) $(FORCE_DEBUG_ADAFLAGS) $(ADA_INCLUDES) \ | |
2761 $< $(OUTPUT_OPTION) | |
2762 | |
2763 # force no sibling call optimization on s-memory.o to avoid turning the | |
2764 # tail recursion in Alloc into a loop that confuses branch prediction. | |
2765 | |
2766 s-memory.o : s-memory.adb s-memory.ads | |
2767 $(ADAC) -c $(ALL_ADAFLAGS) $(NO_SIBLING_ADAFLAGS) $(ADA_INCLUDES) \ | |
2768 $< $(OUTPUT_OPTION) |