author | Ryan C. Gordon <icculus@icculus.org> |
Fri, 27 Aug 2010 14:27:15 -0400 | |
changeset 1116 | 20dfca1e8a27 |
parent 972 | 254427fc42ab |
child 1196 | 54a1dfb1e6f7 |
permissions | -rw-r--r-- |
214
19846c18071b
Initial autoconf support.
Ryan C. Gordon <icculus@icculus.org>
parents:
208
diff
changeset
|
1 |
|
283 | 2 |
The latest PhysicsFS information and releases can be found at: |
3 |
http://icculus.org/physfs/ |
|
214
19846c18071b
Initial autoconf support.
Ryan C. Gordon <icculus@icculus.org>
parents:
208
diff
changeset
|
4 |
|
208
d176cef27a77
Updated win32 build info, other tweaks.
Ryan C. Gordon <icculus@icculus.org>
parents:
205
diff
changeset
|
5 |
Building is (ahem) very easy. |
54 | 6 |
|
71 | 7 |
|
8 |
ALL PLATFORMS: |
|
91 | 9 |
|
809
116b8fe30371
Renamed LICENSE to LICENSE.txt
Ryan C. Gordon <icculus@icculus.org>
parents:
767
diff
changeset
|
10 |
Please understand your rights and mine: read the text file LICENSE.txt in the |
116b8fe30371
Renamed LICENSE to LICENSE.txt
Ryan C. Gordon <icculus@icculus.org>
parents:
767
diff
changeset
|
11 |
root of the source tree. If you can't abide by it, delete this source tree |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
12 |
now. The license is extremely liberal, even to closed-source, commercial |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
13 |
applications. |
71 | 14 |
|
283 | 15 |
If you've got Doxygen (http://www.doxygen.org/) installed, you can run it |
16 |
without any command line arguments in the root of the source tree to generate |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
17 |
the API reference (or build the "docs" target from your build system). This |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
18 |
is optional. You can browse the API docs online here: |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
19 |
|
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
20 |
http://icculus.org/physfs/docs/ |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
21 |
|
283 | 22 |
|
71 | 23 |
|
24 |
||
488 | 25 |
UNIX: |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
26 |
|
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
27 |
You will need CMake (http://www.cmake.org/) 2.4 or later installed. |
54 | 28 |
|
957
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
29 |
Make a directory, wherever you like. This will be your build directory. |
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
30 |
|
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
31 |
Chdir to your build directory. Run "cmake /where/i/unpacked/physfs" to |
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
32 |
generate Makefiles. You can then run "ccmake ." and customize the build, |
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
33 |
but the defaults are probably okay. You can have CMake generate KDevelop |
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
34 |
project files if you prefer these. |
54 | 35 |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
36 |
Run "make". PhysicsFS will now build. |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
37 |
|
230 | 38 |
As root, run "make install". |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
39 |
If you get sick of the library, run "xargs rm < install_manifest.txt" as root |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
40 |
and it will remove all traces of the library from the system paths. |
54 | 41 |
|
957
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
42 |
Once you are satisfied, you can delete the build directory. |
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
43 |
|
488 | 44 |
Primary Unix development is done with GNU/Linux, but PhysicsFS is known to |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
45 |
work out of the box with several flavors of Unix. It it doesn't work, patches |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
46 |
to get it running can be sent to icculus@icculus.org. |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
47 |
|
488 | 48 |
|
283 | 49 |
|
957
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
50 |
BeOS, Zeta, and Haiku: |
488 | 51 |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
52 |
Use the "Unix" instructions, above. The CMake port to BeOS is fairly new at |
888 | 53 |
the time of this writing, but it works. You can get a build of CMake from |
54 |
bebits.com or build it yourself from source from cmake.org. |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
55 |
|
283 | 56 |
|
71 | 57 |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
58 |
Windows: |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
59 |
|
957
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
60 |
If building with Cygwin, mingw32, MSYS, or something else that uses the GNU |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
61 |
toolchain, follow the Unix instructions, above. |
230 | 62 |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
63 |
If you want to use Visual Studio, nmake, or the Platform SDK, you will need |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
64 |
CMake (http://www.cmake.org/) 2.4 or later installed. Point CMake at the |
888 | 65 |
CMakeLists.txt file in the root of the source directory and hit the |
66 |
"Configure" button. After telling it what type of compiler you are targeting |
|
67 |
(Borland, Visual Studio, etc), CMake will process for while and then give you |
|
68 |
a list of options you can change (what archivers you want to support, etc). |
|
69 |
If you aren't sure, the defaults are probably fine. Hit the "Configure" |
|
70 |
button again, then "OK" once configuration has completed with options that |
|
71 |
match your liking. Now project files for your favorite programming |
|
72 |
environment will be generated for you in the directory you specified. |
|
73 |
Go there and use them to build PhysicsFS. |
|
89
2f9f1d02aaca
Updated win32 build instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
71
diff
changeset
|
74 |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
75 |
PhysicsFS will only link directly against system libraries that have existed |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
76 |
since Windows 95 and Windows NT 3.51. If there's a newer API we want to use, |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
77 |
we try to dynamically load it at runtime and fallback to a reasonable |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
78 |
behaviour when we can't find it...this is used for Unicode support and |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
79 |
locating user-specific directories, etc. |
283 | 80 |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
81 |
PhysicsFS has not been tested on 64-bit Windows, but probably works. There is |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
82 |
no 16-bit Windows support at all. Reports of success and problems can go to |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
83 |
Ryan at icculus@icculus.org ... |
208
d176cef27a77
Updated win32 build info, other tweaks.
Ryan C. Gordon <icculus@icculus.org>
parents:
205
diff
changeset
|
84 |
|
91 | 85 |
If someone is willing to maintain prebuilt PhysicsFS DLLs, I'd like to hear |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
86 |
from you; send an email to icculus@icculus.org ... |
91 | 87 |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
88 |
|
283 | 89 |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
90 |
PocketPC/WindowsCE: |
187 | 91 |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
92 |
Code exists for PocketPC support, and there are shipping titles that used |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
93 |
PhysicsFS 1.0 on PocketPC...but it isn't tested in 2.0, and is probably |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
94 |
broken with the new build system. Please send patches. |
187 | 95 |
|
96 |
||
283 | 97 |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
98 |
MAC OS 8/9: |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
99 |
|
825
b26da6cdcebb
Dropped classic Mac OS support. Mac OS X remains supported, though.
Ryan C. Gordon <icculus@icculus.org>
parents:
820
diff
changeset
|
100 |
Classic Mac OS support has been dropped in PhysicsFS 2.0. Apple hasn't updated |
957
039f79f1ad0a
Updated install instructions.
Ryan C. Gordon <icculus@icculus.org>
parents:
888
diff
changeset
|
101 |
pre-OSX versions in more than a decade at this point, none of the hardware |
825
b26da6cdcebb
Dropped classic Mac OS support. Mac OS X remains supported, though.
Ryan C. Gordon <icculus@icculus.org>
parents:
820
diff
changeset
|
102 |
they've shipped will boot it for almost as many years, and finding |
b26da6cdcebb
Dropped classic Mac OS support. Mac OS X remains supported, though.
Ryan C. Gordon <icculus@icculus.org>
parents:
820
diff
changeset
|
103 |
developer tools for it is becoming almost impossible. As the switch to Intel |
b26da6cdcebb
Dropped classic Mac OS support. Mac OS X remains supported, though.
Ryan C. Gordon <icculus@icculus.org>
parents:
820
diff
changeset
|
104 |
hardware has removed the "Classic" emulation environment, it was time to |
b26da6cdcebb
Dropped classic Mac OS support. Mac OS X remains supported, though.
Ryan C. Gordon <icculus@icculus.org>
parents:
820
diff
changeset
|
105 |
remove support from PhysicsFS. That being said, the PhysicsFS 1.0 branch can |
b26da6cdcebb
Dropped classic Mac OS support. Mac OS X remains supported, though.
Ryan C. Gordon <icculus@icculus.org>
parents:
820
diff
changeset
|
106 |
still target back to Mac OS 8.5, so you can use that if you need support for |
b26da6cdcebb
Dropped classic Mac OS support. Mac OS X remains supported, though.
Ryan C. Gordon <icculus@icculus.org>
parents:
820
diff
changeset
|
107 |
this legacy OS. We still very much support Mac OS X, though: see below. |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
108 |
|
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
109 |
|
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
110 |
|
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
111 |
MAC OS X: |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
112 |
|
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
113 |
You will need CMake (http://www.cmake.org/) 2.4 or later installed. |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
114 |
|
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
115 |
You can either generate a Unix makefile with CMake, or generate an Xcode |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
116 |
project, whichever makes you more comfortable. |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
117 |
|
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
118 |
PowerPC and Intel Macs should both be supported. |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
119 |
|
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
120 |
If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
121 |
Mac OS X, I'd like to hear from you; send an email to icculus@icculus.org. |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
122 |
|
283 | 123 |
|
124 |
||
488 | 125 |
OS/2: |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
126 |
|
820 | 127 |
You need Innotek GCC and libc installed (or kLIBC). I tried this on a stock |
128 |
Warp 4 install, no fixpaks. You need to install link386.exe (Selective |
|
888 | 129 |
Install, "link object modules" option). Once klibc and GCC are installed |
820 | 130 |
correctly, unpack the source to PhysicsFS and run the script |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
131 |
file "makeos2.cmd". I know this isn't ideal, but I wanted to have this build |
888 | 132 |
without users having to hunt down a "make" program. |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
133 |
|
888 | 134 |
Someone please port CMake to OS/2. Ideally I'd like to be able to target |
135 |
Innotek GCC and OpenWatcom with CMake. |
|
488 | 136 |
|
137 |
If someone is willing to maintain prebuilt PhysicsFS Shared Libraries for |
|
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
138 |
OS/2, I'd like to hear from you; send an email to icculus@icculus.org. |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
139 |
|
488 | 140 |
|
283 | 141 |
|
187 | 142 |
OTHER PLATFORMS: |
812
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
143 |
|
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
144 |
Many Unix-like platforms might "just work" with CMake. Some of these platforms |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
145 |
are known to have worked at one time, but have not been heavily tested, if |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
146 |
tested at all. PhysicsFS is, as far as we know, 64-bit and byteorder clean, |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
147 |
and is known to compile on several compilers across many platforms. To |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
148 |
implement a new platform or archiver, please read the heavily-commented |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
149 |
physfs_internal.h and look in the platform/ and archiver/ directories for |
b987fcf6f707
Updated INSTALL.txt with updated info.
Ryan C. Gordon <icculus@icculus.org>
parents:
811
diff
changeset
|
150 |
examples. |
187 | 151 |
|
767
db29bf06d171
Changed my email address.
Ryan C. Gordon <icculus@icculus.org>
parents:
680
diff
changeset
|
152 |
--ryan. (icculus@icculus.org) |
54 | 153 |