diff --git a/configure.in b/configure.in index 507044261..00762c469 100644 --- a/configure.in +++ b/configure.in @@ -1,23 +1,13 @@ AC_INIT(Makefile.in) +rm -f config.build-subdirs + . $srcdir/GUILE-VERSION all_subdirs=`cat $srcdir/*/PLUGIN/REQ $srcdir/*/PLUGIN/OPT /dev/null | tsort | xargs echo` req_subdirs=`cat $srcdir/*/PLUGIN/REQ /dev/null | tsort | xargs echo` opt_subdirs=`cat $srcdir/*/PLUGIN/OPT /dev/null | tsort | xargs echo` -AC_PROG_CC - -### Use gtcltk-lib only if we seem to have Tcl installed on the -### system. This way of doing this doesn't really fit into the PLUGIN -### approach, but I'm not sure how to do it more gracefully within -### that approach. -AC_CHECK_LIB(tcl7.5, Tcl_CreateInterp, have_tcl=true, have_tcl=false, -lm) -if $have_tcl; then :; else - all_subdirs="`echo $all_subdirs | sed s:gtcltk-lib::`" - req_subdirs="`echo $req_subdirs | sed s:gtcltk-lib::`" -fi - AC_CONFIG_SUBDIRS($all_subdirs) existingdirs= for d in $all_subdirs; do @@ -61,6 +51,38 @@ if test "x$verbose" = xyes; then fi +AC_PROG_CC + +### build_subdirs is the list of directories we actually want to +### build. It's not equivalent to existingdirs: if we can't find the +### Tcl libraries, then we don't want to build in gtcltk-lib. +### +### So why can't we just forget about gtcltk-lib altogether, and +### delete it from existingdirs, in that case? Well, in order for +### 'make dist' to work, we still need to configure gtcltk-lib, and +### the top-level Makefile needs to know it exists, +build_subdirs="${existingdirs}" + +### Decide which directories to build; remove the ones we don't want +### from build_subdirs. + +### Use gtcltk-lib only if we seem to have Tcl installed on the +### system. We really should check for Tk as well, but that involves +### finding all the X libraries that we need to do a complete link. +AC_CHECK_LIB(tcl7.5, Tcl_CreateInterp, have_tcl=true, have_tcl=false, -lm) +if $have_tcl; then :; else + build_subdirs="`echo $build_subdirs | sed s:gtcltk-lib::`" + req_subdirs="`echo $req_subdirs | sed s:gtcltk-lib::`" +fi + +### Write the list of survivors, the directories we do want to build, +### to a file in the top level, so the subdirectories' configuration +### scripts can find it. We don't want to pass the list in the +### environment, because the subdirectory configuration scripts can be +### run on their own. +echo "${build_subdirs}" > config.build-subdirs + AC_SUBST(existingdirs) +AC_SUBST(build_subdirs) AC_SUBST(GUILE_VERSION) AC_OUTPUT(Makefile doc/Makefile)