From 97b0881216af24f2a46c11650e23691cff9cb12a Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Mon, 27 Nov 2017 15:40:01 +0100 Subject: core: Install new files gpgrt.m4 and gpgrt-config. * src/gpgrt.m4: New. Bascially a copy of libgpg-error.m4 * src/gpg-error-config.in: Decide which name to print. * src/Makefile.am (nodist_bin_SCRIPTS): Add gpgrt-config. (m4data_DATA): Add gpgrt.m4 (EXTRA_DIST): Add gpgrt.m4. (BUILT_SOURCES): Add gpgrt-config. (CLEANFILES): Add gpgrt-config. (gpgrt-config): Create from gpg-error-config. -- These files can be used instead of gpg-error-config or gpg-error.m4. The hope is that providing them early will ease an eventual migration from libgpg-error to libgpgrt easier. Signed-off-by: Werner Koch --- doc/gpgrt.texi | 20 +++++--- src/Makefile.am | 12 +++-- src/gpg-error-config.in | 12 +++-- src/gpgrt.m4 | 124 ++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 155 insertions(+), 13 deletions(-) create mode 100644 src/gpgrt.m4 diff --git a/doc/gpgrt.texi b/doc/gpgrt.texi index 857973a..cc652f5 100644 --- a/doc/gpgrt.texi +++ b/doc/gpgrt.texi @@ -209,17 +209,25 @@ directory in which the header file is located to the compilers include file search path (via the @option{-I} option). However, the path to the include file is determined at the time the -source is configured. To solve this problem, Libgpg-error ships with a small -helper program @command{gpg-error-config} that knows the path to the -include file and other configuration options. The options that need -to be added to the compiler invocation at compile time are output by -the @option{--cflags} option to @command{gpg-error-config}. The following -example shows how it can be used at the command line: +source is configured. To solve this problem, Libgpg-error ships with +the small helper programs @command{gpg-error-config} and +@command{gpgrt-config} which both know the path to the include file +and other configuration options. The options that need to be added to +the compiler invocation at compile time are output by the +@option{--cflags} option to @command{gpg-error-config} (or +@command{gpgrt-config}. The following example shows how it can be +used at the command line: @example gcc -c foo.c $(gpg-error-config --cflags) @end example +or with the identical + +@example +gcc -c foo.c $(gpgrt-config --cflags) +@end example + Adding the output of @samp{gpg-error-config --cflags} to the compiler’s command line will ensure that the compiler can find the Libgpg-error header file. diff --git a/src/Makefile.am b/src/Makefile.am index a95b732..4db7338 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -83,26 +83,27 @@ lock_obj_pub = \ lib_LTLIBRARIES = libgpg-error.la nodist_include_HEADERS = gpg-error.h gpgrt.h bin_SCRIPTS = gpg-error-config +nodist_bin_SCRIPTS = gpgrt-config m4datadir = $(datadir)/aclocal -m4data_DATA = gpg-error.m4 +m4data_DATA = gpg-error.m4 gpgrt.m4 EXTRA_DIST = mkstrtable.awk err-sources.h.in err-codes.h.in \ mkerrnos.awk errnos.in README \ mkerrcodes.awk mkerrcodes1.awk mkerrcodes2.awk mkerrcodes.c \ mkheader.c gpg-error.h.in mkw32errmap.c w32-add.h w32ce-add.h \ - err-sources.h err-codes.h gpg-error-config.in gpg-error.m4 \ + err-sources.h err-codes.h gpg-error-config.in gpg-error.m4 gpgrt.m4 \ gpg-error.vers gpg-error.def.in \ versioninfo.rc.in gpg-error.w32-manifest.in \ $(lock_obj_pub) BUILT_SOURCES = err-sources.h err-codes.h code-to-errno.h code-from-errno.h \ err-sources-sym.h err-codes-sym.h errnos-sym.h gpg-error.h gpgrt.h \ - gpg-error.def mkw32errmap.map.c + gpgrt-config gpg-error.def mkw32errmap.map.c tmp_files = _mkerrcodes.h _gpg-error.def.h mkw32errmap.tab.h mkw32errmap.map.c CLEANFILES = err-sources.h err-codes.h code-to-errno.h code-from-errno.h \ - gpg-error.h gpgrt.h \ + gpg-error.h gpgrt.h gpgrt-config \ mkerrcodes mkerrcodes.h gpg-error.def mkw32errmap.tab.h \ mkw32errmap.map.c err-sources-sym.h err-codes-sym.h errnos-sym.h \ gpg-extra/errno.h mkheader $(tmp_files) lock-obj-pub.native.h @@ -317,6 +318,9 @@ gpg-error.h: Makefile mkheader $(parts_of_gpg_error_h) \ gpgrt.h: gpg-error.h cp gpg-error.h gpgrt.h +gpgrt-config: gpg-error-config + cp gpg-error-config gpgrt-config + install-data-local: if HAVE_W32CE_SYSTEM -$(MKDIR_P) "$(DESTDIR)$(includedir)/gpg-extra" diff --git a/src/gpg-error-config.in b/src/gpg-error-config.in index bc1c583..aa7cb67 100644 --- a/src/gpg-error-config.in +++ b/src/gpg-error-config.in @@ -8,7 +8,7 @@ # This file is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - +# SPDX-License-Identifier: FSFULLR prefix=@prefix@ exec_prefix=@exec_prefix@ @@ -16,13 +16,19 @@ includedir=@includedir@ libdir=@libdir@ isubdirafter="@GPG_ERROR_CONFIG_ISUBDIRAFTER@" +if echo "$0" | grep gpg-error-config 2>/dev/null >/dev/null; then + myname="gpg-error-config" +else + myname="gpgrt-config" +fi + output="" mt=no usage() { cat <= $min_gpgrt_version) + ok=no + if test "$GPGRT_CONFIG" != "no" \ + && test -f "$GPGRT_CONFIG" ; then + req_major=`echo $min_gpgrt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` + req_minor=`echo $min_gpgrt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` + gpgrt_config_version=`$GPGRT_CONFIG $gpgrt_config_args --version` + major=`echo $gpgrt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` + minor=`echo $gpgrt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` + if test "$major" -gt "$req_major"; then + ok=yes + else + if test "$major" -eq "$req_major"; then + if test "$minor" -ge "$req_minor"; then + ok=yes + fi + fi + fi + fi + if test $ok = yes; then + GPGRT_CFLAGS=`$GPGRT_CONFIG $gpgrt_config_args --cflags` + GPGRT_LIBS=`$GPGRT_CONFIG $gpgrt_config_args --libs` + GPGRT_MT_CFLAGS=`$GPGRT_CONFIG $gpgrt_config_args --mt --cflags 2>/dev/null` + GPGRT_MT_LIBS=`$GPGRT_CONFIG $gpgrt_config_args --mt --libs 2>/dev/null` + AC_MSG_RESULT([yes ($gpgrt_config_version)]) + ifelse([$2], , :, [$2]) + gpgrt_config_host=`$GPGRT_CONFIG $gpgrt_config_args --host 2>/dev/null || echo none` + if test x"$gpgrt_config_host" != xnone ; then + if test x"$gpgrt_config_host" != x"$host" ; then + AC_MSG_WARN([[ +*** +*** The config script $GPGRT_CONFIG was +*** built for $gpgrt_config_host and thus may not match the +*** used host $host. +*** You may want to use the configure option --with-libgpg-error-prefix +*** to specify a matching config script or use \$SYSROOT. +***]]) + gpg_config_script_warn="$gpg_config_script_warn libgpg-error" + fi + fi + else + GPGRT_CFLAGS="" + GPGRT_LIBS="" + GPGRT_MT_CFLAGS="" + GPGRT_MT_LIBS="" + AC_MSG_RESULT(no) + ifelse([$3], , :, [$3]) + fi + AC_SUBST(GPGRT_CFLAGS) + AC_SUBST(GPGRT_LIBS) + AC_SUBST(GPGRT_MT_CFLAGS) + AC_SUBST(GPGRT_MT_LIBS) +]) -- cgit v1.2.3