--- a/Makefile
+++ b/configure.in
@@ -1,64 +1,91 @@
-# Things you may have to change (strictly local).
-MYSQLIBDIR=/usr/local/mysql/lib/
-MYSQLINCLUDEDIR=/usr/local/mysql/include/
-TCLIBDIR=/usr/local/lib/
-CC=gcc
+AC_INIT(mysqltcl.c)
-# This works for SOLARIS, tcl7.6, tk 4.2, gcc 2.6.3
-# If you get "undefined ___udiv..." when loading the module, try
-# adding -lgcc to DYNLINKLIB
-XDIR=/usr/openwin/
-LIBTCL=-ltcl7.6
-LIBTK=-ltk4.2
-XLIBS=-lX11
-SYSLIBS=-ldl -lnsl -lsocket
-DYNLINKLIB=
-PICFLAG = -fPIC
-SOLINK = $(CC) -shared
+VERSION=`cat VERSION`
+AC_SUBST(VERSION)
-# This works for LINUX redhat 4.1, standard install (tcl7.5, tk4.1,
-# gcc 2.7.2):
-#XDIR=/usr/X11R6/
-#LIBTCL=-ltcl7.5
-#LIBTK=-ltk4.1
-#XLIBS=-lX11
-#SYSLIBS=-ldl
-#DYNLINKLIB=-lgcc
-#PICFLAG = -fPIC
-#SOLINK = $(CC) -shared
+if test "${prefix}" = "NONE"; then
+ prefix=/usr/local
+ echo "setting prefix to: ${prefix}"
+fi
+if test "${exec_prefix}" = "NONE"; then
+ exec_prefix=$prefix
+ echo "setting exec-prefix to: ${exec_prefix}"
+fi
+AC_PROG_INSTALL
-# This works for FreBSD 2.2-RELEASE, tcl7.5, tk4.1
-#XDIR=/usr/X11R6/
-#LIBTCL=-ltcl7.5
-#LIBTK=-ltk4.1
-#XLIBS=-lX11
-#SYSLIBS=
-#DYNLINKLIB=-lgcc
-#PICFLAG = -fpic
-#SOLINK = ld -Bshareable -x
+# Looking for tclConfig and tkConfig to set all defaults
+# this is an awful mess because this not always found in the same
+# place, especially on systems where tcl and/or tk are part of the
+# standard install (then there under /usr, not /usr/local). We try to
+# be semi-smart, and first look in /usr/local or whatever prefix is
+sqlsc_ac_found_tcl=0
+sqlsc_ac_found_tk=0
+for dir in ${exec_prefix}/lib /usr/lib /usr/libdata/tcl;do
+ if test -f $dir/tclConfig.sh;then
+ . $dir/tclConfig.sh
+ sqlsc_ac_found_tcl=1
+ break
+ fi
+done
+for dir in ${exec_prefix}/lib /usr/lib /usr/libdata/tk ; do
+ if test -f $dir/tkConfig.sh ; then
+ . $dir/tkConfig.sh
+ sqlsc_ac_found_tk=1
+ break
+ fi
+done
+if test $sqlsc_ac_found_tcl = 0 -o $sqlsc_ac_found_tk = 0 ; then
+ echo "Sorry, can't find tclConfig.sh or tkConfig.sh"
+ echo "I looked in ${exec_prefix}/lib /usr/lib /usr/libdata/tk"
+ exit 1
+fi
-CFLAGS = -I${MYSQLINCLUDEDIR} -I$(XDIR)include -I/usr/local/include
+CC=$TCL_CC
-# Making the dynamic library
-dynamic: mysqltcl.so
-mysqltcl.so: mysqltcl.o
- $(SOLINK) -o mysqltcl.so mysqltcl.o \
- $(MYSQLIBDIR)libmysqlclient.a $(DYNLINKLIB)
-mysqltcl.o: mysqltcl.c
- $(CC) -c $(PICFLAG) $(CFLAGS) mysqltcl.c
+AC_SUBST(CC)
+AC_SUBST(INSTALL)
+AC_SUBST(INSTALL_PROGRAM)
+AC_SUBST(INSTALL_DATA)
+AC_SUBST(TCL_SHLIB_CFLAGS)
+AC_SUBST(TCL_SHLIB_SUFFIX)
+AC_SUBST(TCL_SHLIB_LD)
+AC_SUBST(TCL_VERSION)
+AC_SUBST(TCL_XINCLUDES)
+AC_SUBST(TCL_PREFIX)
+AC_SUBST(TCL_EXEC_PREFIX)
+AC_SUBST(TCL_CFLAGS)
+AC_SUBST(TCL_DEFS)
+AC_SUBST(TCL_LIB_SPEC)
+AC_SUBST(TCL_LIBS)
+AC_SUBST(TCL_LD_FLAGS)
+AC_SUBST(TCL_COMPAT_OBJS)
+AC_SUBST(TCL_LD_SEARCH_FLAGS)
+AC_SUBST(exec_prefix)
+AC_SUBST(TK_VERSION)
+AC_SUBST(TK_XINCLUDES)
+AC_SUBST(TK_PREFIX)
+AC_SUBST(TK_EXEC_PREFIX)
+AC_SUBST(TK_DEFS)
+AC_SUBST(TK_LIBS)
+AC_SUBST(TK_LIB_SPEC)
+# Mysql includes and libs: for now they have to be either
+# /usr/local/mysql/lib/mysqlclient.a and /usr/local/mysql/include
+# or
+# /usr/local/lib/mysql/mysqlclient.a and /usr/local/include/mysql
+if test -f /usr/local/mysql/lib/libmysqlclient.a ; then
+ MYSQLLIBDIR=/usr/local/mysql/lib
+ MYSQLINCSW=-I/usr/local/mysql/include
+else
+ MYSQLLIBDIR="/usr/local/lib/mysql"
+ MYSQLINCSW=-I/usr/local/include/mysql
+fi
+MYSQLLIBSW="-L$MYSQLLIBDIR -lmysqlclient"
+AC_SUBST(MYSQLINCSW)
+AC_SUBST(MYSQLLIBSW)
+AC_SUBST(MYSQLLIBDIR)
-# Making the statically linked interpreter. Is there a problem to
-# using the PIC object ?
-static: mysqlwish
-mysqlwish: mysqltcl.o tkAppInit.o
- $(CC) -o mysqlwish tkAppInit.o mysqltcl.o \
- -L$(MYSQLIBDIR) -lmysqlclient \
- -L$(TCLIBDIR) $(LIBTK) $(LIBTCL) \
- -L$(XDIR)lib $(XLIBS) \
- $(SYSLIBS) -lm
-tkAppInit.o:
- $(CC) -c $(CFLAGS) tkAppInit.c
+AC_EGREP_HEADER(gethostname, unistd.h,,AC_DEFINE(HASNO_GETHOSTNAME_PROTO))
-clean:
- rm -f mysqltcl.so tkAppInit.o mysqltcl.o mysqlwish
+AC_OUTPUT(Makefile)
+