notmuch/compat
David Bremner af5c3afa91 compat: add canonicalize_file_name
the POSIX 2008 behaviour of realpath is not available everywhere so we
provide a simple wrapper function.  We use (and provide) the gnu
extension canonicalize_file_name to make it cleaner to test for the
feature we need; otherwise we have to rely on realpath segfaulting if
the second argument is null.
2014-04-08 07:27:14 -03:00
..
canonicalize_file_name.c compat: add canonicalize_file_name 2014-04-08 07:27:14 -03:00
check_asctime.c asctime: check for standards compliance (Solaris support) 2013-08-23 17:55:23 +02:00
check_getpwuid.c getpwuid: check for standards compliance (Solaris support) 2013-08-23 17:53:17 +02:00
compat.h compat: add canonicalize_file_name 2014-04-08 07:27:14 -03:00
function-attributes.h Provide a NORETURN_ATTRIBUTE macro similar to PRINTF_ATTRIBUTE 2012-09-27 12:50:22 -03:00
getdelim.c getdelim: Silence a (bogus) compiler warning. 2009-12-01 16:46:21 -08:00
getline.c compat: Change includes from config.h to compat.h. 2009-12-01 16:27:29 -08:00
have_canonicalize_file_name.c compat: add canonicalize_file_name 2014-04-08 07:27:14 -03:00
have_d_type.c new: Detect dirent.d_type support at configure time 2014-02-14 08:42:45 -04:00
have_getline.c Move "config" test programs to "compat". 2010-04-06 14:36:31 -07:00
have_strcasestr.c Add simplistic reimplementation of strcasestr to compat library 2010-04-14 11:34:12 -07:00
have_strsep.c strsep: check for availability (Solaris support) 2013-08-23 17:55:39 +02:00
have_timegm.c timegm: add portable implementation (Solaris support) 2013-08-23 17:57:35 +02:00
Makefile Makefiles: Use .DEFAULT to support arbitrary targets from sub directories. 2010-01-06 10:32:06 -08:00
Makefile.local compat: add canonicalize_file_name 2014-04-08 07:27:14 -03:00
README Extend compat/README 2012-09-27 12:51:01 -03:00
strcasestr.c Add simplistic reimplementation of strcasestr to compat library 2010-04-14 11:34:12 -07:00
strsep.c strsep: check for availability (Solaris support) 2013-08-23 17:55:39 +02:00
timegm.c timegm: add portable implementation (Solaris support) 2013-08-23 17:57:35 +02:00

notmuch/compat

This directory consists of three things:

1. Small programs used by the notmuch configure script to test for the
   availability of certain system features, (library functions, etc.).

   For example: have_getline.c

2. Compatibility implementations of those system features for systems
   that don't provide their own versions.

   For example: getline.c

   The compilation of these files is made conditional on the output of
   the test programs from [1].

3. Macro definitions abstracting compiler differences (e.g. function
   attributes).

   For example: function-attributes.h