[physfs] Working towards 3.0...
Ryan C. Gordon
icculus at icculus.org
Sun Jul 9 15:54:44 EDT 2017
I'm working on PhysicsFS as part of this month's Patreon work...
https://patreon.com/icculus
...with the goal of getting this to a 3.0 release. This is a cross-post
from Patreon, so all relevant parties see it.
Expect there to be a bunch of commits in a fairly short time.
Here's where I am so far:
- The 2.1 API (which will lock down to a 3.0 release) is almost ready.
There are new functions, but generally you can take a program written
for PhysicsFS 1.0 and safely compile it against 3.0 and it'll still do
the right thing. You only need to use newer APIs if you want better
functionality, but generally the 1.0 and 2.0 APIs are still not even
deprecated. Bug fixes are still made to the stable-2.0 branch
(stable-1.0 is probably done now), but since it's generally safe to
update to the 3.0 library, you probably should, even if you don't
specifically use 3.0 APIs, since things tend to improve behind the
scenes beyond simple bug fixes.
- I've restored OS/2 support. I know, eye-roll, I know, but...ArcaOS 5.0
was released, making this no-longer a "dead" OS, most of the code was
written already in revision control anyway and I've always had a special
place in my heart for OS/2, to be honest. I don't expect this to be a
massive userbase or anything, but having a few OSes that aren't so Unixy
helps clean assumptions out of the library, which makes it worthwhile in
any case, so I cleaned it up and added Unicode support. This work is
ready to go now and is pushed to Mercurial.
- We have a buildbot! We now automatically build every commit to
revision control across 16 targets in about 60 seconds, so I can see if
I broke the build right away. As the waterfall is a sea of red failure
notices across the board right now, this was apparently a necessary tool
to have spent the time on.
You can see the waterfall of builds here:
https://physfs-buildbot.icculus.org/waterfall
The current builds are:
* Linux/amd64
* Linux/x86
* Visual Studio 2010 (x86-32 and x86-64)
* MingW64 (x86-32 and x86-64)
* Cygwin
* Emscripten
* macOS
* Raspberry Pi
* FreeBSD (with GCC and Clang)
* Haiku (the modern BeOS)
* Debian/kFreeBSD
* OpenBSD
* OS/2
These targets will change over time; it's probably already time to drop
FreeBSD/gcc, for example, and there are others to get in there still
like iOS, Android, WinRT.
- Symlinks work as expected on Windows again (did you know NTFS supports
symlinks?! Win32 has a API for this since Windows Vista. PhysicsFS uses
it now. The library should still work back to WinNT 3.x, though, and if
you are willing to use UNICOWS.DLL, it'll probably work on the original
retail build of Windows 95...just no symlinks on those platforms.)
There's more to be done, but I think this will be ready this month if
everything works out. If you have a patch or bug report pending that
I've forgotten about (because I do that all the time), please let me know!
Thanks,
--ryan.
More information about the physfs
mailing list