Switch to autoconf/automake/libtool.
libtool is included as future preparation for exporting a library.
This commit is contained in:
parent
32043a11c3
commit
e1e9c6558c
15
.gitignore
vendored
15
.gitignore
vendored
@ -2,10 +2,23 @@
|
||||
*.o
|
||||
*.output
|
||||
|
||||
Makefile.in
|
||||
|
||||
sql.tab.*
|
||||
sql.lex.h
|
||||
sql.c
|
||||
sql
|
||||
|
||||
push
|
||||
libtool
|
||||
configure
|
||||
stamp-h1
|
||||
autom4te.cache/
|
||||
.deps/
|
||||
aclocal.m4
|
||||
config.log
|
||||
config.status
|
||||
|
||||
libsqlpars-uninstalled.pc
|
||||
libsqlpars.pc
|
||||
sqlpars-config.h*
|
||||
|
||||
|
40
Makefile
40
Makefile
@ -1,40 +0,0 @@
|
||||
# $Header: /home/johnl/flnb/code/sql/RCS/Makefile,v 2.1 2009/11/08 02:53:39 johnl Exp $
|
||||
# Companion source code for "flex & bison", published by O'Reilly
|
||||
# Media, ISBN 978-0-596-15597-1
|
||||
# Copyright (c) 2009, Taughannock Networks. All rights reserved.
|
||||
# See the README file for license conditions and contact info.
|
||||
|
||||
CC = gcc -Wall -O -g
|
||||
LEX = flex
|
||||
YACC = bison
|
||||
CFLAGS = -DYYDEBUG=1
|
||||
|
||||
PROGRAMS = sql
|
||||
|
||||
all: ${PROGRAMS}
|
||||
|
||||
# chapter 4
|
||||
|
||||
OBJS = sql.o sql.tab.o exec.o
|
||||
|
||||
sql: ${OBJS} sql-parser.h
|
||||
${CC} -o $@ ${OBJS}
|
||||
|
||||
sql.tab.c sql.tab.h: sql.y
|
||||
${YACC} -vd sql.y
|
||||
|
||||
sql.c: sql.l
|
||||
${LEX} -o $@ $<
|
||||
|
||||
sql.o: sql.c sql.tab.h
|
||||
|
||||
clean:
|
||||
rm -f sql sql.tab.c sql.tab.h sql.lex.h sql.c ${OBJS} \
|
||||
sql.output
|
||||
|
||||
.SUFFIXES: .l .y .c
|
||||
|
||||
exec.o: exec.c sql-parser.h
|
||||
sql.o: sql-parser.h
|
||||
sql.tab.o: sql-parser.h
|
||||
|
26
Makefile.am
Normal file
26
Makefile.am
Normal file
@ -0,0 +1,26 @@
|
||||
ACLOCAL_AMFLAGS = -I build-aux/m4
|
||||
|
||||
AM_CFLAGS = -DYYDEBUG=1
|
||||
|
||||
bin_PROGRAMS = sql
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
pkgconfig_DATA = libsqlpars.pc
|
||||
|
||||
# TESTS = test/unitester
|
||||
|
||||
# noinst_PROGRAMS = $(TESTS)
|
||||
EXTRA_DIST=sql.y sql.l
|
||||
|
||||
sql_SOURCES = exec.c sql-parser.h
|
||||
nodist_sql_SOURCES = sql.c sql.tab.c sql.tab.h sql.lex.h
|
||||
|
||||
BUILT_SOURCES = $(nodist_sql_SOURCES)
|
||||
CLEANFILES = $(nodist_sql_SOURCES) sql.output
|
||||
|
||||
sql.tab.c sql.tab.h: sql.y Makefile
|
||||
${BISON} -vd $<
|
||||
|
||||
sql.c sql.lex.h: sql.l Makefile
|
||||
${LEX} -o $@ $<
|
||||
|
9
autogen.sh
Executable file
9
autogen.sh
Executable file
@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
srcdir="$(dirname $0)"
|
||||
cd "$srcdir"
|
||||
if [ -z ${LIBTOOLIZE} ] && GLIBTOOLIZE="`which glibtoolize 2>/dev/null`"; then
|
||||
LIBTOOLIZE="${GLIBTOOLIZE}"
|
||||
export LIBTOOLIZE
|
||||
fi
|
||||
autoreconf --install --force
|
9
build-aux/.gitignore
vendored
Normal file
9
build-aux/.gitignore
vendored
Normal file
@ -0,0 +1,9 @@
|
||||
compile
|
||||
config.guess
|
||||
config.sub
|
||||
depcomp
|
||||
install-sh
|
||||
ltmain.sh
|
||||
missing
|
||||
test-driver
|
||||
ylwrap
|
5
build-aux/m4/.gitignore
vendored
Normal file
5
build-aux/m4/.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
libtool.m4
|
||||
lt~obsolete.m4
|
||||
ltoptions.m4
|
||||
ltsugar.m4
|
||||
ltversion.m4
|
92
configure.ac
Normal file
92
configure.ac
Normal file
@ -0,0 +1,92 @@
|
||||
m4_define([libsqlpars_major_version], [1])
|
||||
m4_define([libsqlpars_minor_version], [0])
|
||||
m4_define([libsqlpars_micro_version], [0])
|
||||
m4_define([libsqlpars_interface_age], [1])
|
||||
# If you need a modifier for the version number.
|
||||
# Normally empty, but can be used to make "fixup" releases.
|
||||
m4_define([libsqlpars_extraversion], [])
|
||||
|
||||
dnl libtool versioning from libsqlpars
|
||||
m4_define([libsqlpars_current], [m4_eval(100 * libsqlpars_minor_version + libsqlpars_micro_version - libsqlpars_interface_age)])
|
||||
m4_define([libsqlpars_binary_age], [m4_eval(100 * libsqlpars_minor_version + libsqlpars_micro_version)])
|
||||
m4_define([libsqlpars_revision], [libsqlpars_interface_age])
|
||||
m4_define([libsqlpars_age], [m4_eval(libsqlpars_binary_age - libsqlpars_interface_age)])
|
||||
m4_define([libsqlpars_version], [libsqlpars_major_version().libsqlpars_minor_version().libsqlpars_micro_version()libsqlpars_extraversion()])
|
||||
|
||||
|
||||
AC_INIT([sqlpars], [0.0.1],
|
||||
[http://github.com/jgarzik/sqlpars/])
|
||||
|
||||
dnl make the compilation flags quiet unless V=1 is used
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||
|
||||
AC_PREREQ(2.60)
|
||||
AC_CONFIG_SRCDIR([exec.c])
|
||||
AC_CONFIG_AUX_DIR([build-aux])
|
||||
AC_CONFIG_MACRO_DIR([build-aux/m4])
|
||||
AC_CONFIG_HEADERS([sqlpars-config.h])
|
||||
AM_INIT_AUTOMAKE([subdir-objects foreign])
|
||||
|
||||
LIBSQLPARS_MAJOR_VERSION=libsqlpars_major_version
|
||||
LIBSQLPARS_MINOR_VERSION=libsqlpars_minor_version
|
||||
LIBSQLPARS_MICRO_VERSION=libsqlpars_micro_version
|
||||
LIBSQLPARS_INTERFACE_AGE=libsqlpars_interface_age
|
||||
|
||||
# ABI version
|
||||
# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
|
||||
LIBSQLPARS_CURRENT=libsqlpars_current
|
||||
LIBSQLPARS_REVISION=libsqlpars_revision
|
||||
LIBSQLPARS_AGE=libsqlpars_age
|
||||
|
||||
AC_SUBST(LIBSQLPARS_CURRENT)
|
||||
AC_SUBST(LIBSQLPARS_REVISION)
|
||||
AC_SUBST(LIBSQLPARS_AGE)
|
||||
|
||||
LT_INIT
|
||||
LT_LANG([C])
|
||||
|
||||
AC_PROG_LEX
|
||||
AC_PROG_YACC
|
||||
AC_CHECK_PROG(BISON, bison, bison, false)
|
||||
|
||||
dnl Coverage
|
||||
AC_MSG_CHECKING([whether to code coverage])
|
||||
AC_ARG_ENABLE([coverage],
|
||||
[AS_HELP_STRING([--enable-coverage],[generate code coverage instrumentation])],
|
||||
[],
|
||||
[enable_coverage=no])
|
||||
AC_MSG_RESULT([$enable_coverage])
|
||||
|
||||
AS_IF([test "$enable_coverage" = "yes"], [
|
||||
AC_PATH_PROG(GCOV, gcov, no)
|
||||
AS_IF([test "$GCOV" = "no"], [
|
||||
AC_MSG_ERROR(gcov tool is not available)])
|
||||
AC_PATH_PROG(LCOV, lcov, no)
|
||||
AS_IF([test "$LCOV" = "no"], [
|
||||
AC_MSG_ERROR(lcov tool is not installed)])
|
||||
CXXFLAGS="$CXXFLAGS -O1 -fprofile-arcs -ftest-coverage"
|
||||
CFLAGS="$CFLAGS -O1 -fprofile-arcs -ftest-coverage"
|
||||
])
|
||||
|
||||
case $host in
|
||||
*mingw*)
|
||||
LIBTOOL_APP_LDFLAGS="$LIBTOOL_APP_LDFLAGS -all-static"
|
||||
;;
|
||||
esac
|
||||
|
||||
BUILD_EXEEXT=
|
||||
case $build in
|
||||
*mingw*)
|
||||
BUILD_EXEEXT=".exe"
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
libsqlpars.pc
|
||||
libsqlpars-uninstalled.pc])
|
||||
|
||||
AC_SUBST(LIBTOOL_APP_LDFLAGS)
|
||||
AC_SUBST(BUILD_EXEEXT)
|
||||
AC_OUTPUT
|
||||
|
9
libsqlpars-uninstalled.pc.in
Normal file
9
libsqlpars-uninstalled.pc.in
Normal file
@ -0,0 +1,9 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: libsqlpars
|
||||
Description: libsqlpars, SQL parser library
|
||||
Version: @VERSION@
|
||||
Libs: ${pc_top_builddir}/${pcfiledir}/libsqlpars.la
|
10
libsqlpars.pc.in
Normal file
10
libsqlpars.pc.in
Normal file
@ -0,0 +1,10 @@
|
||||
prefix=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
libdir=@libdir@
|
||||
includedir=@includedir@
|
||||
|
||||
Name: libsqlpars
|
||||
Description: libsqlpars, SQL parser library
|
||||
Version: @VERSION@
|
||||
Libs: -L${libdir} -lsqlpars
|
||||
Cflags: -I${includedir}
|
Loading…
x
Reference in New Issue
Block a user