Blame


1 f327d143 2024-02-23 op AC_INIT([telescope], [0.9-current], [telescope@omarpolo.com],
2 f327d143 2024-02-23 op [telescope], [gemini://telescope.omarpolo.com])
3 2758e1bb 2022-02-24 op AC_CONFIG_AUX_DIR(etc)
4 b0003f58 2021-03-08 op AC_CONFIG_LIBOBJ_DIR(compat)
5 1470eab3 2021-07-27 op AC_CANONICAL_HOST
6 60c891c2 2021-03-12 op AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
7 81d99233 2023-10-14 op AC_PROG_CC
8 a625907c 2021-03-19 op AC_USE_SYSTEM_EXTENSIONS
9 69bdd906 2021-06-15 op AC_PROG_YACC
10 5e11c00c 2021-03-02 op
11 5e11c00c 2021-03-02 op PKG_PROG_PKG_CONFIG
12 5e11c00c 2021-03-02 op
13 71066d24 2021-11-26 op AC_ARG_VAR(HOSTCC, [The C compiler on the host.])
14 71066d24 2021-11-26 op AC_ARG_VAR(HOSTCFLAGS, [CFLAGS for the host compiler])
15 71066d24 2021-11-26 op
16 71066d24 2021-11-26 op test -z "${HOSTCC}" && HOSTCC='$(CC)'
17 71066d24 2021-11-26 op test -z "${HOSTCFLAGS}" && HOSTCFLAGS='$(CFLAGS)'
18 71066d24 2021-11-26 op
19 d94e08d2 2024-01-13 op AC_ARG_WITH([Werror],
20 d94e08d2 2024-01-13 op AS_HELP_STRING([--with-Werror],
21 d94e08d2 2024-01-13 op [Add the compiler flag -Werror]))
22 d94e08d2 2024-01-13 op
23 7eaf997f 2021-08-19 op AC_ARG_WITH([libimsg],
24 7eaf997f 2021-08-19 op AS_HELP_STRING([--with-libimsg],
25 7eaf997f 2021-08-19 op [Build with imsg-compat library (default: disabled)]))
26 7eaf997f 2021-08-19 op
27 86ce72db 2021-08-19 op AC_ARG_WITH([libbsd],
28 86ce72db 2021-08-19 op AS_HELP_STRING([--with-libbsd],
29 86ce72db 2021-08-19 op [Build with libbsd library (default: disabled)]))
30 86ce72db 2021-08-19 op
31 86ce72db 2021-08-19 op AS_IF([test "x$with_libbsd" = "xyes"], [
32 86ce72db 2021-08-19 op PKG_CHECK_MODULES([libbsd], [libbsd-overlay libbsd-ctor], [
33 86ce72db 2021-08-19 op CFLAGS="$libbsd_CFLAGS $CFLAGS"
34 86ce72db 2021-08-19 op LIBS="$libbsd_LIBS $LIBS"
35 86ce72db 2021-08-19 op ])
36 86ce72db 2021-08-19 op ])
37 86ce72db 2021-08-19 op
38 b0003f58 2021-03-08 op AC_REPLACE_FUNCS([
39 b0003f58 2021-03-08 op asprintf \
40 b0003f58 2021-03-08 op err \
41 beada781 2021-07-28 op explicit_bzero \
42 b0003f58 2021-03-08 op freezero \
43 b0003f58 2021-03-08 op getdtablecount \
44 b0003f58 2021-03-08 op getdtablesize \
45 b0003f58 2021-03-08 op getprogname \
46 e21e40a9 2021-03-13 op memmem \
47 abe0273c 2024-02-06 op reallocarray \
48 60c891c2 2021-03-12 op recallocarray \
49 e80a23a1 2021-07-14 op strcasestr \
50 b0003f58 2021-03-08 op strlcat \
51 b0003f58 2021-03-08 op strlcpy \
52 fbaf9fba 2021-04-25 op strsep \
53 b0003f58 2021-03-08 op strtonum \
54 b0003f58 2021-03-08 op setproctitle \
55 b0003f58 2021-03-08 op ])
56 b0003f58 2021-03-08 op
57 87e40628 2021-05-14 op AC_MSG_CHECKING([for sys/queue.h with TAILQ_FOREACH_SAFE])
58 87e40628 2021-05-14 op AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
59 87e40628 2021-05-14 op #include <sys/queue.h>
60 87e40628 2021-05-14 op #include <stddef.h>
61 87e40628 2021-05-14 op ], [
62 87e40628 2021-05-14 op TAILQ_HEAD(tailhead, entry) head;
63 87e40628 2021-05-14 op struct entry {
64 87e40628 2021-05-14 op TAILQ_ENTRY(entry) entries;
65 87e40628 2021-05-14 op } *np, *nt;
66 87e40628 2021-05-14 op TAILQ_INIT(&head);
67 87e40628 2021-05-14 op TAILQ_FOREACH_SAFE(np, &head, entries, nt) {
68 87e40628 2021-05-14 op /* nop */ ;
69 87e40628 2021-05-14 op }
70 87e40628 2021-05-14 op return 0;
71 87e40628 2021-05-14 op ])], [
72 87e40628 2021-05-14 op AC_MSG_RESULT(yes)
73 87e40628 2021-05-14 op AC_DEFINE([HAVE_QUEUE_H], 1, [QUEUE_H])
74 87e40628 2021-05-14 op ], AC_MSG_RESULT(no))
75 87e40628 2021-05-14 op
76 b45ef13d 2024-02-19 op AC_CHECK_DECL(timespecsub,
77 b45ef13d 2024-02-19 op [AC_DEFINE([HAVE_TIMESPECSUB], 1, [have timespecsub])], [],
78 b45ef13d 2024-02-19 op [#include <sys/time.h>])
79 b45ef13d 2024-02-19 op
80 b45ef13d 2024-02-19 op AC_CHECK_DECL(timercmp,
81 b45ef13d 2024-02-19 op [AC_DEFINE([HAVE_TIMERCMP], 1, [have timercmp])], [],
82 b45ef13d 2024-02-19 op [#include <sys/time.h>])
83 b45ef13d 2024-02-19 op
84 b45ef13d 2024-02-19 op dnl can't be used as r-value.
85 b45ef13d 2024-02-19 op AC_MSG_CHECKING([for TIMEVAL_TO_TIMESPEC])
86 b45ef13d 2024-02-19 op AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
87 b45ef13d 2024-02-19 op #include <sys/time.h>
88 b45ef13d 2024-02-19 op ], [
89 b45ef13d 2024-02-19 op struct timeval a = {0, 0};
90 b45ef13d 2024-02-19 op struct timespec b;
91 b45ef13d 2024-02-19 op TIMEVAL_TO_TIMESPEC(&a, &b);
92 b45ef13d 2024-02-19 op return (int)b.tv_sec;
93 b45ef13d 2024-02-19 op ])], [
94 b45ef13d 2024-02-19 op AC_MSG_RESULT(yes)
95 b45ef13d 2024-02-19 op AC_DEFINE([HAVE_TIMEVAL_TO_TIMESPEC], 1, [have TIMEVAL_TO_TIMESPEC])
96 b45ef13d 2024-02-19 op ], AC_MSG_RESULT(no))
97 b45ef13d 2024-02-19 op
98 b3ea1dea 2023-07-02 op AC_CHECK_HEADER([endian.h], [AC_DEFINE(HAVE_ENDIAN_H, 1, [have endian.h])], [
99 b3ea1dea 2023-07-02 op AC_CHECK_HEADER([sys/endian.h],
100 b3ea1dea 2023-07-02 op [AC_DEFINE(HAVE_SYS_ENDIAN_H, 1, [have sys/endian.h])], [
101 b3ea1dea 2023-07-02 op AC_CHECK_HEADERS([libkern/OSByteOrder.h],
102 b3ea1dea 2023-07-02 op [AC_DEFINE(HAVE_LIBKERN_OSBYTEORDER_H, 1, [have OSByteOrder.h])],
103 b3ea1dea 2023-07-02 op [AC_MSG_ERROR([can't find compatible endian.h header])],
104 b3ea1dea 2023-07-02 op [#include <machine/endian.h>])
105 b3ea1dea 2023-07-02 op ])
106 b3ea1dea 2023-07-02 op ])
107 b3ea1dea 2023-07-02 op
108 b0003f58 2021-03-08 op AC_CHECK_DECL(PR_SET_NAME, AC_DEFINE([HAVE_PR_SET_NAME], 1, [pr_set_name]), [],
109 b0003f58 2021-03-08 op [[#include <sys/prctl.h>]])
110 b0003f58 2021-03-08 op
111 1d08c280 2021-03-06 op AC_SEARCH_LIBS([initscr], [ncursesw ncurses], [], [
112 1d08c280 2021-03-06 op AC_MSG_ERROR([requires either ncursesw or ncurses library])
113 1d08c280 2021-03-06 op ])
114 5e11c00c 2021-03-02 op
115 8671caea 2021-08-19 op AC_SEARCH_LIBS([keyname], [ncursesw ncurses tinfow tinfo], [], [
116 8671caea 2021-08-19 op AC_MSG_ERROR([requires either ncursesw or ncurses library with terminfo support])
117 8671caea 2021-08-19 op ])
118 8671caea 2021-08-19 op
119 27437492 2023-10-14 op AC_SEARCH_LIBS([tls_init], [tls], [], [
120 1d08c280 2021-03-06 op AC_MSG_ERROR([requires libtls])
121 1d08c280 2021-03-06 op ])
122 5e11c00c 2021-03-02 op
123 a7d562e2 2022-11-02 op PKG_CHECK_MODULES([libgrapheme], [libgrapheme], [
124 3448adb0 2022-11-02 op AC_SUBST([LIBGRAPHEME], [])
125 a7d562e2 2022-11-02 op CFLAGS="$libgrapheme_CFLAGS $CFLAGS"
126 a7d562e2 2022-11-02 op LIBS="$libgrapheme_LIBS $LIBS"
127 3448adb0 2022-11-02 op ], [
128 3448adb0 2022-11-02 op # build the bundled version.
129 3448adb0 2022-11-02 op AC_SUBST([LIBGRAPHEME], "$srcdir/libgrapheme/libgrapheme.a")
130 3448adb0 2022-11-02 op CFLAGS="-I$srcdir/libgrapheme $CFLAGS"
131 d5e0ee08 2022-10-09 op ])
132 d5e0ee08 2022-10-09 op
133 7eaf997f 2021-08-19 op AS_IF([test "x$with_libimsg" = "xyes"], [
134 7eaf997f 2021-08-19 op PKG_CHECK_MODULES([libimsg], [libimsg], [
135 7eaf997f 2021-08-19 op CFLAGS="$libimsg_CFLAGS $CFLAGS"
136 7eaf997f 2021-08-19 op LIBS="$libimsg_LIBS $LIBS"
137 7eaf997f 2021-08-19 op ])
138 7eaf997f 2021-08-19 op ])
139 7eaf997f 2021-08-19 op
140 7eaf997f 2021-08-19 op AC_SEARCH_LIBS([imsg_init], [util], [
141 7eaf997f 2021-08-19 op AC_DEFINE([HAVE_IMSG], 1,
142 7eaf997f 2021-08-19 op [Define to 1 if you have imsg functions (-lutil or -limsg).])
143 7eaf997f 2021-08-19 op ], [
144 7eaf997f 2021-08-19 op AC_LIBOBJ(imsg)
145 7eaf997f 2021-08-19 op AC_LIBOBJ(imsg-buffer)
146 7eaf997f 2021-08-19 op ]
147 7eaf997f 2021-08-19 op )
148 7eaf997f 2021-08-19 op
149 27437492 2023-10-14 op AC_SEARCH_LIBS([ohash_init], [util], [], [
150 82550776 2021-03-17 op AC_LIBOBJ(ohash)
151 0e1eff5b 2021-06-23 op AC_LIBOBJ(fmt_scaled)
152 b0003f58 2021-03-08 op ])
153 5e11c00c 2021-03-02 op
154 cc4953ef 2021-03-16 op AC_CHECK_FUNCS([asr_run])
155 cc4953ef 2021-03-16 op
156 7d2a2ace 2024-01-24 op AC_SEARCH_LIBS([RAND_add], [crypto], [:], [
157 7d2a2ace 2024-01-24 op AC_MSG_ERROR([can't find libcrypto])
158 7d2a2ace 2024-01-24 op ])
159 7d2a2ace 2024-01-24 op
160 7d2a2ace 2024-01-24 op AC_SEARCH_LIBS([SSL_CTX_new], [ssl], [:], [
161 7d2a2ace 2024-01-24 op AC_MSG_ERROR([can't find libssl])
162 7d2a2ace 2024-01-24 op ])
163 7d2a2ace 2024-01-24 op
164 d58e3018 2024-02-12 op AC_CHECK_HEADERS([linux/landlock.h])
165 a9d11f81 2021-10-08 op
166 d94e08d2 2024-01-13 op dnl after all the function checks, add optional support for -Werror
167 d94e08d2 2024-01-13 op AS_IF([test "x$with_Werror" = "xyes"], [
168 d94e08d2 2024-01-13 op CFLAGS="$CFLAGS -Werror"
169 d94e08d2 2024-01-13 op ])
170 d94e08d2 2024-01-13 op
171 e18a9f14 2021-03-15 op # check compiler flags
172 e18a9f14 2021-03-15 op AC_DEFUN([CC_ADD_CHECK_FLAGS], [
173 e18a9f14 2021-03-15 op AC_MSG_CHECKING([if $CC supports $1 flag])
174 e18a9f14 2021-03-15 op old_CFLAGS="$CFLAGS"
175 f924a1df 2024-02-19 op CFLAGS="$CFLAGS -Werror $1"
176 f924a1df 2024-02-19 op AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [
177 f924a1df 2024-02-19 op AC_MSG_RESULT(yes)
178 f924a1df 2024-02-19 op CFLAGS="$old_CFLAGS $1"
179 f924a1df 2024-02-19 op ], [
180 e18a9f14 2021-03-15 op AC_MSG_RESULT(no)
181 f924a1df 2024-02-19 op CFLAGS="$old_CFLAGS"
182 f924a1df 2024-02-19 op ])
183 e18a9f14 2021-03-15 op ])
184 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wall])
185 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wextra])
186 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wmissing-declarations])
187 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wmissing-prototypes])
188 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wstrict-prototypes])
189 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wwrite-strings])
190 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wno-unused-parameter])
191 db067589 2024-02-19 op CC_ADD_CHECK_FLAGS([-Wno-format-truncation])
192 db067589 2024-02-19 op CC_ADD_CHECK_FLAGS([-Wno-pointer-sign])
193 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wpointer-arith])
194 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wsign-compare])
195 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wcast-align])
196 e18a9f14 2021-03-15 op
197 5e11c00c 2021-03-02 op AC_CONFIG_HEADERS([config.h])
198 5e11c00c 2021-03-02 op AC_CONFIG_FILES([
199 5e11c00c 2021-03-02 op Makefile
200 23a912c2 2022-01-20 op test/Makefile
201 0e4c3d62 2022-02-26 op pages/about_about.gmi
202 0e4c3d62 2022-02-26 op pages/about_blank.gmi
203 8064b849 2021-07-20 op pages/about_crash.gmi
204 0e4c3d62 2022-02-26 op pages/about_help.gmi
205 0e4c3d62 2022-02-26 op pages/about_license.gmi
206 0e4c3d62 2022-02-26 op pages/about_new.gmi
207 0e4c3d62 2022-02-26 op pages/bookmarks.gmi
208 5e11c00c 2021-03-02 op ])
209 5e11c00c 2021-03-02 op
210 5e11c00c 2021-03-02 op AC_OUTPUT