Tag: programming
Java Concurrency in Practice
by plouj on Aug.05, 2010, under concurrency, Java, programming
Since I’m doing quite a bit of Java programming lately I’ve become curious about the state of writing concurrent code in it. I was fortunate enough to have a colleague let me borrow the following book:
Having gone through more than half of it already I’m rather surprised as to just how many different tools are available for solving concurrent problems and just how many are a instantly available to Java programmers. Unfortunately, and unsurprisingly, none of these tools in and of themselves are adequate enough for avoiding deadlocks and writing composable deadlock free code. My next step in the search for that silver bullet is to try writing something interesting in Clojure or Haskell using STM.
HOWTO build DXX-Rebirth for Windows with MSYS/MinGW
by plouj on Mar.07, 2009, under games, HOWTO
Introduction
In this post I’ll document the steps I had to take to build DXX-Rebirth (a modernized Descent game engine) for Windows using MSYS and MinGW.
MinGW, MSYS
FromĀ Pantokrator’s blog:
- install MinGW
- choose a lowercase install path: c:\mingw
- choose to download and install current version
- enable g++ (for physfs)
- install MSYS
- install msysDTK
SDL and SDL_mixer
Also fromĀ Pantokrator’s blog:
- download the SDL source
- in the MSYS shell, compile it with
./configure --prefix=/mingw && make && make install
- download the SDL_mixer source and in a MSYS shell, build it with the same command:
./configure --prefix=/mingw && make && make install
PhysicsFS
- Download the physfs 1.1.0 source.
- Compile with the same command again:
./configure --prefix=/mingw && make && make install
SCons and Python
From Globulation2 MinGW instructions:
- install Python 2.6
- install SCons
- add:
PATH=$PATH:/c/Python26:/c/Python26/Scripts
- to the end of /etc/profile in MSYS so that SCons can run from the MSYS shell.
Subversion
- install TortoiseSVN
DXX-Rebirth
- checkout DXX-Rebirth from https://dxx-rebirth.svn.sourceforge.net/svnroot/dxx-rebirth
- change the SConstruct script to call sdl-config as ‘sh sdl-config ‘:
...
Flags and stuff for all platforms...
env.ParseConfig('sh sdl-config --cflags')
env.ParseConfig('sh sdl-config --libs')
env.Append(CPPFLAGS = ['-Wall', '-funsigned-char'])
...
- finally, in the MSYS shell, built with:
scons sdlmixer=1
Final Remarks
I had trouble with the latest version of PhysicsFS (1.1.1) because it uses cmake. For some reason it failing to find some prerequisites in MSYS. I also had trouble with version 1.0.1 of PhysicsFS (this is the version the official d1x-rebirth_v0.55.1-win.zip is built with) because the built failed with the following error:
warning: cannot find entry symbol _DllMainCRTStartup@12; defaulting to 00401000 ... undefined reference to WinMain@16
If you notice any problems or mistakes in this post, please mention them in the comments.

