OABuild is a simplistic suite that provides Windows developers with an easy and relatively fast way to build a selection of cool F/OSS projects in a familiar environment using only native compilers.

What is included

OABuild v1 (obsolete/unmaintained)

OABuild v2 (work in progress)

This list will most likely grow in the future. Contributions are very welcome.

Pre-requisities

Important

Make sure you put the BaseClasses include directory first (at the top), followed by the DirectX SDK and finally the Windows SDK.

Getting started

Start a Command Prompt as Administrator and change to a suitable location, for example c:\. Then do:

OABuild v2

md OABuild
cd OABuild
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/build
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/libintl-proxy
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/glib
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/ffmpeg
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/zlib
md gstreamer
cd gstreamer
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/gst-builddeps builddeps
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/gstreamer
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/gst-plugins-base
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/gst-plugins-good
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/gst-plugins-bad
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/gst-ffmpeg
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/gst-plugins-farsight
cd ..
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/farsight2
md gtk+
cd gtk+
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/pixman
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/cairo
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/atk
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/pango
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/gtk+
cd ..
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/clutter
bzr branch http://bazaar.launchpad.net/~oleavr/oabuild/sofia-sip

Open the appropriate solution files (.sln) in the build subdirectory and build them one by one. Previously there was only one huge solution, but this monolithic approach was abandoned for two reasons:

The output ends up in build/windows/{Debug,Release,ReleaseWdkCrt} and will be similar to the UNIX layout.

Note that binaries built by the Debug and Release configurations depend on msvcr90[d].dll, whilst those built by ReleaseWdkCrt depend on msvcrt.dll. The latter does however require the Windows Driver Kit. There's some background info on how this is achieved here.

OABuild v1 (obsolete/unmaintained)

bzr branch http://projects.collabora.co.uk/~oleavr/branches/OABuild/
cd OABuild
bootstrap

If all went well you should now be able to open oabuild.sln, go Build Solution and wait a few minutes.

The output ends up in the Debug subdirectory for debug builds and Release for release builds. The output will be similar to the UNIX layout, header-files in include, .lib files for linking in lib, and executables, runtime libraries and .NET assemblies in bin.