(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
--- a/projects/generate Wed Feb 28 17:59:05 2007 +0000
+++ b/projects/generate Wed Feb 28 23:52:04 2007 +0000
@@ -130,27 +130,33 @@
generate() {
echo "Generating $2..."
# Everything above the !!FILES!! marker
- RES="`cat \"$ROOT_DIR/projects/$2\".in | tr '\r' '\n' | awk '
+ cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk '
/^$/ { next }
/!!FILES!!/ { stop = 1; }
{
if (stop == 0) { print $0 }
}
- ' > \"$ROOT_DIR/projects/$2\"`"
+ ' > "$ROOT_DIR/projects/$2"
# The files-list
- if [ "$3" = "msvc2003" ]; then
- echo "$1" | sed 's@\
\
@\n@' >> "$ROOT_DIR/projects/$2"
- else
- echo "$1" | sed '
- s@Filter="">@>@;
- s@^\([ ]*\)\([^ <].*[^/]\)>$@\1\2\n\1>@g;
- s@^ \([ ]*\)\([^ <].*\)/>$@ \1\2\n\1/>@g;
- ' >> "$ROOT_DIR/projects/$2"
- fi
+ echo "$1" | awk -v type="$3" '
+ /
/ {
+ if (type == "msvc2003") gsub("
", "\n", $0);
+ }
+ /Filter="">/ {
+ if (type == "msvc2005") gsub("Filter=\"\">", ">", $0);
+ }
+ /"\/>/ {
+ if (type == "msvc2005") gsub("/>", "\n" substr($0, 1, index($0, $1) - 2) "/>", $0);
+ }
+ /">/ {
+ if (type == "msvc2005") gsub(">", "\n" substr($0, 1, index($0, $1) - 1) ">", $0);
+ }
+ { print $0 }
+ ' >> "$ROOT_DIR/projects/$2"
# Everything below the !!FILES!! marker
- RES="`cat \"$ROOT_DIR/projects/$2\".in | tr '\r' '\n' | awk '
+ cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk '
BEGIN { stop = 1; }
/^$/ { next }
/!!FILES!!/ { stop = 2; }
@@ -158,7 +164,7 @@
if (stop == 0) { print $0 }
if (stop == 2) { stop = 0 }
}
- ' >> \"$ROOT_DIR/projects/$2\"`"
+ ' >> "$ROOT_DIR/projects/$2"
}
load_main_data "$ROOT_DIR/source.list" openttd