mirror of
https://github.com/mdbtools/mdbtools.git
synced 2026-01-21 18:48:34 +08:00
Drop autogen.sh: Do use autoconf
Automake is changing and some of the stuff in autogen.sh is expected to fail soon: https://www.gnu.org/software/automake/manual/html_node/Future-of-aclocal.html "autoreconf -if" will overwrite the INSTALL file, so its content is now in the README file. Added NEWS warning Adjusted .gitignore
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -14,6 +14,7 @@ dumptypes.h
|
|||||||
Makefile.in
|
Makefile.in
|
||||||
Makefile
|
Makefile
|
||||||
doc/*.1
|
doc/*.1
|
||||||
|
INSTALL
|
||||||
include/config.h
|
include/config.h
|
||||||
include/config.h.in
|
include/config.h.in
|
||||||
include/mdbver.h
|
include/mdbver.h
|
||||||
|
|||||||
97
INSTALL
97
INSTALL
@@ -1,97 +0,0 @@
|
|||||||
Basic Installation - from a packaged tarball (.tgz)
|
|
||||||
===================================================
|
|
||||||
|
|
||||||
See below if you are installing from git.
|
|
||||||
|
|
||||||
$ ./configure
|
|
||||||
$ make
|
|
||||||
|
|
||||||
or for a complete install (requires bison, flex, and unixODBC):
|
|
||||||
|
|
||||||
$ ./configure --enable-sql --with-unixodbc=/usr/local
|
|
||||||
$ make
|
|
||||||
|
|
||||||
This will build some useful utilities:
|
|
||||||
|
|
||||||
mdb-ver -- prints the version (JET 3 or 4) of an mdb file
|
|
||||||
mdb-dump -- simple hex dump utility that I've been using to look at mdb files
|
|
||||||
mdb-schema -- prints DDL for the specified table
|
|
||||||
mdb-export -- export table to CSV format
|
|
||||||
mdb-tables -- a simple dump of table names to be used with shell scripts
|
|
||||||
mdb-header -- generates a C header to be used in exporting mdb data to a C prog.
|
|
||||||
mdb-parsecvs -- generates a C program given a CSV file made with mdb-export
|
|
||||||
mdb-sql -- if --enable-sql is specified, a simple SQL engine (also used by
|
|
||||||
ODBC and gmdb).
|
|
||||||
gmdb2 -- a graphical utility to browse MDB files.
|
|
||||||
|
|
||||||
And some utilities useful for debugging:
|
|
||||||
|
|
||||||
prcat -- prints the catalog table from an mdb file.
|
|
||||||
prkkd -- dump of information about design view data given the offset to it.
|
|
||||||
prtable -- dump of a table definition.
|
|
||||||
prdata -- dump of the data given a table name.
|
|
||||||
prole -- dump of ole columns given a table name and sargs.
|
|
||||||
|
|
||||||
Once MDB Tools has been compiled, libmdb.[so|a] will be in the src/libmdb
|
|
||||||
directory and the utility programs will be in the src/util directory.
|
|
||||||
|
|
||||||
You can then run 'make install' as root to install (to /usr/local by default).
|
|
||||||
Some systems will also need the ld cache to be updated after installation;
|
|
||||||
You can do that running 'ldconfig' as root.
|
|
||||||
|
|
||||||
|
|
||||||
Installation Options
|
|
||||||
====================
|
|
||||||
|
|
||||||
configure can be passed any of the following flags to turn on other
|
|
||||||
capabilities. Note that the options --with-unixodbc and --with-iodbc are
|
|
||||||
mutually exclusive.
|
|
||||||
|
|
||||||
--enable-sql will cause the SQL engine to be built, you must have flex
|
|
||||||
and bison (or yacc) installed for this option.
|
|
||||||
--with-unixodbc specifies the location of the unixODBC driver manager and
|
|
||||||
causes the unixODBC driver to be built. You need version
|
|
||||||
2.2.10 or above.
|
|
||||||
--with-iodbc specifies the location of the iODBC driver manager and
|
|
||||||
causes the iODBC driver to be built.
|
|
||||||
|
|
||||||
If you want to build the html version of the docbook documentation, you need to
|
|
||||||
set the environment variable DOCBOOK_DSL to the modular dsl translation file.
|
|
||||||
For exemple, before configure, you need something like:
|
|
||||||
|
|
||||||
$ export DOCBOOK_DSL=/usr/share/sgml/docbook/stylesheet/dsssl/modular/html/docbook.dsl
|
|
||||||
|
|
||||||
Installation from sources
|
|
||||||
=========================
|
|
||||||
|
|
||||||
First, you must have reasonably current installations of:
|
|
||||||
libtool
|
|
||||||
automake
|
|
||||||
autoconf
|
|
||||||
If you don't you should install them first. Sources are available at
|
|
||||||
ftp.gnu.org.
|
|
||||||
|
|
||||||
You will also need txt2man in order to build the man pages. Source is available
|
|
||||||
at http://mvertes.free.fr/download/.
|
|
||||||
|
|
||||||
Second, download the sources from github:
|
|
||||||
|
|
||||||
$ git clone git://github.com/brianb/mdbtools.git
|
|
||||||
|
|
||||||
Third, run autogen.sh to configure everything:
|
|
||||||
|
|
||||||
$ ./autogen.sh
|
|
||||||
-- This will run libtoolize, automake, and autoconf.
|
|
||||||
|
|
||||||
Note: FreeBSD systems, as of the time of this writing, have an old version of
|
|
||||||
libtool (1.3.4) in the ports collection. It works, but requires the presence
|
|
||||||
of acinclude.m4 in the distribution, which is why it is included. If your
|
|
||||||
system has a more up-to-date version (1.4.2, at this date), this file is not
|
|
||||||
needed and, in fact, causes an error when autoconf is run:
|
|
||||||
./ltconfig: ./ltconfig: No such file or directory
|
|
||||||
configure: error: libtool configure failed
|
|
||||||
If you get this error message, delete the file "acinclude.m4" and run
|
|
||||||
autogen.sh again.
|
|
||||||
|
|
||||||
At this point, you should resume the instructions at the beginning of this
|
|
||||||
file.
|
|
||||||
12
NEWS
12
NEWS
@@ -1,15 +1,17 @@
|
|||||||
Version 0.7.1
|
Version 0.7.1
|
||||||
=============
|
=============
|
||||||
|
autogen.sh is no more. Use "autoreconf" -if to bootstrap the configuration.
|
||||||
|
|
||||||
|
autoconf/automake has been updated to more recent standards.
|
||||||
|
- config.guess config.sub depcomp install-sh ltmain.sh missing ylwrap
|
||||||
|
files are now in build-aux/ directory
|
||||||
|
You'll now need autoconf >= 2.58
|
||||||
|
|
||||||
An experimental (buggy) version of ODBC driver that supports UCS-2 interface
|
An experimental (buggy) version of ODBC driver that supports UCS-2 interface
|
||||||
is now available: libmdbodbcW.so
|
is now available: libmdbodbcW.so
|
||||||
Note that libmdbodbc supports UTF-8 really well, so that this is usually not
|
Note that libmdbodbc supports UTF-8 really well, so that this is usually not
|
||||||
needed.
|
needed.
|
||||||
|
|
||||||
autoconf/automake has been updates to more recent standards.
|
|
||||||
- config.guess config.sub depcomp install-sh ltmain.sh missing ylwrap
|
|
||||||
files are now in build-aux/ directory
|
|
||||||
You'll now need autoconf >= 2.58
|
|
||||||
|
|
||||||
Version 0.3
|
Version 0.3
|
||||||
===========
|
===========
|
||||||
The organization of the project files has changed a bit from that last release.
|
The organization of the project files has changed a bit from that last release.
|
||||||
|
|||||||
95
README
95
README
@@ -6,8 +6,26 @@ pieces are:
|
|||||||
|
|
||||||
. libmdb - the core library that allows access to MDB files programatically.
|
. libmdb - the core library that allows access to MDB files programatically.
|
||||||
. libmdbsql - builds on libmdb to provide a SQL engine (aka Jet)
|
. libmdbsql - builds on libmdb to provide a SQL engine (aka Jet)
|
||||||
. utils - provides command line utilities to list tables, export schema,
|
. utils - provides command line utilities:
|
||||||
and data, show the version of the files, and other useful stuff.
|
mdb-ver -- prints the version (JET 3 or 4) of an mdb file.
|
||||||
|
mdb-dump -- simple hex dump utility that I've been using to look
|
||||||
|
at mdb files.
|
||||||
|
mdb-schema -- prints DDL for the specified table.
|
||||||
|
mdb-export -- export table to CSV format.
|
||||||
|
mdb-tables -- a simple dump of table names to be used with shell
|
||||||
|
scripts
|
||||||
|
mdb-header -- generates a C header to be used in exporting mdb
|
||||||
|
data to a C prog.
|
||||||
|
mdb-parsecvs -- generates a C program given a CSV file made with
|
||||||
|
mdb-export
|
||||||
|
mdb-sql -- if --enable-sql is specified, a simple SQL engine
|
||||||
|
(also used by ODBC and gmdb).
|
||||||
|
- And some utilities useful for debugging:
|
||||||
|
prcat -- prints the catalog table from an mdb file.
|
||||||
|
prkkd -- dump of information about design view data given the offset to it.
|
||||||
|
prtable -- dump of a table definition.
|
||||||
|
prdata -- dump of the data given a table name.
|
||||||
|
prole -- dump of ole columns given a table name and sargs.
|
||||||
. mdb-sql - a command line SQL tool that allows one to type sql queries and
|
. mdb-sql - a command line SQL tool that allows one to type sql queries and
|
||||||
get results.
|
get results.
|
||||||
. odbc - An ODBC driver for use with unixODBC or iODBC driver manager.
|
. odbc - An ODBC driver for use with unixODBC or iODBC driver manager.
|
||||||
@@ -26,10 +44,77 @@ Files in libmdb, libmdbsql, and libmdbodbc are licensed under LGPL and the
|
|||||||
utilities and gui program are under the GPL, see COPYING.LIB and COPYING files
|
utilities and gui program are under the GPL, see COPYING.LIB and COPYING files
|
||||||
respectively.
|
respectively.
|
||||||
|
|
||||||
To install see the INSTALL file
|
|
||||||
|
|
||||||
Check out https://github.com/brianb/mdbtools for latest version of sources.
|
Requirements:
|
||||||
Check out http://mdbtools.sourceforge.net for mailing list and similar.
|
=============
|
||||||
|
|
||||||
|
First, you must have reasonably current installations of:
|
||||||
|
libtool
|
||||||
|
automake
|
||||||
|
autoconf (version >= 2.58)
|
||||||
|
If you don't you should install them first. Sources are available at
|
||||||
|
ftp.gnu.org.
|
||||||
|
|
||||||
|
If you want to build the SQL engine, you'll need bison or byacc, and flex.
|
||||||
|
|
||||||
|
If you want to build the ODBC driver, you'll need unixodbc (version 2.2.10 or
|
||||||
|
above) or iodbc.
|
||||||
|
|
||||||
|
If you want to build man pages, you'll need txt2man. Source is available at
|
||||||
|
http://mvertes.free.fr/download/.
|
||||||
|
|
||||||
|
If you want to generate the html version of the docbook, you'll need openjade
|
||||||
|
and basic dsl catalogs.
|
||||||
|
|
||||||
|
|
||||||
|
Installation from source:
|
||||||
|
=========================
|
||||||
|
|
||||||
|
Last version is available at https://github.com/brianb/mdbtools
|
||||||
|
|
||||||
|
$ autoreconf -i -f
|
||||||
|
|
||||||
|
If you want to build the html version of the docbook documentation, you need to
|
||||||
|
set the environment variable DOCBOOK_DSL to the modular dsl translation file.
|
||||||
|
For exemple, before configure, you need something like:
|
||||||
|
|
||||||
|
$ export DOCBOOK_DSL=/usr/share/sgml/docbook/stylesheet/dsssl/modular/html/docbook.dsl
|
||||||
|
|
||||||
|
$ ./configure
|
||||||
|
|
||||||
|
OR for a complete install (requires bison, flex, and unixODBC):
|
||||||
|
|
||||||
|
$ ./configure --with-unixodbc=/usr/local
|
||||||
|
|
||||||
|
configure can be passed any of the following flags to turn on other
|
||||||
|
capabilities. Note that the options --with-unixodbc and --with-iodbc are
|
||||||
|
mutually exclusive.
|
||||||
|
--with-unixodbc specifies the location of the unixODBC driver manager and
|
||||||
|
causes the unixODBC driver to be built.
|
||||||
|
--with-iodbc specifies the location of the iODBC driver manager and
|
||||||
|
causes the iODBC driver to be built.
|
||||||
|
A list of general options is available in the INSTALL file, and
|
||||||
|
"configure --help" will give you the list of mdbtools specific options.
|
||||||
|
|
||||||
|
$ make
|
||||||
|
|
||||||
|
Once MDB Tools has been compiled, libmdb.[so|a] will be in the src/libmdb
|
||||||
|
directory and the utility programs will be in the src/util directory.
|
||||||
|
|
||||||
|
You can then run 'make install' as root to install (to /usr/local by default).
|
||||||
|
Some systems will also need the ld cache to be updated after installation;
|
||||||
|
You can do that running 'ldconfig' as root.
|
||||||
|
|
||||||
|
|
||||||
|
Contacts
|
||||||
|
========
|
||||||
|
|
||||||
|
The mailing list from the old site a available at
|
||||||
|
http://mdbtools.sourceforge.net
|
||||||
|
|
||||||
|
Please send bug repports to the new github platform.
|
||||||
|
https://github.com/brianb/mdbtools/issues
|
||||||
|
|
||||||
|
|
||||||
Brian Bruns
|
Brian Bruns
|
||||||
brian@bruns.com
|
brian@bruns.com
|
||||||
|
|||||||
160
autogen.sh
160
autogen.sh
@@ -1,160 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Run this to generate all the initial makefiles, etc.
|
|
||||||
|
|
||||||
# (Copied from output generated by Glade 0.6.2 and modified by James
|
|
||||||
# Cameron for the FreeTDS project. Changes were to PKG_NAME only.)
|
|
||||||
# Copied from FreeTDS to MDB Tools by Brian Bruns.
|
|
||||||
|
|
||||||
srcdir=`dirname $0`
|
|
||||||
PKG_NAME="MDBTools."
|
|
||||||
|
|
||||||
DIE=0
|
|
||||||
|
|
||||||
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
|
|
||||||
echo
|
|
||||||
echo "**Error**: You must have \`autoconf' installed."
|
|
||||||
echo "Download the appropriate package for your distribution,"
|
|
||||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
|
||||||
DIE=1
|
|
||||||
}
|
|
||||||
|
|
||||||
grep "^A[CM]_PROG_LIBTOOL" configure.ac >/dev/null && {
|
|
||||||
if which libtoolize && (libtoolize --version) < /dev/null > /dev/null 2>&1; then
|
|
||||||
LIBTOOLIZE=libtoolize
|
|
||||||
else
|
|
||||||
if which glibtoolize && (glibtoolize --version) < /dev/null > /dev/null 2>&1; then
|
|
||||||
LIBTOOLIZE=glibtoolize
|
|
||||||
else
|
|
||||||
echo
|
|
||||||
echo "**Error**: You must have \`libtool' installed."
|
|
||||||
echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
|
|
||||||
echo "(or a newer version if it is available)"
|
|
||||||
DIE=1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
grep "^AM_GNU_GETTEXT" $srcdir/configure.ac >/dev/null && {
|
|
||||||
grep "sed.*POTFILES" $srcdir/configure.ac >/dev/null || \
|
|
||||||
(gettext --version) < /dev/null > /dev/null 2>&1 || {
|
|
||||||
echo
|
|
||||||
echo "**Error**: You must have \`gettext' installed."
|
|
||||||
echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
|
|
||||||
echo "(or a newer version if it is available)"
|
|
||||||
DIE=1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
grep "^AM_GNOME_GETTEXT" $srcdir/configure.ac >/dev/null && {
|
|
||||||
grep "sed.*POTFILES" $srcdir/configure.ac >/dev/null || \
|
|
||||||
(gettext --version) < /dev/null > /dev/null 2>&1 || {
|
|
||||||
echo
|
|
||||||
echo "**Error**: You must have \`gettext' installed."
|
|
||||||
echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
|
|
||||||
echo "(or a newer version if it is available)"
|
|
||||||
DIE=1
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
(automake --version) < /dev/null > /dev/null 2>&1 || {
|
|
||||||
echo
|
|
||||||
echo "**Error**: You must have \`automake' installed."
|
|
||||||
echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
|
|
||||||
echo "(or a newer version if it is available)"
|
|
||||||
DIE=1
|
|
||||||
NO_AUTOMAKE=yes
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# if no automake, don't bother testing for aclocal
|
|
||||||
test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
|
|
||||||
echo
|
|
||||||
echo "**Error**: Missing \`aclocal'. The version of \`automake'"
|
|
||||||
echo "installed doesn't appear recent enough."
|
|
||||||
echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
|
|
||||||
echo "(or a newer version if it is available)"
|
|
||||||
DIE=1
|
|
||||||
}
|
|
||||||
|
|
||||||
if test "$DIE" -eq 1; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test x$NOCONFIGURE = x; then
|
|
||||||
if test -z "$*"; then
|
|
||||||
echo "**Warning**: I am going to run \`configure' with no arguments."
|
|
||||||
echo "If you wish to pass any to it, please specify them on the"
|
|
||||||
echo \`$0\'" command line."
|
|
||||||
echo
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
case $CC in
|
|
||||||
xlc )
|
|
||||||
am_opt=--include-deps;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
for coin in `find $srcdir -name configure.ac -print`
|
|
||||||
do
|
|
||||||
dr=`dirname $coin`
|
|
||||||
if test -f $dr/NO-AUTO-GEN; then
|
|
||||||
echo skipping $dr -- flagged as no auto-gen
|
|
||||||
else
|
|
||||||
echo processing $dr
|
|
||||||
macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin`
|
|
||||||
( cd $dr
|
|
||||||
aclocalinclude="$ACLOCAL_FLAGS"
|
|
||||||
for k in $macrodirs; do
|
|
||||||
if test -d $k; then
|
|
||||||
aclocalinclude="$aclocalinclude -I $k"
|
|
||||||
##else
|
|
||||||
## echo "**Warning**: No such directory \`$k'. Ignored."
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if grep "^AM_GNU_GETTEXT" configure.ac >/dev/null; then
|
|
||||||
if grep "sed.*POTFILES" configure.ac >/dev/null; then
|
|
||||||
: do nothing -- we still have an old unmodified configure.ac
|
|
||||||
else
|
|
||||||
echo "Creating $dr/aclocal.m4 ..."
|
|
||||||
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
|
|
||||||
echo "Running gettextize... Ignore non-fatal messages."
|
|
||||||
echo "no" | gettextize --force --copy
|
|
||||||
echo "Making $dr/aclocal.m4 writable ..."
|
|
||||||
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if grep "^AM_GNOME_GETTEXT" configure.ac >/dev/null; then
|
|
||||||
echo "Creating $dr/aclocal.m4 ..."
|
|
||||||
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
|
|
||||||
echo "Running gettextize... Ignore non-fatal messages."
|
|
||||||
echo "no" | gettextize --force --copy
|
|
||||||
echo "Making $dr/aclocal.m4 writable ..."
|
|
||||||
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
|
|
||||||
fi
|
|
||||||
echo "Running aclocal $aclocalinclude ..."
|
|
||||||
aclocal $aclocalinclude
|
|
||||||
if grep "^A[CM]_PROG_LIBTOOL" configure.ac >/dev/null; then
|
|
||||||
echo "Running libtoolize..."
|
|
||||||
${LIBTOOLIZE} --force --copy
|
|
||||||
fi
|
|
||||||
if grep "^A[CM]_CONFIG_HEADER" configure.ac >/dev/null; then
|
|
||||||
echo "Running autoheader..."
|
|
||||||
autoheader
|
|
||||||
fi
|
|
||||||
echo "Running automake --gnu $am_opt ..."
|
|
||||||
automake --add-missing --gnu --copy $am_opt
|
|
||||||
echo "Running autoconf ..."
|
|
||||||
autoconf
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
#conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c
|
|
||||||
|
|
||||||
if test x$NOCONFIGURE = x; then
|
|
||||||
echo Running $srcdir/configure $conf_flags "$@" ...
|
|
||||||
$srcdir/configure $conf_flags "$@" \
|
|
||||||
&& echo Now type \`make\' to compile $PKG_NAME
|
|
||||||
else
|
|
||||||
echo Skipping configure process.
|
|
||||||
fi
|
|
||||||
Reference in New Issue
Block a user