mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-10-07 16:14:04 +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
|
||||
doc/*.1
|
||||
INSTALL
|
||||
include/config.h
|
||||
include/config.h.in
|
||||
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
|
||||
=============
|
||||
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
|
||||
is now available: libmdbodbcW.so
|
||||
Note that libmdbodbc supports UTF-8 really well, so that this is usually not
|
||||
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
|
||||
===========
|
||||
The organization of the project files has changed a bit from that last release.
|
||||
|
101
README
101
README
@@ -6,8 +6,26 @@ pieces are:
|
||||
|
||||
. libmdb - the core library that allows access to MDB files programatically.
|
||||
. libmdbsql - builds on libmdb to provide a SQL engine (aka Jet)
|
||||
. utils - provides command line utilities to list tables, export schema,
|
||||
and data, show the version of the files, and other useful stuff.
|
||||
. utils - provides command line 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).
|
||||
- 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
|
||||
get results.
|
||||
. odbc - An ODBC driver for use with unixODBC or iODBC driver manager.
|
||||
@@ -20,16 +38,83 @@ where the code stands and what has been gleened of the file format.
|
||||
|
||||
The initial goal of these tools is to be able to extract data structures and
|
||||
data from mdb files. This goal will of course expand over time as the file
|
||||
format becomes more well understood.
|
||||
format becomes more well understood.
|
||||
|
||||
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
|
||||
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
|
||||
respectively.
|
||||
|
||||
To install see the INSTALL file
|
||||
|
||||
Check out https://github.com/brianb/mdbtools for latest version of sources.
|
||||
Check out http://mdbtools.sourceforge.net for mailing list and similar.
|
||||
Requirements:
|
||||
=============
|
||||
|
||||
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.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