I can't wait for this. Also, I can create 32-bit and 64-bit builds because my version of GCC is multilib(all I have to do is pass -m32 or -m64 to the configure/make command). Most binaries actually do run cross distro, as long as you make sure to link to the right binaries that aren't distro-specific patched or anything. For instance, I've got a few Ubuntu binaries to run flawlessly in ArchLinux. I can make a few "generic" binaries and we can test them, if you would like.
Lastly, when the build instructions are up, I'll be sure to make a package in the AUR for this program (Arch User Repository, basically allows everyone using arch to install this extremely easily)
Well, there are some issues with all this.
* The build system is the one used in code:blocks. This means it needs to be compiled undex X. It needs to be fixed by using a different one like cmake. I recently started to use KDevelop4, so this won't take so long. Using one IDE for coding and second one for compiling/debugging gets old very quickly
There's the slight overhead of maintaining the Windows code:blocks project file, but that will remain there no matter what - Impaler uses it and I don't want to interfere with that in any way.
* It's linked to the OpenGL library - preventing static linking and probably causing some problems. I need a mechanism to load the library and query it for functions on khazad startup. (ld/LoadLibrary)
* Finally, it doesn't have support for the usual unix layout with things placed all over the filesystem. No idea how AUR would handle that with tools like yaourt.
All solvable, but requires some attention and time
Obviously, an automated solution (cpack?) that packages everything for all the supported systems and uploads the packages somewhere would be ideal. Cross-compiling with mingw would be fine too I think - it's used on Windows anyway.
Now the build instruction:
Open up Projects/Linux/CodeBlocks/Khazad.cbp in Code:Blocks, tweak some settings in the GUI and hit build. That's what I do.
Code can be checked out from sourceforge:
svn co https://khazad.svn.sourceforge.net/svnroot/khazad/Khazad/trunk khazad
All added to the already miles long TODO list.