Version 2.7

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
This commit is contained in:
Sami Kerola 2008-05-18 00:00:00 +02:00
parent 4f000e7ab6
commit 625cde6b9c
26 changed files with 13445 additions and 1465 deletions

View file

@ -1,22 +0,0 @@
run ./src/dhcpd-pools
run ./src/dhcpd-pools
file ./src/dhcpd-pools
run
help
help options
quit
run gdb.run
quit
run
quit
run
quit
run
quit
run
quit
run
quit
run
quit
quit

View file

@ -1,4 +1,16 @@
2008-05-18 Sami Kerola <kerolasa@iki.fi>
* Some automake files to help make install pass without complains.
* Function names to error messages where they where missing.
* Some sort options where missing from help screen.
* Manual page update.
* Multi key sorting.
* Range flip to support reverse order printing.
* Output function & errno caused FreeBSD-7.0 to exit with error
when there was no trouble.
* Code cleanup.
2008-05-10 Sami Kerola <kerolasa@iki.fi> 2008-05-10 Sami Kerola <kerolasa@iki.fi>
* Release 2.6
* Last version did not follow include directives. * Last version did not follow include directives.
* The dhcpd.conf parser was still quite stupid. * The dhcpd.conf parser was still quite stupid.
* Touched IP counting. * Touched IP counting.

View file

@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am. # Makefile.in generated by automake 1.6.3 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# 2003, 2004, 2005 Free Software Foundation, Inc. # Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -13,176 +13,110 @@
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
@SET_MAKE@ @SET_MAKE@
SHELL = @SHELL@
srcdir = @srcdir@ srcdir = @srcdir@
top_srcdir = @top_srcdir@ top_srcdir = @top_srcdir@
VPATH = @srcdir@ VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include
pkgdatadir = $(datadir)/@PACKAGE@ pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = . top_builddir = .
ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
install_sh_DATA = $(install_sh) -c -m 644 install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_HEADER = $(INSTALL_DATA) INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name) transform = @program_transform_name@
NORMAL_INSTALL = : NORMAL_INSTALL = :
PRE_INSTALL = : PRE_INSTALL = :
POST_INSTALL = : POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ EXEEXT = @EXEEXT@
$(srcdir)/Makefile.in $(srcdir)/config.h.in \ OBJEXT = @OBJEXT@
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ PATH_SEPARATOR = @PATH_SEPARATOR@
THANKS TODO depcomp install-sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@ AWK = @AWK@
CC = @CC@ CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@ PERL = @PERL@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@ STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build_alias = @build_alias@
datadir = @datadir@
dhcpd_conf = @dhcpd_conf@ dhcpd_conf = @dhcpd_conf@
dhcpd_leases = @dhcpd_leases@ dhcpd_leases = @dhcpd_leases@
exec_prefix = @exec_prefix@
host_alias = @host_alias@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@ install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
output_format = @output_format@ output_format = @output_format@
prefix = @prefix@ output_limit = @output_limit@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
AUTOMAKE_OPTIONS = 1.5 gnits AUTOMAKE_OPTIONS = 1.5 gnits
SUBDIRS = src man SUBDIRS = src man
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
DIST_SOURCES =
RECURSIVE_TARGETS = info-recursive dvi-recursive install-info-recursive \
uninstall-info-recursive all-recursive install-data-recursive \
install-exec-recursive installdirs-recursive install-recursive \
uninstall-recursive check-recursive installcheck-recursive
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
Makefile.in NEWS THANKS TODO aclocal.m4 config.h.in configure \
configure.in depcomp install-sh missing mkinstalldirs
DIST_SUBDIRS = $(SUBDIRS)
all: config.h all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive $(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES: .SUFFIXES:
am--refresh:
@: am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) configure.lineno
@for dep in $?; do \ $(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnits '; \
cd $(srcdir) && $(AUTOMAKE) --gnits \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits Makefile'; \
cd $(top_srcdir) && \ cd $(top_srcdir) && \
$(AUTOMAKE) --gnits Makefile $(AUTOMAKE) --gnits Makefile
.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck $(SHELL) ./config.status --recheck
$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
$(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF) cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(ACLOCAL_M4): configure.in
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1 config.h: stamp-h1
@ -194,10 +128,10 @@ config.h: stamp-h1
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
@rm -f stamp-h1 @rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status config.h cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in: $(am__configure_deps)
$(srcdir)/config.h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOHEADER) cd $(top_srcdir) && $(AUTOHEADER)
rm -f stamp-h1 touch $(srcdir)/config.h.in
touch $@
distclean-hdr: distclean-hdr:
-rm -f config.h stamp-h1 -rm -f config.h stamp-h1
@ -210,13 +144,7 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make'); # (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line. # (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS): $(RECURSIVE_TARGETS):
@failcom='exit 1'; \ @set fnord $$MAKEFLAGS; amf=$$2; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \ dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \ target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
@ -228,7 +156,7 @@ $(RECURSIVE_TARGETS):
local_target="$$target"; \ local_target="$$target"; \
fi; \ fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done; \ done; \
if test "$$dot_seen" = "no"; then \ if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
@ -236,13 +164,7 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive clean-recursive distclean-recursive \ mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive: maintainer-clean-recursive:
@failcom='exit 1'; \ @set fnord $$MAKEFLAGS; amf=$$2; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \ dot_seen=no; \
case "$@" in \ case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
@ -263,16 +185,17 @@ maintainer-clean-recursive:
local_target="$$target"; \ local_target="$$target"; \
fi; \ fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
done && test -z "$$fail" done && test -z "$$fail"
tags-recursive: tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \ ETAGS = etags
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ ETAGSFLAGS =
done
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
@ -282,23 +205,14 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \ here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \ fi; \
done; \ done; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
@ -307,24 +221,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
done | \ done | \
$(AWK) ' { files[$$0] = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \ END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -z "$(ETAGS_ARGS)$$tags$$unique" \
test -n "$$unique" || unique=$$empty_fix; \ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique $$tags $$unique
GTAGS: GTAGS:
@ -333,29 +231,34 @@ GTAGS:
&& gtags -i $(GTAGS_ARGS) $$here && gtags -i $(GTAGS_ARGS) $$here
distclean-tags: distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
GZIP_ENV = --best
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES) distdir: $(DISTFILES)
@case `sed 15q $(srcdir)/NEWS` in \ @if sed 15q $(srcdir)/NEWS | fgrep -e "$(VERSION)" >/dev/null; \
*"$(VERSION)"*) : ;; \ then :; else \
*) \
echo "NEWS not updated; not releasing" 1>&2; \ echo "NEWS not updated; not releasing" 1>&2; \
exit 1;; \ exit 1; \
esac fi
$(am__remove_distdir) $(am__remove_distdir)
mkdir $(distdir) mkdir $(distdir)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ @list='$(DISTFILES)'; for file in $$list; do \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \ dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \ $(mkinstalldirs) "$(distdir)$$dir"; \
else \ else \
dir=''; \ dir=''; \
fi; \ fi; \
@ -370,17 +273,15 @@ distdir: $(DISTFILES)
|| exit 1; \ || exit 1; \
fi; \ fi; \
done done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \ if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \ test -d $(distdir)/$$subdir \
|| $(mkdir_p) "$(distdir)/$$subdir" \ || mkdir $(distdir)/$$subdir \
|| exit 1; \ || exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \ (cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \ $(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \ top_distdir="$(top_distdir)" \
distdir="$$distdir/$$subdir" \ distdir=../$(distdir)/$$subdir \
distdir) \ distdir) \
|| exit 1; \ || exit 1; \
fi; \ fi; \
@ -391,54 +292,26 @@ distdir: $(DISTFILES)
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir) || chmod -R a+r $(distdir)
dist-gzip: distdir dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir) $(am__remove_distdir)
dist dist-all: distdir dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir) $(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then # This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another # it guarantees that the distribution is self-contained by making another
# tarfile. # tarfile.
distcheck: dist distcheck: dist
case '$(DIST_ARCHIVES)' in \ $(am__remove_distdir)
*.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir) chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build mkdir $(distdir)/=build
mkdir $(distdir)/_inst mkdir $(distdir)/=inst
chmod a-w $(distdir) chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/=build \
&& cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix=$$dc_install_base \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) dvi \
@ -446,40 +319,23 @@ distcheck: dist
&& $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ && (test `find $$dc_install_base -type f -print | wc -l` -le 1 \
distuninstallcheck \ || { echo "ERROR: files left after uninstall:" ; \
&& chmod -R a-w "$$dc_install_base" \ find $$dc_install_base -type f -print ; \
&& ({ \ exit 1; } >&2 ) \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && rm -f $(distdir).tar.gz \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir) $(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \ @echo "$(distdir).tar.gz is ready for distribution" | \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed 'h;s/./=/g;p;x;p;x'
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean distcleancheck: distclean
@if test '$(srcdir)' = . ; then \ if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \ exit 1 ; \
fi fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \ || { echo "ERROR: files left after distclean:" ; \
$(distcleancheck_listfiles) ; \ $(distcleancheck_listfiles) ; \
exit 1; } >&2 exit 1; } >&2
check-am: all-am check-am: all-am
@ -487,6 +343,7 @@ check: check-recursive
all-am: Makefile config.h all-am: Makefile config.h
installdirs: installdirs-recursive installdirs: installdirs-recursive
installdirs-am: installdirs-am:
install: install-recursive install: install-recursive
install-exec: install-exec-recursive install-exec: install-exec-recursive
install-data: install-data-recursive install-data: install-data-recursive
@ -498,7 +355,7 @@ install-am: all-am
installcheck: installcheck-recursive installcheck: installcheck-recursive
install-strip: install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \ `test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic: mostlyclean-generic:
@ -506,7 +363,7 @@ mostlyclean-generic:
clean-generic: clean-generic:
distclean-generic: distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic: maintainer-clean-generic:
@echo "This command is intended for maintainers to use" @echo "This command is intended for maintainers to use"
@ -517,16 +374,12 @@ clean-am: clean-generic mostlyclean-am
distclean: distclean-recursive distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
-rm -rf autom4te.cache
distclean-am: clean-am distclean-generic distclean-hdr distclean-tags distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
dvi: dvi-recursive dvi: dvi-recursive
dvi-am: dvi-am:
html: html-recursive
info: info-recursive info: info-recursive
info-am: info-am:
@ -543,40 +396,32 @@ installcheck-am:
maintainer-clean: maintainer-clean-recursive maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache -rm -rf autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-am: mostlyclean-generic
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ .PHONY: $(RECURSIVE_TARGETS) GTAGS all all-am check check-am clean \
check-am clean clean-generic clean-recursive ctags \ clean-generic clean-recursive dist dist-all dist-gzip distcheck \
ctags-recursive dist dist-all dist-bzip2 dist-gzip dist-shar \ distclean distclean-generic distclean-hdr distclean-recursive \
dist-tarZ dist-zip distcheck distclean distclean-generic \ distclean-tags distcleancheck distdir dvi dvi-am dvi-recursive \
distclean-hdr distclean-recursive distclean-tags \ info info-am info-recursive install install-am install-data \
distcleancheck distdir distuninstallcheck dvi dvi-am html \ install-data-am install-data-recursive install-exec \
html-am info info-am install install-am install-data \ install-exec-am install-exec-recursive install-info \
install-data-am install-exec install-exec-am install-info \ install-info-am install-info-recursive install-man \
install-info-am install-man install-strip installcheck \ install-recursive install-strip installcheck installcheck-am \
installcheck-am installdirs installdirs-am maintainer-clean \ installdirs installdirs-am installdirs-recursive \
maintainer-clean-generic maintainer-clean-recursive \ maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-recursive pdf \ maintainer-clean-recursive mostlyclean mostlyclean-generic \
pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ mostlyclean-recursive tags tags-recursive uninstall \
uninstall-info-am uninstall-am uninstall-info-am uninstall-info-recursive \
uninstall-recursive
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.

16
NEWS
View file

@ -1,10 +1,21 @@
dhcpd-pools -- History of visible changes. dhcpd-pools -- History of visible changes.
Copyright (C) 2006, Sami Kerola <kerolasa@iki.fi> Copyright (C) 2006- Sami Kerola <kerolasa@iki.fi>
See the end for copying conditions. See the end for copying conditions.
Please send dhcpd-pools bug reports to kerolasa@iki.fi. Please send dhcpd-pools bug reports to kerolasa@iki.fi.
Version 2.7
* Some automake files to help make install pass without complains.
* Function names to error messages where they where missing.
* Some sort options where missing from help screen.
* Manual page update.
* Multi key sorting.
* Range flip to support reverse order printing.
* Output function & errno caused FreeBSD-7.0 to exit with error
when there was no trouble.
* Code cleanup.
Version 2.6 Version 2.6
* I forgot to follow include when I rewrote dhcpd.conf parser. * I forgot to follow include when I rewrote dhcpd.conf parser.
@ -16,7 +27,7 @@ Version 2.5
* Feature: * Feature:
* Reverse order sorting * Reverse order sorting
* Option parsing fixed. * Option parsing fixed.
* FreeBSD-7.0 output did not work. * FreeBSD-7.0 output to file did not work.
* Completely new dhcpd.conf parser. * Completely new dhcpd.conf parser.
Version 2.4 Version 2.4
@ -65,4 +76,3 @@ Copyright (C) 2006, Sami Kerola <kerolasa@iki.fi>
document, or of portions of it, under the above conditions, document, or of portions of it, under the above conditions,
provided also that they carry prominent notices stating who provided also that they carry prominent notices stating who
last changed them. last changed them.

15
TODO
View file

@ -3,17 +3,11 @@
* Memory allocations to such that recopilation is _never_ needed. * Memory allocations to such that recopilation is _never_ needed.
* Bad english to good english translation in all files that * Bad english to good english translation in all files that
author has touched. Help needed! author has touched. Help needed!
* Count of touched IPs IE the ones which are leased some time and * Shared network sorting. Actual data must not be sorted, but perhaps
currently marked as free. Knowing number of these should sorting pointer array might work. That means writing sort
give idea about possible peak value of reservations. Highly functions and rewrite ouput functions. Don't expect soon.
unscientific thou.
* Output sorting should sort also shared networks to in use, perscent
etc order.
* Check comments, variable names etc so that the code makes more sense.
* More ./configure options.
* Touched IP output sort.
* All networks analyse.c semantics problem. * All networks analyse.c semantics problem.
* Template based html page. * More ./configure options.
@ version 3.x (not coming soon) @ version 3.x (not coming soon)
@ -21,5 +15,6 @@
* Convert program to snmp subagent daemon. * Convert program to snmp subagent daemon.
* Analysis caching. * Analysis caching.
* Threshold values -> alarming possibility by snmp traps. * Threshold values -> alarming possibility by snmp traps.
* Template based html page.
</Todo> </Todo>

1328
aclocal.m4 vendored

File diff suppressed because it is too large Load diff

5723
autom4te.cache/output.0 Normal file

File diff suppressed because it is too large Load diff

116
autom4te.cache/requests Normal file
View file

@ -0,0 +1,116 @@
# This file was generated.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@request = (
bless( [
'0',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'aclocal.m4',
'configure.in'
],
{
'm4_pattern_forbid' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_C_VOLATILE' => 1,
'AC_FUNC_CLOSEDIR_VOID' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_STAT' => 1,
'AC_HEADER_TIME' => 1,
'AC_FUNC_WAIT3' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_STRUCT_TM' => 1,
'AC_FUNC_LSTAT' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_CHECK_HEADERS' => 1,
'AC_FUNC_STRNLEN' => 1,
'm4_sinclude' => 1,
'AC_PROG_CXX' => 1,
'AC_PATH_X' => 1,
'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
'AC_PROG_AWK' => 1,
'_m4_warn' => 1,
'AC_HEADER_STDC' => 1,
'AC_HEADER_MAJOR' => 1,
'AC_FUNC_ERROR_AT_LINE' => 1,
'AC_PROG_GCC_TRADITIONAL' => 1,
'AC_LIBSOURCE' => 1,
'AC_FUNC_MBRTOWC' => 1,
'AC_STRUCT_ST_BLOCKS' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_TYPE_UID_T' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'AC_PROG_MAKE_SET' => 1,
'sinclude' => 1,
'm4_pattern_allow' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_PROG_CC' => 1,
'AC_FUNC_FORK' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_PROG_YACC' => 1,
'AC_INIT' => 1,
'AC_STRUCT_TIMEZONE' => 1,
'AC_FUNC_CHOWN' => 1,
'AC_SUBST' => 1,
'AC_FUNC_ALLOCA' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_PROG_RANLIB' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_FUNC_SETPGRP' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AC_FUNC_MMAP' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_TYPE_SIZE_T' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_CHECK_TYPES' => 1,
'AC_CHECK_MEMBERS' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_HEADER_STAT' => 1,
'AC_C_INLINE' => 1,
'AC_PROG_CPP' => 1,
'AC_TYPE_PID_T' => 1,
'AC_C_CONST' => 1,
'AC_PROG_LEX' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_PROG_INSTALL' => 1,
'AM_GNU_GETTEXT' => 1,
'AC_FUNC_OBSTACK' => 1,
'AC_CHECK_LIB' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AH_OUTPUT' => 1,
'AC_FUNC_FSEEKO' => 1,
'AM_PROG_CC_C_O' => 1,
'AM_CONDITIONAL' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AC_FUNC_MEMCMP' => 1,
'AC_PROG_LN_S' => 1,
'm4_include' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_CHECK_FUNCS' => 1
}
], 'Autom4te::Request' )
);

214
autom4te.cache/traces.0 Normal file
View file

@ -0,0 +1,214 @@
m4trace:aclocal.m4:50: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
m4trace:configure.in:5: -1- AC_INIT([dhcpd-pools], [2.7], [kerolasa@iki.fi])
m4trace:configure.in:5: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:5: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:5: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.in:5: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.in:5: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.in:5: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.in:5: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.in:5: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
m4trace:configure.in:5: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.in:5: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.in:5: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.in:5: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.in:5: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.in:5: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.in:5: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.in:5: -1- AC_SUBST([datadir], ['${prefix}/share'])
m4trace:configure.in:5: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.in:5: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.in:5: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.in:5: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.in:5: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.in:5: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.in:5: -1- AC_SUBST([infodir], ['${prefix}/info'])
m4trace:configure.in:5: -1- AC_SUBST([mandir], ['${prefix}/man'])
m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
#undef PACKAGE_NAME])
m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME])
m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
#undef PACKAGE_VERSION])
m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
#undef PACKAGE_STRING])
m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT])
m4trace:configure.in:5: -1- AC_SUBST([build_alias])
m4trace:configure.in:5: -1- AC_SUBST([host_alias])
m4trace:configure.in:5: -1- AC_SUBST([target_alias])
m4trace:configure.in:5: -1- AC_SUBST([DEFS])
m4trace:configure.in:5: -1- AC_SUBST([ECHO_C])
m4trace:configure.in:5: -1- AC_SUBST([ECHO_N])
m4trace:configure.in:5: -1- AC_SUBST([ECHO_T])
m4trace:configure.in:5: -1- AC_SUBST([LIBS])
m4trace:configure.in:7: -1- AM_INIT_AUTOMAKE([1.6 foreign])
m4trace:configure.in:7: -1- AM_AUTOMAKE_VERSION([1.6.3])
m4trace:configure.in:7: -1- AC_PROG_INSTALL
m4trace:configure.in:7: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.in:7: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.in:7: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.in:7: -1- AC_SUBST([PACKAGE], [AC_PACKAGE_TARNAME])
m4trace:configure.in:7: -1- AC_SUBST([VERSION], [AC_PACKAGE_VERSION])
m4trace:configure.in:7: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
m4trace:configure.in:7: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
#undef PACKAGE])
m4trace:configure.in:7: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
m4trace:configure.in:7: -1- AH_OUTPUT([VERSION], [/* Version number of package */
#undef VERSION])
m4trace:configure.in:7: -1- AC_SUBST([ACLOCAL])
m4trace:configure.in:7: -1- AC_SUBST([AUTOCONF])
m4trace:configure.in:7: -1- AC_SUBST([AUTOMAKE])
m4trace:configure.in:7: -1- AC_SUBST([AUTOHEADER])
m4trace:configure.in:7: -1- AC_SUBST([MAKEINFO])
m4trace:configure.in:7: -1- AC_SUBST([AMTAR])
m4trace:configure.in:7: -1- AC_SUBST([install_sh])
m4trace:configure.in:7: -1- AC_SUBST([STRIP])
m4trace:configure.in:7: -1- AC_SUBST([ac_ct_STRIP])
m4trace:configure.in:7: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
m4trace:configure.in:7: -1- AC_PROG_AWK
m4trace:configure.in:7: -1- AC_SUBST([AWK])
m4trace:configure.in:7: -1- AC_PROG_MAKE_SET
m4trace:configure.in:7: -1- AC_SUBST([SET_MAKE])
m4trace:configure.in:9: -1- AC_CONFIG_HEADERS([config.h], [# update the timestamp
echo 'timestamp for config.h' >"_AM_STAMP([config.h])"
], [])
m4trace:configure.in:10: -1- AC_PROG_CC
m4trace:configure.in:10: -1- AC_SUBST([CC])
m4trace:configure.in:10: -1- AC_SUBST([CFLAGS])
m4trace:configure.in:10: -1- AC_SUBST([LDFLAGS])
m4trace:configure.in:10: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:10: -1- AC_SUBST([CC])
m4trace:configure.in:10: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:10: -1- AC_SUBST([CC])
m4trace:configure.in:10: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:10: -1- AC_SUBST([CC])
m4trace:configure.in:10: -1- AC_SUBST([CC])
m4trace:configure.in:10: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:10: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.in:10: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.in:10: -1- AC_SUBST([DEPDIR])
m4trace:configure.in:10: -1- AC_SUBST([am__include])
m4trace:configure.in:10: -1- AC_SUBST([am__quote])
m4trace:configure.in:10: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
m4trace:configure.in:10: -1- AC_SUBST([AMDEP_TRUE])
m4trace:configure.in:10: -1- AC_SUBST([AMDEP_FALSE])
m4trace:configure.in:10: -1- AC_SUBST([AMDEPBACKSLASH])
m4trace:configure.in:10: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
m4trace:configure.in:25: -1- AC_SUBST([dhcpd_conf])
m4trace:configure.in:33: -1- AC_SUBST([dhcpd_leases])
m4trace:configure.in:41: -1- AC_SUBST([output_format])
m4trace:configure.in:49: -1- AC_SUBST([output_limit])
m4trace:configure.in:51: -1- AC_CHECK_FUNCS([getopt_long inet_aton inet_addr], [break])
m4trace:configure.in:51: -1- AH_OUTPUT([HAVE_GETOPT_LONG], [/* Define to 1 if you have the `getopt_long\' function. */
#undef HAVE_GETOPT_LONG])
m4trace:configure.in:51: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */
#undef HAVE_INET_ATON])
m4trace:configure.in:51: -1- AH_OUTPUT([HAVE_INET_ADDR], [/* Define to 1 if you have the `inet_addr\' function. */
#undef HAVE_INET_ADDR])
m4trace:configure.in:53: -1- AC_CHECK_LIB([resolv], [inet_ntoa])
m4trace:configure.in:53: -1- AH_OUTPUT([HAVE_LIBRESOLV], [/* Define to 1 if you have the `resolv\' library (-lresolv). */
#undef HAVE_LIBRESOLV])
m4trace:configure.in:53: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBRESOLV])
m4trace:configure.in:56: -1- AC_CHECK_HEADERS([arpa/inet.h errno.h netinet/in.h stdio.h \
stdlib.h string.h sys/socket.h sys/stat.h sys/types.h unistd.h])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.in:56: -1- AC_HEADER_STDC
m4trace:configure.in:56: -1- AC_PROG_CPP
m4trace:configure.in:56: -1- AC_SUBST([CPP])
m4trace:configure.in:56: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:56: -1- AC_SUBST([CPP])
m4trace:configure.in:56: -1- AC_SUBST([EGREP])
m4trace:configure.in:56: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:56: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS])
m4trace:configure.in:56: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.in:59: -2- AC_DEFINE_TRACE_LITERAL([HAVE_GETOPT_H])
m4trace:configure.in:60: -1- AC_CHECK_HEADERS([getopt.h], [cat >>confdefs.h <<\_ACEOF
@%:@define HAVE_GETOPT_H 1
_ACEOF
], [import_sources="getopt.c getopt1.c $import_sources"])
m4trace:configure.in:60: -1- AH_OUTPUT([HAVE_GETOPT_H], [/* Define to 1 if you have the <getopt.h> header file. */
#undef HAVE_GETOPT_H])
m4trace:configure.in:63: -1- AC_FUNC_ALLOCA
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
m4trace:configure.in:63: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#undef HAVE_ALLOCA_H])
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
m4trace:configure.in:63: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
#undef HAVE_ALLOCA])
m4trace:configure.in:63: -1- AC_LIBSOURCE([alloca.c])
m4trace:configure.in:63: -1- AC_SUBST([ALLOCA], [alloca.$ac_objext])
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
m4trace:configure.in:63: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
#undef C_ALLOCA])
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
m4trace:configure.in:63: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c\' support on those systems.
*/
#undef CRAY_STACKSEG_END])
m4trace:configure.in:63: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
@%:@undef STACK_DIRECTION])
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
m4trace:configure.in:66: -1- AC_SUBST([PERL])
m4trace:configure.in:68: -1- AC_CONFIG_FILES([Makefile man/Makefile src/Makefile])
m4trace:configure.in:70: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:70: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.in:70: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally.], [])
m4trace:configure.in:70: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally.], [])

247
configure vendored
View file

@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for dhcpd-pools 2.6. # Generated by GNU Autoconf 2.59 for dhcpd-pools 2.7.
# #
# Report bugs to <kerolasa@iki.fi>. # Report bugs to <kerolasa@iki.fi>.
# #
@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package. # Identity of this package.
PACKAGE_NAME='dhcpd-pools' PACKAGE_NAME='dhcpd-pools'
PACKAGE_TARNAME='dhcpd-pools' PACKAGE_TARNAME='dhcpd-pools'
PACKAGE_VERSION='2.6' PACKAGE_VERSION='2.7'
PACKAGE_STRING='dhcpd-pools 2.6' PACKAGE_STRING='dhcpd-pools 2.7'
PACKAGE_BUGREPORT='kerolasa@iki.fi' PACKAGE_BUGREPORT='kerolasa@iki.fi'
# Factoring default headers for most tests. # Factoring default headers for most tests.
@ -310,7 +310,7 @@ ac_includes_default="\
# include <unistd.h> # include <unistd.h>
#endif" #endif"
ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE dhcpd_conf dhcpd_leases output_format output_limit CPP EGREP ALLOCA PERL LIBOBJS LTLIBOBJS' ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM AWK SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE dhcpd_conf dhcpd_leases output_format output_limit CPP EGREP ALLOCA PERL LIBOBJS LTLIBOBJS'
ac_subst_files='' ac_subst_files=''
# Initialize some variables set by options. # Initialize some variables set by options.
@ -779,7 +779,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures dhcpd-pools 2.6 to adapt to many kinds of systems. \`configure' configures dhcpd-pools 2.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -841,15 +841,15 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of dhcpd-pools 2.6:";; short | recursive ) echo "Configuration of dhcpd-pools 2.7:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
Optional Features: Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-dependency-tracking speeds up one-time build --disable-dependency-tracking Speeds up one-time builds
--enable-dependency-tracking do not reject slow dependency extractors --enable-dependency-tracking Do not reject slow dependency extractors
Optional Packages: Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@ -967,7 +967,7 @@ fi
test -n "$ac_init_help" && exit 0 test -n "$ac_init_help" && exit 0
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
dhcpd-pools configure 2.6 dhcpd-pools configure 2.7
generated by GNU Autoconf 2.59 generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc. Copyright (C) 2003 Free Software Foundation, Inc.
@ -981,7 +981,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by dhcpd-pools $as_me 2.6, which was It was created by dhcpd-pools $as_me 2.7, which was
generated by GNU Autoconf 2.59. Invocation command line was generated by GNU Autoconf 2.59. Invocation command line was
$ $0 $@ $ $0 $@
@ -1318,7 +1318,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
am__api_version="1.9" am__api_version="1.6"
ac_aux_dir= ac_aux_dir=
for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
if test -f $ac_dir/install-sh; then if test -f $ac_dir/install-sh; then
@ -1481,6 +1481,7 @@ _ACEOF
program_transform_name=`echo $program_transform_name | sed -f conftest.sed` program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
rm conftest.sed rm conftest.sed
# expand $ac_aux_dir to an absolute path # expand $ac_aux_dir to an absolute path
am_aux_dir=`cd $ac_aux_dir && pwd` am_aux_dir=`cd $ac_aux_dir && pwd`
@ -1494,39 +1495,6 @@ else
echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
fi fi
if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
# We used to keeping the `.' as first argument, in order to
# allow $(mkdir_p) to be used without argument. As in
# $(mkdir_p) $(somedir)
# where $(somedir) is conditionally defined. However this is wrong
# for two reasons:
# 1. if the package is installed by a user who cannot write `.'
# make install will fail,
# 2. the above comment should most certainly read
# $(mkdir_p) $(DESTDIR)$(somedir)
# so it does not work when $(somedir) is undefined and
# $(DESTDIR) is not.
# To support the latter case, we have to write
# test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
# so the `.' trick is pointless.
mkdir_p='mkdir -p --'
else
# On NextStep and OpenStep, the `mkdir' command does not
# recognize any option. It will interpret all options as
# directories to create, and then abort because `.' already
# exists.
for d in ./-p ./--version;
do
test -d $d && rmdir $d
done
# $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
if test -f "$ac_aux_dir/mkinstalldirs"; then
mkdir_p='$(mkinstalldirs)'
else
mkdir_p='$(install_sh) -d'
fi
fi
for ac_prog in gawk mawk nawk awk for ac_prog in gawk mawk nawk awk
do do
# Extract the first word of "$ac_prog", so it can be a program name with args. # Extract the first word of "$ac_prog", so it can be a program name with args.
@ -1596,16 +1564,7 @@ echo "${ECHO_T}no" >&6
SET_MAKE="MAKE=${MAKE-make}" SET_MAKE="MAKE=${MAKE-make}"
fi fi
rm -rf .tst 2>/dev/null # test to see if srcdir already configured
mkdir .tst 2>/dev/null
if test -d .tst; then
am__leading_dot=.
else
am__leading_dot=_
fi
rmdir .tst 2>/dev/null
# test to see if srcdir already configured
if test "`cd $srcdir && pwd`" != "`pwd`" && if test "`cd $srcdir && pwd`" != "`pwd`" &&
test -f $srcdir/config.status; then test -f $srcdir/config.status; then
{ { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
@ -1613,19 +1572,9 @@ echo "$as_me: error: source directory already configured; run \"make distclean\"
{ (exit 1); exit 1; }; } { (exit 1); exit 1; }; }
fi fi
# test whether we have cygpath
if test -z "$CYGPATH_W"; then
if (cygpath --version) >/dev/null 2>/dev/null; then
CYGPATH_W='cygpath -w'
else
CYGPATH_W=echo
fi
fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='dhcpd-pools' PACKAGE=dhcpd-pools
VERSION='2.6' VERSION=2.7
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -1653,6 +1602,9 @@ AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
AMTAR=${AMTAR-"${am_missing_run}tar"}
install_sh=${install_sh-"$am_aux_dir/install-sh"} install_sh=${install_sh-"$am_aux_dir/install-sh"}
# Installed binaries are usually stripped using `strip' when the user # Installed binaries are usually stripped using `strip' when the user
@ -1745,19 +1697,16 @@ INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
# We need awk for the "check" target. The system "awk" is bad on # We need awk for the "check" target. The system "awk" is bad on
# some platforms. # some platforms.
# Always define AMTAR for backward compatibility.
AMTAR=${AMTAR-"${am_missing_run}tar"}
am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
# Add the stamp file to the list of files AC keeps track of,
# along with our hook.
ac_config_headers="$ac_config_headers config.h" ac_config_headers="$ac_config_headers config.h"
ac_ext=c ac_ext=c
ac_cpp='$CPP $CPPFLAGS' ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@ -2687,16 +2636,24 @@ ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_compiler_gnu=$ac_cv_c_compiler_gnu
DEPDIR="${am__leading_dot}deps" rm -f .deps 2>/dev/null
mkdir .deps 2>/dev/null
if test -d .deps; then
DEPDIR=.deps
else
# MS-DOS does not allow filenames that begin with a dot.
DEPDIR=_deps
fi
rmdir .deps 2>/dev/null
ac_config_commands="$ac_config_commands depfiles" ac_config_commands="$ac_config_commands depfiles"
am_make=${MAKE-make} am_make=${MAKE-make}
cat > confinc << 'END' cat > confinc << 'END'
am__doit: doit:
@echo done @echo done
.PHONY: am__doit
END END
# If we don't find an include directive, just comment out the code. # If we don't find an include directive, just comment out the code.
echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
@ -2711,7 +2668,7 @@ echo "include confinc" > confmf
# In particular we don't look at `^make:' because GNU make might # In particular we don't look at `^make:' because GNU make might
# be invoked under some other name (usually "gmake"), in which # be invoked under some other name (usually "gmake"), in which
# case it prints its new name instead of `make'. # case it prints its new name instead of `make'.
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then if test "`$am_make -s -f confmf 2> /dev/null | fgrep -v 'ing directory'`" = "done"; then
am__include=include am__include=include
am__quote= am__quote=
_am_result=GNU _am_result=GNU
@ -2771,34 +2728,18 @@ else
# using a relative directory. # using a relative directory.
cp "$am_depcomp" conftest.dir cp "$am_depcomp" conftest.dir
cd conftest.dir cd conftest.dir
# We will build objects and dependencies in a subdirectory because
# it helps to detect inapplicable dependency modes. For instance
# both Tru64's cc and ICC support -MD to output dependencies as a
# side effect of compilation, but ICC will put the dependencies in
# the current directory while Tru64 will put them in the object
# directory.
mkdir sub
am_cv_CC_dependencies_compiler_type=none am_cv_CC_dependencies_compiler_type=none
if test "$am_compiler_list" = ""; then if test "$am_compiler_list" = ""; then
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
fi fi
for depmode in $am_compiler_list; do for depmode in $am_compiler_list; do
# Setup a source with many dependencies, because some compilers
# like to wrap large dependency lists on column 80 (with \), and
# we should not choose a depcomp mode which is confused by this.
#
# We need to recreate these files for each test, as the compiler may # We need to recreate these files for each test, as the compiler may
# overwrite some of them when testing with obscure command lines. # overwrite some of them when testing with obscure command lines.
# This happens at least with the AIX C compiler. # This happens at least with the AIX C compiler.
: > sub/conftest.c echo '#include "conftest.h"' > conftest.c
for i in 1 2 3 4 5 6; do echo 'int i;' > conftest.h
echo '#include "conftst'$i'.h"' >> sub/conftest.c echo "${am__include} ${am__quote}conftest.Po${am__quote}" > confmf
# Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
# Solaris 8's {/usr,}/bin/sh.
touch sub/conftst$i.h
done
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
case $depmode in case $depmode in
nosideeffect) nosideeffect)
@ -2816,25 +2757,13 @@ else
# mode. It turns out that the SunPro C++ compiler does not properly # mode. It turns out that the SunPro C++ compiler does not properly
# handle `-M -o', and we need to detect this. # handle `-M -o', and we need to detect this.
if depmode=$depmode \ if depmode=$depmode \
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ source=conftest.c object=conftest.o \
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ depfile=conftest.Po tmpdepfile=conftest.TPo \
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ $SHELL ./depcomp $depcc -c conftest.c -o conftest.o >/dev/null 2>&1 &&
>/dev/null 2>conftest.err && grep conftest.h conftest.Po > /dev/null 2>&1 &&
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
${MAKE-make} -s -f confmf > /dev/null 2>&1; then ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
# icc doesn't choke on unknown options, it will just issue warnings am_cv_CC_dependencies_compiler_type=$depmode
# or remarks (even with -Werror). So we grep stderr for any message break
# that says an option was ignored or not supported.
# When given -MP, icc 7.0 and 7.1 complain thusly:
# icc: Command line warning: ignoring option '-M'; no argument required
# The diagnosis changed in icc 8.0:
# icc: Command line remark: option '-MP' not supported
if (grep 'ignoring option' conftest.err ||
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
am_cv_CC_dependencies_compiler_type=$depmode
break
fi
fi fi
done done
@ -2851,18 +2780,6 @@ CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
if
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
am__fastdepCC_TRUE=
am__fastdepCC_FALSE='#'
else
am__fastdepCC_TRUE='#'
am__fastdepCC_FALSE=
fi
echo "$as_me:$LINENO: checking for library containing strerror" >&5 echo "$as_me:$LINENO: checking for library containing strerror" >&5
echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6 echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6
if test "${ac_cv_search_strerror+set}" = set; then if test "${ac_cv_search_strerror+set}" = set; then
@ -4524,13 +4441,6 @@ echo "$as_me: error: conditional \"AMDEP\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;} Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; } { (exit 1); exit 1; }; }
fi fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
: ${CONFIG_STATUS=./config.status} : ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files ac_clean_files_save=$ac_clean_files
@ -4802,7 +4712,7 @@ _ASBOX
} >&5 } >&5
cat >&5 <<_CSEOF cat >&5 <<_CSEOF
This file was extended by dhcpd-pools $as_me 2.6, which was This file was extended by dhcpd-pools $as_me 2.7, which was
generated by GNU Autoconf 2.59. Invocation command line was generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -4865,7 +4775,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\ ac_cs_version="\\
dhcpd-pools config.status 2.6 dhcpd-pools config.status 2.7
configured by $0, generated by GNU Autoconf 2.59, configured by $0, generated by GNU Autoconf 2.59,
with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
@ -5068,7 +4978,6 @@ s,@LIBS@,$LIBS,;t t
s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
s,@INSTALL_DATA@,$INSTALL_DATA,;t t s,@INSTALL_DATA@,$INSTALL_DATA,;t t
s,@CYGPATH_W@,$CYGPATH_W,;t t
s,@PACKAGE@,$PACKAGE,;t t s,@PACKAGE@,$PACKAGE,;t t
s,@VERSION@,$VERSION,;t t s,@VERSION@,$VERSION,;t t
s,@ACLOCAL@,$ACLOCAL,;t t s,@ACLOCAL@,$ACLOCAL,;t t
@ -5076,17 +4985,13 @@ s,@AUTOCONF@,$AUTOCONF,;t t
s,@AUTOMAKE@,$AUTOMAKE,;t t s,@AUTOMAKE@,$AUTOMAKE,;t t
s,@AUTOHEADER@,$AUTOHEADER,;t t s,@AUTOHEADER@,$AUTOHEADER,;t t
s,@MAKEINFO@,$MAKEINFO,;t t s,@MAKEINFO@,$MAKEINFO,;t t
s,@AMTAR@,$AMTAR,;t t
s,@install_sh@,$install_sh,;t t s,@install_sh@,$install_sh,;t t
s,@STRIP@,$STRIP,;t t s,@STRIP@,$STRIP,;t t
s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t s,@ac_ct_STRIP@,$ac_ct_STRIP,;t t
s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t s,@INSTALL_STRIP_PROGRAM@,$INSTALL_STRIP_PROGRAM,;t t
s,@mkdir_p@,$mkdir_p,;t t
s,@AWK@,$AWK,;t t s,@AWK@,$AWK,;t t
s,@SET_MAKE@,$SET_MAKE,;t t s,@SET_MAKE@,$SET_MAKE,;t t
s,@am__leading_dot@,$am__leading_dot,;t t
s,@AMTAR@,$AMTAR,;t t
s,@am__tar@,$am__tar,;t t
s,@am__untar@,$am__untar,;t t
s,@CC@,$CC,;t t s,@CC@,$CC,;t t
s,@CFLAGS@,$CFLAGS,;t t s,@CFLAGS@,$CFLAGS,;t t
s,@LDFLAGS@,$LDFLAGS,;t t s,@LDFLAGS@,$LDFLAGS,;t t
@ -5101,8 +5006,6 @@ s,@AMDEP_TRUE@,$AMDEP_TRUE,;t t
s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t s,@AMDEP_FALSE@,$AMDEP_FALSE,;t t
s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t s,@AMDEPBACKSLASH@,$AMDEPBACKSLASH,;t t
s,@CCDEPMODE@,$CCDEPMODE,;t t s,@CCDEPMODE@,$CCDEPMODE,;t t
s,@am__fastdepCC_TRUE@,$am__fastdepCC_TRUE,;t t
s,@am__fastdepCC_FALSE@,$am__fastdepCC_FALSE,;t t
s,@dhcpd_conf@,$dhcpd_conf,;t t s,@dhcpd_conf@,$dhcpd_conf,;t t
s,@dhcpd_leases@,$dhcpd_leases,;t t s,@dhcpd_leases@,$dhcpd_leases,;t t
s,@output_format@,$output_format,;t t s,@output_format@,$output_format,;t t
@ -5572,29 +5475,13 @@ echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
cat $tmp/config.h cat $tmp/config.h
rm -f $tmp/config.h rm -f $tmp/config.h
fi fi
# Compute $ac_file's index in $config_headers. # Run the commands associated with the file.
_am_stamp_count=1 case $ac_file in
for _am_header in $config_headers :; do config.h ) # update the timestamp
case $_am_header in echo 'timestamp for config.h' >"./stamp-h1"
$ac_file | $ac_file:* ) ;;
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac esac
done done
echo "timestamp for $ac_file" >`(dirname $ac_file) 2>/dev/null ||
$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$ac_file : 'X\(//\)[^/]' \| \
X$ac_file : 'X\(//\)$' \| \
X$ac_file : 'X\(/\)' \| \
. : '\(.\)' 2>/dev/null ||
echo X$ac_file |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
/^X\(\/\/\)[^/].*/{ s//\1/; q; }
/^X\(\/\/\)$/{ s//\1/; q; }
/^X\(\/\).*/{ s//\1/; q; }
s/.*/./; q'`/stamp-h$_am_stamp_count
done
_ACEOF _ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF cat >>$CONFIG_STATUS <<\_ACEOF
@ -5735,21 +5622,27 @@ echo X"$mf" |
else else
continue continue
fi fi
# Extract the definition of DEPDIR, am__include, and am__quote grep '^DEP_FILES *= *[^ #]' < "$mf" > /dev/null || continue
# from the Makefile without running `make'. # Extract the definition of DEP_FILES from the Makefile without
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` # running `make'.
DEPDIR=`sed -n -e '/^DEPDIR = / s///p' < "$mf"`
test -z "$DEPDIR" && continue test -z "$DEPDIR" && continue
am__include=`sed -n 's/^am__include = //p' < "$mf"`
test -z "am__include" && continue
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
# When using ansi2knr, U may be empty or an underscore; expand it # When using ansi2knr, U may be empty or an underscore; expand it
U=`sed -n 's/^U = //p' < "$mf"` U=`sed -n -e '/^U = / s///p' < "$mf"`
# Find all dependency output files, they are included files with test -d "$dirpart/$DEPDIR" || mkdir "$dirpart/$DEPDIR"
# $(DEPDIR) in their names. We invoke sed twice because it is the # We invoke sed twice because it is the simplest approach to
# simplest approach to changing $(DEPDIR) to its actual value in the # changing $(DEPDIR) to its actual value in the expansion.
# expansion. for file in `sed -n -e '
for file in `sed -n " /^DEP_FILES = .*\\\\$/ {
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ s/^DEP_FILES = //
:loop
s/\\\\$//
p
n
/\\\\$/ b loop
p
}
/^DEP_FILES = / s/^DEP_FILES = //p' < "$mf" | \
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
# Make sure the directory exists. # Make sure the directory exists.
test -f "$dirpart/$file" && continue test -f "$dirpart/$file" && continue

View file

@ -2,9 +2,9 @@ dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59) AC_PREREQ(2.59)
AC_INIT([dhcpd-pools], [2.6], [kerolasa@iki.fi]) AC_INIT([dhcpd-pools], [2.7], [kerolasa@iki.fi])
AM_INIT_AUTOMAKE([1.9 foreign]) AM_INIT_AUTOMAKE([1.6 foreign])
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h)
AC_PROG_CC AC_PROG_CC

View file

@ -66,8 +66,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AWK = @AWK@ AWK = @AWK@
CC = @CC@ CC = @CC@
CXX = @CXX@
CYGPATH_W = @CYGPATH_W@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
@ -75,14 +73,10 @@ PERL = @PERL@
STRIP = @STRIP@ STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
dhcpd_conf = @dhcpd_conf@ dhcpd_conf = @dhcpd_conf@
dhcpd_leases = @dhcpd_leases@ dhcpd_leases = @dhcpd_leases@
install_sh = @install_sh@ install_sh = @install_sh@
mkdir_p = @mkdir_p@
output_format = @output_format@ output_format = @output_format@
output_limit = @output_limit@ output_limit = @output_limit@
@ -95,7 +89,7 @@ EXTRA_DIST = $(man_MANS) $(noinst_SCRIPTS) # $(man_aux)
MAINTAINERCLEANFILES = $(man_MANS) MAINTAINERCLEANFILES = $(man_MANS)
subdir = man subdir = man
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/$@)] CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
SCRIPTS = $(noinst_SCRIPTS) SCRIPTS = $(noinst_SCRIPTS)

View file

@ -2,12 +2,12 @@
.\" http://www.iki.fi/kerolasa/ .\" http://www.iki.fi/kerolasa/
.\" kerolasa@iki.fi .\" kerolasa@iki.fi
.\" .\"
.TH DHCPD-POOLS 1 "May 10 2008 - version 2.6" .TH DHCPD-POOLS 1 "May 18 2008 - version 2.7"
.SH NAME .SH NAME
dhcpd-pools \- ISC dhcp pools usage analysis dhcpd-pools \- ISC dhcp pools usage analysis
.SH SYNOPSIS .SH SYNOPSIS
.B dhcpd-pools .B dhcpd-pools
[-c file] [-l file] [-f thc] [-o file] [-v] [-h] [-c file] [-l file] [-f thc] [-s nimcptTe] [-r] [-o file] [-L nr] [-v] [-h]
.SH DESCRIPTION .SH DESCRIPTION
The program counts ISC dhcp shared network and pool usage The program counts ISC dhcp shared network and pool usage
analysis and outputs it in selected format. analysis and outputs it in selected format.
@ -49,8 +49,10 @@ Path to the dhcpd.conf file.
Path to the dhcpd.leases file. Path to the dhcpd.leases file.
.TP .TP
.I "\-s, \-\-sort" .I "\-s, \-\-sort"
Sort ranges by IP, name, maximum, currently in use or percent. Sort ranges by chosen fields as a sorting keys. Maximum of five
The IP is default. sort keys can be defined. Keys weight from left to right IE if
more weighting keys are equal next one is used. The IP field is
default sort key.
.TP .TP
.I "\-r, \-\-reverse" .I "\-r, \-\-reverse"
Sort results in reverse order. Sort results in reverse order.
@ -64,9 +66,9 @@ File where output is written. Default is stdout.
.TP .TP
.I "\-L, \-\-limit" .I "\-L, \-\-limit"
Limit what will be printed. Syntax is similar to chmod permission Limit what will be printed. Syntax is similar to chmod permission
string. The limit string uses two digits which vary between 0 and string. The limit string uses two digits which vary between 0 to
7. First digit will effect on headers and second one to numeric 7. First digit will cause on headers and second numeric analysis
analysis tables. tables to included or dropped from output.
.TP .TP
.I "\-v, \-\-version" .I "\-v, \-\-version"
Print version information to standard output and exit successfully. Print version information to standard output and exit successfully.
@ -84,8 +86,6 @@ Print help to standard output and exit successfully.
/var/lib/dhcp/dhcpd.leases /var/lib/dhcp/dhcpd.leases
.br .br
ISC dhcpd lease file. ISC dhcpd lease file.
.SH BUGS
Not known.
.SH AUTHOR .SH AUTHOR
Sami Kerola <kerolasa@iki.fi> Sami Kerola <kerolasa@iki.fi>
.br .br

1
mkinstalldirs Symbolic link
View file

@ -0,0 +1 @@
/usr/share/automake-1.6/mkinstalldirs

5830
output.0 Normal file

File diff suppressed because it is too large Load diff

116
requests Normal file
View file

@ -0,0 +1,116 @@
# This file was generated.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@request = (
bless( [
'0',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'aclocal.m4',
'configure.in'
],
{
'm4_pattern_forbid' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_C_VOLATILE' => 1,
'AC_TYPE_OFF_T' => 1,
'AC_FUNC_CLOSEDIR_VOID' => 1,
'AC_REPLACE_FNMATCH' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_FUNC_STAT' => 1,
'AC_FUNC_WAIT3' => 1,
'AC_HEADER_TIME' => 1,
'AC_FUNC_LSTAT' => 1,
'AC_STRUCT_TM' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_FUNC_GETMNTENT' => 1,
'AC_TYPE_MODE_T' => 1,
'AC_FUNC_STRTOD' => 1,
'AC_CHECK_HEADERS' => 1,
'AC_FUNC_STRNLEN' => 1,
'm4_sinclude' => 1,
'AC_PROG_CXX' => 1,
'AC_PATH_X' => 1,
'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK' => 1,
'AC_PROG_AWK' => 1,
'_m4_warn' => 1,
'AC_HEADER_STDC' => 1,
'AC_HEADER_MAJOR' => 1,
'AC_FUNC_ERROR_AT_LINE' => 1,
'AC_PROG_GCC_TRADITIONAL' => 1,
'AC_LIBSOURCE' => 1,
'AC_FUNC_MBRTOWC' => 1,
'AC_STRUCT_ST_BLOCKS' => 1,
'AC_TYPE_SIGNAL' => 1,
'AC_TYPE_UID_T' => 1,
'AC_PROG_MAKE_SET' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'm4_pattern_allow' => 1,
'sinclude' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AC_FUNC_STRERROR_R' => 1,
'AC_PROG_CC' => 1,
'AC_DECL_SYS_SIGLIST' => 1,
'AC_FUNC_FORK' => 1,
'AC_FUNC_STRCOLL' => 1,
'AC_FUNC_VPRINTF' => 1,
'AC_PROG_YACC' => 1,
'AC_INIT' => 1,
'AC_STRUCT_TIMEZONE' => 1,
'AC_FUNC_CHOWN' => 1,
'AC_SUBST' => 1,
'AC_FUNC_ALLOCA' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_FUNC_GETPGRP' => 1,
'AC_PROG_RANLIB' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_FUNC_SETPGRP' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AC_FUNC_MMAP' => 1,
'AC_FUNC_REALLOC' => 1,
'AC_TYPE_SIZE_T' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_CHECK_TYPES' => 1,
'AC_CHECK_MEMBERS' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_FUNC_UTIME_NULL' => 1,
'AC_FUNC_SELECT_ARGTYPES' => 1,
'AC_HEADER_STAT' => 1,
'AC_FUNC_STRFTIME' => 1,
'AC_PROG_CPP' => 1,
'AC_C_INLINE' => 1,
'AC_PROG_LEX' => 1,
'AC_C_CONST' => 1,
'AC_TYPE_PID_T' => 1,
'AC_CONFIG_FILES' => 1,
'include' => 1,
'AC_FUNC_SETVBUF_REVERSED' => 1,
'AC_PROG_INSTALL' => 1,
'AM_GNU_GETTEXT' => 1,
'AC_CHECK_LIB' => 1,
'AC_FUNC_OBSTACK' => 1,
'AC_FUNC_MALLOC' => 1,
'AC_FUNC_GETGROUPS' => 1,
'AC_FUNC_GETLOADAVG' => 1,
'AH_OUTPUT' => 1,
'AC_FUNC_FSEEKO' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_FUNC_MKTIME' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AM_CONDITIONAL' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_HEADER_SYS_WAIT' => 1,
'AC_PROG_LN_S' => 1,
'AC_FUNC_MEMCMP' => 1,
'm4_include' => 1,
'AC_HEADER_DIRENT' => 1,
'AC_CHECK_FUNCS' => 1
}
], 'Autom4te::Request' )
);

View file

@ -66,8 +66,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
AMTAR = @AMTAR@ AMTAR = @AMTAR@
AWK = @AWK@ AWK = @AWK@
CC = @CC@ CC = @CC@
CXX = @CXX@
CYGPATH_W = @CYGPATH_W@
DEPDIR = @DEPDIR@ DEPDIR = @DEPDIR@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
@ -75,14 +73,10 @@ PERL = @PERL@
STRIP = @STRIP@ STRIP = @STRIP@
VERSION = @VERSION@ VERSION = @VERSION@
am__include = @am__include@ am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@ am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
dhcpd_conf = @dhcpd_conf@ dhcpd_conf = @dhcpd_conf@
dhcpd_leases = @dhcpd_leases@ dhcpd_leases = @dhcpd_leases@
install_sh = @install_sh@ install_sh = @install_sh@
mkdir_p = @mkdir_p@
output_format = @output_format@ output_format = @output_format@
output_limit = @output_limit@ output_limit = @output_limit@
@ -94,7 +88,7 @@ dhcpd_pools_SOURCES = dhcpd-pools.c analyze.c getdata.c getopt1.c getopt.c other
INCLUDES = -I. INCLUDES = -I.
subdir = src subdir = src
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/$@)] CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES =
bin_PROGRAMS = dhcpd-pools$(EXEEXT) bin_PROGRAMS = dhcpd-pools$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS) PROGRAMS = $(bin_PROGRAMS)
@ -108,7 +102,7 @@ dhcpd_pools_DEPENDENCIES =
dhcpd_pools_LDFLAGS = dhcpd_pools_LDFLAGS =
DEFS = @DEFS@ DEFS = @DEFS@
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir) DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
CPPFLAGS = @CPPFLAGS@ CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@ LDFLAGS = @LDFLAGS@
LIBS = @LIBS@ LIBS = @LIBS@

View file

@ -34,7 +34,7 @@ prepare_data (void)
/* Sort leases */ /* Sort leases */
qsort (leases, (size_t) num_leases, sizeof (long int), &intcomp); qsort (leases, (size_t) num_leases, sizeof (long int), &intcomp);
/* Get rid of dublicates */ /* Get rid of lease dublicates */
for (k = j = i = 0; i < num_leases; i++) for (k = j = i = 0; i < num_leases; i++)
{ {
if (j != leases[i]) if (j != leases[i])
@ -46,12 +46,12 @@ prepare_data (void)
} }
num_leases = k; num_leases = k;
/* Delete touched IPs that are in use */ /* Delete touched IPs that are in use. */
j = 0; j = 0;
for (i = 0; i < num_touches; i++) for (i = 0; i < num_touches; i++)
{ {
if (bsearch if (bsearch
(&touches[i], leases, num_leases, sizeof (long int), (&touches[i], leases, (size_t) num_leases, sizeof (long int),
&intcomp) == NULL) &intcomp) == NULL)
{ {
touches[j] = touches[i]; touches[j] = touches[i];
@ -77,10 +77,12 @@ do_counting (void)
i = j = 0; i = j = 0;
range_p = ranges; range_p = ranges;
/* Walk through ranges */
for (k = 0; k < num_ranges; k++) for (k = 0; k < num_ranges; k++)
{ {
/* Count IPs in use */ /* Count IPs in use */
for (; range_p->last_ip > leases[i] && i < num_leases; i++) for (; range_p->last_ip > leases[i] && (unsigned long) i < num_leases;
i++)
{ {
if (range_p->first_ip > leases[i]) if (range_p->first_ip > leases[i])
{ {
@ -94,9 +96,9 @@ do_counting (void)
} }
} }
/* Count touched IPs */ /* Count touched IPs */
for (; range_p->last_ip > touches[j] && j < num_touches; j++) for (; range_p->last_ip > touches[j] && (unsigned long) j < num_touches;
j++)
{ {
if (range_p->first_ip > touches[j]) if (range_p->first_ip > touches[j])
{ {
@ -111,7 +113,7 @@ do_counting (void)
} }
/* Size of range, shared net & all networks */ /* Size of range, shared net & all networks */
block_size = range_p->last_ip - range_p->first_ip - 1; block_size = (unsigned int) (range_p->last_ip - range_p->first_ip - 1);
if (range_p->shared_net) if (range_p->shared_net)
{ {
range_p->shared_net->available += block_size; range_p->shared_net->available += block_size;

View file

@ -51,4 +51,7 @@ static const int SHARED_NETWORKS = 1024;
/* Maximum number of ranges */ /* Maximum number of ranges */
static const int RANGES = 65536; static const int RANGES = 65536;
/* Merge sort split size */
static const int MIN_MERGE_SIZE = 8;
#endif /* DEFAULTS_H */ #endif /* DEFAULTS_H */

View file

@ -43,9 +43,10 @@ extern char *malloc ();
int int
main (int argc, char **argv) main (int argc, char **argv)
{ {
int c; int c, i, sorts = 1;
int option_index = 0; int option_index = 0;
char *tmp; char *tmp;
struct range_t *tmp_ranges;
/* Options for getopt_long */ /* Options for getopt_long */
static struct option const long_options[] = { static struct option const long_options[] = {
@ -63,6 +64,8 @@ main (int argc, char **argv)
program_name = argv[0]; program_name = argv[0];
/* TODO: make either dynamic or find out max path lenght that auto config
* provides */
config.dhcpdconf_file = safe_malloc (sizeof (char) * MAXLEN); config.dhcpdconf_file = safe_malloc (sizeof (char) * MAXLEN);
config.dhcpdlease_file = safe_malloc (sizeof (char) * MAXLEN); config.dhcpdlease_file = safe_malloc (sizeof (char) * MAXLEN);
config.output_file = safe_malloc (sizeof (char) * MAXLEN); config.output_file = safe_malloc (sizeof (char) * MAXLEN);
@ -71,15 +74,16 @@ main (int argc, char **argv)
* option */ * option */
config.output_file[0] = '\0'; config.output_file[0] = '\0';
strncpy (config.dhcpdconf_file, DHCPDCONF_FILE, MAXLEN - 1); /* File location defaults */
strncpy (config.dhcpdlease_file, DHCPDLEASE_FILE, MAXLEN - 1); strncpy (config.dhcpdconf_file, DHCPDCONF_FILE, (size_t) MAXLEN - 1);
strncpy (config.dhcpdlease_file, DHCPDLEASE_FILE, (size_t) MAXLEN - 1);
tmp = OUTPUT_LIMIT; tmp = OUTPUT_LIMIT;
config.output_limit[0] = (int) (*tmp - '0'); config.output_limit[0] = (int) (*tmp - '0');
tmp++; tmp++;
config.output_limit[1] = (int) (*tmp - '0'); config.output_limit[1] = (int) (*tmp - '0');
/* Make sure some output format is selected by default */ /* Make sure some output format is selected by default */
strncpy (config.output_format, OUTPUT_FORMAT, 1); strncpy (config.output_format, OUTPUT_FORMAT, (size_t) 1);
/* Default sort order is by IPs small to big */ /* Default sort order is by IPs small to big */
config.sort[0] = OUTPUT_ORDER; config.sort[0] = OUTPUT_ORDER;
@ -100,9 +104,10 @@ main (int argc, char **argv)
case 0: case 0:
break; break;
case 'c': case 'c':
/* config file */
if (optarg != NULL) if (optarg != NULL)
{ {
strncpy (config.dhcpdconf_file, optarg, MAXLEN - 1); strncpy (config.dhcpdconf_file, optarg, (size_t) MAXLEN - 1);
} }
else else
{ {
@ -113,9 +118,10 @@ main (int argc, char **argv)
} }
break; break;
case 'l': case 'l':
/* lease file */
if (optarg != NULL) if (optarg != NULL)
{ {
strncpy (config.dhcpdlease_file, optarg, MAXLEN - 1); strncpy (config.dhcpdlease_file, optarg, (size_t) MAXLEN - 1);
} }
else else
{ {
@ -125,9 +131,10 @@ main (int argc, char **argv)
} }
break; break;
case 'f': case 'f':
/* Output format */
if (optarg != NULL) if (optarg != NULL)
{ {
strncpy (config.output_format, optarg, 1); strncpy (config.output_format, optarg, (size_t) 1);
} }
else else
{ {
@ -137,9 +144,20 @@ main (int argc, char **argv)
} }
break; break;
case 's': case 's':
/* Output sorting option */
if (optarg != NULL) if (optarg != NULL)
{ {
strncpy (config.sort, optarg, 1); sorts = strlen (optarg);
if (sorts > 5)
{
eprintf ("main: only 5 first sort orders will be used");
strncpy (config.sort, optarg, (size_t) 5);
sorts = 5;
}
else
{
strncpy (config.sort, optarg, (size_t) sorts);
}
} }
else else
{ {
@ -149,9 +167,11 @@ main (int argc, char **argv)
} }
break; break;
case 'r': case 'r':
/* What ever sort in reverse order */
config.reverse_order = true; config.reverse_order = true;
break; break;
case 'o': case 'o':
/* Output file */
if (optarg != NULL) if (optarg != NULL)
{ {
strncpy (config.output_file, optarg, (size_t) MAXLEN - 1); strncpy (config.output_file, optarg, (size_t) MAXLEN - 1);
@ -164,6 +184,7 @@ main (int argc, char **argv)
} }
break; break;
case 'L': case 'L':
/* Specification what will be printed */
if (optarg != NULL) if (optarg != NULL)
{ {
if (optarg[0] >= '0' && optarg[0] < '8') if (optarg[0] >= '0' && optarg[0] < '8')
@ -195,9 +216,11 @@ main (int argc, char **argv)
} }
break; break;
case 'v': case 'v':
/* Print version */
print_version (); print_version ();
exit (EXIT_SUCCESS); exit (EXIT_SUCCESS);
case 'h': case 'h':
/* Print help */
print_help (); print_help ();
exit (EXIT_SUCCESS); exit (EXIT_SUCCESS);
default: default:
@ -206,29 +229,6 @@ main (int argc, char **argv)
} }
} }
/* Sort function selection */
switch (config.sort[0])
{
case 'i':
sort_results = sort_ip;
break;
case 'n':
sort_results = sort_name;
break;
case 'm':
sort_results = sort_max;
break;
case 'c':
sort_results = sort_cur;
break;
case 'p':
sort_results = sort_percent;
break;
default:
eprintf ("main: unknown sort order: %c", config.sort[0]);
print_help ();
exit (EXIT_FAILURE);
}
/* Output function selection */ /* Output function selection */
switch (config.output_format[0]) switch (config.output_format[0])
{ {
@ -251,13 +251,20 @@ main (int argc, char **argv)
exit (EXIT_FAILURE); exit (EXIT_FAILURE);
} }
/* Do actual job */ /* Do the job */
prepare_memory (); prepare_memory ();
parse_config (config.dhcpdconf_file, shared_net_names, shared_net_names + strlen (shared_net_names) + 1, shared_networks); parse_config (config.dhcpdconf_file, shared_net_names,
shared_net_names + strlen (shared_net_names) + 1,
shared_networks);
parse_leases (); parse_leases ();
prepare_data (); prepare_data ();
do_counting (); do_counting ();
sort_results (); tmp_ranges = safe_malloc (sizeof (struct range_t) * num_ranges);
mergesort_ranges (ranges, num_ranges, tmp_ranges);
if (config.reverse_order == true) {
flip_ranges(ranges, tmp_ranges);
}
free (tmp_ranges);
output_analysis (); output_analysis ();
clean_up (); clean_up ();

View file

@ -36,7 +36,7 @@ struct configuration_t
char *dhcpdconf_file; char *dhcpdconf_file;
char *dhcpdlease_file; char *dhcpdlease_file;
char output_format[2]; char output_format[2];
char sort[2]; char sort[6];
int reverse_order; int reverse_order;
char *output_file; char *output_file;
int output_limit[2]; int output_limit[2];
@ -61,7 +61,6 @@ static int true = 1;
static int false = 0; static int false = 0;
char *program_name; char *program_name;
static const float version_number = 2.6;
struct configuration_t config; struct configuration_t config;
static int output_limit_bit_1 = 1; static int output_limit_bit_1 = 1;
@ -88,26 +87,29 @@ int parse_config (char *, char *, char *, struct shared_network_t *);
int nth_field (int n, char *dest, const char *src); int nth_field (int n, char *dest, const char *src);
int prepare_data (void); int prepare_data (void);
int do_counting (void); int do_counting (void);
void flip_ranges(struct range_t *ranges, struct range_t *tmp_ranges);
/* General support functions */ /* General support functions */
void *safe_malloc (size_t size); void *safe_malloc (size_t size);
void eprintf (char *, ...); void eprintf (char *, ...);
void print_version (void); void print_version (void);
void print_help (void); void print_help (void);
/* qsort requires comp functions */ /* qsort required functions... */
/* ...for ranges and... */
int intcomp (const void *x, const void *y); int intcomp (const void *x, const void *y);
int rangecomp (const void *r1, const void *r2); int rangecomp (const void *r1, const void *r2);
int reverserangecomp (const void *r1, const void *r2);
int namecomp (const void *n1, const void *n2);
int maxcomp (const void *m1, const void *m2);
int curcomp (const void *c1, const void *c2);
int percentcomp (const void *p1, const void *p2);
/* sort function pointer and functions */ /* sort function pointer and functions */
int (*sort_results) (void);
int sort_ip (void);
int sort_name (void); int sort_name (void);
int sort_cur (void); unsigned long int (*returner) (struct range_t r);
int sort_max (void); unsigned long int ret_ip(struct range_t r);
int sort_percent (void); unsigned long int ret_cur(struct range_t r);
unsigned long int ret_max(struct range_t r);
unsigned long int ret_percent(struct range_t r);
unsigned long int ret_touched(struct range_t r);
unsigned long int ret_tc(struct range_t r);
unsigned long int ret_tcperc(struct range_t r);
void field_selector(char c);
int get_order(struct range_t *left, struct range_t *right);
void mergesort_ranges (struct range_t *orig, int size, struct range_t *temp);
/* output function pointer and functions */ /* output function pointer and functions */
int (*output_analysis) (void); int (*output_analysis) (void);
int output_txt (void); int output_txt (void);

View file

@ -58,6 +58,7 @@ parse_leases (void)
char *line, *ipstring; char *line, *ipstring;
struct in_addr inp; struct in_addr inp;
struct stat lease_file_stats; struct stat lease_file_stats;
num_touches = num_leases = 0; num_touches = num_leases = 0;
dhcpd_leases = fopen (config.dhcpdlease_file, "r"); dhcpd_leases = fopen (config.dhcpdlease_file, "r");
@ -81,7 +82,7 @@ parse_leases (void)
safe_malloc (sizeof (long int) * safe_malloc (sizeof (long int) *
((lease_file_stats.st_size / 250) + MAXLEN)); ((lease_file_stats.st_size / 250) + MAXLEN));
touches = touches =
safe_malloc (sizeof (long int) * safe_malloc ((size_t) sizeof (long int) *
((lease_file_stats.st_size / 250) + MAXLEN)); ((lease_file_stats.st_size / 250) + MAXLEN));
line = safe_malloc (sizeof (long int) * MAXLEN); line = safe_malloc (sizeof (long int) * MAXLEN);
@ -93,7 +94,7 @@ parse_leases (void)
/* It's a lease */ /* It's a lease */
if (strstr (line, "lease") == line) if (strstr (line, "lease") == line)
{ {
strncpy (ipstring, line, MAXLEN - 1); strncpy (ipstring, line, (size_t) MAXLEN - 1);
} }
/* And this is lease state which we are interested about */ /* And this is lease state which we are interested about */
if (strstr (line, "binding state active")) if (strstr (line, "binding state active"))
@ -120,34 +121,36 @@ parse_leases (void)
* have. Question of semantics, send mail to author if this * have. Question of semantics, send mail to author if this
* annoys. All performance boosts for this function are well * annoys. All performance boosts for this function are well
* come. */ * come. */
int int
nth_field (int n, char *dest, const char *src) nth_field (int n, char *dest, const char *src)
{ {
int i, j, k, th; int i, j = 0, wordn = 0;
i = j = k = th = 0;
for (; i < MAXLEN && th < n; i++) for (i = 0; i < MAXLEN; i++)
{ {
if (src[i] == ' ' || src[i] == '\t') if (isspace (src[i]))
{ {
if (j == 0 && i != 0) if (!(wordn < n))
{ {
th++; dest[j] = '\0';
break;
} }
j = 1;
}
else if (th + 1 == n)
{
dest[k] = src[i];
k++;
j = 0; j = 0;
} }
else else
{ {
j = 0; if (j == 0)
{
wordn++;
}
if (wordn == n)
{
dest[j] = src[i];
}
j++;
} }
} }
dest[k] = '\0';
return 0; return 0;
} }
@ -191,9 +194,6 @@ parse_config (char *config_file, char *current_shared_name,
/* Default place holder for ranges "All networks". /* Default place holder for ranges "All networks".
* If this is include file basicly nothing happens. */ * If this is include file basicly nothing happens. */
shared_p->name = current_shared_name; shared_p->name = current_shared_name;
shared_p->available = 0;
shared_p->used = 0;
shared_p->touched = 0;
/* Open configuration file */ /* Open configuration file */
dhcpd_config = fopen (config_file, "r"); dhcpd_config = fopen (config_file, "r");
@ -267,6 +267,7 @@ parse_config (char *config_file, char *current_shared_name,
if (braces_shared == braces) if (braces_shared == braces)
{ {
current_shared_name = shared_net_names; current_shared_name = shared_net_names;
/* TODO: Using 1000 is lame, but works. */
braces_shared = 1000; braces_shared = 1000;
shared_p = shared_networks; shared_p = shared_networks;
} }
@ -289,7 +290,8 @@ parse_config (char *config_file, char *current_shared_name,
continue; continue;
} }
/* Save to word which clause this is. */ /* Save to word which clause this is. */
if ((newclause == true || argument != 0) && (!isspace (c) || quote == true)) if ((newclause == true || argument != 0)
&& (!isspace (c) || quote == true))
{ {
word[i] = c; word[i] = c;
i++; i++;
@ -345,7 +347,7 @@ parse_config (char *config_file, char *current_shared_name,
{ {
/* TODO: make this go away by reallocationg more space. */ /* TODO: make this go away by reallocationg more space. */
eprintf eprintf
("End of shared-network space, increase SHARED_NETWORKS_NAMES and recompile"); ("parse_config: End of shared-network space, increase SHARED_NETWORKS_NAMES and recompile");
} }
argument = 0; argument = 0;
break; break;
@ -382,7 +384,7 @@ parse_config (char *config_file, char *current_shared_name,
newclause = true; newclause = true;
break; break;
default: default:
eprintf ("This cannot happpen, report a bug!"); eprintf ("parse_config: This cannot happen, report a bug!");
exit (EXIT_FAILURE); exit (EXIT_FAILURE);
} }
} }

View file

@ -72,10 +72,24 @@ eprintf (char *fmt, ...)
fprintf (stderr, "\n"); fprintf (stderr, "\n");
} }
void flip_ranges(struct range_t *ranges, struct range_t *tmp_ranges)
{
int i = num_ranges - 1, j;
for (j = 0; j < num_ranges; j++) {
*(tmp_ranges + j) = *(ranges + i);
i--;
}
memcpy (ranges, tmp_ranges, num_ranges * sizeof (struct range_t));
}
/* Free memory, flush buffers etc*/ /* Free memory, flush buffers etc*/
void void
clean_up (void) clean_up (void)
{ {
int ret;
free (config.dhcpdconf_file); free (config.dhcpdconf_file);
free (config.dhcpdlease_file); free (config.dhcpdlease_file);
free (config.output_file); free (config.output_file);
@ -83,14 +97,14 @@ clean_up (void)
free (shared_net_names); free (shared_net_names);
free (shared_networks); free (shared_networks);
/* Just in case there something in buffers */ /* Just in case there something in buffers */
fclose (stdout); ret = fclose (stdout);
if (errno) if (errno || ret)
{ {
eprintf ("clean_up: stdout:"); eprintf ("clean_up: stdout:");
exit (EXIT_FAILURE); exit (EXIT_FAILURE);
} }
fclose (stderr); ret = fclose (stderr);
if (errno) if (errno || ret)
{ {
eprintf ("clean_up: stderr:"); eprintf ("clean_up: stderr:");
exit (EXIT_FAILURE); exit (EXIT_FAILURE);
@ -100,13 +114,11 @@ clean_up (void)
void void
print_version (void) print_version (void)
{ {
fprintf (stdout, "%s version %.1f\n", program_name, version_number); fprintf (stdout, "%s version 2.7\n", program_name);
fprintf (stdout, "Written by Sami Kerola.\n\n");
fprintf (stdout, fprintf (stdout,
"%s may be copied only under the terms of GNU General Public\n", "Program may be copied only under the terms of GNU General Public\n");
program_name);
fprintf (stdout, fprintf (stdout,
"License, which may be found in the dhcpd-pools source kit.\n"); "License, which may be found in the dhcpd-pools source distribution.\n");
} }
void void
@ -128,12 +140,15 @@ This is ISC dhcpd pools usage analyzer.\n\
s is snmp\n"); s is snmp\n");
*/ */
fprintf (stdout, "\ fprintf (stdout, "\
-s --sort [inmcp] sort ranges by\n\ -s --sort [nimcptTe] sort ranges by\n\
i IP\n\
n name\n\ n name\n\
i IP\n\
m maxium\n\ m maxium\n\
c current\n\ c current\n\
p percent\n"); p percent\n\
t touched\n\
T t+c\n\
e t+c perc\n");
fprintf (stdout, "\ fprintf (stdout, "\
-r --reverse reverse order sort\n\ -r --reverse reverse order sort\n\
-o --output file output into a file\n\ -o --output file output into a file\n\

View file

@ -24,7 +24,6 @@
#include <sys/socket.h> #include <sys/socket.h>
#include <netinet/in.h> #include <netinet/in.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#include <errno.h>
#include "dhcpd-pools.h" #include "dhcpd-pools.h"
@ -35,6 +34,7 @@ output_txt (void)
struct in_addr first, last; struct in_addr first, last;
struct range_t *range_p; struct range_t *range_p;
struct shared_network_t *shared_p; struct shared_network_t *shared_p;
int ret;
FILE *outfile; FILE *outfile;
if (config.output_file[0]) if (config.output_file[0])
@ -145,26 +145,21 @@ output_txt (void)
} }
if (outfile == stdout) if (outfile == stdout)
{ {
fflush (stdout); ret = fflush (stdout);
if (ret)
{
eprintf ("output_txt: fflush:");
}
} }
else else
{ {
fclose (outfile); ret = fclose (outfile);
} if (ret)
if (errno)
{
if (config.output_file[0])
{ {
eprintf ("output_txt: %s:", config.output_file); eprintf ("output_txt: fclose:");
} }
else
{
eprintf ("output_txt: stdout:");
}
exit (EXIT_FAILURE);
} }
return 0; return 0;
} }
@ -175,6 +170,7 @@ output_html (void)
struct in_addr first, last; struct in_addr first, last;
struct range_t *range_p; struct range_t *range_p;
struct shared_network_t *shared_p; struct shared_network_t *shared_p;
int ret;
FILE *outfile; FILE *outfile;
if (config.output_file[0]) if (config.output_file[0])
@ -277,25 +273,21 @@ output_html (void)
fprintf (outfile, "</table>\n"); fprintf (outfile, "</table>\n");
if (outfile == stdout) if (outfile == stdout)
{ {
fflush (stdout); ret = fflush (stdout);
if (ret)
{
eprintf ("output_html: fflush:");
}
} }
else else
{ {
fclose (outfile); ret = fclose (outfile);
} if (ret)
if (errno)
{
if (config.output_file[0])
{ {
eprintf ("output_html: %s:", config.output_file); eprintf ("output_html: fclose:");
} }
else
{
eprintf ("output_html: stdout:");
}
exit (EXIT_FAILURE);
}
}
return 0; return 0;
} }
@ -307,6 +299,7 @@ output_csv (void)
struct range_t *range_p; struct range_t *range_p;
struct shared_network_t *shared_p; struct shared_network_t *shared_p;
FILE *outfile; FILE *outfile;
int ret;
if (config.output_file[0]) if (config.output_file[0])
{ {
@ -406,23 +399,21 @@ output_csv (void)
} }
if (outfile == stdout) if (outfile == stdout)
{ {
fflush (stdout); ret = fflush (stdout);
if (ret)
{
eprintf ("output_cvs: fflush:");
}
} }
else else
{ {
fclose (outfile); ret = fclose (outfile);
} if (ret)
if (errno)
{
if (config.output_file[0])
{ {
eprintf ("output_csv: %s:", config.output_file); eprintf ("output_cvs: fclose:");
}
else
{
eprintf ("output_csv: stdout:");
exit (EXIT_FAILURE);
} }
} }
return 0; return 0;
} }

View file

@ -1,4 +1,3 @@
/* /*
** Copyright (C) 2006- Sami Kerola <kerolasa@iki.fi> ** Copyright (C) 2006- Sami Kerola <kerolasa@iki.fi>
** **
@ -23,10 +22,12 @@
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <string.h>
#include "dhcpd-pools.h" #include "dhcpd-pools.h"
#include "defaults.h"
/* qsort predicate-like functions */ /* Sort functions for range sorting */
int int
intcomp (const void *x, const void *y) intcomp (const void *x, const void *y)
{ {
@ -51,152 +52,193 @@ rangecomp (const void *r1, const void *r2)
return 0; return 0;
} }
int unsigned long int
reverserangecomp (const void *r1, const void *r2) ret_ip (struct range_t r)
{ {
if ((((struct range_t *) r1)->first_ip) < return (r.first_ip);
(((struct range_t *) r2)->first_ip))
return 1;
else if ((((struct range_t *) r2)->first_ip) <
(((struct range_t *) r1)->first_ip))
return -1;
else
return 0;
} }
unsigned long int
int ret_cur (struct range_t r)
namecomp (const void *n1, const void *n2)
{ {
int ret; return (r.count);
ret = strcmp ((((struct range_t *) n1)->shared_net->name), }
(((struct range_t *) n2)->shared_net->name));
if (config.reverse_order == true) unsigned long int
ret_max (struct range_t r)
{
return (r.last_ip - r.first_ip);
}
unsigned long int
ret_percent (struct range_t r)
{
float f;
f = (float) r.count / (r.last_ip - r.first_ip - 1);
return ((unsigned long int) (f * 100000));
}
unsigned long int
ret_touched (struct range_t r)
{
return (r.touched);
}
unsigned long int
ret_tc (struct range_t r)
{
return (r.count + r.touched);
}
unsigned long int
ret_tcperc (struct range_t r)
{
float f;
f = (float) (r.count + r.touched) / (r.last_ip - r.first_ip - 1);
return ((unsigned long int) (f * 10000));
}
void
field_selector (char c)
{
switch (c)
{ {
return ret * -1; case 'n':
} break;
else case 'i':
{ returner = ret_ip;
return ret; break;
case 'm':
returner = ret_max;
break;
case 'c':
returner = ret_cur;
break;
case 'p':
returner = ret_percent;
break;
case 't':
returner = ret_touched;
break;
case 'T':
returner = ret_tc;
break;
case 'e':
returner = ret_tcperc;
break;
default:
eprintf ("field_selector: unknown sort order: %c", config.sort[0]);
print_help;
exit (EXIT_FAILURE);
} }
} }
/* Needed to support multiple key sorting. */
int int
maxcomp (const void *m1, const void *m2) get_order (struct range_t *left, struct range_t *right)
{ {
int ret; int i, len, ret;
if ((((struct range_t *) m1)->last_ip - ((struct range_t *) m1)->first_ip - unsigned long int lint, rint;
1) <
(((struct range_t *) m2)->last_ip - ((struct range_t *) m2)->first_ip - len = strlen (config.sort);
1)) for (i = 0; i < len; i++)
ret = -1;
else
if ((((struct range_t *) m2)->last_ip -
((struct range_t *) m2)->first_ip - 1) <
(((struct range_t *) m1)->last_ip -
((struct range_t *) m1)->first_ip - 1))
ret = 1;
else
ret = 0;
if (config.reverse_order == true)
{ {
return ret * -1; /* Handling strings is case of it's own */
if (config.sort[i] == 'n')
{
ret = strcmp (left->shared_net->name, right->shared_net->name);
if (ret > 0)
{
return (0);
}
else if (ret < 0)
{
return (1);
}
else
{
continue;
}
}
/* Select which function is pointed by returner */
field_selector (config.sort[i]);
lint = returner (*left);
rint = returner (*right);
/* If fields are equal use next sort method */
if (lint == rint)
{
continue;
}
if (lint < rint)
{
return (1);
}
return (0);
} }
else
/* If all returners where equal */
return (0);
}
void
mergesort_ranges (struct range_t *orig, int size, struct range_t *temp)
{
int left, right, i;
long int val;
struct range_t hold;
if (size < MIN_MERGE_SIZE)
{ {
return ret; for (left = 0; left < size; left++)
{
hold = *(orig + left);
for (right = left - 1; right >= 0; right--)
{
if (get_order ((orig + right), &hold))
{
break;
}
*(orig + right + 1) = *(orig + right);
}
*(orig + right + 1) = hold;
}
return;
} }
}
int mergesort_ranges (orig, size / 2, temp);
curcomp (const void *c1, const void *c2) mergesort_ranges (orig + size / 2, size - size / 2, temp);
{
int ret; left = 0;
if ((((struct range_t *) c1)->count) < (((struct range_t *) c2)->count)) right = size / 2;
ret = -1; i = 0;
else if ((((struct range_t *) c2)->count) <
(((struct range_t *) c1)->count)) while (left < size / 2 && right < size)
ret = 1;
else
ret = 0;
if (config.reverse_order == true)
{ {
return ret * -1; if (get_order ((orig + left), (orig + right)))
{
*(temp + i) = *(orig + left);
left++;
}
else
{
*(temp + i) = *(orig + right);
right++;
}
i++;
} }
else while (left < size / 2)
{ {
return ret; *(temp + i) = *(orig + left);
left++;
i++;
} }
} while (right < size)
int
percentcomp (const void *p1, const void *p2)
{
float f1, f2;
int ret;
f1 = (float) (((struct range_t *) p1)->count) /
(((struct range_t *) p1)->last_ip -
((struct range_t *) p1)->first_ip - 1);
f2 =
(float) (((struct range_t *) p2)->count) /
(((struct range_t *) p2)->last_ip - ((struct range_t *) p2)->first_ip -
1);
if (f1 < f2)
ret = -1;
else if (f1 > f2)
ret = 1;
else
ret = 0;
if (config.reverse_order == true)
{ {
return ret * -1; *(temp + i) = *(orig + right);
right++;
i++;
} }
else
{
return ret;
}
}
/* Function pointer functions for output sorting */ memcpy (orig, temp, size * sizeof (struct range_t));
int
sort_ip (void)
{
/* There is no need to order results in forward order since ranges are in
* that order by default */
if (config.reverse_order == true)
{
qsort (ranges, (size_t) num_ranges, sizeof (struct range_t),
&reverserangecomp);
}
return 0;
}
int
sort_name (void)
{
/* code here */
qsort (ranges, (size_t) num_ranges, sizeof (struct range_t), &namecomp);
return 0;
}
int
sort_cur (void)
{
qsort (ranges, (size_t) num_ranges, sizeof (struct range_t), &curcomp);
return 0;
}
int
sort_max (void)
{
qsort (ranges, (size_t) num_ranges, sizeof (struct range_t), &maxcomp);
return 0;
}
int
sort_percent (void)
{
qsort (ranges, (size_t) num_ranges, sizeof (struct range_t), &percentcomp);
return 0;
} }

221
traces.0 Normal file
View file

@ -0,0 +1,221 @@
m4trace:configure.in:5: -1- AC_INIT([dhcpd-pools], [2.4], [kerolasa@iki.fi])
m4trace:configure.in:5: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:5: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:5: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.in:5: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.in:5: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.in:5: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.in:5: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.in:5: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
m4trace:configure.in:5: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
m4trace:configure.in:5: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.in:5: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.in:5: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.in:5: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.in:5: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.in:5: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.in:5: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.in:5: -1- AC_SUBST([datadir], ['${prefix}/share'])
m4trace:configure.in:5: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.in:5: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.in:5: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.in:5: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.in:5: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.in:5: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.in:5: -1- AC_SUBST([infodir], ['${prefix}/info'])
m4trace:configure.in:5: -1- AC_SUBST([mandir], ['${prefix}/man'])
m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
#undef PACKAGE_NAME])
m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME])
m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
#undef PACKAGE_VERSION])
m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
#undef PACKAGE_STRING])
m4trace:configure.in:5: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.in:5: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT])
m4trace:configure.in:5: -1- AC_SUBST([build_alias])
m4trace:configure.in:5: -1- AC_SUBST([host_alias])
m4trace:configure.in:5: -1- AC_SUBST([target_alias])
m4trace:configure.in:5: -1- AC_SUBST([DEFS])
m4trace:configure.in:5: -1- AC_SUBST([ECHO_C])
m4trace:configure.in:5: -1- AC_SUBST([ECHO_N])
m4trace:configure.in:5: -1- AC_SUBST([ECHO_T])
m4trace:configure.in:5: -1- AC_SUBST([LIBS])
m4trace:configure.in:7: -1- AM_INIT_AUTOMAKE([1.9 foreign])
m4trace:configure.in:7: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
m4trace:configure.in:7: -1- AM_AUTOMAKE_VERSION([1.9.6])
m4trace:configure.in:7: -1- AC_PROG_INSTALL
m4trace:configure.in:7: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.in:7: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.in:7: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.in:7: -1- AC_SUBST([CYGPATH_W])
m4trace:configure.in:7: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
m4trace:configure.in:7: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
m4trace:configure.in:7: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
m4trace:configure.in:7: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
#undef PACKAGE])
m4trace:configure.in:7: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
m4trace:configure.in:7: -1- AH_OUTPUT([VERSION], [/* Version number of package */
#undef VERSION])
m4trace:configure.in:7: -1- AC_SUBST([ACLOCAL])
m4trace:configure.in:7: -1- AC_SUBST([AUTOCONF])
m4trace:configure.in:7: -1- AC_SUBST([AUTOMAKE])
m4trace:configure.in:7: -1- AC_SUBST([AUTOHEADER])
m4trace:configure.in:7: -1- AC_SUBST([MAKEINFO])
m4trace:configure.in:7: -1- AC_SUBST([install_sh])
m4trace:configure.in:7: -1- AC_SUBST([STRIP])
m4trace:configure.in:7: -1- AC_SUBST([ac_ct_STRIP])
m4trace:configure.in:7: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
m4trace:configure.in:7: -1- AC_SUBST([mkdir_p])
m4trace:configure.in:7: -1- AC_PROG_AWK
m4trace:configure.in:7: -1- AC_SUBST([AWK])
m4trace:configure.in:7: -1- AC_PROG_MAKE_SET
m4trace:configure.in:7: -1- AC_SUBST([SET_MAKE])
m4trace:configure.in:7: -1- AC_SUBST([am__leading_dot])
m4trace:configure.in:7: -1- AC_SUBST([AMTAR])
m4trace:configure.in:7: -1- AC_SUBST([am__tar])
m4trace:configure.in:7: -1- AC_SUBST([am__untar])
m4trace:configure.in:9: -1- _m4_warn([obsolete], [The macro `AM_CONFIG_HEADER' is obsolete.
You should run autoupdate.], [aclocal.m4:353: AM_CONFIG_HEADER is expanded from...
configure.in:9: the top level])
m4trace:configure.in:9: -1- AC_CONFIG_HEADERS([config.h])
m4trace:configure.in:10: -1- AC_PROG_CC
m4trace:configure.in:10: -1- AC_SUBST([CC])
m4trace:configure.in:10: -1- AC_SUBST([CFLAGS])
m4trace:configure.in:10: -1- AC_SUBST([LDFLAGS])
m4trace:configure.in:10: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:10: -1- AC_SUBST([CC])
m4trace:configure.in:10: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:10: -1- AC_SUBST([CC])
m4trace:configure.in:10: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:10: -1- AC_SUBST([CC])
m4trace:configure.in:10: -1- AC_SUBST([CC])
m4trace:configure.in:10: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:10: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.in:10: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.in:10: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
m4trace:configure.in:10: -1- AC_SUBST([am__include])
m4trace:configure.in:10: -1- AC_SUBST([am__quote])
m4trace:configure.in:10: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
m4trace:configure.in:10: -1- AC_SUBST([AMDEP_TRUE])
m4trace:configure.in:10: -1- AC_SUBST([AMDEP_FALSE])
m4trace:configure.in:10: -1- AC_SUBST([AMDEPBACKSLASH])
m4trace:configure.in:10: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
m4trace:configure.in:10: -1- AM_CONDITIONAL([am__fastdepCC], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3])
m4trace:configure.in:10: -1- AC_SUBST([am__fastdepCC_TRUE])
m4trace:configure.in:10: -1- AC_SUBST([am__fastdepCC_FALSE])
m4trace:configure.in:25: -1- AC_SUBST([dhcpd_conf])
m4trace:configure.in:33: -1- AC_SUBST([dhcpd_leases])
m4trace:configure.in:41: -1- AC_SUBST([output_format])
m4trace:configure.in:49: -1- AC_SUBST([output_limit])
m4trace:configure.in:51: -1- AC_CHECK_FUNCS([getopt_long inet_aton inet_addr], [break])
m4trace:configure.in:51: -1- AH_OUTPUT([HAVE_GETOPT_LONG], [/* Define to 1 if you have the `getopt_long\' function. */
#undef HAVE_GETOPT_LONG])
m4trace:configure.in:51: -1- AH_OUTPUT([HAVE_INET_ATON], [/* Define to 1 if you have the `inet_aton\' function. */
#undef HAVE_INET_ATON])
m4trace:configure.in:51: -1- AH_OUTPUT([HAVE_INET_ADDR], [/* Define to 1 if you have the `inet_addr\' function. */
#undef HAVE_INET_ADDR])
m4trace:configure.in:53: -1- AC_CHECK_LIB([resolv], [inet_ntoa])
m4trace:configure.in:53: -1- AH_OUTPUT([HAVE_LIBRESOLV], [/* Define to 1 if you have the `resolv\' library (-lresolv). */
#undef HAVE_LIBRESOLV])
m4trace:configure.in:53: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBRESOLV])
m4trace:configure.in:56: -1- AC_CHECK_HEADERS([arpa/inet.h errno.h netinet/in.h stdio.h \
stdlib.h string.h sys/socket.h sys/stat.h sys/types.h unistd.h])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_ERRNO_H], [/* Define to 1 if you have the <errno.h> header file. */
#undef HAVE_ERRNO_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STDIO_H], [/* Define to 1 if you have the <stdio.h> header file. */
#undef HAVE_STDIO_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.in:56: -1- AC_HEADER_STDC
m4trace:configure.in:56: -1- AC_PROG_CPP
m4trace:configure.in:56: -1- AC_SUBST([CPP])
m4trace:configure.in:56: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:56: -1- AC_SUBST([CPP])
m4trace:configure.in:56: -1- AC_SUBST([EGREP])
m4trace:configure.in:56: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:56: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS])
m4trace:configure.in:56: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.in:59: -2- AC_DEFINE_TRACE_LITERAL([HAVE_GETOPT_H])
m4trace:configure.in:60: -1- AC_CHECK_HEADERS([getopt.h], [cat >>confdefs.h <<\_ACEOF
@%:@define HAVE_GETOPT_H 1
_ACEOF
], [import_sources="getopt.c getopt1.c $import_sources"])
m4trace:configure.in:60: -1- AH_OUTPUT([HAVE_GETOPT_H], [/* Define to 1 if you have the <getopt.h> header file. */
#undef HAVE_GETOPT_H])
m4trace:configure.in:63: -1- AC_FUNC_ALLOCA
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA_H])
m4trace:configure.in:63: -1- AH_OUTPUT([HAVE_ALLOCA_H], [/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#undef HAVE_ALLOCA_H])
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ALLOCA])
m4trace:configure.in:63: -1- AH_OUTPUT([HAVE_ALLOCA], [/* Define to 1 if you have `alloca\', as a function or macro. */
#undef HAVE_ALLOCA])
m4trace:configure.in:63: -1- AC_LIBSOURCE([alloca.c])
m4trace:configure.in:63: -1- AC_SUBST([ALLOCA], [alloca.$ac_objext])
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([C_ALLOCA])
m4trace:configure.in:63: -1- AH_OUTPUT([C_ALLOCA], [/* Define to 1 if using `alloca.c\'. */
#undef C_ALLOCA])
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([CRAY_STACKSEG_END])
m4trace:configure.in:63: -1- AH_OUTPUT([CRAY_STACKSEG_END], [/* Define to one of `_getb67\', `GETB67\', `getb67\' for Cray-2 and Cray-YMP
systems. This function is required for `alloca.c\' support on those systems.
*/
#undef CRAY_STACKSEG_END])
m4trace:configure.in:63: -1- AH_OUTPUT([STACK_DIRECTION], [/* If using the C implementation of alloca, define if you know the
direction of stack growth for your system; otherwise it will be
automatically deduced at run-time.
STACK_DIRECTION > 0 => grows toward higher addresses
STACK_DIRECTION < 0 => grows toward lower addresses
STACK_DIRECTION = 0 => direction of growth unknown */
@%:@undef STACK_DIRECTION])
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([STACK_DIRECTION])
m4trace:configure.in:66: -1- AC_SUBST([PERL])
m4trace:configure.in:68: -1- AC_CONFIG_FILES([Makefile man/Makefile src/Makefile])
m4trace:configure.in:70: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:70: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])