diff options
author | Bruno Haible <bruno@clisp.org> | 2021-12-15 19:59:01 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2021-12-15 19:59:01 +0100 |
commit | a3c4f3ffbed121b02ed44a6ddf6cfdd16e5b05e9 (patch) | |
tree | eb6e2f749d3232984971773f18fd01043f35f38c /examples/hello-c-gnulib-nonrecursive | |
parent | b2bd0a9041ed7401fb69f59f7450abb8b3249ecb (diff) | |
download | gnulib-a3c4f3ffbed121b02ed44a6ddf6cfdd16e5b05e9.tar.gz |
Add simple examples.
* examples: New directory.
Diffstat (limited to 'examples/hello-c-gnulib-nonrecursive')
-rw-r--r-- | examples/hello-c-gnulib-nonrecursive/INSTALL | 8 | ||||
-rw-r--r-- | examples/hello-c-gnulib-nonrecursive/Makefile.am | 28 | ||||
-rwxr-xr-x | examples/hello-c-gnulib-nonrecursive/autoclean.sh | 30 | ||||
-rwxr-xr-x | examples/hello-c-gnulib-nonrecursive/autogen.sh | 48 | ||||
-rw-r--r-- | examples/hello-c-gnulib-nonrecursive/configure.ac | 18 | ||||
-rw-r--r-- | examples/hello-c-gnulib-nonrecursive/m4/Makefile.am | 1 | ||||
-rw-r--r-- | examples/hello-c-gnulib-nonrecursive/src/hello.c | 26 | ||||
-rw-r--r-- | examples/hello-c-gnulib-nonrecursive/src/local.mk | 7 |
8 files changed, 166 insertions, 0 deletions
diff --git a/examples/hello-c-gnulib-nonrecursive/INSTALL b/examples/hello-c-gnulib-nonrecursive/INSTALL new file mode 100644 index 0000000000..062762be0f --- /dev/null +++ b/examples/hello-c-gnulib-nonrecursive/INSTALL @@ -0,0 +1,8 @@ +Installation: + ./autogen.sh + ./configure --prefix=/some/prefix + make + make install +Cleanup: + make distclean + ./autoclean.sh diff --git a/examples/hello-c-gnulib-nonrecursive/Makefile.am b/examples/hello-c-gnulib-nonrecursive/Makefile.am new file mode 100644 index 0000000000..d239c3c68f --- /dev/null +++ b/examples/hello-c-gnulib-nonrecursive/Makefile.am @@ -0,0 +1,28 @@ +# This file is in the public domain. +# +# Makefile configuration - processed by automake. + +# General automake options. +AUTOMAKE_OPTIONS = foreign no-dependencies subdir-objects +ACLOCAL_AMFLAGS = -I m4 -I gnulib-m4 + +# The list of subdirectories containing Makefiles. +SUBDIRS = + +AM_CPPFLAGS = -Ilib -I$(srcdir)/lib + +# Additional files to be distributed. +EXTRA_DIST = autogen.sh autoclean.sh gnulib-m4/gnulib-cache.m4 + +BUILT_SOURCES = +SUFFIXES = +MOSTLYCLEANFILES = +MOSTLYCLEANDIRS = +CLEANFILES = +DISTCLEANFILES = +MAINTAINERCLEANFILES = + +noinst_LIBRARIES = + +include lib/gnulib.mk +include src/local.mk diff --git a/examples/hello-c-gnulib-nonrecursive/autoclean.sh b/examples/hello-c-gnulib-nonrecursive/autoclean.sh new file mode 100755 index 0000000000..bb8789d972 --- /dev/null +++ b/examples/hello-c-gnulib-nonrecursive/autoclean.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# This file is in the public domain. +# +# Script for cleaning all autogenerated files. + +test ! -f Makefile || make distclean + +# Generated by aclocal. +rm -f aclocal.m4 + +# Generated by autoconf. +rm -f configure + +# Generated by autoheader. +rm -f config.h.in + +# Generated or brought in by automake. +rm -f Makefile.in +rm -f m4/Makefile.in +rm -f build-aux/compile +rm -f build-aux/depcomp +rm -f build-aux/install-sh +rm -f build-aux/missing +rm -f build-aux/config.guess +rm -f build-aux/config.sub + +# Generated or brought in by gnulib-tool. +rm -rf lib gnulib-m4 +rm -f build-aux/ar-lib +rm -f build-aux/prefix-gnulib-mk diff --git a/examples/hello-c-gnulib-nonrecursive/autogen.sh b/examples/hello-c-gnulib-nonrecursive/autogen.sh new file mode 100755 index 0000000000..eb97f95975 --- /dev/null +++ b/examples/hello-c-gnulib-nonrecursive/autogen.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# This file is in the public domain. +# +# Script for regenerating all autogenerated files. + +# Usage: ./autogen.sh [--skip-gnulib] + +skip_gnulib=false +while :; do + case "$1" in + --skip-gnulib) skip_gnulib=true; shift;; + *) break ;; + esac +done + +if test $skip_gnulib = false; then + if test -n "$GNULIB_SRCDIR"; then + test -d "$GNULIB_SRCDIR" || { + echo "*** GNULIB_SRCDIR is set but does not point to an existing directory." 1>&2 + exit 1 + } + fi + # Now it should contain a gnulib-tool. + GNULIB_TOOL="$GNULIB_SRCDIR/gnulib-tool" + test -f "$GNULIB_TOOL" || { + echo "*** gnulib-tool not found." 1>&2 + exit 1 + } + GNULIB_MODULES=' + alloca + unistd + get_ppid_of + non-recursive-gnulib-prefix-hack + ' + $GNULIB_TOOL --lib=libgnu --source-base=lib --m4-base=gnulib-m4 \ + --makefile-name=gnulib.mk \ + --import $GNULIB_MODULES + build-aux/prefix-gnulib-mk --lib-name=libgnu lib/gnulib.mk + $GNULIB_TOOL --copy-file build-aux/ar-lib; chmod a+x build-aux/ar-lib + $GNULIB_TOOL --copy-file build-aux/config.guess; chmod a+x build-aux/config.guess + $GNULIB_TOOL --copy-file build-aux/config.sub; chmod a+x build-aux/config.sub +fi + +aclocal -I m4 -I gnulib-m4 +autoconf +autoheader && touch config.h.in +automake -a -c +rm -rf autom4te.cache diff --git a/examples/hello-c-gnulib-nonrecursive/configure.ac b/examples/hello-c-gnulib-nonrecursive/configure.ac new file mode 100644 index 0000000000..d30a9ec1dc --- /dev/null +++ b/examples/hello-c-gnulib-nonrecursive/configure.ac @@ -0,0 +1,18 @@ +dnl This file is in the public domain. +dnl +dnl Configuration file - processed by autoconf. + +AC_INIT([hello-c], [0]) +AC_CONFIG_AUX_DIR([build-aux]) +AC_CONFIG_SRCDIR([src/hello.c]) +AM_INIT_AUTOMAKE + +AC_CONFIG_HEADERS([config.h]) + +AC_PROG_CC + +gl_EARLY +gl_INIT + +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT diff --git a/examples/hello-c-gnulib-nonrecursive/m4/Makefile.am b/examples/hello-c-gnulib-nonrecursive/m4/Makefile.am new file mode 100644 index 0000000000..1b336ac1a8 --- /dev/null +++ b/examples/hello-c-gnulib-nonrecursive/m4/Makefile.am @@ -0,0 +1 @@ +EXTRA_DIST = diff --git a/examples/hello-c-gnulib-nonrecursive/src/hello.c b/examples/hello-c-gnulib-nonrecursive/src/hello.c new file mode 100644 index 0000000000..239bca7347 --- /dev/null +++ b/examples/hello-c-gnulib-nonrecursive/src/hello.c @@ -0,0 +1,26 @@ +/* This file is in the public domain. + + Source code of the C program. */ + + +/* Every source file that uses Gnulib needs this. */ +#include <config.h> + +/* Get printf() declaration. */ +#include <stdio.h> + +/* Get getpid() declaration. */ +#include <unistd.h> + +/* Include Gnulib header files. */ +#include "get_ppid_of.h" + +int +main () +{ + printf ("%s\n", "Hello, world!"); + printf ("This program is running as process number %d.\n", getpid ()); + printf ("The parent process number is %d.\n", get_ppid_of (getpid ())); + + return 0; +} diff --git a/examples/hello-c-gnulib-nonrecursive/src/local.mk b/examples/hello-c-gnulib-nonrecursive/src/local.mk new file mode 100644 index 0000000000..69226118b3 --- /dev/null +++ b/examples/hello-c-gnulib-nonrecursive/src/local.mk @@ -0,0 +1,7 @@ + +# The list of programs that are built. +bin_PROGRAMS = src/hello + +# The source files of the 'hello' program. +src_hello_SOURCES = src/hello.c +src_hello_LDADD = lib/libgnu.a |