# HG changeset patch # User Gary V. Vaughan # Date 1286799589 -25200 # Node ID 01c6bf7ffb26e6c4dfe16f0f97b4c264b936cc11 # Parent f49fe7e6d028cf44139ab4242818cdab29201eb9 libposix: raw files to import an installable libposix project * libposix/bootstrap: New script to import gnulib posix modules and bootstrap configury so that the result is an installable libposix.la. * libposix/configure.ac: New file to configure the new libposix subdirectory. * libposix/Makefile.am: New file to delegate build duties to the generated libposix/lib/Makefile at make time. * libposix/lib/Makefile.am: New file to make sure `-version-info' is passed to libtool at libposix.la link-time. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,16 @@ 2010-10-12 Gary V. Vaughan + libposix: raw files to import an installable libposix project + * libposix/bootstrap: New script to import gnulib posix modules + and bootstrap configury so that the result is an installable + libposix.la. + * libposix/configure.ac: New file to configure the new libposix + subdirectory. + * libposix/Makefile.am: New file to delegate build duties to the + generated libposix/lib/Makefile at make time. + * libposix/lib/Makefile.am: New file to make sure `-version-info' + is passed to libtool at libposix.la link-time. + add _HEADERS primaries to Makefile.am snippets for installable headers * modules/alloca-opt, modules/arg-nonnull, modules/argz, modules/arpa_inet, modules/byteswap, modules/c++defs, modules/ctype, diff --git a/libposix/.gitignore b/libposix/.gitignore new file mode 100644 --- /dev/null +++ b/libposix/.gitignore @@ -0,0 +1,45 @@ +.deps +.libs +*.a +*.gperf +*.la +*.lo +*.o +*.output +*.valgrind +/*/glthread +/*/unistr +/*/uniwidth +Makefile +Makefile.in +aclocal.m4 +arg-nonnull.h +/autom4te.cache +c++defs.h +compile +config.* +configure +depcomp +install-sh +/lib/*.alias +/lib/*.c +/lib/*.h +/lib/*.mk +/lib/*.sed +/lib/*.sin +/lib/arpa +/lib/pt_chown +/lib/sys +libtool +ltmain.sh +/m4 +missing +stamp-h1 +/tests/*.c +/tests/*.h +/tests/*.mk +/tests/*.sh +/tests/test-* +unused-parameter.h +warn-on-use.h +/config.rpath diff --git a/libposix/Makefile.am b/libposix/Makefile.am new file mode 100644 --- /dev/null +++ b/libposix/Makefile.am @@ -0,0 +1,4 @@ +ACLOCAL_AMFLAGS = -I m4 +SUBDIRS = lib tests +DIST_SUBDIRS = $(SUBDIRS) +EXTRA_DIST = bootstrap m4/gnulib-cache.m4 diff --git a/libposix/bootstrap b/libposix/bootstrap new file mode 100755 --- /dev/null +++ b/libposix/bootstrap @@ -0,0 +1,55 @@ +#! /bin/sh + +PATH=..:$PATH + +gnulib-tool --import --lib=libposix --makefile-name=gnulib.mk \ + --macro-prefix=LIBPOSIX --libtool --no-changelog --symlink \ + --with-tests --with-c++-tests --with-longrunning-tests \ + libposix + +mv tests/gnulib.mk tests/Makefile.am + +# sanity check the module list for synchronisation issues. +echo "posix-modules : +`posix-modules` +libposix : +`gnulib-tool --extract-dependencies libposix`" |awk ' +/^$/ { next; } +/^[a-z-]+ :/ { tag=$1; next; } + { if (modules[$1]) + modules[$1] = "both"; + else + modules[$1] = tag; + } +END { # posix-modules only + header=0; + for (i in modules) + { + if ("posix-modules" == modules[i]) + { + if (0 == header) + { + print "Modules in posix-modules list only:" + header = 1 + } + printf ("\t%s\n", i); + } + } + # libposix only + header=0; + for (i in modules) + { + if ("libposix" == modules[i]) + { + if (0 == header) + { + print "Modules in libposix only:" + header = 1 + } + printf ("\t%s\n", i); + } + } + } +' + +autoreconf --force --install --verbose --symlink diff --git a/libposix/configure.ac b/libposix/configure.ac new file mode 100644 --- /dev/null +++ b/libposix/configure.ac @@ -0,0 +1,25 @@ +AC_INIT([GNU libposix], [20101011], [bug-gnulib@gnu.org]) + +dnl this should be AC_REQUIRED by gnulib modules that need it, +dnl but either a couple of modules have forgotten it, or else +dnl AC_REQUIRE is emitting macro expansions out of order +AC_USE_SYSTEM_EXTENSIONS + +dnl we can't use AC_CONFIG_AUX_DIR here, because the heuristics +dnl for finding install-sh in the generated configure script +dnl consider this directory to be a subproject of gnulib proper, +dnl and will only look for install-sh in . and .. :( +dnl AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_MACRO_DIR([m4]) +AC_CONFIG_HEADER([config.h]) +AC_CONFIG_FILES([Makefile lib/Makefile tests/Makefile]) + +AM_INIT_AUTOMAKE([foreign]) +LT_INIT + +AC_PROG_CC +LIBPOSIX_EARLY +AM_PROG_CC_C_O +LIBPOSIX_INIT + +AC_OUTPUT diff --git a/libposix/lib/Makefile.am b/libposix/lib/Makefile.am new file mode 100644 --- /dev/null +++ b/libposix/lib/Makefile.am @@ -0,0 +1,17 @@ +BUILT_SOURCES = +EXTRA_DIST = + +EXTRA_HEADERS = +nodist_include_HEADERS = +nobase_nodist_include_HEADERS = + + +CLEANFILES = +MOSTLYCLEANDIRS = +MOSTLYCLEANFILES = +MAINTAINERCLEANFILES = + +include gnulib.mk + + +libposix_la_LDFLAGS += -version-info 0:0:0