author Ryan C. Gordon <>
Fri, 18 Feb 2011 16:14:59 -0500
changeset 1145 28f8e425ad8c
parent 972 254427fc42ab
child 1196 54a1dfb1e6f7
permissions -rw-r--r--
Corrected copyright dates in license.

The latest PhysicsFS information and releases can be found at:

Building is (ahem) very easy.


Please understand your rights and mine: read the text file LICENSE.txt in the
 root of the source tree. If you can't abide by it, delete this source tree
 now. The license is extremely liberal, even to closed-source, commercial

If you've got Doxygen ( installed, you can run it
 without any command line arguments in the root of the source tree to generate
 the API reference (or build the "docs" target from your build system). This
 is optional. You can browse the API docs online here:


You will need CMake ( 2.4 or later installed.

Make a directory, wherever you like. This will be your build directory.

Chdir to your build directory. Run "cmake /where/i/unpacked/physfs" to
 generate Makefiles. You can then run "ccmake ." and customize the build,
 but the defaults are probably okay. You can have CMake generate KDevelop
 project files if you prefer these.

Run "make". PhysicsFS will now build.

As root, run "make install".
 If you get sick of the library, run "xargs rm < install_manifest.txt" as root
 and it will remove all traces of the library from the system paths.

Once you are satisfied, you can delete the build directory.

Primary Unix development is done with GNU/Linux, but PhysicsFS is known to
 work out of the box with several flavors of Unix. It it doesn't work, patches
 to get it running can be sent to

BeOS, Zeta, and Haiku:

Use the "Unix" instructions, above. The CMake port to BeOS is fairly new at
 the time of this writing, but it works. You can get a build of CMake from or build it yourself from source from


If building with Cygwin, mingw32, MSYS, or something else that uses the GNU
 toolchain, follow the Unix instructions, above.

If you want to use Visual Studio, nmake, or the Platform SDK, you will need
 CMake ( 2.4 or later installed. Point CMake at the
 CMakeLists.txt file in the root of the source directory and hit the
 "Configure" button. After telling it what type of compiler you are targeting
 (Borland, Visual Studio, etc), CMake will process for while and then give you
 a list of options you can change (what archivers you want to support, etc).
 If you aren't sure, the defaults are probably fine. Hit the "Configure"
 button again, then "OK" once configuration has completed with options that
 match your liking. Now project files for your favorite programming
 environment will be generated for you in the directory you specified.
 Go there and use them to build PhysicsFS.

PhysicsFS will only link directly against system libraries that have existed
 since Windows 95 and Windows NT 3.51. If there's a newer API we want to use,
 we try to dynamically load it at runtime and fallback to a reasonable
 behaviour when we can't find it...this is used for Unicode support and
 locating user-specific directories, etc.

PhysicsFS has not been tested on 64-bit Windows, but probably works. There is
 no 16-bit Windows support at all. Reports of success and problems can go to
 Ryan at ...

If someone is willing to maintain prebuilt PhysicsFS DLLs, I'd like to hear
from you; send an email to ...


Code exists for PocketPC support, and there are shipping titles that used
 PhysicsFS 1.0 on PocketPC...but it isn't tested in 2.0, and is probably
 broken with the new build system. Please send patches.

MAC OS 8/9:

Classic Mac OS support has been dropped in PhysicsFS 2.0. Apple hasn't updated
 pre-OSX versions in more than a decade at this point, none of the hardware
 they've shipped will boot it for almost as many years, and finding
 developer tools for it is becoming almost impossible. As the switch to Intel
 hardware has removed the "Classic" emulation environment, it was time to
 remove support from PhysicsFS. That being said, the PhysicsFS 1.0 branch can
 still target back to Mac OS 8.5, so you can use that if you need support for
 this legacy OS. We still very much support Mac OS X, though: see below.


You will need CMake ( 2.4 or later installed.

You can either generate a Unix makefile with CMake, or generate an Xcode
 project, whichever makes you more comfortable.

PowerPC and Intel Macs should both be supported.

If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
 Mac OS X, I'd like to hear from you; send an email to


You need Innotek GCC and libc installed (or kLIBC). I tried this on a stock
 Warp 4 install, no fixpaks. You need to install link386.exe (Selective
 Install, "link object modules" option). Once klibc and GCC are installed
 correctly, unpack the source to PhysicsFS and run the script
 file "makeos2.cmd". I know this isn't ideal, but I wanted to have this build
 without users having to hunt down a "make" program.

Someone please port CMake to OS/2. Ideally I'd like to be able to target
 Innotek GCC and OpenWatcom with CMake.

If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for
 OS/2, I'd like to hear from you; send an email to


Many Unix-like platforms might "just work" with CMake. Some of these platforms
 are known to have worked at one time, but have not been heavily tested, if
 tested at all. PhysicsFS is, as far as we know, 64-bit and byteorder clean,
 and is known to compile on several compilers across many platforms. To
 implement a new platform or archiver, please read the heavily-commented
 physfs_internal.h and look in the platform/ and archiver/ directories for

--ryan. (