When loading a configuration from the build dir, TEA_LOAD_CONFIG sets:
AC_MSG_WARN([Found Makefile - using build library specs for $1])
$1_LIB_SPEC=${$1_BUILD_LIB_SPEC}
$1_STUB_LIB_SPEC=${$1_BUILD_STUB_LIB_SPEC}
$1_STUB_LIB_PATH=${$1_BUILD_STUB_LIB_PATH}
These aren't all that's needed for a successful compile. I suggest adding:
$1_INCLUDE_SPEC=${$1_BUILD_INCLUDE_SPEC}
and
$1_LIBRARY_PATH=${$1_LIBRARY_PATH}
so that $1.h and the Tcl script library for $1 can also be located; all compiles need the first, and 'make test' needs the second.
Workaround in tdbc drivers is to have the code:
# The next bit probably ought to be in TEA_LOAD_CONFIG
AC_MSG_WARN([Looking for "${tdbc_BIN_DIR}/Makefile"])
if test -f "${tdbc_BIN_DIR}/Makefile" ; then
AC_MSG_WARN([Found Makefile - using build include spec and lib specs for tdbc])
tdbc_INCLUDE_SPEC=${tdbc_BUILD_INCLUDE_SPEC}
tdbc_LIBRARY_PATH=${tdbc_BUILD_LIBRARY_PATH}
fi
AC_SUBST(tdbc_LIBRARY_PATH)
in each configurator.
Slightly related: defining BUILD_$1 on all platforms - not only win -
allows the -fvisibility feature to be used in extensions as well, at
least if you compile against tcl >= 8.5.
Checked in tclconfig HEAD.
Kevin, is this what you mean? (I cannot really test it, but at least it looks harmless)