]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Configure options to build drill and examples too.
authorWillem Toorop <willem@NLnetLabs.nl>
Tue, 22 Nov 2011 12:12:31 +0000 (12:12 +0000)
committerWillem Toorop <willem@NLnetLabs.nl>
Tue, 22 Nov 2011 12:12:31 +0000 (12:12 +0000)
Makefile.in
configure.ac

index 59b867805922885a5c5a6f229783d191b1da76a4..542d8c7babcbc864e87229adc6783645f52ee55e 100644 (file)
@@ -56,10 +56,12 @@ DEPFLAG             = @DEPFLAG@
 INSTALL                = $(srcdir)/install-sh 
 
 LIBLOBJS       = $(LIBOBJS:.o=.lo)
-LDNS_LOBJS     = buffer.lo dname.lo dnssec.lo dnssec_sign.lo dnssec_verify.lo dnssec_zone.lo error.lo higher.lo host2str.lo host2wire.lo keys.lo linktest.lo net.lo packet.lo parse.lo rbtree.lo rdata.lo resolver.lo rr.lo rr_functions.lo sha1.lo sha2.lo str2host.lo tsig.lo update.lo util.lo wire2host.lo zone.lo
+LDNS_LOBJS     = buffer.lo dname.lo dnssec.lo dnssec_sign.lo dnssec_verify.lo dnssec_zone.lo error.lo higher.lo host2str.lo host2wire.lo keys.lo net.lo packet.lo parse.lo rbtree.lo rdata.lo resolver.lo rr.lo rr_functions.lo sha1.lo sha2.lo str2host.lo tsig.lo update.lo util.lo wire2host.lo zone.lo 
+LDNS_LOBJS_EX  = ^linktest\.c$$
 LDNS_ALL_LOBJS = $(LDNS_LOBJS) $(LIBLOBJS)
 
-LDNS_HEADERS   = buffer.h dname.h dnssec.h dnssec_sign.h dnssec_verify.h dnssec_zone.h error.h higher.h host2str.h host2wire.h keys.h ldns.h packet.h parse.h rbtree.h rdata.h resolver.h rr_functions.h rr.h sha1.h sha2.h str2host.h tsig.h update.h wire2host.h zone.h
+LDNS_HEADERS   = buffer.h dname.h dnssec.h dnssec_sign.h dnssec_verify.h dnssec_zone.h error.h higher.h host2str.h host2wire.h keys.h ldns.h packet.h parse.h rbtree.h rdata.h resolver.h rr_functions.h rr.h sha1.h sha2.h str2host.h tsig.h update.h wire2host.h zone.h 
+LDNS_HEADERS_EX        = ^config\.h|common\.h|util\.h|net\.h$$
 LDNS_HEADERS_GEN= common.h util.h net.h
 
 PYLDNS_I_FILES = $(pywrapdir)/file_py3.i $(pywrapdir)/ldns_buffer.i $(pywrapdir)/ldns_dname.i $(pywrapdir)/ldns_dnssec.i $(pywrapdir)/ldns.i $(pywrapdir)/ldns_key.i $(pywrapdir)/ldns_packet.i $(pywrapdir)/ldns_rdf.i $(pywrapdir)/ldns_resolver.i $(pywrapdir)/ldns_rr.i $(pywrapdir)/ldns_zone.i
@@ -67,19 +69,25 @@ PYLDNS_I_FILES      = $(pywrapdir)/file_py3.i $(pywrapdir)/ldns_buffer.i $(pywrapdir)
 DRILL_LOBJS    = drill/chasetrace.lo drill/dnssec.lo drill/drill.lo drill/drill_util.lo drill/error.lo drill/root.lo drill/securetrace.lo drill/work.lo
 
 EXAMPLE_LOBJS  = examples/ldns-chaos.lo examples/ldns-compare-zones.lo examples/ldnsd.lo examples/ldns-dpa.lo examples/ldns-gen-zone.lo examples/ldns-key2ds.lo examples/ldns-keyfetcher.lo examples/ldns-keygen.lo examples/ldns-mx.lo examples/ldns-notify.lo examples/ldns-nsec3-hash.lo examples/ldns-read-zone.lo examples/ldns-resolver.lo examples/ldns-revoke.lo examples/ldns-rrsig.lo examples/ldns-signzone.lo examples/ldns-test-edns.lo examples/ldns-testns.lo examples/ldns-testpkts.lo examples/ldns-update.lo examples/ldns-verify-zone.lo examples/ldns-version.lo examples/ldns-walk.lo examples/ldns-zcat.lo examples/ldns-zsplit.lo
+EXAMPLE_PROGS  = examples/ldns-chaos examples/ldns-compare-zones examples/ldnsd examples/ldns-dpa examples/ldns-gen-zone examples/ldns-key2ds examples/ldns-keyfetcher examples/ldns-keygen examples/ldns-mx examples/ldns-notify examples/ldns-nsec3-hash examples/ldns-read-zone examples/ldns-resolver examples/ldns-revoke examples/ldns-rrsig examples/ldns-signzone examples/ldns-test-edns examples/ldns-update examples/ldns-verify-zone examples/ldns-version examples/ldns-walk examples/ldns-zcat examples/ldns-zsplit 
+EX_PROGS_BASENM        = ldns-chaos ldns-compare-zones ldnsd ldns-dpa ldns-gen-zone ldns-key2ds ldns-keyfetcher ldns-keygen ldns-mx ldns-notify ldns-nsec3-hash ldns-read-zone ldns-resolver ldns-revoke ldns-rrsig ldns-signzone ldns-test-edns ldns-update ldns-verify-zone ldns-version ldns-walk ldns-zcat ldns-zsplit 
+EXAMPLE_PROGS_EX= ^examples/ldns-testpkts\.c|examples/ldns-testns\.c$$
+TESTNS         = examples/ldns-testns
+TESTNS_LOBJS   = examples/ldns-testns.lo examples/ldns-testpkts.lo
 
 COMPILE                = $(CC) $(CPPFLAGS) $(CFLAGS)
 COMP_LIB       = $(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS)
 LINK           = $(CC) $(CFLAGS) $(LDFLAGS) $(LIBS)
 LINK_LIB       = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) \
                  $(LIBS) -version-number $(version_info) -no-undefined
-LINK_EXE       = $(LIBTOOL) --mode=link $(CC) $(CPPFLAGS) $(LIBSSL_CPPFLAGS) $(CFLAGS) $(LDFLAGS)
+LINK_EXE       = $(LIBTOOL) --mode=link $(CC) $(CPPFLAGS) \
+                           $(LIBSSL_CPPFLAGS) $(CFLAGS) $(LDFLAGS)
 
 .PHONY:        clean realclean docclean manpages doc lint all lib pyldns test
 .PHONY: install uninstall install-doc uninstall-doc uninstall-pyldns
 .PHONY: install-h uninstall-h install-lib uninstall-lib install-pyldns
 
-all:           setup-builddir lib linktest manpages @PYLDNS@
+all:   setup-builddir lib linktest manpages @PYLDNS@ @DRILL@ @EXAMPLES@
 
 .SUFFIXES: .c .o .a .lo .h .i
 
@@ -99,10 +107,50 @@ setup-builddir:
        @if [ ! -d include/ldns ] ; then ln -s ../ldns include/ldns || echo "include/ldns exists"; fi
 
 drill: drill/drill
-drill/drill: $(DRILL_LOBJS) libldns.la
+drill/drill: $(DRILL_LOBJS) $(LIB)
        $(LINK_EXE) $(DRILL_LOBJS) $(LIBS) -lldns -o drill/drill
 
-examples: $(EXAMPLE_LOBJS)
+install-drill: drill/drill
+       $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
+       $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)
+       $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
+       $(LIBTOOL) --mode=install cp drill/drill $(DESTDIR)$(bindir)
+       $(INSTALL) -m 644 $(srcdir)/drill/drill.1 $(DESTDIR)$(mandir)/man1/drill.1
+
+uninstall-drill:
+       rm -f $(DESTDIR)$(bindir)/drill $(DESTDIR)$(mandir)/man1/drill.1
+       [ ! -d $(DESTDIR)$(mandir) ] || rmdir -p $(DESTDIR)$(mandir)/man1 || :;
+       [ ! -d $(DESTDIR)$(bindir) ] || rmdir -p $(DESTDIR)$(bindir) || : ;
+
+clean-drill:
+       rm -f $(DRILL_LOBJS) $(DRILL_LOBJS:.lo=.o) drill/drill
+
+examples:  $(EXAMPLE_PROGS) $(TESTNS)
+$(EXAMPLE_PROGS): $(EXAMPLE_LOBJS) $(LIB)
+       $(LINK_EXE) $@.lo $(LIBS) -lldns -o $@
+
+$(TESTNS): $(TESTNS_LOBJS) $(LIB)
+       $(LINK_EXE) $(TESTNS_LOBJS) $(LIBS) -lldns -o $(TESTNS)
+
+install-examples: $(EXAMPLE_PROGS) $(TESTNS)
+       $(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
+       $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)
+       $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
+       for p in $(EXAMPLE_PROGS) $(TESTNS) ; do \
+               $(LIBTOOL) --mode=install cp $$p $(DESTDIR)$(bindir) ; \
+               $(INSTALL) -m 644 $(srcdir)/$$p.1 $(DESTDIR)$(mandir)/man1 ; \
+       done
+
+uninstall-examples:
+       for p in $(EX_PROGS_BASENM) ldns-testns ; do \
+               rm -f $(DESTDIR)$(bindir)/$$p $(DESTDIR)$(mandir)/man1/$$p.1 ;\
+       done
+       [ ! -d $(DESTDIR)$(mandir) ] || rmdir -p $(DESTDIR)$(mandir)/man1 || :;
+       [ ! -d $(DESTDIR)$(bindir) ] || rmdir -p $(DESTDIR)$(bindir) || : ;
+
+clean-examples:
+       rm -f $(EXAMPLE_PROGS) $(TESTNS) \
+               $(EXAMPLE_LOBJS) $(EXAMPLE_LOBJS:.lo=.o) 
 
 linktest:      $(srcdir)/linktest.c libldns.la
                $(LIBTOOL) --mode=link $(CC) $(srcdir)/linktest.c $(CPPFLAGS) $(LIBSSL_CPPFLAGS) $(CFLAGS) -lldns $(LIBS) -o linktest
@@ -145,9 +193,9 @@ ldns_wrapper.lo:    $(pywrapdir)/ldns_wrapper.c ldns/config.h
 _ldns.la: ldns_wrapper.lo libldns.la 
        $(LIBTOOL) --tag=CC --mode=link $(CC) $(CFLAGS) $(PYTHON_CFLAGS) $(LDFLAGS) $(PYTHON_LDFLAGS) -module -version-number $(version_info) -no-undefined -o $@ $< -rpath $(python_site) -L. -L.libs -lldns $(LIBS)
 
-install:       install-h install-lib install-config install-manpages $(pyldns_inst) $(pyldnsx_inst)
+install:       install-h install-lib install-config install-manpages $(pyldns_inst) $(pyldnsx_inst) @INSTALL_DRILL@ @INSTALL_EXAMPLES@
 
-uninstall:     uninstall-manpages uninstall-config uninstall-h uninstall-lib $(pyldns_uninst) $(pyldnsx_uninst)
+uninstall:     uninstall-manpages uninstall-config uninstall-h uninstall-lib $(pyldns_uninst) $(pyldnsx_uninst) @UNINSTALL_DRILL@ @UNINSTALL_EXAMPLES@
 
 destclean:     uninstall
 
@@ -220,8 +268,9 @@ install-pyldnsx:
 uninstall-pyldnsx:
                rm -f $(DESTDIR)$(python_site)/ldnsx.py
 
-clean:
+clean: @CLEAN_DRILL@ @CLEAN_EXAMPLES@
        rm -f *.o *.d *.lo
+       rm -f $(LIBOBJS) $(LOBLOBJS)
        rm -f *~
        rm -rf autom4te.cache/
        rm -f tags
@@ -296,15 +345,17 @@ symbols: lib-export-all
        nm -g lib/libldns.so | cut -d " " -f 3 | grep ldns | sort > $(srcdir)/ldns_symbols.def
 
 TMP_FILE=temporary.tmp
-make:
+sources:
        for mf in $(srcdir)/Makefile.in Makefile ; do \
                if [ -e $$mf ] ; then \
                        cp $$mf $$mf.bak ;\
-                       sed     -e 's/^LDNS_LOBJS[      ]*=.*$$/LDNS_LOBJS      = '"`(cd $(srcdir); echo *.c | sed 's/\.c/\.lo/g')`"'/g' \
-                               -e 's/^LDNS_HEADERS[    ]*=.*$$/LDNS_HEADERS    = '"`(cd $(srcdir)/ldns; echo *.h)`"'/g' \
+                       sed     -e 's/^LDNS_LOBJS[      ]*=.*$$/LDNS_LOBJS      = '"`(cd $(srcdir); ls -1 *.c | egrep -v '$(LDNS_LOBJS_EX)' | sed 's/\.c/\.lo/g' | tr '\n' ' ')`"'/g' \
+                               -e 's/^LDNS_HEADERS[    ]*=.*$$/LDNS_HEADERS    = '"`(cd $(srcdir)/ldns; ls -1 *.h | egrep -v '$(LDNS_HEADERS_EX)' | tr '\n' ' ')`"'/g' \
                                -e 's?^PYLDNS_I_FILES[  ]*=.*$$?PYLDNS_I_FILES  = '"`(cd $(srcdir)/contrib; echo python/*.i | sed 's/python/\$$(pywrapdir)/g')`"'?g' \
                                -e 's?^DRILL_LOBJS[     ]*=.*$$?DRILL_LOBJS     = '"`(cd $(srcdir); echo drill/*.c | sed 's/\.c/\.lo/g')`"'?g' \
                                -e 's?^EXAMPLE_LOBJS[   ]*=.*$$?EXAMPLE_LOBJS   = '"`(cd $(srcdir); echo examples/*.c | sed 's/\.c/\.lo/g')`"'?g' \
+                               -e 's?^EXAMPLE_PROGS[   ]*=.*$$?EXAMPLE_PROGS   = '"`(cd $(srcdir); ls -1 examples/*.c | egrep -v '$(EXAMPLE_PROGS_EX)' | sed 's/\.c//g' | tr '\n' ' ')`"'?g' \
+                               -e 's?^EX_PROGS_BASENM[         ]*=.*$$?EX_PROGS_BASENM = '"`(cd $(srcdir); ls -1 examples/*.c | egrep -v '$(EXAMPLE_PROGS_EX)' | sed -e 's/\.c//g' -e 's?examples/??g' | tr '\n' ' ')`"'?g' \
                                $$mf > $(TMP_FILE) ;\
                        mv $(TMP_FILE) $$mf ;\
                fi;\
index 485ad162cbaa8acfd22ea2bb83493afedb2d1b04..97f01d126503e7b4d8d0ce2c2cdfe9a34544c0ef 100644 (file)
@@ -69,6 +69,7 @@ ACX_CHECK_COMPILER_FLAG(Wall, [CFLAGS="-Wall $CFLAGS"])
 ACX_CHECK_COMPILER_FLAG(W, [CFLAGS="-W $CFLAGS"])
 ACX_CHECK_COMPILER_FLAG(Wwrite-strings, [CFLAGS="-Wwrite-strings $CFLAGS"])
 
+
 AC_CHECK_HEADERS([getopt.h time.h],,, [AC_INCLUDES_DEFAULT])
 
 # MinGW32 tests
@@ -94,6 +95,38 @@ AC_CHECK_PROG(doxygen, doxygen, doxygen)
 AC_SEARCH_LIBS([socket], [socket])
 AC_SEARCH_LIBS([inet_pton], [nsl])
 
+
+AC_ARG_WITH(drill, AC_HELP_STRING([--with-drill], 
+ [Also build drill.]), 
+ [],[with_drill="no"])
+if test x_$with_drill != x_no; then
+       AC_SUBST(DRILL,[drill])
+       AC_SUBST(INSTALL_DRILL,[install-drill])
+       AC_SUBST(UNINSTALL_DRILL,[uninstall-drill])
+       AC_SUBST(CLEAN_DRILL,[clean-drill])
+else
+       AC_SUBST(DRILL,[""])
+       AC_SUBST(INSTALL_DRILL,[""])
+       AC_SUBST(UNINSTALL_DRILL,[""])
+       AC_SUBST(CLEAN_DRILL,[""])
+fi
+
+
+AC_ARG_WITH(examples, AC_HELP_STRING([--with-examples], 
+ [Also build examples.]), 
+ [],[with_examples="no"])
+if test x_$with_examples != x_no; then
+       AC_SUBST(EXAMPLES,[examples])
+       AC_SUBST(INSTALL_EXAMPLES,[install-examples])
+       AC_SUBST(UNINSTALL_EXAMPLES,[uninstall-examples])
+       AC_SUBST(CLEAN_EXAMPLES,[clean-examples])
+else
+       AC_SUBST(EXAMPLES,[""])
+       AC_SUBST(INSTALL_EXAMPLES,[""])
+       AC_SUBST(UNINSTALL_EXAMPLES,[""])
+       AC_SUBST(CLEAN_EXAMPLES,[""])
+fi
+
 # check for python
 PYTHON_X_CFLAGS=""
 ldns_with_pyldns=no
@@ -267,7 +300,7 @@ LDFLAGS=$tmp_LDFLAGS
 LIBS=$tmp_LIBS
 
 # add option to disable installation of ldns-config script
-AC_ARG_ENABLE(ldns-config, [ --disable-ldns-config          disable installation of ldns-config (default=enabled)],
+AC_ARG_ENABLE(ldns-config, [ --disable-ldns-config     disable installation of ldns-config (default=enabled)],
        enable_ldns_config=$enableval, enable_ldns_config=yes)
 if test "x$enable_ldns_config" = xyes; then
        INSTALL_LDNS_CONFIG="yes"
@@ -591,4 +624,6 @@ AC_CONFIG_HEADER([ldns/config.h])
 AC_OUTPUT
 COPY_HEADER_FILES(ldns/, ldns/)
 
-AC_CONFIG_SUBDIRS([drill])
+dnl AC_CONFIG_SUBDIRS([drill])
+
+