author | skidd13 |
Sun, 15 Jun 2008 15:48:33 +0000 | |
changeset 10967 | fb9a80b89ea4 |
parent 10342 | 6f57df77abd8 |
permissions | -rwxr-xr-x |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
1 |
#!/bin/bash |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
2 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
3 |
# This file generates all project files based on sources.list, so everyone who |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
4 |
# can start a bash process, can update the project files. |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
5 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
6 |
ROOT_DIR="`pwd`/.." |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
7 |
if ! [ -e "$ROOT_DIR/source.list" ] |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
8 |
then |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
9 |
ROOT_DIR="`pwd`" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
10 |
fi |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
11 |
if ! [ -e "$ROOT_DIR/source.list" ] |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
12 |
then |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
13 |
echo "Can't find source.list, needed in order to make this run. Please go to either" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
14 |
echo " the project dir, or the root dir of a clean SVN checkout." |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
15 |
exit 1 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
16 |
fi |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
17 |
|
8393
302798e32478
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
8390
diff
changeset
|
18 |
# openttd_vs90.sln is for MSVC 2008 |
302798e32478
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
8390
diff
changeset
|
19 |
# openttd_vs90.vcproj is for MSVC 2008 |
302798e32478
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
8390
diff
changeset
|
20 |
# langs_vs90.vcproj is for MSVC 2008 |
302798e32478
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
8390
diff
changeset
|
21 |
# strgen_vs90.vcproj is for MSVC 2008 |
302798e32478
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
8390
diff
changeset
|
22 |
|
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
23 |
# openttd_vs80.sln is for MSVC 2005 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
24 |
# openttd_vs80.vcproj is for MSVC 2005 |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
25 |
# langs_vs80.vcproj is for MSVC 2005 |
8390
2fa829d2fca1
(svn r11445) -Codechange: reorder <configuration> in openttd_vs80.vcproj, so there are less diff when it is modified by MSVC
glx
parents:
7790
diff
changeset
|
26 |
# strgen_vs80.vcproj is for MSVC 2005 |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
27 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
28 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
29 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
30 |
# First, collect the list of Windows files |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
31 |
sdl_config="1" |
7397
d371cc0fbb3c
(svn r10148) -Fix r10143: make --without-png to compile again
truelight
parents:
6503
diff
changeset
|
32 |
png_config="1" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
33 |
os="MSVC" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
34 |
enable_dedicated="0" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
35 |
with_cocoa="0" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
36 |
enable_directmusic="1" |
7790
73f48009ce0c
(svn r10642) -Merge (from NoAI): ./configure flag for disabling threading.
rubidium
parents:
7433
diff
changeset
|
37 |
with_threads="1" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
38 |
file_prefix="..\\\\src\\\\" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
39 |
|
7432
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
40 |
safety_check() { |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
41 |
li="" |
7433
8e410e7ec0d7
(svn r10190) -Codechange: merged renderer and blitter to one single class API: blitter
truelight
parents:
7432
diff
changeset
|
42 |
for i in `cat $1 | grep -v "#\|ottdres.rc\|win32.cpp\|win32_v.cpp" | xargs -n 1 basename | sort`; do |
7432
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
43 |
if [ "$li" = "$i" ]; then |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
44 |
echo " !! ERROR !!" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
45 |
echo "" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
46 |
echo "The filename '$i' is already used in this project." |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
47 |
echo "Because MSVC uses one single directory for all object files, it" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
48 |
echo "cannot handle filenames with the same name inside the same project." |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
49 |
echo "Please rename either one of the file and try generating again." |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
50 |
echo "" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
51 |
echo " !! ERROR !!" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
52 |
exit 1 |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
53 |
fi |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
54 |
li="$i" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
55 |
done |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
56 |
} |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
57 |
|
10232
e4c1d7c5310f
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
10175
diff
changeset
|
58 |
grep '\.h' "$ROOT_DIR/source.list" | grep -v '../objs/langs/table/strings.h' | sort > tmp.headers.source.list |
10342
6f57df77abd8
(svn r12882) -Fix (r12764): the check for missing header files could find more files than needed
glx
parents:
10232
diff
changeset
|
59 |
find "$ROOT_DIR/src" \( -iname "*.h" -or -iname "*.hpp" \) -and -not -ipath "*/.svn/*" | sed "s@$ROOT_DIR/src/@@" | sort > tmp.headers.src |
10232
e4c1d7c5310f
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
10175
diff
changeset
|
60 |
if [ -n "`diff tmp.headers.source.list tmp.headers.src`" ]; then |
e4c1d7c5310f
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
10175
diff
changeset
|
61 |
echo "The following headers are missing in source.list and not in /src/ or vice versa." |
e4c1d7c5310f
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
10175
diff
changeset
|
62 |
diff tmp.headers.source.list tmp.headers.src | grep '[<>]' | sort |
e4c1d7c5310f
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
10175
diff
changeset
|
63 |
echo "" |
e4c1d7c5310f
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
10175
diff
changeset
|
64 |
fi |
e4c1d7c5310f
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
10175
diff
changeset
|
65 |
rm tmp.headers.* |
e4c1d7c5310f
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
10175
diff
changeset
|
66 |
|
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
67 |
load_main_data() { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
68 |
# Read the source.list and process it |
5763
d43b3021adcd
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5726
diff
changeset
|
69 |
RES="`cat $1 | tr '\r' '\n' | awk ' |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
70 |
/^( *)#end/ { if (deep == skip) { skip -= 1; } deep -= 1; next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
71 |
/^( *)#else/ { if (deep == skip) { skip -= 1; } else if (deep - 1 == skip) { skip += 1; } next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
72 |
/^( *)#if/ { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
73 |
gsub(" ", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
74 |
gsub("^#if", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
75 |
gsub("^ ", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
76 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
77 |
if (deep != skip) { deep += 1; next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
78 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
79 |
deep += 1; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
80 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
81 |
if ($0 == "SDL" && "'$sdl_config'" == "") { next; } |
7397
d371cc0fbb3c
(svn r10148) -Fix r10143: make --without-png to compile again
truelight
parents:
6503
diff
changeset
|
82 |
if ($0 == "PNG" && "'$png_config'" == "") { next; } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
83 |
if ($0 == "OSX" && "'$os'" != "OSX") { next; } |
6371
9274ab7d1def
(svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight
parents:
6025
diff
changeset
|
84 |
if ($0 == "OS2" && "'$os'" != "OS2") { next; } |
9274ab7d1def
(svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight
parents:
6025
diff
changeset
|
85 |
if ($0 == "PSP" && "'$os'" != "PSP") { next; } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
86 |
if ($0 == "DEDICATED" && "'$enable_dedicated'" != "1") { next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
87 |
if ($0 == "COCOA" && "'$with_cocoa'" == "0") { next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
88 |
if ($0 == "BEOS" && "'$os'" != "BEOS") { next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
89 |
if ($0 == "WIN32" && "'$os'" != "MINGW" && |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
90 |
"'$os'" != "CYGWIN" && "'$os'" != "MSVC" ) { next; } |
6025
596b7176dc7f
(svn r8326) -Fix r8304: forgot to update projects/generate to keep in mind the new WINCE tag in sources.list
truelight
parents:
5763
diff
changeset
|
91 |
if ($0 == "WINCE" && "'$os'" != "WINCE") { next; } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
92 |
if ($0 == "MSVC" && "'$os'" != "MSVC") { next; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
93 |
if ($0 == "DIRECTMUSIC" && "'$enable_directmusic'" != "1") { next; } |
6371
9274ab7d1def
(svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight
parents:
6025
diff
changeset
|
94 |
if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" ) { next; } |
10175
1119f6640ee6
(svn r12706) -Merge: the thread rewrite from NoAI. The rewrite makes the threading we have better extendable.
rubidium
parents:
8905
diff
changeset
|
95 |
if ($0 == "HAVE_THREAD" && "'$with_threads'" == "0") { next; } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
96 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
97 |
skip += 1; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
98 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
99 |
next; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
100 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
101 |
/^( *)#/ { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
102 |
if (deep == skip) { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
103 |
gsub(" ", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
104 |
gsub("^#", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
105 |
gsub("^ ", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
106 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
107 |
if (first_time != 0) { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
108 |
print " </Filter>"; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
109 |
} else { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
110 |
first_time = 1; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
111 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
112 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
113 |
print " <Filter"; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
114 |
print " Name=\\""$0"\\""; |
8905
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
115 |
print " >"; |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
116 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
117 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
118 |
next; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
119 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
120 |
/^$/ { next } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
121 |
{ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
122 |
if (deep == skip) { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
123 |
gsub(" ", "", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
124 |
gsub("/", "\\\\", $0); |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
125 |
print " <File"; |
8905
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
126 |
print " RelativePath=\\".\\\\'$file_prefix'"$0"\\""; |
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
127 |
print " >"; |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
128 |
print " </File>"; |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
129 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
130 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
131 |
END { print " </Filter>"; } |
5763
d43b3021adcd
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5726
diff
changeset
|
132 |
'`" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
133 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
134 |
eval "$2=\"\$RES\"" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
135 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
136 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
137 |
load_lang_data() { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
138 |
RES="" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
139 |
for i in `ls $1` |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
140 |
do |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
141 |
i=`basename $i | sed s/.txt$//g` |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
142 |
RES="$RES |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
143 |
<File |
8905
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
144 |
RelativePath=\"..\\src\\lang\\"$i".txt\" |
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
145 |
> |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
146 |
<FileConfiguration |
8905
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
147 |
Name=\"Debug|Win32\" |
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
148 |
> |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
149 |
<Tool |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
150 |
Name=\"VCCustomBuildTool\" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
151 |
Description=\"Generating "$i" language file\" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
152 |
CommandLine=\"..\\objs\\strgen\\strgen.exe -s ..\\src\\lang -d ..\\bin\\lang "\$(InputPath)"
\" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
153 |
AdditionalDependencies=\"\" |
8905
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
154 |
Outputs=\"..\\bin\\lang\\"$i".lng\" |
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
155 |
/> |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
156 |
</FileConfiguration> |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
157 |
</File>" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
158 |
done |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
159 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
160 |
eval "$2=\"\$RES\"" |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
161 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
162 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
163 |
generate() { |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
164 |
echo "Generating $2..." |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
165 |
# Everything above the !!FILES!! marker |
6503
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
166 |
cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' |
5763
d43b3021adcd
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5726
diff
changeset
|
167 |
/^$/ { next } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
168 |
/!!FILES!!/ { stop = 1; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
169 |
{ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
170 |
if (stop == 0) { print $0 } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
171 |
} |
6503
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
172 |
' > "$ROOT_DIR/projects/$2" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
173 |
|
8905
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
174 |
echo "$1" >> "$ROOT_DIR/projects/$2" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
175 |
|
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
176 |
# Everything below the !!FILES!! marker |
6503
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
177 |
cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
178 |
BEGIN { stop = 1; } |
5763
d43b3021adcd
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5726
diff
changeset
|
179 |
/^$/ { next } |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
180 |
/!!FILES!!/ { stop = 2; } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
181 |
{ |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
182 |
if (stop == 0) { print $0 } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
183 |
if (stop == 2) { stop = 0 } |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
184 |
} |
6503
92d748cdefbe
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6423
diff
changeset
|
185 |
' >> "$ROOT_DIR/projects/$2" |
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
186 |
} |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
187 |
|
7432
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
188 |
safety_check "$ROOT_DIR/source.list" |
2c1075bc97d3
(svn r10189) -Add: added a safety check in MSVC project generate script to make sure we do not use filenames with the same name in different directories, as MSVC is plain stupid and can't handle that (go wine to Billy or something if you want it fixed properly)
truelight
parents:
7397
diff
changeset
|
189 |
|
5726
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
190 |
load_main_data "$ROOT_DIR/source.list" openttd |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
191 |
load_lang_data "$ROOT_DIR/src/lang/*.txt" lang |
8f399788f6c9
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
192 |
|
8905
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
193 |
generate "$openttd" "openttd_vs80.vcproj" |
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
194 |
generate "$openttd" "openttd_vs90.vcproj" |
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
195 |
generate "$lang" "langs_vs80.vcproj" |
a6974b6041d9
(svn r11979) -Codechange: drop MSVC 2003 support because MSVC 2003 is broken in such a manner that it triggers an internal compiler error without any clue what of the code is wrong. Even trying to bisect the problem does not give a single line of code that causes the trouble.
rubidium
parents:
8393
diff
changeset
|
196 |
generate "$lang" "langs_vs90.vcproj" |