Recent Posts

Tags

News

  • A blog about Microsoft Windows development, focused on kernel-mode driver development, the Windows DDK, WDK, and related tools.

    To elaborate on the copyright notice at the bottom: all content produced by me on this site is copyright and licensed as follows:

    <!-- Creative Commons License --> Creative Commons License
    This work is licensed under a Creative Commons License. <!-- /Creative Commons License --> <!-- <rdf:RDF xmlns="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <Work rdf:about=""> <dc:type rdf:resource="http://purl.org/dc/dcmitype/Text" /> <license rdf:resource="http://creativecommons.org/licenses/by-nc/2.0/" /> </Work> <License rdf:about="http://creativecommons.org/licenses/by-nc/2.0/"> <permits rdf:resource="http://web.resource.org/cc/Reproduction" /> <permits rdf:resource="http://web.resource.org/cc/Distribution" /> <requires rdf:resource="http://web.resource.org/cc/Notice" /> <requires rdf:resource="http://web.resource.org/cc/Attribution" /> <prohibits rdf:resource="http://web.resource.org/cc/CommercialUse" /> <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" /> </License> </rdf:RDF> -->

    Although I work for Positive Networks, this work is my own and is not connected with my employer in any way.

    <!-- technorati again --> <script type="text/javascript" src="http://embed.technorati.com/embed/8xz8dihr.js"> </script>

Community

Email Notifications

Other Blogs

General

Technical Resources

About Me

Archives

Kernel Mustard

Reflections on Windows System Programming
Steve Dispensa, MVP - Windows DDK

Building with BUILD

At Positive Networks, where I work, we have a complicated set of products to build. We keep hiring new people, and training people on our build system is a pain. When I tell new developers that.. yeah.. we're using.. Visual Studio 6 - they all respond with the same look of surprise, followed by the obligatory "Will that work OK alongside my real compiler?". Throw in the fact that we support a bunch of drivers for both WinNT+ and Win98+, and that much of our code builds on both Linux and Windows (with Mac support coming), and you have a mess.

I've long since switched to using BUILD.EXE, from the DDK, for my own personal projects. It took a little hunting around in the DDK samples and a pretty detailed reading of the BUILD.EXE documentation, but I've managed to figure out how to get all of my little side projects building easily.

The benefits to moving to the DDK for building are significant (particularly compared to what we're using!):

  • New compiler! ISO C++! Yeah!
  • New headers! The new compiler actually supports newer versions of various SDKs and libraries that we use
  • Support for all of the best current practices - /GS for example (more on this later)
  • Cool tools that come with the DDK
  • Simple, well-defined upgrade path - never worry about converting DSP files again
  • Great multi-architecture, multi-OS support (as long as the OS has "Windows" in the name)
  • Multi-processor support
  • More that I'm not thinking of at the moment...

So, it looks good on paper, but will it work? Well, I decided to take one of our static libraries as an example and get it building with the DDK. And so began the struggle. . .

Comments

TrackBack said:

# March 13, 2005 11:17 AM

TrackBack said:

# March 13, 2005 11:22 AM

TrackBack said:

^_~,pretty good!csharpsseeoo
# May 17, 2005 10:30 PM

TrackBack said:

Building with BUILDooeess
# June 10, 2005 2:04 AM
Leave a Comment

(required) 

(required) 

(optional)

(required)