diff --git a/v1/features.jam b/v1/features.jam index 9734f86b7..05fa3fd84 100644 --- a/v1/features.jam +++ b/v1/features.jam @@ -185,6 +185,8 @@ feature object-model : # Explicitly select the 'ansi' object model. Used to support the complete # standard. ansi + # AIX has it's own ABI, this is available with the gcc -maix32/64 options. + aix ; gLINK_COMPATIBLE = true ; diff --git a/v1/gcc-tools.jam b/v1/gcc-tools.jam index 8bd1adb92..32d76ea03 100644 --- a/v1/gcc-tools.jam +++ b/v1/gcc-tools.jam @@ -231,12 +231,16 @@ flags gcc CFLAGS sparc/64 : -m64 ; flags gcc LINKFLAGS sparc/64 : -m64 ; # RS/6000 & PowerPC .ARCH = power native ; -flags gcc CFLAGS power/default : -mcpu=power ; +flags gcc CFLAGS power/default/default : -mcpu=common ; +flags gcc CFLAGS power/32/default : -mcpu=common ; +flags gcc CFLAGS power/64/default : -mcpu=powerpc64 ; flags gcc CFLAGS $(.ARCH)/rios : -mcpu=rios ; flags gcc CFLAGS $(.ARCH)/rios1 : -mcpu=rios1 ; flags gcc CFLAGS $(.ARCH)/rsc : -mcpu=rsc ; flags gcc CFLAGS $(.ARCH)/rios2 : -mcpu=rios2 ; flags gcc CFLAGS $(.ARCH)/rs64a : -mcpu=rs64a ; +flags gcc CFLAGS $(.ARCH)/403 : -mcpu=403 ; +flags gcc CFLAGS $(.ARCH)/505 : -mcpu=505 ; flags gcc CFLAGS $(.ARCH)/601 : -mcpu=601 ; flags gcc CFLAGS $(.ARCH)/602 : -mcpu=602 ; flags gcc CFLAGS $(.ARCH)/603 : -mcpu=603 ; @@ -246,19 +250,26 @@ flags gcc CFLAGS $(.ARCH)/604e : -mcpu=604e ; flags gcc CFLAGS $(.ARCH)/620 : -mcpu=620 ; flags gcc CFLAGS $(.ARCH)/630 : -mcpu=630 ; flags gcc CFLAGS $(.ARCH)/740 : -mcpu=740 ; +flags gcc CFLAGS $(.ARCH)/7400 : -mcpu=7400 ; +flags gcc CFLAGS $(.ARCH)/7450 : -mcpu=7450 ; flags gcc CFLAGS $(.ARCH)/750 : -mcpu=750 ; -flags gcc CFLAGS $(.ARCH)/power : -mcpu=power ; -flags gcc CFLAGS $(.ARCH)/power2 : -mcpu=power2 ; -flags gcc CFLAGS $(.ARCH)/powerpc : -mcpu=powerpc ; -flags gcc CFLAGS $(.ARCH)/power64 : -mcpu=power64 ; -flags gcc CFLAGS $(.ARCH)/403 : -mcpu=403 ; -flags gcc CFLAGS $(.ARCH)/505 : -mcpu=505 ; flags gcc CFLAGS $(.ARCH)/801 : -mcpu=801 ; flags gcc CFLAGS $(.ARCH)/821 : -mcpu=821 ; flags gcc CFLAGS $(.ARCH)/823 : -mcpu=823 ; flags gcc CFLAGS $(.ARCH)/860 : -mcpu=860 ; -flags gcc CFLAGS $(.ARCH)/power-common : -mcpu=common ; -flags gcc CFLAGS power/64 : -mpowerpc64 ; +flags gcc CFLAGS $(.ARCH)/power : -mcpu=power ; +flags gcc CFLAGS $(.ARCH)/power2 : -mcpu=power2 ; +flags gcc CFLAGS $(.ARCH)/power3 : -mcpu=power3 ; +flags gcc CFLAGS $(.ARCH)/power4 : -mcpu=power4 ; +flags gcc CFLAGS $(.ARCH)/power5 : -mcpu=power5 ; +flags gcc CFLAGS $(.ARCH)/powerpc : -mcpu=powerpc ; +flags gcc CFLAGS $(.ARCH)/powerpc64 : -mcpu=powerpc64 ; +# AIX variant of RS/6000 & PowerPC +flags gcc CFLAGS power/32/aix : -maix32 ; +flags gcc LINKFLAGS power/32/aix : -maix32 ; +flags gcc CFLAGS power/64/aix : -maix64 ; +flags gcc LINKFLAGS power/64/aix : -maix64 ; +flags gcc AROPTIONS power/64/aix : "-X 64" ; # MIPS-1-2-3-4 flags gcc MIPS mips1 mips2 mips3 mips4 : TRUE ; flags gcc MIPS @@ -492,5 +503,5 @@ rule Archive-action actions updated together piecemeal gcc-Archive-action { - "$(.AR[1])" ru$(ARFLAGS:J=) "$(<)" "$(>)" + "$(.AR[1])" $(AROPTIONS) ru$(ARFLAGS:J=) "$(<)" "$(>)" }