###############################################################################
# Copyright (c) 2007, 2009 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

pluginName = Remote XL C/C++ Managed Build UI Plugin
providerName = Eclipse.org

variableDescription = XL C/C++ Compiler Root Location

#Build model names
TargetName.xlc.exe = Remote Executable (XL C/C++)
TargetName.xlc.so = Remote Shared Library (XL C/C++)
TargetName.xlc.lib = Remote Static Library(XL C/C++)

# Default Configuration Names
# START NON-TRANSLATABLE
ConfigName.Rel = Release
ConfigName.Dbg = Debug
# END NON-TRANSLATABLE

# Generic tool-chain names
ToolChainName.Rel=Remote XL C/C++ Tool Chain
ToolChainName.Dbg=Remote XL C/C++ Tool Chain

# Generic platform names
PlatformName.Rel=Release Platform
PlatformName.Dbg=Debug Platform

# Generic builder names
BuilderName.Rel=GNU Make
BuilderName.Dbg=GNU Make

# Tool names
ToolName.compiler.xlc.c = Remote XL C Compiler
ToolName.compiler.xlc.cpp = Remote XL C++ Compiler
ToolName.linker.xlc.c = Remote XL C Executable Linker
ToolName.linker.xlc.cpp = Remote XL C++ Executable Linker
ToolName.archiver.xlc = Archiver
ToolName.assembler.xlc = XL Assembler
ToolName.linker.xlc.cpp.so = Remote XL C++ Shared Object Linker
ToolName.linker.xlc.c.so = Remote XL C Shared Object Linker

# Generic Category Names
OptionCategory.Linking = Linking
OptionCategory.Libs = Libraries and Paths
OptionCategory.ifp = Integer and Floating Point
OptionCategory.cc = Compiler Customization
OptionCategory.lm = Listings and Messages
OptionCategory.ecd = Error Checking and Debugging
OptionCategory.Input = Input Control
OptionCategory.Output = Output Control
OptionCategory.Optimize=Optimization
OptionCategory.Comp = Compatibility
OptionCategory.Misc=Miscellaneous
OptionCategory.Assembler=Assembler Options
OptionCategory.General=General
OptionCategory.objcc=Object code control


# generic names used by multiple options
Option.none = none
Option.default = default

# Miscellaneous options
Option.compiler.other = Other compiler flags

# Input Control options
Option.Preproccomments = Preserve comments in pre-processed output (-C)
Option.DefSym = Define a macro name (-D)
Option.InclPaths = Specify an additional search path for #include s (-I)
Option.UndefSym = Undefine a macro name (-U)
Option.altivec = Enable compiler support for vector data types (-qaltivec)
Option.asm = Control the interpretation of and subsequent generation of code for asm statement (-qasm)
Option.asm.default = Default
Option.asm.stdcpp = Standard (-qasm=stdcpp)
Option.asm.gcc = GCC (-qasm=gcc)
Option.Cstdinc = Specify C standard search location (-qc_stdinc)
Option.cppstdinc = Specify C++ standard search location (-qcpp_stdinc)
Option.qcomplexgccincl = Wrap include files in GCC pragmas (-qcomplexgccincl)
Option.Nocplus = Don't recognize C++ comments in C source files(-qnocpluscmt)
Option.Mbcs = Enable recognition of multi-byte characters (-qmbcs)
Option.Digraph = Enable recognition of digraph characters (-qdigraph)
Option.Dollar = Allow $ symbols to be used in identifiers (-qdollar)
Option.Incdirfirst =  Change the search path (-qidirfirst)
Option.ignprag = Ignore certain pragmas (-qignprag=)
Option.ignprag.disjoint = disjoint
Option.ignprag.isolated = isolated
Option.ignprag.all = all
Option.ignprag.ibm = IBM(R)
Option.ignprag.omp = omp
Option.Keyword = Treat specified name as a keyword(-qkeyword)
Option.langlvl = Language level (-qlanglvl=)
Option.langlvl.classic = classic
Option.langlvl.extended = extended
Option.langlvl.saa = SAA
Option.langlvl.saal2 = SAA Level 2
Option.langlvl.stdc89 = C89 standard
Option.langlvl.stdc99 = C99 standard
Option.langlvl.extc89 = C89 with extensions
Option.langlvl.extc99 = C99 with extensions
Option.langlvl.ucs = UCS
Option.Macpstr = Convert pascal string literals into null-terminated string literals (-qmacpstr)
Option.Pascal = Recognize and accept the keyword pascal (-qpascal)
Option.sourcetype = Override source type (-qsourcetype)
Option.sourcetype.c = c
Option.sourcetype.c++ = C++
Option.sourcetype.assembler = assembler
Option.stdframework = Search standard framework directories (-qstdframework)
Option.frameworkdirs = Specify additional framework directories (-qframeworkdir)
Option.Input = Don't search the default search path directories (-qnostdinc)
Option.Warn.Syntax =Perform syntax checking without generating an object file(-qsyntaxonly) 
Option.Trigraph=Recognize tri-graph key combinations
Option.Utf=Enable recognition of UTF literal syntax (-qutf)
Option.plus = Compile any file as a C++ file (-+)
Option.cinc = Insert extern "C" {} in the specified include files (-qcinc)
Option.gcc_c_stdinc = Change GCC headers search location (-qgcc_c_stdinc)
Option.gcc_cpp_stdinc = Change G++ headers search location (-qgcc_cpp_stdinc)

# Output Control options

Option.Trace=Preview the steps for compilation(-#)
Option.bmaxdata=Maximum size of the area shared by the static data and the heap (-bmaxdata=)
Option.c=Pass the source files through compiler component only(-c)
Option.PreprocOnly=Preprocess the source files and create an output preprocessed source file (-E)
Option.PreprocRemoveComments=Remove comments from preprocessed output (-C!)
Option.M=Create an output file that contains targets for the make command (-M)
Option.ma=Substitute inline code for calls to alloca (-ma)
Option.o=Specify an output location for the files created by the compiler (-o) 
Option.P=Preprocess the source files and create an output preprocessed source file for each source file(-P)
Option.Assem=Generate an assembler language file for each source file(-S)
Option.Strip=Strip symbol table, line number information and relocation information from source file(-s)
Option.64=Select 64-bit compiler mode(-q64)
Option.Align=Specify what alignment rules compiler uses for compilation(-qalign)
Option.Align.Full=full
Option.Align.Natural=natural
Option.Align.twobyte=two byte
Option.Align.packed=packed
Option.Align.bitpacked=bit packed
Option.alloca=Substitute inline code for calls to function alloca(-qalloca)
Option.Bitfields=Specify if bit fields are signed(-qbitfields)
Option.Bitfields.signed = signed
Option.Bitfields.unsigned = unsigned
Option.Chars=Specify if chars are signed
Option.chars.signed = signed (-qchars=signed)
Option.chars.unsigned = unsigned (-qcharse=unsigned)
Option.enablevmx=Enable generation of VMX instructions(-qenablevmx)
Option.Enum=Specify the amount of storage occupied by enumerations(-qenum=)
Option.enum.Int=Int
Option.enum.Intlong=Intlong
Option.enum.small=small
Option.enum.1=1
Option.enum.2=2
Option.enum.4=4
Option.enum.8=8
Option.Pic=Generate position independent code suitable for use in libraries(-qpic=)
Option.Pic.Small=Small
Option.Pic.Large=Large
Option.noro=Do not place string literals in read only storage (-qnoro)
Option.noroconst=Do not place constant values in read only storage (-qnoroconst)
Option.roptr=Place constant pointers in read only storage (-qroptr) 
Option.Statsym=Generate symbols for static variables (-qstatsym )
Option.xcall=Generate code to treat static functions as external functions (-qxcall )
Option.funcset=Place instructions for each function in a separate object file control section or csect (-qfuncset)
Option.ppline=Enable generation of #line directive in the preprocessed output (-qppline)
Option.upconv=Preserve the unsigned specification when performing integral promotions (-qupconv)
Option.namemangling=Name mangling scheme for external symbol names (-qnamemangling=)
Option.namemangling.v10.name=Name mangling scheme for external symbol names (-qnamemangling=)
Option.namemangling.ansi = ANSI (-qnamemangling=ansi)
Option.namemangling.v6 = VisualAge(R) C++ v6 (-qnamemangling=v6)
Option.namemangling.v5 = VisualAge(R) C++ v5 (-qnamemangling=v5)
Option.namemangling.v4 = VisualAge(R) C++ v4 (-qnamemangling=v4)
Option.namemangling.v3 = Compatibility mode (-qnamemangling=v3)
Option.namemangling.v7=IBM XL C/C++ v7 (-qnamemangling=v7)
Option.namemangling.v8=IBM XL C/C++ v8 (-qnamemangling=v8)
Option.namemangling.v9=IBM XL C/C++ v9 (-qnamemangling=v9)
Option.namemangling.v10=IBM XL C/C++ v10 (-qnamemangling=v10)
Option.objectmodel = Object model (-qobjmodel=)
Option.objectmodel.classic = classic (-qobjmodel=classic)
Option.objectmodel.ibm = IBM(R) (-qobjmodel=ibm)
Option.rtti = Generate RunTime Type Information (-qrtti)
Option.rtti.all = all (-qrrti=all)
Option.rtti.type = type (-qrtti=type)
Option.rtti.dynamiccast = dynamic cast (-qrtti=dynamiccast)
Option.saveopt = Save the command line compiler options into an object file  (-qsaveopt)
Option.staticinline = Treat inline functions as static (-qstaticinline)
Option.statsym = Add static variables to the symbol table  (-qstatsym)
Option.threaded = Enable multi-threaded execution (-qthreaded)
Option.unique = Generate unique names for static constructor/deconstructor file compilation units (-qunique)
Option.unique.v10 = Generate unique names for static constructor/deconstructor file compilation units (-qunique)
Option.novftable = Do not generate virtual function table (-qnovftable)
Option.vrsave = Maintain the VRSAVE register (-qvrsave)
Option.weaksymbol = Generate weak symbols (-qweaksymbol)
Option.macros=Emit macro definitions to preprocessed output (-qshowmacros)
Option.macros.all=all (-qshowmacros=all)
Option.macros.pre=predefined (-qshowmacros=pre)
Option.macros.nopre=no macros (-qshowmacros=nopre)
Options.timestamps=Suppress insert of implicit timestamps into an object file (-qnotimestamps)

# Optimization options
Option.OptLevel = Optimization level
Option.Optimize.Optimize = -O
Option.Optimize.Level2 = -O2
Option.Optimize.Level3 = -O3
Option.Optimize.Level4 = -O4
Option.Optimize.Level5 = -O5
Option.inlining = Function inlining
Option.inlining.Q = inline all functions (-Q)
Option.inlining.Qexclamation = disable inlining (-Q!)
Option.Qplus = Specify functions to be inlined(-Q+name1:name2:...:nameN)
Option.Qminus = Specify functions to not inline (-Q-name1:name2:...:nameN)
Option.aggrcopy = Enable destructive copy operations for structs and unions
Option.aggrcopy.nooverlap=no overlap (-qaggrcopy=nooverlap)
Option.aggrcopy.overlap=overlap (-qaggrcopy=overlap)
Option.alias= Apply aliasing instructions to compilation unit (-qalias=)
Option.alias.addrtaken= Variables are not disjoint from pointers (-qalias=addrtaken)
Option.alias.noaddrtaken=Variables are disjoint from pointers unless their address is taken (-qalias=notaddrtaken)
Option.alias.allptrs=Pointers are aliased (-qalias=allptrs)
Option.alias.noallptrs=Pointers are never aliased (-qalias=noallptrs)
Option.alias.ansi=Pointers can only point to an object of the same type (-qalias=ansi)
Option.alias.noansi=Pointers can point to an object of a different type (-qalias=notansi)
Option.alias.typeptr=Pointers to different types are aliased (-qalias=typeptr)
Option.alias.notypeptr=Pointers to different types are never aliased (-qalias=notypeptr)
Option.optimization.arch = Specify the processor architecture to generate code and optimize for (-qarch=)
Option.optimization.arch.ppc64 = PowerPC(R) 64-bit
Option.optimization.arch.ppcgr = PowerPC(R) with graphics instructions
Option.optimization.arch.ppc64gr = PowerPC(R) 64-bit with graphics instructions
Option.optimization.arch.ppc64grsq = PowerPC(R) 64-bit with graphics and square root instructions
Option.optimization.arch.ppc64v = PowerPC(R) 64-bit with AltiVec
Option.optimization.tune = Specify the processor architecture to tune code for (-qtune=)
Option.optimization.tune.auto = auto
Option.optimization.assert = Assert program behaviours (-qassert=)
Option.optimization.Cache = Specify the cache configuration (-qcache=option1:option2:...:optionN)
Option.compact = Avoid transformations that lead to code expansion (-qcompact)
Option.optimization.dataimported = Name the variables to be imported (-qdataimported=name1:name2:...:nameN)
Option.optimization.datalocal = Name the variables which are local (-qdatalocal=name1:name2:...:nameN)
Option.directstorage = Write-through enabled or cache-inhibited storage may be referenced (-qdirectstorage)
Option.optimization.exceptionhandling = Exception handling
Option.optimization.exceptionhandling.eh = Enable exception handling (-qeh)
Option.optimization.exceptionhandling.noeh = Disable exception handling (-qnoeh)
Option.optimization.exceptionhandling.v5 = VisualAge(R) C++ v5.0 compatibility
Option.optimization.exceptionhandling.v6 = VisualAge(R) C++ v6.0 compatibility
Option.fdpr = Include data required by fdpr utility (-qfdpr)
Option.optimization.hot = Perform high-order loop analysis and transformations during optimization (-qhot=)
Option.ignerrno = Perform optimizations which assume errno is not modified by system calls (-qignerrno)
Option.optimization.inline = Attempt to inline functions (-qinline=)
Option.optimization.ipa = Customize interprocedural analysis optimizations(-qipa=)
Option.optimization.isolatedcall = Functions in source file that have no side effects (-qisolated_call=name1:name2:...:nameN)
Option.optimization.keepinlines = 
Option.largepage = Exploit large page heaps available on POWER4(TM) systems running AIX(R) 5.1D or later (-qlargepage)
Option.libansi = Assume all functions in the name of ansi C function are system functions (-qlibansi)
Option.pdf1 = Tune optimizations through Profile Directed Feedback: first run (-qpdf1)
Option.pdf2 = Tune optimizations through Profile Directed Feedback: second run (-qpdf2)
Option.optimization.Prefetch = Disable generation of prefetching instructions in compiled code (-qnoprefetch)
Option.optimization.procimported = Mark functions as imported (-qprocimported=)
Option.optimization.proclocal = Mark functions as local (-qlocal=)
Option.optimization.procimported = Mark functions as imported (-qprocimported=)
Option.optimization.procunknown = Mark functions as unknown (-qprocunknown=)
Option.optimization.showpdf = Add additional call and block count profiling information to the executable (-qshowpdf)
Option.optimization.smallstack = Reduce the size of the stack frame (-qsmallstack)
Option.optimization.smp = Enable parallelization of code (-qsmp)
Option.optimization.smp.v10 = Specify parallelization of code (-qsmp=name1:name2:...:nameN)
Option.optimization.smp.v10.tooltip=Possible values: nostackcheck, opt, norec_locks, noomp, nonested_par, \nexplicit, auto, omp, nested_par, noauto, noexplicit, noopt, rec_locks, \nschedule=(runtime | auto | affinity=n | dynamic=n | guided=n | static=n), stackcheck, threshold=n
Option.optimization.Spill = Specify the register allocation spill area (-qspill=)
Option.optimization.Strict=Turn off aggressive optimizations (-qstrict)
Option.optimization.Strict.v10 = Specify the optimizations (-qstrict=name1:name2:...:nameN)
Option.optimization.Strict.v10.tooltip=Possible values: all, none, precision, noprecision, exceptions, noexceptions, \nieeefp, noieeefp, nans, nonans, infinities, noinfinities, subnormals, nosubnormals, \nzerosigns, nozerosigns, operationprecision, nooperationprecision, order, noorder, \nassociation, noassociation, reductionorder, noreductionorder, guards, noguards, library, nolibrary
Option.optimization.loopinduction = Loop induction settings
Option.optimization.strict_induction = Strict induction
Option.optimization.nostrict_induction = No induction
Option.optimization.tocdata = Mark data as local
Option.optimization.w = Specify options to pass to specific compiler components  (-W)

# Linker Options
Option.Linking.b = Control how shared objects are processed by the editor (-b)
Option.linking.brtl = Enable runtime linking for the output file (-brtl)
Option.linking.bundle = 
Option.Linking.bundle_loader
Option.Linking.e = Set the entry name for the shared executable(-e )
Option.Linking.f = 
Option.linking.G = Create a shared object enabled for runtime linking (-G)
Option.Linking.L = Search the path directory for the library files specified by the -lkey option (-L)
Option.Linking.l = Search the specified library file(-l)
Option.linking.r = Produce a relocatable object (-r)
Option.Linking.Z = Specify a prefix for library search path (-Z)
Option.linking.inlglue = Generate fast external linkage (-qinlglue)
Option.linking.lib = Link with standard system libraries (-qlib)
Option.Linking.mkshrobj = Create a shared object from generated object files (-qmkshrobj)
Option.Linking.priority = Specify the priority level for initialization of static objects (-qpriority)
Option.Linker.EnableRun=Enable Run time linking (-brtl)
Option.Linker.NoStartFiles=Do not use standard start files (-nostartfiles)
Option.Linker.NoDefLibs=Do not use default libraries (-nodefaultlibs)
Option.Linker.NoStdLibs=No startup or default libs (-nostdlib)
Option.Linker.Strip=Strip all symbol information (-s)
Option.Linker.Strip.debug=Strip debug symbol information (-S)
Option.Linker.Static=No shared libraries (-bstatic)
Option.Linker.WLinker=Other options (-Wl, [option1,option2,...optionN])
Option.Linker.Flags=Other linker flags
Option.Libs=Libraries (-l)
Option.Libsearch=Library search path (-L)
Option.UserObjs=Other objects
Option.Linker.Shared=Shared (-qmkshrobj)
Option.Linker.SOName=Shared object name (-o=)
Option.Linker.Implib=Import Library name (-Wl,--out-implib=)
Option.Linker.Defname=DEF file name (-Wl,--output-def=)
Option.linking.bundle = Create a bundle (-bundle)
Option.linking.bundle_loader = Specify the name of bundle loader program (-bundle_loader=)
Option.linking.f = Specify file containing a list of object files for the compiler to pass to the linker (-f)
Option.linking.expfile = Save all the exported symbols in the designated file (-qexpfile=)

#Archiver options
Option.Archiver.Flags=Other archiver flags

# Integer and Floating Point options
Option.y = Specify compile time rounding mode (-y)
Option.y.n = n
Option.y.m = m
Option.y.p = p
Option.y.z = z
Option.float = Specify floating point options (-qfloat=)
Option.flttrap = Trap floating point exceptions (-qflttrap=)
Option.longlong = Allow long long integer types in the program
Option.longlong.longlong = Allow long long (-qlonglong)
Option.longlong.nolonglong = Do not allow long long (-qnolonglong)
Option.rndflt = Control compile-time rounding mode of floating point expressions( -qrndflt)
Option.rndflt.nearest = Nearest
Option.rndflt.minusinf = Minus infinity
Option.rndflt.plusinf = Plus infinity
Option.rndflt.zero = Zero
Option.dfp = Decimal floating-point support for types and literals
Option.dfp.enabled = Enabled (-qdfp)
Option.dfp.disabled = Disabled (-qnodfp)

# Compiler Customization options
Option.B = Determine substitute program path name (-B)
Option.F = Specify alternate configuration file (-F)
Option.t = Add prefix to designated programs (-t)
Option.maxmem = Amount of memory used during optimization (-qmaxmem=)
Option.path = Alternate program name for compiler components (-qpath=)
Option.tls = Specify the thread local storage model (-qtls=)
Option.tls.unsupported=unsupported
Option.tls.default=default
Option.tls.global-dynamic=global-dynamic
Option.tls.initial-exec=initial-exec
Option.tls.local-dynamic=local-dynamic
Option.tls.local-exec=local-exec
Option.tls.notls=No tls

# Listings and Messages options
Option.V = Report information on the progress of compilation (-V)
Option.Warn.nowarn = Suppress warnings and low-level messages (-w)
Option.Warn.Pedandic=Pedantic (-pedantic)
Option.Warn.PedErrors=Pedantic warnings as errors (-pedantic-errors)
Option.Warn.nowarn=Inhibit all warnings (-w)
Option.Warn.allwarn=All warnings (-Wall)
Option.Warn.toerrs=Warnings as errors (-Werror)
Option.attr = Produce a compiler listing (-qattr)
Option.attr.noattr = Does not produce an attribute listing for identifiers in program (-qnoattr)
Option.attr.fullattr = Report attributes of all identifiers (-qattr=full)
Option.attr.attr = Report attributes of only used identifiers (-qattr)
Option.flag = Specify the minimum severity level of the diagnostic messages (-qflag=)
Option.format = Warn of possible problems with string input and output format specifications (-qformat=)
Option.halt = Instruct the compiler to stop after compilation if it encounters errors of specified severity or higher (-qhalt=)
Option.halt.information = Information (-qhalt=i)
Option.halt.warning = Warning (-qhalt=w)
Option.halt.error = Error (-qhalt=e)
Option.halt.severeError = Severe error (-qhalt=s)
Option.halt.unrecoverableError = Unrecoverable error (-qhalt=u)
Option.info = Produce informational messages (-qinfo=)
Option.list = Produce a compiler listing that includes an object listing (-qlist)
Option.listopt = Produce a compiler listing that displays all options in effect(-qlistopt)
Option.phsinfo = Report the time taken in each compilation phase (-qphsinfo)
Option.noprint = Suppress all listings (-qnoprint )
Option.report = Instruct the compiler to produce transformation reports (-qreport)
Option.showinc = Show all included files in the source listing (-qshowinc)
Option.source = Produce a compiler listing and include the source code (-qsource)
Option.srcmsg = Add the corresponding source code lines to the diagnostic messages in stderr file (-qsrcmsg)
Option.suppress = Suppress the specified informational or warning messages (-qsuppress=)
Option.tabsize = Change the tab-size (-qtabsize=)
Option.xref = Produce a cross reference listing of identifiers (-qxref)
Option.xref.noxref = Do not report identifiers in the program (-qnoxref)
Option.xref.fullxref = Report all the identifiers in the program (-qxref = full)
Option.xref.xref = Report only those identifiers which are used (-qxref)
Option.warnfourcharconsts = Enable warning of four-character constants in source
Option.report = Produce listing files that show how sections of code have been optimized (-qreport)

# Error Checking and Debugging
Option.g = Generate debugging information (-g)
Option.optdebug = Enable debugging of optimized code (-qoptdebug)
Option.DebugLevel=Debug Level
Option.Debug.Min=Minimal (-g1)
Option.Debug.Def=Default (-g)
Option.Debug.Max=Maximum (-g3)
Option.Debug.Other=Other debugging flags
Option.Debug.gprof=Generate gprof information (-pg)
Option.Debug.prof=Generate prof information (-p)
Option.Debug.Unref=Include information about unreferenced symbols (-qdbxextra)
Option.p = Generate prof information (-p)
Option.pg = Generate gprof information (-pg)
Option.check = Generate code which performs certain types of runtime checking (-qcheck)
Option.dbxextra = Include all typedefs, structs, unions, enums for debugging (-qdbxextra)
Option.extchk = Generate bind-time type checking information and check for compile time consistency (-qextchk)
Option.fullpath = Preserve absolute path name of source files used with -g option (-qfullpath)
Option.genproto = Produce ANSI prototypes from K&R definitions
Option.genproto = Generate prototypes with parameter names
Option.genproto.parmgenproto = Include parameter names in prototypes
Option.heapdebug = Enable debug versions of memory management functions (-qheapdebug)
Option.initauto = Initialize the automatic variables (-qinitauto=)
Option.linedebug = Generate line number and source file name info for the debugger (-qlinedebug)
Option.maxerr = Halt compilation after this many errors (-qmaxerr=)
Option.proto = All functions are prototyped (-qproto)


# Assembler options
Option.Xlc.Assembler.Flags=Other assembler flags
Option.Xlc.Assembler.warn.suppress=Suppress warnings (-W)
Option.Xlc.Assembler.version=Announce version (-v)


# XL C/C++ Preference page
XLCompilerPreferencePage.name = XL C/C++ Compiler
XLCompilerPropertyPage.name = XL C/C++ Compiler




Bundle-Vendor = Eclipse.org
Bundle-Name = XL C/C++ Remote Managed Build Support
builder.name = Remote GNU Make
extension.name = Remote XL C/C++ Per Project Profile