notmuch/compat
Đoàn Trần Công Danh 441a327051 compat: rename {,notmuch_}canonicalize_file_name
When compat canonicalize_file_name was introduced, it was limited to
C code only because it was used by C code only during that time.

>From 5ec6fd4d, (lib/open: check for split configuration when creating
database., 2021-02-16), lib/open.cc, which is C++, relies on the
existent of canonicalize_file_name.

However, we can't blindly enable canonicalize_file_name for C++ code,
because different implementation has different additional signature for
C++ and users can arbitrarily add -DHAVE_CANONICALIZE_FILE_NAME=0 to
{C,CXX}FLAGS.

Let's move our implementation into a util library.

Helped-by: Tomi Ollila <tomi.ollila@iki.fi>
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
2021-04-24 08:07:00 -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: run uncrustify 2019-06-14 07:41:27 -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