annotate configure.ac @ 289:3dbf01233fec

autoconf: add a check for some weird Qt PIC requirements
author Paper <paper@paper.us.eu.org>
date Wed, 08 May 2024 17:27:13 -0400
parents 8b9db17d1e5f
children 9347e2eaf6e5
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
289
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
14 AC_LANG([C++])
264
9a04802848c0 *: improve multiple things
Paper <paper@paper.us.eu.org>
parents: 258
diff changeset
15
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
16 dnl Do we have a C++17 compiler
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
17 AC_PROG_CXX
237
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents: 236
diff changeset
18 AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory])
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)"
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
29 QT_VERSION="$(eval $PKG_CONFIG --modversion Qt5Gui)"
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"])
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
35 ], [
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
36 AC_MSG_ERROR([${QT_PKG_ERRORS}.])
282
19eb6c4dca78 autotools: ax_have_qt sucks, use pkgconf instead
Paper <paper@paper.us.eu.org>
parents: 273
diff changeset
37 ])
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
38
289
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
39 dnl On some platforms (see: Debian), Qt is built with
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
40 dnl `-reduce-relocations`, which requires applications
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
41 dnl to be built with position-independent code.
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
42 dnl
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
43 dnl Unfortunately there's no way to check for this
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
44 dnl without using qmake (bleugh), so we use this check
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
45 dnl to see if qglobal.h can be included without PIC.
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
46
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
47 saved_CXXFLAGS="$CXXFLAGS"
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
48 CXXFLAGS="$CXXFLAGS $QT_CFLAGS"
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
49 AC_COMPILE_IFELSE(
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
50 [AC_LANG_PROGRAM([#include <qglobal.h>], [])],
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
51 [CXXFLAGS="$saved_CXXFLAGS"],
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
52 [CXXFLAGS="$saved_CXXFLAGS -fPIC"]
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
53 )
3dbf01233fec autoconf: add a check for some weird Qt PIC requirements
Paper <paper@paper.us.eu.org>
parents: 288
diff changeset
54
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
55 dnl need this for moc
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
56 AC_PROG_MKDIR_P
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
57 AC_SUBST([MKDIR_P])
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
58
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
59 dnl libcurl?
237
a7d0d543b334 *: make OS X builds succeed
Paper <paper@paper.us.eu.org>
parents: 236
diff changeset
60 LIBCURL_CHECK_CONFIG([yes], [7.7.2], [have_libcurl=yes], [have_libcurl=no])
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
61
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
62 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
63
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
64 build_windows=no
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
65 build_osx=no
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
66 build_linux=no
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
67 build_glib=no
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
68
250
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
69 AS_CASE(["$host_os"],
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
70 [cygwin*|mingw*], [build_windows=yes],
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
71 [darwin*], [build_osx=yes],
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
72 [linux*], [build_linux=yes],
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
73 [])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
74
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
75 if test "x$build_windows" = "xyes"; then
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
76 AC_DEFINE([WIN32])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
77
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
78 dnl Check for windres
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
79 AC_CHECK_TOOL([WINDRES], [windres])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
80 AC_SUBST([WINDRES])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
81 elif test "x$build_osx" = "xyes"; then
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
82 AC_DEFINE([MACOSX])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
83 else
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
84 AS_IF([test "x$build_linux" = "xyes"], [AC_DEFINE([linux])])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
85
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
86 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
87 if test "x$build_glib" = "xyes"; then
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
88 AC_DEFINE([GLIB])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
89
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
90 AC_SUBST([GLIB_CFLAGS])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
91 AC_SUBST([GLIB_LIBS])
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
92 fi
c130f47f6f48 *: many many changes
Paper <paper@paper.us.eu.org>
parents: 249
diff changeset
93 fi
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
94
267
09c5bd74fe93 win32: make builds work again
Paper <paper@paper.us.eu.org>
parents: 264
diff changeset
95 AC_DEFINE([UTF8PROC_STATIC])
09c5bd74fe93 win32: make builds work again
Paper <paper@paper.us.eu.org>
parents: 264
diff changeset
96
236
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
97 AM_CONDITIONAL([BUILD_WIN], [test "x$build_windows" = "xyes"])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
98 AM_CONDITIONAL([BUILD_OSX], [test "x$build_osx" = "xyes"])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
99 AM_CONDITIONAL([BUILD_GLIB], [test "x$build_glib" = "xyes"])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
100 AM_CONDITIONAL([BUILD_WINDRES], [test "x$WINDRES" != "x"])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
101
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
102 AC_CONFIG_FILES([Makefile])
4d461ef7d424 HUGE UPDATE: convert build system to autotools
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
103 AC_OUTPUT