aboutsummaryrefslogtreecommitdiffstats
path: root/src/Makefile.am (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core: Add Base-64 encoder.Werner Koch2018-03-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * 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 the group of argparse functions.Werner Koch2018-03-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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]>
* syscfg: Add a riscv64 architecture.NIIBE Yutaka2018-02-281-0/+1
| | | | | | | | | | * src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h: New. * src/Makefile.am (lock_obj_pub): Add it. -- Debian-bug-id: 891663 Co-authored-by: Karsten Merker <[email protected]> Signed-off-by: NIIBE Yutaka <[email protected]>
* core: Unify syscall_clamp functions.Werner Koch2017-11-291-0/+1
| | | | | | | | | | | | | | | * src/estream.c (_gpgrt_set_syscall_clamp) (_gpgrt_get_syscall_clamp): Move to ... * src/syscall-clamp.c: new file. (_gpgrt_pre_syscall, _gpgrt_post_syscall): New. * src/Makefile.am (libgpg_error_la_SOURCES): Add that file. * src/estream.c: Replace the syscall wrapper with the new functions. * src/posix-lock.c: Ditto. * src/w32-lock.c: Ditto. * src/posix-thread.c: Ditto. * src/w32-thread.c: Ditto. Signed-off-by: Werner Koch <[email protected]>
* core: Implement the spawn functions.Werner Koch2017-11-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpg-error.h.in (GPGRT_SPAWN_NONBLOCK): New const. (GPGRT_SPAWN_RUN_ASFW): New const. (GPGRT_SPAWN_DETACHED): New const. (gpgrt_make_pipe): New function. (gpgrt_create_pipe): New macro. (gpgrt_create_inbound_pipe): New macro. (gpgrt_create_outbound_pipe): New macro. (gpgrt_spawn_process): New function. (gpgrt_spawn_process_fd): New function. (gpgrt_spawn_process_detached): New function. (gpgrt_wait_process): New function. (gpgrt_wait_processes): New function. (gpgrt_kill_process): New function. (gpgrt_release_process): New function. * src/gpg-error.def.in, src/gpg-error.vers: Add new functions. * src/visibility.c, src/visibility.h: Add wrappers for new functions. * src/spawn-posix.c: Rework to better fit the use in gpgrt. Rename all public function with a _gpgrt prefix. * src/spawn-w32.c: Ditto. * src/gpgrt-int.h: Likewise. * src/Makefile.am (arch_sources): Add spawn-posix.c and spawn-w32.c. * src/w32-add.h: Add pid_t typedef as a temporary hack. * configure.ac: Check for signal.h and getrlimit. (AC_FUNC_FORK): New. -- This does build but porting the tests and further changes are required. Don't assume that the API for the new fucntions is stable. Signed-off-by: Werner Koch <[email protected]>
* core: Install new files gpgrt.m4 and gpgrt-config.Werner Koch2017-11-271-4/+8
| | | | | | | | | | | | | | | | | | * 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 <[email protected]>
* w32: Add new API fucntion gpgrt_w32_reg_query_string.Werner Koch2017-11-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | * src/w32-reg.c: New. * src/w32-add.h: Add gpgrt_w32_reg_query_string. * src/visibility.c (gpgrt_w32_reg_query_string): New wrapper. * src/gpg-error.def.in: Add gpgrt_w32_reg_query_string. * configure.ac (ac_check_funcs): Add stpcpy. * src/Makefile.am (arch_sources): Add w32-reg.c (socklibs): New. (libgpg_error_la_LIBADD): Add socklibs. * src/gpgrt-int.h (xfree, xtrymalloc, xtrycalloc) (xtryrealloc): New internal macros. (_gpgrt_stpcpy, stpcpy): New replacement fucntion and macro. * src/logging.c (_gpgrt_logv_internal): Use new registry query function and add standard registry key. -- This also fixes the build failure on Widnwos for logging.c. The code for gpgrt_w32_reg_query_string has been taken from the function read_w32_registry_string in w32-utils.c in the GPGME package. Signed-off-by: Werner Koch <[email protected]>
* New configure options and macros for internal use.Werner Koch2017-11-171-2/+10
| | | | | | | | | | | | | * configure.ac: Add option --enable-log-clock. * configure.ac: Add option --enable-werror. * src/sysutils.c: New. * src/Makefile.am (libgpg_error_la_SOURCES): Add sysutils.c * src/gpgrt-int.h: Add internal i18n macros and hacks to make working with sockets easier. (es_stdin, es_stdout, es_stderr): New internal macros. (snprintf): New macro. Signed-off-by: Werner Koch <[email protected]>
* syscfg: Add lock-obj-pub file for ia64-unknown-linux-gnu.Werner Koch2017-07-051-0/+1
| | | | | | | | | * src/syscfg/lock-obj-pub.ia64-unknown-linux-gnu.h: new. * src/Makefile.am (lock_obj_pub): Add it. -- GnuPG-bug-id: 3242 Signed-off-by: Werner Koch <[email protected]>
* Add support for armv7-unknown-linux-gnueabihf.Werner Koch2017-02-281-3/+0
| | | | | | | | | | | | | | | | | * src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabihf.h: Remove. * src/syscfg/lock-obj-pub.armv5-unknown-linux-musleabi.h: Remove. * src/syscfg/lock-obj-pub.armv6-unknown-linux-musleabihf.h: Remove. * src/Makefile.am (lock_obj_pub): Remove them. * src/mkheader.c (canon_host_triplet): Add removed as aliases. Addn alias for armv7-unknown-linux-gnueabihf. -- Info provided by Marvin Schmidt <[email protected]> via [email protected] on Tue, 14 Feb 2017 15:00:15 +0100 Consilidated arm syscfg file by aliasing them. Signed-off-by: Werner Koch <[email protected]>
* New public header gpgrt.h as alias for gpg-error.hWerner Koch2017-02-281-3/+6
| | | | | | | | | | * src/gpg-error.h.in (GPGRT_H): New double include protection. * src/Makefile.am (nodist_include_HEADERS): Add gpgrt.h. (BUILT_SOURCES): Ditto. (CLEANFILES): Ditto. (gpgrt.h): New rule. Signed-off-by: Werner Koch <[email protected]>
* syscfg: Add a sh3 architecture.NIIBE Yutaka2017-02-021-0/+1
| | | | | | | | * src/syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h: New. * src/Makefile.am (lock_obj_pub): Add it. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* Add Base64 decoder.NIIBE Yutaka2017-02-011-1/+1
| | | | | | | | | | | | | | | | * NEWS: Add interface changes. * src/Makefile.am (libgpg_error_la_SOURCES): Add b64dec.c. * src/b64dec.c: New. Taken from gpgme. Prefix function names with _gpgrt_. Change API a bit, not exposing the structure. * src/gpg-error.def.in: Export Base64 functions. * src/gpg-error.vers: Likewise. * src/visibility.c, src/visibility.h: Likewise. * src/gpg-error.h.in: Add Base64 struct and functions. * src/gpgrt-int.h: Add Base64 internal functions. * tests/Makefile.am (TESTS): Add t-b64dec. * tests/t-b64dec.c: New. Signed-off-by: NIIBE Yutaka <[email protected]>
* New option --desc for gpg-error.Werner Koch2016-12-021-2/+3
| | | | | | | | | | | | | | | * doc/errorref.txt: Remove all tabs. * doc/Makefile.am (install-data-local): New to install errorref.txt. (uninstall-local): New. (errorref.txt.x): New. * src/Makefile.am (gpg_error_CPPFLAGS): Define PKGDATADIR * src/gpg-error.c (print_desc): New. (show_usage): New. (main): Improve option parser. Add new option --desc. Call print_desc. -- Signed-off-by: Werner Koch <[email protected]>
* Fix EXEEXT for lock obj creation.NIIBE Yutaka2016-11-171-1/+1
| | | | | | | | | | | | * src/Makefile.am (lock-obj-pub.native.h): Add EXEEXT for the executable gen-posix-lock-obj. -- This change is from packaging work for Cygwin. Reported-by: Michael Haubenwallner <[email protected]> Signed-off-by: NIIBE Yutaka <[email protected]>
* estream: Support 'es_poll' on Windows.Justus Winter2016-11-121-1/+2
| | | | | | | | | | | | | | | | | | | | | * src/Makefile.am (arch_sources): Add new file. * src/estream.c (O_NONBLOCK): Move to 'gpgrt-int.h'. (BUFFER_BLOCK_SIZE): Likewise. (BUFFER_UNREAD_SIZE): Likewise. (struct notify_list_s, notify_list_t): Likewise. (struct _gpgrt_stream_internal, estream_internal_t): Likewise. (X_POLLABLE): New macro. (parse_mode): Parse keyword 'pollable', emulate O_NONBLOCK using the same mechanism on Windows. (_gpgrt_poll): Use the new '_gpgrt_w32_poll' on Windows. * src/gpgrt-int.h (_gpgrt_functions_w32_pollable): New declaration. (_gpgrt_w32_pollable_create): New prototype. (_gpgrt_w32_poll): Likewise. * src/w32-estream.c: New file. This code is adapted from GPGME. * tests/t-poll.c (create_pipe): Create pollable streams. GnuPG-bug-id: 2731 Signed-off-by: Justus Winter <[email protected]>
* syscfg: Add support for {i686,x86_64}-apple-darwin.Werner Koch2016-10-071-0/+2
| | | | | | | | -- Thanks to Chris Ballinger <[email protected]> for the files. Signed-off-by: Werner Koch <[email protected]>
* syscfg: Add a powerpc and a tilgegx architecture.Werner Koch2016-05-071-0/+2
| | | | | | | | | | * src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h: New. * src/syscfg/lock-obj-pub.tilegx-unknown-linux-gnu.h: New. * src/Makefile.am (lock_obj_pub): Add them. -- Debian-bug-id: 823630, 823631 Signed-off-by: Werner Koch <[email protected]>
* w32: Add iconv functions.Werner Koch2016-04-211-1/+1
| | | | | | | | | | | | * src/w32-add.h (gpgrt_w32_iconv_t): New. (gpgrt_w32_iconv_open, gpgrt_w32_iconv_close, gpgrt_w32_iconv): New. ( GPGRT_ENABLE_W32_ICONV_MACROS): New * src/w32-iconv.c: Change license to LGPLv2.1+. Dispable mlang feature. Remove external DLL loading. Simplify iconv functions. Use cleaner context struct pattern. Use gpgrt namespace. * src/gpg-error.def.in: Add new functions. Signed-off-by: Werner Koch <[email protected]>
* syscfg: Add lock-obj-pub files for {armv5, armv6, x86_64}-musl targetsKylie McClain2016-03-141-0/+3
| | | | | | | | | | | | | | | * src/syscfg/lock-obj-pub.armv5-unknown-linux-musleabi.h: New. * src/syscfg/lock-obj-pub.armv6-unknown-linux-musleabihf.h New. * src/syscfg/lock-obj-pub.x86_64-pc-linux-musl.h: New. * src/Makefile.am (lock_obj_pub): Add files. -- This patch adds three new precompiled lock-obj-pub files: - armv5-unknown-linux-musleabi - armv6-unknown-linux-musleabihf - x86_64-pc-linux-musl ChangeLog lines and Makefile patch by -wk
* Convert http links to https where possible in the source.Daniel Kahn Gillmor2016-02-081-1/+1
| | | | | | | | | | | | | | | | -- * use https for bug reporting * in comments and docs, use https to refer to: - www.gnu.org - creativecommons.org - translationproject.org - mail.gnome.org - www.perl.org - www.ctan.org - www.cl.cam.ac.uk - www.ntg.nl - cygwin.com - www.ethnologue.com
* Add new lock-obj-pub for NIOS2.Marek Vasut2016-01-131-0/+1
| | | | src/syscfg/lock-obj-pub.nios2-unknown-linux-gnu.h: New.
* Support i[456]86-pc{,-linux,-kfreebsd}-gnu.hDaniel Kahn Gillmor2015-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | * src/mkheader (canon_host_triplet): Add new entries. * src/syscfg/lock-obj-pub.i486-pc-gnu.h: Rename to ... * src/syscfg/lock-obj-pub.i686-pc-gnu.h: this. * src/syscfg/lock-obj-pub.i486-pc-kfreebsd-gnu.h: Rename to ... * src/syscfg/lock-obj-pub.i686-pc-kfreebsd-gnu.h: this. * src/syscfg/lock-obj-pub.i486-pc-linux-gnu.h: Remove. * src/Makefile.am (lock_obj_pub): Update. -- i486-pc, i586-pc, and i686-pc all use the same ABI given the GNU userland and a specific kernel. This changeset updates the arch-specific lock-obj header generation to treat the hardware aliases explicitly and should improve cross-building for anyone wanting to target any of these 9 architectures. It also removes src/syscfg/lock-obj-pub.i486-pc-linux-gnu.h, which should be handled by the alias to src/syscfg/lock-obj-pub.i686-pc-linux-gnu.h Debian-Bug-Id: 799177
* w32: Remove compiler warnings.Werner Koch2015-04-101-1/+2
| | | | | | | | | | | | | | * src/Makefile.am (pre_mkheader_cmds): Avoid make diagnostic about failed but ignored command. This confuses Emacs' compiler job parser. * tests/t-lock.c [W32]: Include time.h. * src/init.c: Reorganize Windows only code. (wchar_to_utf8, utf8_to_wchar): Remove unused functions. (_gpg_err_set_errno): Use only one copy for all platforms. -- Note that there is a still a problem for W64 pertaining to the use of an int to store a HANDLE. This will be fixed when we add a full abstraction layer for Windows file objects.
* Avoid breakage with gcc 5Daniel Kahn Gillmor2015-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | * src/Makefile.am: Add -P to the C preprocessor when building mkerrcodes.h, to avoid a noisy intermediate pipeline. -- With gcc 5 without this patch, we see many errors like the following: gcc -I. -I. -o mkerrcodes ./mkerrcodes.c In file included from ./mkerrcodes.c:26:0: ./mkerrcodes.h:9:5: error: expected expression before ‘,’ token { , "GPG_ERR_E2BIG" }, ^ ./mkerrcodes.h:10:5: error: expected expression before ‘,’ token { , "GPG_ERR_EACCES" }, ^ This patch cleans up the generated mkerrcodes.h by making the intermediate stage clean for all the versions of gcc i tested (4.x and 5). Debian-Bug-Id: 777374 Signed-Off-By: Daniel Kahn Gillmor <[email protected]>
* Add host-triplet aliasing feature to mkheader.Werner Koch2015-03-061-2/+1
| | | | | | | | | | | | | | * src/Makefile.am (lock_obj_pub): Rename i586-pc-linux-gnu to i686-pc-linux-gnu. Remove i486-pc-linux-gnu. * src/mkheader.c (canon_host_triplet): New. (main): Use it. -- config.sub does not map i{4,5,6}86-pc-linux-gnu to one common triplet. However, they all use the same ABI and thus we do not need several versions of the syscfg files. Signed-off-by: Werner Koch <[email protected]>
* w32: Add a manifest to libgpg-error.Werner Koch2015-03-061-1/+3
| | | | | | | | | | | * src/gpg-error.w32-manifest.in: New. * src/Makefile.am (EXTRA_DIST): Add it. (versioninfo.lo): Depend on it. * src/versioninfo.rc.in: Add it. * configure.ac (AC_CONFIG_FILES): Add it. (BUILD_VERSION): New. Signed-off-by: Werner Koch <[email protected]>
* w32: Use -static-libgcc to avoid linking to libgcc_s_sjlj-1.dll.Werner Koch2015-01-301-1/+9
| | | | | | | | | | | | | | | | | * src/Makefile.am (extra_ltoptions): New. (libgpg_error_la_LDFLAGS): Use it. -- Since gcc 4.8 there is a regression in that plain C programs may link to libgcc_s.a which has a dependency on libgcc_s_sjlj.dll. This is for example triggered by using long long arithmetic on a 32 bit Windows (e.g symbol __udivdi3). As usual the gcc maintainers don't care about backward compatibility and declare that as some kind of compatibility fix and not as regression from 4.7 and all earlier versions. Signed-off-by: Werner Koch <[email protected]>
* Add new lock-obj-pub for mips64el-unknown-linux-gnuabi64.Daniel Kahn Gillmor2014-10-251-0/+1
| | | | | | | | | | | | | | * src/syscfg/lock-obj-pub.mips64el-unknown-linux-gnuabi64.h: New. * src/Makefile.am (lock_obj_pub): Add. -- native lock obj header for 64-bit little-endian MIPS, taken from debian mips64el port buildd, see: http://mips64el.debian.net/debian/buildlog/libg/libgpg-error_1.16-2/libgpg-error_1.16-2_mips64el-20140928-1753.build Debian-Bug-Id: 766135
* add lock-obj header for or1k-unknown-linux-gnuDaniel Kahn Gillmor2014-10-231-1/+2
| | | | | | | | | | | * src/syscfg/lock-obj-pub.or1k-unknown-linux-gnu.h: new -- This architecture-specific header information was sourced from <http://wannabuild.cmd.nu/fetch.php?pkg=libgpg-error arch=or1k&ver=1.13-2&stamp=1407320768> * Add to Makefile. -wk
* Fix to help building native on Windows.Werner Koch2014-10-151-3/+3
| | | | | | | | | | | | * configure.ac (FORCE_USE_SYSCFG): New am_conditional. * src/Makefile.am: Use new conditional to decide whether to build the native lock object header. -- This should help to build using msys2 and mingw. GnuPG-bug-id: 1717 Signed-off-by: Werner Koch <[email protected]>
* GNU calls little-endian powerpc64 powerpc64le, not powerpc64elDaniel Kahn Gillmor2014-09-291-1/+1
| | | | | | | | | | | | | | | | | * src/Makefile.am (lock_obj_pub): fix powerpc64el to powerpc64le * src/sysconfig/lock-obj-pub.powerpc64el-unknown-linux-gnu.h : move to src/sysconfig/lock-obj-pub.powerpc64le-unknown-linux-gnu.h -- 33e5504fbb5e5e2ff44023c0a22dfb668ff8b10f created lock-obj-pub for little-endian powerpc64, but misnamed the patch file as powerpc64el instead of powerpc64le. Sorry for the earlier mistake, this should correct it. See commentary from Helmut Grohne at https://bugs.debian.org/762322#34 Debian-bug-id: 762322
* Add new lock-obj-pub for sparc64-unknown-linux-gnu.Daniel Kahn Gillmor2014-09-231-0/+1
| | | | | | | | | | | | | | | | * src/syscfg/lock-obj-pub.sparc64-unknown-linux-gnu.h: New. * src/Makefile.am (lock_obj_pub): Add. -- Helmut Grohne writes: Julien Cristau pointed out that sparc porter machines run 64bit kernels and can execute 64bit executables. So here we go. I crossed gen-posix-lock-obj for sparc64, verified that it is indeed a 64bit executable and attach its output. Debian-bug-id: 762322
* Add new lock-obj-pub for powerpc64el-unknown-linux-gnu.Daniel Kahn Gillmor2014-09-231-0/+1
| | | | | | | | | | | | * src/syscfg/lock-obj-pub.powerpc64el-unknown-linux-gnu.h: New. * src/Makefile.am (lock_obj_pub): Add. -- Here is a arch-specific lock-obj header file for little-endian 64-bit powerpc. Debian-bug-id: 762322
* Add new lock-obj-pub for Apple iOS.Werner Koch2014-09-181-0/+2
| | | | | | | | | | | | | | | * src/syscfg/lock-obj-pub.aarch64-apple-darwin.h: New. * src/syscfg/lock-obj-pub.arm-apple-darwin.h: New. -- Created by Chris Ballinger <[email protected]>. He also noted: When cross-compiling for arm-apple-darwin and aarch64-apple-darwin I also needed to generate these files, so here they are. I made a little iOS utility to help people generate them in case Apple adds any more architectures in the future: https://github.com/chrisballinger/gen-posix-lock-obj-iOS
* Fix build problems with non-gmake (ie. AIX).Werner Koch2014-09-111-3/+4
| | | | | * src/Makefile.am: Do not distribute gpg-error.h. (lock-obj-pub.native.h): Prepend a "./" to match the dependency.
* Fix problems with ssize_t and off_t.Werner Koch2014-09-111-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (AC_SYS_LARGEFILE): New. (AC_CHECK_HEADERS): Check for stdint.h. (AC_CHECK_SIZEOF): Add for int, long and long long. (REPLACEMENT_FOR_OFF_T): New ac_define. * src/mkheader.c (have_stdint_h, have_w32_system, have_w64_system) (replacement_for_off_type, stdint_h_included): New. (xfree, xstrdup): New. (parse_config_h): New. (write_special): Support "define:gpgrt_off_t", "define:gpgrt_ssize_t", "api_ssize_t" tags. (main): Add config.h arg. Call parse_config_h. Fix substitute code. * src/Makefile.am (gpg-error.h): Pass config.h to mkheader. * src/gpg-error.h.in: Include definitions for gpgrt_ssize_t and gpgrt_off_t. Let mkheader insert ssize_t keywords. Chnage all off_t to gpgrt_off_t. * src/estream.c: Change all off_t to gpgrt_off_t. Chnage all ssize_t to gpgrt_ssize_t. * src/visibility.c (gpgrt_fseeko): Use gpgrt_off_t. (gpgrt_ftello): Ditto. (gpgrt_getline): Use gpgrt_ssize_t. (gpgrt_read_line): Ditto.
* Implement symbol visibility.Werner Koch2014-08-251-7/+30
| | | | | | | | | | | | | * configure.ac: New option --enable-ld-version-script. (GPGRT_USE_VISIBILITY): New ac_define. (HAVE_LD_VERSION_SCRIPT): New am_conditional. * src/gpg-error.vers: New. * src/gpgrt-int.h: New. * src/visibility.c, src/visibility.h: New. Lot of changes to symbold names. -- This is only doe for the old API. The estream API needs to be added.
* Add estream code from GnuPG.Werner Koch2014-08-251-0/+1
| | | | | | | | | | | | | | | | | * src/estream-printf.c, src/estream-printf.h: New. * src/estream.c, src/estream.h: New. * m4/estream.m4: New. * src/Makefile.am (libgpg_error_la_SOURCES): Add new files. * configure.ac (AH_BOTTOM): Define estream prefix. <gcc>: Add useful gcc warning options. (estream_INIT): Call. -- This is the base line patch to move the estream code from GnuPG to libgpg-error. The code has been taken from the GnuPG repository at commit cb680c5ea540738692a5c74951802b0fdc658e85. Signed-off-by: Werner Koch <[email protected]>
* Add new lock-obj-pub.*.h from debian buildds.Daniel Kahn Gillmor2014-07-271-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/syscfg/lock-obj-pub.aarch64-unknown-linux-gnu.h: New. * src/syscfg/lock-obj-pub.alpha-unknown-linux-gnu.h: New. * src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h: New. * src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabihf.h: New. * src/syscfg/lock-obj-pub.hppa-unknown-linux-gnu.h: New. * src/syscfg/lock-obj-pub.i486-pc-gnu.h: New. * src/syscfg/lock-obj-pub.i486-pc-kfreebsd-gnu.h: New. * src/syscfg/lock-obj-pub.i486-pc-linux-gnu.h: New. * src/syscfg/lock-obj-pub.m68k-unknown-linux-gnu.h: New. * src/syscfg/lock-obj-pub.mips-unknown-linux-gnu.h: New. * src/syscfg/lock-obj-pub.mipsel-unknown-linux-gnu.h: New. * src/syscfg/lock-obj-pub.powerpc-unknown-linux-gnu.h: New. * src/syscfg/lock-obj-pub.powerpc64-unknown-linux-gnu.h: New. * src/syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h: New. * src/syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h: New. * src/syscfg/lock-obj-pub.sparc-unknown-linux-gnu.h: New. * src/syscfg/lock-obj-pub.x86_64-pc-kfreebsd-gnu.h: New. * src/syscfg/lock-obj-pub.x86_64-pc-linux-gnu.h: New. * src/syscfg/lock-obj-pub.x86_64-pc-linux-gnux32.h: New. * src/Makefile.am (lock_obj_pub): Add new files. -- To generate these: pull all the logs stored under the "install" links from: https://buildd.debian.org/status/package.php?p=libgpg-error&suite=unstable https://buildd.debian-ports.org/status/package.php?p=libgpg-error&suite=unstable and then extract the headers via: for x in fetch*; do awk '/^## lock-obj-pub\..*\.h$/{ X=2 } { if (X > 0) { print $0 } } /^##$/{ X = X-1 } ' < "$x" >tmp mv -f tmp $( head -n1 < tmp | cut -f2 -d\ ) done
* Fix a syscfg/ file name.Werner Koch2014-01-291-1/+1
| | | | | | | | | | * src/syscfg/lock-obj.arm-unknown-linux-androideabi.h: Rename to ... * src/syscfg/lock-obj-pub.arm-unknown-linux-androideabi.h: this. * src/Makefile.am (lock_obj_pub): Fix file name. -- Ooops. A wrong comment in a generated header can make a lot of trouble.
* Add lock info for arm-unknown-linux-androideabi.Werner Koch2014-01-251-2/+2
| | | | | | * src/syscfg/lock-obj.arm-unknown-linux-androideabi.h: New. Provided by Hans-Christoph Steiner. * src/Makefile.am (lock_obj_pub): Add file.
* Extend the platform dependent build rules.Werner Koch2014-01-171-18/+27
| | | | | | | | | | | | | | | | | | | | * src/mkheader.c (mk_include_name): New. (include_file): Implement '&' substitution. (try_include_file): New. (write_special): Use try_include_file and syscfg/. (main): Add a new arg. * configure.ac (CROSS_COMPILING): New am_conditional. (HOST_TRIPLET_STRING): New ac_define. * src/gen-posix-lock-obj.c (main): Print the host triplet. * src/w32-lock-obj-pub.in: Move to ... * src/syscfg/lock-obj-pub.mingw32.h: here. * src/Makefile.am (lock_obj_pub): New. (pre_mkheader_cmds): New. (gpg-error.h): Run pre_mkheader_cmds. (parts_of_gpg_error_h, lock-obj-pub.native.h): Do not use when cross-compiling. Signed-off-by: Werner Koch <[email protected]>
* Fix linking for last change on non-ELF platforms.Werner Koch2014-01-161-1/+1
| | | | | | | | | | | | | * src/Makefile.am (libgpg_error_la_LIBADD): Add LIBTHREAD. -- If configure told us to link with -lpthread we need to pass that library to the libgpg-error.la build rule. Which is the right thing to do. Without that we may run into strange errors; for example on AIX pthread_mutex_lock is silently not resolved and thus any use of gpgrt_lock_lock will immediately lead to segv. Signed-off-by: Werner Koch <[email protected]>
* Add gpgrt_lock_ functions.Werner Koch2014-01-161-13/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gpg-error.h.in (GPGRT_LOCK_DEFINE): New. (gpgrt_lock_init): New. (gpgrt_lock_lock): New. (gpgrt_lock_unlock): New. (gpgrt_lock_destroy): New. (gpgrt_yield): New. * src/gpg-error.def.in: Add new functions. * m4/lock.m4, m4/threadlib.m4: New. Taken from current gnulib. * configure.ac: Call gl_LOCK. Check size of pthread_mutex_t. Add LIBTHREAD to GPG_ERROR_CONFIG_LIBS. * src/err-codes.h.in (GPG_ERR_INV_LOCK_OBJ): New. * src/gen-posix-lock-obj.c: New. * src/gen-w32-lock-obj.c: New. * src/lock.h, src/thread.h: New. * src/posix-lock-obj.h, src/w32-lock-obj.h: New. * src/posix-lock.c, src/w32-lock.c: New. * src/posix-thread.c, src/w32-thread.c: * src/w32-lock-obj-pub.in: New. * src/mkheader.c (include_file): Support build time include files. (write_special): Add keyword "include:lock-obj". * src/Makefile.am: (posix-lock-obj-pub.in): New rule. (noinst_PROGRAMS): Add gen-*-lock-obj helpers. * tests/t-common.h: New. * tests/t-lock.c: New. * tests/Makefile.am (t_lock_LDADD): Add new test. -- This patch introduces the gpgrt_ functions which will be extended over time to provide a library of commonly used code in GnuPG and Libgcrypt. Having them in a library named libgpg-error is a misnomer but this way we can achieve a smooth upgrade path. In contrasts to other GnuPG libraries, the gpgrt_ functions return a simple gpg_err_code_t and not gpg_error_t. The rationale for this is that a source of error identifier does not make sense here; it is better to use the source of error identifier of the caller. This can easily be achieved in a component by wrapping these function in a gpg_error macro/inline. There is no cross-compiling support for Posix platforms; the gen-posix-lock-obj tool must be run on the target system. Note that the gen-w32-lock-obj tool is not needed at build time but was used to figure out ABI definitions for Windows. Signed-off-by: Werner Koch <[email protected]>
* Improve maintainability by rewriting the mkheader helper.Werner Koch2014-01-141-32/+22
| | | | | | | | | | | | | | | | | * src/mkheader.c: New. Based on the mkheader from Libassuan. * src/mkheader.awk: Remove. * src/errnos.in: Add trailing linefeed. * src/gpg-error.h.in: Change meta include directives for use with mkheader.c. * src/Makefile.am (EXTRA_DIST): Replace mkheader.awk by mkheader.c (BUILT_SOURCES): Remove extra-h.in. (CLEANFILES): Remove extra-h.in. Add mkheader.c. (parts_of_gpg_error_h): New. (extra-h.in): Remove rule. (mkheader): Add rule. (gpg-error.h): Change rule to use mkheader. Signed-off-by: Werner Koch <[email protected]>
* w32: Fix installing of .def file.Werner Koch2013-05-231-0/+1
| | | | | | | * src/Makefile.am (install-def-file): Create libdir first. -- Reported-by: LRN <[email protected]>
* Add version macros and check function.Werner Koch2013-02-231-15/+24
| | | | | | | | | | | | | | | | | | | * configure.ac (VERSION_NUMBER): New ac_subst. (BUILD_FILEVERSION): Build on all platforms (BUILD_TIMESTAMP): Try to use an ISO string. * src/Makefile.am (extra-h.in): Add new version numbers. * src/versioninfo.rc.in: Update copyright year. * src/version.c: New. (gpg_error_check_version): New API. * src/gpg-error.h.in: Add gpg_error_check_version prototype. * src/gpg-error.def.in: Add gpg_error_check_version * tests/t-version.c: New. * tests/Makefile.am (TESTS): Add t-version.c * src/gpg-error-config.in: s/VERSION/PACKAGE_VERSION/. -- All other GnuPG libraries do this, thus we do it here as well.
* Use CPPFLAGS when generating mkerrcodes.hRafaël Carré2012-06-201-1/+1
| | | | | | * src/Makefile.am (mkerrcodes.h): Use CPPFLAGS. Signed-off-by: Rafaël Carré <[email protected]>
* Update pl.po.Werner Koch2010-09-161-2/+7
| | | | | | Updated to gettext 0.1.17 Add a new error code.