Home | History | Annotate | Download | only in m4m
      1 dnl
      2 dnl GP_CONFIG_INIT
      3 dnl      use default LHS width (called implicitly if not called explicitly)
      4 dnl GP_CONFIG_INIT([WIDTH-OF-LHS])
      5 dnl      explicitly set the LHS width to the given value
      6 dnl
      7 dnl GP_CONFIG_MSG
      8 dnl      empty output line
      9 dnl GP_CONFIG_MSG([LHS],[RHS])
     10 dnl      formatted output line "LHS: RHS"
     11 dnl
     12 dnl GP_CONFIG_OUTPUT
     13 dnl      print all the output messages we collected in the mean time
     14 dnl
     15 dnl Simple way to print a configuration summary at the end of ./configure.
     16 dnl
     17 dnl Example usage:
     18 dnl
     19 dnl    GP_CONFIG_INIT
     20 dnl    GP_CONFIG_MSG([Source code location],[${srcdir}])
     21 dnl    GP_CONFIG_MSG([Compiler],[${CC}])
     22 dnl    GP_CONFIG_MSG
     23 dnl    GP_CONFIG_MSG([Feature foo],[${foo}])
     24 dnl    GP_CONFIG_MSG([Location of bar],[${bar}])
     25 dnl    [...]
     26 dnl    AC_OUTPUT
     27 dnl    GP_CONFIG_OUTPUT
     28 dnl
     29 dnl
     30 AC_DEFUN([GP_CONFIG_INIT],
     31 [dnl
     32 AC_REQUIRE([GP_CHECK_SHELL_ENVIRONMENT])
     33 dnl the empty string must contain at least as many spaces as the substr length
     34 dnl FIXME: let m4 determine that length
     35 dnl        (collect left parts in array and choose largest length)
     36 m4_if([$1],[],[gp_config_len="30"],[gp_config_len="$1"])
     37 gp_config_empty=""
     38 gp_config_len3="$(expr "$gp_config_len" - 3)"
     39 n="$gp_config_len"
     40 while test "$n" -gt 0; do
     41       gp_config_empty="${gp_config_empty} "
     42       n="$(expr "$n" - 1)"
     43 done
     44 gp_config_msg="
     45 Configuration (${PACKAGE_TARNAME} ${PACKAGE_VERSION}):
     46 "
     47 ])dnl
     48 dnl
     49 dnl
     50 AC_DEFUN([GP_CONFIG_MSG],
     51 [AC_REQUIRE([GP_CONFIG_INIT])dnl
     52 m4_if([$1],[],[
     53 gp_config_msg="${gp_config_msg}
     54 "
     55 ],[$2],[],[
     56 gp_config_msg="${gp_config_msg}
     57   [$1]
     58 "
     59 ],[
     60 gp_config_msg_len="$(expr "[$1]" : '.*')"
     61 if test "$gp_config_msg_len" -ge "$gp_config_len"; then
     62 	gp_config_msg_lhs="$(expr "[$1]" : "\(.\{0,${gp_config_len3}\}\)")..:"
     63 else
     64 	gp_config_msg_lhs="$(expr "[$1]:${gp_config_empty}" : "\(.\{0,${gp_config_len}\}\)")"
     65 fi
     66 gp_config_msg="${gp_config_msg}    ${gp_config_msg_lhs} [$2]
     67 "
     68 ])])dnl
     69 dnl
     70 AC_DEFUN([GP_CONFIG_MSG_SUBDIRS],[dnl
     71 # Message about configured subprojects
     72 if test "x$subdirs" != "x"; then
     73 	GP_CONFIG_MSG()dnl
     74 	_subdirs=""
     75 	for sd in $subdirs; do
     76 		ssd="$(basename "$sd")"
     77 		if test "x$_subdirs" = "x"; then
     78 			_subdirs="$ssd";
     79 		else
     80 			_subdirs="$_subdirs $ssd"
     81 		fi
     82 	done
     83 	GP_CONFIG_MSG([Subprojects],[${_subdirs}])dnl
     84 fi
     85 ])dnl
     86 dnl
     87 AC_DEFUN([GP_CONFIG_OUTPUT],
     88 [AC_REQUIRE([GP_CONFIG_INIT])dnl
     89 AC_REQUIRE([GP_CONFIG_MSG])dnl
     90 AC_REQUIRE([GP_CONFIG_MSG_SUBDIRS])dnl
     91 echo "${gp_config_msg}
     92 You may run \"make\" and \"make install\" now."
     93 ])dnl
     94 dnl
     95 dnl Please do not remove this:
     96 dnl filetype: de774af3-dc3b-4b1d-b6f2-4aca35d3da16
     97 dnl I use this to find all the different instances of this file which 
     98 dnl are supposed to be synchronized.
     99 dnl
    100 dnl Local Variables:
    101 dnl mode: autoconf
    102 dnl End:
    103