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 1afd6a68 2024-03-25 op # Sanity check for Libre/OpenSSL headers vs library mismatch
165 1afd6a68 2024-03-25 op AC_MSG_CHECKING([whether libcrypto headers match the library])
166 1afd6a68 2024-03-25 op AC_RUN_IFELSE([AC_LANG_PROGRAM([[
167 1afd6a68 2024-03-25 op #include <openssl/opensslv.h>
168 1afd6a68 2024-03-25 op #include <openssl/crypto.h>
169 1afd6a68 2024-03-25 op ]], [[
170 1afd6a68 2024-03-25 op return (OpenSSL_version_num() != OPENSSL_VERSION_NUMBER);
171 1afd6a68 2024-03-25 op ]])], [
172 1afd6a68 2024-03-25 op AC_MSG_RESULT([yes])
173 1afd6a68 2024-03-25 op ], [
174 1afd6a68 2024-03-25 op AC_MSG_RESULT([no])
175 1afd6a68 2024-03-25 op AC_MSG_ERROR([libcrypto headers do not match the library.])
176 1afd6a68 2024-03-25 op ], [
177 1afd6a68 2024-03-25 op AC_MSG_WARN([skip (due to cross-compiling)])
178 1afd6a68 2024-03-25 op ])
179 1afd6a68 2024-03-25 op
180 d58e3018 2024-02-12 op AC_CHECK_HEADERS([linux/landlock.h])
181 a9d11f81 2021-10-08 op
182 d94e08d2 2024-01-13 op dnl after all the function checks, add optional support for -Werror
183 d94e08d2 2024-01-13 op AS_IF([test "x$with_Werror" = "xyes"], [
184 d94e08d2 2024-01-13 op CFLAGS="$CFLAGS -Werror"
185 d94e08d2 2024-01-13 op ])
186 d94e08d2 2024-01-13 op
187 e18a9f14 2021-03-15 op # check compiler flags
188 e18a9f14 2021-03-15 op AC_DEFUN([CC_ADD_CHECK_FLAGS], [
189 e18a9f14 2021-03-15 op AC_MSG_CHECKING([if $CC supports $1 flag])
190 e18a9f14 2021-03-15 op old_CFLAGS="$CFLAGS"
191 f924a1df 2024-02-19 op CFLAGS="$CFLAGS -Werror $1"
192 f924a1df 2024-02-19 op AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [
193 f924a1df 2024-02-19 op AC_MSG_RESULT(yes)
194 f924a1df 2024-02-19 op CFLAGS="$old_CFLAGS $1"
195 f924a1df 2024-02-19 op ], [
196 e18a9f14 2021-03-15 op AC_MSG_RESULT(no)
197 f924a1df 2024-02-19 op CFLAGS="$old_CFLAGS"
198 f924a1df 2024-02-19 op ])
199 e18a9f14 2021-03-15 op ])
200 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wall])
201 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wextra])
202 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wmissing-declarations])
203 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wmissing-prototypes])
204 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wstrict-prototypes])
205 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wwrite-strings])
206 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wno-unused-parameter])
207 db067589 2024-02-19 op CC_ADD_CHECK_FLAGS([-Wno-format-truncation])
208 db067589 2024-02-19 op CC_ADD_CHECK_FLAGS([-Wno-pointer-sign])
209 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wpointer-arith])
210 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wsign-compare])
211 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wcast-align])
212 e18a9f14 2021-03-15 op
213 5e11c00c 2021-03-02 op AC_CONFIG_HEADERS([config.h])
214 5e11c00c 2021-03-02 op AC_CONFIG_FILES([
215 5e11c00c 2021-03-02 op Makefile
216 23a912c2 2022-01-20 op test/Makefile
217 0e4c3d62 2022-02-26 op pages/about_about.gmi
218 0e4c3d62 2022-02-26 op pages/about_blank.gmi
219 8064b849 2021-07-20 op pages/about_crash.gmi
220 0e4c3d62 2022-02-26 op pages/about_help.gmi
221 0e4c3d62 2022-02-26 op pages/about_license.gmi
222 0e4c3d62 2022-02-26 op pages/about_new.gmi
223 0e4c3d62 2022-02-26 op pages/bookmarks.gmi
224 5e11c00c 2021-03-02 op ])
225 5e11c00c 2021-03-02 op
226 5e11c00c 2021-03-02 op AC_OUTPUT