Mercurial > minori
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 |
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 | 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 | 12 dnl need C compiler for utf8proc |
13 AC_PROG_CC | |
14 | |
250 | 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 | 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 | 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 | 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 | 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 | 36 dnl On some platforms (see: Debian), Qt is built with |
37 dnl `-reduce-relocations`, which requires applications | |
38 dnl to be built with position-independent code. | |
39 dnl | |
40 dnl Unfortunately there's no way to check for this | |
41 dnl without using qmake (bleugh), so we use this check | |
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 | 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 | 46 saved_CXXFLAGS="$CXXFLAGS" |
47 CXXFLAGS="$CXXFLAGS $QT_CFLAGS" | |
48 AC_COMPILE_IFELSE( | |
49 [AC_LANG_PROGRAM([#include <qglobal.h>], [])], | |
50 [ | |
51 AC_MSG_RESULT([no]) | |
52 CXXFLAGS="$saved_CXXFLAGS" | |
53 ], | |
54 [ | |
55 AC_MSG_RESULT([yes]) | |
56 CXXFLAGS="$saved_CXXFLAGS -fPIC -DPIC" | |
57 ] | |
58 ) | |
59 ], [ | |
60 PKG_CHECK_MODULES([QT], [Qt6Core Qt6Widgets Qt6Gui], [ | |
61 QT_BIN_DIRECTORY="$(eval $PKG_CONFIG --variable=bindir Qt6Core)" | |
62 QT_LIBEXEC_DIRECTORY="$(eval $PKG_CONFIG --variable=libexecdir Qt6Core)" | |
63 | |
64 AC_PATH_PROGS(QT_MOC, [moc], moc, ["${QT_LIBEXEC_DIRECTORY}"]) | |
65 AC_PATH_PROGS(QT_RCC, [rcc], rcc, ["${QT_LIBEXEC_DIRECTORY}"]) | |
66 AC_PATH_PROGS(QT_UIC, [uic], uic, ["${QT_LIBEXEC_DIRECTORY}"]) | |
67 AC_PATH_PROGS(QT_LRELEASE, [lrelease], lrelease, ["${QT_BIN_DIRECTORY}"]) | |
68 AC_PATH_PROGS(QT_LUPDATE, [lupdate], lupdate, ["${QT_BIN_DIRECTORY}"]) | |
69 | |
70 dnl in my testing Qt 6 seems to require PIC unconditionally... | |
71 CXXFLAGS="$CXXFLAGS -fPIC" | |
72 ], [ | |
73 AC_MSG_ERROR([${QT_PKG_ERRORS}.]) | |
74 ]) | |
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 | 77 dnl need this for moc |
78 AC_PROG_MKDIR_P | |
79 AC_SUBST([MKDIR_P]) | |
236
4d461ef7d424
HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff
changeset
|
80 |
250 | 81 dnl libcurl? |
291 | 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 | 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 | 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 | 91 AS_CASE(["$host_os"], |
92 [cygwin*|mingw*], [build_windows=yes], | |
93 [darwin*], [build_osx=yes], | |
94 [linux*], [build_linux=yes], | |
95 []) | |
96 | |
97 if test "x$build_windows" = "xyes"; then | |
98 AC_DEFINE([WIN32]) | |
99 | |
100 dnl Check for windres | |
101 AC_CHECK_TOOL([WINDRES], [windres]) | |
102 AC_SUBST([WINDRES]) | |
103 elif test "x$build_osx" = "xyes"; then | |
104 AC_DEFINE([MACOSX]) | |
105 else | |
106 AS_IF([test "x$build_linux" = "xyes"], [AC_DEFINE([linux])]) | |
107 | |
108 PKG_CHECK_MODULES([GLIB], [gio-2.0 glib-2.0], [build_glib=yes], [build_glib=no]) | |
109 if test "x$build_glib" = "xyes"; then | |
110 AC_DEFINE([GLIB]) | |
111 | |
112 AC_SUBST([GLIB_CFLAGS]) | |
113 AC_SUBST([GLIB_LIBS]) | |
114 fi | |
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 |