Mercurial > hg > xemacs-beta
diff configure @ 3147:971e3c687f18
[xemacs-hg @ 2005-12-18 12:21:49 by malcolmp]
Improvements to configure's complex option processing.
author | malcolmp |
---|---|
date | Sun, 18 Dec 2005 12:22:03 +0000 |
parents | a05d78a1685f |
children | 71959ba52b08 |
line wrap: on
line diff
--- a/configure Sun Dec 18 11:44:28 2005 +0000 +++ b/configure Sun Dec 18 12:22:03 2005 +0000 @@ -2264,20 +2264,13 @@ fi; _xft_notfirst="" -with_xft_emacs=no -enable_xft_emacs=no -with_xft_menubars=no -enable_xft_menubars=no -with_xft_tabs=no -enable_xft_tabs=no -with_xft_gauges=no -enable_xft_gauges=no - +_xft_emacs_default=no +_xft_menubars_default=no +_xft_tabs_default=no +_xft_gauges_default=no _xft_types="emacs menubars tabs gauges" _xft_default="noemacs,nomenubars,notabs,nogauges" - - # If --with-xft or --without-xft were given then copy the value to the # equivalent enable_xft variable. if test "${with_xft+set}" = set; then @@ -2292,52 +2285,67 @@ if test "${with_xft+set}" = set; then enableval="$with_xft" withval="$with_xft" - for y in $_xft_types; do - eval "with_xft_$y=no" - eval "enable_xft_$y=no" -done -for x in `echo "$with_xft" | sed -e 's/,/ /g'` ; do - _xft_all_default="" + _xft_all_default="" +_require_xft="" +case "$with_xft" in + n | no | non | none ) _xft_all_default=no ;; + n,* | no,* | non,* | none,* ) _xft_all_default=no ;; + a | al | all | both ) _xft_all_default=yes ;; + a,* | al,* | all,* | both,* ) _xft_all_default=yes ;; + y | yes ) _require_xft=yes ;; +esac +if test -n "$_xft_all_default$_require_xft"; then + _with_xft_args=`echo $with_xft | sed -e 's/^[a-z]*\(,\(.*\)\)\{0,1\}$/\2/'` +else + _with_xft_args=$with_xft +fi +for y in $_xft_types; do + if test -n "$_xft_all_default" ; then + eval "with_xft_${y}=$_xft_all_default" + else + eval "with_xft_$y=\$_xft_${y}_default" + fi +done +for x in `echo "$_with_xft_args" | sed -e 's/,/ /g'` ; do _xft_found="" - case "$x" in - n | no | non | none ) _xft_all_default=no ;; - a | al | all | both ) _xft_all_default=yes ;; - esac - - if test -z "$_xft_all_default"; then - for y in $_xft_types; do - if test "$x" = "$y"; then - _xft_found=yes - eval "with_xft_$y=yes" - eval "enable_xft_$y=yes" - elif test "$x" = "no$y"; then - _xft_found=yes - eval "with_xft_$y=no" - eval "enable_xft_$y=no" - fi - done - test -z "$_xft_found" && _xft_bogus=yes - fi - if test "$_xft_bogus" = "yes" -o \ - \( -n "$_xft_all_default" -a -n "$_xft_notfirst" \) ; then + for y in $_xft_types; do + if test "$x" = "$y"; then + _xft_found=yes + eval "with_xft_$y=yes" + elif test "$x" = "no$y"; then + _xft_found=yes + eval "with_xft_$y=no" + fi + done + test -z "$_xft_found" && \ (echo "$progname: Usage error:" -echo " " "Valid values for the --with-xft option are: -$_xft_types. With prefix \"no\", switch it off. -Defaults may be overridden with \`all' or \`none' first in the list. -Hardcoded default is: $_xft_default." +echo " " "\ +Invalid type list supplied. Valid types for the --with-xft option are: + $_xft_types. + A prefix of \"no\" (eg, \"notype\" for \"type\") turns a type off. + Types not explicitly specified or negated take their defaults. + The list of defaults is \"$_xft_default\". Prefixing \`all' or + \`none' to the list sets all defaults to on and off respectively. + \`yes' as the sole argument is equivalent to omitting the argument." echo " Use \`$progname --help' to show usage.") >&2 && exit 1 - elif test -n "$_xft_all_default" ; then - for y in $_xft_types; do - eval "with_xft_$y=$_xft_all_default" - eval "enable_xft_$y=$_xft_all_default" - done - fi - _xft_notfirst=yes -done -unset _xft_bogus _xft_found _xft_notfirst _xft_types -unset _xft_default _xft_all_default x y - - +done +for y in $_xft_types; do + eval "enable_xft_$y=\$with_xft_$y" + unset _xft_${y}_default +done +unset _xft_types _xft_default _xft_all_default _xft_use_defaults +unset _with_xft_args _xft_found x y _require_xft + + + +else + +# set default for each type +for y in $_xft_types; do + eval "with_xft_$y=\$_xft_${y}_default" + eval "enable_xft_$y=\$_xft_${y}_default" + unset _xft_${y}_default +done fi; # If --with-gtk or --without-gtk were given then copy the value to the @@ -2806,18 +2814,12 @@ fi; _sound_notfirst="" -with_sound_native="" -enable_sound_native="" -with_sound_nas="" -enable_sound_nas="" -with_sound_esd=no -enable_sound_esd=no - +_sound_native_default="" +_sound_nas_default="" +_sound_esd_default=no _sound_types="native nas esd" _sound_default="native,nas,noesd" - - # If --with-sound or --without-sound were given then copy the value to the # equivalent enable_sound variable. if test "${with_sound+set}" = set; then @@ -2832,55 +2834,68 @@ if test "${with_sound+set}" = set; then enableval="$with_sound" withval="$with_sound" - for y in $_sound_types; do - eval "with_sound_$y=no" - eval "enable_sound_$y=no" -done -for x in `echo "$with_sound" | sed -e 's/,/ /g'` ; do - _sound_all_default="" + _sound_all_default="" +_require_sound="" +case "$with_sound" in + n | no | non | none ) _sound_all_default=no ;; + n,* | no,* | non,* | none,* ) _sound_all_default=no ;; + a | al | all | both ) _sound_all_default=yes ;; + a,* | al,* | all,* | both,* ) _sound_all_default=yes ;; + y | yes ) _require_sound=yes ;; +esac +if test -n "$_sound_all_default$_require_sound"; then + _with_sound_args=`echo $with_sound | sed -e 's/^[a-z]*\(,\(.*\)\)\{0,1\}$/\2/'` +else + _with_sound_args=$with_sound +fi +for y in $_sound_types; do + if test -n "$_sound_all_default" ; then + eval "with_sound_${y}=$_sound_all_default" + else + eval "with_sound_$y=\$_sound_${y}_default" + fi +done +for x in `echo "$_with_sound_args" | sed -e 's/,/ /g'` ; do _sound_found="" - case "$x" in - n | no | non | none ) _sound_all_default=no ;; - a | al | all | both ) _sound_all_default=yes ;; - esac - - if test -z "$_sound_all_default"; then - for y in $_sound_types; do - if test "$x" = "$y"; then - _sound_found=yes - eval "with_sound_$y=yes" - eval "enable_sound_$y=yes" - elif test "$x" = "no$y"; then - _sound_found=yes - eval "with_sound_$y=no" - eval "enable_sound_$y=no" - fi - done - test -z "$_sound_found" && _sound_bogus=yes - fi - if test "$_sound_bogus" = "yes" -o \ - \( -n "$_sound_all_default" -a -n "$_sound_notfirst" \) ; then + for y in $_sound_types; do + if test "$x" = "$y"; then + _sound_found=yes + eval "with_sound_$y=yes" + elif test "$x" = "no$y"; then + _sound_found=yes + eval "with_sound_$y=no" + fi + done + test -z "$_sound_found" && \ (echo "$progname: Usage error:" -echo " " "Valid values for the --with-sound option are: -$_sound_types. With prefix \"no\", switch it off. -Defaults may be overridden with \`all' or \`none' first in the list. -Hardcoded default is: $_sound_default." +echo " " "\ +Invalid type list supplied. Valid types for the --with-sound option are: + $_sound_types. + A prefix of \"no\" (eg, \"notype\" for \"type\") turns a type off. + Types not explicitly specified or negated take their defaults. + The list of defaults is \"$_sound_default\". Prefixing \`all' or + \`none' to the list sets all defaults to on and off respectively. + \`yes' as the sole argument is equivalent to omitting the argument." echo " Use \`$progname --help' to show usage.") >&2 && exit 1 - elif test -n "$_sound_all_default" ; then - for y in $_sound_types; do - eval "with_sound_$y=$_sound_all_default" - eval "enable_sound_$y=$_sound_all_default" - done - fi - _sound_notfirst=yes -done -unset _sound_bogus _sound_found _sound_notfirst _sound_types -unset _sound_default _sound_all_default x y - - - -else - enable_sound_nas="" +done +for y in $_sound_types; do + eval "enable_sound_$y=\$with_sound_$y" + unset _sound_${y}_default +done +unset _sound_types _sound_default _sound_all_default _sound_use_defaults +unset _with_sound_args _sound_found x y _require_sound + + + +else + +# set default for each type +for y in $_sound_types; do + eval "with_sound_$y=\$_sound_${y}_default" + eval "enable_sound_$y=\$_sound_${y}_default" + unset _sound_${y}_default +done +enable_sound_nas="" fi; # If --with-native-sound-lib or --without-native-sound-lib were given then copy the value to the # equivalent enable_native-sound-lib variable. @@ -3060,18 +3075,12 @@ fi; _database_notfirst="" -with_database_berkdb="" -enable_database_berkdb="" -with_database_dbm="" -enable_database_dbm="" -with_database_gdbm="" -enable_database_gdbm="" - +_database_berkdb_default="" +_database_dbm_default="" +_database_gdbm_default="" _database_types="berkdb dbm gdbm" _database_default="berkdb,dbm,gdbm" - - # If --with-database or --without-database were given then copy the value to the # equivalent enable_database variable. if test "${with_database+set}" = set; then @@ -3086,50 +3095,56 @@ if test "${with_database+set}" = set; then enableval="$with_database" withval="$with_database" - for y in $_database_types; do - eval "with_database_$y=no" - eval "enable_database_$y=no" -done -for x in `echo "$with_database" | sed -e 's/,/ /g'` ; do - _database_all_default="" + _database_all_default="" +_require_database="" +case "$with_database" in + n | no | non | none ) _database_all_default=no ;; + n,* | no,* | non,* | none,* ) _database_all_default=no ;; + a | al | all | both ) _database_all_default=yes ;; + a,* | al,* | all,* | both,* ) _database_all_default=yes ;; + y | yes ) _require_database=yes ;; +esac +if test -n "$_database_all_default$_require_database"; then + _with_database_args=`echo $with_database | sed -e 's/^[a-z]*\(,\(.*\)\)\{0,1\}$/\2/'` +else + _with_database_args=$with_database +fi +for y in $_database_types; do + if test -n "$_database_all_default" ; then + eval "with_database_${y}=$_database_all_default" + else + eval "with_database_$y=\$_database_${y}_default" + fi +done +for x in `echo "$_with_database_args" | sed -e 's/,/ /g'` ; do _database_found="" - case "$x" in - n | no | non | none ) _database_all_default=no ;; - a | al | all | both ) _database_all_default=yes ;; - esac - - if test -z "$_database_all_default"; then - for y in $_database_types; do - if test "$x" = "$y"; then - _database_found=yes - eval "with_database_$y=yes" - eval "enable_database_$y=yes" - elif test "$x" = "no$y"; then - _database_found=yes - eval "with_database_$y=no" - eval "enable_database_$y=no" - fi - done - test -z "$_database_found" && _database_bogus=yes - fi - if test "$_database_bogus" = "yes" -o \ - \( -n "$_database_all_default" -a -n "$_database_notfirst" \) ; then + for y in $_database_types; do + if test "$x" = "$y"; then + _database_found=yes + eval "with_database_$y=yes" + elif test "$x" = "no$y"; then + _database_found=yes + eval "with_database_$y=no" + fi + done + test -z "$_database_found" && \ (echo "$progname: Usage error:" -echo " " "Valid values for the --with-database option are: -$_database_types. With prefix \"no\", switch it off. -Defaults may be overridden with \`all' or \`none' first in the list. -Hardcoded default is: $_database_default." +echo " " "\ +Invalid type list supplied. Valid types for the --with-database option are: + $_database_types. + A prefix of \"no\" (eg, \"notype\" for \"type\") turns a type off. + Types not explicitly specified or negated take their defaults. + The list of defaults is \"$_database_default\". Prefixing \`all' or + \`none' to the list sets all defaults to on and off respectively. + \`yes' as the sole argument is equivalent to omitting the argument." echo " Use \`$progname --help' to show usage.") >&2 && exit 1 - elif test -n "$_database_all_default" ; then - for y in $_database_types; do - eval "with_database_$y=$_database_all_default" - eval "enable_database_$y=$_database_all_default" - done - fi - _database_notfirst=yes -done -unset _database_bogus _database_found _database_notfirst _database_types -unset _database_default _database_all_default x y +done +for y in $_database_types; do + eval "enable_database_$y=\$with_database_$y" + unset _database_${y}_default +done +unset _database_types _database_default _database_all_default _database_use_defaults +unset _with_database_args _database_found x y _require_database if test "$enable_database_dbm" = "yes" -a "$enable_database_gdbm" = "yes"; then @@ -3140,6 +3155,15 @@ fi +else + +# set default for each type +for y in $_database_types; do + eval "with_database_$y=\$_database_${y}_default" + eval "enable_database_$y=\$_database_${y}_default" + unset _database_${y}_default +done + fi; # If --with-ldap or --without-ldap were given then copy the value to the # equivalent enable_ldap variable. @@ -3475,24 +3499,15 @@ fi; _vdb_notfirst="" -with_vdb_auto= -enable_vdb_auto= -with_vdb_posix= -enable_vdb_posix= -with_vdb_win32= -enable_vdb_win32= -with_vdb_mach= -enable_vdb_mach= -with_vdb_fake= -enable_vdb_fake= -with_vdb_no= -enable_vdb_no= - +_vdb_auto_default= +_vdb_posix_default= +_vdb_win32_default= +_vdb_mach_default= +_vdb_fake_default= +_vdb_no_default= _vdb_types="auto posix win32 mach fake no" _vdb_default="auto,posix,win32,mach,fake,no" - - # If --with-vdb or --without-vdb were given then copy the value to the # equivalent enable_vdb variable. if test "${with_vdb+set}" = set; then @@ -3507,55 +3522,68 @@ if test "${with_vdb+set}" = set; then enableval="$with_vdb" withval="$with_vdb" - for y in $_vdb_types; do - eval "with_vdb_$y=no" - eval "enable_vdb_$y=no" -done -for x in `echo "$with_vdb" | sed -e 's/,/ /g'` ; do - _vdb_all_default="" + _vdb_all_default="" +_require_vdb="" +case "$with_vdb" in + n | no | non | none ) _vdb_all_default=no ;; + n,* | no,* | non,* | none,* ) _vdb_all_default=no ;; + a | al | all | both ) _vdb_all_default=yes ;; + a,* | al,* | all,* | both,* ) _vdb_all_default=yes ;; + y | yes ) _require_vdb=yes ;; +esac +if test -n "$_vdb_all_default$_require_vdb"; then + _with_vdb_args=`echo $with_vdb | sed -e 's/^[a-z]*\(,\(.*\)\)\{0,1\}$/\2/'` +else + _with_vdb_args=$with_vdb +fi +for y in $_vdb_types; do + if test -n "$_vdb_all_default" ; then + eval "with_vdb_${y}=$_vdb_all_default" + else + eval "with_vdb_$y=\$_vdb_${y}_default" + fi +done +for x in `echo "$_with_vdb_args" | sed -e 's/,/ /g'` ; do _vdb_found="" - case "$x" in - n | no | non | none ) _vdb_all_default=no ;; - a | al | all | both ) _vdb_all_default=yes ;; - esac - - if test -z "$_vdb_all_default"; then - for y in $_vdb_types; do - if test "$x" = "$y"; then - _vdb_found=yes - eval "with_vdb_$y=yes" - eval "enable_vdb_$y=yes" - elif test "$x" = "no$y"; then - _vdb_found=yes - eval "with_vdb_$y=no" - eval "enable_vdb_$y=no" - fi - done - test -z "$_vdb_found" && _vdb_bogus=yes - fi - if test "$_vdb_bogus" = "yes" -o \ - \( -n "$_vdb_all_default" -a -n "$_vdb_notfirst" \) ; then + for y in $_vdb_types; do + if test "$x" = "$y"; then + _vdb_found=yes + eval "with_vdb_$y=yes" + elif test "$x" = "no$y"; then + _vdb_found=yes + eval "with_vdb_$y=no" + fi + done + test -z "$_vdb_found" && \ (echo "$progname: Usage error:" -echo " " "Valid values for the --with-vdb option are: -$_vdb_types. With prefix \"no\", switch it off. -Defaults may be overridden with \`all' or \`none' first in the list. -Hardcoded default is: $_vdb_default." +echo " " "\ +Invalid type list supplied. Valid types for the --with-vdb option are: + $_vdb_types. + A prefix of \"no\" (eg, \"notype\" for \"type\") turns a type off. + Types not explicitly specified or negated take their defaults. + The list of defaults is \"$_vdb_default\". Prefixing \`all' or + \`none' to the list sets all defaults to on and off respectively. + \`yes' as the sole argument is equivalent to omitting the argument." echo " Use \`$progname --help' to show usage.") >&2 && exit 1 - elif test -n "$_vdb_all_default" ; then - for y in $_vdb_types; do - eval "with_vdb_$y=$_vdb_all_default" - eval "enable_vdb_$y=$_vdb_all_default" - done - fi - _vdb_notfirst=yes -done -unset _vdb_bogus _vdb_found _vdb_notfirst _vdb_types -unset _vdb_default _vdb_all_default x y - - - -else - enable_vdb="auto" +done +for y in $_vdb_types; do + eval "enable_vdb_$y=\$with_vdb_$y" + unset _vdb_${y}_default +done +unset _vdb_types _vdb_default _vdb_all_default _vdb_use_defaults +unset _with_vdb_args _vdb_found x y _require_vdb + + + +else + +# set default for each type +for y in $_vdb_types; do + eval "with_vdb_$y=\$_vdb_${y}_default" + eval "enable_vdb_$y=\$_vdb_${y}_default" + unset _vdb_${y}_default +done +enable_vdb="auto" fi; # If --with-modules or --without-modules were given then copy the value to the @@ -3674,30 +3702,18 @@ fi; _error_checking_notfirst="" -with_error_checking_extents="" -enable_error_checking_extents="" -with_error_checking_types="" -enable_error_checking_types="" -with_error_checking_text="" -enable_error_checking_text="" -with_error_checking_gc="" -enable_error_checking_gc="" -with_error_checking_malloc="" -enable_error_checking_malloc="" -with_error_checking_byte_code="" -enable_error_checking_byte_code="" -with_error_checking_glyphs="" -enable_error_checking_glyphs="" -with_error_checking_display="" -enable_error_checking_display="" -with_error_checking_structures="" -enable_error_checking_structures="" - +_error_checking_extents_default="" +_error_checking_types_default="" +_error_checking_text_default="" +_error_checking_gc_default="" +_error_checking_malloc_default="" +_error_checking_byte_code_default="" +_error_checking_glyphs_default="" +_error_checking_display_default="" +_error_checking_structures_default="" _error_checking_types="extents types text gc malloc byte_code glyphs display structures" _error_checking_default="extents,types,text,gc,malloc,byte_code,glyphs,display,structures" - - # If --with-error-checking or --without-error-checking were given then copy the value to the # equivalent enable_error-checking variable. if test "${with_error_checking+set}" = set; then @@ -3712,52 +3728,67 @@ if test "${with_error_checking+set}" = set; then enableval="$with_error_checking" withval="$with_error_checking" - for y in $_error_checking_types; do - eval "with_error_checking_$y=no" - eval "enable_error_checking_$y=no" -done -for x in `echo "$with_error_checking" | sed -e 's/,/ /g'` ; do - _error_checking_all_default="" + _error_checking_all_default="" +_require_error_checking="" +case "$with_error_checking" in + n | no | non | none ) _error_checking_all_default=no ;; + n,* | no,* | non,* | none,* ) _error_checking_all_default=no ;; + a | al | all | both ) _error_checking_all_default=yes ;; + a,* | al,* | all,* | both,* ) _error_checking_all_default=yes ;; + y | yes ) _require_error_checking=yes ;; +esac +if test -n "$_error_checking_all_default$_require_error_checking"; then + _with_error_checking_args=`echo $with_error_checking | sed -e 's/^[a-z]*\(,\(.*\)\)\{0,1\}$/\2/'` +else + _with_error_checking_args=$with_error_checking +fi +for y in $_error_checking_types; do + if test -n "$_error_checking_all_default" ; then + eval "with_error_checking_${y}=$_error_checking_all_default" + else + eval "with_error_checking_$y=\$_error_checking_${y}_default" + fi +done +for x in `echo "$_with_error_checking_args" | sed -e 's/,/ /g'` ; do _error_checking_found="" - case "$x" in - n | no | non | none ) _error_checking_all_default=no ;; - a | al | all | both ) _error_checking_all_default=yes ;; - esac - - if test -z "$_error_checking_all_default"; then - for y in $_error_checking_types; do - if test "$x" = "$y"; then - _error_checking_found=yes - eval "with_error_checking_$y=yes" - eval "enable_error_checking_$y=yes" - elif test "$x" = "no$y"; then - _error_checking_found=yes - eval "with_error_checking_$y=no" - eval "enable_error_checking_$y=no" - fi - done - test -z "$_error_checking_found" && _error_checking_bogus=yes - fi - if test "$_error_checking_bogus" = "yes" -o \ - \( -n "$_error_checking_all_default" -a -n "$_error_checking_notfirst" \) ; then + for y in $_error_checking_types; do + if test "$x" = "$y"; then + _error_checking_found=yes + eval "with_error_checking_$y=yes" + elif test "$x" = "no$y"; then + _error_checking_found=yes + eval "with_error_checking_$y=no" + fi + done + test -z "$_error_checking_found" && \ (echo "$progname: Usage error:" -echo " " "Valid values for the --with-error-checking option are: -$_error_checking_types. With prefix \"no\", switch it off. -Defaults may be overridden with \`all' or \`none' first in the list. -Hardcoded default is: $_error_checking_default." +echo " " "\ +Invalid type list supplied. Valid types for the --with-error-checking option are: + $_error_checking_types. + A prefix of \"no\" (eg, \"notype\" for \"type\") turns a type off. + Types not explicitly specified or negated take their defaults. + The list of defaults is \"$_error_checking_default\". Prefixing \`all' or + \`none' to the list sets all defaults to on and off respectively. + \`yes' as the sole argument is equivalent to omitting the argument." echo " Use \`$progname --help' to show usage.") >&2 && exit 1 - elif test -n "$_error_checking_all_default" ; then - for y in $_error_checking_types; do - eval "with_error_checking_$y=$_error_checking_all_default" - eval "enable_error_checking_$y=$_error_checking_all_default" - done - fi - _error_checking_notfirst=yes -done -unset _error_checking_bogus _error_checking_found _error_checking_notfirst _error_checking_types -unset _error_checking_default _error_checking_all_default x y - - +done +for y in $_error_checking_types; do + eval "enable_error_checking_$y=\$with_error_checking_$y" + unset _error_checking_${y}_default +done +unset _error_checking_types _error_checking_default _error_checking_all_default _error_checking_use_defaults +unset _with_error_checking_args _error_checking_found x y _require_error_checking + + + +else + +# set default for each type +for y in $_error-checking_types; do + eval "with_error-checking_$y=\$_error-checking_${y}_default" + eval "enable_error-checking_$y=\$_error-checking_${y}_default" + unset _error-checking_${y}_default +done fi; # If --with-assertions or --without-assertions were given then copy the value to the