author Ryan C. Gordon <>
Mon, 19 Mar 2007 04:30:10 +0000
changeset 833 b260f190aa59
parent 825 b26da6cdcebb
child 888 526efb0af72f
permissions -rw-r--r--
Whoops, switched two strings in CMakeLists.txt

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.

Run "cmake ." in the root of the source directory 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.

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


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 it from ...


If building with CygWin, mingw32 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 it will generate
 project files for you.

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 almost 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 libc 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 (While several exist, EMX
 doesn't come with one). If someone wants to hack some REXX to make this a bit
 more picky about recompiling, I'll accept the patch.

Someone please port CMake to OS/2.

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. (