annotate projects/generate @ 8972:9837d8a1f782 draft

(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
author rubidium <rubidium@openttd.org>
date Fri, 18 Apr 2008 09:49:23 +0000
parents a56c5ca0f396
children 6ca57f00ae31
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
1 #!/bin/bash
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
2
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
3 # This file generates all project files based on sources.list, so everyone who
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
4 # can start a bash process, can update the project files.
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
5
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
6 ROOT_DIR="`pwd`/.."
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
7 if ! [ -e "$ROOT_DIR/source.list" ]
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
8 then
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
9 ROOT_DIR="`pwd`"
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
10 fi
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
11 if ! [ -e "$ROOT_DIR/source.list" ]
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
12 then
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
13 echo "Can't find source.list, needed in order to make this run. Please go to either"
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
14 echo " the project dir, or the root dir of a clean SVN checkout."
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
15 exit 1
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
16 fi
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
17
7897
19c70e3eac78 (svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx <glx@openttd.org>
parents: 7894
diff changeset
18 # openttd_vs90.sln is for MSVC 2008
19c70e3eac78 (svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx <glx@openttd.org>
parents: 7894
diff changeset
19 # openttd_vs90.vcproj is for MSVC 2008
19c70e3eac78 (svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx <glx@openttd.org>
parents: 7894
diff changeset
20 # langs_vs90.vcproj is for MSVC 2008
19c70e3eac78 (svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx <glx@openttd.org>
parents: 7894
diff changeset
21 # strgen_vs90.vcproj is for MSVC 2008
19c70e3eac78 (svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx <glx@openttd.org>
parents: 7894
diff changeset
22
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
23 # openttd_vs80.sln is for MSVC 2005
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
24 # openttd_vs80.vcproj is for MSVC 2005
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
25 # langs_vs80.vcproj is for MSVC 2005
7894
ea86dea6536d (svn r11445) -Codechange: reorder <configuration> in openttd_vs80.vcproj, so there are less diff when it is modified by MSVC
glx <glx@openttd.org>
parents: 7294
diff changeset
26 # strgen_vs80.vcproj is for MSVC 2005
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
27
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
28
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
29
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
30 # First, collect the list of Windows files
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
31 sdl_config="1"
6901
a4380019a3db (svn r10148) -Fix r10143: make --without-png to compile again
truelight <truelight@openttd.org>
parents: 6177
diff changeset
32 png_config="1"
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
33 os="MSVC"
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
34 enable_dedicated="0"
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
35 with_cocoa="0"
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
36 enable_directmusic="1"
7294
a9c7369fdb90 (svn r10642) -Merge (from NoAI): ./configure flag for disabling threading.
rubidium <rubidium@openttd.org>
parents: 6937
diff changeset
37 with_threads="1"
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
38 file_prefix="..\\\\src\\\\"
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
39
6936
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
40 safety_check() {
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
41 li=""
6937
b6cf3513b2c4 (svn r10190) -Codechange: merged renderer and blitter to one single class API: blitter
truelight <truelight@openttd.org>
parents: 6936
diff changeset
42 for i in `cat $1 | grep -v "#\|ottdres.rc\|win32.cpp\|win32_v.cpp" | xargs -n 1 basename | sort`; do
6936
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
43 if [ "$li" = "$i" ]; then
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
44 echo " !! ERROR !!"
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
45 echo ""
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
46 echo "The filename '$i' is already used in this project."
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
47 echo "Because MSVC uses one single directory for all object files, it"
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
48 echo "cannot handle filenames with the same name inside the same project."
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
49 echo "Please rename either one of the file and try generating again."
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
50 echo ""
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
51 echo " !! ERROR !!"
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
52 exit 1
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
53 fi
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
54 li="$i"
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
55 done
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
56 }
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
57
8972
9837d8a1f782 (svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents: 8934
diff changeset
58 grep '\.h' "$ROOT_DIR/source.list" | grep -v '../objs/langs/table/strings.h' | sort > tmp.headers.source.list
9837d8a1f782 (svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents: 8934
diff changeset
59 find "$ROOT_DIR/src" -iname "*.h*" -and -not -iname "*svn*" -and -not -iname "*.hpp.sq" | sed "s@$ROOT_DIR/src/@@" | sort > tmp.headers.src
9837d8a1f782 (svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents: 8934
diff changeset
60 if [ -n "`diff tmp.headers.source.list tmp.headers.src`" ]; then
9837d8a1f782 (svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents: 8934
diff changeset
61 echo "The following headers are missing in source.list and not in /src/ or vice versa."
9837d8a1f782 (svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents: 8934
diff changeset
62 diff tmp.headers.source.list tmp.headers.src | grep '[<>]' | sort
9837d8a1f782 (svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents: 8934
diff changeset
63 echo ""
9837d8a1f782 (svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents: 8934
diff changeset
64 fi
9837d8a1f782 (svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents: 8934
diff changeset
65 rm tmp.headers.*
9837d8a1f782 (svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents: 8934
diff changeset
66
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
67 load_main_data() {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
68 # Read the source.list and process it
5512
a4f44b155522 (svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx <glx@openttd.org>
parents: 5475
diff changeset
69 RES="`cat $1 | tr '\r' '\n' | awk '
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
70 /^( *)#end/ { if (deep == skip) { skip -= 1; } deep -= 1; next; }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
71 /^( *)#else/ { if (deep == skip) { skip -= 1; } else if (deep - 1 == skip) { skip += 1; } next; }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
72 /^( *)#if/ {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
73 gsub(" ", "", $0);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
74 gsub("^#if", "", $0);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
75 gsub("^ ", "", $0);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
76
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
77 if (deep != skip) { deep += 1; next; }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
78
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
79 deep += 1;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
80
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
81 if ($0 == "SDL" && "'$sdl_config'" == "") { next; }
6901
a4380019a3db (svn r10148) -Fix r10143: make --without-png to compile again
truelight <truelight@openttd.org>
parents: 6177
diff changeset
82 if ($0 == "PNG" && "'$png_config'" == "") { next; }
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
83 if ($0 == "OSX" && "'$os'" != "OSX") { next; }
6045
5b541e0c8c93 (svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight <truelight@openttd.org>
parents: 5774
diff changeset
84 if ($0 == "OS2" && "'$os'" != "OS2") { next; }
5b541e0c8c93 (svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight <truelight@openttd.org>
parents: 5774
diff changeset
85 if ($0 == "PSP" && "'$os'" != "PSP") { next; }
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
86 if ($0 == "DEDICATED" && "'$enable_dedicated'" != "1") { next; }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
87 if ($0 == "COCOA" && "'$with_cocoa'" == "0") { next; }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
88 if ($0 == "BEOS" && "'$os'" != "BEOS") { next; }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
89 if ($0 == "WIN32" && "'$os'" != "MINGW" &&
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
90 "'$os'" != "CYGWIN" && "'$os'" != "MSVC" ) { next; }
5774
c87bd9bcfe8f (svn r8326) -Fix r8304: forgot to update projects/generate to keep in mind the new WINCE tag in sources.list
truelight <truelight@openttd.org>
parents: 5512
diff changeset
91 if ($0 == "WINCE" && "'$os'" != "WINCE") { next; }
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
92 if ($0 == "MSVC" && "'$os'" != "MSVC") { next; }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
93 if ($0 == "DIRECTMUSIC" && "'$enable_directmusic'" != "1") { next; }
6045
5b541e0c8c93 (svn r8772) -Fix: forgot to update 'generate' file while updating 'configure' in the last 3 changes in 'configure'
truelight <truelight@openttd.org>
parents: 5774
diff changeset
94 if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" ) { next; }
8934
a56c5ca0f396 (svn r12706) -Merge: the thread rewrite from NoAI. The rewrite makes the threading we have better extendable.
rubidium <rubidium@openttd.org>
parents: 8409
diff changeset
95 if ($0 == "HAVE_THREAD" && "'$with_threads'" == "0") { next; }
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
96
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
97 skip += 1;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
98
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
99 next;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
100 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
101 /^( *)#/ {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
102 if (deep == skip) {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
103 gsub(" ", "", $0);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
104 gsub("^#", "", $0);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
105 gsub("^ ", "", $0);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
106
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
107 if (first_time != 0) {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
108 print " </Filter>";
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
109 } else {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
110 first_time = 1;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
111 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
112
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
113 print " <Filter";
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
114 print " Name=\\""$0"\\"";
8409
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
115 print " >";
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
116 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
117
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
118 next;
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
119 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
120 /^$/ { next }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
121 {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
122 if (deep == skip) {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
123 gsub(" ", "", $0);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
124 gsub("/", "\\\\", $0);
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
125 print " <File";
8409
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
126 print " RelativePath=\\".\\\\'$file_prefix'"$0"\\"";
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
127 print " >";
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
128 print " </File>";
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
129 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
130 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
131 END { print " </Filter>"; }
5512
a4f44b155522 (svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx <glx@openttd.org>
parents: 5475
diff changeset
132 '`"
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
133
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
134 eval "$2=\"\$RES\""
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
135 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
136
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
137 load_lang_data() {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
138 RES=""
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
139 for i in `ls $1`
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
140 do
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
141 i=`basename $i | sed s/.txt$//g`
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
142 RES="$RES
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
143 <File
8409
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
144 RelativePath=\"..\\src\\lang\\"$i".txt\"
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
145 >
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
146 <FileConfiguration
8409
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
147 Name=\"Debug|Win32\"
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
148 >
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
149 <Tool
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
150 Name=\"VCCustomBuildTool\"
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
151 Description=\"Generating "$i" language file\"
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
152 CommandLine=\"..\\objs\\strgen\\strgen.exe -s ..\\src\\lang -d ..\\bin\\lang &quot;\$(InputPath)&quot;&#x0D;&#x0A;\"
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
153 AdditionalDependencies=\"\"
8409
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
154 Outputs=\"..\\bin\\lang\\"$i".lng\"
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
155 />
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
156 </FileConfiguration>
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
157 </File>"
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
158 done
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
159
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
160 eval "$2=\"\$RES\""
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
161 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
162
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
163 generate() {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
164 echo "Generating $2..."
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
165 # Everything above the !!FILES!! marker
6177
ed54dc50aeaf (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx <glx@openttd.org>
parents: 6097
diff changeset
166 cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk '
5512
a4f44b155522 (svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx <glx@openttd.org>
parents: 5475
diff changeset
167 /^$/ { next }
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
168 /!!FILES!!/ { stop = 1; }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
169 {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
170 if (stop == 0) { print $0 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
171 }
6177
ed54dc50aeaf (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx <glx@openttd.org>
parents: 6097
diff changeset
172 ' > "$ROOT_DIR/projects/$2"
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
173
8409
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
174 echo "$1" >> "$ROOT_DIR/projects/$2"
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
175
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
176 # Everything below the !!FILES!! marker
6177
ed54dc50aeaf (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx <glx@openttd.org>
parents: 6097
diff changeset
177 cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk '
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
178 BEGIN { stop = 1; }
5512
a4f44b155522 (svn r7809) -Fix: convert \r to \n before parsing files with awk in projects/generate so it works using mingw/msys
glx <glx@openttd.org>
parents: 5475
diff changeset
179 /^$/ { next }
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
180 /!!FILES!!/ { stop = 2; }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
181 {
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
182 if (stop == 0) { print $0 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
183 if (stop == 2) { stop = 0 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
184 }
6177
ed54dc50aeaf (svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx <glx@openttd.org>
parents: 6097
diff changeset
185 ' >> "$ROOT_DIR/projects/$2"
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
186 }
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
187
6936
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
188 safety_check "$ROOT_DIR/source.list"
d07a2c5ae186 (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 <truelight@openttd.org>
parents: 6901
diff changeset
189
5475
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
190 load_main_data "$ROOT_DIR/source.list" openttd
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
191 load_lang_data "$ROOT_DIR/src/lang/*.txt" lang
eabf4b86aed6 (svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff changeset
192
8409
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
193 generate "$openttd" "openttd_vs80.vcproj"
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
194 generate "$openttd" "openttd_vs90.vcproj"
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
195 generate "$lang" "langs_vs80.vcproj"
7c5e4180e2b1 (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 <rubidium@openttd.org>
parents: 7897
diff changeset
196 generate "$lang" "langs_vs90.vcproj"