Prototype buildsystem "Drake"

Jacob Carlborg doob at me.com
Wed Jul 13 11:45:23 PDT 2011


On 2011-07-13 20:31, Nick Sabalausky wrote:
> "Chris Molozian"<chris at cmoz.me>  wrote in message
> news:mailman.1595.1310554903.14074.digitalmars-d at puremagic.com...
>> I asked about build tools for D on the mailing list a while ago. I
>> needed a solution that allowed me to mix C++ and D builds in a
>> cross-platform way with minimum fuss. You can find the discussion about
>> it here
>> <http://www.digitalmars.com/d/archives/digitalmars/D/Best_build_tool_for_D_projects_136103.html>
>> (you were also a part of it IIRC). My biggest requirement at the time was:
>>
>>   * Keeping platform checks e.g. IF (MAC) {} ELSE IF(LINUX) {} ... etc.
>>     to an absolute minimum. What's the point in a cross-platform
>>     language if when you build projects in it you need to write a short
>>     essay for the build system...
>
> FWIW, my Drake system takes that as a high priority, too. For example, if
> you have project "foo", then you can get the cross-platform binary filename,
> object filename, shared lib filename, static lib filename, etc like this:
>
> "foo".exe  // "foo.exe" or "foo"
> "foo".obj  // "foo.obj" or "foo.o"
> "foo".lib  // "foo.lib" or "foo.a"
> "foo".slib  // "foo.dll" or "foo.so"
> "foo".bat  // "foo.bat" or "foo"
> "foo".sh   // "foo.bat" or "foo.sh"

Don't forget "foo.dylib" on Mac OS X.

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list