From 51dd68a28c89d7a50727c3087362e554a5555226 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 7 Jan 2015 15:48:11 -0400 Subject: [PATCH] smarter wrapper; detect -r link option /home/builder/.ghc/android-14/arm-linux-androideabi-4.8/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld: fatal error: -pie and -r are incompatible --- standalone/android/buildapk | 4 +--- standalone/android/wrapper.pl | 12 ++++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 standalone/android/wrapper.pl diff --git a/standalone/android/buildapk b/standalone/android/buildapk index e91dd28b45..213ddcbb15 100755 --- a/standalone/android/buildapk +++ b/standalone/android/buildapk @@ -14,9 +14,7 @@ fi VER="$(perl -e '$_=<>;print m/\((.*?)\)/'<../../CHANGELOG)" wrap () { - echo "#!/bin/sh -e" > "$2" - echo "echo \"$1 added options: $3\" >&2" >> "$2" - echo "$1 $3 "'"$@"' >> "$2" + sed -e "s!PROG!$1!" -e "s!OPTS!$3! < wrapper.pl > "$2" chmod +x "$2" } diff --git a/standalone/android/wrapper.pl b/standalone/android/wrapper.pl new file mode 100644 index 0000000000..ae484a6cfe --- /dev/null +++ b/standalone/android/wrapper.pl @@ -0,0 +1,12 @@ +#!/usr/bin/perl +my $prog=q{PROG}; # replaced +my @opts=qw{OPTS}; # replaced + +if (grep { $_ eq "-r" || $_ eq "--relocatable" } @ARGV) { + print "running $prog withthout extra opts, as relocatable build detected\n"; + exec($prog,@ARGV) || die "failed to run $prog"; +} +else { + print "running $prog with extra opts @opts\n"; + exec($prog,@opts,@ARGV) || die "failed to run $prog"; +}