From e05ddc70f1fa6d1e8253d69c5d17e69bfad2be90 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 3 Aug 2009 11:44:51 +0100 Subject: [PATCH] daemon: use gnulib * daemon/Makefile.am (SUBDIRS): Define. (AM_CPPFLAGS): Define, to include from gnulib's lib/ (LDADD): Define, to link with gnulib's libgnu.a. * daemon/configure.ac: Use AC_CONFIG_AUX_DIR([build-aux]), gl_EARLY and gl_INIT. (AC_CONFIG_FILES): Add lib/Makefile and tests/Makefile * daemon/m4/gnulib-cache.m4: New file, generated by running ../.gnulib/gnulib-tool --import --with-tests hash * daemon/.gitignore: Ignore all of the imported files. build: tell bootstrap about daemon/ * bootstrap: Run gnulib-tool --update in daemon/. Remove bootstrap's --gnulib-srcdir option, because it probably didn't work, and even if it did, we've discovered that using a separate git repo like that can lead to subtle mix-ups. --- bootstrap | 2 ++ daemon/.gitignore | 29 +++++++++++++++++++++++++++++ daemon/Makefile.am | 4 ++++ daemon/configure.ac | 6 +++++- daemon/m4/gnulib-cache.m4 | 35 +++++++++++++++++++++++++++++++++++ 5 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 daemon/.gitignore create mode 100644 daemon/m4/gnulib-cache.m4 diff --git a/bootstrap b/bootstrap index d46b3be..0f14038 100755 --- a/bootstrap +++ b/bootstrap @@ -78,6 +78,8 @@ sed ' gnulib_tool=$GNULIB_SRCDIR/gnulib-tool <$gnulib_tool || exit +(cd daemon && $GNULIB_SRCDIR/../gnulib-tool --update) + modules=' gitlog-to-changelog gnu-make diff --git a/daemon/.gitignore b/daemon/.gitignore new file mode 100644 index 0000000..7f60faf --- /dev/null +++ b/daemon/.gitignore @@ -0,0 +1,29 @@ +build-aux +lib +link-warning.h +m4/00gnulib.m4 +m4/errno_h.m4 +m4/error.m4 +m4/exitfail.m4 +m4/extensions.m4 +m4/gnulib-common.m4 +m4/gnulib-comp.m4 +m4/gnulib-tool.m4 +m4/hash.m4 +m4/include_next.m4 +m4/inline.m4 +m4/inttostr.m4 +m4/longlong.m4 +m4/multiarch.m4 +m4/onceonly.m4 +m4/stdbool.m4 +m4/stdint.m4 +m4/stdlib_h.m4 +m4/strerror.m4 +m4/string_h.m4 +m4/unistd_h.m4 +m4/wchar.m4 +m4/wchar_t.m4 +m4/wint_t.m4 +m4/xalloc.m4 +tests diff --git a/daemon/Makefile.am b/daemon/Makefile.am index 024c097..43cc752 100644 --- a/daemon/Makefile.am +++ b/daemon/Makefile.am @@ -17,6 +17,8 @@ ACLOCAL_AMFLAGS = -I m4 +SUBDIRS = lib tests . + noinst_PROGRAMS = guestfsd guestfsd_SOURCES = \ actions.h \ @@ -76,4 +78,6 @@ guestfsd_SOURCES = \ $(top_builddir)/../src/guestfs_protocol.h \ $(top_builddir)/../src/guestfs_protocol.c +AM_CPPFLAGS = -I$(srcdir)/lib -Ilib guestfsd_CFLAGS = -Wall +LDADD = lib/libgnu.a diff --git a/daemon/configure.ac b/daemon/configure.ac index 3bfd2ed..126e125 100644 --- a/daemon/configure.ac +++ b/daemon/configure.ac @@ -16,6 +16,7 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. AC_INIT([libguestfs-daemon],[1.0.0]) +AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_MACRO_DIR([m4]) @@ -41,6 +42,9 @@ AC_PROG_CC AC_PROG_INSTALL AC_PROG_CPP +gl_EARLY +gl_INIT + AC_C_PROTOTYPES test "x$U" != "x" && AC_MSG_ERROR([Compiler not ANSI compliant]) @@ -86,5 +90,5 @@ AC_CHECK_HEADERS([attr/xattr.h sys/xattr.h]) dnl Produce output files. AC_CONFIG_HEADERS([config.h]) -AC_CONFIG_FILES([Makefile]) +AC_CONFIG_FILES([Makefile lib/Makefile tests/Makefile]) AC_OUTPUT diff --git a/daemon/m4/gnulib-cache.m4 b/daemon/m4/gnulib-cache.m4 new file mode 100644 index 0000000..8aa504a --- /dev/null +++ b/daemon/m4/gnulib-cache.m4 @@ -0,0 +1,35 @@ +# Copyright (C) 2002-2009 Free Software Foundation, Inc. +# +# This file is free software, distributed under the terms of the GNU +# General Public License. As a special exception to the GNU General +# Public License, this file may be distributed as part of a program +# that contains a configuration script generated by Autoconf, under +# the same distribution terms as the rest of that program. +# +# Generated by gnulib-tool. +# +# This file represents the specification of how gnulib-tool is used. +# It acts as a cache: It is written and read by gnulib-tool. +# In projects using CVS, this file is meant to be stored in CVS, +# like the configure.ac and various Makefile.am files. + + +# Specification in the form of a command-line invocation: +# gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --with-tests --no-libtool --macro-prefix=gl hash + +# Specification in the form of a few gnulib-tool.m4 macro invocations: +gl_LOCAL_DIR([]) +gl_MODULES([ + hash +]) +gl_AVOID([]) +gl_SOURCE_BASE([lib]) +gl_M4_BASE([m4]) +gl_PO_BASE([]) +gl_DOC_BASE([doc]) +gl_TESTS_BASE([tests]) +gl_WITH_TESTS +gl_LIB([libgnu]) +gl_MAKEFILE_NAME([]) +gl_MACRO_PREFIX([gl]) +gl_PO_DOMAIN([]) -- 1.8.3.1