AC_MSG_RESULT(no)
fi
])
+
AC_DEFUN(CY_AC_PATH_TCLH, [
#
# Ok, lets find the tcl source trees so we can use the headers
fi
# Tcl 7.5 and greater puts headers in subdirectory.
if test -f $i/generic/tclInt.h ; then
- ac_cv_c_tclh=`(cd $i; pwd)`/generic
+ ac_cv_c_tclh=`(cd $i; pwd)`/generic
+ break
fi
done
fi
fi
if test x"${ac_cv_c_tclh}" != x ; then
no_tcl=""
- if test x"${ac_cv_c_tkh}" = x"installed" ; then
+ if test x"${ac_cv_c_tclh}" = x"installed" ; then
AC_MSG_RESULT([is installed])
TCLHDIR=""
else
fi
AC_MSG_CHECKING([Tcl version])
-rm -rf tclmajor tclminor
orig_includes="$CPPFLAGS"
if test x"${TCLHDIR}" != x ; then
CPPFLAGS="$CPPFLAGS $TCLHDIR"
fi
-AC_TRY_RUN([
-#include <stdio.h>
+# Get major and minor versions of Tcl. Use funny names to avoid
+# clashes with eg SunOS.
+cat > conftest.c <<'EOF'
#include "tcl.h"
-main() {
- FILE *maj = fopen("tclmajor","w");
- FILE *min = fopen("tclminor","w");
- fprintf(maj,"%d",TCL_MAJOR_VERSION);
- fprintf(min,"%d",TCL_MINOR_VERSION);
- fclose(maj);
- fclose(min);
- return 0;
-}],
- tclmajor=`cat tclmajor`
- tclminor=`cat tclminor`
- tclversion=$tclmajor.$tclminor
- AC_MSG_RESULT($tclversion)
- rm -f tclmajor tclminor
-,
- AC_MSG_RESULT([can't happen])
-,
- AC_MSG_ERROR([can't be cross compiled])
-)
+MaJor = TCL_MAJOR_VERSION
+MiNor = TCL_MINOR_VERSION
+EOF
+
+tclmajor=
+tclminor=
+if (eval "$CPP $CPPFLAGS conftest.c") 2>/dev/null >conftest.out; then
+ # Success.
+ tclmajor=`egrep '^MaJor = ' conftest.out | sed -e 's/^MaJor = *//' -e 's/ *$//'`
+ tclminor=`egrep '^MiNor = ' conftest.out | sed -e 's/^MiNor = *//' -e 's/ *$//'`
+fi
+rm -f conftest.c conftest.out
+
+if test -z "$tclmajor" || test -z "$tclminor"; then
+ AC_MSG_RESULT([fatal error: could not find major or minor version number of Tcl])
+ exit 1
+fi
+AC_MSG_RESULT(${tclmajor}.${tclminor})
+
CPPFLAGS="${orig_includes}"
AC_PROVIDE([$0])
# if Tk is installed, extract the major/minor version
if test x"${no_tk}" = x ; then
AC_MSG_CHECKING([Tk version])
-rm -rf tkmajor tkminor
orig_includes="$CPPFLAGS"
if test x"${TCLHDIR}" != x ; then
CPPFLAGS="$CPPFLAGS -I$x_includes"
fi
-AC_TRY_RUN([
-#include <stdio.h>
+# Get major and minor versions of Tk. Use funny names to avoid
+# clashes with eg SunOS.
+cat > conftest.c <<'EOF'
#include "tk.h"
- main() {
- FILE *maj = fopen("tkmajor","w");
- FILE *min = fopen("tkminor","w");
- fprintf(maj,"%d",TK_MAJOR_VERSION);
- fprintf(min,"%d",TK_MINOR_VERSION);
- fclose(maj);
- fclose(min);
- return 0;
-}],
- tkmajor=`cat tkmajor`
- tkminor=`cat tkminor`
- tkversion=$tkmajor.$tkminor
- AC_MSG_RESULT($tkversion)
- rm -f tkmajor tkminor
-,
- AC_MSG_ERROR([
-cannot compile a simple X program - suspect your xmkmf is
-misconfigured and is incorrectly reporting the location of your X
-include or libraries - report this to your system admin]) ,
- AC_MSG_ERROR([can't be cross compiled])
-)
+MaJor = TK_MAJOR_VERSION
+MiNor = TK_MINOR_VERSION
+EOF
+
+tkmajor=
+tkminor=
+if (eval "$CPP $CPPFLAGS conftest.c") 2>/dev/null >conftest.out; then
+ # Success.
+ tkmajor=`egrep '^MaJor = ' conftest.out | sed -e 's/^MaJor = *//' -e 's/ *$//'`
+ tkminor=`egrep '^MiNor = ' conftest.out | sed -e 's/^MiNor = *//' -e 's/ *$//'`
+fi
+rm -f conftest.c conftest.out
+
+if test -z "$tkmajor" || test -z "$tkminor"; then
+ AC_MSG_RESULT([fatal error: could not find major or minor version number of Tk])
+ exit 1
+fi
+AC_MSG_RESULT(${tkmajor}.${tkminor})
+
CPPFLAGS="${orig_includes}"
fi