annotate configure.ac @ 327:b5d6c27c308f

anime: refactor Anime::SeriesSeason to Season class ToLocalString has also been altered to take in both season and year because lots of locales actually treat formatting seasons differently! most notably is Russian which adds a suffix at the end to notate seasons(??)
author Paper <paper@paper.us.eu.org>
date Thu, 13 Jun 2024 01:49:18 -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