Build managers

CraigDillabaugh via Digitalmars-d digitalmars-d at puremagic.com
Tue Feb 3 14:10:43 PST 2015


On Tuesday, 3 February 2015 at 16:29:21 UTC, Jonathan Marler 
wrote:
> On Monday, 2 February 2015 at 16:06:00 UTC, Atila Neves wrote:
>> XML? Please, no. Anything but XML.
>
> FWIW, here's the same data written in ASON (the first language 
> example anyway)
>
> https://github.com/marler8997/mored/wiki/ASON-(Application-Specific-Object-Notation)
>
> Language {
> 	Name D
> 	Extensions [d di]
> 	Compiler Application=dmd {
> 		CompileCommand "{cmd} -c {source} 
> -of{ObjectDir}/{source}.obj" {includesArgument}
> 		LinkCommand "{cmd} {objects} {libraries} 
> -of{OutputDir}/{name}{extension} {includes}
> 		IncludesArgument "-I{include}"
> 		StaticLibraryArgument "-lib"
> 		DynamicLibraryArgument "-lib"
> 		Platform Type=windows {
> 			Targets [win32 win64]
> 			CompilerLocation "C:/D/dmd2/windows/bin"
> 			StandardLibrary include="false" 
> "C:/D/dmd2/windows/lib/phobos.lib"
> 			BinaryExtension ".exe"
> 			DynamicLibraryExtension ".dll"
> 			StaticLibraryExtension ".lib"
> 			Compatibility { }
> 		}
> 		Platform type=linux {
> 			CompilerLocation "C:/D/dmd2/windows/bin"
> 			StandardLibrary include="false" 
> "C:/D/dmd2/windows/lib/phobos.lib"
> 			BinaryExtension ""
> 			DynamicLibraryExtension ".so"
> 			StaticLibraryExtension ".s"
> 			Compatibility {
> 				Language objectsOnly=true c
> 			}
> 		}
> 		Profile Name=Release {
> 			LinkCommand "-release"
> 		}
> 		Profile Name=Debug {
> 			CompileCommand "-debug -gc"
> 			LinkCommand "-debug -gc"
> 		}
> 		Profile Name=Unittest {
> 			CompileCommand "-unittest -gc"
> 			LinkCommand "-unittest -gc"
> 		}
> 		Project {
> 			SourceDir "{project_dir}"
> 			OutputDir clean=true "{project_dir}/bin/{target}"
> 			ObjectDir clean=true "{project_dir}/obj/{target}"
> 			ResourceDir
> 			Includes []
> 			ProvidesModules []
> 			target "{hostPlatform}"
> 		}
> 	}
> }

+1 for the fact it uses the easy to read JSON notation, but 
allows comments!


More information about the Digitalmars-d mailing list