make/configure.vm

Wed, 05 Jun 2024 19:50:44 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Wed, 05 Jun 2024 19:50:44 +0200
changeset 537
ad44e72fbf50
parent 515
2c3fe06a9210
permissions
-rw-r--r--

add extra nullptr check in the event loop to handle the case when the finish ptr is set to NULL after it was already scheduled

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

mercurial