1 d9051b65 2024-06-29 op AC_INIT([telescope], [0.10.1-current], [telescope@omarpolo.com],
2 d82db283 2024-06-27 op [telescope], [gemini://telescope-browser.org])
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])
8 a625907c 2021-03-19 op AC_USE_SYSTEM_EXTENSIONS
11 268c151a 2024-06-04 thomasada # AC_PROC_YACC sets the environment variable $YACC for a suitable program to
12 268c151a 2024-06-04 thomasada # use, but doesn't check to see if it exists. Test for this -- if it's not
13 268c151a 2024-06-04 thomasada # present, error out.
14 268c151a 2024-06-04 thomasada AC_CHECK_PROG(found_yacc, $YACC, yes, no)
15 268c151a 2024-06-04 thomasada AS_IF([test "x$found_yacc" = "xno"], [AC_MSG_ERROR("yacc/bison not found")])
17 e1c04e2a 2024-06-02 op PKG_PROG_PKG_CONFIG
19 71066d24 2021-11-26 op AC_ARG_VAR(HOSTCC, [The C compiler on the host.])
20 71066d24 2021-11-26 op AC_ARG_VAR(HOSTCFLAGS, [CFLAGS for the host compiler])
22 71066d24 2021-11-26 op test -z "${HOSTCC}" && HOSTCC='$(CC)'
23 71066d24 2021-11-26 op test -z "${HOSTCFLAGS}" && HOSTCFLAGS='$(CFLAGS)'
25 f59d8a39 2024-06-18 op AC_MSG_CHECKING([platform])
26 f59d8a39 2024-06-18 op case "$host_os" in
28 f59d8a39 2024-06-18 op PLATFORM=darwin
31 f59d8a39 2024-06-18 op PLATFORM=linux
34 f59d8a39 2024-06-18 op PLATFORM=freebsd
37 f59d8a39 2024-06-18 op PLATFORM=openbsd
40 f59d8a39 2024-06-18 op PLATFORM=unknown
43 f59d8a39 2024-06-18 op AC_MSG_RESULT($PLATFORM)
44 f59d8a39 2024-06-18 op AC_SUBST(PLATFORM)
46 d94e08d2 2024-01-13 op AC_ARG_WITH([Werror],
47 d94e08d2 2024-01-13 op AS_HELP_STRING([--with-Werror],
48 d94e08d2 2024-01-13 op [Add the compiler flag -Werror]))
50 7eaf997f 2021-08-19 op AC_ARG_WITH([libimsg],
51 7eaf997f 2021-08-19 op AS_HELP_STRING([--with-libimsg],
52 7eaf997f 2021-08-19 op [Build with imsg-compat library (default: disabled)]))
54 86ce72db 2021-08-19 op AC_ARG_WITH([libbsd],
55 86ce72db 2021-08-19 op AS_HELP_STRING([--with-libbsd],
56 86ce72db 2021-08-19 op [Build with libbsd library (default: disabled)]))
58 7e346d82 2024-06-10 thomas.ad AC_ARG_WITH([default-editor],
59 7e346d82 2024-06-10 thomas.ad AS_HELP_STRING([--with-default-editor],
60 7e346d82 2024-06-10 thomas.ad [Set the default editor to use (default: ed)]),
61 7e346d82 2024-06-10 thomas.ad [DEFAULT_EDITOR=$withval],
62 7e346d82 2024-06-10 thomas.ad [DEFAULT_EDITOR=ed])
63 7e346d82 2024-06-10 thomas.ad AC_MSG_NOTICE([Using default-editor: $DEFAULT_EDITOR])
64 7e346d82 2024-06-10 thomas.ad AC_DEFINE_UNQUOTED([DEFAULT_EDITOR], ["$DEFAULT_EDITOR"], [The default editor])
66 d37f7580 2024-06-18 op DEFAULT_OPENER=xdg-open
67 d37f7580 2024-06-18 op AS_IF([test "x$platform" = "xdarwin"], [
68 d37f7580 2024-06-18 op DEFAULT_OPENER=open
71 d37f7580 2024-06-18 op AC_ARG_WITH([default-opener],
72 d37f7580 2024-06-18 op AS_HELP_STRING([--with-default-opener],
73 d37f7580 2024-06-18 op [Set the default program to use (default: $DEFAULT_OPENER)]),
74 d37f7580 2024-06-18 op [DEFAULT_OPENER=$withval])
75 d37f7580 2024-06-18 op AC_MSG_NOTICE([Using default-opener: $DEFAULT_OPENER])
76 d37f7580 2024-06-18 op AC_DEFINE_UNQUOTED([DEFAULT_OPENER], ["$DEFAULT_OPENER"], [The default opener])
78 e234161f 2024-06-12 thomas.ad AC_CHECK_HEADERS([ \
79 e234161f 2024-06-12 thomas.ad libutil.h \
80 16c7aa4b 2024-06-14 thomas.ad util.h \
83 86ce72db 2021-08-19 op AS_IF([test "x$with_libbsd" = "xyes"], [
84 86ce72db 2021-08-19 op PKG_CHECK_MODULES([libbsd], [libbsd-overlay libbsd-ctor], [
85 86ce72db 2021-08-19 op CFLAGS="$libbsd_CFLAGS $CFLAGS"
86 86ce72db 2021-08-19 op LIBS="$libbsd_LIBS $LIBS"
90 835caeb0 2024-06-06 thomas.ad if test "x$PLATFORM" = "xdarwin"; then
91 835caeb0 2024-06-06 thomas.ad export LDFLAGS="-L/opt/homebrew/opt/libressl/lib $LDFLAGS"
92 835caeb0 2024-06-06 thomas.ad export CPPFLAGS="-I/opt/homebrew/opt/libressl/include $CPPFLAGS"
93 835caeb0 2024-06-06 thomas.ad export PKG_CONFIG_PATH="/opt/homebrew/opt/libressl/lib/pkgconfig $PKG_CONFIG_PATH"
96 b0003f58 2021-03-08 op AC_REPLACE_FUNCS([
99 beada781 2021-07-28 op explicit_bzero \
100 e234161f 2024-06-12 thomas.ad fgetln \
101 e234161f 2024-06-12 thomas.ad fparseln \
103 b0003f58 2021-03-08 op getdtablecount \
104 b0003f58 2021-03-08 op getdtablesize \
105 b0003f58 2021-03-08 op getprogname \
107 abe0273c 2024-02-06 op reallocarray \
108 60c891c2 2021-03-12 op recallocarray \
114 b0003f58 2021-03-08 op setproctitle \
117 87e40628 2021-05-14 op AC_MSG_CHECKING([for sys/queue.h with TAILQ_FOREACH_SAFE])
118 87e40628 2021-05-14 op AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
119 87e40628 2021-05-14 op #include <sys/queue.h>
120 87e40628 2021-05-14 op #include <stddef.h>
122 87e40628 2021-05-14 op TAILQ_HEAD(tailhead, entry) head;
123 87e40628 2021-05-14 op struct entry {
124 87e40628 2021-05-14 op TAILQ_ENTRY(entry) entries;
126 87e40628 2021-05-14 op TAILQ_INIT(&head);
127 87e40628 2021-05-14 op TAILQ_FOREACH_SAFE(np, &head, entries, nt) {
132 87e40628 2021-05-14 op AC_MSG_RESULT(yes)
133 87e40628 2021-05-14 op AC_DEFINE([HAVE_QUEUE_H], 1, [QUEUE_H])
134 87e40628 2021-05-14 op ], AC_MSG_RESULT(no))
136 b45ef13d 2024-02-19 op AC_CHECK_DECL(timespecsub,
137 b45ef13d 2024-02-19 op [AC_DEFINE([HAVE_TIMESPECSUB], 1, [have timespecsub])], [],
138 b45ef13d 2024-02-19 op [#include <sys/time.h>])
140 b45ef13d 2024-02-19 op AC_CHECK_DECL(timercmp,
141 b45ef13d 2024-02-19 op [AC_DEFINE([HAVE_TIMERCMP], 1, [have timercmp])], [],
142 b45ef13d 2024-02-19 op [#include <sys/time.h>])
144 b45ef13d 2024-02-19 op dnl can't be used as r-value.
145 b45ef13d 2024-02-19 op AC_MSG_CHECKING([for TIMEVAL_TO_TIMESPEC])
146 b45ef13d 2024-02-19 op AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
147 b45ef13d 2024-02-19 op #include <sys/time.h>
149 b45ef13d 2024-02-19 op struct timeval a = {0, 0};
150 b45ef13d 2024-02-19 op struct timespec b;
151 b45ef13d 2024-02-19 op TIMEVAL_TO_TIMESPEC(&a, &b);
152 b45ef13d 2024-02-19 op return (int)b.tv_sec;
154 b45ef13d 2024-02-19 op AC_MSG_RESULT(yes)
155 b45ef13d 2024-02-19 op AC_DEFINE([HAVE_TIMEVAL_TO_TIMESPEC], 1, [have TIMEVAL_TO_TIMESPEC])
156 b45ef13d 2024-02-19 op ], AC_MSG_RESULT(no))
158 b3ea1dea 2023-07-02 op AC_CHECK_HEADER([endian.h], [AC_DEFINE(HAVE_ENDIAN_H, 1, [have endian.h])], [
159 b3ea1dea 2023-07-02 op AC_CHECK_HEADER([sys/endian.h],
160 b3ea1dea 2023-07-02 op [AC_DEFINE(HAVE_SYS_ENDIAN_H, 1, [have sys/endian.h])], [
161 b3ea1dea 2023-07-02 op AC_CHECK_HEADERS([libkern/OSByteOrder.h],
162 b3ea1dea 2023-07-02 op [AC_DEFINE(HAVE_LIBKERN_OSBYTEORDER_H, 1, [have OSByteOrder.h])],
163 b3ea1dea 2023-07-02 op [AC_MSG_ERROR([can't find compatible endian.h header])],
164 b3ea1dea 2023-07-02 op [#include <machine/endian.h>])
168 b0003f58 2021-03-08 op AC_CHECK_DECL(PR_SET_NAME, AC_DEFINE([HAVE_PR_SET_NAME], 1, [pr_set_name]), [],
169 b0003f58 2021-03-08 op [[#include <sys/prctl.h>]])
171 1d08c280 2021-03-06 op AC_SEARCH_LIBS([initscr], [ncursesw ncurses], [], [
172 1d08c280 2021-03-06 op AC_MSG_ERROR([requires either ncursesw or ncurses library])
175 8671caea 2021-08-19 op AC_SEARCH_LIBS([keyname], [ncursesw ncurses tinfow tinfo], [], [
176 8671caea 2021-08-19 op AC_MSG_ERROR([requires either ncursesw or ncurses library with terminfo support])
179 f6fb796a 2024-06-06 thomas.ad AC_SEARCH_LIBS([tls_init], [tls], [found_tls=yes], [found_tls=no])
181 f6fb796a 2024-06-06 thomas.ad AS_IF([test "x$found_tls" = "xno"], [
182 f6fb796a 2024-06-06 thomas.ad PKG_CHECK_MODULES([libtls], [libtls], [
183 f6fb796a 2024-06-06 thomas.ad CFLAGS="$libtls_CFLAGS $CFLAGS"
184 f6fb796a 2024-06-06 thomas.ad LIBS="$libtls_LIBS $LIBS"
185 f6fb796a 2024-06-06 thomas.ad ], [AC_MSG_ERROR([libtls not found.])])
188 a7d562e2 2022-11-02 op PKG_CHECK_MODULES([libgrapheme], [libgrapheme], [
189 3448adb0 2022-11-02 op AC_SUBST([LIBGRAPHEME], [])
190 a7d562e2 2022-11-02 op CFLAGS="$libgrapheme_CFLAGS $CFLAGS"
191 a7d562e2 2022-11-02 op LIBS="$libgrapheme_LIBS $LIBS"
193 3448adb0 2022-11-02 op # build the bundled version.
194 3448adb0 2022-11-02 op AC_SUBST([LIBGRAPHEME], "$srcdir/libgrapheme/libgrapheme.a")
195 3448adb0 2022-11-02 op CFLAGS="-I$srcdir/libgrapheme $CFLAGS"
198 7eaf997f 2021-08-19 op AS_IF([test "x$with_libimsg" = "xyes"], [
199 7eaf997f 2021-08-19 op PKG_CHECK_MODULES([libimsg], [libimsg], [
200 7eaf997f 2021-08-19 op CFLAGS="$libimsg_CFLAGS $CFLAGS"
201 7eaf997f 2021-08-19 op LIBS="$libimsg_LIBS $LIBS"
205 c8b8dc5c 2025-03-28 op AC_SEARCH_LIBS([imsgbuf_init], [util], [
206 7eaf997f 2021-08-19 op AC_DEFINE([HAVE_IMSG], 1,
207 7eaf997f 2021-08-19 op [Define to 1 if you have imsg functions (-lutil or -limsg).])
209 7eaf997f 2021-08-19 op AC_LIBOBJ(imsg)
210 7eaf997f 2021-08-19 op AC_LIBOBJ(imsg-buffer)
214 27437492 2023-10-14 op AC_SEARCH_LIBS([ohash_init], [util], [], [
215 82550776 2021-03-17 op AC_LIBOBJ(ohash)
216 0e1eff5b 2021-06-23 op AC_LIBOBJ(fmt_scaled)
219 cc4953ef 2021-03-16 op AC_CHECK_FUNCS([asr_run])
221 7d2a2ace 2024-01-24 op AC_SEARCH_LIBS([RAND_add], [crypto], [:], [
222 7d2a2ace 2024-01-24 op AC_MSG_ERROR([can't find libcrypto])
225 7de68a82 2024-06-14 thomas.ad AS_IF([test "x$PLATFORM" != "xdarwin"], [
226 7de68a82 2024-06-14 thomas.ad AC_SEARCH_LIBS([SSL_CTX_new], [ssl], [:], [
227 7de68a82 2024-06-14 thomas.ad AC_MSG_ERROR([can't find libssl])
231 1afd6a68 2024-03-25 op # Sanity check for Libre/OpenSSL headers vs library mismatch
232 1afd6a68 2024-03-25 op AC_MSG_CHECKING([whether libcrypto headers match the library])
233 1afd6a68 2024-03-25 op AC_RUN_IFELSE([AC_LANG_PROGRAM([[
234 1afd6a68 2024-03-25 op #include <openssl/opensslv.h>
235 1afd6a68 2024-03-25 op #include <openssl/crypto.h>
237 1afd6a68 2024-03-25 op return (OpenSSL_version_num() != OPENSSL_VERSION_NUMBER);
239 1afd6a68 2024-03-25 op AC_MSG_RESULT([yes])
241 1afd6a68 2024-03-25 op AC_MSG_RESULT([no])
242 1afd6a68 2024-03-25 op AC_MSG_ERROR([libcrypto headers do not match the library.])
244 1afd6a68 2024-03-25 op AC_MSG_WARN([skip (due to cross-compiling)])
247 d58e3018 2024-02-12 op AC_CHECK_HEADERS([linux/landlock.h])
249 d94e08d2 2024-01-13 op dnl after all the function checks, add optional support for -Werror
250 d94e08d2 2024-01-13 op AS_IF([test "x$with_Werror" = "xyes"], [
251 d94e08d2 2024-01-13 op CFLAGS="$CFLAGS -Werror"
254 e18a9f14 2021-03-15 op # check compiler flags
255 e18a9f14 2021-03-15 op AC_DEFUN([CC_ADD_CHECK_FLAGS], [
256 e18a9f14 2021-03-15 op AC_MSG_CHECKING([if $CC supports $1 flag])
257 e18a9f14 2021-03-15 op old_CFLAGS="$CFLAGS"
258 f924a1df 2024-02-19 op CFLAGS="$CFLAGS -Werror $1"
259 f924a1df 2024-02-19 op AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[])], [
260 f924a1df 2024-02-19 op AC_MSG_RESULT(yes)
261 f924a1df 2024-02-19 op CFLAGS="$old_CFLAGS $1"
263 e18a9f14 2021-03-15 op AC_MSG_RESULT(no)
264 f924a1df 2024-02-19 op CFLAGS="$old_CFLAGS"
267 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wall])
268 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wextra])
269 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wmissing-declarations])
270 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wmissing-prototypes])
271 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wstrict-prototypes])
272 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wwrite-strings])
273 e18a9f14 2021-03-15 op CC_ADD_CHECK_FLAGS([-Wno-unused-parameter])
274 db067589 2024-02-19 op CC_ADD_CHECK_FLAGS([-Wno-format-truncation])
275 db067589 2024-02-19 op CC_ADD_CHECK_FLAGS([-Wno-pointer-sign])
276 9ce0974d 2024-06-14 op CC_ADD_CHECK_FLAGS([-Wno-unused-result])
277 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wpointer-arith])
278 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wsign-compare])
279 6ecb1353 2022-01-20 op CC_ADD_CHECK_FLAGS([-Wcast-align])
281 5e11c00c 2021-03-02 op AC_CONFIG_HEADERS([config.h])
282 5e11c00c 2021-03-02 op AC_CONFIG_FILES([
284 23a912c2 2022-01-20 op test/Makefile
285 0e4c3d62 2022-02-26 op pages/about_about.gmi
286 0e4c3d62 2022-02-26 op pages/about_blank.gmi
287 8064b849 2021-07-20 op pages/about_crash.gmi
288 0e4c3d62 2022-02-26 op pages/about_help.gmi
289 0e4c3d62 2022-02-26 op pages/about_license.gmi
290 0e4c3d62 2022-02-26 op pages/about_new.gmi
291 0e4c3d62 2022-02-26 op pages/bookmarks.gmi