aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am52
-rw-r--r--configure.ac30
2 files changed, 70 insertions, 12 deletions
diff --git a/Makefile.am b/Makefile.am
index e30ea1099..360a2e4c3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -12,9 +12,6 @@ endif
12if DOCUMENTATION 12if DOCUMENTATION
13 SUBDIRS += doc 13 SUBDIRS += doc
14endif 14endif
15if HAVE_EXPERIMENTAL
16 SUBDIRS += lint
17endif
18 15
19# only manpages, needs "doc" subdir 16# only manpages, needs "doc" subdir
20if INCLUDE_MANPAGES 17if INCLUDE_MANPAGES
@@ -41,12 +38,61 @@ ACLOCAL_AMFLAGS = -I m4
41 38
42if HAVE_UNCRUSTIFY_BINARY 39if HAVE_UNCRUSTIFY_BINARY
43MCRUSTIFY = find $(top_srcdir) -type f -name '*.c' -or -name '*.h' -print0 | xargs -0 uncrustify -c $(top_srcdir)/contrib/uncrustify.cfg -q --replace --no-backup 2>&1 || true 40MCRUSTIFY = find $(top_srcdir) -type f -name '*.c' -or -name '*.h' -print0 | xargs -0 uncrustify -c $(top_srcdir)/contrib/uncrustify.cfg -q --replace --no-backup 2>&1 || true
41else
42MCRUSTIFY = echo "crustify: skipped"
44endif 43endif
45 44
46if HAVE_YAPF_BINARY 45if HAVE_YAPF_BINARY
47MYAPF = find $(top_srcdir) -type f -name '*.py' -or -name '*.py.in' -print0 | xargs -0 $(YAPF_BINARY) -i 2>&1 || true 46MYAPF = find $(top_srcdir) -type f -name '*.py' -or -name '*.py.in' -print0 | xargs -0 $(YAPF_BINARY) -i 2>&1 || true
47else
48MYAPF = echo "yapf: skipped"
48endif 49endif
49 50
50pretty: 51pretty:
51 $(MCRUSTIFY) 52 $(MCRUSTIFY)
52 $(MYAPF) 53 $(MYAPF)
54
55lint: check-bashisms check-texinfo check-man check-python
56
57check-bashisms:
58if HAVE_CHECKBASHISMS
59 printf "If checkbashisms.pl is in PATH, run checkbashism on all .sh files.\n"
60 find '.' -type f ! -path '*/.*' ! -path '*/_*' -name '*.sh' -print0 | xargs -0 checkbashisms.pl -f 2>&1 | tee $(srcdir)/bashism.log || true
61else
62 printf "No checkbashisms in PATH, skipped"
63endif
64
65check-man:
66 printf "Running lint-man.sh in doc/man.\n"
67 @cd $(top_srcdir)/doc/man ; ../../contrib/scripts/lint/lint-man.sh || true
68
69check-python:
70 printf "Running flake8 and 2to3 if detected.\n"
71 $(top_srcdir)/contrib/scripts/lint/lint-python.sh || true
72
73# exception to add: ignore license files.
74# exception to add: uref's can go above 79 chars.
75check-texinfo:
76 printf "Running basic texinfo linters\n"
77 printf "...lines containing tabstops?\n" 2>&1 | tee $(top_srcdir)/doc/handbook/texinfo_handbook.log || true
78 printf "...lines containing tabstops?\n" 2>&1 | tee $(top_srcdir)/doc/tutorial/texinfo_tutorial.log || true
79 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/\t/ {print FILENAME":"NR":"$$0}' > $(srcdir)/texinfo_handbook.log || true
80 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/\t/ {print FILENAME":"NR":"$$0}' > $(srcdir)/texinfo_tutorial.log || true
81 printf "...line length over 79 chars?\n" 2>&1 | tee $(top_srcdir)/doc/handbook/texinfo_handbook.log || true
82 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk 'length>79 {print FILENAME":"NR":"$$0}' > $(srcdir)/texinfo_handbook.log || true
83 printf "...line length over 79 chars?\n" 2>&1 | tee $(top_srcdir)/doc/tutorial/texinfo_tutorial.log || true
84 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk 'length>79 {print FILENAME":"NR":"$$0}' > $(srcdir)/texinfo_tutorial.log || true
85 printf "...lines containing macros incompatible with old makeinfo?\n" 2>&1 | tee -a $(top_srcdir)/doc/handbook/texinfo_handbook.log || true
86 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/@geq\{\}/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_handbook.log || true
87 printf "...lines containing macros incompatible with old makeinfo?\n" 2>&1 | tee -a $(top_srcdir)/doc/tutorial/texinfo_tutorial.log || true
88 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/@geq\{\}/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_tutorial.log || true
89 printf "...lines containing macros incompatible with texi2mdoc?\n" 2>&1 | tee -a $(top_srcdir)/doc/handbook/texinfo_handbook.log || true
90 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/@footnote\{/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_handbook.log || true
91 printf "...lines containing macros incompatible with texi2mdoc?\n" 2>&1 | tee -a $(top_srcdir)/doc/tutorial/texinfo_tutorial.log || true
92 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/@footnote\{/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_tutorial.log || true
93 printf "...lines telling us what is left TODO or to fix?\n" 2>&1 | tee -a $(top_srcdir)/doc/handbook/texinfo_handbook.log || true
94 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/TODO/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_handbook.log || true
95 @cd $(top_srcdir)/doc/handbook ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/XXX/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_handbook.log || true
96 printf "...lines telling us what is left TODO or to fix?\n" 2>&1 | tee -a $(top_srcdir)/doc/tutorial/texinfo_tutorial.log || true
97 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/TODO/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_tutorial.log || true
98 @cd $(top_srcdir)/doc/tutorial ; find . -type f ! -path '*/.*' -name '*.texi' -print0 | xargs -0 awk '/XXX/ {print FILENAME":"NR":"$$0}' >> $(srcdir)/texinfo_tutorial.log || true
diff --git a/configure.ac b/configure.ac
index 14c2786ef..6f3b5f1bc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -222,10 +222,17 @@ AC_CHECK_LIB(c, getloadavg, AC_DEFINE(HAVE_GETLOADAVG,1,[getloadavg supported]))
222AC_CHECK_PROG(VAR_GETOPT_BINARY, getopt, true, false) 222AC_CHECK_PROG(VAR_GETOPT_BINARY, getopt, true, false)
223AM_CONDITIONAL(HAVE_GETOPT_BINARY, $VAR_GETOPT_BINARY) 223AM_CONDITIONAL(HAVE_GETOPT_BINARY, $VAR_GETOPT_BINARY)
224 224
225AC_CHECK_PROGS(PKG_CONFIG, [pkgconf, pkg-config], false)
226AM_CONDITIONAL(HAVE_PKG_CONFIG, test x$PKG_CONFIG != xfalse)
227
225AC_CHECK_PROG(VAR_SSH_BINARY, ssh, true, false) 228AC_CHECK_PROG(VAR_SSH_BINARY, ssh, true, false)
226AM_CONDITIONAL(HAVE_SSH_BINARY, $VAR_SSH_BINARY) 229AM_CONDITIONAL(HAVE_SSH_BINARY, $VAR_SSH_BINARY)
227AM_CONDITIONAL(HAVE_SSH_KEY, ssh -D 12345 -o "BatchMode yes" -o "UserKnownHostsFile /tmp/gnunet_test_cosks_ssh_garbage" -o "StrictHostKeyChecking no" 127.0.0.1 echo -n) 230AC_MSG_CHECKING(for SSH key)
228rm -f /tmp/gnunet_test_cosks_ssh_garbage 231 AM_CONDITIONAL(HAVE_SSH_KEY, ssh -D 12345 -o "BatchMode yes" -o "UserKnownHostsFile /tmp/gnunet_test_cosks_ssh_garbage" -o "StrictHostKeyChecking no" 127.0.0.1 echo -n)
232 if test -f /tmp/gnunet_test_cosks_ssh_garbage; then
233 rm -f /tmp/gnunet_test_cosks_ssh_garbage
234 fi
235
229 236
230# autotools' m4 for python has no maximum version! 237# autotools' m4 for python has no maximum version!
231# python3.4 - python3.8 for tests (3.8 unchecked) 238# python3.4 - python3.8 for tests (3.8 unchecked)
@@ -316,6 +323,10 @@ AS_IF([test x"$VAR_UPNPC_BINARY" != x"false"],
316 [AC_MSG_WARN([warning: 'upnpc' binary not found.])]) 323 [AC_MSG_WARN([warning: 'upnpc' binary not found.])])
317 324
318 325
326# checkbashisms
327AC_CHECK_PROGS(CHECKBASHISMS_BINARY, [checkbashisms checkbashisms.pl], false)
328AM_CONDITIONAL(HAVE_CHECKBASHISMS, test x$CHECKBASHISMS_BINARY != xfalse)
329
319# uncrustify 330# uncrustify
320# TODO: maybe add flag to pass location 331# TODO: maybe add flag to pass location
321AC_CHECK_PROG(UNCRUSTIFY_BINARY, uncrustify, true) 332AC_CHECK_PROG(UNCRUSTIFY_BINARY, uncrustify, true)
@@ -1035,7 +1046,7 @@ AS_IF([test x$ltdl = x1],
1035[ 1046[
1036 AC_MSG_RESULT([libltdl found]) 1047 AC_MSG_RESULT([libltdl found])
1037],[ 1048],[
1038 AC_MSG_ERROR([GNUnet requires libltdl (from GNU libtool), try installing libltdl-dev]) 1049 AC_MSG_ERROR([GNUnet requires libltdl (from GNU libtool).])
1039]) 1050])
1040# restore LIBS 1051# restore LIBS
1041LIBS=$SAVE_LIBS 1052LIBS=$SAVE_LIBS
@@ -1106,8 +1117,7 @@ AS_IF([test x$my_with_libidn2 = x1],
1106 [Define to 1 if you have 'libidn2' (-lidn2).])], 1117 [Define to 1 if you have 'libidn2' (-lidn2).])],
1107 [MISSING_DEPS="${MISSING_DEPS}${MISSING_SEP}libidn2" 1118 [MISSING_DEPS="${MISSING_DEPS}${MISSING_SEP}libidn2"
1108 MISSING_SEP=", "])]) 1119 MISSING_SEP=", "])])
1109AM_CONDITIONAL(HAVE_LIBIDN2, 1120AM_CONDITIONAL(HAVE_LIBIDN2, test x$working_libidn2 = x1)
1110 test x$working_libidn2 = x1)
1111AS_IF([test x$working_libidn2 = x0], 1121AS_IF([test x$working_libidn2 = x0],
1112 [AS_IF([test x$my_with_libidn = x1], 1122 [AS_IF([test x$my_with_libidn = x1],
1113 [AC_MSG_NOTICE([Checking for libidn]) 1123 [AC_MSG_NOTICE([Checking for libidn])
@@ -1261,9 +1271,9 @@ AC_SUBST(SQLITE_LDFLAGS)
1261LDFLAGS=$SAVE_LDFLAGS 1271LDFLAGS=$SAVE_LDFLAGS
1262CPPFLAGS=$SAVE_CPPFLAGS 1272CPPFLAGS=$SAVE_CPPFLAGS
1263 1273
1264# test for postgres 1274# test for postgres:
1265postgres=false 1275postgres=false
1266# even running the check for postgres breaks emscripten ... 1276# even running the check for postgres breaks emscripten
1267AS_IF([test "$taler_only" != yes], 1277AS_IF([test "$taler_only" != yes],
1268 [AX_LIB_POSTGRESQL([9.5], 1278 [AX_LIB_POSTGRESQL([9.5],
1269 [CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS" 1279 [CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS"
@@ -1271,8 +1281,11 @@ AS_IF([test "$taler_only" != yes],
1271 postgres=true) 1281 postgres=true)
1272 ], 1282 ],
1273 [AC_MSG_RESULT([no postgres])])]) 1283 [AC_MSG_RESULT([no postgres])])])
1274AM_CONDITIONAL(HAVE_POSTGRESQL, test x$postgres = xtrue)
1275 1284
1285AM_CONDITIONAL(HAVE_POSTGRESQL, test x$postgres = xtrue)
1286AS_IF([test "x$postgres" = xtrue],
1287 [AC_DEFINE([HAVE_POSTGRESQL],[1],[Have PostgreSQL])],
1288 [AC_DEFINE([HAVE_POSTGRESQL],[0],[Lacking PostgreSQL])])
1276 1289
1277LDFLAGS=$SAVE_LDFLAGS 1290LDFLAGS=$SAVE_LDFLAGS
1278CPPFLAGS=$SAVE_CPPFLAGS 1291CPPFLAGS=$SAVE_CPPFLAGS
@@ -1781,7 +1794,6 @@ doc/man/Makefile
1781doc/doxygen/Makefile 1794doc/doxygen/Makefile
1782doc/handbook/Makefile 1795doc/handbook/Makefile
1783doc/tutorial/Makefile 1796doc/tutorial/Makefile
1784lint/Makefile
1785m4/Makefile 1797m4/Makefile
1786po/Makefile.in 1798po/Makefile.in
1787src/Makefile 1799src/Makefile