Menu

#589 TEA_LOAD_CONFIG doesn't set all BUILD_ vars

open-fixed
5
2010-09-09
2010-09-03
No

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.

Discussion

  • Jan Nijtmans

    Jan Nijtmans - 2010-09-09
    • assigned_to: hobbs --> kennykb
    • status: open --> open-fixed
     
  • Jan Nijtmans

    Jan Nijtmans - 2010-09-09

    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)