make/configure.vm

Fri, 17 Apr 2026 12:00:18 +0200

author
Mike Becker <universe@uap-core.de>
date
Fri, 17 Apr 2026 12:00:18 +0200
changeset 102
463c648e6a9b
parent 86
f187e97f845e
permissions
-rw-r--r--

change return type of write_pgn to void

The return value was always unused and zero.
Then intention apparently was to return the number
of written bytes, but that never happened.

71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
1 #!/bin/sh
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
2
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
3 #set( $D = '$' )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
4 #[[
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
5 # some utility functions
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
6 isplatform()
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
7 {
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
8 for p in $PLATFORM
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
9 do
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
10 if [ "$p" = "$1" ]; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
11 return 0
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
12 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
13 done
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
14 return 1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
15 }
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
16 notisplatform()
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
17 {
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
18 for p in $PLATFORM
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
19 do
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
20 if [ "$p" = "$1" ]; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
21 return 1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
22 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
23 done
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
24 return 0
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
25 }
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
26 istoolchain()
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
27 {
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
28 for t in $TOOLCHAIN
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
29 do
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
30 if [ "$t" = "$1" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
31 return 0
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
32 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
33 done
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
34 return 1
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
35 }
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
36 notistoolchain()
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
37 {
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
38 for t in $TOOLCHAIN
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
39 do
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
40 if [ "$t" = "$1" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
41 return 1
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
42 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
43 done
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
44 return 0
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
45 }
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
46
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
47 # clean abort
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
48 abort_configure()
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
49 {
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
50 rm -Rf "$TEMP_DIR"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
51 exit 1
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
52 }
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
53
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
54 # Test for availability of pkg-config
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
55 PKG_CONFIG=`command -v pkg-config`
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
56 : ${PKG_CONFIG:="false"}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
57
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
58 # Simple uname based platform detection
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
59 # $PLATFORM is used for platform dependent dependency selection
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
60 OS=`uname -s`
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
61 OS_VERSION=`uname -r`
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
62 ARCH=`uname -m`
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
63 printf "detect platform... "
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
64 if [ "$OS" = "SunOS" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
65 PLATFORM="solaris sunos unix svr4"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
66 elif [ "$OS" = "Linux" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
67 PLATFORM="linux unix"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
68 elif [ "$OS" = "FreeBSD" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
69 PLATFORM="freebsd bsd unix"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
70 elif [ "$OS" = "OpenBSD" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
71 PLATFORM="openbsd bsd unix"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
72 elif [ "$OS" = "NetBSD" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
73 PLATFORM="netbsd bsd unix"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
74 elif [ "$OS" = "Darwin" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
75 PLATFORM="macos osx bsd unix"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
76 elif echo "$OS" | grep -i "MINGW" > /dev/null; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
77 PLATFORM="windows mingw"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
78 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
79 : ${PLATFORM:="unix"}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
80
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
81 PLATFORM_NAME=`echo "$PLATFORM" | cut -f1 -d' ' -`
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
82 echo "$PLATFORM_NAME"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
83 ]]#
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
84
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
85 # help text
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
86 printhelp()
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
87 {
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
88 echo "Usage: $0 [OPTIONS]..."
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
89 echo 'Configuration:'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
90 #foreach( $cfg in $config )
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
91 if true \
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
92 #if( $cfg.platform )
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
93 && isplatform "${cfg.platform}" \
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
94 #end
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
95 #foreach( $np in $cfg.notList )
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
96 && notisplatform "${np}" \
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
97 #end
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
98 ; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
99 :
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
100 #foreach( $var in $cfg.vars )
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
101 #if( $var.overridable )
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
102 if test -z "${D}${var.varName}__described__"; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
103 ${var.varName}__described__=1
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
104 cat << '__EOF__'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
105 ${var.helpText}
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
106 __EOF__
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
107 fi
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
108 #end
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
109 #end
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
110 fi
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
111 #end
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
112 cat << '__EOF__'
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
113
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
114 Build Types:
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
115 --debug add extra compile flags for debug builds
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
116 --release add extra compile flags for release builds
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
117 #if( $options.size() > 0 )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
118
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
119 Options:
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
120 #foreach( $opt in $options )
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
121 ${opt.helpText}
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
122 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
123 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
124 #if( $features.size() > 0 )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
125
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
126 Optional Features:
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
127 #foreach( $feature in $features )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
128 ${feature.helpText}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
129 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
130 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
131
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
132 __EOF__
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
133 abort_configure
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
134 }
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
135
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
136 # create temporary directory
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
137 TEMP_DIR=".tmp-`uname -n`"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
138 rm -Rf "$TEMP_DIR"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
139 if mkdir -p "$TEMP_DIR"; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
140 :
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
141 else
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
142 echo "Cannot create tmp dir $TEMP_DIR"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
143 echo "Abort"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
144 exit 1
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
145 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
146 touch "$TEMP_DIR/options"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
147 touch "$TEMP_DIR/features"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
148
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
149 # config variables
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
150 #foreach( $cfg in $config )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
151 if true \
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
152 #if( $cfg.platform )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
153 && isplatform "${cfg.platform}" \
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
154 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
155 #foreach( $np in $cfg.notList )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
156 && notisplatform "${np}" \
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
157 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
158 ; then
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
159 :
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
160 #foreach( $var in $cfg.vars )
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
161 if test -z "${D}${var.varName}__initialized__"; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
162 ${var.varName}__initialized__=1
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
163 #if( $var.exec )
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
164 ${var.varName}=`${var.value}`
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
165 #else
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
166 ${var.varName}='${var.value}'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
167 #end
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
168 fi
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
169 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
170 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
171 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
172
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
173 # features
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
174 #foreach( $feature in $features )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
175 #if( ${feature.auto} )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
176 ${feature.varName}=auto
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
177 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
178 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
179
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
180 #
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
181 # parse arguments
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
182 #
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
183 BUILD_TYPE="default"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
184 for ARG in "$@"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
185 do
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
186 case "$ARG" in
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
187 #foreach( $var in $vars )
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
188 #if ($var.overridable)
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
189 "--${var.arg}="*) ${var.varName}=${D}{ARG#--${var.arg}=} ;;
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
190 #end
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
191 #end
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
192 "--help"*) printhelp ;;
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
193 "--debug") BUILD_TYPE="debug" ;;
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
194 "--release") BUILD_TYPE="release" ;;
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
195 #foreach( $opt in $options )
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
196 "--${opt.arg}="*) ${opt.varName}=${D}{ARG#--${opt.arg}=} ;;
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
197 "--${opt.arg}") echo "option '$ARG' needs a value:"; echo " $ARG=${opt.valuesString}"; abort_configure ;;
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
198 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
199 #foreach( $feature in $features )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
200 "--enable-${feature.arg}") ${feature.varName}=on ;;
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
201 "--disable-${feature.arg}") unset ${feature.varName} ;;
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
202 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
203 "-"*) echo "unknown option: $ARG"; abort_configure ;;
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
204 esac
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
205 done
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
206
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
207 # toolchain detection utilities
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
208 . make/toolchain.sh
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
209
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
210 # check languages
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
211 lang_c=
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
212 lang_cpp=
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
213 #foreach( $lang in $languages )
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
214 if detect_${lang}_compiler ; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
215 lang_${lang}=1
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
216 fi
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
217 #end
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
218
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
219 ## Begin unparsed content. **
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
220 #[[
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
221
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
222 # set defaults for dir variables
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
223 : ${exec_prefix:="$prefix"}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
224 : ${bindir:='${exec_prefix}/bin'}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
225 : ${sbindir:='${exec_prefix}/sbin'}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
226 : ${libdir:='${exec_prefix}/lib'}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
227 : ${libexecdir:='${exec_prefix}/libexec'}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
228 : ${datarootdir:='${prefix}/share'}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
229 : ${datadir:='${datarootdir}'}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
230 : ${sharedstatedir:='${prefix}/com'}
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
231 if [ -z "$sysconfdir" ]; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
232 if [ "$prefix" = '/usr' ]; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
233 sysconfdir='/etc'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
234 else
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
235 sysconfdir='${prefix}/etc'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
236 fi
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
237 fi
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
238 if [ -z "$localstatedir" ]; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
239 if [ "$prefix" = '/usr' ]; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
240 localstatedir='/var'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
241 else
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
242 localstatedir='${prefix}/var'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
243 fi
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
244 fi
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
245 if [ -z "$runstatedir" ]; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
246 if [ "$prefix" = '/usr' ]; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
247 runstatedir='/var/run'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
248 else
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
249 runstatedir='${prefix}/var'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
250 fi
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
251 fi
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
252 : ${includedir:='${prefix}/include'}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
253 : ${infodir:='${datarootdir}/info'}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
254 : ${mandir:='${datarootdir}/man'}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
255 : ${localedir:='${datarootdir}/locale'}
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
256
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
257
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
258 # check if a config.site exists and load it
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
259 CONFIG_SITE_OK=0
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
260 if [ -n "$CONFIG_SITE" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
261 # CONFIG_SITE may contain space separated file names
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
262 for cs in $CONFIG_SITE; do
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
263 printf "loading defaults from $cs... "
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
264 if [ -f "$cs" ]; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
265 . "$cs"
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
266 echo ok
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
267 CONFIG_SITE_OK=1
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
268 break
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
269 else
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
270 echo "not found"
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
271 fi
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
272 done
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
273 elif [ -f "$prefix/share/config.site" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
274 printf "loading site defaults... "
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
275 . "$prefix/share/config.site"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
276 echo ok
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
277 CONFIG_SITE_OK=1
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
278 elif [ -f "$prefix/etc/config.site" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
279 printf "loading site defaults... "
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
280 . "$prefix/etc/config.site"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
281 echo ok
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
282 CONFIG_SITE_OK=1
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
283 fi
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
284
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
285 if [ $CONFIG_SITE_OK -eq 0 ]; then
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
286 # try to detect the correct libdir on our own, except it was changed by the user
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
287 if [ "$libdir" = '${exec_prefix}/lib' ] ; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
288 if [ "$TOOLCHAIN_WSIZE" = "64" ] ; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
289 if [ "$OS" = "SunOS" ]; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
290 [ -d "${exec_prefix}/lib/64" ] && libdir='${exec_prefix}/lib/64'
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
291 else
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
292 [ -d "${exec_prefix}/lib64" ] && libdir='${exec_prefix}/lib64'
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
293 fi
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
294 elif [ "$TOOLCHAIN_WSIZE" = "32" ] ; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
295 if [ "$OS" = "SunOS" ]; then
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
296 [ -d "${exec_prefix}/lib/32" ] && libdir='${exec_prefix}/lib/32'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
297 else
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
298 [ -d "${exec_prefix}/lib32" ] && libdir='${exec_prefix}/lib32'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
299 fi
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
300 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
301 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
302 fi
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
303 ]]#
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
304 ## End of unparsed content **
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
305
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
306 # generate vars.mk
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
307 cat > "$TEMP_DIR/vars.mk" << __EOF__
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
308 #foreach( $var in $vars )
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
309 ${var.varName}=${D}${var.varName}
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
310 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
311 __EOF__
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
312
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
313
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
314 #
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
315 # DEPENDENCIES
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
316 #
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
317
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
318
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
319
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
320 # create buffer for make variables required by dependencies
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
321 echo > "$TEMP_DIR/make.mk"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
322
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
323 test_pkg_config()
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
324 {
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
325 if "$PKG_CONFIG" --exists "$1" ; then :
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
326 else return 1 ; fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
327 if [ -z "$2" ] || "$PKG_CONFIG" --atleast-version="$2" "$1" ; then :
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
328 else return 1 ; fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
329 if [ -z "$3" ] || "$PKG_CONFIG" --exact-version="$3" "$1" ; then :
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
330 else return 1 ; fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
331 if [ -z "$4" ] || "$PKG_CONFIG" --max-version="$4" "$1" ; then :
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
332 else return 1 ; fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
333 return 0
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
334 }
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
335
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
336 print_check_msg()
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
337 {
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
338 if [ -z "$1" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
339 shift
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
340 printf "$@"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
341 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
342 }
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
343
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
344 #foreach( $dependency in $namedDependencies )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
345 dependency_error_${dependency.id}()
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
346 {
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
347 print_check_msg "${D}dep_checked_${dependency.id}" "checking for ${dependency.name}... "
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
348 #foreach( $sub in $dependency.subdependencies )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
349 # dependency $sub.fullName
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
350 while true
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
351 do
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
352 #if( $sub.platform )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
353 if notisplatform "${sub.platform}"; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
354 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
355 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
356 #end
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
357 #if( $sub.toolchain )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
358 if notistoolchain "${sub.toolchain}"; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
359 break
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
360 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
361 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
362 #foreach( $np in $sub.notList )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
363 if isplatform "${np}" || istoolchain "${np}"; then
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
364 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
365 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
366 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
367 #foreach( $lang in $sub.lang )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
368 if [ -z "$lang_${lang}" ] ; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
369 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
370 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
371 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
372 #if( $sub.pkgconfig.size() > 0 )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
373 if [ -z "$PKG_CONFIG" ]; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
374 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
375 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
376 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
377 #foreach( $test in $sub.tests )
85
b1577ea008e5 update uwproj
Mike Becker <universe@uap-core.de>
parents: 76
diff changeset
378 if $test > /dev/null 2>&1 ; then
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
379 :
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
380 else
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
381 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
382 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
383 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
384 #foreach( $pkg in $sub.pkgconfig )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
385 if test_pkg_config "$pkg.name" "$pkg.atleast" "$pkg.exact" "$pkg.max" ; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
386 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags $pkg.name`"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
387 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs $pkg.name`"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
388 else
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
389 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
390 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
391 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
392 #foreach( $flags in $sub.flags )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
393 #if( $flags.exec )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
394 if tmp_flags=`$flags.value` ; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
395 TEMP_$flags.varName="$TEMP_$flags.varName $tmp_flags"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
396 else
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
397 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
398 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
399 #else
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
400 TEMP_$flags.varName="$TEMP_$flags.varName $flags.value"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
401 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
402 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
403 #if ( $sub.make.length() > 0 )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
404 cat >> $TEMP_DIR/make.mk << __EOF__
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
405 # Dependency: $dependency.name
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
406 $sub.make
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
407 __EOF__
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
408 #end
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
409 print_check_msg "${D}dep_checked_${dependency.id}" "yes\n"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
410 dep_checked_${dependency.id}=1
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
411 return 1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
412 done
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
413
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
414 #end
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
415 print_check_msg "${D}dep_checked_${dependency.id}" "no\n"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
416 dep_checked_${dependency.id}=1
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
417 return 0
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
418 }
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
419 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
420
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
421 # start collecting dependency information
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
422 echo > "$TEMP_DIR/flags.mk"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
423
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
424 DEPENDENCIES_FAILED=
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
425 ERROR=0
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
426 #if( $dependencies.size() > 0 )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
427 # unnamed dependencies
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
428 TEMP_CFLAGS="$CFLAGS"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
429 TEMP_CXXFLAGS="$CXXFLAGS"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
430 TEMP_LDFLAGS="$LDFLAGS"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
431 #foreach( $dependency in $dependencies )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
432 while true
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
433 do
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
434 #if( $dependency.platform )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
435 if notisplatform "${dependency.platform}"; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
436 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
437 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
438 #end
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
439 #if( $dependency.toolchain )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
440 if notistoolchain "${dependency.toolchain}"; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
441 break
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
442 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
443 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
444 #foreach( $np in $dependency.notList )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
445 if isplatform "${np}" || istoolchain "${np}"; then
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
446 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
447 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
448 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
449 while true
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
450 do
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
451 #foreach( $lang in $dependency.lang )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
452 if [ -z "$lang_${lang}" ] ; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
453 ERROR=1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
454 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
455 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
456 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
457 #if( $dependency.pkgconfig.size() > 0 )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
458 if [ -z "$PKG_CONFIG" ]; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
459 ERROR=1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
460 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
461 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
462 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
463 #foreach( $pkg in $dependency.pkgconfig )
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
464 print_check_msg "${D}dep_pkgconfig_checked_${pkg.id}" "checking for pkg-config package $pkg.name... "
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
465 if test_pkg_config "$pkg.name" "$pkg.atleast" "$pkg.exact" "$pkg.max" ; then
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
466 print_check_msg "${D}dep_pkgconfig_checked_${pkg.id}" "yes\n"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
467 dep_pkgconfig_checked_${pkg.id}=1
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
468 TEMP_CFLAGS="$TEMP_CFLAGS `"$PKG_CONFIG" --cflags $pkg.name`"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
469 TEMP_LDFLAGS="$TEMP_LDFLAGS `"$PKG_CONFIG" --libs $pkg.name`"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
470 else
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
471 print_check_msg "${D}dep_pkgconfig_checked_${pkg.id}" "no\n"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
472 dep_pkgconfig_checked_${pkg.id}=1
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
473 ERROR=1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
474 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
475 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
476 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
477
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
478 #foreach( $flags in $dependency.flags )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
479 #if( $flags.exec )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
480 if tmp_flags=`$flags.value` ; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
481 TEMP_$flags.varName="$TEMP_$flags.varName $tmp_flags"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
482 else
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
483 ERROR=1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
484 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
485 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
486 #else
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
487 TEMP_$flags.varName="$TEMP_$flags.varName $flags.value"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
488 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
489 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
490 #if ( $dependency.make.length() > 0 )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
491 cat >> "$TEMP_DIR/make.mk" << __EOF__
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
492 $dependency.make
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
493 __EOF__
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
494 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
495 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
496 done
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
497 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
498 done
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
499 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
500
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
501 # build type
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
502 if [ "$BUILD_TYPE" = "debug" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
503 TEMP_CFLAGS="\${DEBUG_CFLAGS} $TEMP_CFLAGS"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
504 TEMP_CXXFLAGS="\${DEBUG_CXXFLAGS} $TEMP_CXXFLAGS"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
505 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
506 if [ "$BUILD_TYPE" = "release" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
507 TEMP_CFLAGS="\${RELEASE_CFLAGS} $TEMP_CFLAGS"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
508 TEMP_CXXFLAGS="\${RELEASE_CXXFLAGS} $TEMP_CXXFLAGS"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
509 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
510
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
511 # add general dependency flags to flags.mk
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
512 echo "# general flags" >> "$TEMP_DIR/flags.mk"
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
513 if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
514 echo "CFLAGS += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
515 fi
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
516 if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
517 echo "CXXFLAGS += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
518 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
519 if [ -n "${TEMP_LDFLAGS}" ]; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
520 echo "LDFLAGS += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
521 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
522 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
523
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
524 #
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
525 # OPTION VALUES
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
526 #
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
527 #foreach( $opt in $options )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
528 #foreach( $val in $opt.values )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
529 ${val.func}()
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
530 {
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
531 VERR=0
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
532 #foreach( $dep in $val.dependencies )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
533 if dependency_error_$dep ; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
534 VERR=1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
535 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
536 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
537 if [ $VERR -ne 0 ]; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
538 return 1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
539 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
540 #foreach( $def in $val.defines )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
541 TEMP_CFLAGS="$TEMP_CFLAGS ${def.toFlags()}"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
542 TEMP_CXXFLAGS="$TEMP_CXXFLAGS ${def.toFlags()}"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
543 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
544 #if( $val.hasMake() )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
545 cat >> "$TEMP_DIR/make.mk" << __EOF__
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
546 $val.make
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
547 __EOF__
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
548 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
549 return 0
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
550 }
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
551 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
552 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
553
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
554 #
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
555 # TARGETS
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
556 #
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
557
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
558 #foreach( $target in $targets )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
559 echo >> "$TEMP_DIR/flags.mk"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
560 #if ( $target.name )
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
561 echo "configuring target: $target.name"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
562 echo "# flags for target $target.name" >> "$TEMP_DIR/flags.mk"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
563 #else
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
564 echo "configuring global target"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
565 echo "# flags for unnamed target" >> "$TEMP_DIR/flags.mk"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
566 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
567 TEMP_CFLAGS=
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
568 TEMP_CXXFLAGS=
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
569 TEMP_LDFLAGS=
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
570
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
571 #foreach( $dependency in $target.dependencies )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
572 if dependency_error_$dependency; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
573 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} "
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
574 ERROR=1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
575 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
576 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
577
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
578 # Features
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
579 #foreach( $feature in $target.features )
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
580 if [ -n "${D}${feature.varName}" ]; then
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
581 #foreach( $dependency in $feature.dependencies )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
582 # check dependency
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
583 if dependency_error_$dependency ; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
584 # "auto" features can fail and are just disabled in this case
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
585 if [ "${D}${feature.varName}" = "auto" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
586 DISABLE_${feature.varName}=1
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
587 else
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
588 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} "
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
589 ERROR=1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
590 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
591 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
592 #end
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
593 if [ -n "$DISABLE_${feature.varName}" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
594 unset ${feature.varName}
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
595 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
596 fi
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
597 if [ -n "${D}${feature.varName}" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
598 :
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
599 #foreach( $def in $feature.defines )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
600 TEMP_CFLAGS="$TEMP_CFLAGS ${def.toFlags()}"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
601 TEMP_CXXFLAGS="$TEMP_CXXFLAGS ${def.toFlags()}"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
602 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
603 #if( $feature.hasMake() )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
604 cat >> "$TEMP_DIR/make.mk" << __EOF__
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
605 $feature.make
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
606 __EOF__
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
607 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
608 else
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
609 :
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
610 #foreach( $def in $feature.disabled.defines )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
611 TEMP_CFLAGS="$TEMP_CFLAGS ${def.toFlags()}"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
612 TEMP_CXXFLAGS="$TEMP_CXXFLAGS ${def.toFlags()}"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
613 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
614 #if( $feature.disabled.hasMake() )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
615 cat >> "$TEMP_DIR/make.mk" << __EOF__
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
616 $feature.disabled.make
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
617 __EOF__
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
618 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
619 #foreach( $dependency in $feature.disabled.dependencies )
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
620 if dependency_error_$dependency ; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
621 DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED ${dependency} "
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
622 ERROR=1
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
623 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
624 #end
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
625 fi
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
626 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
627
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
628 #foreach( $opt in $target.options )
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
629 # Option: --${opt.arg}
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
630 if [ -z "${D}${opt.varName}" ]; then
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
631 echo "auto-detecting option '${opt.arg}'"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
632 SAVED_ERROR="$ERROR"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
633 SAVED_DEPENDENCIES_FAILED="$DEPENDENCIES_FAILED"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
634 ERROR=1
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
635 while true
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
636 do
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
637 #foreach( $optdef in $opt.defaults )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
638 #if( $optdef.platform )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
639 if isplatform "$optdef.platform"; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
640 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
641 if $optdef.func ; then
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
642 echo " ${opt.arg}: ${optdef.valueName}" >> "$TEMP_DIR/options"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
643 ERROR=0
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
644 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
645 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
646 #if( $optdef.platform )
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
647 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
648 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
649 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
650 break
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
651 done
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
652 if [ $ERROR -ne 0 ]; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
653 SAVED_ERROR=1
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
654 SAVED_DEPENDENCIES_FAILED="option '${opt.arg}' $SAVED_DEPENDENCIES_FAILED"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
655 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
656 ERROR="$SAVED_ERROR"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
657 DEPENDENCIES_FAILED="$SAVED_DEPENDENCIES_FAILED"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
658 else
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
659 echo "checking option ${opt.arg} = ${D}${opt.varName}"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
660 if false; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
661 false
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
662 #foreach( $optval in $opt.values )
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
663 elif [ "${D}${opt.varName}" = "${optval.value}" ]; then
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
664 echo " ${opt.arg}: ${D}${opt.varName}" >> $TEMP_DIR/options
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
665 if $optval.func ; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
666 :
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
667 else
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
668 ERROR=1
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
669 DEPENDENCIES_FAILED="option '${opt.arg}' $DEPENDENCIES_FAILED"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
670 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
671 #end
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
672 else
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
673 echo
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
674 echo "Invalid option value - usage:"
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
675 echo " --${opt.arg}=${opt.valuesString}"
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
676 abort_configure
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
677 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
678 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
679 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
680
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
681 if [ -n "${TEMP_CFLAGS}" ] && [ -n "$lang_c" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
682 echo "${target.cFlags} += $TEMP_CFLAGS" >> "$TEMP_DIR/flags.mk"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
683 fi
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
684 if [ -n "${TEMP_CXXFLAGS}" ] && [ -n "$lang_cpp" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
685 echo "${target.cxxFlags} += $TEMP_CXXFLAGS" >> "$TEMP_DIR/flags.mk"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
686 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
687 if [ -n "${TEMP_LDFLAGS}" ]; then
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
688 echo "${target.ldFlags} += $TEMP_LDFLAGS" >> "$TEMP_DIR/flags.mk"
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
689 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
690
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
691 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
692
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
693 # final result
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
694 if [ $ERROR -ne 0 ]; then
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
695 echo
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
696 echo "Error: Unresolved dependencies"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
697 echo "$DEPENDENCIES_FAILED"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
698 abort_configure
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
699 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
700
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
701 echo "configure finished"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
702 echo
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
703 echo "Toolchain:"
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
704 echo " name: $TOOLCHAIN_NAME"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
705 if [ -n "$TOOLCHAIN_CC" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
706 echo " cc: $TOOLCHAIN_CC"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
707 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
708 if [ -n "$TOOLCHAIN_CXX" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
709 echo " cxx: $TOOLCHAIN_CXX"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
710 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
711 if [ -n "$TOOLCHAIN_WSIZE" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
712 echo " word size: $TOOLCHAIN_WSIZE bit"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
713 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
714 if [ -n "$TOOLCHAIN_CSTD" ]; then
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
715 echo " default C std: $TOOLCHAIN_CSTD"
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
716 fi
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
717 echo
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
718 echo "Config:"
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
719 #foreach( $var in $vars )
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
720 #if ($var.overridable)
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
721 printf ' %-16s' '${var.arg}:'
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
722 echo "${D}${var.varName}"
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
723 #end
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
724 #end
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
725 #if ( $options.size() > 0 )
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
726 echo
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
727 echo "Options:"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
728 cat "$TEMP_DIR/options"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
729 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
730 #if ( $features.size() > 0 )
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
731 echo
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
732 echo "Features:"
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
733 #foreach( $feature in $features )
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
734 printf ' %-16s' '$feature.name:'
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
735 if [ -n "${D}${feature.varName}" ]; then
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
736 echo 'on'
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
737 else
86
f187e97f845e update uwproj and simplify project file
Mike Becker <universe@uap-core.de>
parents: 85
diff changeset
738 echo 'off'
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
739 fi
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
740 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
741 #end
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
742 echo
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
743
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
744 # generate the config.mk file
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
745 pwd=`pwd`
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
746 cat > "$TEMP_DIR/config.mk" << __EOF__
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
747 #
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
748 # config.mk generated by:
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
749 # pwd: $pwd
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
750 # $0 $@
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
751 #
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
752
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
753 __EOF__
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
754 write_toolchain_defaults "$TEMP_DIR/toolchain.mk"
76
c2a4fb5024b4 update uwproj
Mike Becker <universe@uap-core.de>
parents: 71
diff changeset
755 cat "$TEMP_DIR/config.mk" "$TEMP_DIR/vars.mk" "$TEMP_DIR/toolchain.mk" "$TEMP_DIR/flags.mk" "$TEMP_DIR/make.mk" > config.mk
71
0bdb910478cc add uwproj configure script generator
Mike Becker <universe@uap-core.de>
parents:
diff changeset
756 rm -Rf "$TEMP_DIR"

mercurial