Enhancements for getting Access 2000 to work (almost)

Fixes for working with bison
This commit is contained in:
brianb 2001-05-16 00:21:17 +00:00
parent 606887dfbd
commit 3d4bc34b70
24 changed files with 1338 additions and 727 deletions

157
configure vendored
View File

@ -1776,104 +1776,13 @@ done
test -n "$YACC" || YACC="yacc" test -n "$YACC" || YACC="yacc"
echo $ac_n "checking for main in -libs""... $ac_c" 1>&6
echo "configure:1781: checking for main in -libs" >&5
ac_lib_var=`echo ibs'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-libs $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1789 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
if { (eval echo configure:1796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
ac_tr_lib=HAVE_LIB`echo ibs | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
cat >> confdefs.h <<EOF
#define $ac_tr_lib 1
EOF
LIBS="-libs $LIBS"
else
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking for mdb_free_handle in -lmdb""... $ac_c" 1>&6
echo "configure:1824: checking for mdb_free_handle in -lmdb" >&5
ac_lib_var=`echo mdb'_'mdb_free_handle | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lmdb $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1832 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char mdb_free_handle();
int main() {
mdb_free_handle()
; return 0; }
EOF
if { (eval echo configure:1843: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
ac_tr_lib=HAVE_LIB`echo mdb | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
cat >> confdefs.h <<EOF
#define $ac_tr_lib 1
EOF
LIBS="-lmdb $LIBS"
else
echo "$ac_t""no" 1>&6
fi
echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
echo "configure:1872: checking for ANSI C header files" >&5 echo "configure:1781: checking for ANSI C header files" >&5
if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1877 "configure" #line 1786 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdlib.h> #include <stdlib.h>
#include <stdarg.h> #include <stdarg.h>
@ -1881,7 +1790,7 @@ else
#include <float.h> #include <float.h>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1885: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:1794: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
@ -1898,7 +1807,7 @@ rm -f conftest*
if test $ac_cv_header_stdc = yes; then if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI. # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1902 "configure" #line 1811 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <string.h> #include <string.h>
EOF EOF
@ -1916,7 +1825,7 @@ fi
if test $ac_cv_header_stdc = yes; then if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1920 "configure" #line 1829 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <stdlib.h> #include <stdlib.h>
EOF EOF
@ -1937,7 +1846,7 @@ if test "$cross_compiling" = yes; then
: :
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1941 "configure" #line 1850 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <ctype.h> #include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@ -1948,7 +1857,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); } exit (0); }
EOF EOF
if { (eval echo configure:1952: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:1861: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
: :
else else
@ -1975,17 +1884,17 @@ for ac_hdr in fcntl.h limits.h unistd.h
do do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:1979: checking for $ac_hdr" >&5 echo "configure:1888: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1984 "configure" #line 1893 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <$ac_hdr> #include <$ac_hdr>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:1989: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:1898: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
@ -2015,17 +1924,17 @@ for ac_hdr in wordexp.h
do do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:2019: checking for $ac_hdr" >&5 echo "configure:1928: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2024 "configure" #line 1933 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <$ac_hdr> #include <$ac_hdr>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:2029: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:1938: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
@ -2053,12 +1962,12 @@ done
echo $ac_n "checking for working const""... $ac_c" 1>&6 echo $ac_n "checking for working const""... $ac_c" 1>&6
echo "configure:2057: checking for working const" >&5 echo "configure:1966: checking for working const" >&5
if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2062 "configure" #line 1971 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
@ -2107,7 +2016,7 @@ ccp = (char const *const *) p;
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2111: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:2020: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
ac_cv_c_const=yes ac_cv_c_const=yes
else else
@ -2128,12 +2037,12 @@ EOF
fi fi
echo $ac_n "checking for size_t""... $ac_c" 1>&6 echo $ac_n "checking for size_t""... $ac_c" 1>&6
echo "configure:2132: checking for size_t" >&5 echo "configure:2041: checking for size_t" >&5
if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2137 "configure" #line 2046 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <sys/types.h> #include <sys/types.h>
#if STDC_HEADERS #if STDC_HEADERS
@ -2162,14 +2071,14 @@ fi
echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6
echo "configure:2166: checking whether byte ordering is bigendian" >&5 echo "configure:2075: checking whether byte ordering is bigendian" >&5
if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
ac_cv_c_bigendian=unknown ac_cv_c_bigendian=unknown
# See if sys/param.h defines the BYTE_ORDER macro. # See if sys/param.h defines the BYTE_ORDER macro.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2173 "configure" #line 2082 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <sys/types.h> #include <sys/types.h>
#include <sys/param.h> #include <sys/param.h>
@ -2180,11 +2089,11 @@ int main() {
#endif #endif
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2184: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:2093: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
# It does; now see whether it defined to BIG_ENDIAN or not. # It does; now see whether it defined to BIG_ENDIAN or not.
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2188 "configure" #line 2097 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <sys/types.h> #include <sys/types.h>
#include <sys/param.h> #include <sys/param.h>
@ -2195,7 +2104,7 @@ int main() {
#endif #endif
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2199: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:2108: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest* rm -rf conftest*
ac_cv_c_bigendian=yes ac_cv_c_bigendian=yes
else else
@ -2215,7 +2124,7 @@ if test "$cross_compiling" = yes; then
{ echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; }
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2219 "configure" #line 2128 "configure"
#include "confdefs.h" #include "confdefs.h"
main () { main () {
/* Are we little or big endian? From Harbison&Steele. */ /* Are we little or big endian? From Harbison&Steele. */
@ -2228,7 +2137,7 @@ main () {
exit (u.c[sizeof (long) - 1] == 1); exit (u.c[sizeof (long) - 1] == 1);
} }
EOF EOF
if { (eval echo configure:2232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:2141: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
ac_cv_c_bigendian=no ac_cv_c_bigendian=no
else else
@ -2256,7 +2165,7 @@ fi
OLDLDFLAGS=$LDFLAGS OLDLDFLAGS=$LDFLAGS
echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6 echo $ac_n "checking for initscr in -lncurses""... $ac_c" 1>&6
echo "configure:2260: checking for initscr in -lncurses" >&5 echo "configure:2169: checking for initscr in -lncurses" >&5
ac_lib_var=`echo ncurses'_'initscr | sed 'y%./+-%__p_%'` ac_lib_var=`echo ncurses'_'initscr | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
@ -2264,7 +2173,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lncurses $LIBS" LIBS="-lncurses $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2268 "configure" #line 2177 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
@ -2275,7 +2184,7 @@ int main() {
initscr() initscr()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2279: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:2188: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
@ -2300,7 +2209,7 @@ fi
echo $ac_n "checking for add_history in -lreadline""... $ac_c" 1>&6 echo $ac_n "checking for add_history in -lreadline""... $ac_c" 1>&6
echo "configure:2304: checking for add_history in -lreadline" >&5 echo "configure:2213: checking for add_history in -lreadline" >&5
ac_lib_var=`echo readline'_'add_history | sed 'y%./+-%__p_%'` ac_lib_var=`echo readline'_'add_history | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
@ -2308,7 +2217,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lreadline $LIBS" LIBS="-lreadline $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2312 "configure" #line 2221 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
@ -2319,7 +2228,7 @@ int main() {
add_history() add_history()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2323: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:2232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
@ -2463,7 +2372,7 @@ done
ac_given_srcdir=$srcdir ac_given_srcdir=$srcdir
ac_given_INSTALL="$INSTALL" ac_given_INSTALL="$INSTALL"
trap 'rm -fr `echo "src/util/Makefile src/extras/Makefile Makefile include/Makefile src/Makefile src/libmdb/Makefile include/Makefile src/sql/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 trap 'rm -fr `echo "src/util/Makefile src/extras/Makefile Makefile include/Makefile src/Makefile src/libmdb/Makefile include/Makefile src/sql/Makefile src/odbc/Makefile" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
EOF EOF
cat >> $CONFIG_STATUS <<EOF cat >> $CONFIG_STATUS <<EOF
@ -2569,7 +2478,7 @@ EOF
cat >> $CONFIG_STATUS <<EOF cat >> $CONFIG_STATUS <<EOF
CONFIG_FILES=\${CONFIG_FILES-"src/util/Makefile src/extras/Makefile Makefile include/Makefile src/Makefile src/libmdb/Makefile include/Makefile src/sql/Makefile"} CONFIG_FILES=\${CONFIG_FILES-"src/util/Makefile src/extras/Makefile Makefile include/Makefile src/Makefile src/libmdb/Makefile include/Makefile src/sql/Makefile src/odbc/Makefile"}
EOF EOF
cat >> $CONFIG_STATUS <<\EOF cat >> $CONFIG_STATUS <<\EOF
for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then

View File

@ -10,12 +10,6 @@ AM_PROG_LIBTOOL
AM_PROG_LEX AM_PROG_LEX
AC_PROG_YACC AC_PROG_YACC
dnl Checks for libraries.
dnl Replace `main' with a function in -libs:
AC_CHECK_LIB(ibs, main)
dnl Replace `main' with a function in -lmdb:
AC_CHECK_LIB(mdb, mdb_free_handle)
dnl Checks for header files. dnl Checks for header files.
AC_HEADER_STDC AC_HEADER_STDC
AC_CHECK_HEADERS(fcntl.h limits.h unistd.h) AC_CHECK_HEADERS(fcntl.h limits.h unistd.h)
@ -45,4 +39,4 @@ LDFLAGS=$OLDLDFLAGS
AC_SUBST(READLINE_LIBS) AC_SUBST(READLINE_LIBS)
AC_OUTPUT(src/util/Makefile src/extras/Makefile Makefile include/Makefile src/Makefile src/libmdb/Makefile include/Makefile src/sql/Makefile) AC_OUTPUT(src/util/Makefile src/extras/Makefile Makefile include/Makefile src/Makefile src/libmdb/Makefile include/Makefile src/sql/Makefile src/odbc/Makefile)

View File

@ -17,6 +17,10 @@ typedef struct {
typedef struct { typedef struct {
char *name; char *name;
int disp_size; int disp_size;
void *bind_addr; /* if !NULL then cp parameter to here */
int bind_type;
int *bind_len;
int bind_max;
} MdbSQLColumn; } MdbSQLColumn;
typedef struct { typedef struct {
@ -29,6 +33,8 @@ typedef struct {
MdbSarg *sarg; MdbSarg *sarg;
} MdbSQLSarg; } MdbSQLSarg;
char *g_input_ptr;
#undef YY_INPUT #undef YY_INPUT
#define YY_INPUT(b, r, ms) (r = mdb_sql_yyinput(b, ms)); #define YY_INPUT(b, r, ms) (r = mdb_sql_yyinput(b, ms));

View File

@ -109,6 +109,8 @@ typedef struct {
char db_passwd[14]; char db_passwd[14];
MdbBackend *default_backend; MdbBackend *default_backend;
char *backend_name; char *backend_name;
/* offset to row count on data pages...version dependant */
guint16 row_count_offset;
} MdbHandle; } MdbHandle;
typedef struct { typedef struct {

View File

@ -75,7 +75,7 @@ READLINE_LIBS = -lncurses -lreadline
VERSION = 0.3 VERSION = 0.3
YACC = bison -y YACC = bison -y
SUBDIRS = libmdb util extras sql SUBDIRS = libmdb sql util extras
DEFDIR = $(prefix) DEFDIR = $(prefix)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs

View File

@ -1,4 +1,4 @@
SUBDIRS = libmdb util extras sql SUBDIRS = libmdb sql util extras
DEFDIR = $(prefix) DEFDIR = $(prefix)

View File

@ -75,7 +75,7 @@ READLINE_LIBS = @READLINE_LIBS@
VERSION = @VERSION@ VERSION = @VERSION@
YACC = @YACC@ YACC = @YACC@
SUBDIRS = libmdb util extras sql SUBDIRS = libmdb sql util extras
DEFDIR = $(prefix) DEFDIR = $(prefix)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs

View File

@ -85,7 +85,7 @@ CONFIG_CLEAN_FILES =
PROGRAMS = $(bin_PROGRAMS) PROGRAMS = $(bin_PROGRAMS)
DEFS = -DPACKAGE=\"mdbtools\" -DVERSION=\"0.3\" -DYYTEXT_POINTER=1 -DHAVE_LIBMDB=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WORDEXP_H=1 -DHAVE_READLINE=1 -I. -I$(srcdir) DEFS = -DPACKAGE=\"mdbtools\" -DVERSION=\"0.3\" -DYYTEXT_POINTER=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WORDEXP_H=1 -DHAVE_READLINE=1 -I. -I$(srcdir)
CPPFLAGS = CPPFLAGS =
LDFLAGS = LDFLAGS =
mdb_dump_OBJECTS = mdb-dump.o mdbsupport.o mdb_dump_OBJECTS = mdb-dump.o mdbsupport.o

View File

@ -84,7 +84,7 @@ CONFIG_CLEAN_FILES =
LTLIBRARIES = $(lib_LTLIBRARIES) LTLIBRARIES = $(lib_LTLIBRARIES)
DEFS = -DPACKAGE=\"mdbtools\" -DVERSION=\"0.3\" -DYYTEXT_POINTER=1 -DHAVE_LIBMDB=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WORDEXP_H=1 -DHAVE_READLINE=1 -I. -I$(srcdir) DEFS = -DPACKAGE=\"mdbtools\" -DVERSION=\"0.3\" -DYYTEXT_POINTER=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WORDEXP_H=1 -DHAVE_READLINE=1 -I. -I$(srcdir)
CPPFLAGS = CPPFLAGS =
LDFLAGS = LDFLAGS =
libmdb_la_LDFLAGS = libmdb_la_LDFLAGS =

View File

@ -48,11 +48,12 @@ int offset;
int rows; int rows;
int i,j; int i,j;
rows = mdb_get_int16(mdb, 8); rows = mdb_get_int16(mdb, mdb->row_count_offset);
if (rowid < 0 || rowid > rows) return NULL; if (rowid < 0 || rowid > rows) return NULL;
offset = mdb_get_int16(mdb, 10 + 2 * rowid); offset = mdb_get_int16(mdb, (mdb->row_count_offset + 2) + 2 * rowid);
if (mdb->jet_version==MDB_VER_JET4) offset++;
/* /*
** ??? this happens, don't know what it means ** ??? this happens, don't know what it means
*/ */
@ -73,6 +74,7 @@ fprintf(stdout,"\n");
if (j<=MDB_MAX_OBJ_NAME) { if (j<=MDB_MAX_OBJ_NAME) {
entry->object_name[j++]=mdb->pg_buf[i]; entry->object_name[j++]=mdb->pg_buf[i];
} }
if (mdb->jet_version==MDB_VER_JET4) i++;
} }
entry->object_name[j] = '\0'; entry->object_name[j] = '\0';
entry->kkd_pg = mdb_get_int16(mdb,offset+31+strlen(entry->object_name)+7); entry->kkd_pg = mdb_get_int16(mdb,offset+31+strlen(entry->object_name)+7);
@ -82,7 +84,7 @@ fprintf(stdout,"\n");
} }
int mdb_catalog_rows(MdbHandle *mdb) int mdb_catalog_rows(MdbHandle *mdb)
{ {
return mdb_get_int16(mdb, 0x08); return mdb_get_int16(mdb, mdb->row_count_offset);
} }
GArray *mdb_read_catalog(MdbHandle *mdb, int obj_type) GArray *mdb_read_catalog(MdbHandle *mdb, int obj_type)
{ {

View File

@ -43,8 +43,10 @@ int j,pos;
mdb->jet_version = mdb_get_int32(mdb, 0x14); mdb->jet_version = mdb_get_int32(mdb, 0x14);
if (mdb->jet_version == MDB_VER_JET4) { if (mdb->jet_version == MDB_VER_JET4) {
mdb->pg_size = 4096; mdb->pg_size = 4096;
mdb->row_count_offset = 0x0c;
} else { } else {
mdb->pg_size = 2048; mdb->pg_size = 2048;
mdb->row_count_offset = 0x08;
} }
/* get the db encryption key and xor it back to clear text */ /* get the db encryption key and xor it back to clear text */

View File

@ -1,3 +1,22 @@
/* MDB Tools - A library for reading MS Access database file
* Copyright (C) 2000 Brian Bruns
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <stdio.h> #include <stdio.h>
int likecmp(char *s, char *r) int likecmp(char *s, char *r)

View File

@ -73,25 +73,24 @@ PACKAGE = mdbtools
RANLIB = ranlib RANLIB = ranlib
READLINE_LIBS = -lncurses -lreadline READLINE_LIBS = -lncurses -lreadline
VERSION = 0.3 VERSION = 0.3
YACC = bison -y
bin_PROGRAMS = mdb-sql lib_LTLIBRARIES = libmdbsql.la
libmdbsql_la_SOURCES = mdbsql.c parser.y lexer.l
INCLUDES = -I$(top_srcdir)/include `glib-config --cflags` INCLUDES = -I$(top_srcdir)/include `glib-config --cflags`
LIBS = `glib-config --libs`
LDADD = ../libmdb/libmdb.la LDADD = ../libmdb/libmdb.la
LIBS = `glib-config --libs` $(READLINE_LIBS) -lfl
mdb_sql_SOURCES = mdbsql.c main.c parser.y lexer.l
YACC = yacc -d
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
PROGRAMS = $(bin_PROGRAMS) LTLIBRARIES = $(lib_LTLIBRARIES)
DEFS = -DPACKAGE=\"mdbtools\" -DVERSION=\"0.3\" -DYYTEXT_POINTER=1 -DHAVE_LIBMDB=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WORDEXP_H=1 -DHAVE_READLINE=1 -I. -I$(srcdir) DEFS = -DPACKAGE=\"mdbtools\" -DVERSION=\"0.3\" -DYYTEXT_POINTER=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WORDEXP_H=1 -DHAVE_READLINE=1 -I. -I$(srcdir)
CPPFLAGS = CPPFLAGS =
LDFLAGS = LDFLAGS =
mdb_sql_OBJECTS = mdbsql.o main.o parser.o lexer.o libmdbsql_la_LDFLAGS =
mdb_sql_LDADD = $(LDADD) libmdbsql_la_LIBADD =
mdb_sql_DEPENDENCIES = ../libmdb/libmdb.la libmdbsql_la_OBJECTS = mdbsql.lo parser.lo lexer.lo
mdb_sql_LDFLAGS =
LEX_OUTPUT_ROOT = lex.yy LEX_OUTPUT_ROOT = lex.yy
LEXLIB = -lfl LEXLIB = -lfl
CFLAGS = -g -O2 CFLAGS = -g -O2
@ -106,9 +105,9 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar TAR = gtar
GZIP_ENV = --best GZIP_ENV = --best
DEP_FILES = .deps/lexer.P .deps/main.P .deps/mdbsql.P .deps/parser.P DEP_FILES = .deps/lexer.P .deps/mdbsql.P .deps/parser.P
SOURCES = $(mdb_sql_SOURCES) SOURCES = $(libmdbsql_la_SOURCES)
OBJECTS = $(mdb_sql_OBJECTS) OBJECTS = $(libmdbsql_la_OBJECTS)
all: all-redirect all: all-redirect
.SUFFIXES: .SUFFIXES:
@ -121,29 +120,29 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
mostlyclean-binPROGRAMS: mostlyclean-libLTLIBRARIES:
clean-binPROGRAMS: clean-libLTLIBRARIES:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
distclean-binPROGRAMS: distclean-libLTLIBRARIES:
maintainer-clean-binPROGRAMS: maintainer-clean-libLTLIBRARIES:
install-binPROGRAMS: $(bin_PROGRAMS) install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(libdir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
else :; fi; \ else :; fi; \
done done
uninstall-binPROGRAMS: uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \ list='$(lib_LTLIBRARIES)'; for p in $$list; do \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
done done
.s.o: .s.o:
@ -178,9 +177,8 @@ distclean-libtool:
maintainer-clean-libtool: maintainer-clean-libtool:
mdb-sql: $(mdb_sql_OBJECTS) $(mdb_sql_DEPENDENCIES) libmdbsql.la: $(libmdbsql_la_OBJECTS) $(libmdbsql_la_DEPENDENCIES)
@rm -f mdb-sql $(LINK) -rpath $(libdir) $(libmdbsql_la_LDFLAGS) $(libmdbsql_la_OBJECTS) $(libmdbsql_la_LIBADD) $(LIBS)
$(LINK) $(mdb_sql_LDFLAGS) $(mdb_sql_OBJECTS) $(mdb_sql_LDADD) $(LIBS)
.l.c: .l.c:
$(LEX) $(AM_LFLAGS) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@ $(LEX) $(AM_LFLAGS) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@
.y.c: .y.c:
@ -281,7 +279,7 @@ check-am: all-am
check: check-am check: check-am
installcheck-am: installcheck-am:
installcheck: installcheck-am installcheck: installcheck-am
install-exec-am: install-binPROGRAMS install-exec-am: install-libLTLIBRARIES
install-exec: install-exec-am install-exec: install-exec-am
install-data-am: install-data-am:
@ -290,14 +288,14 @@ install-data: install-data-am
install-am: all-am install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am install: install-am
uninstall-am: uninstall-binPROGRAMS uninstall-am: uninstall-libLTLIBRARIES
uninstall: uninstall-am uninstall: uninstall-am
all-am: Makefile $(PROGRAMS) all-am: Makefile $(LTLIBRARIES)
all-redirect: all-am all-redirect: all-am
install-strip: install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(libdir)
mostlyclean-generic: mostlyclean-generic:
@ -310,25 +308,25 @@ distclean-generic:
maintainer-clean-generic: maintainer-clean-generic:
-test -z "lexerlparserhparserc" || rm -f lexerl parserh parserc -test -z "lexerlparserhparserc" || rm -f lexerl parserh parserc
mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ mostlyclean-am: mostlyclean-libLTLIBRARIES mostlyclean-compile \
mostlyclean-libtool mostlyclean-tags mostlyclean-depend \ mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
mostlyclean-generic mostlyclean-generic
mostlyclean: mostlyclean-am mostlyclean: mostlyclean-am
clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \ clean-am: clean-libLTLIBRARIES clean-compile clean-libtool clean-tags \
clean-depend clean-generic mostlyclean-am clean-depend clean-generic mostlyclean-am
clean: clean-am clean: clean-am
distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \ distclean-am: distclean-libLTLIBRARIES distclean-compile \
distclean-tags distclean-depend distclean-generic \ distclean-libtool distclean-tags distclean-depend \
clean-am distclean-generic clean-am
-rm -f libtool -rm -f libtool
distclean: distclean-am distclean: distclean-am
maintainer-clean-am: maintainer-clean-binPROGRAMS \ maintainer-clean-am: maintainer-clean-libLTLIBRARIES \
maintainer-clean-compile maintainer-clean-libtool \ maintainer-clean-compile maintainer-clean-libtool \
maintainer-clean-tags maintainer-clean-depend \ maintainer-clean-tags maintainer-clean-depend \
maintainer-clean-generic distclean-am maintainer-clean-generic distclean-am
@ -337,20 +335,21 @@ maintainer-clean-am: maintainer-clean-binPROGRAMS \
maintainer-clean: maintainer-clean-am maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ .PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \ uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
maintainer-clean-compile mostlyclean-libtool distclean-libtool \ distclean-compile clean-compile maintainer-clean-compile \
clean-libtool maintainer-clean-libtool tags mostlyclean-tags \ mostlyclean-libtool distclean-libtool clean-libtool \
distclean-tags clean-tags maintainer-clean-tags distdir \ maintainer-clean-libtool tags mostlyclean-tags distclean-tags \
mostlyclean-depend distclean-depend clean-depend \ clean-tags maintainer-clean-tags distdir mostlyclean-depend \
maintainer-clean-depend info-am info dvi-am dvi check check-am \ distclean-depend clean-depend maintainer-clean-depend info-am info \
installcheck-am installcheck install-exec-am install-exec \ dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
install-data-am install-data install-am install uninstall-am uninstall \ install-exec install-data-am install-data install-am install \
all-redirect all-am all installdirs mostlyclean-generic \ uninstall-am uninstall all-redirect all-am all installdirs \
distclean-generic clean-generic maintainer-clean-generic clean \ mostlyclean-generic distclean-generic clean-generic \
mostlyclean distclean maintainer-clean maintainer-clean-generic clean mostlyclean distclean maintainer-clean
#YACC = yacc -d
dist-hook: dist-hook:
rm -f $(distdir)/parser.c $(distdir)/parser.h $(distdir)/lexer.c rm -f $(distdir)/parser.c $(distdir)/parser.h $(distdir)/lexer.c

View File

@ -1,9 +1,9 @@
bin_PROGRAMS = mdb-sql lib_LTLIBRARIES = libmdbsql.la
libmdbsql_la_SOURCES= mdbsql.c parser.y lexer.l
INCLUDES = -I$(top_srcdir)/include `glib-config --cflags` INCLUDES = -I$(top_srcdir)/include `glib-config --cflags`
LIBS = `glib-config --libs`
LDADD = ../libmdb/libmdb.la LDADD = ../libmdb/libmdb.la
LIBS = `glib-config --libs` $(READLINE_LIBS) @LEXLIB@ #YACC = yacc -d
mdb_sql_SOURCES = mdbsql.c main.c parser.y lexer.l
YACC = yacc -d
dist-hook: dist-hook:
rm -f $(distdir)/parser.c $(distdir)/parser.h $(distdir)/lexer.c rm -f $(distdir)/parser.c $(distdir)/parser.h $(distdir)/lexer.c

View File

@ -73,25 +73,24 @@ PACKAGE = @PACKAGE@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
READLINE_LIBS = @READLINE_LIBS@ READLINE_LIBS = @READLINE_LIBS@
VERSION = @VERSION@ VERSION = @VERSION@
YACC = @YACC@
bin_PROGRAMS = mdb-sql lib_LTLIBRARIES = libmdbsql.la
libmdbsql_la_SOURCES = mdbsql.c parser.y lexer.l
INCLUDES = -I$(top_srcdir)/include `glib-config --cflags` INCLUDES = -I$(top_srcdir)/include `glib-config --cflags`
LIBS = `glib-config --libs`
LDADD = ../libmdb/libmdb.la LDADD = ../libmdb/libmdb.la
LIBS = `glib-config --libs` $(READLINE_LIBS) @LEXLIB@
mdb_sql_SOURCES = mdbsql.c main.c parser.y lexer.l
YACC = yacc -d
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
PROGRAMS = $(bin_PROGRAMS) LTLIBRARIES = $(lib_LTLIBRARIES)
DEFS = @DEFS@ -I. -I$(srcdir) DEFS = @DEFS@ -I. -I$(srcdir)
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
mdb_sql_OBJECTS = mdbsql.o main.o parser.o lexer.o libmdbsql_la_LDFLAGS =
mdb_sql_LDADD = $(LDADD) libmdbsql_la_LIBADD =
mdb_sql_DEPENDENCIES = ../libmdb/libmdb.la libmdbsql_la_OBJECTS = mdbsql.lo parser.lo lexer.lo
mdb_sql_LDFLAGS =
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
LEXLIB = @LEXLIB@ LEXLIB = @LEXLIB@
CFLAGS = @CFLAGS@ CFLAGS = @CFLAGS@
@ -106,9 +105,9 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar TAR = gtar
GZIP_ENV = --best GZIP_ENV = --best
DEP_FILES = .deps/lexer.P .deps/main.P .deps/mdbsql.P .deps/parser.P DEP_FILES = .deps/lexer.P .deps/mdbsql.P .deps/parser.P
SOURCES = $(mdb_sql_SOURCES) SOURCES = $(libmdbsql_la_SOURCES)
OBJECTS = $(mdb_sql_OBJECTS) OBJECTS = $(libmdbsql_la_OBJECTS)
all: all-redirect all: all-redirect
.SUFFIXES: .SUFFIXES:
@ -121,29 +120,29 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
&& CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
mostlyclean-binPROGRAMS: mostlyclean-libLTLIBRARIES:
clean-binPROGRAMS: clean-libLTLIBRARIES:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
distclean-binPROGRAMS: distclean-libLTLIBRARIES:
maintainer-clean-binPROGRAMS: maintainer-clean-libLTLIBRARIES:
install-binPROGRAMS: $(bin_PROGRAMS) install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL) @$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(libdir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
echo " $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \ echo "$(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p"; \
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ $(LIBTOOL) --mode=install $(INSTALL) $$p $(DESTDIR)$(libdir)/$$p; \
else :; fi; \ else :; fi; \
done done
uninstall-binPROGRAMS: uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \ list='$(lib_LTLIBRARIES)'; for p in $$list; do \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \ $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$$p; \
done done
.s.o: .s.o:
@ -178,9 +177,8 @@ distclean-libtool:
maintainer-clean-libtool: maintainer-clean-libtool:
mdb-sql: $(mdb_sql_OBJECTS) $(mdb_sql_DEPENDENCIES) libmdbsql.la: $(libmdbsql_la_OBJECTS) $(libmdbsql_la_DEPENDENCIES)
@rm -f mdb-sql $(LINK) -rpath $(libdir) $(libmdbsql_la_LDFLAGS) $(libmdbsql_la_OBJECTS) $(libmdbsql_la_LIBADD) $(LIBS)
$(LINK) $(mdb_sql_LDFLAGS) $(mdb_sql_OBJECTS) $(mdb_sql_LDADD) $(LIBS)
.l.c: .l.c:
$(LEX) $(AM_LFLAGS) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@ $(LEX) $(AM_LFLAGS) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@
.y.c: .y.c:
@ -281,7 +279,7 @@ check-am: all-am
check: check-am check: check-am
installcheck-am: installcheck-am:
installcheck: installcheck-am installcheck: installcheck-am
install-exec-am: install-binPROGRAMS install-exec-am: install-libLTLIBRARIES
install-exec: install-exec-am install-exec: install-exec-am
install-data-am: install-data-am:
@ -290,14 +288,14 @@ install-data: install-data-am
install-am: all-am install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-am install: install-am
uninstall-am: uninstall-binPROGRAMS uninstall-am: uninstall-libLTLIBRARIES
uninstall: uninstall-am uninstall: uninstall-am
all-am: Makefile $(PROGRAMS) all-am: Makefile $(LTLIBRARIES)
all-redirect: all-am all-redirect: all-am
install-strip: install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs:
$(mkinstalldirs) $(DESTDIR)$(bindir) $(mkinstalldirs) $(DESTDIR)$(libdir)
mostlyclean-generic: mostlyclean-generic:
@ -310,25 +308,25 @@ distclean-generic:
maintainer-clean-generic: maintainer-clean-generic:
-test -z "lexerlparserhparserc" || rm -f lexerl parserh parserc -test -z "lexerlparserhparserc" || rm -f lexerl parserh parserc
mostlyclean-am: mostlyclean-binPROGRAMS mostlyclean-compile \ mostlyclean-am: mostlyclean-libLTLIBRARIES mostlyclean-compile \
mostlyclean-libtool mostlyclean-tags mostlyclean-depend \ mostlyclean-libtool mostlyclean-tags mostlyclean-depend \
mostlyclean-generic mostlyclean-generic
mostlyclean: mostlyclean-am mostlyclean: mostlyclean-am
clean-am: clean-binPROGRAMS clean-compile clean-libtool clean-tags \ clean-am: clean-libLTLIBRARIES clean-compile clean-libtool clean-tags \
clean-depend clean-generic mostlyclean-am clean-depend clean-generic mostlyclean-am
clean: clean-am clean: clean-am
distclean-am: distclean-binPROGRAMS distclean-compile distclean-libtool \ distclean-am: distclean-libLTLIBRARIES distclean-compile \
distclean-tags distclean-depend distclean-generic \ distclean-libtool distclean-tags distclean-depend \
clean-am distclean-generic clean-am
-rm -f libtool -rm -f libtool
distclean: distclean-am distclean: distclean-am
maintainer-clean-am: maintainer-clean-binPROGRAMS \ maintainer-clean-am: maintainer-clean-libLTLIBRARIES \
maintainer-clean-compile maintainer-clean-libtool \ maintainer-clean-compile maintainer-clean-libtool \
maintainer-clean-tags maintainer-clean-depend \ maintainer-clean-tags maintainer-clean-depend \
maintainer-clean-generic distclean-am maintainer-clean-generic distclean-am
@ -337,20 +335,21 @@ maintainer-clean-am: maintainer-clean-binPROGRAMS \
maintainer-clean: maintainer-clean-am maintainer-clean: maintainer-clean-am
.PHONY: mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ .PHONY: mostlyclean-libLTLIBRARIES distclean-libLTLIBRARIES \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \ clean-libLTLIBRARIES maintainer-clean-libLTLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \ uninstall-libLTLIBRARIES install-libLTLIBRARIES mostlyclean-compile \
maintainer-clean-compile mostlyclean-libtool distclean-libtool \ distclean-compile clean-compile maintainer-clean-compile \
clean-libtool maintainer-clean-libtool tags mostlyclean-tags \ mostlyclean-libtool distclean-libtool clean-libtool \
distclean-tags clean-tags maintainer-clean-tags distdir \ maintainer-clean-libtool tags mostlyclean-tags distclean-tags \
mostlyclean-depend distclean-depend clean-depend \ clean-tags maintainer-clean-tags distdir mostlyclean-depend \
maintainer-clean-depend info-am info dvi-am dvi check check-am \ distclean-depend clean-depend maintainer-clean-depend info-am info \
installcheck-am installcheck install-exec-am install-exec \ dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
install-data-am install-data install-am install uninstall-am uninstall \ install-exec install-data-am install-data install-am install \
all-redirect all-am all installdirs mostlyclean-generic \ uninstall-am uninstall all-redirect all-am all installdirs \
distclean-generic clean-generic maintainer-clean-generic clean \ mostlyclean-generic distclean-generic clean-generic \
mostlyclean distclean maintainer-clean maintainer-clean-generic clean mostlyclean distclean maintainer-clean
#YACC = yacc -d
dist-hook: dist-hook:
rm -f $(distdir)/parser.c $(distdir)/parser.h $(distdir)/lexer.c rm -f $(distdir)/parser.c $(distdir)/parser.h $(distdir)/lexer.c

View File

@ -1,7 +1,7 @@
/* A lexical scanner generated by flex */ /* A lexical scanner generated by flex */
/* Scanner skeleton version: /* Scanner skeleton version:
* $Header: /Users/brian/cvs/mdbtools/mdbtools/src/sql/Attic/lexer.c,v 1.2 2001/04/20 21:06:46 brianb Exp $ * $Header: /Users/brian/cvs/mdbtools/mdbtools/src/sql/Attic/lexer.c,v 1.3 2001/05/16 00:21:17 brianb Exp $
*/ */
#define FLEX_SCANNER #define FLEX_SCANNER
@ -455,12 +455,30 @@ char *yytext;
#line 1 "lexer.l" #line 1 "lexer.l"
#define INITIAL 0 #define INITIAL 0
#line 2 "lexer.l" #line 2 "lexer.l"
/* MDB Tools - A library for reading MS Access database file
* Copyright (C) 2000 Brian Bruns
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <string.h> #include <string.h>
#include "mdbsql.h" #include "mdbsql.h"
#include "parser.h" #include "parser.h"
extern MdbSQL *g_sql; extern MdbSQL *g_sql;
#line 464 "lex.yy.c" #line 482 "lex.yy.c"
/* Macros after this point can all be overridden by user definitions in /* Macros after this point can all be overridden by user definitions in
* section 1. * section 1.
@ -611,9 +629,9 @@ YY_DECL
register char *yy_cp = NULL, *yy_bp = NULL; register char *yy_cp = NULL, *yy_bp = NULL;
register int yy_act; register int yy_act;
#line 9 "lexer.l" #line 27 "lexer.l"
#line 617 "lex.yy.c" #line 635 "lex.yy.c"
if ( yy_init ) if ( yy_init )
{ {
@ -698,112 +716,112 @@ do_action: /* This label is used only to access EOF actions. */
case 1: case 1:
YY_RULE_SETUP YY_RULE_SETUP
#line 10 "lexer.l" #line 28 "lexer.l"
{ return SELECT; } { return SELECT; }
YY_BREAK YY_BREAK
case 2: case 2:
YY_RULE_SETUP YY_RULE_SETUP
#line 11 "lexer.l" #line 29 "lexer.l"
{ return FROM; } { return FROM; }
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 12 "lexer.l" #line 30 "lexer.l"
{ return CONNECT; } { return CONNECT; }
YY_BREAK YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 13 "lexer.l" #line 31 "lexer.l"
{ return DISCONNECT; } { return DISCONNECT; }
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 14 "lexer.l" #line 32 "lexer.l"
{ return TO; } { return TO; }
YY_BREAK YY_BREAK
case 6: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 15 "lexer.l" #line 33 "lexer.l"
{ return LIST; } { return LIST; }
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 16 "lexer.l" #line 34 "lexer.l"
{ return WHERE; } { return WHERE; }
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 17 "lexer.l" #line 35 "lexer.l"
{ return AND; } { return AND; }
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 18 "lexer.l" #line 36 "lexer.l"
{ return TABLES; } { return TABLES; }
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP YY_RULE_SETUP
#line 19 "lexer.l" #line 37 "lexer.l"
{ return TABLE; } { return TABLE; }
YY_BREAK YY_BREAK
case 11: case 11:
YY_RULE_SETUP YY_RULE_SETUP
#line 20 "lexer.l" #line 38 "lexer.l"
{ return DESCRIBE; } { return DESCRIBE; }
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 21 "lexer.l" #line 39 "lexer.l"
{ return LTEQ; } { return LTEQ; }
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 22 "lexer.l" #line 40 "lexer.l"
{ return GTEQ; } { return GTEQ; }
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 23 "lexer.l" #line 41 "lexer.l"
{ return LIKE; } { return LIKE; }
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 24 "lexer.l" #line 42 "lexer.l"
; ;
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 25 "lexer.l" #line 43 "lexer.l"
{ yylval.name = strdup(yytext); return NAME; } { yylval.name = strdup(yytext); return NAME; }
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 26 "lexer.l" #line 44 "lexer.l"
{ yylval.name = strdup(yytext); return STRING; } { yylval.name = strdup(yytext); return STRING; }
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 27 "lexer.l" #line 45 "lexer.l"
{ {
yylval.name = strdup(yytext); return NUMBER; yylval.name = strdup(yytext); return NUMBER;
} }
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 30 "lexer.l" #line 48 "lexer.l"
{ yylval.name = strdup(yytext); return PATH; } { yylval.name = strdup(yytext); return PATH; }
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 31 "lexer.l" #line 49 "lexer.l"
{ return yytext[0]; } { return yytext[0]; }
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 32 "lexer.l" #line 50 "lexer.l"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 807 "lex.yy.c" #line 825 "lex.yy.c"
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
yyterminate(); yyterminate();
@ -1689,7 +1707,7 @@ int main()
return 0; return 0;
} }
#endif #endif
#line 32 "lexer.l" #line 50 "lexer.l"
void yyerror(char *s) void yyerror(char *s)

View File

@ -1,4 +1,22 @@
%{ %{
/* MDB Tools - A library for reading MS Access database file
* Copyright (C) 2000 Brian Bruns
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <string.h> #include <string.h>
#include "mdbsql.h" #include "mdbsql.h"
#include "parser.h" #include "parser.h"

View File

@ -1,3 +1,22 @@
/* MDB Tools - A library for reading MS Access database file
* Copyright (C) 2000 Brian Bruns
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "mdbsql.h" #include "mdbsql.h"
#include <stdarg.h> #include <stdarg.h>
@ -15,6 +34,19 @@ va_list ap;
va_end(ap); va_end(ap);
fprintf(stderr,"\n"); fprintf(stderr,"\n");
} }
int mdb_sql_yyinput(char *buf, int need)
{
int cplen, have;
have = strlen(g_input_ptr);
cplen = need > have ? have : need;
if (cplen>0) {
memcpy(buf, g_input_ptr, cplen);
g_input_ptr += cplen;
}
return cplen;
}
MdbSQL *mdb_sql_init() MdbSQL *mdb_sql_init()
{ {
MdbSQL *sql; MdbSQL *sql;

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
#define NAME 257 #define NAME 257
#define PATH 258 #define PATH 258
#define NUMBER 259 #define STRING 259
#define STRING 260 #define NUMBER 260
#define SELECT 261 #define SELECT 261
#define FROM 262 #define FROM 262
#define WHERE 263 #define WHERE 263

View File

@ -1,4 +1,22 @@
%{ %{
/* MDB Tools - A library for reading MS Access database file
* Copyright (C) 2000 Brian Bruns
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "mdbsql.h" #include "mdbsql.h"
MdbSQL *g_sql; MdbSQL *g_sql;
@ -10,11 +28,17 @@ MdbSQL *g_sql;
int ival; int ival;
} }
%token NAME PATH NUMBER STRING
%token <name> NAME PATH STRING NUMBER
%token SELECT FROM WHERE CONNECT DISCONNECT TO LIST TABLES WHERE AND %token SELECT FROM WHERE CONNECT DISCONNECT TO LIST TABLES WHERE AND
%token DESCRIBE TABLE %token DESCRIBE TABLE
%token LTEQ GTEQ LIKE %token LTEQ GTEQ LIKE
%type <name> database
%type <name> constant
%type <ival> operator
%% %%
query: query:
@ -22,7 +46,7 @@ query:
mdb_sql_select(g_sql); mdb_sql_select(g_sql);
} }
| CONNECT TO database { | CONNECT TO database {
mdb_sql_open(g_sql, $3.name); free($3.name); mdb_sql_open(g_sql, $3); free($3);
} }
| DISCONNECT { | DISCONNECT {
mdb_sql_close(g_sql); mdb_sql_close(g_sql);
@ -47,28 +71,28 @@ sarg_list:
sarg: sarg:
NAME operator constant { NAME operator constant {
mdb_sql_add_sarg(g_sql, $1.name, $2.ival, $3.name); mdb_sql_add_sarg(g_sql, $1, $2, $3);
free($1.name); free($1);
free($3.name); free($3);
} }
| constant operator NAME { | constant operator NAME {
mdb_sql_add_sarg(g_sql, $3.name, $2.ival, $1.name); mdb_sql_add_sarg(g_sql, $3, $2, $1);
free($1.name); free($1);
free($3.name); free($3);
} }
; ;
operator: operator:
'=' { $$.ival = MDB_EQUAL; } '=' { $$ = MDB_EQUAL; }
| '>' { $$.ival = MDB_GT; } | '>' { $$ = MDB_GT; }
| '<' { $$.ival = MDB_LT; } | '<' { $$ = MDB_LT; }
| LTEQ { $$.ival = MDB_LTEQ; } | LTEQ { $$ = MDB_LTEQ; }
| GTEQ { $$.ival = MDB_GTEQ; } | GTEQ { $$ = MDB_GTEQ; }
| LIKE { $$.ival = MDB_LIKE; } | LIKE { $$ = MDB_LIKE; }
; ;
constant: constant:
NUMBER { $$.name = $1.name; } NUMBER { $$ = $1; }
| STRING { $$.name = $1.name; } | STRING { $$ = $1; }
; ;
database: database:
@ -76,7 +100,7 @@ database:
| NAME | NAME
table: table:
NAME { mdb_sql_add_table(g_sql, $1.name); free($1.name); } NAME { mdb_sql_add_table(g_sql, $1); free($1); }
; ;
column_list: column_list:
@ -86,7 +110,7 @@ column_list:
; ;
column: column:
NAME { mdb_sql_add_column(g_sql, $1.name); free($1.name); } NAME { mdb_sql_add_column(g_sql, $1); free($1); }
; ;
%% %%

View File

@ -75,16 +75,17 @@ READLINE_LIBS = -lncurses -lreadline
VERSION = 0.3 VERSION = 0.3
YACC = bison -y YACC = bison -y
bin_PROGRAMS = mdb-export mdb-array mdb-schema mdb-tables mdb-parsecsv mdb-header prtable prcat prdata prkkd prdump bin_PROGRAMS = mdb-export mdb-array mdb-schema mdb-tables mdb-parsecsv mdb-header mdb-sql prtable prcat prdata prkkd prdump
INCLUDES = -I$(top_srcdir)/include `glib-config --cflags` INCLUDES = -I$(top_srcdir)/include `glib-config --cflags`
LIBS = `glib-config --libs` $(READLINE_LIBS) -lfl
LDADD = ../libmdb/libmdb.la LDADD = ../libmdb/libmdb.la
LIBS = `glib-config --libs` mdb_sql_LDADD = ../libmdb/libmdb.la ../sql/libmdbsql.la
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
PROGRAMS = $(bin_PROGRAMS) PROGRAMS = $(bin_PROGRAMS)
DEFS = -DPACKAGE=\"mdbtools\" -DVERSION=\"0.3\" -DYYTEXT_POINTER=1 -DHAVE_LIBMDB=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WORDEXP_H=1 -DHAVE_READLINE=1 -I. -I$(srcdir) DEFS = -DPACKAGE=\"mdbtools\" -DVERSION=\"0.3\" -DYYTEXT_POINTER=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_WORDEXP_H=1 -DHAVE_READLINE=1 -I. -I$(srcdir)
CPPFLAGS = CPPFLAGS =
LDFLAGS = LDFLAGS =
mdb_export_SOURCES = mdb-export.c mdb_export_SOURCES = mdb-export.c
@ -117,6 +118,10 @@ mdb_header_OBJECTS = mdb-header.o
mdb_header_LDADD = $(LDADD) mdb_header_LDADD = $(LDADD)
mdb_header_DEPENDENCIES = ../libmdb/libmdb.la mdb_header_DEPENDENCIES = ../libmdb/libmdb.la
mdb_header_LDFLAGS = mdb_header_LDFLAGS =
mdb_sql_SOURCES = mdb-sql.c
mdb_sql_OBJECTS = mdb-sql.o
mdb_sql_DEPENDENCIES = ../libmdb/libmdb.la ../sql/libmdbsql.la
mdb_sql_LDFLAGS =
prtable_SOURCES = prtable.c prtable_SOURCES = prtable.c
prtable_OBJECTS = prtable.o prtable_OBJECTS = prtable.o
prtable_LDADD = $(LDADD) prtable_LDADD = $(LDADD)
@ -155,11 +160,11 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar TAR = gtar
GZIP_ENV = --best GZIP_ENV = --best
DEP_FILES = .deps/mdb-array.P .deps/mdb-export.P .deps/mdb-header.P \ DEP_FILES = .deps/mdb-array.P .deps/mdb-export.P .deps/mdb-header.P \
.deps/mdb-parsecsv.P .deps/mdb-schema.P .deps/mdb-tables.P \ .deps/mdb-parsecsv.P .deps/mdb-schema.P .deps/mdb-sql.P \
.deps/prcat.P .deps/prdata.P .deps/prdump.P .deps/prkkd.P \ .deps/mdb-tables.P .deps/prcat.P .deps/prdata.P .deps/prdump.P \
.deps/prtable.P .deps/prkkd.P .deps/prtable.P
SOURCES = mdb-export.c mdb-array.c mdb-schema.c mdb-tables.c mdb-parsecsv.c mdb-header.c prtable.c prcat.c prdata.c prkkd.c prdump.c SOURCES = mdb-export.c mdb-array.c mdb-schema.c mdb-tables.c mdb-parsecsv.c mdb-header.c mdb-sql.c prtable.c prcat.c prdata.c prkkd.c prdump.c
OBJECTS = mdb-export.o mdb-array.o mdb-schema.o mdb-tables.o mdb-parsecsv.o mdb-header.o prtable.o prcat.o prdata.o prkkd.o prdump.o OBJECTS = mdb-export.o mdb-array.o mdb-schema.o mdb-tables.o mdb-parsecsv.o mdb-header.o mdb-sql.o prtable.o prcat.o prdata.o prkkd.o prdump.o
all: all-redirect all: all-redirect
.SUFFIXES: .SUFFIXES:
@ -253,6 +258,10 @@ mdb-header: $(mdb_header_OBJECTS) $(mdb_header_DEPENDENCIES)
@rm -f mdb-header @rm -f mdb-header
$(LINK) $(mdb_header_LDFLAGS) $(mdb_header_OBJECTS) $(mdb_header_LDADD) $(LIBS) $(LINK) $(mdb_header_LDFLAGS) $(mdb_header_OBJECTS) $(mdb_header_LDADD) $(LIBS)
mdb-sql: $(mdb_sql_OBJECTS) $(mdb_sql_DEPENDENCIES)
@rm -f mdb-sql
$(LINK) $(mdb_sql_LDFLAGS) $(mdb_sql_OBJECTS) $(mdb_sql_LDADD) $(LIBS)
prtable: $(prtable_OBJECTS) $(prtable_DEPENDENCIES) prtable: $(prtable_OBJECTS) $(prtable_DEPENDENCIES)
@rm -f prtable @rm -f prtable
$(LINK) $(prtable_LDFLAGS) $(prtable_OBJECTS) $(prtable_LDADD) $(LIBS) $(LINK) $(prtable_LDFLAGS) $(prtable_OBJECTS) $(prtable_LDADD) $(LIBS)

View File

@ -1,4 +1,5 @@
bin_PROGRAMS = mdb-export mdb-array mdb-schema mdb-tables mdb-parsecsv mdb-header prtable prcat prdata prkkd prdump bin_PROGRAMS = mdb-export mdb-array mdb-schema mdb-tables mdb-parsecsv mdb-header mdb-sql prtable prcat prdata prkkd prdump
INCLUDES = -I$(top_srcdir)/include `glib-config --cflags` INCLUDES = -I$(top_srcdir)/include `glib-config --cflags`
LIBS = `glib-config --libs` $(READLINE_LIBS) @LEXLIB@
LDADD = ../libmdb/libmdb.la LDADD = ../libmdb/libmdb.la
LIBS = `glib-config --libs` mdb_sql_LDADD = ../libmdb/libmdb.la ../sql/libmdbsql.la

View File

@ -75,10 +75,11 @@ READLINE_LIBS = @READLINE_LIBS@
VERSION = @VERSION@ VERSION = @VERSION@
YACC = @YACC@ YACC = @YACC@
bin_PROGRAMS = mdb-export mdb-array mdb-schema mdb-tables mdb-parsecsv mdb-header prtable prcat prdata prkkd prdump bin_PROGRAMS = mdb-export mdb-array mdb-schema mdb-tables mdb-parsecsv mdb-header mdb-sql prtable prcat prdata prkkd prdump
INCLUDES = -I$(top_srcdir)/include `glib-config --cflags` INCLUDES = -I$(top_srcdir)/include `glib-config --cflags`
LIBS = `glib-config --libs` $(READLINE_LIBS) @LEXLIB@
LDADD = ../libmdb/libmdb.la LDADD = ../libmdb/libmdb.la
LIBS = `glib-config --libs` mdb_sql_LDADD = ../libmdb/libmdb.la ../sql/libmdbsql.la
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
PROGRAMS = $(bin_PROGRAMS) PROGRAMS = $(bin_PROGRAMS)
@ -117,6 +118,10 @@ mdb_header_OBJECTS = mdb-header.o
mdb_header_LDADD = $(LDADD) mdb_header_LDADD = $(LDADD)
mdb_header_DEPENDENCIES = ../libmdb/libmdb.la mdb_header_DEPENDENCIES = ../libmdb/libmdb.la
mdb_header_LDFLAGS = mdb_header_LDFLAGS =
mdb_sql_SOURCES = mdb-sql.c
mdb_sql_OBJECTS = mdb-sql.o
mdb_sql_DEPENDENCIES = ../libmdb/libmdb.la ../sql/libmdbsql.la
mdb_sql_LDFLAGS =
prtable_SOURCES = prtable.c prtable_SOURCES = prtable.c
prtable_OBJECTS = prtable.o prtable_OBJECTS = prtable.o
prtable_LDADD = $(LDADD) prtable_LDADD = $(LDADD)
@ -155,11 +160,11 @@ DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar TAR = gtar
GZIP_ENV = --best GZIP_ENV = --best
DEP_FILES = .deps/mdb-array.P .deps/mdb-export.P .deps/mdb-header.P \ DEP_FILES = .deps/mdb-array.P .deps/mdb-export.P .deps/mdb-header.P \
.deps/mdb-parsecsv.P .deps/mdb-schema.P .deps/mdb-tables.P \ .deps/mdb-parsecsv.P .deps/mdb-schema.P .deps/mdb-sql.P \
.deps/prcat.P .deps/prdata.P .deps/prdump.P .deps/prkkd.P \ .deps/mdb-tables.P .deps/prcat.P .deps/prdata.P .deps/prdump.P \
.deps/prtable.P .deps/prkkd.P .deps/prtable.P
SOURCES = mdb-export.c mdb-array.c mdb-schema.c mdb-tables.c mdb-parsecsv.c mdb-header.c prtable.c prcat.c prdata.c prkkd.c prdump.c SOURCES = mdb-export.c mdb-array.c mdb-schema.c mdb-tables.c mdb-parsecsv.c mdb-header.c mdb-sql.c prtable.c prcat.c prdata.c prkkd.c prdump.c
OBJECTS = mdb-export.o mdb-array.o mdb-schema.o mdb-tables.o mdb-parsecsv.o mdb-header.o prtable.o prcat.o prdata.o prkkd.o prdump.o OBJECTS = mdb-export.o mdb-array.o mdb-schema.o mdb-tables.o mdb-parsecsv.o mdb-header.o mdb-sql.o prtable.o prcat.o prdata.o prkkd.o prdump.o
all: all-redirect all: all-redirect
.SUFFIXES: .SUFFIXES:
@ -253,6 +258,10 @@ mdb-header: $(mdb_header_OBJECTS) $(mdb_header_DEPENDENCIES)
@rm -f mdb-header @rm -f mdb-header
$(LINK) $(mdb_header_LDFLAGS) $(mdb_header_OBJECTS) $(mdb_header_LDADD) $(LIBS) $(LINK) $(mdb_header_LDFLAGS) $(mdb_header_OBJECTS) $(mdb_header_LDADD) $(LIBS)
mdb-sql: $(mdb_sql_OBJECTS) $(mdb_sql_DEPENDENCIES)
@rm -f mdb-sql
$(LINK) $(mdb_sql_LDFLAGS) $(mdb_sql_OBJECTS) $(mdb_sql_LDADD) $(LIBS)
prtable: $(prtable_OBJECTS) $(prtable_DEPENDENCIES) prtable: $(prtable_OBJECTS) $(prtable_DEPENDENCIES)
@rm -f prtable @rm -f prtable
$(LINK) $(prtable_LDFLAGS) $(prtable_OBJECTS) $(prtable_LDADD) $(LIBS) $(LINK) $(prtable_LDFLAGS) $(prtable_OBJECTS) $(prtable_LDADD) $(LIBS)