Answering Geir's question #3:
compiler, linker and define arguments are specified via <compilerarg>,
<linkerarg>, <defineset> tags respectively
in .xml subcomponents descriptors depending on OS, compiler, configuration.
You can find DRL VM subcomponent descriptors at
enhanced/drlvm/trunk/build/make/components/vm/*.xml
Here're some example extracts from jitrino.xml:
<!-- linux specific -->
<select os="lnx">
<defineset define="PLATFORM_POSIX" />
<select cxx="gcc" arch="ia32,em64t">
<compilerarg value="-msse2" />
</select>
<select cxx="gcc">
<compilerarg value="-fmessage-length=0" />
<compilerarg value="-Wall" />
<compilerarg value="-Werror" />
</select>
<compilerarg value="-x" />
<compilerarg value="c++" />
<compilerarg value="-fPIC" />
<select cxx="icc">
<compilerarg value="-wd68" />
<compilerarg value="-wd654" />
<compilerarg value="-wd854" />
<compilerarg value="-wd470" />
<compilerarg value="-wd1572" />
<compilerarg value="-wd1125" />
<!--
# 470 - 'qualified name is not allowed in member
declaration'
# warning #1125: function "xxx" is hidden by "yyy"
- virtual function override intended
# warning #1572: floating-point equality and
inequality comparisons are unreliable
-->
</select>
<select cfg="debug">
<compilerarg value="-g" />
<compilerarg value="-O0" />
</select>
<select cfg="release">
<compilerarg value="-O" />
</select>
</select>
<linker name="${build.cxx}" id="linker">
<select os="win">
<select arch="ipf">
<linkerarg value="/MACHINE:IA64" />
</select>
<select arch="em64t">
<linkerarg value="/MACHINE:AMD64" />
</select>
<select arch="ia32">
<linkerarg value="/MACHINE:X86" />
</select>
<linkerarg value="/DLL" />
<linkerarg value="/SUBSYSTEM:WINDOWS" />
<linkerarg value="/DEBUG" />
<linkerarg value="/NOLOGO" />
<linkerarg value="/FIXED:NO" />
<linkerarg value="/OPT:REF" />
<linkerarg value="/OUT:${libdir}/" />
<libset libs="${vm.vmcore.lib}" dir="${vm.vmcore.libdir}" />
<libset libs="${vm.encoder.lib}" dir="${vm.encoder.libdir}"
/>
</select>
<select os="lnx">
<linkerarg value="-shared" />
<linkerarg value="-ldl" />
<linkerarg value="-lm" />
</select>
</linker>
--
Denis Sharypov,
Intel Middleware Products Division