Skip to content

Latest commit

 

History

History
173 lines (113 loc) · 6.72 KB

INSTALL.txt

File metadata and controls

173 lines (113 loc) · 6.72 KB
 
May 10, 2002
May 10, 2002
1
Jun 11, 2002
Jun 11, 2002
2
The latest PhysicsFS information and releases can be found at:
Jun 20, 2017
Jun 20, 2017
3
https://icculus.org/physfs/
May 10, 2002
May 10, 2002
4
Apr 24, 2002
Apr 24, 2002
5
Building is (ahem) very easy.
Jul 28, 2001
Jul 28, 2001
6
Aug 23, 2001
Aug 23, 2001
7
8
ALL PLATFORMS:
Sep 2, 2001
Sep 2, 2001
9
Jul 12, 2017
Jul 12, 2017
10
11
Please read the text file LICENSE.txt in the root of the source tree.
The license is extremely liberal, even to closed-source, commercial
Mar 11, 2007
Mar 11, 2007
12
applications.
Aug 23, 2001
Aug 23, 2001
13
Jun 11, 2002
Jun 11, 2002
14
15
If you've got Doxygen (http://www.doxygen.org/) installed, you can run it
without any command line arguments in the root of the source tree to generate
Mar 11, 2007
Mar 11, 2007
16
17
18
the API reference (or build the "docs" target from your build system). This
is optional. You can browse the API docs online here:
Jun 20, 2017
Jun 20, 2017
19
https://icculus.org/physfs/docs/
Mar 11, 2007
Mar 11, 2007
20
Jun 11, 2002
Jun 11, 2002
21
Aug 23, 2001
Aug 23, 2001
22
Jul 22, 2017
Jul 22, 2017
23
24
25
26
27
28
BUILD IT WITH YOUR OWN PROGRAM:
If you don't care about formal packaging: just add everything in the "src"
directory to whatever you use to build your program and compile it along with
everything else, and you're done. It should compile with any reasonable
ANSI C compiler, should build cleanly even with excessive compiler warnings
Jul 24, 2017
Jul 24, 2017
29
30
31
enabled, needs no extra configuration, and allows static linking.
WinRT and Haiku need C++ compilers for their system APIs, but if you aren't on
these platforms and don't have a C++ compiler, don't build the .cpp files.
Aug 8, 2017
Aug 8, 2017
32
33
34
Likewise: Apple platforms (macOS, iOS, etc) need an Objective-C compiler, but
if you aren't on these platforms and don't have a Objective-C compiler, don't
build the .m file. Everything you need is in the .c sources.
Jul 24, 2017
Jul 24, 2017
35
36
If this all worked for your specific project, you can stop reading now.
Jul 22, 2017
Jul 22, 2017
37
38
39
Aug 30, 2002
Aug 30, 2002
40
UNIX:
Jul 28, 2001
Jul 28, 2001
41
Jun 20, 2017
Jun 20, 2017
42
You will need CMake (https://www.cmake.org/) 2.4 or later installed.
Mar 11, 2007
Mar 11, 2007
43
Mar 23, 2009
Mar 23, 2009
44
45
46
47
48
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
Jul 12, 2017
Jul 12, 2017
49
or Ninja project files or whatever, if you prefer these.
Mar 11, 2007
Mar 11, 2007
50
51
Run "make". PhysicsFS will now build.
Jul 28, 2001
Jul 28, 2001
52
May 24, 2002
May 24, 2002
53
As root, run "make install".
Jul 12, 2017
Jul 12, 2017
54
If you get sick of the library, run "make uninstall" as root
Mar 11, 2007
Mar 11, 2007
55
and it will remove all traces of the library from the system paths.
Jul 28, 2001
Jul 28, 2001
56
Mar 23, 2009
Mar 23, 2009
57
58
Once you are satisfied, you can delete the build directory.
Aug 30, 2002
Aug 30, 2002
59
Primary Unix development is done with GNU/Linux, but PhysicsFS is known to
Mar 11, 2007
Mar 11, 2007
60
61
62
work out of the box with several flavors of Unix. It it doesn't work, patches
to get it running can be sent to icculus@icculus.org.
Jun 11, 2002
Jun 11, 2002
63
Mar 11, 2007
Mar 11, 2007
64
Windows:
Aug 23, 2001
Aug 23, 2001
65
Mar 23, 2009
Mar 23, 2009
66
If building with Cygwin, mingw32, MSYS, or something else that uses the GNU
Mar 11, 2007
Mar 11, 2007
67
toolchain, follow the Unix instructions, above.
Jun 11, 2002
Jun 11, 2002
68
Mar 11, 2007
Mar 11, 2007
69
If you want to use Visual Studio, nmake, or the Platform SDK, you will need
Jun 20, 2017
Jun 20, 2017
70
CMake (https://www.cmake.org/) 2.4 or later installed. Point CMake at the
Apr 3, 2007
Apr 3, 2007
71
72
73
74
75
76
77
78
79
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.
Jun 11, 2002
Jun 11, 2002
80
Mar 11, 2007
Mar 11, 2007
81
PhysicsFS will only link directly against system libraries that have existed
Jul 12, 2017
Jul 12, 2017
82
83
since 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
Jul 24, 2017
Jul 24, 2017
84
we can't find it. Note that Windows 98 and later _should_
Jul 12, 2017
Jul 12, 2017
85
86
work if you use the Microsoft Layer for Unicode (UNICOWS.DLL) to provide
some missing system APIs, but this is no longer tested as of PhysicsFS 2.1.0.
Jul 22, 2017
Jul 22, 2017
87
PhysicsFS 2.0.x is known to work with Windows 95 without UNICOWS.DLL.
Aug 9, 2003
Aug 9, 2003
88
Jan 16, 2014
Jan 16, 2014
89
PhysicsFS works on 32-bit and 64-bit Windows. There is no 16-bit Windows
Jul 24, 2017
Jul 24, 2017
90
support at all. Windows RT is covered below.
Jul 22, 2017
Jul 22, 2017
91
92
93
94
Windows RT:
Jul 24, 2017
Jul 24, 2017
95
96
97
98
99
100
101
102
103
104
Windows RT (Windows Phone, Windows Store, UWP) 8.0 and later are supported.
Make sure you include both physfs_platform_windows.c _and_
physfs_platform_winrt.cpp in your build, and that the C++ file has
"Consume Windows Runtime Extension" set to "Yes" in its Visual Studio
properties (from the command line, you want to compile this file with the
"/ZW" compiler switch). CMake can, in theory, generate a project file for
WinRT if you pick a recent Visual Studio target, choose manual cross-compile
options, and set the system name to "WindowsPhone" or "WindowsStore" and the
correct OS version (8.0 or later).
Jun 11, 2002
Jun 11, 2002
105
Mar 11, 2007
Mar 11, 2007
106
107
PocketPC/WindowsCE:
Mar 9, 2012
Mar 9, 2012
108
Support for PocketPC was removed in PhysicsFS 2.1.0. This was known to work
Jul 22, 2017
Jul 22, 2017
109
110
in the 1.0 releases, but wasn't tested in 2.0 and later. PhysicsFS should
work on modern Windows Phones (see "Windows RT" section).
Mar 11, 2007
Mar 11, 2007
111
112
Jul 12, 2017
Jul 12, 2017
113
114
115
116
117
118
119
120
121
122
123
macOS:
You will need CMake (https://www.cmake.org/) 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.
MAC OS 8/9 ("Mac OS Classic"):
Sep 2, 2001
Sep 2, 2001
124
Mar 14, 2007
Mar 14, 2007
125
Classic Mac OS support has been dropped in PhysicsFS 2.0. Apple hasn't updated
Mar 23, 2009
Mar 23, 2009
126
pre-OSX versions in more than a decade at this point, none of the hardware
Mar 14, 2007
Mar 14, 2007
127
128
129
130
131
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
Jul 22, 2017
Jul 22, 2017
132
133
134
135
this legacy OS. We still very much support modern macOS, though: see above.
Emscripten:
Mar 11, 2007
Mar 11, 2007
136
Jul 22, 2017
Jul 22, 2017
137
138
Use the "Unix" instructions, above. You can install the Emscripten SDK and use
the extras/buildbot-emscripten.sh script to automate this for you.
Apr 6, 2002
Apr 6, 2002
139
140
Jul 12, 2017
Jul 12, 2017
141
BeOS, Zeta, YellowTab:
Jun 11, 2002
Jun 11, 2002
142
Jul 12, 2017
Jul 12, 2017
143
144
BeOS support was dropped in PhysicsFS 2.1.0. Consider installing Haiku, which
we still support.
Jun 11, 2002
Jun 11, 2002
145
146
Jul 12, 2017
Jul 12, 2017
147
Haiku:
Mar 11, 2007
Mar 11, 2007
148
Jul 22, 2017
Jul 22, 2017
149
Use the "Unix" instructions, above.
Jun 11, 2002
Jun 11, 2002
150
151
Aug 30, 2002
Aug 30, 2002
152
OS/2:
Mar 11, 2007
Mar 11, 2007
153
Jul 12, 2017
Jul 12, 2017
154
155
156
157
158
159
OS/2 is known to work with OpenWatcom and GCC-based compilers. I couldn't get
an OS/2 port of CMake to generate OpenWatcom project files (although it should
be able to do that in theory), it should be able to do Unix Makefiles with
GCC. It might be easier to just compile PhysicsFS along with the rest of
your project on this platform.
Aug 30, 2002
Aug 30, 2002
160
Jun 11, 2002
Jun 11, 2002
161
Apr 6, 2002
Apr 6, 2002
162
OTHER PLATFORMS:
Mar 11, 2007
Mar 11, 2007
163
164
165
166
167
168
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
Jul 22, 2017
Jul 22, 2017
169
170
physfs_internal.h and look at the physfs_platform_* and physfs_archiver_*
source files for examples.
Apr 6, 2002
Apr 6, 2002
171
Jan 1, 2006
Jan 1, 2006
172
--ryan. (icculus@icculus.org)