|
From: James H. <ja...@is...> - 2003-08-15 11:54:41
|
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 |