Building the software for multiple operating systems.

I would like to compile/build my software in Windows, linux, and MAC, in x86, and in amd64 architecture prefereably in same machine. Some layers of the software are common across all 3 operating systems, but drivers are separate for each o.s. The Idea is not to break the common code for other o.s es if the change is required for one o.s es.
Ideally a single script trigger can build the code for multiple operating systems is preferable.
Is there any software available that can facilitate the compilation acorss multiple operating systems???. Any virtualization technology already available?.
If you have previous experience, please guide me.

P.S I know my question it is not speicific to Windows. Sorry.

You might want to take a look at cmake (http://www.cmake.org/). It’s a
multiplatform build system that will handle the os’s you wish. In a
nutshell, from one common configuration file, it generates a native build
system for each target os. In the case of Windows, for example, you can
generate NMake makefiles, Visual Studio solutions and other forms. One of
the nicest features of it, I think, is that it can generate VS solution
files for VS 6+, something that VS itself can quite seem to do.

It also has autoconf/automake/configure features, only they don’t feature a
deep seasoning of masochism (IMO), and they also actually work on something
that isn’t UNIX-ish.

That being said, it won’t natively handle WDK BUILD, though support for that
can be added (I’ve done that).

You could do this on one physical machine with virtualization. Getting to
work to build for multiple os’s with one target would require something
else, possibly of your own creation.

Good luck,

mm

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@gmail.com
Sent: Monday, August 15, 2011 6:11 PM
To: Windows System Software Devs Interest List
Subject: [ntdev] Building the software for multiple operating systems.

I would like to compile/build my software in Windows, linux, and MAC, in
x86, and in amd64 architecture prefereably in same machine. Some layers of
the software are common across all 3 operating systems, but drivers are
separate for each o.s. The Idea is not to break the common code for other
o.s es if the change is required for one o.s es.
Ideally a single script trigger can build the code for multiple operating
systems is preferable.
Is there any software available that can facilitate the compilation acorss
multiple operating systems???. Any virtualization technology already
available?.
If you have previous experience, please guide me.

P.S I know my question it is not speicific to Windows. Sorry.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

>

I would like to compile/build my software in Windows, linux, and MAC,
in x86,
and in amd64 architecture prefereably in same machine. Some layers of
the
software are common across all 3 operating systems, but drivers are
separate
for each o.s. The Idea is not to break the common code for other o.s
es if the
change is required for one o.s es.
Ideally a single script trigger can build the code for multiple
operating
systems is preferable.
Is there any software available that can facilitate the compilation
acorss
multiple operating systems???. Any virtualization technology already
available?.
If you have previous experience, please guide me.

P.S I know my question it is not speicific to Windows. Sorry.

Go to sourceforge.net and browse the source of the thousands of software
projects that support windows, linux, etc.

James

> I would like to compile/build my software in Windows, linux, and MAC, in x86, and in amd64

architecture prefereably in same machine.

Well, to begin with, in order to build a binary that is meant to run of the OS A you need the appropriate libraries that may be missing on a system that run OS B with totally different API. Therefore, start with obtaining a set of libraries for all your target platforms and installing them on your development machine

Some layers of the software are common across all 3 operating systems, but drivers are separate
for each o.s.

Are you speaking about UM or KM development, in the first place???

In the latter case you need totally different drivers that, even at the source level, bear very little resemblance to one another - although the details of dealing with the particular piece of hardware are the same, the ways this hardware is interfaced to the rest of the system are totally different under different OSes…

Anton Bassov