How do YOU develop cross-platform?

SDL is marvelously cross-platform, but how do SDL-users out their tie it
all together when doing x-platform development? I can really only think of
one way of doing it: cygwin-autoconf-automake-gnu-blah-blah-blah, and I
really loathe autoconf & automake, so I’m looking for alternatives.

David Morse wrote:

SDL is marvelously cross-platform, but how do SDL-users out their tie it
all together when doing x-platform development? I can really only think
of one way of doing it: cygwin-autoconf-automake-gnu-blah-blah-blah, and
I really loathe autoconf & automake, so I’m looking for alternatives.

scons is really good for cross platform stuff. Ive used it on windows
and linux, but its written in python so will run anywhere

Tom

SDL is marvelously cross-platform, but how do SDL-users out their tie
it all together when doing x-platform development?? I can really only
think of one way of doing it:
cygwin-autoconf-automake-gnu-blah-blah-blah, and I really loathe
autoconf & automake, so I’m looking for alternatives.

For ScummVM (http://www.scummvm.org), we use a hand written Makefile
and configure script. Drawback is that we require GNU make, but that’s
no issue on all systems we support. Oh yes, in addition we also have
Visual C++ project files (for various versions). Also, for PalmOS and
Dreamcast, we have custom build systems. And if we still were
supporting MacOS 9, we’d also have a custom project file for that.
There is just no practical way for us to use a Makefile on all those
systems. OTOH, we need nothing fancy from our build system besides
simply compiling stuff…

The hand written Makefile is very nice, and gives much faster turn
around times (esp. when little to nothing has to be rebuilt) compare to
automake. Granted, we loose some flexibility, but overall this works
very nicely for us.

For pentagram (http://pentagram.sf.net; not yet much to see in public,
look at the CVS), we also use a similar hand written Makefile, however,
coupled with autoconf.

Cheers,

MaxAm 17.03.2004 um 00:30 schrieb David Morse:

I’ve been using scons (http://www.scons.org) now for a while. I like it a
whole lot more than autoconf/automake. I’m using it to build on WIN32 and
Linux. The cool thing is that on WIN32, scons uses the VC++ compiler!

Here’s an article that got me started on the road to abadonning autoconf
and starting to use scons:

http://freshmeat.net/articles/view/889/

Sorry for the OT post.

nathanOn Tue, 16 Mar 2004, David Morse wrote:

SDL is marvelously cross-platform, but how do SDL-users out their tie it
all together when doing x-platform development? I can really only think
of one way of doing it: cygwin-autoconf-automake-gnu-blah-blah-blah, and
I really loathe autoconf & automake, so I’m looking for alternatives.

_______________________________________________ SDL mailing list
SDL at libsdl.org http://www.libsdl.org/mailman/listinfo/sdl

David Morse wrote:

SDL is marvelously cross-platform, but how do SDL-users out their tie it all
together when doing x-platform development? I can really only think of one way
of doing it: cygwin-autoconf-automake-gnu-blah-blah-blah, and I really loathe
autoconf & automake, so I’m looking for alternatives.

You can have the same sources and different makefiles for different
platforms. For example, my game Njam runs on Windows, Linux, BSDs,
MacOSX and more. All sources are the same, only makefiles are different.
I even compile Windows version with Borland’s free C++ compiler, and
Linux version with gcc. I wrote Makefiles by hand, no autoconf stuff,
but it simply works.

And always use forward slash as separator for directories :slight_smile:

I’m interested: have you tried to do something already? If you have,
what problems did you run into?–
Milan Babuskov
http://njam.sourceforge.net

Milan Babuskov wrote:

I’m interested: have you tried to do something already? If you have,
what problems did you run into?

I’ve tried cross platform building two times. The first time I used
cygwin/bash/gnu-make with hand-written makefiles and didn’t really have
an autoconf equivalent. That worked OK. The second time I tried
autoconf/automake, even read the book cover-to-cover, yet never could
really grasp what the **** it was doing or even trying to do. There
comes a point when I was like “why, oh why, do I have to learn three new
languages just to compile my files?”… at that point I went back to the
naked makefile approach with hand-written autoconf-like scripts that did
things like figure out endianness.

David Morse wrote:

SDL is marvelously cross-platform, but how do SDL-users out their tie
it all together when doing x-platform development? I can really only
think of one way of doing it:
cygwin-autoconf-automake-gnu-blah-blah-blah, and I really loathe
autoconf & automake, so I’m looking for alternatives.

Try scons - www.scons.org
It’s really not famous enough considering how good it is.

Sebastian

David Morse wrote:

SDL is marvelously cross-platform, but how do SDL-users out their tie
it all together when doing x-platform development? I can really only
think of one way of doing it:
cygwin-autoconf-automake-gnu-blah-blah-blah, and I really loathe
autoconf & automake, so I’m looking for alternatives.

_______________________________________________ SDL mailing list
SDL at libsdl.org http://www.libsdl.org/mailman/listinfo/sdl

No one mentioned it yet, so I’ll talk about mingw as a cross compiler.
I usually work under linux with autoconf/automake, and mingw configured
as a cross compiler (along with native gcc of course).

Sam has made a doc for us explaining how to setup a working cross
compiling environment :
http://www.libsdl.org/extras/win32/cross/README.txt

It works fine here. The big advantage IMO is you can build packages for
windows and linux & upload them to your website with a single script.
(so that you can type “release_time” in a shell and just go away :slight_smile:

The only drawback I see is you can’t use unix-ish functions (as mingw
doesn’t have them all) but I don’t want to use them anyway for
portability reasons.

Stephane

David Morse wrote:

SDL is marvelously cross-platform, but how do SDL-users out their tie
it all together when doing x-platform development? I can really only
think of one way of doing it:
cygwin-autoconf-automake-gnu-blah-blah-blah, and I really loathe
autoconf & automake, so I’m looking for alternatives.

I use the Boost build system (http://boost.org), which is based on an
extension to Perforce Jam (http://www.perforce.com/jam/jam.html). It
automatically checks header dependencies and the actual Jamfiles generally
contain no compiler-specific information. Compiling with a different
compiler is as simple as specifying another compiler on the command line.
On the minus side, it’s poorly documented, highly complex, and not really
intended for general usage.–
Rainer Deyke - rainerd at eldwood.com - http://eldwood.com