diff options
-rw-r--r-- | Makefile.am | 52 | ||||
-rw-r--r-- | configure.ac | 30 |
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 | |||
12 | if DOCUMENTATION | 12 | if DOCUMENTATION |
13 | SUBDIRS += doc | 13 | SUBDIRS += doc |
14 | endif | 14 | endif |
15 | if HAVE_EXPERIMENTAL | ||
16 | SUBDIRS += lint | ||
17 | endif | ||
18 | 15 | ||
19 | # only manpages, needs "doc" subdir | 16 | # only manpages, needs "doc" subdir |
20 | if INCLUDE_MANPAGES | 17 | if INCLUDE_MANPAGES |
@@ -41,12 +38,61 @@ ACLOCAL_AMFLAGS = -I m4 | |||
41 | 38 | ||
42 | if HAVE_UNCRUSTIFY_BINARY | 39 | if HAVE_UNCRUSTIFY_BINARY |
43 | MCRUSTIFY = 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 | 40 | MCRUSTIFY = 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 |
41 | else | ||
42 | MCRUSTIFY = echo "crustify: skipped" | ||
44 | endif | 43 | endif |
45 | 44 | ||
46 | if HAVE_YAPF_BINARY | 45 | if HAVE_YAPF_BINARY |
47 | MYAPF = find $(top_srcdir) -type f -name '*.py' -or -name '*.py.in' -print0 | xargs -0 $(YAPF_BINARY) -i 2>&1 || true | 46 | MYAPF = find $(top_srcdir) -type f -name '*.py' -or -name '*.py.in' -print0 | xargs -0 $(YAPF_BINARY) -i 2>&1 || true |
47 | else | ||
48 | MYAPF = echo "yapf: skipped" | ||
48 | endif | 49 | endif |
49 | 50 | ||
50 | pretty: | 51 | pretty: |
51 | $(MCRUSTIFY) | 52 | $(MCRUSTIFY) |
52 | $(MYAPF) | 53 | $(MYAPF) |
54 | |||
55 | lint: check-bashisms check-texinfo check-man check-python | ||
56 | |||
57 | check-bashisms: | ||
58 | if 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 | ||
61 | else | ||
62 | printf "No checkbashisms in PATH, skipped" | ||
63 | endif | ||
64 | |||
65 | check-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 | |||
69 | check-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. | ||
75 | check-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])) | |||
222 | AC_CHECK_PROG(VAR_GETOPT_BINARY, getopt, true, false) | 222 | AC_CHECK_PROG(VAR_GETOPT_BINARY, getopt, true, false) |
223 | AM_CONDITIONAL(HAVE_GETOPT_BINARY, $VAR_GETOPT_BINARY) | 223 | AM_CONDITIONAL(HAVE_GETOPT_BINARY, $VAR_GETOPT_BINARY) |
224 | 224 | ||
225 | AC_CHECK_PROGS(PKG_CONFIG, [pkgconf, pkg-config], false) | ||
226 | AM_CONDITIONAL(HAVE_PKG_CONFIG, test x$PKG_CONFIG != xfalse) | ||
227 | |||
225 | AC_CHECK_PROG(VAR_SSH_BINARY, ssh, true, false) | 228 | AC_CHECK_PROG(VAR_SSH_BINARY, ssh, true, false) |
226 | AM_CONDITIONAL(HAVE_SSH_BINARY, $VAR_SSH_BINARY) | 229 | AM_CONDITIONAL(HAVE_SSH_BINARY, $VAR_SSH_BINARY) |
227 | 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) | 230 | AC_MSG_CHECKING(for SSH key) |
228 | rm -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 | ||
327 | AC_CHECK_PROGS(CHECKBASHISMS_BINARY, [checkbashisms checkbashisms.pl], false) | ||
328 | AM_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 |
321 | AC_CHECK_PROG(UNCRUSTIFY_BINARY, uncrustify, true) | 332 | AC_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 |
1041 | LIBS=$SAVE_LIBS | 1052 | LIBS=$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=", "])]) |
1109 | AM_CONDITIONAL(HAVE_LIBIDN2, | 1120 | AM_CONDITIONAL(HAVE_LIBIDN2, test x$working_libidn2 = x1) |
1110 | test x$working_libidn2 = x1) | ||
1111 | AS_IF([test x$working_libidn2 = x0], | 1121 | AS_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) | |||
1261 | LDFLAGS=$SAVE_LDFLAGS | 1271 | LDFLAGS=$SAVE_LDFLAGS |
1262 | CPPFLAGS=$SAVE_CPPFLAGS | 1272 | CPPFLAGS=$SAVE_CPPFLAGS |
1263 | 1273 | ||
1264 | # test for postgres | 1274 | # test for postgres: |
1265 | postgres=false | 1275 | postgres=false |
1266 | # even running the check for postgres breaks emscripten ... | 1276 | # even running the check for postgres breaks emscripten |
1267 | AS_IF([test "$taler_only" != yes], | 1277 | AS_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])])]) |
1274 | AM_CONDITIONAL(HAVE_POSTGRESQL, test x$postgres = xtrue) | ||
1275 | 1284 | ||
1285 | AM_CONDITIONAL(HAVE_POSTGRESQL, test x$postgres = xtrue) | ||
1286 | AS_IF([test "x$postgres" = xtrue], | ||
1287 | [AC_DEFINE([HAVE_POSTGRESQL],[1],[Have PostgreSQL])], | ||
1288 | [AC_DEFINE([HAVE_POSTGRESQL],[0],[Lacking PostgreSQL])]) | ||
1276 | 1289 | ||
1277 | LDFLAGS=$SAVE_LDFLAGS | 1290 | LDFLAGS=$SAVE_LDFLAGS |
1278 | CPPFLAGS=$SAVE_CPPFLAGS | 1291 | CPPFLAGS=$SAVE_CPPFLAGS |
@@ -1781,7 +1794,6 @@ doc/man/Makefile | |||
1781 | doc/doxygen/Makefile | 1794 | doc/doxygen/Makefile |
1782 | doc/handbook/Makefile | 1795 | doc/handbook/Makefile |
1783 | doc/tutorial/Makefile | 1796 | doc/tutorial/Makefile |
1784 | lint/Makefile | ||
1785 | m4/Makefile | 1797 | m4/Makefile |
1786 | po/Makefile.in | 1798 | po/Makefile.in |
1787 | src/Makefile | 1799 | src/Makefile |