130766ffc5
* configure.ac: Remove definition and substitution of LIBQGPGME_LT_CURRENT, LIBQGPGME_LT_AGE, LIBQGPGME_LT_REVISION. Remove "qt qt5 qt6" from available_languages. Remove "qt" from default_languages. Remove options --enable-reduce-relocations and --enable-no-direct-extern-access. Remove checks for pkg-config, Qt 5, Qt 6 and C++ 17. Remove adding visibility flag to GPGME_QT5_CFLAGS and GPGME_QT6_CFLAGS. Remove definition of conditionals WANT_QT5 and WANT_QT6. Remove checks for doxygen and dot. Remove generation of files in lang/qt. * lang/Makefile.am (DIST_SUBDIRS): Remove qt. * lang/qt/.gitignore, lang/qt/AUTHORS, lang/qt/COPYING, lang/qt/ChangeLog, lang/qt/INSTALL, lang/qt/NEWS, lang/qt/autogen.rc, lang/qt/autogen.sh, lang/qt/configure.ac: New. * lang/qt/Makefile.am (EXTRA_DIST): Add autogen.sh, autogen.rc, VERSION. (RELEASE_ARCHIVE_SUFFIX, ACLOCAL_AMFLAGS, dist-hook, distcheck-hook, .PHONY, gen_start_date, gen-ChangeLog, RELEASE_NAME, release, sign-release): New (copied from top-level Makefile.am). * lang/qt/build-aux/compile, lang/qt/build-aux/config.guess, lang/qt/build-aux/config.sub, lang/qt/build-aux/depcomp, lang/qt/build-aux/install-sh, lang/qt/build-aux/libtool-patch.sed, lang/qt/build-aux/ltmain.sh, lang/qt/build-aux/missing: New. * lang/qt/doc/Doxyfile.in (INPUT): Update path. * m4/ax_check_compile_flag.m4: Move to... * lang/qt/m4/ax_check_compile_flag.m4: ...here * m4/pkg.m4: Move to... * lang/qt/m4/pkg.m4: ...here * m4/qt5.m4: Move to... * lang/qt/m4/qt5.m4: ...here * m4/qt6.m4: Move to... * lang/qt/m4/qt6.m4: ...here * lang/qt/m4/ax_cxx_compile_stdcxx.m4, lang/qt/m4/ax_gcc_func_attribute.m4, lang/qt/m4/gpg-error.m4, lang/qt/m4/gpgme.m4, lang/qt/m4/gpgmepp.m4, lang/qt/m4/libtool.m4, lang/qt/m4/ltoptions.m4, lang/qt/m4/ltsugar.m4, lang/qt/m4/ltversion.m4, lang/qt/m4/lt~obsolete.m4: New. * lang/qt/src/Makefile.am (AM_CPPFLAGS): Replace include paths of gpgmepp and gpgme relative to top_builddir with @GPGMEPP_CFLAGS@ and @GPGME_CFLAGS@. (libqgpgme_la_LIBADD, libqgpgmeqt6_la_LIBADD): Replace relative paths of libgpgmepp.la and libgpgme.la with @GPGMEPP_LIBS@ and @GPGME_LIBS@. * lang/qt/tests/Makefile.am (EXTRA_DIST): Add new files. (LDADD): Replace relative paths of libgpgmepp.la and libgpgme.la with @GPGMEPP_LIBS@ and @GPGME_LIBS@. (AM_CPPFLAGS): Replace include paths of gpgmepp and gpgme relative to top_builddir with @GPGMEPP_CFLAGS@ and @GPGME_CFLAGS@. (pubring-stamp): Use local copies of pubdemo.asc and secdemo.asc. * lang/qt/tests/pubdemo.asc, lang/qt/tests/secdemo.asc, lang/qt/tests/start-stop-agent: New. -- This makes building and distributing QGpgME independent of the sources of gpgme. Many of the new files are copied from gpgme to make QGpgME a self-contained package. A later commit re-adds the possibility to build QGpgME as nested package together with gpgme. GnuPG-bug-id: 7110
99 lines
3.2 KiB
Plaintext
99 lines
3.2 KiB
Plaintext
dnl qt6.m4
|
|
dnl Copyright (C) 2016 Intevation GmbH
|
|
dnl
|
|
dnl This file is part of gpgme and is provided under the same license as gpgme
|
|
|
|
dnl Autoconf macro to find Qt6
|
|
dnl
|
|
dnl sets GPGME_QT6_LIBS and GPGME_QT6_CFLAGS
|
|
dnl
|
|
dnl if QT6 was found have_qt6_libs is set to yes
|
|
|
|
AC_DEFUN([FIND_QT6],
|
|
[
|
|
have_qt6_libs="no";
|
|
|
|
PKG_CHECK_MODULES(GPGME_QT6,
|
|
Qt6Core >= 6.4.0,
|
|
[have_qt6_libs="yes"],
|
|
[have_qt6_libs="no"])
|
|
|
|
PKG_CHECK_MODULES(GPGME_QT6TEST,
|
|
Qt6Test >= 6.4.0,
|
|
[have_qt6test_libs="yes"],
|
|
[have_qt6test_libs="no"])
|
|
|
|
if test "$have_qt6_libs" = "yes"; then
|
|
# Qt6 moved moc to libexec
|
|
qt6libexecdir=$($PKG_CONFIG --variable=libexecdir 'Qt6Core >= 6.4.0')
|
|
AC_PATH_TOOL(MOC, moc, [], [$qt6libexecdir])
|
|
if test -z "$MOC"; then
|
|
AC_MSG_WARN([moc not found - Qt 6 binding will not be built.])
|
|
have_qt6_libs="no";
|
|
fi
|
|
fi
|
|
|
|
if test "$have_qt6_libs" = "yes"; then
|
|
if test "$have_w32_system" != yes; then
|
|
mkspecsdir=$($PKG_CONFIG --variable mkspecsdir Qt6Platform)
|
|
if test -z "$mkspecsdir"; then
|
|
AC_MSG_WARN([Failed to determine Qt's mkspecs directory. Cannot check its build configuration.])
|
|
fi
|
|
fi
|
|
|
|
# check if we need -fPIC
|
|
if test -z "$use_reduce_relocations" && test -n "$mkspecsdir"; then
|
|
AC_MSG_CHECKING([whether Qt was built with -fPIC])
|
|
if grep -q "QT_CONFIG .* reduce_relocations" $mkspecsdir/qconfig.pri; then
|
|
use_reduce_relocations="yes"
|
|
else
|
|
use_reduce_relocations="no"
|
|
fi
|
|
AC_MSG_RESULT([$use_reduce_relocations])
|
|
fi
|
|
if test "$use_reduce_relocations" = yes; then
|
|
GPGME_QT6_CFLAGS="$GPGME_QT6_CFLAGS -fPIC"
|
|
fi
|
|
|
|
# check if we need -mno-direct-extern-access
|
|
if test "$have_no_direct_extern_access" = yes; then
|
|
if test -z "$use_no_direct_extern_access" && test -n "$mkspecsdir"; then
|
|
AC_MSG_CHECKING([whether Qt was built with -mno-direct-extern-access])
|
|
if grep -q "QT_CONFIG .* no_direct_extern_access" $mkspecsdir/qconfig.pri; then
|
|
use_no_direct_extern_access="yes"
|
|
else
|
|
use_no_direct_extern_access="no"
|
|
fi
|
|
AC_MSG_RESULT([$use_no_direct_extern_access])
|
|
fi
|
|
if test "$use_no_direct_extern_access" = yes; then
|
|
GPGME_QT6_CFLAGS="$GPGME_QT6_CFLAGS -mno-direct-extern-access"
|
|
fi
|
|
fi
|
|
|
|
dnl Check that a binary can actually be build with this qt.
|
|
dnl pkg-config may be set up in a way that it looks also for libraries
|
|
dnl of the build system and not only for the host system. In that case
|
|
dnl we check here that we can actually compile / link a qt application
|
|
dnl for host.
|
|
OLDCPPFLAGS=$CPPFLAGS
|
|
OLDLIBS=$LIBS
|
|
|
|
CPPFLAGS=$GPGME_QT6_CFLAGS
|
|
LIBS=$GPGME_QT6_LIBS
|
|
AC_LANG_PUSH(C++)
|
|
AC_MSG_CHECKING([whether a simple Qt program can be built])
|
|
AC_LINK_IFELSE([AC_LANG_SOURCE([
|
|
#include <QCoreApplication>
|
|
int main (int argc, char **argv) {
|
|
QCoreApplication app(argc, argv);
|
|
app.exec();
|
|
}])], [have_qt6_libs='yes'], [have_qt6_libs='no'])
|
|
AC_MSG_RESULT([$have_qt6_libs])
|
|
AC_LANG_POP()
|
|
|
|
CPPFLAGS=$OLDCPPFLAGS
|
|
LIBS=$OLDLIBS
|
|
fi
|
|
])
|