author | glx |
Sat, 17 Nov 2007 02:22:56 +0000 | |
changeset 7897 | 6aa16b938b99 |
parent 7894 | 0bc87abd10ad |
child 8409 | de295d5e2bb4 |
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 |
# openttd.sln is for MSVC 2003 |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
29 |
# openttd.vcproj is for MSVC 2003 |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
30 |
# langs.vcproj is for MSVC 2003 |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
31 |
# strgen.vcproj is for MSVC 2003 |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
32 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
33 |
# openttd.tgt is for WatCom |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
34 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
35 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
36 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
37 |
# First, collect the list of Windows files |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
38 |
sdl_config="1" |
6901
ad8e8b93060d
(svn r10148) -Fix r10143: make --without-png to compile again
truelight
parents:
6177
diff
changeset
|
39 |
png_config="1" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
40 |
os="MSVC" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
41 |
enable_dedicated="0" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
42 |
with_cocoa="0" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
43 |
enable_directmusic="1" |
7294
b53e8aae866c
(svn r10642) -Merge (from NoAI): ./configure flag for disabling threading.
rubidium
parents:
6937
diff
changeset
|
44 |
with_threads="1" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
45 |
file_prefix="..\\\\src\\\\" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
46 |
|
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
|
47 |
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
|
48 |
li="" |
6937
40c760fcf1f6
(svn r10190) -Codechange: merged renderer and blitter to one single class API: blitter
truelight
parents:
6936
diff
changeset
|
49 |
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
|
50 |
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
|
51 |
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
|
52 |
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
|
53 |
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
|
54 |
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
|
55 |
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
|
56 |
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
|
57 |
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
|
58 |
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
|
59 |
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
|
60 |
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
|
61 |
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
|
62 |
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
|
63 |
} |
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
|
64 |
|
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
65 |
load_main_data() { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
66 |
# 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
|
67 |
RES="`cat $1 | tr '\r' '\n' | awk ' |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
68 |
/^( *)#end/ { if (deep == skip) { skip -= 1; } deep -= 1; next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
69 |
/^( *)#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
|
70 |
/^( *)#if/ { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
71 |
gsub(" ", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
72 |
gsub("^#if", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
73 |
gsub("^ ", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
74 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
75 |
if (deep != skip) { deep += 1; next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
76 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
77 |
deep += 1; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
78 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
79 |
if ($0 == "SDL" && "'$sdl_config'" == "") { next; } |
6901
ad8e8b93060d
(svn r10148) -Fix r10143: make --without-png to compile again
truelight
parents:
6177
diff
changeset
|
80 |
if ($0 == "PNG" && "'$png_config'" == "") { next; } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
81 |
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
|
82 |
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
|
83 |
if ($0 == "PSP" && "'$os'" != "PSP") { next; } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
84 |
if ($0 == "DEDICATED" && "'$enable_dedicated'" != "1") { next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
85 |
if ($0 == "COCOA" && "'$with_cocoa'" == "0") { next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
86 |
if ($0 == "BEOS" && "'$os'" != "BEOS") { next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
87 |
if ($0 == "WIN32" && "'$os'" != "MINGW" && |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
88 |
"'$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
|
89 |
if ($0 == "WINCE" && "'$os'" != "WINCE") { next; } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
90 |
if ($0 == "MSVC" && "'$os'" != "MSVC") { next; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
91 |
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
|
92 |
if ($0 == "LIBTIMIDITY" && "'$libtimidity'" == "" ) { next; } |
7294
b53e8aae866c
(svn r10642) -Merge (from NoAI): ./configure flag for disabling threading.
rubidium
parents:
6937
diff
changeset
|
93 |
if ($0 == "NO_THREADS" && "'$with_threads'" == "0") { next; } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
94 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
95 |
skip += 1; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
96 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
97 |
next; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
98 |
} |
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 |
if (deep == skip) { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
101 |
gsub(" ", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
102 |
gsub("^#", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
103 |
gsub("^ ", "", $0); |
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 (first_time != 0) { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
106 |
print " </Filter>"; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
107 |
} else { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
108 |
first_time = 1; |
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 |
|
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 |
print " Name=\\""$0"\\""; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
113 |
print " Filter=\\"\\">"; |
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 |
next; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
117 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
118 |
/^$/ { next } |
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 |
if (deep == skip) { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
121 |
gsub(" ", "", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
122 |
gsub("/", "\\\\", $0); |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
123 |
print " <File"; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
124 |
print " RelativePath=\\".\\\\'$file_prefix'"$0"\\">"; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
125 |
print " </File>"; |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
126 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
127 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
128 |
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
|
129 |
'`" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
130 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
131 |
eval "$2=\"\$RES\"" |
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 |
load_lang_data() { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
135 |
RES="" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
136 |
for i in `ls $1` |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
137 |
do |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
138 |
i=`basename $i | sed s/.txt$//g` |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
139 |
RES="$RES |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
140 |
<File |
6097
3dfcba0852d7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6045
diff
changeset
|
141 |
RelativePath=\"..\\src\\lang\\"$i".txt\"> |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
142 |
<FileConfiguration |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
143 |
Name=\"Debug|Win32\"> |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
144 |
<Tool |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
145 |
Name=\"VCCustomBuildTool\" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
146 |
Description=\"Generating "$i" language file\" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
147 |
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
|
148 |
AdditionalDependencies=\"\" |
6097
3dfcba0852d7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6045
diff
changeset
|
149 |
Outputs=\"..\\bin\\lang\\"$i".lng\"/> |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
150 |
</FileConfiguration> |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
151 |
</File>" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
152 |
done |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
153 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
154 |
eval "$2=\"\$RES\"" |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
155 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
156 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
157 |
generate() { |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
158 |
echo "Generating $2..." |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
159 |
# 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
|
160 |
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
|
161 |
/^$/ { next } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
162 |
/!!FILES!!/ { stop = 1; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
163 |
{ |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
164 |
if (stop == 0) { print $0 } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
165 |
} |
6177
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
166 |
' > "$ROOT_DIR/projects/$2" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
167 |
|
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
168 |
# The files-list |
6177
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
169 |
echo "$1" | awk -v type="$3" ' |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
170 |
/
/ { |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
171 |
if (type == "msvc2003") gsub("
", "\n", $0); |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
172 |
} |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
173 |
/Filter="">/ { |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
174 |
if (type == "msvc2005") gsub("Filter=\"\">", ">", $0); |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
175 |
} |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
176 |
/"\/>/ { |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
177 |
if (type == "msvc2005") gsub("/>", "\n" substr($0, 1, index($0, $1) - 2) "/>", $0); |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
178 |
} |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
179 |
/">/ { |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
180 |
if (type == "msvc2005") gsub(">", "\n" substr($0, 1, index($0, $1) - 1) ">", $0); |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
181 |
} |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
182 |
{ print $0 } |
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
183 |
' >> "$ROOT_DIR/projects/$2" |
5475
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 |
# 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
|
186 |
cat "$ROOT_DIR/projects/$2".in | tr '\r' '\n' | awk ' |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
187 |
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
|
188 |
/^$/ { next } |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
189 |
/!!FILES!!/ { stop = 2; } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
190 |
{ |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
191 |
if (stop == 0) { print $0 } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
192 |
if (stop == 2) { stop = 0 } |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
193 |
} |
6177
9da29043c377
(svn r8948) -Change: some sed implementations have problems with \n so rewrite r8832 using awk
glx
parents:
6097
diff
changeset
|
194 |
' >> "$ROOT_DIR/projects/$2" |
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
195 |
} |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
196 |
|
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
|
197 |
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
|
198 |
|
5475
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
199 |
load_main_data "$ROOT_DIR/source.list" openttd |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
200 |
load_lang_data "$ROOT_DIR/src/lang/*.txt" lang |
2e6990a8c7c4
(svn r7759) -Merge: makefile rewrite. This merge features:
rubidium
parents:
diff
changeset
|
201 |
|
6097
3dfcba0852d7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6045
diff
changeset
|
202 |
generate "$openttd" "openttd.vcproj" "msvc2003" |
3dfcba0852d7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6045
diff
changeset
|
203 |
generate "$openttd" "openttd_vs80.vcproj" "msvc2005" |
7897
6aa16b938b99
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
7894
diff
changeset
|
204 |
generate "$openttd" "openttd_vs90.vcproj" "msvc2005" |
6097
3dfcba0852d7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6045
diff
changeset
|
205 |
generate "$lang" "langs.vcproj" "msvc2003" |
3dfcba0852d7
(svn r8832) -Change: rewrite the solution file generator a little so it makes project files that look more like the ones generated by respectively MSVC2003 and MSVC2005.
rubidium
parents:
6045
diff
changeset
|
206 |
generate "$lang" "langs_vs80.vcproj" "msvc2005" |
7897
6aa16b938b99
(svn r11448) -Add: project files for MSVC 2008 (*_vs90.*)
glx
parents:
7894
diff
changeset
|
207 |
generate "$lang" "langs_vs90.vcproj" "msvc2005" |