aboutsummaryrefslogtreecommitdiffstats
path: root/meson.build
AgeCommit message (Collapse)AuthorLines
2023-04-07Fix deprecated udev.get_pkgconfig_variable in mesonMatthias Goergens-1/+1
And slightly bump minimum meson version.
2023-04-02Workaround musl bug when mountdir has whitespace (#761)Matthias Görgens-0/+32
Fixes https://github.com/libfuse/libfuse/issues/634 and https://github.com/mpartel/bindfs/issues/106
2023-03-29Fix typos and configure spellcheck for PRsYaroslav Halchenko-1/+1
2023-03-26Released 3.14.1Nikolaus Rath-1/+1
2023-03-12Respect includedir when installing libfuse_config.hHeiko Becker-1/+1
2023-02-20Change define for C++ tooPierre Labastie-1/+1
Commit d7560cc has split defines into private and public, and passed -DHAVE_LIBFUSE-PRIVATE_CONFIG_H to all C programs. But the arguments of C++ programs have not been changed. This leads to a test failure as reported in issue #734. Pass -DHAVE_LIBFUSE-PRIVATE_CONFIG_H to C++ programs too. Fixes: #734
2023-02-17Released 3.14.0Nikolaus Rath-1/+1
2023-02-09Split config.h into private and public configBernd Schubert-14/+31
This addresses https://github.com/libfuse/libfuse/issues/729 commit db35a37def14b72181f3630efeea0e0433103c41 introduced a public config.h (rename to fuse_config.h to avoid conflicts) that was installed with the package and included by libfuse users through fuse_common.h. Probablem is that this file does not have unique defines so that they are unique to libfuse - on including the file conflicts with libfuse users came up. In principle all defines could be prefixed, but then most of them are internal for libfuse compilation only. So this splits out publically required defines to a new file 'libfuse_config.h' and changes back to include of "fuse_config.h" only when HAVE_LIBFUSE_PRIVATE_CONFIG_H is defined. This also renames HAVE_LIBC_VERSIONED_SYMBOLS to LIBFUSE_BUILT_WITH_VERSIONED_SYMBOLS, as it actually better explains for libfuse users what that variable is for.
2023-02-03Released 3.13.1Nikolaus Rath-1/+1
2023-01-28Install a the configure_file (config.h) and use in headersBernd Schubert-3/+4
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.
2023-01-13Released 3.13.0Nikolaus Rath-1/+1
2023-01-04convert __APPLE__ and __ULIBC__ to HAVE_LIBC_VERSIONED_SYMBOLSBernd Schubert-21/+51
In fact only gnu-libc fully supports symbol versioning, so it is better to have a generic macro for it. This also allows to manually disable symbol version and allows to run tests with that configuration on gnu-libc. That testing will still not catch compat issues, but least ensures the code can compile. Testing for __APPLE__ and __ULIBC__ is now done by meson. More of such checks can be added by people using other libcs.
2022-09-04API update for fuse_loop_config additionsBernd Schubert-1/+1
struct fuse_loop_config was passed as a plain struct, without any version identifer. This had two implications 1) Any addition of new parameters required a FUSE_SYMVER for fuse_session_loop_mt() and fuse_loop_mt() as otherwise a read beyond end-of previous struct size might have happened. 2) Filesystems also might have been recompiled and the developer might not have noticed the struct extensions and unexpected for the developer (or people recomliling the code) uninitialized parameters would have been passed. Code is updated to have struct fuse_loop_config as an opaque/private data type for file systems that want version 312 (FUSE_MAKE_VERSION(3, 12)). The deprecated fuse_loop_config_v1 is visible, but should not be used outside of internal conversion functions File systems that want version >= 32 < 312 get the previous struct (through ifdefs) and the #define of fuse_loop_mt and fuse_session_loop_mt ensures that these recompiled file systems call into the previous API, which then converts the struct. This is similar to existing compiled applications when just libfuse updated, but binaries it is solved with the FUSE_SYMVER ABI compact declarations. Signed-off-by: Bernd Schubert <bschubert@ddn.com>
2022-07-02Revert "Increase meson min version and avoid get_pkgconfig_variable warning ↵Nikolaus Rath-1/+1
(#682)" This reverts commit 8db2ba06fef10f38f90b0f3213dd39ec07678e2f. This Meson version is not yet generally available, so we do not want to depend on it..
2022-06-20Increase meson min version and avoid get_pkgconfig_variable warning (#682)Bernd Schubert-1/+1
meson was complaining: Build targets in project: 27 NOTICE: Future-deprecated features used: * 0.56.0: {'Dependency.get_pkgconfig_variable'} So change to .get_variable(pkgconfig : 'type' and also increase the meson minimal version to be able to handle it. Co-authored-by: Bernd Schubert <bschubert@ddn.com>
2022-05-02Released 3.11.0Nikolaus Rath-1/+1
2021-09-06Released 3.10.5Nikolaus Rath-1/+1
2021-08-04meson.build: fix wrong .symver detectionGiulio Benetti-9/+7
As pointed here [1] __has_attribute() is broken for many attributes and if it doesn't support the specific attribute it returns true, so we can't really rely on that for this check. This lead to Buildroot libfuse3 build failure [2] where that shows up with: ``` error: symver is only supported on ELF platforms ``` Indeed Microblaze doesn't support ELF since it doesn't include elfos.h, but __has_attribute(symver) returns true. So let's substitute the #ifdef __has_attribute() with a stronger test on a function foo() with __attribute__((symver ("test@TEST"))). [1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766 [2]: http://autobuild.buildroot.net/results/d6c/d6cfaf2aafaeda3c12d127f6a2d2e175b25e654f/build-end.log Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
2021-06-09Released 3.10.4Nikolaus Rath-1/+1
2021-06-09Add an option to disable building tests (#533)asafkahlon-1/+5
Signed-off-by: Asaf Kahlon <asafka7@gmail.com>
2021-04-13Fix a few meson warnings (#596)Heiko Becker-5/+8
* Use meson's warning_level instead of passing -Wflags "-Wall" is included by default and level 2 adds "-Wextra". Avoids a warning from meson. Signed-off-by: Heiko Becker <heirecka@exherbo.org> * Set the C++ language standard through a meson option Avoids a warning from meson. Signed-off-by: Heiko Becker <heirecka@exherbo.org>
2021-04-12Released 3.10.3Nikolaus Rath-1/+1
2021-02-05Released 3.10.2Nikolaus Rath-1/+1
2020-12-07Released 3.10.1Nikolaus Rath-1/+1
2020-10-09Released 3.10.0Nikolaus Rath-1/+1
2020-09-14Fix compilation for compilers not supporting __has_attributeTom Callaway-2/+6
2020-09-12Update Travis to Ubuntu BionicTom Callaway-4/+9
2020-09-11Implement GCC 10 style symbol versioning (#545)Tom Callaway-0/+17
2020-08-09Released 3.9.4Nikolaus Rath-1/+1
2020-06-12Released 3.9.2Nikolaus Rath-1/+1
2020-04-20Do not require C++ compiler for buildingFabrice Fontaine-1/+1
Fixes: - http://autobuild.buildroot.org/results/a6e64213f2910b2b81e79cb1e96e558413d7f70a Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-03-19Released 3.9.1Nikolaus Rath-1/+1
2019-12-14Released 3.9.0Nikolaus Rath-1/+1
2019-11-03Released 3.8.0Nikolaus Rath-1/+1
2019-09-27Released 3.7.0Nikolaus Rath-1/+1
2019-07-09Released 3.6.2Nikolaus Rath-1/+1
2019-06-13Released 3.6.1Nikolaus Rath-1/+1
2019-06-13Released 3.6.0Nikolaus Rath-1/+1
2019-05-09Added new example filesystemNikolaus Rath-1/+5
passthrough_hp puts emphasis and performance and correctness, rather than simplicity.
2019-04-18Add fallocate and use it instead of posix_fallocate if possible (#398)Liu Bo-1/+1
fuse.ko has supported FALLOC_FL_KEEP_SIZE and FALLOC_FL_PUNCH_HOLE at this moment and more modes may be supported in the future. fallocate(2) supports modes while posix_fallocate(2) does not, so this makes lo_fallocate use fallocate(2) instead. Signed-off-by: Liu Bo <bo.liu@linux.alibaba.com>
2019-04-07Bump minor versionNikolaus Rath-1/+1
cache_readdir flag is a new feature.
2019-03-09Released 3.4.2Nikolaus Rath-1/+1
2018-12-22Released 3.4.1Nikolaus Rath-1/+1
2018-11-19examples: add copy_file_range() support to passthrough(_fh)Niels de Vos-2/+2
The passthrough example filesystem can be used for validating the API and the implementation in the FUSE kernel module.
2018-11-06Released 3.3.0Nikolaus Rath-1/+1
2018-10-16Bump minimum Meson versionNikolaus Rath-1/+1
According to user reports (https://github.com/libfuse/libfuse/pull/300), we need at least version 0.42.
2018-09-28Add build options for utils and examplesMartin Blanchard-3/+8
Allow skipping utils build & installation (-Dutils=false) and examples build (-Dexamples=false). By default behaviour is unchanged (both are true: utils and examples get build).
2018-08-31Released 3.2.6Nikolaus Rath-1/+1
2018-08-25Make meson build scripts subprojects friendlyMartin Blanchard-5/+5
Multiple meson build scripts improvements including: * Bump meson requirement to 0.40.1 (0.40 already required) * Declare a dependency object for main library * Stop using add_global_arguments() * Various minor style fixes
2018-07-24Released 3.2.5Nikolaus Rath-1/+1