test/configure2

changeset 165
f4f11f755ee7
parent 162
79eeb33c738f
child 167
fa31a6d0ec56
equal deleted inserted replaced
164:099448bcc943 165:f4f11f755ee7
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
122 151
123 breaks. 152 breaks.
124 --enable-gui 153 --enable-gui
125 154
126 __EOF__ 155 __EOF__
156 abort_configure
127 } 157 }
128 158
129 # create temporary directory 159 # create temporary directory
130 TEMP_DIR=".tmp-`uname -n`" 160 TEMP_DIR=".tmp-`uname -n`"
131 rm -Rf "$TEMP_DIR" 161 rm -Rf "$TEMP_DIR"
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
875 abort_configure 885 abort_configure
876 fi 886 fi
877 887
878 echo "configure finished" 888 echo "configure finished"
879 echo 889 echo
880 echo "Toolchain" 890 echo "Toolchain:"
881 echo " name: $TOOLCHAIN_NAME" 891 echo " name: $TOOLCHAIN_NAME"
882 if [ -n "$TOOLCHAIN_CC" ]; then 892 if [ -n "$TOOLCHAIN_CC" ]; then
883 echo " cc: $TOOLCHAIN_CC" 893 echo " cc: $TOOLCHAIN_CC"
884 fi 894 fi
885 if [ -n "$TOOLCHAIN_CXX" ]; then 895 if [ -n "$TOOLCHAIN_CXX" ]; then
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`

mercurial