diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2010-04-07 21:34:28 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2010-04-07 21:34:28 +0000 |
commit | 8fa3e4efa6dda752d2a9f7aefeafb7447ec9aaef (patch) | |
tree | 69e882724e9fff34440c55cd1b96b2d90c4010f0 /BuildScripts | |
parent | ea10e2c2f488d524cbd8bba474c2c95cc0c85159 (diff) |
[Author: dmaclach]
Take 2 at fixing the compiler. Now errors out correctly, and works with spaces.
R=thomasvl
DELTA=14 (9 added, 0 deleted, 5 changed)
Diffstat (limited to 'BuildScripts')
-rwxr-xr-x | BuildScripts/PListCompiler.sh | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/BuildScripts/PListCompiler.sh b/BuildScripts/PListCompiler.sh index 80291f9..844c087 100755 --- a/BuildScripts/PListCompiler.sh +++ b/BuildScripts/PListCompiler.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # PlistCompiler.sh # Copyright 2010 Google Inc. @@ -32,8 +32,8 @@ set -o errexit set -o nounset -PWD=pwd -GTM_PLIST_COMPILER_INCLUDE_PATHS=${GTM_PLIST_COMPILER_INCLUDE_PATHS:=PWD} +PWD=$(pwd) +GTM_PLIST_COMPILER_INCLUDE_PATHS=${GTM_PLIST_COMPILER_INCLUDE_PATHS:=${PWD}} if [[ $# -ne 2 && $# -ne 0 ]] ; then echo "usage: ${0} INPUT OUTPUT" >&2 @@ -51,12 +51,20 @@ fi # Split up the passed in include paths SaveIFS=$IFS IFS=":" -split_include_paths="" + +declare -a SPLIT_INCLUDE_PATHS for a in ${GTM_PLIST_COMPILER_INCLUDE_PATHS}; do -split_include_paths="$split_include_paths -I '$a'" + SPLIT_INCLUDE_PATHS[${#SPLIT_INCLUDE_PATHS[@]}]=-I + SPLIT_INCLUDE_PATHS[${#SPLIT_INCLUDE_PATHS[@]}]="${a}" done IFS=$SaveIFS +NAME=$(basename $0) +TEMP=$(mktemp -t "${NAME}") + # run gcc and strip out lines starting with # that the preprocessor leaves behind. -gcc ${split_include_paths} -E -x c "${SCRIPT_INPUT_FILE}" | sed 's/^#.*//g' > "${SCRIPT_OUTPUT_FILE}" +gcc ${SPLIT_INCLUDE_PATHS[@]} -E -x c "${SCRIPT_INPUT_FILE}" -o "${TEMP}" +sed 's/^#.*//g' "${TEMP}" > "${SCRIPT_OUTPUT_FILE}" +rm -f "${TEMP}" + |