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

Reply via email to