Blob


1 AC_INIT([telescope], [0.2], [telescope@omarpolo.com], [telescope], [gemini://telescope.omarpolo.com])
2 AC_CONFIG_LIBOBJ_DIR(compat)
3 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
4 AC_PROG_CC_C99
5 AC_USE_SYSTEM_EXTENSIONS
7 PKG_PROG_PKG_CONFIG
9 AC_REPLACE_FUNCS([
10 asprintf \
11 err \
12 freezero \
13 getdtablecount \
14 getdtablesize \
15 getprogname \
16 memmem \
17 recallocarray \
18 strlcat \
19 strlcpy \
20 strsep \
21 strtonum \
22 setproctitle \
23 ])
25 AC_MSG_CHECKING([for sys/queue.h with TAILQ_FOREACH_SAFE])
26 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
27 #include <sys/queue.h>
28 #include <stddef.h>
29 ], [
30 TAILQ_HEAD(tailhead, entry) head;
31 struct entry {
32 TAILQ_ENTRY(entry) entries;
33 } *np, *nt;
34 TAILQ_INIT(&head);
35 TAILQ_FOREACH_SAFE(np, &head, entries, nt) {
36 /* nop */ ;
37 }
38 return 0;
39 ])], [
40 AC_MSG_RESULT(yes)
41 AC_DEFINE([HAVE_QUEUE_H], 1, [QUEUE_H])
42 ], AC_MSG_RESULT(no))
44 AC_CHECK_DECL(PR_SET_NAME, AC_DEFINE([HAVE_PR_SET_NAME], 1, [pr_set_name]), [],
45 [[#include <sys/prctl.h>]])
47 AC_SEARCH_LIBS([initscr], [ncursesw ncurses], [], [
48 AC_MSG_ERROR([requires either ncursesw or ncurses library])
49 ])
51 AC_CHECK_LIB(tls, tls_init, [], [
52 AC_MSG_ERROR([requires libtls])
53 ])
55 AC_CHECK_LIB(event, event_init, [], [
56 AC_MSG_ERROR([requires libevent])
57 ])
59 AC_CHECK_LIB(util, imsg_init, [], [
60 AC_LIBOBJ(imsg)
61 AC_LIBOBJ(imsg-buffer)
62 AC_LIBOBJ(ohash)
63 ])
65 AC_CHECK_FUNCS([asr_run])
67 # check compiler flags
68 AC_DEFUN([CC_ADD_CHECK_FLAGS], [
69 AC_MSG_CHECKING([if $CC supports $1 flag])
70 old_CFLAGS="$CFLAGS"
71 CFLAGS="$CFLAGS $1"
72 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])],
73 AC_MSG_RESULT(yes),
74 AC_MSG_RESULT(no)
75 CFLAGS="$old_CFLAGS")
76 ])
77 CC_ADD_CHECK_FLAGS([-Wall])
78 CC_ADD_CHECK_FLAGS([-Wextra])
79 CC_ADD_CHECK_FLAGS([-Wmissing-prototypes])
80 CC_ADD_CHECK_FLAGS([-Wstrict-prototypes])
81 CC_ADD_CHECK_FLAGS([-Wwrite-strings])
82 CC_ADD_CHECK_FLAGS([-Wno-unused-parameter])
84 AC_CONFIG_HEADERS([config.h])
85 AC_CONFIG_FILES([
86 Makefile
87 ])
89 AC_OUTPUT