diff --git a/Makefile.am b/Makefile.am index c5c0b579..a389ebe7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,30 +1,25 @@ MAINTAINERCLEANFILES = Makefile.in aclocal.m4 configure depcomp \ config.guess config.sub missing install-sh \ ltmain.sh compile config.h.in config.h.in~ \ autoscan.log configure.scan AUTOMAKE_OPTIONS = foreign ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = libtap libknet libvty kronosnetd tests +SUBDIRS = libtap libknet kronosnetd tests if BUILD_DOCS SUBDIRS += docs endif -AM_CFLAGS = \ - -I$(top_srcdir)/libtap \ - -I$(top_srcdir)/libknet \ - -I$(top_srcdir)/libvty - dist_doc_DATA = \ COPYING.applications \ COPYING.libraries \ COPYRIGHT \ README.licence \ README \ TODO maintainer-clean-local: rm -rf m4 diff --git a/configure.ac b/configure.ac index 783f3dc6..e6a5f32d 100644 --- a/configure.ac +++ b/configure.ac @@ -1,292 +1,290 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ([2.63]) AC_INIT([kronosnetd], [0.1], [fabbione@kronosnet.org]) AM_INIT_AUTOMAKE([1.11.1 dist-bzip2 dist-xz color-tests -Wno-portability]) LT_PREREQ([2.2.6]) LT_INIT AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([kronosnetd/main.c]) AC_CONFIG_HEADERS([config.h]) AC_CANONICAL_HOST AC_PROG_LIBTOOL AC_LANG([C]) if test "$prefix" = "NONE"; then prefix="/usr" if test "$localstatedir" = "\${prefix}/var"; then localstatedir="/var" fi if test "$sysconfdir" = "\${prefix}/etc"; then sysconfdir="/etc" fi fi # Checks for programs. if ! ${MAKE-make} --version /cannot/make/this >/dev/null 2>&1; then AC_MSG_ERROR(["you don't seem to have GNU make; it is required"]) fi AC_PROG_CC AM_PROG_CC_C_O AC_PROG_LN_S AC_PROG_INSTALL AC_PROG_MAKE_SET AC_PROG_CXX AC_PROG_RANLIB AC_CHECK_PROGS([PUBLICAN], [publican], [:]) AC_CHECK_PROGS([PKGCONFIG], [pkg-config]) ## local helper functions # this function checks if CC support options passed as # args. Global CFLAGS are ignored during this test. cc_supports_flag() { saveCPPFLAGS="$CPPFLAGS" CPPFLAGS="$@" AC_MSG_CHECKING([whether $CC supports "$@"]) AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])], [RC=0; AC_MSG_RESULT([yes])], [RC=1; AC_MSG_RESULT([no])]) CPPFLAGS="$saveCPPFLAGS" return $RC } # helper macro to check libs without adding them to LIBS check_lib_no_libs() { lib_no_libs_arg1=$1 shift lib_no_libs_arg2=$1 shift lib_no_libs_args=$@ AC_CHECK_LIB([$lib_no_libs_arg1], [$lib_no_libs_arg2],,, [$lib_no_libs_args]) LIBS=$ac_check_lib_save_LIBS } # Checks for C features AC_C_INLINE # Checks for libraries. AC_CHECK_LIB([pthread], [pthread_create]) AC_CHECK_LIB([rt], [clock_gettime]) PKG_CHECK_MODULES([nss],[nss]) PKG_CHECK_MODULES([LIBQB], [libqb]) AC_CHECK_LIB([qb], [qb_log_thread_priority_set], [have_qb_log_thread_priority_set="yes"], [have_qb_log_thread_priority_set="no"]) if test "x${have_qb_log_thread_priority_set}" = xyes; then AC_DEFINE_UNQUOTED([HAVE_QB_LOG_THREAD_PRIORITY_SET], 1, [have qb_log_thread_priority_set]) fi # Checks for header files. AC_CHECK_HEADERS([fcntl.h]) AC_CHECK_HEADERS([stdlib.h]) AC_CHECK_HEADERS([string.h]) AC_CHECK_HEADERS([sys/ioctl.h]) AC_CHECK_HEADERS([syslog.h]) AC_CHECK_HEADERS([unistd.h]) AC_CHECK_HEADERS([netinet/in.h]) AC_CHECK_HEADERS([sys/socket.h]) AC_CHECK_HEADERS([arpa/inet.h]) AC_CHECK_HEADERS([netdb.h]) AC_CHECK_HEADERS([limits.h]) # Checks for typedefs, structures, and compiler characteristics. AC_TYPE_SIZE_T AC_TYPE_PID_T AC_TYPE_SSIZE_T AC_TYPE_UINT8_T AC_TYPE_UINT16_T AC_TYPE_UINT32_T # Checks for library functions. AC_FUNC_ALLOCA AC_FUNC_FORK AC_FUNC_MALLOC AC_FUNC_REALLOC AC_CHECK_FUNCS([memset]) AC_CHECK_FUNCS([strdup]) AC_CHECK_FUNCS([strerror]) AC_CHECK_FUNCS([dup2]) AC_CHECK_FUNCS([select]) AC_CHECK_FUNCS([socket]) AC_CHECK_FUNCS([inet_ntoa]) AC_CHECK_FUNCS([memmove]) AC_CHECK_FUNCS([strchr]) AC_CHECK_FUNCS([atexit]) AC_CHECK_FUNCS([ftruncate]) AC_CHECK_FUNCS([strrchr]) AC_CHECK_FUNCS([strstr]) AC_CHECK_FUNCS([clock_gettime]) # PAM check AC_CHECK_HEADERS([security/pam_appl.h], [AC_CHECK_LIB([pam], [pam_start])], [AC_MSG_ERROR([Unable to find LinuxPAM devel files])]) AC_CHECK_HEADERS([security/pam_misc.h], [AC_CHECK_LIB([pam_misc], [misc_conv])], [AC_MSG_ERROR([Unable to find LinuxPAM MISC devel files])]) # local options AC_ARG_ENABLE([debug], [ --enable-debug enable debug build. ], [ default="no" ]) AC_ARG_ENABLE([publicandocs], [ --enable-publicandocs enable docs build. ], [ default="no" ]) AC_ARG_WITH([syslogfacility], [ --with-syslogfacility=FACILITY default syslog facility. ], [ SYSLOGFACILITY="$withval" ], [ SYSLOGFACILITY="LOG_DAEMON" ]) AC_ARG_WITH([sysloglevel], [ --with-sysloglevel=LEVEL default syslog level. ], [ SYSLOGLEVEL="$withval" ], [ SYSLOGLEVEL="LOG_INFO" ]) AC_ARG_WITH([defaultadmgroup], [ --with-defaultadmgroup=GROUP define PAM group. Users part of this group will be allowed to configure kronosnet. Others will only receive read-only rights. ], [ DEFAULTADMGROUP="$withval" ], [ DEFAULTADMGROUP="kronosnetadm" ]) ## random vars LOGDIR=${localstatedir}/log/ RUNDIR=${localstatedir}/run/ DEFAULT_CONFIG_DIR=${sysconfdir}/kronosnet ## do subst AM_CONDITIONAL([BUILD_DOCS], [test "x${enable_publicandocs}" = xyes]) AC_SUBST([DEFAULT_CONFIG_DIR]) AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_DIR], ["$(eval echo ${DEFAULT_CONFIG_DIR})"], [Default config directory]) AC_DEFINE_UNQUOTED([DEFAULT_CONFIG_FILE], ["$(eval echo ${DEFAULT_CONFIG_DIR}/kronosnetd.conf)"], [Default config file]) AC_DEFINE_UNQUOTED([LOGDIR], ["$(eval echo ${LOGDIR})"], [Default logging directory]) AC_DEFINE_UNQUOTED([DEFAULT_LOG_FILE], ["$(eval echo ${LOGDIR}/kronosnetd.log)"], [Default log file]) AC_DEFINE_UNQUOTED([RUNDIR], ["$(eval echo ${RUNDIR})"], [Default run directory]) AC_DEFINE_UNQUOTED([SYSLOGFACILITY], [$(eval echo ${SYSLOGFACILITY})], [Default syslog facility]) AC_DEFINE_UNQUOTED([SYSLOGLEVEL], [$(eval echo ${SYSLOGLEVEL})], [Default syslog level]) AC_DEFINE_UNQUOTED([DEFAULTADMGROUP], ["$(eval echo ${DEFAULTADMGROUP})"], [Default admin group]) ## *FLAGS handling ENV_CFLAGS="$CFLAGS" ENV_CPPFLAGS="$CPPFLAGS" ENV_LDFLAGS="$LDFLAGS" # debug build stuff if test "x${enable_debug}" = xyes; then AC_DEFINE_UNQUOTED([DEBUG], [1], [Compiling Debugging code]) OPT_CFLAGS="-O0" else OPT_CFLAGS="-O3" fi # gdb flags if test "x${GCC}" = xyes; then GDB_FLAGS="-ggdb3" else GDB_FLAGS="-g" fi # extra warnings EXTRA_WARNINGS="" WARNLIST=" all shadow missing-prototypes missing-declarations strict-prototypes declaration-after-statement pointer-arith write-strings cast-align bad-function-cast missing-format-attribute format=2 format-security format-nonliteral no-long-long unsigned-char gnu89-inline no-strict-aliasing error address cpp enum-compare overflow parentheses sequence-point switch uninitialized unused-but-set-variable unused-function unused-result unused-value unused-variable " for j in $WARNLIST; do if cc_supports_flag -W$j; then EXTRA_WARNINGS="$EXTRA_WARNINGS -W$j"; fi done CFLAGS="$ENV_CFLAGS $lt_prog_compiler_pic $OPT_CFLAGS $GDB_FLAGS \ $EXTRA_WARNINGS $WERROR_CFLAGS" CPPFLAGS="$ENV_CPPFLAGS" LDFLAGS="$ENV_LDFLAGS $lt_prog_compiler_pic" AC_CONFIG_FILES([ Makefile libtap/Makefile libtap/libtap.pc kronosnetd/Makefile libknet/Makefile libknet/libknet.pc - libvty/Makefile - libvty/libvty.pc docs/Makefile tests/Makefile ]) AC_OUTPUT diff --git a/kronosnetd/Makefile.am b/kronosnetd/Makefile.am index b91e1bbd..6fed5491 100644 --- a/kronosnetd/Makefile.am +++ b/kronosnetd/Makefile.am @@ -1,25 +1,35 @@ MAINTAINERCLEANFILES = Makefile.in noinst_HEADERS = \ cfg.h \ - logging.h + logging.h \ + netutils.h \ + vty.h \ + vty_auth.h \ + vty_cli.h \ + vty_cli_cmds.h \ + vty_utils.h sbin_PROGRAMS = kronosnetd kronosnetd_SOURCES = \ cfg.c \ main.c \ - logging.c + logging.c \ + netutils.c \ + vty.c \ + vty_auth.c \ + vty_cli.c \ + vty_cli_cmds.c \ + vty_utils.c kronosnetd_CPPFLAGS = \ -I$(top_srcdir)/libtap \ - -I$(top_srcdir)/libknet \ - -I$(top_srcdir)/libvty + -I$(top_srcdir)/libknet kronosnetd_CFLAGS = $(LIBQB_CFLAGS) kronosnetd_LDADD = \ - $(top_builddir)/libvty/libvty.a \ $(top_builddir)/libknet/libknet.a \ $(top_builddir)/libtap/libtap.la \ $(LIBQB_LIBS) diff --git a/libvty/netutils.c b/kronosnetd/netutils.c similarity index 100% rename from libvty/netutils.c rename to kronosnetd/netutils.c diff --git a/libvty/netutils.h b/kronosnetd/netutils.h similarity index 100% rename from libvty/netutils.h rename to kronosnetd/netutils.h diff --git a/libvty/vty.c b/kronosnetd/vty.c similarity index 100% rename from libvty/vty.c rename to kronosnetd/vty.c diff --git a/libvty/vty.h b/kronosnetd/vty.h similarity index 100% rename from libvty/vty.h rename to kronosnetd/vty.h diff --git a/libvty/vty_auth.c b/kronosnetd/vty_auth.c similarity index 100% rename from libvty/vty_auth.c rename to kronosnetd/vty_auth.c diff --git a/libvty/vty_auth.h b/kronosnetd/vty_auth.h similarity index 100% rename from libvty/vty_auth.h rename to kronosnetd/vty_auth.h diff --git a/libvty/vty_cli.c b/kronosnetd/vty_cli.c similarity index 100% rename from libvty/vty_cli.c rename to kronosnetd/vty_cli.c diff --git a/libvty/vty_cli.h b/kronosnetd/vty_cli.h similarity index 100% rename from libvty/vty_cli.h rename to kronosnetd/vty_cli.h diff --git a/libvty/vty_cli_cmds.c b/kronosnetd/vty_cli_cmds.c similarity index 100% rename from libvty/vty_cli_cmds.c rename to kronosnetd/vty_cli_cmds.c diff --git a/libvty/vty_cli_cmds.h b/kronosnetd/vty_cli_cmds.h similarity index 100% rename from libvty/vty_cli_cmds.h rename to kronosnetd/vty_cli_cmds.h diff --git a/libvty/vty_test.c b/kronosnetd/vty_test.c similarity index 100% rename from libvty/vty_test.c rename to kronosnetd/vty_test.c diff --git a/libvty/vty_utils.c b/kronosnetd/vty_utils.c similarity index 100% rename from libvty/vty_utils.c rename to kronosnetd/vty_utils.c diff --git a/libvty/vty_utils.h b/kronosnetd/vty_utils.h similarity index 100% rename from libvty/vty_utils.h rename to kronosnetd/vty_utils.h diff --git a/libvty/Makefile.am b/libvty/Makefile.am deleted file mode 100644 index 6dfc8b97..00000000 --- a/libvty/Makefile.am +++ /dev/null @@ -1,24 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -AM_CFLAGS = \ - -I$(top_srcdir)/libtap \ - -I$(top_srcdir)/libknet \ - -I$(top_srcdir)/kronosnetd - -noinst_HEADERS = \ - vty.h \ - vty_auth.h \ - vty_cli.h \ - vty_cli_cmds.h \ - vty_utils.h \ - netutils.h - -noinst_LIBRARIES = libvty.a - -libvty_a_SOURCES = \ - vty.c \ - vty_auth.c \ - vty_cli.c \ - vty_cli_cmds.c \ - vty_utils.c \ - netutils.c diff --git a/libvty/libvty.pc.in b/libvty/libvty.pc.in deleted file mode 100644 index c4b69400..00000000 --- a/libvty/libvty.pc.in +++ /dev/null @@ -1,11 +0,0 @@ -prefix=@prefix@ -exec_prefix=${prefix} -libdir=@libdir@ -includedir=${prefix}/include - -Name: libvty -Version: @VERSION@ -Description: vty library -Requires: -Libs: -L${libdir} -lpthread -Cflags: -I${includedir} diff --git a/tests/Makefile.am b/tests/Makefile.am index 3edd6afc..23f9a910 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,46 +1,46 @@ MAINTAINERCLEANFILES = Makefile.in VALGRIND = valgrind -q --error-exitcode=127 --track-fds=yes --leak-check=full HELGRIND = valgrind -v --tool=helgrind check-valgrind: $(check_PROGRAMS) $(MAKE) TESTS_ENVIRONMENT="$(VALGRIND)" check check-helgrind: $(check_PROGRAMS) $(MAKE) TESTS_ENVIRONMENT="$(HELGRIND)" check noinst_PROGRAMS = \ ping_test \ khandle_test \ lookup_bench \ $(check_PROGRAMS) check_PROGRAMS = \ netutils_test \ listener_test \ timediff_test TESTS = $(check_PROGRAMS) AM_CPPFLAGS = -DTEST \ - -I$(srcdir)/../ \ -I$(srcdir)/../libtap/ \ -I$(srcdir)/../libknet/ \ - -I$(srcdir)/../libvty/ + -I$(srcdir)/../kronosnetd/ AM_LDFLAGS = \ $(top_builddir)/libtap/libtap.la \ - $(top_builddir)/libknet/libknet.a \ - $(top_builddir)/libvty/libvty.a + $(top_builddir)/libknet/libknet.a ping_test_SOURCES = ping_test.c khandle_test_SOURCES = khandle_test.c -lookup_bench_SOURCES = lookup_bench.c +lookup_bench_SOURCES = lookup_bench.c \ + $(srcdir)/../kronosnetd/netutils.c listener_test_SOURCES = listener_test.c -netutils_test_SOURCES = netutils_test.c +netutils_test_SOURCES = netutils_test.c \ + $(srcdir)/../kronosnetd/netutils.c timediff_test_SOURCES = timediff_test.c