diff -aurwN a/configure.ac b/configure.ac --- a/configure.ac 2014-06-20 14:43:52.744753334 -0400 +++ b/configure.ac 2014-06-20 14:59:51.263609319 -0400 @@ -16,9 +16,9 @@ # Process this file with autoconf to produce a configure script. -AC_INIT() +AC_INIT([super-smack], [1.1]) AM_CONFIG_HEADER(config.h) -AM_INIT_AUTOMAKE(super-smack, 1.1) +AM_INIT_AUTOMAKE AC_DEFINE_UNQUOTED(VERSION, "$VERSION") # Checks for programs. @@ -31,6 +31,14 @@ AM_PROG_LEX AC_PROG_YACC +AH_TEMPLATE([HAVE_CRYPT], [Define if we have a crypt()]) +AH_TEMPLATE([HAVE_MYSQL], [MySQL Support]) +AH_TEMPLATE([HAVE_ORACLE], [PostgreSQL Support]) +AH_TEMPLATE([HAVE_PGSQL], [Oracle Support]) +AH_TEMPLATE([SMACK_DATADIR], [Sample .smack data files]) + +AC_CONFIG_MACRO_DIRS([m4]) + # get super-smack datadir AC_ARG_WITH(datadir, [ --with-datadir=DIR Specify default smack datadir], diff -aurwN a/m4/crypt.m4 b/m4/crypt.m4 --- a/m4/crypt.m4 1969-12-31 19:00:00.000000000 -0500 +++ b/m4/crypt.m4 2014-06-20 15:06:42.289976907 -0400 @@ -0,0 +1,5 @@ +AC_DEFUN([AC_FUNC_CRYPT], [ + AC_CHECK_LIB(crypt, crypt) + AC_CHECK_FUNC(crypt, AC_DEFINE(HAVE_CRYPT)) +]) + diff -aruwN a/m4/lex.m4 b/m4/lex.m4 --- a/m4/lex.m4 1969-12-31 19:00:00.000000000 -0500 +++ b/m4/lex.m4 2014-06-20 16:51:23.548854098 -0400 @@ -0,0 +1,6 @@ +AC_DEFUN([AM_PROG_LEX], +[missing_dir=ifelse([$1],,`cd $ac_aux_dir && pwd`,$1) +AC_CHECK_PROGS(LEX, flex lex, "$missing_dir/missing flex") +AC_PROG_LEX +AC_DECL_YYTEXT]) + diff -aurwN a/m4/libz.m4 b/m4/libz.m4 --- a/m4/libz.m4 1969-12-31 19:00:00.000000000 -0500 +++ b/m4/libz.m4 2014-06-20 15:06:24.260569878 -0400 @@ -0,0 +1,4 @@ +AC_DEFUN([AC_LIB_Z], [ + AC_CHECK_LIB(z, compress) +]) + diff -aurwN a/m4/mysql.m4 b/m4/mysql.m4 --- a/m4/mysql.m4 1969-12-31 19:00:00.000000000 -0500 +++ b/m4/mysql.m4 2014-06-20 15:10:48.291892456 -0400 @@ -0,0 +1,76 @@ +#serial 1 +AC_DEFUN([AC_LIB_MYSQL], [ + AC_ARG_WITH(mysql-lib, + [ --with-mysql-lib=DIR Look for MySQL client library in DIR], + mysql_lib=$withval, mysql_lib="") + + if test "x$want_mysql" = "xyes" + then + AC_MSG_CHECKING([for libmysqlclient]) + AC_MSG_RESULT() + + mysql_ok=no + + SAVE_LIBS=$LIBS + + mysql_lib="$mysql_lib /usr/lib /usr/lib/mysql \ + /usr/local/lib /usr/local/lib/mysql \ + /usr/local/mysql/lib" + + for dir in $mysql_lib; do + if test "x$mysql_found" != "xyes" + then + if test -f "$dir/libmysqlclient.so" ; + then + LIBS="-L$dir $SAVE_LIBS $LIBZ_LIB" + MYSQL_LIB="-L$dir -lmysqlclient $LIBZ_LIB" + AC_SUBST(MYSQL_LIB) + AC_CHECK_LIB(mysqlclient, mysql_real_connect, + mysql_ok=yes, mysql_ok=no) + fi + fi + done + + if test "x$mysql_ok" != "xyes" + then + AC_MSG_ERROR([Could not find libmysqlclient in '$mysql_lib']) + fi + fi +]) + +AC_DEFUN([AC_HEADER_MYSQL], [ + AC_ARG_WITH(mysql-include, + [ --with-mysql-include=DIR + Look for MySQL include files in DIR], + mysql_include=$withval, mysql_include="") + + if test "x$want_mysql" = "xyes" + then + AC_MSG_CHECKING([for mysql.h]) + AC_MSG_RESULT() + + mysql_found=no + + mysql_include="$mysql_include /usr/include /usr/include/mysql \ + /usr/local/include /usr/local/include/mysql \ + /usr/local/mysql/include" + + for dir in $mysql_include; do + if test "x$mysql_found" != "xyes" + then + if test -f "$dir/mysql.h" + then + MYSQL_INCLUDE="-I$dir" + AC_SUBST(MYSQL_INCLUDE) + mysql_found=yes + fi + fi + done + + if test "x$mysql_found" != "xyes" + then + AC_MSG_ERROR([Could not find mysql.h in '$mysql_include']) + fi + fi +]) + diff -aurwN a/m4/oracle.m4 b/m4/oracle.m4 --- a/m4/oracle.m4 1969-12-31 19:00:00.000000000 -0500 +++ b/m4/oracle.m4 2014-06-20 15:05:05.543169365 -0400 @@ -0,0 +1,10 @@ +AC_DEFUN([AC_LIB_ORACLE], [ + ORACLE_LIB="" + AC_SUBST(ORACLE_LIB) +]) + +AC_DEFUN([AC_HEADER_ORACLE], [ + ORACLE_INCLUDE="" + AC_SUBST(ORACLE_INCLUDE) +]) + diff -aurwN a/m4/postgresql.m4 b/m4/postgresql.m4 --- a/m4/postgresql.m4 1969-12-31 19:00:00.000000000 -0500 +++ b/m4/postgresql.m4 2014-06-20 15:06:09.311064874 -0400 @@ -0,0 +1,75 @@ +AC_DEFUN([AC_LIB_PGSQL], [ + AC_ARG_WITH(pgsql-lib, + [ --with-pgsql-lib=DIR Look for PostgreSQL client library in DIR], + pgsql_lib=$withval, pgsql_lib="") + + if test "x$want_pgsql" = "xyes" + then + AC_MSG_CHECKING([for libpq]) + AC_MSG_RESULT() + + pgsql_ok=no + + SAVE_LIBS=$LIBS + + pgsql_lib="$pgsql_lib /usr/lib /usr/lib/pgsql \ + /usr/local/lib /usr/local/lib/pgsql \ + /usr/local/pgsql/lib" + + for dir in $pgsql_lib; do + if test "x$pgsql_found" != "xyes" + then + if test -f "$dir/libpq.so" + then + LIBS="-L$dir $SAVE_LIBS" + PGSQL_LIB="-L$dir -lpq" + AC_SUBST(PGSQL_LIB) + AC_CHECK_LIB(pq, PQconnectdb, + pgsql_ok=yes, pgsql_ok=no) + fi + fi + done + + if test "x$pgsql_ok" != "xyes" + then + AC_MSG_ERROR([Could not find libpq in '$pgsql_lib']) + fi + fi +]) + +AC_DEFUN([AC_HEADER_PGSQL], [ + AC_ARG_WITH(pgsql-include, + [ --with-pgsql-include=DIR + Look for PostgreSQL include files in DIR], + pgsql_include=$withval, pgsql_include="") + + if test "x$want_pgsql" = "xyes" + then + AC_MSG_CHECKING([for libpq-fe.h]) + AC_MSG_RESULT() + + pgsql_found=no + + pgsql_include="$pgsql_include /usr/include /usr/include/pgsql \ + /usr/local/include /usr/local/include/pgsql \ + /usr/local/pgsql/include" + + for dir in $pgsql_include; do + if test "x$pgsql_found" != "xyes" + then + if test -f "$dir/libpq-fe.h" + then + PGSQL_INCLUDE="-I$dir" + AC_SUBST(PGSQL_INCLUDE) + pgsql_found=yes + fi + fi + done + + if test "x$pgsql_found" != "xyes" + then + AC_MSG_ERROR([Could not find libpq-fe.h in '$pgsql_include']) + fi + fi +]) + diff -aurwN a/src/Makefile.am b/src/Makefile.am --- a/src/Makefile.am 2014-06-20 14:37:35.266956252 -0400 +++ b/src/Makefile.am 2014-06-20 15:12:40.278227315 -0400 @@ -16,7 +16,8 @@ # Process this file with automake to create Makefile.in -INCLUDES = @MYSQL_INCLUDE@ @PGSQL_INCLUDE@ @ORACLE_INCLUDE@ +AM_CPPFLAGS = @MYSQL_INCLUDE@ @PGSQL_INCLUDE@ @ORACLE_INCLUDE@ +BUILT_SOURCES = super-smack-yacc.hh noinst_PROGRAMS=test-dictionary test-client test_tcp_client bin_PROGRAMS=super-smack super-smack-gen-data diff -aurN a/src/super-smack-lex.ll b/src/super-smack-lex.ll --- a/src/super-smack-lex.ll 2003-05-14 21:08:34.000000000 -0400 +++ b/src/super-smack-lex.ll 2014-06-24 08:56:05.970614176 -0400 @@ -6,7 +6,7 @@ #include #include "query.h" #include "parse.h" - #include "super-smack-yacc.h" + #include "super-smack-yacc.hh" static string q_str = ""; %}