build: add autotools build system
This commit is contained in:
parent
adf84ccb8e
commit
04e067875a
6 changed files with 96 additions and 0 deletions
13
Makefile.am
Normal file
13
Makefile.am
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
|
||||||
|
SUBDIRS = src example
|
||||||
|
|
||||||
|
if BUILD_TESTS
|
||||||
|
SUBDIRS += tests
|
||||||
|
endif
|
||||||
|
|
||||||
|
pkgincludedir = $(includedir)/cli
|
||||||
|
pkginclude_HEADERS = \
|
||||||
|
include/cli.h \
|
||||||
|
include/cli_parse_utils.h \
|
||||||
|
include/compiler.h
|
||||||
3
autogen.sh
Executable file
3
autogen.sh
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
autoreconf --install --verbose
|
||||||
47
configure.ac
Normal file
47
configure.ac
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
AC_PREREQ([2.69])
|
||||||
|
AC_INIT([libcli], [0.1.0], [])
|
||||||
|
AC_CONFIG_AUX_DIR([build-aux])
|
||||||
|
AC_CONFIG_MACRO_DIRS([m4])
|
||||||
|
AM_INIT_AUTOMAKE([foreign -Wall -Werror subdir-objects])
|
||||||
|
AC_PROG_CC
|
||||||
|
AM_PROG_AR
|
||||||
|
|
||||||
|
LT_PREREQ([2.2])
|
||||||
|
LT_INIT
|
||||||
|
|
||||||
|
# --enable-tests
|
||||||
|
AC_ARG_ENABLE([tests],
|
||||||
|
[AS_HELP_STRING([--enable-tests], [Build Criterion unit tests (default: no)])],
|
||||||
|
[enable_tests=$enableval],
|
||||||
|
[enable_tests=no])
|
||||||
|
|
||||||
|
AM_CONDITIONAL([BUILD_TESTS], [test "x$enable_tests" = "xyes"])
|
||||||
|
|
||||||
|
AS_IF([test "x$enable_tests" = "xyes"], [
|
||||||
|
PKG_CHECK_MODULES([CRITERION], [criterion], [], [
|
||||||
|
AC_MSG_NOTICE([pkg-config could not find criterion -- trying manual detection])
|
||||||
|
AC_CHECK_HEADER([criterion/criterion.h], [], [
|
||||||
|
AC_MSG_ERROR([criterion/criterion.h not found])])
|
||||||
|
AC_CHECK_LIB([criterion], [main],
|
||||||
|
[CRITERION_LIBS="-lcriterion"],
|
||||||
|
[AC_MSG_ERROR([libcriterion not found])])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_CONFIG_FILES([
|
||||||
|
Makefile
|
||||||
|
src/Makefile
|
||||||
|
tests/Makefile
|
||||||
|
example/Makefile
|
||||||
|
])
|
||||||
|
AC_OUTPUT
|
||||||
|
|
||||||
|
AC_MSG_NOTICE([
|
||||||
|
|
||||||
|
libcli $VERSION
|
||||||
|
---------------
|
||||||
|
prefix : $prefix
|
||||||
|
CC : $CC
|
||||||
|
CFLAGS : $CFLAGS
|
||||||
|
tests : $enable_tests
|
||||||
|
])
|
||||||
6
example/Makefile.am
Normal file
6
example/Makefile.am
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
noinst_PROGRAMS = greet
|
||||||
|
|
||||||
|
greet_SOURCES = main.c
|
||||||
|
greet_CPPFLAGS = -I$(top_srcdir)/include
|
||||||
|
greet_CFLAGS = -std=c99 -Wall -Wextra
|
||||||
|
greet_LDADD = $(top_builddir)/src/libcli.la
|
||||||
12
src/Makefile.am
Normal file
12
src/Makefile.am
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
lib_LTLIBRARIES = libcli.la
|
||||||
|
|
||||||
|
libcli_la_SOURCES = \
|
||||||
|
parse.c \
|
||||||
|
parse_utils/parse_int.c \
|
||||||
|
parse_utils/parse_float.c
|
||||||
|
|
||||||
|
libcli_la_CPPFLAGS = -I$(top_srcdir)/include
|
||||||
|
libcli_la_CFLAGS = -std=c99 -Wall -Wextra
|
||||||
|
|
||||||
|
# Libtool versioning: current:revision:age
|
||||||
|
libcli_la_LDFLAGS = -version-info 0:1:0
|
||||||
15
tests/Makefile.am
Normal file
15
tests/Makefile.am
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
AM_CPPFLAGS = -I$(top_srcdir)/include $(CRITERION_CFLAGS)
|
||||||
|
AM_CFLAGS = -std=c99
|
||||||
|
|
||||||
|
check_PROGRAMS = test_cli
|
||||||
|
|
||||||
|
test_cli_SOURCES = \
|
||||||
|
test_main.c \
|
||||||
|
parse_utils/test_parse_int.c \
|
||||||
|
parse_utils/test_parse_float.c
|
||||||
|
|
||||||
|
test_cli_LDADD = \
|
||||||
|
$(top_builddir)/src/libcli.la \
|
||||||
|
$(CRITERION_LIBS)
|
||||||
|
|
||||||
|
TESTS = test_cli
|
||||||
Loading…
Add table
Reference in a new issue