aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* gpgrt-config: Clean up the implementation.NIIBE Yutaka2018-10-261-25/+38
| | | | | | | | | | | * src/gpgrt-config.in: Fix copyright notice. (--exists): Support new option of pkg-config. (--mt): Relax usage. (--api-version): Support old option. (default_module): New. (usage): Only show pkg-config compatible options. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error.m4: Better backward compatibility support.NIIBE Yutaka2018-10-261-7/+20
| | | | | | | * src/gpg-error.m4: Don't assume newer implementation of gpg-error-config. Use old way when it found old. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Keep old gpg-error-config implementation.NIIBE Yutaka2018-10-253-24/+19
| | | | | | | | | | | | | | | | | * configure.ac: Generate gpgrt-config from gpgrt-config.in. * src/gpgrt-config.in: Rename from src/gpg-error-config-new.in. * src/Makefile.am (bin_SCRIPTS): Add gpgrt-config. (EXTRA_DIST): Add gpgrt-config.in removing gpg-error-config-new.in. (BUILT_SOURCES, CLEANFILES): Remove gpgrt-config. (gpg-error-config): Always copy from gpg-error-config-old. * src/gpg-error-config-test.sh: Follow the rename. -- The gpgrt-config script is new implementation supporting *.pc file, while gpg-error-config keeps old single shell script. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Set GPGRT_CONFIG in gpg-error.m4.NIIBE Yutaka2018-10-251-4/+17
| | | | | | | | | | | * src/gpg-error.m4: Detect gpgrt-config to set GPGRT_CONFIG. -- Set GPGRT_CONFIG when there is no gpg-error-config or gpg-error-config reports version >= 1.33. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Update gpg-error.m4 and gpgrt.m4.NIIBE Yutaka2018-10-252-29/+35
| | | | | | | | | | | | | * src/gpg-error.m4: Bump version date. (min_gpg_error_version): Require >= 1.33, if not specified. (gpg_error_config_args): Remove bogus uses. * src/gpgrt.m4: Bump version date. (libgpgrt-prefix): Add support of --with-libgpgrt-prefix option. (gpgrt-config): Search/call gpgrt-config instead of gpg-error-config. (min_gpgrt_version): Require >= 1.33, if not specified. (gpgrt_config_args): Remove bogus uses. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Fix previous commit.NIIBE Yutaka2018-10-241-2/+1
| | | | Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Old gpg-error-config support --modversion.NIIBE Yutaka2018-10-241-0/+1
| | | | | | * src/gpg-error-config.in: Support --modversion. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Get var/attr from the first package.NIIBE Yutaka2018-10-241-2/+5
| | | | | | * src/gpg-error-config-new.in: Only get it from the first. Signed-off-by: NIIBE Yutaka <[email protected]>
* build: Supply CC to invoke gpg-error-config.NIIBE Yutaka2018-10-232-12/+14
| | | | | | | | | | | | * src/gpg-error.m4: Add CC when invoking gpg-error-config. * src/gpgrt.m4: Likewise. -- For standard cross build, the use of --with-libgpg-error-prefix will not be needed, as the script automatically finds the place. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Fix cross build support.NIIBE Yutaka2018-10-231-7/+34
| | | | | | | | | | | | * configure.ac: Fix regexp matching multiarch environment. * src/gpg-error-config-new.in: Support standard cross build. Handle the case where $multiarch != $triplet. -- For standard cross build, use @exec_prefix@/$triplet/lib/pkgconfig. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Support "auto", architecture independent script.NIIBE Yutaka2018-10-221-0/+13
| | | | | | | | | | | | | * configure.ac (pkg_config_libdir): Set it "auto" when it looks multiarch environment. * src/gpg-error-config-new.in: Automatically detects the triplet. -- The triplet detection mechanism is not sufficient. It's up to distributions to apply more changes (in distribution specific way). Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Fix PKG_CONFIG_LIBDIR support.NIIBE Yutaka2018-10-171-2/+2
| | | | | | | | | | | | * configure.ac (pkg_config_libdir): New. * src/gpg-error-config-new.in: Use pkg_config_libdir. -- PKG_CONFIG_LIBDIR is not mere libdir but should include 'pkgconfig'. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Support PKG_CONFIG_LIBDIR.NIIBE Yutaka2018-10-161-1/+1
| | | | | | | | | | | | * src/gpg-error-config-new.in: Use PKG_CONFIG_LIBDIR if specified. -- This change allows a distribution (like Debian) offering <triplet>-gpg-error-config wrapper script which invokes gpg-error-config with host specific PKG_CONFIG_LIBDIR. Signed-off-by: NIIBE Yutaka <[email protected]>
* syscfg: Add support for arm64ilp32Wookey2018-10-122-0/+25
| | | | | | | | | | | * src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu_ilp32.h: New. * src/Makefile.am (lock_obj_pub): Add it. -- Debian-bug-id: 869605 Co-authored-by: Wookey <[email protected]> Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* gpg-error-config: Fix the place of *.pc (for multilib).NIIBE Yutaka2018-10-102-4/+4
| | | | | | | | | | * src/Makefile.am (pkgconfigdir): It should be under libdir. * src/gpg-error-config-new.in: Likewise. -- Reported-by: Alon Bar-Lev <[email protected]> Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Add PKG_CONFIG_SYSROOT_DIR support.NIIBE Yutaka2018-10-102-2/+34
| | | | | | | | | | | | * src/gpg-error-config-new.in (sysroot): New function. (want_cflags, want_libs): Use sysroot. * src/gpg-error-config-test.sh: Test with PKG_CONFIG_SYSROOT_DIR. -- PKG_CONFIG_SYSROOT_DIR is for cross build. Signed-off-by: NIIBE Yutaka <[email protected]>
* syscfg: Add support for arc-unknown-linux-gnuWerner Koch2018-09-211-1/+2
| | | | | | | | | | * src/mkheader.c (canon_host_triplet): Add to table. -- Note that unknown in the above triplet is actually a wildcard for 4 part triplets. Signed-off-by: Werner Koch <[email protected]>
* core: Make cross building in mkheader more explicit.Werner Koch2018-09-212-2/+15
| | | | | | | | | | | | | | | | | * src/mkheader.c (main): Add option --cross. (write_special): Don't use native in cross mode. * src/Makefile.am (mkheader_opts): New. (gpg-error.h): Add MKHEADER_OPTS. -- The old behaviour was that an existing lock-obj-oub.native.h was preferred over one from syscfg even in cross mode. The Makefile tried to get this right by deleting such a file first but when calling mkheader manually for testing this may have not been done. We now allow (and also use by the Makefile) an option --cross to make this explicit. Signed-off-by: Werner Koch <[email protected]>
* core: Simplify calling convention of mkheader.Werner Koch2018-09-212-26/+41
| | | | | | | | | | | | * src/Makefile.am (gpg-error.h): Remove HOST_OS from mkheader call. * src/mkheader.c (canon_host_triplet): Add return arg r_os. (main): Remove first arg and derive host_os from host_triplet. -- No need to let the caller pass the host_os, we can derive it from the triplet. Signed-off-by: Werner Koch <[email protected]>
* src: Fix portability for echo.NIIBE Yutaka2018-09-201-1/+1
| | | | | | * src/Makefile.am: Use ECHO_N and ECHO_C. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Remove white space for the output by old.NIIBE Yutaka2018-09-201-8/+8
| | | | | | | | | * src/gpg-error-config-test.sh: Remove white spaces at the end or at the beginning. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Use expr to remove var in expression.NIIBE Yutaka2018-09-201-1/+1
| | | | | | | | | | | * src/gpg-error-config-new.in (remove_var_expr): Use expr. -- For OpenBSD's sh, it results "bad substitusion". Now, we use expr. Tested on OpenBSD 6.2. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Fix a variable name for zsh.NIIBE Yutaka2018-09-201-7/+7
| | | | | | | | | | * src/gpg-error-config-new.in (module_list): Rename from modules. -- For ZSH, "modules" is built-in variable name. Avoid such a use. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Don't use local variables.NIIBE Yutaka2018-09-201-136/+137
| | | | | | | | | | | | * src/gpg-error-config-new.in: Use global variables only. -- Since Korn Shell requires different syntax for function to declare local variables, and some OS use Korn Shell as /bin/sh, avoid non-portable use of "local". Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Avoid more space char.NIIBE Yutaka2018-09-201-5/+5
| | | | | | * src/gpg-error-config-new.in: Don't put more space. Signed-off-by: NIIBE Yutaka <[email protected]>
* src: Fix Makefile for BSD make.NIIBE Yutaka2018-09-191-3/+6
| | | | | | | | | | | | | | * src/Makefile.am (BUILT_SOURCES): Add srcdir to err-sources.h and err-codes.h. (CLEANFILES): Move err-sources.h and err-codes.h to... (MAINTAINERCLEANFILES): ... this new target. (gpg_error_LDADD): Remove ./ to generate libgpg-error.la. -- BSD make is not kind enough to mix path and target. Signed-off-by: NIIBE Yutaka <[email protected]>
* Accept pkgconf difference for spaces.NIIBE Yutaka2018-09-191-3/+3
| | | | | | | | | | | | | | * src/gpg-error-config-test.sh (OUTPUT_OLD): Use shell and echo to remove spaces. -- There is an alternative implementation of pkg-conf, named pkgconf. It emits an extra space at the end. Tested on FreeBSD 11.1. Signed-off-by: NIIBE Yutaka <[email protected]>
* syscfg: Support ARC CPUs and simplify aliasing table.Werner Koch2018-09-1810-23/+85
| | | | | | | | | | | | | | | | | | | * src/mkheader.c (xmalloc): New. (xstrdup): Implement using xmalloc. (canon_host_triplet): Add supporr for arc CPU. Adjust alias table to also alias *-pc-*. Rename ibm to unknown. Add internal arg. Add unknown vendor hack. (main): New mode to just print the canonicalized form. * src/Makefile.am (lock_obj_pub): s/-(pc|ibm)-/-unknown/. Also rename files accordingly. -- config.sub does no real aliasing and thus we would need to add several vendors to the alising tables despite that this has no technical meanding. Instead we now replace the vendor with "unknown" for the 4-part-"triplets". This change will make maintenace easier. Signed-off-by: Werner Koch <[email protected]>
* Make gpg-error-config compatible to pkg-config.NIIBE Yutaka2018-09-115-4/+665
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (AC_CONFIG_FILES): Generate src/gpg-error.pc, as well as src/gpg-error-config-old and src/gpg-error-config-new. * src/Makefile.am (pkgconfigdir, pkgconfig_DATA): New. (EXTRA_DIST): Add gpg-error-config-new.in, gpg-error-config-test.sh, and gpg-error.pc.in. (CLEANFILES): Add gpg-error-config gpg-error-config-test.log. (TESTS): New. (gpg-error-config): New target. * src/gpg-error-config-new.in: New. * src/gpg-error-config-test.sh: New. * src/gpg-error.pc.in: New. * src/gpg-error.m4 (GPG_ERROR_MT_CFLAGS): Use --variable. (GPG_ERROR_MT_LIBS, gpg_error_config_host): Likewise. -- This change is to privide gpg-error.pc for pkg-config, so that developers can use pkg-config to configure their applications. The gpg-error-config script is also kept supported for applications which want to avoid dependency of pkg-config. Note that new gpg-error-config script uses gpg-error.pc as master data, so that it can keep compatibility to pkg-config easily. In the new gpg-error-config script, features are added to increase compatibility to pkg-config, like --variable option and multiple module support. However, it is not meant to oriented to be a full-fledged version of pkg-config, only a small set of features is supported. To be conservative, new gpg-error-config is checked at build time against old gpg-error-config. On the host which fails, old gpg-error-config will be installed with a warning. GnuPG-bug-id: 4085 Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Forward compatibility support.NIIBE Yutaka2018-09-051-0/+10
| | | | | | * src/gpg-error-config.in: Support --variable=* option. Signed-off-by: NIIBE Yutaka <[email protected]>
* gpg-error-config: Determine output at configure time.NIIBE Yutaka2018-09-041-15/+0
| | | | | | | | | | | | | | * src/gpg-error-config.in (isubdirafter): Remove. Also for --cflags and --libs. * configure.ac (GPG_ERROR_CONFIG_ISUBDIRAFTER): Remove. (GPG_ERROR_CONFIG_CFLAGS): Add -idirafter gpg-extra for W32CE. (GPG_ERROR_CONFIG_CFLAGS): Decide here if adding -I$includedir. (GPG_ERROR_CONFIG_LIBS): Decide here if adding -L$libdir. -- Don't do string substitution at the time of its command invocation, but let it determine at configure time.
* build: use EXEEXT_FOR_BUILD everywhere.Michael Haubenwallner2018-07-171-13/+13
| | | | | | | * src/Makefile.am: Use EXEEXT_FOR_BUILD with all build tools. Signed-off-by: Michael Haubenwallner <[email protected]>
* estream: Always propagate flush event to cookie functions.Werner Koch2018-07-121-3/+4
| | | | | | * src/estream.c (flush_stream): Always call cookie's flush func. Signed-off-by: Werner Koch <[email protected]>
* Remove leftover debug output from gpg-error.Werner Koch2018-07-053-4/+3
| | | | | | | | | * src/gpg-error.c (main): Remove a log_debug. -- Also a few typo fixes. Signed-off-by: Werner Koch <[email protected]>
* core: Initialize values in estream_formatAndre Heinecke2018-07-051-1/+5
| | | | | | | | | | | | | | * src/estream-printf.c (_gpgrt_estream_format): Make sure valuetable.value is inialized even on stack. -- This makes the behavior more consistent with the calloc'ed codepath for more then 8 variables. It also fixes a potential crash if there were unmatched format args provided. GnuPG-Bug-Id: T4054
* core: Fix problem with C11 and stdnoreturn.h.Werner Koch2018-05-301-3/+3
| | | | | | | | | * src/gpg-error.h.in (GPGRT_ATTR_NORETURN): Use gcc specific symbol name __noreturn__. -- GnuPG-bug-id: 4002 Signed-off-by: Werner Koch <[email protected]>
* core,w32: Avoid recursive use of npth_unprotect.Werner Koch2018-05-012-3/+15
| | | | | | | | | | | | | | | | | | | | * src/w32-estream.c (reader): Use standard free. (writer): Ditto. -- There are two errors: The minor one is that we allocated with calloc but released with _gpgrt_free. The major one is the recursive use of npth_unprotect due to the syscall_clamp mechanism: 1. Around the call to _gpgrt_w32_poll 2. By gpgrt_lock_lock on behalf of a the custom allocation handler in the worker threads at their _gpgrt_free. This problem was exhibited by GnuPG's dirmngr component. GnuPG-bug-id: 3937 Signed-off-by: Werner Koch <[email protected]>
* core: Fix gpgrt_poll for Windows under nPth.Werner Koch2018-04-302-0/+4
| | | | | | * src/estream.c (_gpgrt_poll) [W32]: Use syscall clamp. Signed-off-by: Werner Koch <[email protected]>
* doc: Add SPDX indentifier for the versioninfo template.Werner Koch2018-04-231-0/+1
| | | | --
* doc: Beautify comments in gpg-error.h.Werner Koch2018-04-111-74/+84
| | | | | | -- Signed-off-by: Werner Koch <[email protected]>
* core: Finalize the API for argparse.Werner Koch2018-04-112-161/+195
| | | | | | | | | | | | | | | | | | | | | | | | | * src/gpg-error.h.in (ARGPARSE_end): Simplify. * src/argparse.c (_gpgrt_argparse_internal_s): Add field opts. (deinitialize): Release new field. (initialize): Add arg opts and create a copy of the option list. Add the internal options. (_gpgrt_argparse): Rename arg opts to opts_orig and set new local var opts. Adjust all references to opts. (find_long_option): Adjust for chnaged type of OPTS. Re-indent. (arg_parse): Remove internal option assignment. Rename arg opts to opts_orig and set new local var opts. Adjust all references to opts. (show_help): Adjust all references to opts. -- The old ARGPARSE_end maro was a bit cumbersome and does not allow to chnage the number of internal options. Thus this somewhat larger chnage to keep the internal options out of the API. Note that with this change the internal options now also work in a option file and not just on the command line; that does not make much sense but is probably less surprising. Signed-off-by: Werner Koch <[email protected]>
* core: Remove outdated comments.Werner Koch2018-03-221-42/+0
| | | | --
* core: Add Base-64 encoder.Werner Koch2018-03-229-162/+184
| | | | | | | | | | | | | | | | | | | | | | | * src/b64enc.c: Change to fit into libgpg-error. * src/Makefile.am: Add b64enc.c * src/b64dec.c: Use xtrymalloc etc. Always use gpg_err_code_t. (_gpgrt_b64dec_start): Set decoder flag (_gpgrt_b64dec_finish): Check for conflict. (_gpgrt_b64state): Move to ... * src/gpgrt-int.h: here. Add new fields. * src/visibility.c (gpgrt_b64enc_start): New. (gpgrt_b64enc_write): New. (gpgrt_b64enc_finish): New. * src/gpg-error.vers, src/gpg-error.def.in: Add new functions. * src/gpg-error.h.in: Ditto. * src/visibility.h: Ditto. * tests/t-b64dec.c: Remove. * tests/t-b64.c: New. * tests/Makefile.am (TESTS): Replace t-b64dec by t-b64. -- Signed-off-by: Werner Koch <[email protected]>
* core: Add file b64enc.c from gnupgWerner Koch2018-03-221-0/+422
| | | | | | | | | -- This is from GnuPG commit fa0ed1c7e2eee7c559026696e6b21acc882a97aa with two tabs replaced by spaces. Signed-off-by: Werner Koch <[email protected]>
* tools: Use gpgrt_argparse for the gpg-error tool.Werner Koch2018-03-211-67/+60
| | | | | | | | * src/gpg-error.c (show_usage): Remove. (my_strusage): New. (main): Change to use argparse. Also use log_error. Signed-off-by: Werner Koch <[email protected]>
* core: Add public function gpgrt_usage.Werner Koch2018-03-216-5/+17
| | | | | | * src/visibility.c (gpgrt_usage): New. Signed-off-by: Werner Koch <[email protected]>
* core: Add the group of argparse functions.Werner Koch2018-03-219-573/+548
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/visibility.c (gpgrt_argparse): New. (gpgrt_strusage): New. (gpgrt_set_strusage): New. (gpgrt_set_usage_outfnc): New. (gpgrt_set_fixed_string_mapper): New. * src/gpg-error.def.in, src/gpg-error.vers: Add new functions. * src/gpg-error.h.in: Add ARGPARSE macros from the former argparse.h. (gpgrt_argparse_t): New. (gpgrt_opt_t): New. * configure.ac (AH_BOTTOM): Request argparse macros. * src/Makefile.am (libgpg_error_la_SOURCES): Add argparse.c. * src/argparse.h: Remove. * src/argparse.c: Revamp to fit into libgpg-error. (_gpgrt_argparse): New. (_gpgrt_usage): Rename from usage. (_gpgrt_strusage): Rename from strusage. Define two new levels and templates for three common licenses. (_gpgrt_set_strusage): Rename from set_strusage. (_gpgrt_set_usage_outfnc): New. (_gpgrt_set_fixed_string_mapper): New. * tests/t-argparse.c: New. -- These functions are in use by GnuPG and other software for 20 years and it makes sense to have them always available instead of copying and maintaing the source in several projects. Note that there are minor changes in the API compared to GnuPG. Signed-off-by: Werner Koch <[email protected]>
* core: Import argparse code from gnupg masterWerner Koch2018-03-212-0/+1867
| | | | --
* core: Fix regression on arm64 due to invalid use of va_list.Werner Koch2018-03-181-4/+14
| | | | | | | | | | | * src/logging.c (_gpgrt_log_printhex): Provide a dummy arg instead of NULL. -- Fix Suggested-by: Jakub Wilk <[email protected]> Signed-off-by: Werner Koch <[email protected]>
* core: Fix building on W64Werner Koch2018-03-143-6/+35
| | | | | | | | | | | | | * src/w32-add.h: Remove hack to define pid_t. * src/gpg-error.h.in: Eval macro to define pid_t. * src/mkheader.c (have_sys_types_h, sys_types_h_included): New. (parse_config_h): Test for sys/types.h. (write_special): Protect inclusion of sys/types.h. Define new macro 'define:pid_t'. -- Regression-due-to: 1865c0ba1769b407a3c504f1ab0a4278704a9fc1 Signed-off-by: Werner Koch <[email protected]>