Mercurial > hg > openttd
annotate projects/generate @ 13094:c72c656565a6 draft
(svn r17594) -Fix: Vehicle image was not always updated when needed.
author | frosch <frosch@openttd.org> |
---|---|
date | Sun, 20 Sep 2009 19:36:27 +0000 |
parents | bc7926153e19 |
children | 38952764f91f |
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 |
12778
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12537
diff
changeset
|
3 # $Id$ |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12537
diff
changeset
|
4 |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12537
diff
changeset
|
5 # This file is part of OpenTTD. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12537
diff
changeset
|
6 # OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12537
diff
changeset
|
7 # OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12537
diff
changeset
|
8 # See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>. |
bc7926153e19
(svn r17248) -Fix: add GPL license notice where appropriate
rubidium <rubidium@openttd.org>
parents:
12537
diff
changeset
|
9 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
10 # 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
|
11 # 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
|
12 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
13 ROOT_DIR="`pwd`/.." |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
14 if ! [ -e "$ROOT_DIR/source.list" ] |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
15 then |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
16 ROOT_DIR="`pwd`" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
17 fi |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
18 if ! [ -e "$ROOT_DIR/source.list" ] |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
19 then |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
20 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
|
21 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
|
22 exit 1 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
23 fi |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
24 |
7897
19c70e3eac78
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx <glx@openttd.org>
parents:
7894
diff
changeset
|
25 # 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
|
26 # 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
|
27 # 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
|
28 # 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
|
29 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
30 # openttd_vs80.sln is for MSVC 2005 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
31 # openttd_vs80.vcproj is for MSVC 2005 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
32 # 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
|
33 # strgen_vs80.vcproj is for MSVC 2005 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
34 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
35 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
36 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
37 # First, collect the list of Windows files |
10379
02bd75018686
(svn r14630) -Add: support Allegro as video backend.
rubidium <rubidium@openttd.org>
parents:
10377
diff
changeset
|
38 allegro_config="" |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
39 sdl_config="1" |
6901
a4380019a3db
(svn r10148) -Fix r10143: make --without-png to compile again
truelight <truelight@openttd.org>
parents:
6177
diff
changeset
|
40 png_config="1" |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
41 os="MSVC" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
42 enable_dedicated="0" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
43 with_cocoa="0" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
44 enable_directmusic="1" |
7294
a9c7369fdb90
(svn r10642) -Merge (from NoAI): ./configure flag for disabling threading.
rubidium <rubidium@openttd.org>
parents:
6937
diff
changeset
|
45 with_threads="1" |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
46 file_prefix="..\\\\src\\\\" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
47 |
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
|
48 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
|
49 li="" |
6937
b6cf3513b2c4
(svn r10190) -Codechange: merged renderer and blitter to one single class API: blitter
truelight <truelight@openttd.org>
parents:
6936
diff
changeset
|
50 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
|
51 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
|
52 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
|
53 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
|
54 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
|
55 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
|
56 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
|
57 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
|
58 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
|
59 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
|
60 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
|
61 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
|
62 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
|
63 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
|
64 } |
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
|
65 |
10377
52d16db65972
(svn r14628) -Fix: projects/generate doesn't handle tabs in sources.list properly when determining whether a header is missing.
rubidium <rubidium@openttd.org>
parents:
10239
diff
changeset
|
66 grep '\.h' "$ROOT_DIR/source.list" | grep -v '../objs/langs/table/strings.h' | sed 's/ //' | sort > tmp.headers.source.list |
10239
69273d6f4bb2
(svn r14467) -Fix [FS#2350](r14443): use '~' instead of '#' as sed separator, it could be understood in a wrong way by shell
smatz <smatz@openttd.org>
parents:
9052
diff
changeset
|
67 find "$ROOT_DIR/src" \( -iname "*.h" -or -iname "*.hpp" \) -and -not -ipath "*/.svn/*" | sed "s~$ROOT_DIR/src/~~" | sort > tmp.headers.src |
8972
9837d8a1f782
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents:
8934
diff
changeset
|
68 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
|
69 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
|
70 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
|
71 echo "" |
9837d8a1f782
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents:
8934
diff
changeset
|
72 fi |
9837d8a1f782
(svn r12764) -Add: check for missing (forgotten) header files in the generate script.
rubidium <rubidium@openttd.org>
parents:
8934
diff
changeset
|
73 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
|
74 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
75 load_main_data() { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
76 # 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
|
77 RES="`cat $1 | tr '\r' '\n' | awk ' |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
78 /^( *)#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
|
79 /^( *)#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
|
80 /^( *)#if/ { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
81 gsub(" ", "", $0); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
82 gsub("^#if", "", $0); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
83 gsub("^ ", "", $0); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
84 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
85 if (deep != skip) { deep += 1; next; } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
86 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
87 deep += 1; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
88 |
10379
02bd75018686
(svn r14630) -Add: support Allegro as video backend.
rubidium <rubidium@openttd.org>
parents:
10377
diff
changeset
|
89 if ($0 == "ALLEGRO" && "'$allegro_config'" == "") { next; } |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
90 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
|
91 if ($0 == "PNG" && "'$png_config'" == "") { next; } |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
92 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
|
93 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
|
94 if ($0 == "PSP" && "'$os'" != "PSP") { next; } |
10400
0a5397057465
(svn r14651) -Fix [FS#2437] (r14636): extmidi wasn't compiled/linked anymore.
rubidium <rubidium@openttd.org>
parents:
10379
diff
changeset
|
95 if ($0 == "DOS" && "'$os'" != "DOS") { next; } |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
96 if ($0 == "DEDICATED" && "'$enable_dedicated'" != "1") { next; } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
97 if ($0 == "COCOA" && "'$with_cocoa'" == "0") { next; } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
98 if ($0 == "BEOS" && "'$os'" != "BEOS") { next; } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
99 if ($0 == "WIN32" && "'$os'" != "MINGW" && |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
100 "'$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
|
101 if ($0 == "WINCE" && "'$os'" != "WINCE") { next; } |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
102 if ($0 == "MSVC" && "'$os'" != "MSVC") { next; } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
103 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
|
104 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
|
105 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
|
106 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
107 skip += 1; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
108 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
109 next; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
110 } |
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 if (deep == skip) { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
113 gsub(" ", "", $0); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
114 gsub("^#", "", $0); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
115 gsub("^ ", "", $0); |
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 if (first_time != 0) { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
118 print " </Filter>"; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
119 } else { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
120 first_time = 1; |
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 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
123 print " <Filter"; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
124 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
|
125 print " >"; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
126 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
127 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
128 next; |
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 /^$/ { next } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
131 { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
132 if (deep == skip) { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
133 gsub(" ", "", $0); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
134 gsub("/", "\\\\", $0); |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
135 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
|
136 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
|
137 print " >"; |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
138 print " </File>"; |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
139 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
140 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
141 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
|
142 '`" |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
143 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
144 eval "$2=\"\$RES\"" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
145 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
146 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
147 load_lang_data() { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
148 RES="" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
149 for i in `ls $1` |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
150 do |
10239
69273d6f4bb2
(svn r14467) -Fix [FS#2350](r14443): use '~' instead of '#' as sed separator, it could be understood in a wrong way by shell
smatz <smatz@openttd.org>
parents:
9052
diff
changeset
|
151 i=`basename $i | sed s~.txt$~~g` |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
152 RES="$RES |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
153 <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
|
154 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
|
155 > |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
156 <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
|
157 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
|
158 > |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
159 <Tool |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
160 Name=\"VCCustomBuildTool\" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
161 Description=\"Generating "$i" language file\" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
162 CommandLine=\"..\\objs\\strgen\\strgen.exe -s ..\\src\\lang -d ..\\bin\\lang "\$(InputPath)"
\" |
12537
c8f92c5ca668
(svn r16975) -Change [MSVC]: Make all language files depend on english.txt
yexo <yexo@openttd.org>
parents:
10400
diff
changeset
|
163 AdditionalDependencies=\"..\\src\\lang\\english.txt\" |
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
|
164 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
|
165 /> |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
166 </FileConfiguration> |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
167 </File>" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
168 done |
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 eval "$2=\"\$RES\"" |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
171 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
172 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
173 generate() { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
174 echo "Generating $2..." |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
175 # 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
|
176 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
|
177 /^$/ { next } |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
178 /!!FILES!!/ { stop = 1; } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
179 { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
180 if (stop == 0) { print $0 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
181 } |
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
|
182 ' > "$ROOT_DIR/projects/$2" |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
183 |
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
|
184 echo "$1" >> "$ROOT_DIR/projects/$2" |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
185 |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
186 # 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
|
187 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
|
188 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
|
189 /^$/ { next } |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
190 /!!FILES!!/ { stop = 2; } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
191 { |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
192 if (stop == 0) { print $0 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
193 if (stop == 2) { stop = 0 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
194 } |
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
|
195 ' >> "$ROOT_DIR/projects/$2" |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
196 } |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
197 |
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
|
198 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
|
199 |
5475
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
200 load_main_data "$ROOT_DIR/source.list" openttd |
eabf4b86aed6
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium <rubidium@openttd.org>
parents:
diff
changeset
|
201 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
|
202 |
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
|
203 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
|
204 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
|
205 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
|
206 generate "$lang" "langs_vs90.vcproj" |