diff options
author | Lennart Poettering <lennart@poettering.net> | 2006-01-19 01:00:17 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2006-01-19 01:00:17 +0000 |
commit | 56b9485f26d6811e9afe9e45ccecd5bfeb33c1a7 (patch) | |
tree | a4987e89659deb80eef55bea315fd4b0987350b4 | |
parent | a69693bfd3b9a1a278a35387f77f1e186af580ef (diff) |
add autoconf stuff
git-svn-id: file:///home/lennart/svn/public/mod_dnssd/trunk@11 634eccf8-0006-0410-930e-e16565b0b7de
-rw-r--r-- | Makefile | 30 | ||||
-rw-r--r-- | Makefile.am | 39 | ||||
-rwxr-xr-x | bootstrap.sh | 58 | ||||
-rw-r--r-- | configure.ac | 119 | ||||
-rw-r--r-- | src/Makefile.in | 39 | ||||
-rw-r--r-- | src/mod_dnssd.c (renamed from mod_dnssd.c) | 23 |
6 files changed, 267 insertions, 41 deletions
diff --git a/Makefile b/Makefile deleted file mode 100644 index 4156e3b..0000000 --- a/Makefile +++ /dev/null @@ -1,30 +0,0 @@ -# $Id$ - -APXS=/usr/bin/apxs2 -APACHECTL=apache2ctl -LIBS=$(shell pkg-config --libs avahi-client) -CFLAGS=$(shell pkg-config --cflags avahi-client) - -all: mod_dnssd.la - -mod_dnssd.la: mod_dnssd.c - $(APXS) -c $(CFLAGS) $(LIBS) mod_dnssd.c - -install: mod_dnssd.la - $(APXS) -i -a mod_dnssd.la - -clean: - rm -rf *.o *.so *.loT .deps/ *.la *.lo *.slo .libs - -reload: install restart - -start: - $(APACHECTL) start - -restart: - $(APACHECTL) restart - -stop: - $(APACHECTL) stop - -.PHONY: all install clean reload start restart stop diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..bc9e28c --- /dev/null +++ b/Makefile.am @@ -0,0 +1,39 @@ +# $Id$ + +# Copyright 2006 Lennart Poettering +# +# Licensed under the Apache License, Version 2.0 (the "License"); you +# may not use this file except in compliance with the License. You +# may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. See the License for the specific language governing +# permissions and limitations under the License. + +EXTRA_DIST=bootstrap.sh LICENSE src/mod_dnssd.c src/Makefile.in +SUBDIRS=src +# doc + +#MAINTAINERCLEANFILES = README +#noinst_DATA = README LICENSE + +#README: +# rm -f README +# $(MAKE) -C doc README +# cd $(srcdir) && ln -s doc/README README + +#homepage: all dist +# test -d $$HOME/homepage/private +# mkdir -p $$HOME/homepage/private/projects/mod_mime_xattr +# cp *.tar.gz $$HOME/homepage/private/projects/mod_mime_xattr +# cp doc/README.html doc/style.css $$HOME/homepage/private/projects/mod_mime_xattr +# cp $$HOME/homepage/private/projects/mod_mime_xattr/README.html $$HOME/homepage/private/projects/mod_mime_xattr/index.html + +#distcleancheck: +# @: + +#.PHONY: homepage distcleancheck diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100755 index 0000000..db38ffb --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# $Id$ + +# Copyright 2006 Lennart Poettering +# +# Licensed under the Apache License, Version 2.0 (the "License"); you +# may not use this file except in compliance with the License. You +# may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. See the License for the specific language governing +# permissions and limitations under the License. + +VERSION=1.9 + +run_versioned() { + local P + local V + + V=$(echo "$2" | sed -e 's,\.,,g') + + if [ -e "`which $1$V`" ] ; then + P="$1$V" + else + if [ -e "`which $1-$2`" ] ; then + P="$1-$2" + else + P="$1" + fi + fi + + shift 2 + "$P" "$@" +} + +set -ex + +if [ "x$1" = "xam" ] ; then + run_versioned automake "$VERSION" -a -c --foreign + ./config.status +else + rm -rf autom4te.cache + rm -f config.cache + + run_versioned aclocal "$VERSION" + run_versioned autoconf 2.59 -Wall + run_versioned autoheader 2.59 + run_versioned automake "$VERSION" -a -c --foreign + + if test "x$NOCONFIGURE" = "x"; then + CFLAGS="-g -O0" ./configure --sysconfdir=/etc "$@" + make clean + fi +fi diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..a4651ff --- /dev/null +++ b/configure.ac @@ -0,0 +1,119 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +# $Id$ + +# Copyright 2006 Lennart Poettering +# +# Licensed under the Apache License, Version 2.0 (the "License"); you +# may not use this file except in compliance with the License. You +# may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. See the License for the specific language governing +# permissions and limitations under the License. + +AC_PREREQ(2.57) +AC_INIT([mod_dnssd],[0.1],[mzzbqqaffq (at) 0pointer (dot) net]) +AC_CONFIG_SRCDIR([src/mod_dnssd.c]) +AC_CONFIG_HEADERS([config.h]) +AM_INIT_AUTOMAKE([foreign 1.9 -Wall]) + +AC_SUBST(PACKAGE_URL, [http://0pointer.de/lennart/projects/mod_dnssd/]) + +# Checks for programs. +AC_PROG_CC +AC_PROG_CPP +AC_PROG_INSTALL +AC_PROG_MAKE_SET + +test_gcc_flag() { + AC_LANG_CONFTEST([int main() {}]) + $CC -c conftest.c $CFLAGS $@ > /dev/null 2> /dev/null + ret=$? + rm -f conftest.o + return $ret +} + +# If using GCC specify some additional parameters +if test "x$GCC" = "xyes" ; then + + DESIRED_FLAGS="-Wall -W -Wextra -pedantic -pipe -Wformat -Wold-style-definition -Wdeclaration-after-statement -Wfloat-equal -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls -Wmissing-noreturn -Wshadow -Wendif-labels -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Winline" + + if test "x$HAVE_NETLINK" = "xyes" ; then + # Test whether rtnetlink.h can be included when compiled with -std=c99 + # some distributions (e.g. archlinux) have broken headers that dont + # define __u64 with -std=c99 + AC_MSG_CHECKING([checking whether rtnetlink.h can be included with -std=c99]) + OLDCFLAGS="$CFLAGS" + CFLAGS="-std=c99" + AC_TRY_COMPILE([#include <linux/rtnetlink.h>], [], + use_stdc99=yes, use_stdc99=no) + + if test x"$use_stdc99" = xyes; then + DESIRED_FLAGS="-std=c99 $DESIRED_FLAGS" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + + CFLAGS="$OLDCFLAGS" + else + DESIRED_FLAGS="-std=c99 $DESIRED_FLAGS" + fi + + for flag in $DESIRED_FLAGS ; do + AC_MSG_CHECKING([whether $CC accepts $flag]) + if test_gcc_flag $flag ; then + CFLAGS="$CFLAGS $flag" + AC_MSG_RESULT([yes]) + else + AC_MSG_RESULT([no]) + fi + done +fi + +AC_ARG_WITH(apxs, + AS_HELP_STRING(--with-apxs=PATH,/path/to/apxs), + [ AC_PATH_PROGS(APXS, [apxs2 apxs], "notfound", "$withval:$PATH") ], + [ AC_PATH_PROGS(APXS, [apxs2 apxs], "notfound", "/usr/local/apache/bin:/usr/local/bin:/usr/sbin:$PATH")]) + +if test "x$APXS" = "xnotfound" ; then + AC_MSG_ERROR([*** Sorry, could not find apxs ***]) +fi + +AC_ARG_WITH(apachectl, + AS_HELP_STRING(--with-apachectl=PATH,/path/to/apachectl), + [ AC_PATH_PROGS(APACHECTL, [apache2ctl apachectl], "notfound", "$withval:$PATH") ], + [ AC_PATH_PROGS(APACHECTL, [apache2ctl apachectl], "notfound", "/usr/local/apache/bin:/usr/local/bin:/usr/sbin:$PATH")]) + +PKG_CHECK_MODULES(AVAHI, [ avahi-client >= 0.6 ]) +AC_SUBST(AVAHI_CFLAGS) +AC_SUBST(AVAHI_LIBS) + +# LYNX documentation generation +AC_ARG_ENABLE(lynx, + AS_HELP_STRING(--disable-lynx,Turn off lynx usage for documentation generation), +[case "${enableval}" in + yes) lynx=yes ;; + no) lynx=no ;; + *) AC_MSG_ERROR(bad value ${enableval} for --disable-lynx) ;; +esac],[lynx=yes]) + +if test x$lynx = xyes ; then + AC_CHECK_PROG(have_lynx, lynx, yes, no) + + if test x$have_lynx = xno ; then + AC_MSG_ERROR([*** Sorry, you have to install lynx or use --disable-lynx ***]) + fi +fi + +AM_CONDITIONAL([USE_LYNX], [test "x$lynx" = xyes]) + +AC_CONFIG_FILES([src/Makefile Makefile]) +dnl AC_CONFIG_FILES([src/Makefile Makefile doc/Makefile doc/README.html]) +AC_OUTPUT diff --git a/src/Makefile.in b/src/Makefile.in new file mode 100644 index 0000000..c16ff43 --- /dev/null +++ b/src/Makefile.in @@ -0,0 +1,39 @@ +# $Id$ + +APXS=@APXS@ +APACHECTL=@APACHECTL@ +LIBS=-Wl,"@LIBS@" @AVAHI_LIBS@ +CFLAGS=-Wc,"@CFLAGS@" @AVAHI_CFLAGS@ + +all: mod_dnssd.la + +mod_dnssd.la: mod_dnssd.c + $(APXS) -c $(CFLAGS) $(LIBS) mod_dnssd.c + +install: mod_dnssd.la + $(APXS) -i -a mod_dnssd.la + +clean: + rm -rf *.o *.so *.loT .deps/ *.la *.lo *.slo .libs/ + +reload: install restart + +start: + $(APACHECTL) start + +restart: + $(APACHECTL) restart + +stop: + $(APACHECTL) stop + +mostlyclean: clean +distclean: clean +maintainer-clean: clean + rm -f Makefile + +Makefile: Makefile.in + (cd .. && ../configure.status ) + + +.PHONY: all install clean reload start restart stop mostlyclean distclean maintainer-clean diff --git a/mod_dnssd.c b/src/mod_dnssd.c index 37992b6..96206b9 100644 --- a/mod_dnssd.c +++ b/src/mod_dnssd.c @@ -32,6 +32,7 @@ #include <avahi-common/domain.h> #include <avahi-common/error.h> #include <avahi-common/alternative.h> +#include <avahi-common/gccmacro.h> #include <avahi-client/publish.h> #define MOD_DNSSD_USERDATA_KEY "mod-dnssd" @@ -269,7 +270,7 @@ static void assemble_services(struct runtime_data *r) { static void create_service(struct service_data *j); -void service_callback(AvahiEntryGroup *g, AvahiEntryGroupState state, void *userdata) { +static void service_callback(AVAHI_GCC_UNUSED AvahiEntryGroup *g, AvahiEntryGroupState state, void *userdata) { struct service_data *j = userdata; switch (state) { @@ -479,7 +480,7 @@ static void client_callback(AvahiClient *c, AvahiClientState state, void *userda } -static void sigterm(int s) { +static void sigterm(AVAHI_GCC_UNUSED int s) { const char c = 'x'; write(sigterm_pipe_fds[1], &c, sizeof(c)); } @@ -609,8 +610,8 @@ static int start_child_process(apr_pool_t *p, server_rec *server, struct global_ static int post_config( apr_pool_t *pconf, - apr_pool_t *plog, - apr_pool_t *ptemp, + AVAHI_GCC_UNUSED apr_pool_t *plog, + AVAHI_GCC_UNUSED apr_pool_t *ptemp, server_rec *s) { void *flag; @@ -630,11 +631,11 @@ static int post_config( return OK; } -static void register_hooks(apr_pool_t *p){ +static void register_hooks(AVAHI_GCC_UNUSED apr_pool_t *p){ ap_hook_post_config(post_config, NULL, NULL, APR_HOOK_LAST); } -static void *create_server_config(apr_pool_t *p, server_rec *s) { +static void *create_server_config(apr_pool_t *p, AVAHI_GCC_UNUSED server_rec *s) { struct global_config_data *d; d = apr_palloc(p, sizeof(struct global_config_data)); @@ -649,7 +650,7 @@ static void *create_server_config(apr_pool_t *p, server_rec *s) { static const char *cmd_dnssd_enable( cmd_parms *cmd, - void *mconfig, + AVAHI_GCC_UNUSED void *mconfig, int enable) { struct global_config_data *d = GET_CONFIG_DATA(cmd->server); @@ -664,7 +665,7 @@ static const char *cmd_dnssd_enable( static const char *cmd_dnssd_enable_user_dir( cmd_parms *cmd, - void *mconfig, + AVAHI_GCC_UNUSED void *mconfig, int enable) { struct global_config_data *d = GET_CONFIG_DATA(cmd->server); @@ -679,7 +680,7 @@ static const char *cmd_dnssd_enable_user_dir( static const char *cmd_dnssd_enable_vhost( cmd_parms *cmd, - void *mconfig, + AVAHI_GCC_UNUSED void *mconfig, int enable) { struct global_config_data *d = GET_CONFIG_DATA(cmd->server); @@ -694,7 +695,7 @@ static const char *cmd_dnssd_enable_vhost( static const char *cmd_dnssd_service_name( cmd_parms *cmd, - void *mconfig, + AVAHI_GCC_UNUSED void *mconfig, const char *value) { const char *err; @@ -710,7 +711,7 @@ static const char *cmd_dnssd_service_name( static const char *cmd_dnssd_service_type( cmd_parms *cmd, - void *mconfig, + AVAHI_GCC_UNUSED void *mconfig, const char *value) { const char *err; |