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
133 lines
4.6 KiB
Makefile
133 lines
4.6 KiB
Makefile
# Makefile.am - Makefile for QGpgME.
|
|
# Copyright (C) 2016 Bundesamt für Sicherheit in der Informationstechnik
|
|
# Software engineering by Intevation GmbH
|
|
# Copyright (C) 2024 g10 Code GmbH
|
|
#
|
|
# This file is part of QGpgME, the Qt API binding for GpgME.
|
|
#
|
|
# QGpgME is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# QGpgME is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, see <https://gnu.org/licenses/>.
|
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
## Process this file with automake to produce Makefile.in
|
|
|
|
# Location of the released tarball archives. This is prefixed by
|
|
# the variable RELEASE_ARCHIVE in ~/.gnupg-autogen.rc. For example:
|
|
# RELEASE_ARCHIVE=user@host:archive/tarballs
|
|
RELEASE_ARCHIVE_SUFFIX = gpgme
|
|
# The variable RELEASE_SIGNKEY in ~/.gnupg-autogen.rc is used
|
|
# to specify the key for signing. For example:
|
|
# RELEASE_SIGNKEY=D8692123C4065DEA5E0F3AB5249B39D24F25E3B6
|
|
|
|
|
|
# Autoconf flags
|
|
ACLOCAL_AMFLAGS = -I m4
|
|
|
|
EXTRA_DIST = autogen.sh autogen.rc README VERSION
|
|
|
|
if RUN_GPG_TESTS
|
|
tests = tests
|
|
else
|
|
tests =
|
|
endif
|
|
|
|
SUBDIRS = src ${tests} doc
|
|
|
|
dist-hook: gen-ChangeLog
|
|
|
|
distcheck-hook:
|
|
set -e; ( \
|
|
pref="#+macro: qgpgme_" ;\
|
|
reldate="$$(date -u +%Y-%m-%d)" ;\
|
|
echo "$${pref}ver $(PACKAGE_VERSION)" ;\
|
|
echo "$${pref}date $${reldate}" ;\
|
|
list='$(DIST_ARCHIVES)'; for i in $$list; do \
|
|
case "$$i" in *.tar.bz2) \
|
|
echo "$${pref}size $$(wc -c <$$i|awk '{print int($$1/1024)}')k" ;\
|
|
echo "$${pref}sha1 $$(sha1sum <$$i|cut -d' ' -f1)" ;\
|
|
echo "$${pref}sha2 $$(sha256sum <$$i|cut -d' ' -f1)" ;;\
|
|
esac;\
|
|
done ) | tee $(distdir).swdb
|
|
|
|
.PHONY: gen-ChangeLog release sign-release
|
|
|
|
gen_start_date = 2011-12-01T00:00:00
|
|
gen-ChangeLog:
|
|
if test -d $(top_srcdir)/.git; then \
|
|
(cd $(top_srcdir) && \
|
|
$(GITLOG_TO_CHANGELOG) --append-dot --tear-off \
|
|
--amend=build-aux/git-log-fix \
|
|
--since=$(gen_start_date) ) > $(distdir)/cl-t; \
|
|
cat $(top_srcdir)/build-aux/git-log-footer >> $(distdir)/cl-t;\
|
|
rm -f $(distdir)/ChangeLog; \
|
|
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
|
|
fi
|
|
|
|
|
|
# Macro to help the release target.
|
|
RELEASE_NAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)
|
|
|
|
release:
|
|
+(set -e;\
|
|
if [ "$(abs_top_builddir)" = "$(abs_top_srcdir)" ]; then \
|
|
echo "error: build directory must not be the source directory" >&2;\
|
|
exit 2;\
|
|
fi ;\
|
|
echo "/* Build started at $$(date -uIseconds) */" ;\
|
|
cd $(top_srcdir); \
|
|
./autogen.sh --force; \
|
|
cd $(abs_top_builddir); \
|
|
rm -rf dist; mkdir dist ; cd dist ; \
|
|
$(abs_top_srcdir)/configure --enable-maintainer-mode; \
|
|
$(MAKE) distcheck DISTCHECK_CONFIGURE_FLAGS="--enable-qt-version=5"; \
|
|
$(MAKE) distcheck; \
|
|
echo "/* Build finished at $$(date -uIseconds) */" ;\
|
|
echo "/*" ;\
|
|
echo " * Please run the final step interactively:" ;\
|
|
echo " * make sign-release" ;\
|
|
echo " */" ;\
|
|
) 2>&1 | tee "$(RELEASE_NAME).buildlog"
|
|
|
|
sign-release:
|
|
+(set -e; \
|
|
test $$(pwd | sed 's,.*/,,') = dist || cd dist; \
|
|
x=$$(grep '^RELEASE_ARCHIVE=' $$HOME/.gnupg-autogen.rc|cut -d= -f2);\
|
|
if [ -z "$$x" ]; then \
|
|
echo "error: RELEASE_ARCHIVE missing in ~/.gnupg-autogen.rc">&2; \
|
|
exit 2;\
|
|
fi;\
|
|
myarchive="$$x/$(RELEASE_ARCHIVE_SUFFIX)";\
|
|
x=$$(grep '^RELEASE_SIGNKEY=' $$HOME/.gnupg-autogen.rc|cut -d= -f2);\
|
|
if [ -z "$$x" ]; then \
|
|
echo "error: RELEASE_SIGNKEY missing in ~/.gnupg-autogen.rc">&2; \
|
|
exit 2;\
|
|
fi;\
|
|
mysignkey="$$x";\
|
|
files1="$(RELEASE_NAME).tar.bz2" ;\
|
|
files2="$(RELEASE_NAME).tar.bz2.sig \
|
|
$(RELEASE_NAME).swdb \
|
|
$(RELEASE_NAME).buildlog" ;\
|
|
echo "/* Signing the source tarball ..." ;\
|
|
gpg -sbu $$mysignkey $(RELEASE_NAME).tar.bz2 ;\
|
|
cat $(RELEASE_NAME).swdb >swdb.snippet;\
|
|
echo >>swdb.snippet ;\
|
|
sha1sum $${files1} >>swdb.snippet ;\
|
|
cat "../$(RELEASE_NAME).buildlog" swdb.snippet \
|
|
| gzip >$(RELEASE_NAME).buildlog ;\
|
|
echo "Copying to local archive ..." ;\
|
|
scp -p $${files1} $${files2} $$myarchive/ || true;\
|
|
echo '/*' ;\
|
|
echo ' * All done; for checksums see dist/swdb.snippet' ;\
|
|
echo ' */' ;\
|
|
)
|