Vaibhav Jain <[email protected]> writes: > Second hunk of this diff seems to be a revert of [1] which might > break the ndctl build on Arch Linux. > > AFAIS for Centos/Fedora/RHEL etc the iniparser.h file is present in the > default include path('/usr/include') as a softlink to > '/usr/include/iniparser/iniparser.h' . Ubuntu/Debian seems to an > exception where path '/usr/include/iniparser.h' is not present. > > I guess thats primarily due to no 'make install' target available in > iniparser makefiles [1] that fixes a single include patch. This may have led > to differences across distros where to place these header files. > > I would suggest changing to this in meson.build to atleast catch if the > iniparser.h is not present at the expected path during meson setup: > > iniparser = cc.find_library('iniparser', required : true, has_headers: > 'iniparser.h') > > [1] addc5fd8511('Fix iniparser.h include') > [2] https://github.com/ndevilla/iniparser/blob/master/Makefile
We can do this. diff --git a/config.h.meson b/config.h.meson index 2852f1e9cd8b..b070df96cf4a 100644 --- a/config.h.meson +++ b/config.h.meson @@ -82,6 +82,9 @@ /* Define to 1 if you have the <unistd.h> header file. */ #mesondefine HAVE_UNISTD_H +/* Define to 1 if you have the <iniparser/iniparser.h> header file. */ +#mesondefine HAVE_INIPARSER_INCLUDE_H + /* Define to 1 if using libuuid */ #mesondefine HAVE_UUID diff --git a/meson.build b/meson.build index 42e11aa25cba..893f70c22270 100644 --- a/meson.build +++ b/meson.build @@ -176,6 +176,7 @@ check_headers = [ ['HAVE_SYS_STAT_H', 'sys/stat.h'], ['HAVE_SYS_TYPES_H', 'sys/types.h'], ['HAVE_UNISTD_H', 'unistd.h'], + ['HAVE_INIPARSER_INCLUDE_H', 'iniparser/iniparser.h'], ] foreach h : check_headers diff --git a/util/parse-configs.c b/util/parse-configs.c index c834a07011e5..8bdc9d18cbf3 100644 --- a/util/parse-configs.c +++ b/util/parse-configs.c @@ -4,7 +4,11 @@ #include <dirent.h> #include <errno.h> #include <fcntl.h> +#ifdef HAVE_INIPARSER_INCLUDE_H +#include <iniparser/iniparser.h> +#else #include <iniparser.h> +#endif #include <sys/stat.h> #include <util/parse-configs.h> #include <util/strbuf.h>
