annotate configure.ac @ 335:5098387a3a46

kitsu: remove unused constants, fix token expiration calculation
author Paper <paper@paper.us.eu.org>
date Wed, 19 Jun 2024 06:11:38 -0400
parents 703fb7d7c917
children adb79bdde329
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
1 AC_INIT([minori], [0.1.0-alpha.1])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
2
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
3 AC_CANONICAL_HOST
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
4
258
862d0d8619f6 *: HUUUGE changes
Paper <paper@paper.us.eu.org>
parents: 250
diff changeset
5 AC_CONFIG_SUBDIRS([dep/pugixml dep/animone dep/anitomy])
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
6 AC_CONFIG_SRCDIR([src/main.cc])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
7 AC_CONFIG_AUX_DIR([build-aux])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
8 AC_CONFIG_MACRO_DIRS([m4])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
9
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
10 AM_INIT_AUTOMAKE([-Wall -Wportability foreign subdir-objects])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
11
264
9a04802848c0 *: improve multiple things
Paper <paper@paper.us.eu.org>
parents: 258
diff changeset
12 dnl need C compiler for utf8proc
9a04802848c0 *: improve multiple things
Paper <paper@paper.us.eu.org>
parents: 258
diff changeset
13 AC_PROG_CC
9a04802848c0 *: improve multiple things
Paper <paper@paper.us.eu.org>
parents: 258
diff changeset
14
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
15 dnl Do we have a C++17 compiler
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
16 AC_PROG_CXX
237
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents: 236
diff changeset
17 AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory])
290
9347e2eaf6e5 autoconf: add checking message for Qt PIC stuff
Paper <paper@paper.us.eu.org>
parents: 289
diff changeset
18 AC_LANG([C++])
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
19
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
20 dnl Init libtool
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
21 AM_PROG_AR
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
22 LT_INIT
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
23
282
19eb6c4dca78 autotools: ax_have_qt sucks, use pkgconf instead
Paper <paper@paper.us.eu.org>
parents: 273
diff changeset
24
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
25 dnl Qt?
289
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
26 PKG_CHECK_MODULES([QT], [Qt5Core >= 5.7.0 Qt5Widgets Qt5Gui], [
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
27 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix Qt5Core)"
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
28 QT_HOST_PATH="$(eval $PKG_CONFIG --variable=host_bins Qt5Core)"
291
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
29
289
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
30 AC_PATH_PROGS(QT_MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
31 AC_PATH_PROGS(QT_RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
32 AC_PATH_PROGS(QT_UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
33 AC_PATH_PROGS(QT_LRELEASE, [lrelease-qt5 lrelease], lrelease, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
34 AC_PATH_PROGS(QT_LUPDATE, [lupdate-qt5 lupdate], lupdate, ["${QT_HOST_PATH}" "${QT_PATH}/bin"])
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
35
291
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
36 dnl On some platforms (see: Debian), Qt is built with
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
37 dnl `-reduce-relocations`, which requires applications
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
38 dnl to be built with position-independent code.
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
39 dnl
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
40 dnl Unfortunately there's no way to check for this
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
41 dnl without using qmake (bleugh), so we use this check
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
42 dnl to see if qglobal.h can be included without PIC.
289
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
43
291
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
44 AC_MSG_CHECKING([for Qt requiring -fPIC])
290
9347e2eaf6e5 autoconf: add checking message for Qt PIC stuff
Paper <paper@paper.us.eu.org>
parents: 289
diff changeset
45
291
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
46 saved_CXXFLAGS="$CXXFLAGS"
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
47 CXXFLAGS="$CXXFLAGS $QT_CFLAGS"
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
48 AC_COMPILE_IFELSE(
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
49 [AC_LANG_PROGRAM([#include <qglobal.h>], [])],
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
50 [
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
51 AC_MSG_RESULT([no])
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
52 CXXFLAGS="$saved_CXXFLAGS"
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
53 ],
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
54 [
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
55 AC_MSG_RESULT([yes])
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
56 CXXFLAGS="$saved_CXXFLAGS -fPIC -DPIC"
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
57 ]
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
58 )
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
59 ], [
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
60 PKG_CHECK_MODULES([QT], [Qt6Core Qt6Widgets Qt6Gui], [
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
61 QT_BIN_DIRECTORY="$(eval $PKG_CONFIG --variable=bindir Qt6Core)"
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
62 QT_LIBEXEC_DIRECTORY="$(eval $PKG_CONFIG --variable=libexecdir Qt6Core)"
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
63
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
64 AC_PATH_PROGS(QT_MOC, [moc], moc, ["${QT_LIBEXEC_DIRECTORY}"])
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
65 AC_PATH_PROGS(QT_RCC, [rcc], rcc, ["${QT_LIBEXEC_DIRECTORY}"])
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
66 AC_PATH_PROGS(QT_UIC, [uic], uic, ["${QT_LIBEXEC_DIRECTORY}"])
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
67 AC_PATH_PROGS(QT_LRELEASE, [lrelease], lrelease, ["${QT_BIN_DIRECTORY}"])
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
68 AC_PATH_PROGS(QT_LUPDATE, [lupdate], lupdate, ["${QT_BIN_DIRECTORY}"])
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
69
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
70 dnl in my testing Qt 6 seems to require PIC unconditionally...
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
71 CXXFLAGS="$CXXFLAGS -fPIC"
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
72 ], [
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
73 AC_MSG_ERROR([${QT_PKG_ERRORS}.])
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
74 ])
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
75 ])
289
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
76
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
77 dnl need this for moc
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
78 AC_PROG_MKDIR_P
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
79 AC_SUBST([MKDIR_P])
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
80
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
81 dnl libcurl?
291
9a88e1725fd2 *: refactor lots of stuff
Paper <paper@paper.us.eu.org>
parents: 290
diff changeset
82 LIBCURL_CHECK_CONFIG([yes], [7.87.0], [have_libcurl=yes], [have_libcurl=no])
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
83
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
84 AS_IF([test "x$have_libcurl" = "xno"], [AC_MSG_ERROR([*** libcurl not found.])])
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
85
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
86 build_windows=no
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
87 build_osx=no
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
88 build_linux=no
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
89 build_glib=no
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
90
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
91 AS_CASE(["$host_os"],
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
92 [cygwin*|mingw*], [build_windows=yes],
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
93 [darwin*], [build_osx=yes],
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
94 [linux*], [build_linux=yes],
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
95 [])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
96
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
97 if test "x$build_windows" = "xyes"; then
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
98 AC_DEFINE([WIN32])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
99
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
100 dnl Check for windres
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
101 AC_CHECK_TOOL([WINDRES], [windres])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
102 AC_SUBST([WINDRES])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
103 elif test "x$build_osx" = "xyes"; then
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
104 AC_DEFINE([MACOSX])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
105 else
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
106 AS_IF([test "x$build_linux" = "xyes"], [AC_DEFINE([linux])])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
107
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
108 PKG_CHECK_MODULES([GLIB], [gio-2.0 glib-2.0], [build_glib=yes], [build_glib=no])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
109 if test "x$build_glib" = "xyes"; then
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
110 AC_DEFINE([GLIB])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
111
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
112 AC_SUBST([GLIB_CFLAGS])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
113 AC_SUBST([GLIB_LIBS])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
114 fi
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
115 fi
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
116
267
09c5bd74fe93 win32: make builds work again
Paper <paper@paper.us.eu.org>
parents: 264
diff changeset
117 AC_DEFINE([UTF8PROC_STATIC])
09c5bd74fe93 win32: make builds work again
Paper <paper@paper.us.eu.org>
parents: 264
diff changeset
118
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
119 AM_CONDITIONAL([BUILD_WIN], [test "x$build_windows" = "xyes"])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
120 AM_CONDITIONAL([BUILD_OSX], [test "x$build_osx" = "xyes"])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
121 AM_CONDITIONAL([BUILD_GLIB], [test "x$build_glib" = "xyes"])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
122 AM_CONDITIONAL([BUILD_WINDRES], [test "x$WINDRES" != "x"])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
123
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
124 AC_CONFIG_FILES([Makefile])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
125 AC_OUTPUT