xref: /xnu-10063.121.3/config/generate_combined_symbolsets_plist.sh (revision 2c2f96dc2b9a4408a43d3150ae9c105355ca3daa)
1#!/bin/sh
2
3set -e
4
5if [ $# -lt 2 ]; then
6    echo "Usage: $0 output.plist input1.plist [input2.plist ... ]" 1>&2
7    exit 1
8fi
9
10OUTPUT="$1"
11shift
12
13printf \
14'<?xml version="1.0" encoding="UTF-8"?>
15<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
16<plist version="1.0">
17<dict>
18	<key>SymbolsSets</key>
19	<array>
20' > "$OUTPUT"
21
22for f in "$@"; do
23awk '
24	BEGIN {
25		print "		<dict>"
26	}
27	/^\t/ {
28		print "		" $0
29		next
30	}
31	END {
32		print "		</dict>"
33	}
34' "$f" >> "$OUTPUT"
35done
36
37printf \
38'	</array>
39	<key>WeakRefFallbackSymbol</key>
40	<dict>
41		<key>SymbolName</key>
42		<string>_gOSKextUnresolved</string>
43	</dict>
44</dict>
45</plist>
46' >> "$OUTPUT"
47
48exit 0
49