Marco Nelissen | 548dde4 | 2014-01-07 10:11:28 -0800 | [diff] [blame] | 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: |