| 83 |
83 |
| 84 # help text |
84 # help text |
| 85 printhelp() |
85 printhelp() |
| 86 { |
86 { |
| 87 echo "Usage: $0 [OPTIONS]..." |
87 echo "Usage: $0 [OPTIONS]..." |
| 88 cat << __EOF__ |
88 echo 'Configuration:' |
| 89 Installation directories: |
89 if true \ |
| 90 --prefix=PREFIX path prefix for architecture-independent files |
90 ; then |
| 91 [$prefix] |
91 : |
| 92 --exec-prefix=EPREFIX path prefix for architecture-dependent files |
92 if test -z "$prefix__described__"; then |
| 93 [PREFIX] |
93 prefix__described__=1 |
| 94 |
94 cat << '__EOF__' |
| 95 --bindir=DIR user executables [EPREFIX/bin] |
95 --prefix path prefix for architecture-independent files |
| 96 --sbindir=DIR system admin executables [EPREFIX/sbin] |
96 [`pwd`/work] |
| 97 --libexecdir=DIR program executables [EPREFIX/libexec] |
97 __EOF__ |
| 98 --sysconfdir=DIR system configuration files [PREFIX/etc] |
98 fi |
| 99 --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] |
99 if test -z "$exec_prefix__described__"; then |
| 100 --localstatedir=DIR modifiable single-machine data [PREFIX/var] |
100 exec_prefix__described__=1 |
| 101 --runstatedir=DIR run-time variable data [LOCALSTATEDIR/run] |
101 cat << '__EOF__' |
| 102 --libdir=DIR object code libraries [EPREFIX/lib] |
102 --exec-prefix path prefix for architecture-dependent files [PREFIX] |
| 103 --includedir=DIR C header files [PREFIX/include] |
103 __EOF__ |
| 104 --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] |
104 fi |
| 105 --datadir=DIR read-only architecture-independent data [DATAROOTDIR] |
105 if test -z "$libdir__described__"; then |
| 106 --infodir=DIR info documentation [DATAROOTDIR/info] |
106 libdir__described__=1 |
| 107 --mandir=DIR man documentation [DATAROOTDIR/man] |
107 cat << '__EOF__' |
| 108 --localedir=DIR locale-dependent data [DATAROOTDIR/locale] |
108 --libdir object code libraries [EPREFIX/lib] |
| |
109 __EOF__ |
| |
110 fi |
| |
111 if test -z "$datarootdir__described__"; then |
| |
112 datarootdir__described__=1 |
| |
113 cat << '__EOF__' |
| |
114 --datarootdir read-only architecture-independent data root |
| |
115 [PREFIX/share] |
| |
116 __EOF__ |
| |
117 fi |
| |
118 if test -z "$localstatedir__described__"; then |
| |
119 localstatedir__described__=1 |
| |
120 cat << '__EOF__' |
| |
121 --localstatedir modifiable single-machine data [PREFIX/var] |
| |
122 __EOF__ |
| |
123 fi |
| |
124 if test -z "$libdatadir__described__"; then |
| |
125 libdatadir__described__=1 |
| |
126 cat << '__EOF__' |
| |
127 --libdatadir miscellaneous files for libraries [PREFIX/libdata] |
| |
128 __EOF__ |
| |
129 fi |
| |
130 if test -z "$TOOLKIT_HOME__described__"; then |
| |
131 TOOLKIT_HOME__described__=1 |
| |
132 cat << '__EOF__' |
| |
133 --toolkit-home the location of the toolkit installation [/usr] |
| |
134 __EOF__ |
| |
135 fi |
| |
136 fi |
| |
137 cat << '__EOF__' |
| 109 |
138 |
| 110 Build Types: |
139 Build Types: |
| 111 --debug add extra compile flags for debug builds |
140 --debug add extra compile flags for debug builds |
| 112 --release add extra compile flags for release builds |
141 --release add extra compile flags for release builds |
| 113 |
142 |
| 137 exit 1 |
167 exit 1 |
| 138 fi |
168 fi |
| 139 touch "$TEMP_DIR/options" |
169 touch "$TEMP_DIR/options" |
| 140 touch "$TEMP_DIR/features" |
170 touch "$TEMP_DIR/features" |
| 141 |
171 |
| 142 # define standard variables |
172 # config variables |
| 143 # also define standard prefix (this is where we will search for config.site) |
173 if true \ |
| 144 prefix=/usr |
174 ; then |
| 145 exec_prefix= |
175 : |
| 146 bindir= |
176 if test -z "$prefix__initialized__"; then |
| 147 sbindir= |
177 prefix__initialized__=1 |
| 148 libdir= |
178 prefix="`pwd`/work" |
| 149 libexecdir= |
179 fi |
| 150 datarootdir= |
180 if test -z "$exec_prefix__initialized__"; then |
| 151 datadir= |
181 exec_prefix__initialized__=1 |
| 152 sysconfdir= |
182 exec_prefix="" |
| 153 sharedstatedir= |
183 fi |
| 154 localstatedir= |
184 if test -z "$libdir__initialized__"; then |
| 155 runstatedir= |
185 libdir__initialized__=1 |
| 156 includedir= |
186 libdir="" |
| 157 infodir= |
187 fi |
| 158 localedir= |
188 if test -z "$datarootdir__initialized__"; then |
| 159 mandir= |
189 datarootdir__initialized__=1 |
| 160 |
190 datarootdir="" |
| 161 # custom variables |
191 fi |
| |
192 if test -z "$localstatedir__initialized__"; then |
| |
193 localstatedir__initialized__=1 |
| |
194 localstatedir="/var" |
| |
195 fi |
| |
196 if test -z "$libdatadir__initialized__"; then |
| |
197 libdatadir__initialized__=1 |
| |
198 libdatadir="$prefix/libdata" |
| |
199 fi |
| |
200 if test -z "$TOOLKIT_HOME__initialized__"; then |
| |
201 TOOLKIT_HOME__initialized__=1 |
| |
202 TOOLKIT_HOME="/usr" |
| |
203 fi |
| |
204 fi |
| 162 |
205 |
| 163 # features |
206 # features |
| 164 FEATURE_DB=auto |
207 FEATURE_DB=auto |
| 165 |
208 |
| 166 # |
209 # |
| 168 # |
211 # |
| 169 BUILD_TYPE="default" |
212 BUILD_TYPE="default" |
| 170 for ARG in "$@" |
213 for ARG in "$@" |
| 171 do |
214 do |
| 172 case "$ARG" in |
215 case "$ARG" in |
| 173 "--prefix="*) prefix=${ARG#--prefix=} ;; |
216 "--prefix="*) prefix=${ARG#--prefix=} ;; |
| 174 "--exec-prefix="*) exec_prefix=${ARG#--exec-prefix=} ;; |
217 "--exec-prefix="*) exec_prefix=${ARG#--exec-prefix=} ;; |
| 175 "--bindir="*) bindir=${ARG#----bindir=} ;; |
218 "--libdir="*) libdir=${ARG#--libdir=} ;; |
| 176 "--sbindir="*) sbindir=${ARG#--sbindir=} ;; |
219 "--datarootdir="*) datarootdir=${ARG#--datarootdir=} ;; |
| 177 "--libdir="*) libdir=${ARG#--libdir=} ;; |
220 "--localstatedir="*) localstatedir=${ARG#--localstatedir=} ;; |
| 178 "--libexecdir="*) libexecdir=${ARG#--libexecdir=} ;; |
221 "--libdatadir="*) libdatadir=${ARG#--libdatadir=} ;; |
| 179 "--datarootdir="*) datarootdir=${ARG#--datarootdir=} ;; |
222 "--toolkit-home="*) TOOLKIT_HOME=${ARG#--toolkit-home=} ;; |
| 180 "--datadir="*) datadir=${ARG#--datadir=} ;; |
223 "--help"*) printhelp ;; |
| 181 "--sysconfdir="*) sysconfdir=${ARG#--sysconfdir=} ;; |
224 "--debug") BUILD_TYPE="debug" ;; |
| 182 "--sharedstatedir="*) sharedstatedir=${ARG#--sharedstatedir=} ;; |
225 "--release") BUILD_TYPE="release" ;; |
| 183 "--localstatedir="*) localstatedir=${ARG#--localstatedir=} ;; |
|
| 184 "--runstatedir="*) runstatedir=${ARG#--runstatedir=} ;; |
|
| 185 "--includedir="*) includedir=${ARG#--includedir=} ;; |
|
| 186 "--infodir="*) infodir=${ARG#--infodir=} ;; |
|
| 187 "--mandir"*) mandir=${ARG#--mandir} ;; |
|
| 188 "--localedir"*) localedir=${ARG#--localedir} ;; |
|
| 189 "--help"*) printhelp; abort_configure ;; |
|
| 190 "--debug") BUILD_TYPE="debug" ;; |
|
| 191 "--release") BUILD_TYPE="release" ;; |
|
| 192 "--toolkit="*) OPT_TOOLKIT=${ARG#--toolkit=} ;; |
226 "--toolkit="*) OPT_TOOLKIT=${ARG#--toolkit=} ;; |
| 193 "--toolkit") echo "option '$ARG' needs a value:"; echo " $ARG=(gtk3|cli|gtk2|wpf)"; abort_configure ;; |
227 "--toolkit") echo "option '$ARG' needs a value:"; echo " $ARG=(gtk3|cli|gtk2|wpf)"; abort_configure ;; |
| 194 "--enable-db") FEATURE_DB=on ;; |
228 "--enable-db") FEATURE_DB=on ;; |
| 195 "--disable-db") unset FEATURE_DB ;; |
229 "--disable-db") unset FEATURE_DB ;; |
| 196 "--enable-gui") FEATURE_GUI=on ;; |
230 "--enable-gui") FEATURE_GUI=on ;; |
| 197 "--disable-gui") unset FEATURE_GUI ;; |
231 "--disable-gui") unset FEATURE_GUI ;; |
| 198 "-"*) echo "unknown option: $ARG"; abort_configure ;; |
232 "-"*) echo "unknown option: $ARG"; abort_configure ;; |
| 234 : ${includedir:='${prefix}/include'} |
268 : ${includedir:='${prefix}/include'} |
| 235 : ${infodir:='${datarootdir}/info'} |
269 : ${infodir:='${datarootdir}/info'} |
| 236 : ${mandir:='${datarootdir}/man'} |
270 : ${mandir:='${datarootdir}/man'} |
| 237 : ${localedir:='${datarootdir}/locale'} |
271 : ${localedir:='${datarootdir}/locale'} |
| 238 |
272 |
| 239 # remember the above values and compare them later |
|
| 240 orig_bindir="$bindir" |
|
| 241 orig_sbindir="$sbindir" |
|
| 242 orig_libdir="$libdir" |
|
| 243 orig_libexecdir="$libexecdir" |
|
| 244 orig_datarootdir="$datarootdir" |
|
| 245 orig_datadir="$datadir" |
|
| 246 orig_sysconfdir="$sysconfdir" |
|
| 247 orig_sharedstatedir="$sharedstatedir" |
|
| 248 orig_localstatedir="$localstatedir" |
|
| 249 orig_runstatedir="$runstatedir" |
|
| 250 orig_includedir="$includedir" |
|
| 251 orig_infodir="$infodir" |
|
| 252 orig_mandir="$mandir" |
|
| 253 orig_localedir="$localedir" |
|
| 254 |
|
| 255 # check if a config.site exists and load it |
273 # check if a config.site exists and load it |
| 256 if [ -n "$CONFIG_SITE" ]; then |
274 if [ -n "$CONFIG_SITE" ]; then |
| 257 # CONFIG_SITE may contain space separated file names |
275 # CONFIG_SITE may contain space separated file names |
| 258 for cs in $CONFIG_SITE; do |
276 for cs in $CONFIG_SITE; do |
| 259 printf "loading defaults from $cs... " |
277 printf "loading defaults from $cs... " |
| 295 |
313 |
| 296 # generate vars.mk |
314 # generate vars.mk |
| 297 cat > "$TEMP_DIR/vars.mk" << __EOF__ |
315 cat > "$TEMP_DIR/vars.mk" << __EOF__ |
| 298 prefix=$prefix |
316 prefix=$prefix |
| 299 exec_prefix=$exec_prefix |
317 exec_prefix=$exec_prefix |
| 300 bindir=$bindir |
|
| 301 sbindir=$sbindir |
|
| 302 libdir=$libdir |
318 libdir=$libdir |
| 303 libexecdir=$libexecdir |
|
| 304 datarootdir=$datarootdir |
319 datarootdir=$datarootdir |
| 305 datadir=$datadir |
|
| 306 sysconfdir=$sysconfdir |
|
| 307 sharedstatedir=$sharedstatedir |
|
| 308 localstatedir=$localstatedir |
320 localstatedir=$localstatedir |
| 309 runstatedir=$runstatedir |
321 libdatadir=$libdatadir |
| 310 includedir=$includedir |
322 SRCDIR=$SRCDIR |
| 311 infodir=$infodir |
323 TOOLKIT_HOME=$TOOLKIT_HOME |
| 312 mandir=$mandir |
|
| 313 localedir=$localedir |
|
| 314 __EOF__ |
324 __EOF__ |
| 315 |
325 |
| 316 # toolchain detection utilities |
326 # toolchain detection utilities |
| 317 . make/toolchain.sh |
327 . make/toolchain.sh |
| 318 |
328 |
| 890 fi |
900 fi |
| 891 if [ -n "$TOOLCHAIN_CSTD" ]; then |
901 if [ -n "$TOOLCHAIN_CSTD" ]; then |
| 892 echo " default C std: $TOOLCHAIN_CSTD" |
902 echo " default C std: $TOOLCHAIN_CSTD" |
| 893 fi |
903 fi |
| 894 echo |
904 echo |
| 895 echo "Build Config:" |
905 echo "Config:" |
| 896 echo " prefix: $prefix" |
906 printf ' %-16s' 'prefix:' |
| 897 echo " exec_prefix: $exec_prefix" |
907 echo "$prefix" |
| 898 if [ "$orig_bindir" != "$bindir" ]; then |
908 printf ' %-16s' 'exec-prefix:' |
| 899 echo " bindir: $bindir" |
909 echo "$exec_prefix" |
| 900 fi |
910 printf ' %-16s' 'libdir:' |
| 901 if [ "$orig_sbindir" != "$sbindir" ]; then |
911 echo "$libdir" |
| 902 echo " sbindir: $sbindir" |
912 printf ' %-16s' 'datarootdir:' |
| 903 fi |
913 echo "$datarootdir" |
| 904 if [ "$orig_libdir" != "$libdir" ]; then |
914 printf ' %-16s' 'localstatedir:' |
| 905 echo " libdir: $libdir" |
915 echo "$localstatedir" |
| 906 fi |
916 printf ' %-16s' 'libdatadir:' |
| 907 if [ "$orig_libexecdir" != "$libexecdir" ]; then |
917 echo "$libdatadir" |
| 908 echo " libexecdir: $libexecdir" |
918 printf ' %-16s' 'toolkit-home:' |
| 909 fi |
919 echo "$TOOLKIT_HOME" |
| 910 if [ "$orig_datarootdir" != "$datarootdir" ]; then |
|
| 911 echo " datarootdir: $datarootdir" |
|
| 912 fi |
|
| 913 if [ "$orig_datadir" != "$datadir" ]; then |
|
| 914 echo " datadir: $datadir" |
|
| 915 fi |
|
| 916 if [ "$orig_sysconfdir" != "$sysconfdir" ]; then |
|
| 917 echo " sysconfdir: $sysconfdir" |
|
| 918 fi |
|
| 919 if [ "$orig_sharedstatedir" != "$sharedstatedir" ]; then |
|
| 920 echo " sharedstatedir: $sharedstatedir" |
|
| 921 fi |
|
| 922 if [ "$orig_localstatedir" != "$localstatedir" ]; then |
|
| 923 echo " localstatedir: $localstatedir" |
|
| 924 fi |
|
| 925 if [ "$orig_runstatedir" != "$runstatedir" ]; then |
|
| 926 echo " runstatedir: $runstatedir" |
|
| 927 fi |
|
| 928 if [ "$orig_includedir" != "$includedir" ]; then |
|
| 929 echo " includedir: $includedir" |
|
| 930 fi |
|
| 931 if [ "$orig_infodir" != "$infodir" ]; then |
|
| 932 echo " infodir: $infodir" |
|
| 933 fi |
|
| 934 if [ "$orig_mandir" != "$mandir" ]; then |
|
| 935 echo " mandir: $mandir" |
|
| 936 fi |
|
| 937 if [ "$orig_localedir" != "$localedir" ]; then |
|
| 938 echo " localedir: $localedir" |
|
| 939 fi |
|
| 940 echo |
920 echo |
| 941 echo "Options:" |
921 echo "Options:" |
| 942 cat "$TEMP_DIR/options" |
922 cat "$TEMP_DIR/options" |
| 943 echo |
923 echo |
| 944 echo "Features:" |
924 echo "Features:" |
| |
925 printf ' %-16s' 'db:' |
| 945 if [ -n "$FEATURE_DB" ]; then |
926 if [ -n "$FEATURE_DB" ]; then |
| 946 echo " db: on" |
927 echo 'on' |
| 947 else |
928 else |
| 948 echo " db: off" |
929 echo 'off' |
| 949 fi |
930 fi |
| |
931 printf ' %-16s' 'gui:' |
| 950 if [ -n "$FEATURE_GUI" ]; then |
932 if [ -n "$FEATURE_GUI" ]; then |
| 951 echo " gui: on" |
933 echo 'on' |
| 952 else |
934 else |
| 953 echo " gui: off" |
935 echo 'off' |
| 954 fi |
936 fi |
| 955 echo |
937 echo |
| 956 |
938 |
| 957 # generate the config.mk file |
939 # generate the config.mk file |
| 958 pwd=`pwd` |
940 pwd=`pwd` |