X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/6d3af51ef4751f5b8270c1aa348f0d7ed11e2fe2..c15969fd0a6280c60d2f35876b5343004fed2b11:/trampoline.sh?ds=sidebyside diff --git a/trampoline.sh b/trampoline.sh index 7c3cfaf..ff0720c 100755 --- a/trampoline.sh +++ b/trampoline.sh @@ -1,27 +1,38 @@ #!/bin/bash -set -e +# Cycript - Optimizing JavaScript Compiler/Runtime +# Copyright (C) 2009-2013 Jay Freeman (saurik) + +# GNU General Public License, Version 3 {{{ +# +# Cycript is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published +# by the Free Software Foundation, either version 3 of the License, +# or (at your option) any later version. +# +# Cycript is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with Cycript. If not, see . +# }}} -shopt -s extglob +set -e hpp=$1 object=$2 name=$3 sed=$4 -otool=$5 -lipo=$6 -nm=$7 -shift 7 +lipo=$5 +nm=$6 +otool=$7 -#shift 1 -#set /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.3.sdk/usr/include "$@" - -"$@" +exec >"${hpp}" detailed=$("${lipo}" -detailed_info "${object}") -{ - regex=$'\nNon-fat file: .* is architecture: (.*)' if [[ ${detailed} =~ ${regex} ]]; then archs=(${BASH_REMATCH[1]}) @@ -51,7 +62,7 @@ for arch in "${archs[@]}"; do x; }; x; /^ *cmd LC_SEGMENT/ { x; s/.*/1/; x; }; - + d; ')) @@ -90,7 +101,7 @@ for arch in "${archs[@]}"; do echo echo "/*" - "${otool}" -vVt -arch "${arch}" "${object}" + "${otool}" -arch "${arch}" -vVt "${object}" echo "*/" echo @@ -99,8 +110,5 @@ for arch in "${archs[@]}"; do echo " sizeof(${name}_${arch}_data_)," echo " ${name}_${arch}_entry_," echo "};" -done -} >"${hpp}" - -#rm -f "${object}" +done