diff --git a/v2/tools/builtin.jam b/v2/tools/builtin.jam index 5da22631a..767e0e2af 100644 --- a/v2/tools/builtin.jam +++ b/v2/tools/builtin.jam @@ -300,6 +300,7 @@ feature.feature instruction-set : # Advanced RISC Machines armv2 armv2a armv3 armv3m armv4 armv4t armv5 armv5t armv5te armv6 armv6j iwmmxt ep9312 + armv7 armv7s : propagated optional ; diff --git a/v2/tools/darwin.jam b/v2/tools/darwin.jam index dd6eacb11..84ad488bd 100644 --- a/v2/tools/darwin.jam +++ b/v2/tools/darwin.jam @@ -35,6 +35,8 @@ feature force-load : : free dependency incidental ; ############################################################################# +_ = " " ; + if [ MATCH (--debug-configuration) : [ modules.peek : ARGV ] ] { .debug-configuration = true ; @@ -376,6 +378,7 @@ rule setup-address-model ( targets * : sources * : properties * ) { local ps = [ property-set.create $(properties) ] ; local arch = [ $(ps).get ] ; + local instruction-set = [ $(ps).get ] ; local address-model = [ $(ps).get ] ; local osx-version = [ $(ps).get ] ; local gcc-version = [ $(ps).get ] ; @@ -454,8 +457,12 @@ rule setup-address-model ( targets * : sources * : properties * ) case arm : { - options = -arch armv6 ; - } + if $(instruction-set) { + options = -arch$(_)$(instruction-set) ; + } else { + options = -arch arm ; + } + } } if $(options) @@ -526,8 +533,6 @@ flags darwin.link FORCE_LOAD ; # uncomment to see what libtool is doing under the hood #~ flags darwin.link.dll OPTIONS : -Wl,-v ; -_ = " " ; - # set up the -F option to include the paths to any frameworks used. local rule prepare-framework-path ( target + ) {