From: Akim Demaille Date: Mon, 20 Dec 1999 13:37:12 +0000 (+0000) Subject: 1999-10-31 Akim Demaille X-Git-Tag: autoconf-2.50~1309 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7d748952437a1b718d955cb1e69d64be2790b266;p=thirdparty%2Fautoconf.git 1999-10-31 Akim Demaille Revamp the handling of the arguments of config.status: instead of looping over config_files etc. to recognize the file names, use the case which handles the options. Suggested by Alexandre Oliva. * acgeneral.m4 (ifset): Renamed as... (ifval): This. All callers changed. (ifset): New macro, which tests if a macro is set to a non empty value. * acgeneral.m4: Initialize growing lists and strings to empty, to ease the tests. (AC_CONFIG_HEADER): Quote AC_LIST_HEADERS in the define, to handle the case AC_LIST_HEADERS is initialized. * acgeneral.m4: (AC_OUTPUT_CONFIG_STATUS): New macro, pulled out from... (AC_OUTPUT): Instead of using $1, $2 and $3, pass them to the official macros (AC_CONFIG_FILES, AC_OUTPUT_COMMANTS). Call AC_OUTPUT_CONFIG_STATUS. (option handling): Use the case-esac to recognize arguments. (AC_OUTPUT_COMMANDS): Fix the missing fi;done. --- diff --git a/ChangeLog b/ChangeLog index 2b3d02fc5..b64cfcf99 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,28 @@ +1999-10-31 Akim Demaille + + Revamp the handling of the arguments of config.status: instead of + looping over config_files etc. to recognize the file names, use + the case which handles the options. + Suggested by Alexandre Oliva. + + * acgeneral.m4 (ifset): Renamed as... + (ifval): This. All callers changed. + (ifset): New macro, which tests if a macro is set to a non empty + value. + + * acgeneral.m4: Initialize growing lists and strings to empty, to + ease the tests. + (AC_CONFIG_HEADER): Quote AC_LIST_HEADERS in the define, to handle + the case AC_LIST_HEADERS is initialized. + + * acgeneral.m4: (AC_OUTPUT_CONFIG_STATUS): New macro, pulled out + from... + (AC_OUTPUT): Instead of using $1, $2 and $3, pass them to the + official macros (AC_CONFIG_FILES, AC_OUTPUT_COMMANTS). + Call AC_OUTPUT_CONFIG_STATUS. + (option handling): Use the case-esac to recognize arguments. + (AC_OUTPUT_COMMANDS): Fix the missing fi;done. + 1999-10-31 Akim Demaille Add a means to specify commands to be run by config.status. At @@ -21,33 +46,33 @@ 1999-10-31 Akim Demaille - New macro: AC_CONFIG_FILES which is very much like AC_OUTPUT but - that one associates commands to run when a config file is - created. For instance for a shell script `foo', one uses - AC_CONFIG_FILES(foo, chmod +x foo). - - In addition, check that the same name is never used twice in - config files, headers, subdirs and links. - - * acgeneral.m4 (m4_append): Don't insert new line between - elements. - (m4_list_append): New macro. - (AC_CONFIG_IF_MEMBER): New macro which tests if a file is member - of a config list. - (AC_CONFIG_UNIQUE): New macro which ensures that a config file - name is not yet used. - (AC_CONFIG_HEADER, AC_CONFIG_LINKS, AC_CONFIG_SUBDIRS): Use - AC_CONFIG_UNIQUE. - - * acgeneral.m4 (AC_CONFIG_FILES): New macro. - (AC_LIST_FILES): New list, which stores arguments of - AC_CONFIG_LISTS the same as AC_LIST_LINKS stores AC_CONFIG_LINKS - etc. - (AC_OUTPUT): No longer rely on $1 to designate the config files: - register them via AC_CONFIG_FILES. All uses of $1 replaced by - uses of AC_LIST_FILES. - (AC_OUTPUT_FILES): Run the commands associated to the - CONFIG_FILES. + New macro: AC_CONFIG_FILES which is very much like AC_OUTPUT but + that one associates commands to run when a config file is created. + For instance for a shell script `foo', one uses + AC_CONFIG_FILES(foo, chmod +x foo). + + In addition, check that the same name is never used twice in + config files, headers, subdirs and links. + + * acgeneral.m4 (m4_append): Don't insert new line between + elements. + (m4_list_append): New macro. + (AC_CONFIG_IF_MEMBER): New macro which tests if a file is member + of a config list. + (AC_CONFIG_UNIQUE): New macro which ensures that a config file + name is not yet used. + (AC_CONFIG_HEADER, AC_CONFIG_LINKS, AC_CONFIG_SUBDIRS): Use + AC_CONFIG_UNIQUE. + + * acgeneral.m4 (AC_CONFIG_FILES): New macro. + (AC_LIST_FILES): New list, which stores arguments of + AC_CONFIG_LISTS the same as AC_LIST_LINKS stores AC_CONFIG_LINKS + etc. + (AC_OUTPUT): No longer rely on $1 to designate the config files: + register them via AC_CONFIG_FILES. All uses of $1 replaced by + uses of AC_LIST_FILES. + (AC_OUTPUT_FILES): Run the commands associated to the + CONFIG_FILES. 1999-10-31 Akim Demaille diff --git a/acgeneral.m4 b/acgeneral.m4 index b870c8c9e..2294e3506 100644 --- a/acgeneral.m4 +++ b/acgeneral.m4 @@ -215,18 +215,42 @@ dnl ------------------------------------------------------------ dnl Some additional m4 structural control. dnl ------------------------------------------------------------ +dnl Both `ifval' and `ifset' tests against the empty string. The +dnl difference is that `ifset' is specialized on macros. +dnl +dnl In case of arguments of macros, eg $[1], it makes little difference. +dnl In the case of a macro `FOO', you don't want to check `ifval(FOO, +dnl TRUE)', because if `FOO' expands with commas, there is a shifting of +dnl the arguments. So you want to run `ifval([FOO])', but then you just +dnl compare the *string* `FOO' against `', which, of course fails. +dnl +dnl So you want a variation of `ifset' that expects a macro name as $[1]. +dnl If this macro is both defined and defined to a non empty value, then +dnl it runs TRUE etc. + -dnl ifset(COND, IF-TRUE[, IF-FALSE]) +dnl ifval(COND, IF-TRUE[, IF-FALSE]) dnl -------------------------------- dnl If COND is not the empty string, expand IF-TRUE, otherwise IF-FALSE. dnl Comparable to ifdef. -define([ifset], [ifelse([$1],,[$3],[$2])]) +define([ifval], [ifelse([$1],[],[$3],[$2])]) + + +dnl ifset(MACRO, IF-TRUE[, IF-FALSE]) +dnl -------------------------------- +dnl If MACRO has no definition, or of its definition is the empty string, +dnl expand IF-FALSE, otherwise IF-TRUE. +define([ifset], +[ifdef([$1], + [ifelse(defn([$1]), [], [$3], [$2])], + [$3])]) dnl m4_default(EXP1, EXP2) dnl ---------------------- dnl Returns EXP1 if non empty, otherwise EXP2. -define([m4_default], [ifset([$1], [$1], [$2])]) +define([m4_default], [ifval([$1], [$1], [$2])]) + dnl ### Implementing m4 loops @@ -400,10 +424,10 @@ dnl | IF-FALSE dnl | fi dnl with simplifications is IF-TRUE and/or IF-FALSE is empty. define([AC_SHELL_IFELSE], -[ifset([$2$3], +[ifval([$2$3], [if [$1]; then - ifset([$2], [$2], :) -ifset([$3], + ifval([$2], [$2], :) +ifval([$3], [else $3 ])dnl @@ -2678,11 +2702,11 @@ else fi])dnl if test AC_VAR_GET(ac_var) = yes; then AC_MSG_RESULT(yes) -ifset([$2], [ $2 +ifval([$2], [ $2 ])dnl else AC_MSG_RESULT(no) -ifset([$3], [ $3 +ifval([$3], [ $3 ])dnl fi AC_VAR_POPDEF([ac_var])]) @@ -2840,7 +2864,7 @@ main() }], AC_VAR_SET(ac_Sizeof, `cat conftestval`), AC_VAR_SET(ac_Sizeof, 0), - ifset([$2], AC_VAR_SET(ac_Sizeof, $2)))]) + ifval([$2], AC_VAR_SET(ac_Sizeof, $2)))]) AC_DEFINE_UNQUOTED(AC_TR_CPP(sizeof_$1), AC_VAR_GET(ac_Sizeof)) AC_VAR_POPDEF([ac_Sizeof])dnl ]) @@ -2924,8 +2948,12 @@ dnl FIXME: For sake of uniformity, it should be AC_CONFIG_HEADERS, and dnl it should be possible to accumulate several calls. AC_DEFUN(AC_CONFIG_HEADER, [AC_CONFIG_UNIQUE([$1])dnl -define(AC_LIST_HEADERS, $1)]) +define([AC_LIST_HEADERS], $1)]) +dnl Initialize to empty. It is much easier and uniform to have a config +dnl list expand to empty when undefined, instead of special casing when +dnl not defined (since in this case, AC_CONFIG_FOO expands to AC_CONFIG_FOO). +define([AC_LIST_HEADERS]) dnl AC_CONFIG_LINKS(DEST:SOURCE...) dnl ------------------------------- @@ -2941,6 +2969,8 @@ ifelse(regexp([$1], [^\.:\| \.:]), -1,, m4_append([AC_LIST_LINKS], [$1])dnl ]) +dnl Initialize the list. +define([AC_LIST_LINKS]) dnl AC_LINK_FILES(SOURCE..., DEST...) dnl --------------------------------- @@ -2986,6 +3016,9 @@ ifelse([$2],,, [AC_FOREACH([AC_File], [$1], ])])])dnl ])dnl +dnl Initialize the lists. +define([AC_LIST_FILES]) +define([AC_LIST_FILES_COMMANDS]) dnl AC_CONFIG_COMMANDS(NAME..., COMMANDS) dnl ------------------------------------- @@ -3011,6 +3044,9 @@ ifelse([$2],,, [AC_FOREACH([AC_Name], [$1], ])])])dnl ])dnl +dnl Initialize the lists. +define([AC_LIST_COMMANDS]) +define([AC_LIST_COMMANDS_COMMANDS]) dnl AC_OUTPUT_COMMANDS(EXTRA-CMDS, INIT-CMDS) @@ -3038,6 +3074,9 @@ subdirs="AC_LIST_SUBDIRS" AC_SUBST(subdirs)dnl ]) +dnl Initialize the list +define([AC_LIST_SUBDIRS]) + dnl AC_OUTPUT([CONFIG_FILES...] [, EXTRA-CMDS] [, INIT-CMDS]) dnl --------------------------------------------------------- @@ -3047,8 +3086,9 @@ dnl The CONFIG_HEADERS are defined in the m4 variable AC_LIST_HEADERS. dnl Pay special attention not to have too long here docs: some old dnl shells die. Unfortunately the limit is not known precisely... define(AC_OUTPUT, -[dnl Store the CONFIG_FILES +[dnl Dispatch the extra arguments to their native macros. AC_CONFIG_FILES([$1])dnl +AC_OUTPUT_COMMANDS([$2], [$3])dnl trap '' 1 2 15 AC_CACHE_SAVE trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 @@ -3068,13 +3108,27 @@ fi trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 -ifdef([AC_LIST_HEADERS], [DEFS=-DHAVE_CONFIG_H], [AC_OUTPUT_MAKE_DEFS()]) +ifset([AC_LIST_HEADERS], [DEFS=-DHAVE_CONFIG_H], [AC_OUTPUT_MAKE_DEFS()]) # Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS +AC_OUTPUT_CONFIG_STATUS()dnl + +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || $SHELL $CONFIG_STATUS || exit 1 +dnl config.status should not do recursion. +ifset([AC_LIST_SUBDIRS], [AC_OUTPUT_SUBDIRS(AC_LIST_SUBDIRS)])dnl +])dnl AC_OUTPUT + + +dnl AC_OUTPUT_CONFIG_STATUS +dnl ----------------------- +dnl Produce config.status. Called by AC_OUTPUT. +dnl Pay special attention not to have too long here docs: some old +dnl shells die. Unfortunately the limit is not known precisely... +define(AC_OUTPUT_CONFIG_STATUS, +[echo creating $CONFIG_STATUS cat > $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF undivert(AC_DIVERSION_CMDS)dnl -$2 exit 0 EOF chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || $SHELL $CONFIG_STATUS || exit 1 -dnl config.status should not do recursion. -ifdef([AC_LIST_SUBDIRS], [AC_OUTPUT_SUBDIRS(AC_LIST_SUBDIRS)])dnl -])dnl AC_OUTPUT +])dnl AC_OUTPUT_CONFIG_STATUS dnl AC_OUTPUT_MAKE_DEFS @@ -3471,10 +3499,10 @@ dnl mv $ac_cs_root.out $ac_file dnl fi mv $ac_cs_root.out $ac_file -ifdef([AC_LIST_FILES_COMMANDS], -[ # Run the commands associated to the file. +ifset([AC_LIST_FILES_COMMANDS], +[ # Run the commands associated with the file. case "$ac_file" in -AC_LIST_FILES_COMMANDS[]dnl +AC_LIST_FILES_COMMANDS()dnl esac ])dnl fi; done @@ -3731,15 +3759,20 @@ for ac_file in .. $CONFIG_COMMANDS; do if test "x$ac_file" != x..; then case "$ac_dest" in AC_LIST_COMMANDS_COMMANDS[]dnl esac +fi;done EOF ])dnl AC_OUTPUT_COMMANDS_COMMANDS +dnl AC_OUTPUT_SUBDIRS(DIRECTORY...) +dnl ------------------------------- dnl This is a subroutine of AC_OUTPUT. dnl It is called after running config.status. -dnl AC_OUTPUT_SUBDIRS(DIRECTORY...) define(AC_OUTPUT_SUBDIRS, [ +# +# CONFIG_SUBDIRS section. +# if test "$no_recursion" != yes; then # Remove --cache-file and --srcdir arguments so they do not pile up. @@ -3847,7 +3880,7 @@ changequote([, ])dnl cd $ac_popdir done fi -]) +])dnl AC_OUTPUT_SUBDIRS dnl AC_LINKER_OPTION diff --git a/autoheader.m4 b/autoheader.m4 index 31aed6ea3..652a5b71c 100644 --- a/autoheader.m4 +++ b/autoheader.m4 @@ -43,7 +43,7 @@ dnl may fill an associative array (key is $1, value is the template). dnl This garantees that there is a unique prototype issued, and also dnl that it will be sorted! define([AH_DEFINE], -[ifset([$3], +[ifval([$3], [AH_TEMPLATE([$1], [$3])], [# dnl Ignore CPP macro arguments. diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4 index b870c8c9e..2294e3506 100644 --- a/lib/autoconf/general.m4 +++ b/lib/autoconf/general.m4 @@ -215,18 +215,42 @@ dnl ------------------------------------------------------------ dnl Some additional m4 structural control. dnl ------------------------------------------------------------ +dnl Both `ifval' and `ifset' tests against the empty string. The +dnl difference is that `ifset' is specialized on macros. +dnl +dnl In case of arguments of macros, eg $[1], it makes little difference. +dnl In the case of a macro `FOO', you don't want to check `ifval(FOO, +dnl TRUE)', because if `FOO' expands with commas, there is a shifting of +dnl the arguments. So you want to run `ifval([FOO])', but then you just +dnl compare the *string* `FOO' against `', which, of course fails. +dnl +dnl So you want a variation of `ifset' that expects a macro name as $[1]. +dnl If this macro is both defined and defined to a non empty value, then +dnl it runs TRUE etc. + -dnl ifset(COND, IF-TRUE[, IF-FALSE]) +dnl ifval(COND, IF-TRUE[, IF-FALSE]) dnl -------------------------------- dnl If COND is not the empty string, expand IF-TRUE, otherwise IF-FALSE. dnl Comparable to ifdef. -define([ifset], [ifelse([$1],,[$3],[$2])]) +define([ifval], [ifelse([$1],[],[$3],[$2])]) + + +dnl ifset(MACRO, IF-TRUE[, IF-FALSE]) +dnl -------------------------------- +dnl If MACRO has no definition, or of its definition is the empty string, +dnl expand IF-FALSE, otherwise IF-TRUE. +define([ifset], +[ifdef([$1], + [ifelse(defn([$1]), [], [$3], [$2])], + [$3])]) dnl m4_default(EXP1, EXP2) dnl ---------------------- dnl Returns EXP1 if non empty, otherwise EXP2. -define([m4_default], [ifset([$1], [$1], [$2])]) +define([m4_default], [ifval([$1], [$1], [$2])]) + dnl ### Implementing m4 loops @@ -400,10 +424,10 @@ dnl | IF-FALSE dnl | fi dnl with simplifications is IF-TRUE and/or IF-FALSE is empty. define([AC_SHELL_IFELSE], -[ifset([$2$3], +[ifval([$2$3], [if [$1]; then - ifset([$2], [$2], :) -ifset([$3], + ifval([$2], [$2], :) +ifval([$3], [else $3 ])dnl @@ -2678,11 +2702,11 @@ else fi])dnl if test AC_VAR_GET(ac_var) = yes; then AC_MSG_RESULT(yes) -ifset([$2], [ $2 +ifval([$2], [ $2 ])dnl else AC_MSG_RESULT(no) -ifset([$3], [ $3 +ifval([$3], [ $3 ])dnl fi AC_VAR_POPDEF([ac_var])]) @@ -2840,7 +2864,7 @@ main() }], AC_VAR_SET(ac_Sizeof, `cat conftestval`), AC_VAR_SET(ac_Sizeof, 0), - ifset([$2], AC_VAR_SET(ac_Sizeof, $2)))]) + ifval([$2], AC_VAR_SET(ac_Sizeof, $2)))]) AC_DEFINE_UNQUOTED(AC_TR_CPP(sizeof_$1), AC_VAR_GET(ac_Sizeof)) AC_VAR_POPDEF([ac_Sizeof])dnl ]) @@ -2924,8 +2948,12 @@ dnl FIXME: For sake of uniformity, it should be AC_CONFIG_HEADERS, and dnl it should be possible to accumulate several calls. AC_DEFUN(AC_CONFIG_HEADER, [AC_CONFIG_UNIQUE([$1])dnl -define(AC_LIST_HEADERS, $1)]) +define([AC_LIST_HEADERS], $1)]) +dnl Initialize to empty. It is much easier and uniform to have a config +dnl list expand to empty when undefined, instead of special casing when +dnl not defined (since in this case, AC_CONFIG_FOO expands to AC_CONFIG_FOO). +define([AC_LIST_HEADERS]) dnl AC_CONFIG_LINKS(DEST:SOURCE...) dnl ------------------------------- @@ -2941,6 +2969,8 @@ ifelse(regexp([$1], [^\.:\| \.:]), -1,, m4_append([AC_LIST_LINKS], [$1])dnl ]) +dnl Initialize the list. +define([AC_LIST_LINKS]) dnl AC_LINK_FILES(SOURCE..., DEST...) dnl --------------------------------- @@ -2986,6 +3016,9 @@ ifelse([$2],,, [AC_FOREACH([AC_File], [$1], ])])])dnl ])dnl +dnl Initialize the lists. +define([AC_LIST_FILES]) +define([AC_LIST_FILES_COMMANDS]) dnl AC_CONFIG_COMMANDS(NAME..., COMMANDS) dnl ------------------------------------- @@ -3011,6 +3044,9 @@ ifelse([$2],,, [AC_FOREACH([AC_Name], [$1], ])])])dnl ])dnl +dnl Initialize the lists. +define([AC_LIST_COMMANDS]) +define([AC_LIST_COMMANDS_COMMANDS]) dnl AC_OUTPUT_COMMANDS(EXTRA-CMDS, INIT-CMDS) @@ -3038,6 +3074,9 @@ subdirs="AC_LIST_SUBDIRS" AC_SUBST(subdirs)dnl ]) +dnl Initialize the list +define([AC_LIST_SUBDIRS]) + dnl AC_OUTPUT([CONFIG_FILES...] [, EXTRA-CMDS] [, INIT-CMDS]) dnl --------------------------------------------------------- @@ -3047,8 +3086,9 @@ dnl The CONFIG_HEADERS are defined in the m4 variable AC_LIST_HEADERS. dnl Pay special attention not to have too long here docs: some old dnl shells die. Unfortunately the limit is not known precisely... define(AC_OUTPUT, -[dnl Store the CONFIG_FILES +[dnl Dispatch the extra arguments to their native macros. AC_CONFIG_FILES([$1])dnl +AC_OUTPUT_COMMANDS([$2], [$3])dnl trap '' 1 2 15 AC_CACHE_SAVE trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 @@ -3068,13 +3108,27 @@ fi trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 -ifdef([AC_LIST_HEADERS], [DEFS=-DHAVE_CONFIG_H], [AC_OUTPUT_MAKE_DEFS()]) +ifset([AC_LIST_HEADERS], [DEFS=-DHAVE_CONFIG_H], [AC_OUTPUT_MAKE_DEFS()]) # Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS +AC_OUTPUT_CONFIG_STATUS()dnl + +rm -fr confdefs* $ac_clean_files +test "$no_create" = yes || $SHELL $CONFIG_STATUS || exit 1 +dnl config.status should not do recursion. +ifset([AC_LIST_SUBDIRS], [AC_OUTPUT_SUBDIRS(AC_LIST_SUBDIRS)])dnl +])dnl AC_OUTPUT + + +dnl AC_OUTPUT_CONFIG_STATUS +dnl ----------------------- +dnl Produce config.status. Called by AC_OUTPUT. +dnl Pay special attention not to have too long here docs: some old +dnl shells die. Unfortunately the limit is not known precisely... +define(AC_OUTPUT_CONFIG_STATUS, +[echo creating $CONFIG_STATUS cat > $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF undivert(AC_DIVERSION_CMDS)dnl -$2 exit 0 EOF chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || $SHELL $CONFIG_STATUS || exit 1 -dnl config.status should not do recursion. -ifdef([AC_LIST_SUBDIRS], [AC_OUTPUT_SUBDIRS(AC_LIST_SUBDIRS)])dnl -])dnl AC_OUTPUT +])dnl AC_OUTPUT_CONFIG_STATUS dnl AC_OUTPUT_MAKE_DEFS @@ -3471,10 +3499,10 @@ dnl mv $ac_cs_root.out $ac_file dnl fi mv $ac_cs_root.out $ac_file -ifdef([AC_LIST_FILES_COMMANDS], -[ # Run the commands associated to the file. +ifset([AC_LIST_FILES_COMMANDS], +[ # Run the commands associated with the file. case "$ac_file" in -AC_LIST_FILES_COMMANDS[]dnl +AC_LIST_FILES_COMMANDS()dnl esac ])dnl fi; done @@ -3731,15 +3759,20 @@ for ac_file in .. $CONFIG_COMMANDS; do if test "x$ac_file" != x..; then case "$ac_dest" in AC_LIST_COMMANDS_COMMANDS[]dnl esac +fi;done EOF ])dnl AC_OUTPUT_COMMANDS_COMMANDS +dnl AC_OUTPUT_SUBDIRS(DIRECTORY...) +dnl ------------------------------- dnl This is a subroutine of AC_OUTPUT. dnl It is called after running config.status. -dnl AC_OUTPUT_SUBDIRS(DIRECTORY...) define(AC_OUTPUT_SUBDIRS, [ +# +# CONFIG_SUBDIRS section. +# if test "$no_recursion" != yes; then # Remove --cache-file and --srcdir arguments so they do not pile up. @@ -3847,7 +3880,7 @@ changequote([, ])dnl cd $ac_popdir done fi -]) +])dnl AC_OUTPUT_SUBDIRS dnl AC_LINKER_OPTION