Skip to content

Commit 87fc124

Browse files
committed
better fuse-t detection
1 parent ad73b2c commit 87fc124

3 files changed

Lines changed: 17 additions & 8 deletions

File tree

.github/workflows/ci.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,8 @@ jobs:
2525
os: macos-15
2626
- name: FUSE-T
2727
os: macos-15
28-
ldflags: '-Wl,-rpath,/usr/local/lib'
29-
configure_args: '--with-fuse-soname=fuse-t'
3028
env:
3129
CHECK_FEATURES: ${{ matrix.check_features }}
32-
LDFLAGS: ${{ matrix.ldflags }}
3330
CONFIGURE_ARGS: ${{ matrix.configure_args }}
3431
steps:
3532
- name: checkout
@@ -52,22 +49,22 @@ jobs:
5249
HOMEBREW_NO_AUTO_UPDATE: 1
5350
run: |
5451
brew install autoconf automake libtool squashfs coreutils
55-
echo "BREW_LDFLAGS=-L$(brew --prefix)/lib" >> $GITHUB_ENV
56-
echo "BREW_CPPFLAGS=-I$(brew --prefix)/include" >> $GITHUB_ENV
52+
echo "LDFLAGS=-L$(brew --prefix)/lib" >> $GITHUB_ENV
53+
echo "CPPFLAGS=-I$(brew --prefix)/include" >> $GITHUB_ENV
5754
if: runner.os == 'macOS'
5855
- name: macfuse
5956
run: brew install --cask macfuse
6057
if: matrix.name == 'macFUSE'
6158
- name: fuse-t
6259
run: |
63-
sudo mkdir -p /usr/local/include # no symlink to headers is placed here unless it exists
60+
find /usr/local -ls
6461
brew tap macos-fuse-t/homebrew-cask
6562
brew install fuse-t
6663
if: matrix.name == 'FUSE-T'
6764
- name: configure
6865
run: |
6966
./autogen.sh
70-
env CPPFLAGS="-Werror $BREW_CPPFLAGS" LDFLAGS="$LDFLAGS $BREW_LDFLAGS" ./configure $CONFIGURE_ARGS
67+
env CPPFLAGS="-Werror $CPPFLAGS" ./configure $CONFIGURE_ARGS
7168
- name: check discovered features
7269
run: diff -u ci/expected-features/${CHECK_FEATURES:-all} ci/features
7370
if: matrix.name != 'distcheck'

Makefile.am

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ libsquashfuse_convenience_la_SOURCES = swap.c cache.c table.c dir.c file.c fs.c
3333
util.h fs.h
3434
libsquashfuse_convenience_la_CPPFLAGS = $(ZLIB_CPPFLAGS) $(XZ_CPPFLAGS) $(LZO_CPPFLAGS) \
3535
$(LZ4_CPPFLAGS) $(ZSTD_CPPFLAGS) $(FUSE_CPPFLAGS)
36-
libsquashfuse_convenience_la_LIBADD = $(COMPRESSION_LIBS) $(FUSE_LIBS)
36+
libsquashfuse_convenience_la_LIBADD = $(COMPRESSION_LIBS)
3737

3838
# Main library: libsquashfuse
3939
lib_LTLIBRARIES += libsquashfuse.la

m4/squashfuse_fuse.m4

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,18 @@ AC_DEFUN([SQ_FIND_FUSE],[
163163
[:])
164164
SQ_KEEP_FLAGS([FUSE],[$sq_fuse_found])
165165
])
166+
# Use pkgconfig to look for fuse-t
167+
AS_IF([test "x$sq_fuse_found" = xyes],,[
168+
AC_DEFINE([FUSE_USE_VERSION], [26], [Version of FUSE API to use])
169+
SQ_SAVE_FLAGS
170+
SQ_PKG([fuse_t],[fuse-t],[
171+
# FUSE-T bug can mis-install header path: https://github.com/macos-fuse-t/fuse-t/issues/77
172+
CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64 -I/Library/Frameworks/fuse_t.framework/Headers"
173+
SQ_TRY_FUSE([fuse-t],[sq_fuse_found=yes],
174+
[AC_MSG_FAILURE([Can't find fuse-t with pkgconfig])])
175+
], [:])
176+
SQ_KEEP_FLAGS([FUSE],[$sq_fuse_found])
177+
])
166178
167179
# Default search locations
168180
AS_IF([test "x$sq_cv_lib_fuse_LIBS" = x],[SQ_SEARCH_FUSE_DIRS],[

0 commit comments

Comments
 (0)