Mercurial > minori
comparison 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 |
comparison
equal
deleted
inserted
replaced
288:8b9db17d1e5f | 289:3dbf01233fec |
---|---|
9 | 9 |
10 AM_INIT_AUTOMAKE([-Wall -Wportability foreign subdir-objects]) | 10 AM_INIT_AUTOMAKE([-Wall -Wportability foreign subdir-objects]) |
11 | 11 |
12 dnl need C compiler for utf8proc | 12 dnl need C compiler for utf8proc |
13 AC_PROG_CC | 13 AC_PROG_CC |
14 AC_LANG([C++]) | |
14 | 15 |
15 dnl Do we have a C++17 compiler | 16 dnl Do we have a C++17 compiler |
16 : ${CXXFLAGS=""} | |
17 AC_PROG_CXX | 17 AC_PROG_CXX |
18 AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory]) | 18 AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory]) |
19 | 19 |
20 dnl Init libtool | 20 dnl Init libtool |
21 AM_PROG_AR | 21 AM_PROG_AR |
22 LT_INIT | 22 LT_INIT |
23 | 23 |
24 | 24 |
25 dnl Qt? | 25 dnl Qt? |
26 AS_IF([test "${enable_qt}" != "no"], [ | 26 PKG_CHECK_MODULES([QT], [Qt5Core >= 5.7.0 Qt5Widgets Qt5Gui], [ |
27 PKG_CHECK_MODULES([QT], [Qt5Core >= 5.7.0 Qt5Widgets Qt5Gui], [ | 27 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix Qt5Core)" |
28 QT_PATH="$(eval $PKG_CONFIG --variable=exec_prefix Qt5Core)" | 28 QT_HOST_PATH="$(eval $PKG_CONFIG --variable=host_bins Qt5Core)" |
29 QT_HOST_PATH="$(eval $PKG_CONFIG --variable=host_bins Qt5Core)" | 29 QT_VERSION="$(eval $PKG_CONFIG --modversion Qt5Gui)" |
30 QT_VERSION="$(eval $PKG_CONFIG --modversion Qt5Gui)" | 30 AC_PATH_PROGS(QT_MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) |
31 AC_PATH_PROGS(QT_MOC, [moc-qt5 moc], moc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) | 31 AC_PATH_PROGS(QT_RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) |
32 AC_PATH_PROGS(QT_RCC, [rcc-qt5 rcc], rcc, ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) | 32 AC_PATH_PROGS(QT_UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) |
33 AC_PATH_PROGS(QT_UIC, [uic-qt5 uic], uic, ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) | 33 AC_PATH_PROGS(QT_LRELEASE, [lrelease-qt5 lrelease], lrelease, ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) |
34 AC_PATH_PROGS(QT_LRELEASE, [lrelease-qt5 lrelease], lrelease, ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) | 34 AC_PATH_PROGS(QT_LUPDATE, [lupdate-qt5 lupdate], lupdate, ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) |
35 AC_PATH_PROGS(QT_LUPDATE, [lupdate-qt5 lupdate], lupdate, ["${QT_HOST_PATH}" "${QT_PATH}/bin"]) | 35 ], [ |
36 ], [ | 36 AC_MSG_ERROR([${QT_PKG_ERRORS}.]) |
37 AC_MSG_ERROR([${QT_PKG_ERRORS}]) | |
38 ]) | |
39 ]) | 37 ]) |
38 | |
39 dnl On some platforms (see: Debian), Qt is built with | |
40 dnl `-reduce-relocations`, which requires applications | |
41 dnl to be built with position-independent code. | |
42 dnl | |
43 dnl Unfortunately there's no way to check for this | |
44 dnl without using qmake (bleugh), so we use this check | |
45 dnl to see if qglobal.h can be included without PIC. | |
46 | |
47 saved_CXXFLAGS="$CXXFLAGS" | |
48 CXXFLAGS="$CXXFLAGS $QT_CFLAGS" | |
49 AC_COMPILE_IFELSE( | |
50 [AC_LANG_PROGRAM([#include <qglobal.h>], [])], | |
51 [CXXFLAGS="$saved_CXXFLAGS"], | |
52 [CXXFLAGS="$saved_CXXFLAGS -fPIC"] | |
53 ) | |
40 | 54 |
41 dnl need this for moc | 55 dnl need this for moc |
42 AC_PROG_MKDIR_P | 56 AC_PROG_MKDIR_P |
43 AC_SUBST([MKDIR_P]) | 57 AC_SUBST([MKDIR_P]) |
44 | 58 |