Mercurial > minori
annotate configure.ac @ 337:a7d4e5107531
dep/animone: REFACTOR ALL THE THINGS
1: animone now has its own syntax divergent from anisthesia,
making different platforms actually have their own sections
2: process names in animone are now called `comm' (this will
probably break things). this is what its called in bsd/linux
so I'm just going to use it everywhere
3: the X11 code now checks for the existence of a UTF-8 window title
and passes it if available
4: ANYTHING THATS NOT LINUX IS 100% UNTESTED AND CAN AND WILL BREAK!
I still actually need to test the bsd code. to be honest I'm probably
going to move all of the bsds into separate files because they're
all essentially different operating systems at this point
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Wed, 19 Jun 2024 12:51:15 -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 |