I have recently been porting some of my GNU Prolog code to both SWI Prolog and SICStus Prolog.
Here is a simple attempt at synthesizing some of what I learnt from that experience, especially as far as building executables is concerned.