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