See detailed changes below. Basically, moved src/src to

src/commit and moved top level configure/build to src.
Added support for building into a different directory
(for example, mkdir build ; cd build ; ../configure ;
make ).

	modified:   README.md
	renamed:    src/src/AUTHORS -> src/AUTHORS
	renamed:    src/src/COPYING -> src/COPYING
	renamed:    src/src/INSTALL -> src/INSTALL
	new file:   src/Makefile
	renamed:    src/src/NEWS -> src/NEWS
	renamed:    src/src/README -> src/README
	renamed:    src/src/.DS_Store -> src/common/.DS_Store
	renamed:    src/src/.deps/example_all_functions.Po -> src/common/.deps/example_all_functions.Po
	renamed:    src/src/.deps/example_simple_answers.Po -> src/common/.deps/example_simple_answers.Po
	renamed:    src/src/.deps/example_synchronous.Po -> src/common/.deps/example_synchronous.Po
	renamed:    src/src/.deps/example_tree.Po -> src/common/.deps/example_tree.Po
	renamed:    src/src/ChangeLog -> src/common/ChangeLog
	new file:   src/common/Makefile
	new file:   src/common/Makefile.in
	renamed:    src/src/Makefile.in -> src/common/Makefile.in~
	renamed:    src/src/aclocal.m4 -> src/common/aclocal.m4
	renamed:    src/src/config.h.in -> src/common/config.h.in
	new file:   src/common/config.log
	renamed:    src/src/configure.ac -> src/common/configure.ac
	renamed:    src/src/depcomp -> src/common/depcomp
	renamed:    src/src/example-all-functions.c -> src/common/example-all-functions.c
	renamed:    src/src/example-simple-answers.c -> src/common/example-simple-answers.c
	renamed:    src/src/example-synchronous.c -> src/common/example-synchronous.c
	renamed:    src/src/example-tree.c -> src/common/example-tree.c
	renamed:    src/src/getdns_core_only.c -> src/common/getdns_core_only.c
	renamed:    src/src/getdns_core_only.h -> src/common/getdns_core_only.h
	renamed:    src/src/getdns_libevent.h -> src/common/getdns_libevent.h
	renamed:    src/src/index.html -> src/common/index.html
	renamed:    src/src/install-sh -> src/common/install-sh
	renamed:    src/src/make-examples-linux.sh -> src/common/make-examples-linux.sh
	renamed:    src/src/make-examples-mac.sh -> src/common/make-examples-mac.sh
	new file:   src/configure.ac
This commit is contained in:
Melinda Shore 2013-06-30 19:36:46 -08:00
parent 15932f2774
commit c9e2a923ac
33 changed files with 234 additions and 11 deletions

View File

@ -1,12 +1,12 @@
getdns API
==========
* Date: 2013-06-20
* Date: 2013-06-27
* GitHub: <https://github.com/verisign/getdns>
getdns is a [modern asynchronous DNS API] intended to make all types of DNS information easily available as described by Paul Hoffman. This implementation is licensed under the [MIT license](http://opensource.org/licenses/MIT).
This file captures the goals and direcxtion of the project and the current state of the implementation.
This file captures the goals and direction of the project and the current state of the implementation.
The goals of this implemtation of the getdns API are:
@ -23,14 +23,14 @@ Contributors
============
Neel Goyal, Verisign, Inc.
Allison Mankin, Verisign, Inc.
Melinda Shore
Melinda Shore, No Mountain Software LLC
Glen Wiley, Verisign, Inc.
External Dependencies
=====================
External dependencies are linked outside the getdns API build tree (we rely on configure to find them).
The project relies on [libdns from NL](https://www.nlnetlabs.nl/projects/ldns/) for parsing and constructing DNS packets. Version 1.6.16
The project relies on [libldns from NL](https://www.nlnetlabs.nl/projects/ldns/) for parsing and constructing DNS packets. Version 1.6.16 (note that building ldns may require openssl headers and libraries)
Although [libevent](http://libevent.org) is used initially to implement the asynchronous model, future work may include a move to other mechanisms (epoll based etc.). Version 2.0.21 stable

50
src/Makefile Normal file
View File

@ -0,0 +1,50 @@
#
# Makefile. Generated from Makefile.in by configure.
#
package = getdns
version = 0.320
tarname = getdns
distdir = $(tarname)-$(version)
prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
srcdir = .
all clean getdns:
cd common && $(MAKE) $@
$(distdir): FORCE
mkdir -p $(distdir)/src
cp $(srcdir)/configure.ac $(distdir)
cp $(srcdir)/configure $(distdir)
cp $(srcdir)/Makefile.in $(distdir)
cp $(srcdir)/src/Makefile.in $(distdir)/src
distcheck: $(distdir).tar.gz
gzip -cd $(distdir).tar.gz | tar xvf -
cd $(distdir) && ./configure
cd $(distdir) && $(MAKE) all
cd $(distdir) && $(MAKE) check
cd $(distdir) && $(MAKE) DESTDIR=$${PWD}/_inst install
cd $(distdir) && $(MAKE) DESTDIR=$${PWD}/_inst uninstall
@remaining="`find $${PWD}/$(distdir)/_inst -type f | wc -l`"; \
if test "$${remaining}" -ne 0; then
echo "@@@ $${remaining} file(s) remaining in stage directory!"; \
exit 1; \
fi
cd $(distdir) && $(MAKE) clean
rm -rf $(distdir)
@echo "*** Package $(distdir).tar.gz is ready for distribution"
Makefile: Makefile.in config.status
./config.status $@
configure.status: configure
./config.status --recheck
.PHONY: all clean

64
src/common/Makefile Normal file
View File

@ -0,0 +1,64 @@
#
# common/Makefile. Generated from Makefile.in by configure.
#
package = getdns
version = 0.320
tarname = getdns
distdir = $(tarname)-$(version)
prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
srcdir = .
CC=gcc
CFLAGS=-g -I$(srcdir)/ -std=c99
LDFLAGS=-L.
LDLIBS=-levent_core -lldns -lgetdns
PROGRAMS=example-simple-answers example-tree example-all-functions example-synchronous
all: libgetdns example-simple-answers example-tree example-all-functions example-synchronous
getdns_core_only.o: getdns_core_only.c
$(CC) -c -Wall -fPIC $(CFLAGS) $^
libgetdns: getdns_core_only.c
$(CC) $(CFLAGS) -shared -o libgetdns.so $^
clean:
rm -f *.o $(PROGRAMS) libgetdns.so
$(distdir): FORCE
mkdir -p $(distdir)/src
cp configure.ac $(distdir)
cp configure $(distdir)
cp Makefile.in $(distdir)
cp src/Makefile.in $(distdir)/src
distcheck: $(distdir).tar.gz
gzip -cd $(distdir).tar.gz | tar xvf -
cd $(distdir) && ./configure
cd $(distdir) && $(MAKE) all
cd $(distdir) && $(MAKE) check
cd $(distdir) && $(MAKE) DESTDIR=$${PWD}/_inst install
cd $(distdir) && $(MAKE) DESTDIR=$${PWD}/_inst uninstall
@remaining="`find $${PWD}/$(distdir)/_inst -type f | wc -l`"; \
if test "$${remaining}" -ne 0; then
echo "@@@ $${remaining} file(s) remaining in stage directory!"; \
exit 1; \
fi
cd $(distdir) && $(MAKE) clean
rm -rf $(distdir)
@echo "*** Package $(distdir).tar.gz is ready for distribution"
Makefile: Makefile.in ../config.status
cd .. && ./config.status $@
configure.status: configure
cd .. && ./config.status --recheck
.PHONY: clean

View File

@ -15,14 +15,11 @@ srcdir = @srcdir@
VPATH = @srcdir@
CC=gcc
CFLAGS=-g -I. -std=c99
CFLAGS=-g -I$(srcdir)/ -std=c99
LDFLAGS=-L.
LDLIBS=-levent_core -lldns -lgetdns
PROGRAMS=example-simple-answers example-tree example-all-functions example-synchronous
# example-simple-answers.c example-tree.c
# example-all-functions.c example-synchronous.c getdns_core_only.c
all: libgetdns example-simple-answers example-tree example-all-functions example-synchronous
getdns_core_only.o: getdns_core_only.c
@ -57,11 +54,11 @@ distcheck: $(distdir).tar.gz
rm -rf $(distdir)
@echo "*** Package $(distdir).tar.gz is ready for distribution"
Makefile: Makefile.in config.status
./config.status $@
Makefile: Makefile.in ../config.status
cd .. && ./config.status $@
configure.status: configure
./config.status --recheck
cd .. && ./config.status --recheck
.PHONY: clean

64
src/common/Makefile.in~ Normal file
View File

@ -0,0 +1,64 @@
#
# @configure_input@
#
package = @PACKAGE_NAME@
version = @PACKAGE_VERSION@
tarname = @PACKAGE_TARNAME@
distdir = $(tarname)-$(version)
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
srcdir = @srcdir@
VPATH = @srcdir@
CC=gcc
CFLAGS=-g -I. -std=c99
LDFLAGS=-L.
LDLIBS=-levent_core -lldns -lgetdns
PROGRAMS=example-simple-answers example-tree example-all-functions example-synchronous
all: libgetdns example-simple-answers example-tree example-all-functions example-synchronous
getdns_core_only.o: getdns_core_only.c
$(CC) -c -Wall -fPIC $(CFLAGS) $^
libgetdns: getdns_core_only.c
$(CC) $(CFLAGS) -shared -o libgetdns.so $^
clean:
rm -f *.o $(PROGRAMS) libgetdns.so
$(distdir): FORCE
mkdir -p $(distdir)/src
cp configure.ac $(distdir)
cp configure $(distdir)
cp Makefile.in $(distdir)
cp src/Makefile.in $(distdir)/src
distcheck: $(distdir).tar.gz
gzip -cd $(distdir).tar.gz | tar xvf -
cd $(distdir) && ./configure
cd $(distdir) && $(MAKE) all
cd $(distdir) && $(MAKE) check
cd $(distdir) && $(MAKE) DESTDIR=$${PWD}/_inst install
cd $(distdir) && $(MAKE) DESTDIR=$${PWD}/_inst uninstall
@remaining="`find $${PWD}/$(distdir)/_inst -type f | wc -l`"; \
if test "$${remaining}" -ne 0; then
echo "@@@ $${remaining} file(s) remaining in stage directory!"; \
exit 1; \
fi
cd $(distdir) && $(MAKE) clean
rm -rf $(distdir)
@echo "*** Package $(distdir).tar.gz is ready for distribution"
Makefile: Makefile.in ../config.status
cd .. && ./config.status $@
configure.status: configure
cd .. && ./config.status --recheck
.PHONY: clean

17
src/common/config.log Normal file
View File

@ -0,0 +1,17 @@
## ---------------------- ##
## Running config.status. ##
## ---------------------- ##
This file was extended by getdns config.status 0.320, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES =
CONFIG_HEADERS =
CONFIG_LINKS =
CONFIG_COMMANDS =
$ ../config.status Makefile
on ubuntu-11-10
config.status:737: creating Makefile

31
src/configure.ac Normal file
View File

@ -0,0 +1,31 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
# @configure_input@
#
AC_PREREQ([2.68])
AC_INIT([getdns], [0.320], [melinda.shore@nomountain.net])
# AM_INIT_AUTOMAKE([getkey], [0.320])
AC_CONFIG_SRCDIR([configure.ac])
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
AC_CHECK_LIB([event_core], [event_base_new])
AC_CHECK_LIB([getdns], [getdns_context_create])
AC_CHECK_LIB([ldns], [ldns_dname_new_frm_str])
# Checks for header files.
AC_CHECK_HEADERS([inttypes.h netinet/in.h stdint.h stdlib.h string.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_HEADER_STDBOOL
AC_TYPE_SIZE_T
AC_TYPE_UINT16_T
AC_TYPE_UINT32_T
AC_TYPE_UINT64_T
AC_TYPE_UINT8_T
AC_CONFIG_FILES([Makefile common/Makefile])
AC_OUTPUT