diff options
-rw-r--r-- | .gitignore | 7 | ||||
-rw-r--r-- | autoconf.mk | 38 | ||||
-rw-r--r-- | build-aux/Makefile.once.head/20-systemd.mk | 60 | ||||
-rw-r--r-- | build-aux/Makefile.once.tail/20-systemd.mk | 93 |
4 files changed, 158 insertions, 40 deletions
diff --git a/.gitignore b/.gitignore index dc4ff6e6cc..50a65d2dfe 100644 --- a/.gitignore +++ b/.gitignore @@ -27,7 +27,9 @@ /TAGS /ata_id /bootctl -/build-aux +/build-aux/* +!/build-aux/Makefile* +!/build-aux/write-ifchanged /busctl /cdrom_id /collect @@ -296,7 +298,8 @@ config.status configure stamp-* .tmp* -/config.mk +/autoconf.mk /automake.mk.in /automake.mk +/config.mk /gnustandards.mk diff --git a/autoconf.mk b/autoconf.mk deleted file mode 100644 index 77135c228b..0000000000 --- a/autoconf.mk +++ /dev/null @@ -1,38 +0,0 @@ -PACKAGE = systemd -VERSION = 229 -PACKAGE_NAME = systemd -PACKAGE_TARNAME = systemd -PACKAGE_VERSION = 229 -PACKAGE_STRING = systemd 229 -PACKAGE_BUGREPORT = http://github.com/systemd/systemd/issues -PACKAGE_URL = http://www.freedesktop.org/wiki/Software/systemd - -ACLOCAL = ${SHELL} /home/luke/src/parabola/systemd/build-aux/missing aclocal-1.15 -AUTOCONF = ${SHELL} /home/luke/src/parabola/systemd/build-aux/missing autoconf -AUTOHEADER = ${SHELL} /home/luke/src/parabola/systemd/build-aux/missing autoheader -AUTOMAKE = ${SHELL} /home/luke/src/parabola/systemd/build-aux/missing automake-1.15 -CPP = gcc -E -CPPFLAGS = -ECHO_C = -ECHO_N = -n -ECHO_T = -FGREP = /usr/bin/grep -F# Requires AC_PROG_FGREP -GPERF = gperf -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s -LIBTOOL = $(SHELL) $(top_builddir)/libtool -M4 = /usr/bin/m4 -M4_DEFINES = -DHAVE_SECCOMP -DHAVE_SELINUX -DHAVE_APPARMOR -DHAVE_PAM -DHAVE_ACL -DHAVE_SMACK -DHAVE_MICROHTTPD -DHAVE_LIBCURL -DHAVE_LIBIDN -DHAVE_LIBIPTC -DENABLE_TIMESYNCD -DENABLE_COREDUMP -DENABLE_RESOLVED -DENABLE_NETWORKD -DENABLE_KDBUS -DHAVE_SYSV_COMPAT -MANIFEST_TOOL = : -MKDIR_P = /usr/bin/mkdir -p# Requires AC_PROG_MKDIR_P -MSGFMT = /usr/bin/msgfmt -MSGMERGE = /usr/bin/msgmerge -NM = gcc-nm -NMEDIT = -OBJCOPY = objcopy -OBJDUMP = objdump -STRINGS = strings -STRIP = strip -XGETTEXT = /usr/bin/xgettext - -INSTALL_SCRIPT = ${INSTALL}# Requires AC_PROG_INSTALL -INSTALL_STRIP_PROGRAM = $(install_sh) -c -s diff --git a/build-aux/Makefile.once.head/20-systemd.mk b/build-aux/Makefile.once.head/20-systemd.mk new file mode 100644 index 0000000000..0f07c88147 --- /dev/null +++ b/build-aux/Makefile.once.head/20-systemd.mk @@ -0,0 +1,60 @@ +# -*- Mode: makefile; indent-tabs-mode: t -*- +# +# This file is part of systemd. +# +# Copyright 2010-2012 Lennart Poettering +# Copyright 2010-2012 Kay Sievers +# Copyright 2013 Zbigniew Jędrzejewski-Szmek +# Copyright 2013 David Strauss +# Copyright 2016 Luke Shumaker +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# systemd is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with systemd; If not, see <http://www.gnu.org/licenses/>. +ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} +AM_MAKEFLAGS = --no-print-directory +AUTOMAKE_OPTIONS = color-tests parallel-tests + +GCC_COLORS ?= 'ooh, shiny!' +export GCC_COLORS + +SUBDIRS = . po + +# remove targets if the command fails +.DELETE_ON_ERROR: + +# keep intermediate files +.SECONDARY: + +# Keep the test-suite.log +.PRECIOUS: $(TEST_SUITE_LOG) Makefile + +%-from-name.gperf: %-list.txt + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct $(notdir $*)_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' <$< >$@ + +%-from-name.h: %-from-name.gperf + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GPERF)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_$(notdir $*) -H hash_$(notdir $*)_name -p -C <$< >$@ + +# Stupid test that everything purported to be exported really is +define generate-sym-test + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_at)printf '#include <stdio.h>\n' > $@ + $(AM_V_at)printf '#include "%s"\n' $(notdir $(filter %.h, $^)) >> $@ + $(AM_V_at)printf 'void* functions[] = {\n' >> $@ + $(AM_V_GEN)sed -r -n 's/^ +([a-zA-Z0-9_]+);/\1,/p' $< >> $@ + $(AM_V_at)printf '};\nint main(void) {\n' >> $@ + $(AM_V_at)printf 'unsigned i; for (i=0;i<sizeof(functions)/sizeof(void*);i++) printf("%%p\\n", functions[i]);\n' >> $@ + $(AM_V_at)printf 'return 0; }\n' >> $@ +endef + diff --git a/build-aux/Makefile.once.tail/20-systemd.mk b/build-aux/Makefile.once.tail/20-systemd.mk new file mode 100644 index 0000000000..d58c892243 --- /dev/null +++ b/build-aux/Makefile.once.tail/20-systemd.mk @@ -0,0 +1,93 @@ +# -*- Mode: makefile; indent-tabs-mode: t -*- +# +# This file is part of systemd. +# +# Copyright 2010-2012 Lennart Poettering +# Copyright 2010-2012 Kay Sievers +# Copyright 2013 Zbigniew Jędrzejewski-Szmek +# Copyright 2013 David Strauss +# Copyright 2016 Luke Shumaker +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. +# +# systemd is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with systemd; If not, see <http://www.gnu.org/licenses/>. +# Let's run all tests of the test suite, but under valgrind. Let's +# exclude perl/python/shell scripts we have in there +.PHONY: valgrind-tests +valgrind-tests: $(TESTS) + $(AM_V_GEN)for f in $(filter-out %.pl %.py, $^); do \ + if file $$f | grep -q shell; then \ + echo -e "$${x}Skipping non-binary $$f"; else \ + echo -e "$${x}Running $$f"; \ + $(LIBTOOL) --mode=execute valgrind -q --leak-check=full --max-stackframe=5242880 --error-exitcode=55 $(builddir)/$$f ; fi; \ + x="\n\n"; \ + done + +exported-%: % + $(AM_V_GEN)$(NM) -g --defined-only $(builddir)/.libs/$(<:.la=.so) 2>&1 /dev/null | grep " T " | cut -d" " -f3 > $@ + +exported: $(addprefix exported-, $(lib_LTLIBRARIES)) + $(AM_V_GEN)sort -u $^ > $@ + +.PHONY: check-api-docs +check-api-docs: exported man + $(AM_V_GEN)for symbol in `cat exported` ; do \ + if test -f $(builddir)/man/$$symbol.html ; then \ + echo " Symbol $$symbol() is documented." ; \ + else \ + echo "‣ Symbol $$symbol() lacks documentation." ; \ + fi ; \ + done + +OBJECT_VARIABLES:=$(filter %_OBJECTS,$(.VARIABLES)) +ALL_OBJECTS:=$(foreach v,$(OBJECT_VARIABLES),$($(v))) + +undefined defined: $(ALL_OBJECTS) + $(AM_V_GEN)for f in $(ALL_OBJECTS) ; do \ + $(NM) -g --$@-only `echo $(builddir)/"$$f" | sed -e 's,\([^/]*\).lo$$,.libs/\1.o,'` ; \ + done | cut -c 20- | cut -d @ -f 1 | sort -u > $@ + +CLEANFILES += \ + defined \ + undefined + +.PHONY: check-api-unused +check-api-unused: defined undefined exported + ( cat exported undefined ) | sort -u | diff -u - defined | grep ^+ | grep -v ^+++ | cut -c2- + +.PHONY: check-includes +check-includes: $(top_srcdir)/tools/check-includes.pl + $(AM_V_GEN) find * -name '*.[hcS]' -type f -print | sort -u \ + | xargs $(top_srcdir)/tools/check-includes.pl + +EXTRA_DIST += \ + $(top_srcdir)/tools/check-includes.pl + +.PHONY: cppcheck +cppcheck: + cppcheck --enable=all -q $(top_srcdir) + +# Used to extract compile flags for YCM. +print-%: + @echo $($*) + +git-contrib: + @git shortlog -s `git describe --abbrev=0`.. | cut -c8- | awk '{ print $$0 "," }' | sort -u + +EXTRA_DIST += \ + tools/gdb-sd_dump_hashmaps.py + +list-keys: + gpg --verbose --no-options --no-default-keyring --no-auto-key-locate --batch --trust-model=always --keyring=$(srcdir)/src/import/import-pubring.gpg --list-keys + +add-key: + gpg --verbose --no-options --no-default-keyring --no-auto-key-locate --batch --trust-model=always --keyring=$(srcdir)/src/import/import-pubring.gpg --import - |