Go to file
Benjamin Fleischer 1b5e6ec8c7
(fuse) Fix volume icon fallback
2017-07-18 19:27:02 +02:00
build.d Update license header of shell scripts 2017-07-09 00:49:09 +02:00
common (fuse) Fix volume icon fallback 2017-07-18 19:27:02 +02:00
framework@77897c16de Move volume icon to file system bundle 2017-06-15 20:08:03 +02:00
fuse@035ae21956 (fuse) Fix volume icon fallback 2017-07-18 19:27:02 +02:00
kext@be85464c9a (kext) Minor code cleanup 2017-06-11 22:24:16 +02:00
macfuse_framework@b0df9d7c00 Change OS name from OS X to macOS 2016-06-14 02:00:54 +02:00
macfuse_fuse@046ea21786 Fix unmount of not-yet-alive volume 2017-07-05 07:57:07 +02:00
prefpane@8a65eb2460 (prefpane) Add retina version of FUSE logo 2017-07-05 21:12:36 +02:00
support@8f3a07ea74 (support) Add support for macOS 10.13 Beta 3 2017-07-11 08:19:48 +02:00
.gitignore Update .gitignore 2016-06-01 21:54:25 +02:00
.gitmodules Rewrite build tool 2014-06-03 00:00:57 +02:00
LICENSE.txt Update copyright year in license 2017-06-13 22:11:02 +02:00
README.md Add experimental support for macOS 10.13 2017-06-06 08:19:16 +02:00
build.sh Update license header of shell scripts 2017-07-09 00:49:09 +02:00

README.md

FUSE for macOS

FUSE for macOS allows you to extend macOS via third party file systems.

About FUSE for macOS

The FUSE for macOS software package provides multiple APIs for developing file systems for Mac OS X 10.5 to macOS 10.13 (Intel and PowerPC architecture). It is a backward compatible successor to MacFUSE, which has been the basis of many products, but is no longer being maintained.

You can use the provided APIs to develop numerous types of file systems, whose content can come from a local disk, from across the network, from memory, or any other source. One of these APIs is a superset of the FUSE API, that originated on Linux.

Due to the fact that FUSE file systems are regular applications (as opposed to kernel extensions), you have just as much flexibility and choice in programming tools, debuggers, and libraries as you have if you were developing standard macOS applications.

For more information visit the website of the FUSE for macOS Project.

Build Instructions

The build script automatically locates all supported installations of Xcode in the top level of the macOS startup volume and the Applications folder. It builds a distribution package compatible with the currently running version of macOS.


Note:

  • On Mac OS X 10.6 Xcode versions 4.0, 4.1, and 4.2 are not supported due to a bug in Xcode's linker. Use Xcode 3.2.6 to build FUSE for macOS. See "Fun with weak dynamic linking" for more details.

  • Xcode 4.3 and newer versions do not include autotools and libtool, that are needed to build libosxfuse. Install MacPorts or Homebrew and run the following commands in Terminal to install the required tools:

MacPorts:

    sudo port install autoconf automake libtool gettext

Homebrew:

    brew install autoconf automake libtool gettext
    brew link --force gettext
  • The "Command Line Tools" package is needed to generate BridgeSupport metadata for OSXFUSE.framework because of a bug in gen_bridge_metadata (hard coded path to cpp).

The Xcode tools packages can be obtained from https://developer.apple.com/downloads/ (free Apple Developer ID required).


To clone the source repository into a newly created subdirectory named osxfuse in the current working directory, run the following command in Terminal:

git clone --recursive -b support/osxfuse-3 git://github.com/osxfuse/osxfuse.git osxfuse

Run the following command in the cloned repository to build FUSE for macOS from source:

./build.sh -t distribution

The resulting distribution package can be found in /tmp/osxfuse/distribution.