Hi everyone. I've just finished version 0.01 of a linux devpack. It
weighs in at a slender 2.2K, however I had to make 15K's worth of
patches to get things to compile :-) It's up at
http://james.is.never.wrong.nu/xenocide/ - installation notes are at the
bottom of this mail.
Just off the top of my head, here are some things that I changed:
Unix #define symbol. Traditionally, it's unix, or _unix, or __unix -
_USE_POSIX means something else. I've opted for "unix", because I think
it looks cute.
Changed stuff like "thirdparty/opengl/gl.h" to <GL/gl.h>
Removed all the uses of the Index type. I think that comparing different
types is going to *really* trip us up in the future, even if they happen
to be the same size right now.
Made a common/posix/common.cpp and added itoa() to it. (Yes, unix
traditionally doesn't have itoa().)
Fixed a couple of friend declarations that were just completely wrong. I
have no idea how they ever got into the repository unless the Borland
compiler is really lax :-/
Here are some things that I haven't done:
Made an alternative to xenoengine/kernel/win32.
Got any of the xenoengine examples to build. (The utility ones build
fine.)
I think both of these are OK as we're now pretty much using the same
shared codebase. With respect to xenoengine/kernel/<platform>, I was
wondering if I should implement xenoengine/kernel/sdl rather than
xenoengine/kernel/linux. That way someone could test the windows version
of that and the windows version could be quietly dropped when the sdl
version was mature enough.
You need (at the very least) autoconf and automake to make this work. I
used version 1.7 of automake and 2.53 ( I think ) of autoconf.
How to install - grab the latest version from cvs into the directory
xenocide. Put both the zipfiles there, and unpack them both. Run `patch
-p1 < ./linux-compile.patch` - this will patch your source tree so that
it can compile under linux. Then go into working, and run `sh import.sh
../` - this will set up a directory structure that's much more
unix-friendly. Then run `aclocal && autoconf && automake` - you'll get a
bunch of errors about files missing. All the ones in uppercase you can
just create (`touch NEWS`, for example), all the ones in lowercase you
should copy out of your auto{conf,make} data directory - usually
/usr/share/automake-VERSION/. Try `aclocal && autoconf && automake`, fix
until it doesn't whinge. Then do ./configure && make - hopefully you
should build most of the source tree. Hoorah!
If you do try this, please, please, PLEASE email me and tell me if you
got it to work and what distribution/version you're using, and
especially if you didn't get it to work so I can fix it for you. After
I've had a few hours of feedback I'll put a post up on the forums, until
then I'd prefer to keep it semi-quiet so that I don't get 2000 identical
bug reports at the same time. :-)
Now I can get to work on the model loading :-)
james.
P.S. I don't know if this still applies, but is there any chance of
someone making me a member of this mailinglist? I joined, but I think I
need to be added by a moderator.
--
When a true genius appears in the world, you may know him by this sign, that the dunces are all in confederacy against him. - Jonathan Swift
|