# The Bud Configuration file is a method to set up the various default # values for the program before it processes any command line switches # or other files. # # ---------------------------- # Syntax of Configuration file: # ---------------------------- # # The file consists of any number of sections. A section begins with a line # with the format of "[NAME]" where 'NAME' is the name of the section. A section # ends with the start of a new section (or end of file). Configuration commands # are only processed if the section they are contained in is processed. However, # any configuration commands before the first section are deemed to be in the # 'default' section and are always processed. A section is processed if it is # named on the Bud command line (preceded by a '+' symbol). For example... # > bud +debug # would cause the section called "debug" to be processed. # # Certain sections are processed without having to be named on the Bud command line. # They are processed depending on whether or not the relevant version was active # when Bud was built. # # These are ... # [Windows] -- version(Windows) # [Posix] -- version(Posix) # [darwin] -- version(darwin) # [DigitalMars] -- version(DigitalMars) # [GNU] -- version(GNU) # [Windows:DigitalMars] -- version(Windows) and version(DigitalMars) # [Posix:DigitalMars] -- version(Posix) and version(DigitalMars) # [Windows:GNU] -- version(Windows) and version(GNU) # [Posix:GNU] -- version(Posix) and version(GNU) # # (Note: the Posix version is set when any of "linux", "unix" or "darwin" is also set.) # # ---------------------------- # Configuration Command Syntax # ---------------------------- # # Comments are preceded by the '#' character and go to the end of that line. # # Items assumed to be on Bud's command line, as if you had typed them in, # start with "CMDLINE=" followed by the item itself. # e.g. CMDLINE=-I../ # # Items containing Bud's options begin with "INIT:" then the option name (case insensitive), # an equals symbol "=", and finally the value of the option. # e.g. INIT:ShowToDo = yes # # Items specifying a program to run after linking is finished begin with "FINAL=" # followed by the program and its switches if any. There can be any number of these. # e.g. FINAL="c:\program files\upx300w\upx" --best -q {Target} >nul # # Items specifying a program to run when the compilation or link fails # begins with "FAILURE=" followed by the program and its switches if any. # There can be any number of these. # e.g. FAILURE=logger msg="{Target} compile failed" # # Items specifying the location and name of the librarian program # begins with "LIBCMD=" followed by the path and program name. # e.g. LIBCMD=%@D%\..\..\dm\bin\lib.exe # # Items specifying the location and name of the compiler program # begins with "COMPCMD=" followed by the path and program name. # e.g. COMPCMD=/usr/bin/dmd_special # # Items specifying the location and name of the linker program # begins with "LINKCMD=" followed by the path and program name. # e.g. LINKCMD=%@D%\..\..\dm\bin\link.exe # # Items specifying switch options for the linker program # begins with "LINKSWITCH=" followed by swicth value. There can be any number of these. # e.g. LINKSWITCH=/nomap # # Items specifying switch options for the librarian program # begins with "LIBSWITCH=" followed by swicth value. There can be any number of these. # e.g. LIBSWITCH=-nowopts # # Items specifying switch options for the compiler program # begins with "COMPSWITCH=" followed by swicth value. There can be any number of these. # e.g. COMPSWITCH=-w # #CMDLINE=-info # Show the version of bud #CMDLINE=-emptyargs=no #CMDLINE=-I../ #INIT:ShowToDo = yes #INIT:DummyMain = dummy_main.d [Windows] # LIBCMD=%@D%\..\..\dm\bin\lib.exe [dbg] CMDLINE=--release --inline -unittest -g -w -version=BuildVerbose CMDLINE=-T{Target}_{Group} [prod] CMDLINE=--unittest --debug* --g --w -release -inline -full CMDLINE=-T{Target}_{Group} #FINAL="c:\program files\upx300w\upx" --best -q {Target} >nul [Windows:DigitalMars] INIT:ExeExtension = exe INIT:LibExtension = lib INIT:ObjExtension = obj INIT:ShrLibExtension = dll INIT:DefExtension = def INIT:SrcExtension = d INIT:MacroExtension = mac INIT:DdocExtension = ddoc INIT:DiExtension = di INIT:CompilerExe = dmd.exe INIT:CompileOnly = -c INIT:LinkerExe = link.exe INIT:ConfigFile = sc.ini #INIT:ConfigPath = #INIT:CompilerPath = #INIT:LinkerPath = INIT:LinkerDefs = /noi/map #INIT:LibPaths = INIT:ConfigSep = ; INIT:Librarian = lib.exe INIT:LibrarianOpts = "-c -p256" INIT:VersionSwitch = -version INIT:DebugSwitch = -debug INIT:OutFileSwitch = -of INIT:ImportPath = -I #INIT:LinkLibSwitch = INIT:LibPathSwitch = -L INIT:MapSwitch = -M INIT:SymInfoSwitch = /co INIT:BuildImportPath = -I INIT:ImportPathDelim = ; INIT:OutputPath = -od INIT:RunSwitch = -exec #INIT:LibrarianPath = INIT:ResponseExt = brf INIT:DefResponseFile = build.brf INIT:RDFName = default.rdf INIT:DefMacroDefFile = build.mdf INIT:LinkerStdOut = ` >nul` INIT:IgnoredModules = phobos INIT:AssumedLibs = phobos,kernel32.lib,user32.lib INIT:AutoLibs = gdi32.lib,advapi32.lib,COMCTL32.LIB,comdlg32.lib INIT:AutoLibs = CTL3D32.LIB,ODBC32.LIB,ole32.lib INIT:AutoLibs = OLEAUT32.LIB,shell32.lib,uuid.lib INIT:AutoLibs = winmm.lib,winspool.lib,wsock32.lib INIT:PathId = PATH INIT:ModOutPrefix = "MODULES =\n" #INIT:ModOutSuffix = INIT:ModOutBody = " $(MODULE {mod})\n" #INIT:ModOutDelim = INIT:ModOutFile = _modules.ddoc INIT:GenDebugInfo = -g INIT:HomePathId = HOME #INIT:EtcPath = INIT:ArgDelim = , INIT:ArgFileDelim = + INIT:PostSwitches = Yes INIT:AppendLinkSwitches = Yes INIT:CompilerDefs = "-op" INIT:UseResponseFile = Yes INIT:UseModBaseName = False INIT:ForceCompile = False INIT:Explicit = False INIT:TestRun = False INIT:ShortPathNames = False [Windows:GNU] INIT:ExeExtension = exe INIT:LibExtension = lib INIT:ObjExtension = obj INIT:ShrLibExtension = dll INIT:DefExtension = def INIT:SrcExtension = d INIT:MacroExtension = mac INIT:DdocExtension = ddoc INIT:DiExtension = di INIT:CompilerExe = gdc.exe INIT:CompileOnly = -c INIT:LinkerExe = gdc.exe #INIT:ConfigFile = #INIT:ConfigPath = #INIT:CompilerPath = #INIT:LinkerPath = #INIT:LinkerDefs = #INIT:LibPaths = INIT:ConfigSep = ; INIT:Librarian = ar.exe INIT:LibrarianOpts = "-c" INIT:VersionSwitch = -fversion INIT:DebugSwitch = -fdebug INIT:OutFileSwitch = "-o " INIT:ImportPath = "-I " INIT:LinkLibSwitch = -l INIT:LibPathSwitch = -L INIT:MapSwitch = -M INIT:SymInfoSwitch = /co INIT:BuildImportPath = -I INIT:ImportPathDelim = ; INIT:OutputPath = -od INIT:RunSwitch = -exec #INIT:LibrarianPath = INIT:ResponseExt = brf INIT:DefResponseFile = build.brf INIT:RDFName = default.rdf INIT:DefMacroDefFile = build.mdf INIT:LinkerStdOut = ` >nul` INIT:IgnoredModules = phobos,std INIT:AssumedLibs = phobos,kernel32.lib,user32.lib INIT:AutoLibs = gdi32.lib,advapi32.lib,COMCTL32.LIB,comdlg32.lib INIT:AutoLibs = CTL3D32.LIB,ODBC32.LIB,ole32.lib INIT:AutoLibs = OLEAUT32.LIB,shell32.lib,uuid.lib INIT:AutoLibs = winmm.lib,winspool.lib,wsock32.lib INIT:PathId = PATH INIT:ModOutPrefix = "MODULES =\n" #INIT:ModOutSuffix = INIT:ModOutBody = " $(MODULE {mod})\n" #INIT:ModOutDelim = INIT:ModOutFile = _modules.ddoc INIT:GenDebugInfo = -g #INIT:CompilerDefs = INIT:HomePathId = HOME #INIT:EtcPath = INIT:ArgDelim = " " INIT:ArgFileDelim = " " INIT:PostSwitches = No INIT:AppendLinkSwitches = No INIT:UseResponseFile = No INIT:UseModBaseName = False INIT:ForceCompile = False INIT:Explicit = False INIT:TestRun = False INIT:ShortPathNames = True [Posix:DigitalMars] #INIT:ExeExtension = INIT:LibExtension = a INIT:ObjExtension = o INIT:ShrLibExtension = so INIT:DefExtension = def INIT:SrcExtension = d INIT:MacroExtension = mac INIT:DdocExtension = ddoc INIT:DiExtension = di INIT:CompilerExe = dmd INIT:CompileOnly = -c INIT:LinkerExe = gcc INIT:ConfigFile = dmd.conf INIT:ConfigPath = /etc/ #INIT:CompilerPath = #INIT:LinkerPath = #INIT:LinkerDefs = #INIT:LibPaths = INIT:ConfigSep = : INIT:Librarian = ar INIT:LibrarianOpts = "-r" INIT:VersionSwitch = -version INIT:DebugSwitch = -debug INIT:OutFileSwitch = -of INIT:ImportPath = -I INIT:LinkLibSwitch = -l INIT:LibPathSwitch = -L INIT:MapSwitch = -M INIT:SymInfoSwitch = /co INIT:BuildImportPath = -I INIT:ImportPathDelim = ; INIT:OutputPath = -od INIT:RunSwitch = -exec #INIT:LibrarianPath = INIT:ResponseExt = brf INIT:DefResponseFile = build.brf INIT:RDFName = default.rdf INIT:DefMacroDefFile = build.mdf INIT:LinkerStdOut = ` >/dev/null` INIT:IgnoredModules = phobos INIT:AssumedLibs = c,phobos,pthread,m INIT:PathId = PATH INIT:ModOutPrefix = "MODULES =\n" #INIT:ModOutSuffix = INIT:ModOutBody = " $(MODULE {mod})\n" #INIT:ModOutDelim = INIT:ModOutFile = _modules.ddoc INIT:GenDebugInfo = -g #INIT:CompilerDefs = INIT:HomePathId = HOME INIT:EtcPath = /etc/ INIT:ArgDelim = " " INIT:ArgFileDelim = " " INIT:PostSwitches = No INIT:AppendLinkSwitches = No INIT:UseResponseFile = Yes INIT:UseModBaseName = False INIT:ForceCompile = False INIT:Explicit = False INIT:TestRun = False [Posix:GNU] #INIT:ExeExtension = INIT:LibExtension = a INIT:ObjExtension = o INIT:ShrLibExtension = so INIT:DefExtension = def INIT:SrcExtension = d INIT:MacroExtension = mac INIT:DdocExtension = ddoc INIT:DiExtension = di INIT:CompilerExe = gdc INIT:CompileOnly = -c INIT:LinkerExe = gdmd #INIT:ConfigFile = #INIT:ConfigPath = #INIT:CompilerPath = #INIT:LinkerPath = #INIT:LinkerDefs = #INIT:LibPaths = INIT:ConfigSep = : INIT:Librarian = ar INIT:LibrarianOpts = "-r" INIT:VersionSwitch = -fversion INIT:DebugSwitch = -fdebug INIT:OutFileSwitch = "-o " INIT:ImportPath = "-I " INIT:LinkLibSwitch = -l INIT:LibPathSwitch = -L INIT:MapSwitch = -M INIT:SymInfoSwitch = /co INIT:BuildImportPath = -I INIT:ImportPathDelim = ; INIT:OutputPath = -od INIT:RunSwitch = -exec #INIT:LibrarianPath = INIT:ResponseExt = brf INIT:DefResponseFile = build.brf INIT:RDFName = default.rdf INIT:DefMacroDefFile = build.mdf INIT:LinkerStdOut = ` >/dev/null` INIT:IgnoredModules = phobos,std INIT:AssumedLibs = c,gphobos,pthread,m INIT:PathId = PATH INIT:ModOutPrefix = "MODULES =\n" #INIT:ModOutSuffix = INIT:ModOutBody = " $(MODULE {mod})\n" #INIT:ModOutDelim = INIT:ModOutFile = _modules.ddoc INIT:GenDebugInfo = -g #INIT:CompilerDefs = INIT:HomePathId = HOME #INIT:EtcPath = INIT:ArgDelim = " " INIT:ArgFileDelim = " " INIT:PostSwitches = No INIT:AppendLinkSwitches = No INIT:UseResponseFile = No INIT:UseModBaseName = False INIT:ForceCompile = False INIT:Explicit = False INIT:TestRun = False