author | rubidium |
Thu, 18 Dec 2008 12:23:08 +0000 | |
changeset 10436 | 8d3a9fbe8f19 |
parent 10400 | 03e9c6b00a00 |
permissions | -rwxr-xr-x |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
1 |
#!/bin/bash |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
2 |
|
2e6990a8c7c4
(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 |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
4 |
# can start a bash process, can update the project files. |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
5 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
6 |
ROOT_DIR="`pwd`/.." |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
7 |
if ! [ -e "$ROOT_DIR/source.list" ] |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
8 |
then |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
9 |
ROOT_DIR="`pwd`" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
10 |
fi |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
11 |
if ! [ -e "$ROOT_DIR/source.list" ] |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
12 |
then |
2e6990a8c7c4
(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" |
2e6990a8c7c4
(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." |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
15 |
exit 1 |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
16 |
fi |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
17 |
|
7897
6aa16b938b99
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
7894
diff
changeset
|
18 |
# openttd_vs90.sln is for MSVC 2008 |
6aa16b938b99
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
7894
diff
changeset
|
19 |
# openttd_vs90.vcproj is for MSVC 2008 |
6aa16b938b99
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
7894
diff
changeset
|
20 |
# langs_vs90.vcproj is for MSVC 2008 |
6aa16b938b99
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
7894
diff
changeset
|
21 |
# strgen_vs90.vcproj is for MSVC 2008 |
6aa16b938b99
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
7894
diff
changeset
|
22 |
|
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
23 |
# openttd_vs80.sln is for MSVC 2005 |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
24 |
# openttd_vs80.vcproj is for MSVC 2005 |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
25 |
# langs_vs80.vcproj is for MSVC 2005 |
7894
0bc87abd10ad
(svn r11445) -Codechange: reorder <configuration> in openttd_vs80.vcproj, so there are less diff when it is modified by MSVC
glx
parents:
7294
diff
changeset
|
26 |
# strgen_vs80.vcproj is for MSVC 2005 |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
27 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
28 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
29 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
30 |
# First, collect the list of Windows files |
10379
dd9d0aade65e
(svn r14630) -Add: support Allegro as video backend.
rubidium
parents:
10377
diff
changeset
|
31 |
allegro_config="" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
32 |
sdl_config="1" |
6901
ad8e8b93060d
(svn r10148) -Fix r10143: make --without-png to compile again
truelight
parents:
6177
diff
changeset
|
33 |
png_config="1" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
34 |
os="MSVC" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
35 |
enable_dedicated="0" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
36 |
with_cocoa="0" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
37 |
enable_directmusic="1" |
7294
b53e8aae866c
(svn r10642) -Merge (from NoAI): ./configure flag for disabling threading.
rubidium
parents:
6937
diff
changeset
|
38 |
with_threads="1" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
39 |
file_prefix="..\\\\src\\\\" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
40 |
|
6936
3ea055cc4957
(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:
6901
diff
changeset
|
41 |
safety_check() { |
3ea055cc4957
(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:
6901
diff
changeset
|
42 |
li="" |
6937
40c760fcf1f6
(svn r10190) -Codechange: merged renderer and blitter to one single class API: blitter
truelight
parents:
6936
diff
changeset
|
43 |
for i in `cat $1 | grep -v "#\|ottdres.rc\|win32.cpp\|win32_v.cpp" | xargs -n 1 basename | sort`; do |
6936
3ea055cc4957
(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:
6901
diff
changeset
|
44 |
if [ "$li" = "$i" ]; then |
3ea055cc4957
(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:
6901
diff
changeset
|
45 |
echo " !! ERROR !!" |
3ea055cc4957
(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:
6901
diff
changeset
|
46 |
echo "" |
3ea055cc4957
(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:
6901
diff
changeset
|
47 |
echo "The filename '$i' is already used in this project." |
3ea055cc4957
(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:
6901
diff
changeset
|
48 |
echo "Because MSVC uses one single directory for all object files, it" |
3ea055cc4957
(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:
6901
diff
changeset
|
49 |
echo "cannot handle filenames with the same name inside the same project." |
3ea055cc4957
(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:
6901
diff
changeset
|
50 |
echo "Please rename either one of the file and try generating again." |
3ea055cc4957
(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:
6901
diff
changeset
|
51 |
echo "" |
3ea055cc4957
(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:
6901
diff
changeset
|
52 |
echo " !! ERROR !!" |
3ea055cc4957
(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:
6901
diff
changeset
|
53 |
exit 1 |
3ea055cc4957
(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:
6901
diff
changeset
|
54 |
fi |
3ea055cc4957
(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:
6901
diff
changeset
|
55 |
li="$i" |
3ea055cc4957
(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:
6901
diff
changeset
|
56 |
done |
3ea055cc4957
(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:
6901
diff
changeset
|
57 |
} |
3ea055cc4957
(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:
6901
diff
changeset
|
58 |
|
10377
7fd36921d42f
(svn r14628) -Fix: projects/generate doesn't handle tabs in sources.list properly when determining whether a header is missing.
rubidium
parents:
10239
diff
changeset
|
59 |
grep '\.h' "$ROOT_DIR/source.list" | grep -v '../objs/langs/table/strings.h' | sed 's/ //' | sort > tmp.headers.source.list |
10239
cf55a4c21e7f
(svn r14467) -Fix [FS#2350](r14443): use '~' instead of '#' as sed separator, it could be understood in a wrong way by shell
smatz
parents:
9052
diff
changeset
|
60 |
find "$ROOT_DIR/src" \( -iname "*.h" -or -iname "*.hpp" \) -and -not -ipath "*/.svn/*" | sed "s~$ROOT_DIR/src/~~" | sort > tmp.headers.src |
8972
1268a13ddcd2
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
8934
diff
changeset
|
61 |
if [ -n "`diff tmp.headers.source.list tmp.headers.src`" ]; then |
1268a13ddcd2
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
8934
diff
changeset
|
62 |
echo "The following headers are missing in source.list and not in /src/ or vice versa." |
1268a13ddcd2
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
8934
diff
changeset
|
63 |
diff tmp.headers.source.list tmp.headers.src | grep '[<>]' | sort |
1268a13ddcd2
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
8934
diff
changeset
|
64 |
echo "" |
1268a13ddcd2
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
8934
diff
changeset
|
65 |
fi |
1268a13ddcd2
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
8934
diff
changeset
|
66 |
rm tmp.headers.* |
1268a13ddcd2
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium
parents:
8934
diff
changeset
|
67 |
|
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
68 |
load_main_data() { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
69 |
# Read the source.list and process it |
5512
a7ed0d7f61fa
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5475
diff
changeset
|
70 |
RES="`cat $1 | tr '\r' '\n' | awk ' |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
71 |
/^( *)#end/ { if (deep == skip) { skip -= 1; } deep -= 1; next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
72 |
/^( *)#else/ { if (deep == skip) { skip -= 1; } else if (deep - 1 == skip) { skip += 1; } next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
73 |
/^( *)#if/ { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
74 |
gsub(" ", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
75 |
gsub("^#if", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
76 |
gsub("^ ", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
77 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
78 |
if (deep != skip) { deep += 1; next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
79 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
80 |
deep += 1; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
81 |
|
10379
dd9d0aade65e
(svn r14630) -Add: support Allegro as video backend.
rubidium
parents:
10377
diff
changeset
|
82 |
if ($0 == "ALLEGRO" && "'$allegro_config'" == "") { next; } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
83 |
if ($0 == "SDL" && "'$sdl_config'" == "") { next; } |
6901
ad8e8b93060d
(svn r10148) -Fix r10143: make --without-png to compile again
truelight
parents:
6177
diff
changeset
|
84 |
if ($0 == "PNG" && "'$png_config'" == "") { next; } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
85 |
if ($0 == "OSX" && "'$os'" != "OSX") { next; } |
6045
20affba87a19
(svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight
parents:
5774
diff
changeset
|
86 |
if ($0 == "OS2" && "'$os'" != "OS2") { next; } |
20affba87a19
(svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight
parents:
5774
diff
changeset
|
87 |
if ($0 == "PSP" && "'$os'" != "PSP") { next; } |
10400
03e9c6b00a00
(svn r14651) -Fix [FS#2437] (r14636): extmidi wasn't compiled/linked anymore.
rubidium
parents:
10379
diff
changeset
|
88 |
if ($0 == "DOS" && "'$os'" != "DOS") { next; } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
89 |
if ($0 == "DEDICATED" && "'$enable_dedicated'" != "1") { next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
90 |
if ($0 == "COCOA" && "'$with_cocoa'" == "0") { next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
91 |
if ($0 == "BEOS" && "'$os'" != "BEOS") { next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
92 |
if ($0 == "WIN32" && "'$os'" != "MINGW" && |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
93 |
"'$os'" != "CYGWIN" && "'$os'" != "MSVC" ) { next; } |
5774
366632561f10
(svn r8326) -Fix r8304: forgot to update projects/generate to keep in mind the new WINCE tag in sources.list
truelight
parents:
5512
diff
changeset
|
94 |
if ($0 == "WINCE" && "'$os'" != "WINCE") { next; } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
95 |
if ($0 == "MSVC" && "'$os'" != "MSVC") { next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
96 |
if ($0 == "DIRECTMUSIC" && "'$enable_directmusic'" != "1") { next; } |
6045
20affba87a19
(svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight
parents:
5774
diff
changeset
|
97 |
if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" ) { next; } |
8934
f46812d21fe6
(svn r12706) -Merge: the thread rewrite from NoAI. The rewrite makes the threading we have better extendable.
rubidium
parents:
8409
diff
changeset
|
98 |
if ($0 == "HAVE_THREAD" && "'$with_threads'" == "0") { next; } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
99 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
100 |
skip += 1; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
101 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
102 |
next; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
103 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
104 |
/^( *)#/ { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
105 |
if (deep == skip) { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
106 |
gsub(" ", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
107 |
gsub("^#", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
108 |
gsub("^ ", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
109 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
110 |
if (first_time != 0) { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
111 |
print " </Filter>"; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
112 |
} else { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
113 |
first_time = 1; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
114 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
115 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
116 |
print " <Filter"; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
117 |
print " Name=\\""$0"\\""; |
8409
de295d5e2bb4
(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:
7897
diff
changeset
|
118 |
print " >"; |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
119 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
120 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
121 |
next; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
122 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
123 |
/^$/ { next } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
124 |
{ |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
125 |
if (deep == skip) { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
126 |
gsub(" ", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
127 |
gsub("/", "\\\\", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
128 |
print " <File"; |
8409
de295d5e2bb4
(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:
7897
diff
changeset
|
129 |
print " RelativePath=\\".\\\\'$file_prefix'"$0"\\""; |
de295d5e2bb4
(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:
7897
diff
changeset
|
130 |
print " >"; |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
131 |
print " </File>"; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
132 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
133 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
134 |
END { print " </Filter>"; } |
5512
a7ed0d7f61fa
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5475
diff
changeset
|
135 |
'`" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
136 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
137 |
eval "$2=\"\$RES\"" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
138 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
139 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
140 |
load_lang_data() { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
141 |
RES="" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
142 |
for i in `ls $1` |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
143 |
do |
10239
cf55a4c21e7f
(svn r14467) -Fix [FS#2350](r14443): use '~' instead of '#' as sed separator, it could be understood in a wrong way by shell
smatz
parents:
9052
diff
changeset
|
144 |
i=`basename $i | sed s~.txt$~~g` |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
145 |
RES="$RES |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
146 |
<File |
8409
de295d5e2bb4
(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:
7897
diff
changeset
|
147 |
RelativePath=\"..\\src\\lang\\"$i".txt\" |
de295d5e2bb4
(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:
7897
diff
changeset
|
148 |
> |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
149 |
<FileConfiguration |
8409
de295d5e2bb4
(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:
7897
diff
changeset
|
150 |
Name=\"Debug|Win32\" |
de295d5e2bb4
(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:
7897
diff
changeset
|
151 |
> |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
152 |
<Tool |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
153 |
Name=\"VCCustomBuildTool\" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
154 |
Description=\"Generating "$i" language file\" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
155 |
CommandLine=\"..\\objs\\strgen\\strgen.exe -s ..\\src\\lang -d ..\\bin\\lang "\$(InputPath)"
\" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
156 |
AdditionalDependencies=\"\" |
8409
de295d5e2bb4
(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:
7897
diff
changeset
|
157 |
Outputs=\"..\\bin\\lang\\"$i".lng\" |
de295d5e2bb4
(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:
7897
diff
changeset
|
158 |
/> |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
159 |
</FileConfiguration> |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
160 |
</File>" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
161 |
done |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
162 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
163 |
eval "$2=\"\$RES\"" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
164 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
165 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
166 |
generate() { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
167 |
echo "Generating $2..." |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
168 |
# Everything above the !!FILES!! marker |
6177
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
169 |
cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' |
5512
a7ed0d7f61fa
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5475
diff
changeset
|
170 |
/^$/ { next } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
171 |
/!!FILES!!/ { stop = 1; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
172 |
{ |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
173 |
if (stop == 0) { print $0 } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
174 |
} |
6177
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
175 |
' > "$ROOT_DIR/projects/$2" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
176 |
|
8409
de295d5e2bb4
(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:
7897
diff
changeset
|
177 |
echo "$1" >> "$ROOT_DIR/projects/$2" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
178 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
179 |
# Everything below the !!FILES!! marker |
6177
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
180 |
cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
181 |
BEGIN { stop = 1; } |
5512
a7ed0d7f61fa
(svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx
parents:
5475
diff
changeset
|
182 |
/^$/ { next } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
183 |
/!!FILES!!/ { stop = 2; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
184 |
{ |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
185 |
if (stop == 0) { print $0 } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
186 |
if (stop == 2) { stop = 0 } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
187 |
} |
6177
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
188 |
' >> "$ROOT_DIR/projects/$2" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
189 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
190 |
|
6936
3ea055cc4957
(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:
6901
diff
changeset
|
191 |
safety_check "$ROOT_DIR/source.list" |
3ea055cc4957
(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:
6901
diff
changeset
|
192 |
|
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
193 |
load_main_data "$ROOT_DIR/source.list" openttd |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
194 |
load_lang_data "$ROOT_DIR/src/lang/*.txt" lang |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
195 |
|
8409
de295d5e2bb4
(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:
7897
diff
changeset
|
196 |
generate "$openttd" "openttd_vs80.vcproj" |
de295d5e2bb4
(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:
7897
diff
changeset
|
197 |
generate "$openttd" "openttd_vs90.vcproj" |
de295d5e2bb4
(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:
7897
diff
changeset
|
198 |
generate "$lang" "langs_vs80.vcproj" |
de295d5e2bb4
(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:
7897
diff
changeset
|
199 |
generate "$lang" "langs_vs90.vcproj" |