notmuch/compat
Michael J Gruber a84dc2f7e6 compat: probe for strcasestr more thoroughly
Depending on compiler (gcc, g++, clang) and standard options (c99, c11),
string.h may or may not include strings.h, leading to possibly missing
or conflicting declarations of strcasestr.

Include both so that both detection and compilation phases use the same
(possibly optimised) implementations.

Suggested-by: Thomas Schneider <qsx@chaotikum.eu>
Suggested-by: Florian Weimer <fweimer@redhat.com>
Suggested-by: Tomi Ollila <tomi.ollila@iki.fi>
2023-08-27 19:39:23 -03:00
..
.gitignore Use rooted paths in .gitignore files 2017-08-18 19:42:35 -03:00
check_asctime.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
check_getpwuid.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
compat.h compat: rename {,notmuch_}canonicalize_file_name 2021-04-24 08:07:00 -03:00
function-attributes.h compat: run uncrustify 2019-06-14 07:41:27 -03:00
gen_zlib_pc.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
getdelim.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
getline.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
have_canonicalize_file_name.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
have_d_type.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
have_getline.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
have_strcasestr.c compat: probe for strcasestr more thoroughly 2023-08-27 19:39:23 -03:00
have_strsep.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
have_timegm.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
Makefile Makefiles: Use .DEFAULT to support arbitrary targets from sub directories. 2010-01-06 10:32:06 -08:00
Makefile.local compat: rename {,notmuch_}canonicalize_file_name 2021-04-24 08:07:00 -03:00
README Extend compat/README 2012-09-27 12:51:01 -03:00
strcasestr.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
strsep.c compat: run uncrustify 2019-06-14 07:41:27 -03:00
timegm.c compat: run uncrustify 2019-06-14 07:41:27 -03: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