Install a the configure_file (config.h) and use in headers

This addresses: https://github.com/libfuse/libfuse/issues/724

HAVE_LIBC_VERSIONED_SYMBOLS configures the library if to use
versioned symbols and is set at meson configuration time.
External filesystems (the main target, actually)
include fuse headers and the preprocessor
then acts on HAVE_LIBC_VERSIONED_SYMBOLS. Problem was now that
'config.h' was not distributed with libfuse and so
HAVE_LIBC_VERSIONED_SYMBOLS was never defined with external
tools and the preprocessor did the wrong decision.

This commit also increases the the minimal meson version,
as this depends on meson feature only available in 0.50

<quote 'meson' >
WARNING: Project specifies a minimum meson_
version '>= 0.42' but uses features which were added
 in newer versions:
 * 0.50.0: {'install arg in configure_file'}
</quote>

Additionally the config file has been renamed to "fuse_config.h"
to avoid clashes - 'config.h' is not very specific.
This commit is contained in:
Bernd Schubert 2023-01-27 21:54:48 +01:00 committed by Nikolaus Rath
parent e42b972271
commit db35a37def
29 changed files with 26 additions and 42 deletions

View File

@ -25,10 +25,6 @@
#define FUSE_USE_VERSION 31
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#define _GNU_SOURCE
#ifdef linux

View File

@ -25,10 +25,6 @@
#define FUSE_USE_VERSION 31
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#define _GNU_SOURCE
#include <fuse.h>

View File

@ -45,10 +45,6 @@
#define FUSE_USE_VERSION FUSE_MAKE_VERSION(3, 12)
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif

View File

@ -37,8 +37,6 @@
#define _GNU_SOURCE
#define FUSE_USE_VERSION 34
#include "config.h"
#include <fuse_lowlevel.h>
#include <unistd.h>
#include <stdlib.h>

View File

@ -23,8 +23,6 @@
#define FUSE_USE_VERSION 31
#include <config.h>
#include <fuse.h>
#include <unistd.h>
#include <ctype.h>

View File

@ -19,7 +19,7 @@
* \include poll_client.c
*/
#include <config.h>
#include <fuse_config.h>
#include <sys/select.h>
#include <sys/time.h>

View File

@ -21,8 +21,6 @@
#define FUSE_USE_VERSION 31
#include <config.h>
#include <fuse_lowlevel.h>
#include <stdio.h>
#include <unistd.h>

View File

@ -14,6 +14,7 @@
#ifndef FUSE_COMMON_H_
#define FUSE_COMMON_H_
#include "fuse_config.h"
#include "fuse_opt.h"
#include "fuse_log.h"
#include <stdint.h>

View File

@ -11,7 +11,7 @@
#define _GNU_SOURCE
#include "config.h"
#include "fuse_config.h"
#include "fuse_i.h"
#include "fuse_lowlevel.h"
#include <string.h>

View File

@ -15,7 +15,7 @@
support version symboling
*/
#include "config.h"
#include "fuse_config.h"
#include "fuse_i.h"
#include "fuse_misc.h"
#include "fuse_opt.h"

View File

@ -7,7 +7,7 @@
See the file COPYING.LIB.
*/
#include "config.h"
#include "fuse_config.h"
#include "cuse_lowlevel.h"
#include "fuse_kernel.h"
#include "fuse_i.h"

View File

@ -13,7 +13,7 @@
/* For pthread_rwlock_t */
#define _GNU_SOURCE
#include "config.h"
#include "fuse_config.h"
#include "fuse_i.h"
#include "fuse_lowlevel.h"
#include "fuse_opt.h"

View File

@ -8,7 +8,7 @@
See the file COPYING.LIB
*/
#include "config.h"
#include "fuse_config.h"
#include "fuse_lowlevel.h"
#include "fuse_i.h"

View File

@ -8,7 +8,7 @@
See the file COPYING.LIB.
*/
#include "config.h"
#include "fuse_config.h"
#include "fuse_lowlevel.h"
#include "fuse_misc.h"
#include "fuse_kernel.h"

View File

@ -11,7 +11,7 @@
#define _GNU_SOURCE
#include "config.h"
#include "fuse_config.h"
#include "fuse_i.h"
#include "fuse_kernel.h"
#include "fuse_opt.h"

View File

@ -9,7 +9,7 @@
See the file COPYING.LIB
*/
#include "config.h"
#include "fuse_config.h"
#include "fuse_i.h"
#include "fuse_opt.h"
#include "fuse_misc.h"

View File

@ -8,7 +8,7 @@
See the file COPYING.LIB
*/
#include "config.h"
#include "fuse_config.h"
#include "fuse_lowlevel.h"
#include "fuse_i.h"

View File

@ -10,7 +10,7 @@
See the file COPYING.LIB.
*/
#include "config.h"
#include "fuse_config.h"
#include "fuse_i.h"
#include "fuse_misc.h"
#include "fuse_opt.h"

View File

@ -6,7 +6,7 @@
See the file COPYING.LIB
*/
#include <config.h>
#include <fuse_config.h>
#include <fuse.h>
#include <stdio.h>

View File

@ -6,7 +6,7 @@
See the file COPYING.LIB
*/
#include <config.h>
#include <fuse_config.h>
#include <fuse.h>
#include <stdio.h>

View File

@ -8,7 +8,7 @@
See the file COPYING.LIB.
*/
#include "config.h"
#include "fuse_config.h"
#include "fuse_i.h"
#include "fuse_misc.h"
#include "fuse_opt.h"

View File

@ -8,7 +8,7 @@
See the file COPYING.LIB.
*/
#include "config.h"
#include "fuse_config.h"
#include "mount_util.h"
#include <stdio.h>
#include <unistd.h>

View File

@ -1,5 +1,5 @@
project('libfuse3', ['c'], version: '3.13.0',
meson_version: '>= 0.42',
meson_version: '>= 0.50',
default_options: [
'buildtype=debugoptimized',
'cpp_std=c++11',
@ -141,8 +141,8 @@ else
endif
# Write the test results into config.h (stored in build directory)
configure_file(output: 'config.h',
configuration : cfg)
configure_file(output: 'fuse_config.h',
configuration : cfg, install: true, install_dir: 'include/fuse3')
# '.' will refer to current build directory, which contains config.h
include_dirs = include_directories('include', 'lib', '.')
@ -169,3 +169,4 @@ endif
foreach n : subdirs
subdir(n)
endforeach

View File

@ -9,7 +9,7 @@
#define FUSE_USE_VERSION 30
#include <config.h>
#include <fuse_config.h>
#include <fuse_lowlevel.h>
#include <stdio.h>
#include <stdlib.h>

View File

@ -1,5 +1,5 @@
#define _GNU_SOURCE
#include "config.h"
#include "fuse_config.h"
#include <stdio.h>
#include <stdlib.h>

View File

@ -9,7 +9,7 @@
#define FUSE_USE_VERSION 30
#include <config.h>
#include <fuse_config.h>
#include <fuse_lowlevel.h>
#include <stdio.h>
#include <stdlib.h>

View File

@ -4,7 +4,7 @@ set -e
sudo python3 -m pip install --upgrade pip
# Meson 0.45 requires Python 3.5 or newer
sudo python3 -m pip install pytest meson==0.44
sudo python3 -m pip install pytest meson==0.50
valgrind --version
ninja --version
meson --version

View File

@ -8,7 +8,7 @@
/* This program does the mounting and unmounting of FUSE filesystems */
#define _GNU_SOURCE /* for clone */
#include "config.h"
#include "fuse_config.h"
#include "mount_util.h"
#include <stdio.h>

View File

@ -6,7 +6,7 @@
See the file COPYING.
*/
#include "config.h"
#include "fuse_config.h"
#include <stdio.h>
#include <stdlib.h>