summaryrefslogtreecommitdiffstats
path: root/src/inline.sh
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2011-03-06 00:27:25 (GMT)
committerEvan Martin <martine@danga.com>2011-03-07 19:31:11 (GMT)
commit07ffa9195dd83176ddb96bbfb1eca0a3ca938a8b (patch)
tree03b240b89fa2500cf8b6285ad8e2f7be277eb667 /src/inline.sh
parent15d4695878749c3525c96e856ef08dfb19a2c3e5 (diff)
downloadNinja-07ffa9195dd83176ddb96bbfb1eca0a3ca938a8b.zip
Ninja-07ffa9195dd83176ddb96bbfb1eca0a3ca938a8b.tar.gz
Ninja-07ffa9195dd83176ddb96bbfb1eca0a3ca938a8b.tar.bz2
use a shell script to inline browse.py
Relying on the inline-assembly trick was cute but it didn't work on other platforms; relying on xxd will make us depend on xxd being available. Instead, inline browse.py into a header using a shell script. (Making this work required fixing multiple bugs in ninja...)
Diffstat (limited to 'src/inline.sh')
-rwxr-xr-xsrc/inline.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/inline.sh b/src/inline.sh
new file mode 100755
index 0000000..e32f33d
--- /dev/null
+++ b/src/inline.sh
@@ -0,0 +1,29 @@
+#!/bin/sh
+#
+# Copyright 2001 Google Inc. All Rights Reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# This quick script converts a text file into an #include-able header.
+# It expects the name of the variable as its first argument, and reads
+# stdin and writes stdout.
+
+varname="$1"
+echo "const char $varname[] ="
+IFS=
+while read line; do
+ escaped=$(echo "$line" | sed -e 's|\\|\\\\|g; s|"|\\"|g')
+ echo "\"$escaped\\n\""
+done
+echo ";"
+