NAnt.exe.config 105 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784
  1. <?xml version="1.0"?>
  2. <configuration>
  3. <!-- Leave this alone. Sets up configsectionhandler section -->
  4. <configSections>
  5. <section name="nant" type="NAnt.Core.ConfigurationSection, NAnt.Core" />
  6. <section name="log4net" type="System.Configuration.IgnoreSectionHandler" />
  7. </configSections>
  8. <appSettings>
  9. <!-- Used to indicate the location of the cache folder for shadow files -->
  10. <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
  11. <!-- Used to indicate that NAnt should shadow copy files in a cache folder near the executable -->
  12. <add key="nant.shadowfiles" value="False" />
  13. <!-- Used to indicate if cached files should be deleted when done running-->
  14. <add key="nant.shadowfiles.cleanup" value="False" />
  15. <!-- To enable internal log4net logging, uncomment the next line -->
  16. <!-- <add key="log4net.Internal.Debug" value="true"/> -->
  17. </appSettings>
  18. <!-- nant config settings -->
  19. <nant>
  20. <frameworks>
  21. <platform name="win32" default="auto">
  22. <task-assemblies>
  23. <!-- include NAnt task assemblies -->
  24. <include name="*Tasks.dll" />
  25. <!-- include NAnt test assemblies -->
  26. <include name="*Tests.dll" />
  27. <!-- include framework-neutral assemblies -->
  28. <include name="tasks/*.dll" />
  29. <!-- exclude Microsoft.NET specific task assembly -->
  30. <exclude name="NAnt.MSNetTasks.dll" />
  31. <!-- exclude Microsoft.NET specific test assembly -->
  32. <exclude name="NAnt.MSNet.Tests.dll" />
  33. </task-assemblies>
  34. <framework
  35. name="net-1.0"
  36. family="net"
  37. version="1.0"
  38. description="Microsoft .NET Framework 1.0"
  39. runtimeengine=""
  40. sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
  41. frameworkdirectory="${path::combine(installRoot, 'v1.0.3705')}"
  42. frameworkassemblydirectory="${path::combine(installRoot, 'v1.0.3705')}"
  43. clrversion="1.0.3705"
  44. >
  45. <task-assemblies>
  46. <!-- include .NET specific assemblies -->
  47. <include name="tasks/net/*.dll" />
  48. <!-- include .NET 1.0 specific assemblies -->
  49. <include name="tasks/net/1.0/**/*.dll" />
  50. <!-- include Microsoft.NET specific task assembly -->
  51. <include name="NAnt.MSNetTasks.dll" />
  52. <!-- include Microsoft.NET specific test assembly -->
  53. <include name="NAnt.MSNet.Tests.dll" />
  54. </task-assemblies>
  55. <project>
  56. <readregistry
  57. property="installRoot"
  58. key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
  59. hive="LocalMachine" />
  60. <readregistry
  61. property="sdkInstallRoot"
  62. key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRoot"
  63. hive="LocalMachine"
  64. failonerror="false" />
  65. </project>
  66. <tasks>
  67. <task name="csc">
  68. <attribute name="exename">csc</attribute>
  69. <attribute name="supportsnowarnlist">true</attribute>
  70. </task>
  71. <task name="vbc">
  72. <attribute name="exename">vbc</attribute>
  73. </task>
  74. <task name="jsc">
  75. <attribute name="exename">jsc</attribute>
  76. </task>
  77. <task name="vjc">
  78. <attribute name="exename">vjc</attribute>
  79. <attribute name="supportsnowarnlist">true</attribute>
  80. </task>
  81. <task name="resgen">
  82. <attribute name="exename">resgen</attribute>
  83. </task>
  84. <task name="al">
  85. <attribute name="exename">al</attribute>
  86. </task>
  87. <task name="delay-sign">
  88. <attribute name="exename">sn</attribute>
  89. </task>
  90. <task name="license">
  91. <attribute name="exename">lc</attribute>
  92. </task>
  93. <task name="ilasm">
  94. <attribute name="exename">ilasm</attribute>
  95. </task>
  96. <task name="ildasm">
  97. <attribute name="exename">ildasm</attribute>
  98. </task>
  99. <task name="aximp">
  100. <attribute name="supportsrcw">false</attribute>
  101. </task>
  102. <task name="tlbimp">
  103. <attribute name="supportstransform">false</attribute>
  104. </task>
  105. </tasks>
  106. </framework>
  107. <framework
  108. name="net-1.1"
  109. family="net"
  110. version="1.1"
  111. description="Microsoft .NET Framework 1.1"
  112. runtimeengine=""
  113. sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
  114. frameworkdirectory="${path::combine(installRoot, 'v1.1.4322')}"
  115. frameworkassemblydirectory="${path::combine(installRoot, 'v1.1.4322')}"
  116. clrversion="1.1.4322"
  117. >
  118. <task-assemblies>
  119. <!-- include .NET specific assemblies -->
  120. <include name="tasks/net/*.dll" />
  121. <!-- include .NET 1.1 specific assemblies -->
  122. <include name="tasks/net/1.1/**/*.dll" />
  123. <!-- include Microsoft.NET specific task assembly -->
  124. <include name="NAnt.MSNetTasks.dll" />
  125. <!-- include Microsoft.NET specific test assembly -->
  126. <include name="NAnt.MSNet.Tests.dll" />
  127. </task-assemblies>
  128. <project>
  129. <readregistry
  130. property="installRoot"
  131. key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
  132. hive="LocalMachine" />
  133. <readregistry
  134. property="sdkInstallRoot"
  135. key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv1.1"
  136. hive="LocalMachine"
  137. failonerror="false" />
  138. </project>
  139. <tasks>
  140. <task name="csc">
  141. <attribute name="exename">csc</attribute>
  142. <attribute name="supportsnowarnlist">true</attribute>
  143. </task>
  144. <task name="vbc">
  145. <attribute name="exename">vbc</attribute>
  146. </task>
  147. <task name="jsc">
  148. <attribute name="exename">jsc</attribute>
  149. </task>
  150. <task name="vjc">
  151. <attribute name="exename">vjc</attribute>
  152. <attribute name="supportsnowarnlist">true</attribute>
  153. </task>
  154. <task name="resgen">
  155. <attribute name="exename">resgen</attribute>
  156. </task>
  157. <task name="al">
  158. <attribute name="exename">al</attribute>
  159. </task>
  160. <task name="delay-sign">
  161. <attribute name="exename">sn</attribute>
  162. </task>
  163. <task name="license">
  164. <attribute name="exename">lc</attribute>
  165. </task>
  166. <task name="ilasm">
  167. <attribute name="exename">ilasm</attribute>
  168. </task>
  169. <task name="ildasm">
  170. <attribute name="exename">ildasm</attribute>
  171. </task>
  172. </tasks>
  173. </framework>
  174. <framework
  175. name="net-2.0"
  176. family="net"
  177. version="2.0"
  178. description="Microsoft .NET Framework 2.0"
  179. runtimeengine=""
  180. sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
  181. frameworkdirectory="${path::combine(installRoot, 'v2.0.50727')}"
  182. frameworkassemblydirectory="${path::combine(installRoot, 'v2.0.50727')}"
  183. clrversion="2.0.50727"
  184. >
  185. <task-assemblies>
  186. <!-- include .NET specific assemblies -->
  187. <include name="tasks/net/*.dll" />
  188. <!-- include .NET 2.0 specific assemblies -->
  189. <include name="tasks/net/2.0/**/*.dll" />
  190. <!-- include Microsoft.NET specific task assembly -->
  191. <include name="NAnt.MSNetTasks.dll" />
  192. <!-- include Microsoft.NET specific test assembly -->
  193. <include name="NAnt.MSNet.Tests.dll" />
  194. </task-assemblies>
  195. <project>
  196. <readregistry
  197. property="installRoot"
  198. key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
  199. hive="LocalMachine" />
  200. <readregistry
  201. property="sdkInstallRoot"
  202. key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv2.0"
  203. hive="LocalMachine"
  204. failonerror="false" />
  205. </project>
  206. <tasks>
  207. <task name="csc">
  208. <attribute name="exename">csc</attribute>
  209. <attribute name="supportsnowarnlist">true</attribute>
  210. <attribute name="supportswarnaserrorlist">true</attribute>
  211. <attribute name="supportskeycontainer">true</attribute>
  212. <attribute name="supportskeyfile">true</attribute>
  213. <attribute name="supportsplatform">true</attribute>
  214. <attribute name="supportslangversion">true</attribute>
  215. </task>
  216. <task name="vbc">
  217. <attribute name="exename">vbc</attribute>
  218. <attribute name="supportsdocgeneration">true</attribute>
  219. <attribute name="supportsnostdlib">true</attribute>
  220. <attribute name="supportsnowarnlist">true</attribute>
  221. <attribute name="supportskeycontainer">true</attribute>
  222. <attribute name="supportskeyfile">true</attribute>
  223. <attribute name="supportsplatform">true</attribute>
  224. <attribute name="supportswarnaserrorlist">true</attribute>
  225. </task>
  226. <task name="jsc">
  227. <attribute name="exename">jsc</attribute>
  228. <attribute name="supportsplatform">true</attribute>
  229. </task>
  230. <task name="vjc">
  231. <attribute name="exename">vjc</attribute>
  232. <attribute name="supportsnowarnlist">true</attribute>
  233. <attribute name="supportskeycontainer">true</attribute>
  234. <attribute name="supportskeyfile">true</attribute>
  235. </task>
  236. <task name="resgen">
  237. <attribute name="exename">resgen</attribute>
  238. <attribute name="supportsassemblyreferences">true</attribute>
  239. <attribute name="supportsexternalfilereferences">true</attribute>
  240. </task>
  241. <task name="al">
  242. <attribute name="exename">al</attribute>
  243. </task>
  244. <task name="delay-sign">
  245. <attribute name="exename">sn</attribute>
  246. </task>
  247. <task name="license">
  248. <attribute name="exename">lc</attribute>
  249. <attribute name="supportsassemblyreferences">true</attribute>
  250. </task>
  251. <task name="ilasm">
  252. <attribute name="exename">ilasm</attribute>
  253. </task>
  254. <task name="ildasm">
  255. <attribute name="exename">ildasm</attribute>
  256. </task>
  257. </tasks>
  258. </framework>
  259. <framework name="net-3.5" family="net" version="3.5" description="Microsoft .NET Framework 3.5" runtimeengine="" sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}" frameworkdirectory="${path::combine(installRoot, 'v3.5')}" frameworkassemblydirectory="${path::combine(installRoot, 'v2.0.50727')}" clrversion="2.0.50727">
  260. <task-assemblies>
  261. <!-- include .NET specific assemblies -->
  262. <include name="tasks/net/*.dll" />
  263. <!-- include .NET 2.0 specific assemblies -->
  264. <include name="tasks/net/2.0/**/*.dll" />
  265. <!-- include Microsoft.NET specific task assembly -->
  266. <include name="NAnt.MSNetTasks.dll" />
  267. <!-- include Microsoft.NET specific test assembly -->
  268. <include name="NAnt.MSNet.Tests.dll" />
  269. </task-assemblies>
  270. <project>
  271. <readregistry property="installRoot" key="SOFTWARE\Microsoft\.NETFramework\InstallRoot" hive="LocalMachine" />
  272. <readregistry property="sdkInstallRoot" key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv2.0" hive="LocalMachine" failonerror="false" />
  273. </project>
  274. <tasks>
  275. <task name="csc">
  276. <attribute name="exename">csc</attribute>
  277. <attribute name="supportsnowarnlist">true</attribute>
  278. <attribute name="supportswarnaserrorlist">true</attribute>
  279. <attribute name="supportskeycontainer">true</attribute>
  280. <attribute name="supportskeyfile">true</attribute>
  281. <attribute name="supportsplatform">true</attribute>
  282. <attribute name="supportslangversion">true</attribute>
  283. </task>
  284. <task name="vbc">
  285. <attribute name="exename">vbc</attribute>
  286. <attribute name="supportsdocgeneration">true</attribute>
  287. <attribute name="supportsnostdlib">true</attribute>
  288. <attribute name="supportsnowarnlist">true</attribute>
  289. <attribute name="supportskeycontainer">true</attribute>
  290. <attribute name="supportskeyfile">true</attribute>
  291. <attribute name="supportsplatform">true</attribute>
  292. <attribute name="supportswarnaserrorlist">true</attribute>
  293. </task>
  294. <task name="jsc">
  295. <attribute name="exename">jsc</attribute>
  296. <attribute name="supportsplatform">true</attribute>
  297. </task>
  298. <task name="vjc">
  299. <attribute name="exename">vjc</attribute>
  300. <attribute name="supportsnowarnlist">true</attribute>
  301. <attribute name="supportskeycontainer">true</attribute>
  302. <attribute name="supportskeyfile">true</attribute>
  303. </task>
  304. <task name="resgen">
  305. <attribute name="exename">resgen</attribute>
  306. <attribute name="supportsassemblyreferences">true</attribute>
  307. <attribute name="supportsexternalfilereferences">true</attribute>
  308. </task>
  309. <task name="al">
  310. <attribute name="exename">al</attribute>
  311. </task>
  312. <task name="delay-sign">
  313. <attribute name="exename">sn</attribute>
  314. </task>
  315. <task name="license">
  316. <attribute name="exename">lc</attribute>
  317. <attribute name="supportsassemblyreferences">true</attribute>
  318. </task>
  319. <task name="ilasm">
  320. <attribute name="exename">ilasm</attribute>
  321. </task>
  322. <task name="ildasm">
  323. <attribute name="exename">ildasm</attribute>
  324. </task>
  325. </tasks>
  326. </framework>
  327. <framework
  328. name="net-2.0"
  329. family="net"
  330. version="2.0"
  331. description="Microsoft .NET Framework 2.0 Beta 2"
  332. runtimeengine=""
  333. sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
  334. frameworkdirectory="${path::combine(installRoot, 'v2.0.50215')}"
  335. frameworkassemblydirectory="${path::combine(installRoot, 'v2.0.50215')}"
  336. clrversion="2.0.50215"
  337. >
  338. <task-assemblies>
  339. <!-- include .NET specific assemblies -->
  340. <include name="tasks/net/*.dll" />
  341. <!-- include .NET 2.0 specific assemblies -->
  342. <include name="tasks/net/2.0/**/*.dll" />
  343. <!-- include Microsoft.NET specific task assembly -->
  344. <include name="NAnt.MSNetTasks.dll" />
  345. <!-- include Microsoft.NET specific test assembly -->
  346. <include name="NAnt.MSNet.Tests.dll" />
  347. </task-assemblies>
  348. <project>
  349. <readregistry
  350. property="installRoot"
  351. key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
  352. hive="LocalMachine" />
  353. <readregistry
  354. property="sdkInstallRoot"
  355. key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv2.0"
  356. hive="LocalMachine"
  357. failonerror="false" />
  358. </project>
  359. <tasks>
  360. <task name="csc">
  361. <attribute name="exename">csc</attribute>
  362. <attribute name="supportsnowarnlist">true</attribute>
  363. <attribute name="supportswarnaserrorlist">true</attribute>
  364. <attribute name="supportskeycontainer">true</attribute>
  365. <attribute name="supportskeyfile">true</attribute>
  366. <attribute name="supportsplatform">true</attribute>
  367. <attribute name="supportslangversion">true</attribute>
  368. </task>
  369. <task name="vbc">
  370. <attribute name="exename">vbc</attribute>
  371. <attribute name="supportsdocgeneration">true</attribute>
  372. <attribute name="supportsnostdlib">true</attribute>
  373. <attribute name="supportsnowarnlist">true</attribute>
  374. <attribute name="supportskeycontainer">true</attribute>
  375. <attribute name="supportskeyfile">true</attribute>
  376. <attribute name="supportsplatform">true</attribute>
  377. <attribute name="supportswarnaserrorlist">true</attribute>
  378. </task>
  379. <task name="jsc">
  380. <attribute name="exename">jsc</attribute>
  381. <attribute name="supportsplatform">true</attribute>
  382. </task>
  383. <task name="vjc">
  384. <attribute name="exename">vjc</attribute>
  385. <attribute name="supportsnowarnlist">true</attribute>
  386. <attribute name="supportskeycontainer">true</attribute>
  387. <attribute name="supportskeyfile">true</attribute>
  388. </task>
  389. <task name="resgen">
  390. <attribute name="exename">resgen</attribute>
  391. <attribute name="supportsassemblyreferences">true</attribute>
  392. <attribute name="supportsexternalfilereferences">true</attribute>
  393. </task>
  394. <task name="al">
  395. <attribute name="exename">al</attribute>
  396. </task>
  397. <task name="delay-sign">
  398. <attribute name="exename">sn</attribute>
  399. </task>
  400. <task name="license">
  401. <attribute name="exename">lc</attribute>
  402. <attribute name="supportsassemblyreferences">true</attribute>
  403. </task>
  404. <task name="ilasm">
  405. <attribute name="exename">ilasm</attribute>
  406. </task>
  407. <task name="ildasm">
  408. <attribute name="exename">ildasm</attribute>
  409. </task>
  410. </tasks>
  411. </framework>
  412. <framework
  413. name="net-2.0"
  414. family="net"
  415. version="2.0"
  416. description="Microsoft .NET Framework 2.0 Beta 1"
  417. runtimeengine=""
  418. sdkdirectory="${path::combine(sdkInstallRoot, 'bin')}"
  419. frameworkdirectory="${path::combine(installRoot, 'v2.0.40607')}"
  420. frameworkassemblydirectory="${path::combine(installRoot, 'v2.0.40607')}"
  421. clrversion="2.0.40607"
  422. >
  423. <task-assemblies>
  424. <!-- include .NET specific assemblies -->
  425. <include name="tasks/net/*.dll" />
  426. <!-- include .NET 2.0 specific assemblies -->
  427. <include name="tasks/net/2.0/**/*.dll" />
  428. <!-- include Microsoft.NET specific task assembly -->
  429. <include name="NAnt.MSNetTasks.dll" />
  430. <!-- include Microsoft.NET specific test assembly -->
  431. <include name="NAnt.MSNet.Tests.dll" />
  432. </task-assemblies>
  433. <project>
  434. <readregistry
  435. property="installRoot"
  436. key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
  437. hive="LocalMachine" />
  438. <readregistry
  439. property="sdkInstallRoot"
  440. key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv2.0"
  441. hive="LocalMachine"
  442. failonerror="false" />
  443. </project>
  444. <tasks>
  445. <task name="csc">
  446. <attribute name="exename">csc</attribute>
  447. <attribute name="supportsnowarnlist">true</attribute>
  448. <attribute name="supportswarnaserrorlist">true</attribute>
  449. <attribute name="supportskeycontainer">true</attribute>
  450. <attribute name="supportskeyfile">true</attribute>
  451. <attribute name="supportsplatform">true</attribute>
  452. <attribute name="supportslangversion">true</attribute>
  453. </task>
  454. <task name="vbc">
  455. <attribute name="exename">vbc</attribute>
  456. <attribute name="supportsdocgeneration">true</attribute>
  457. <attribute name="supportsnostdlib">true</attribute>
  458. <attribute name="supportsnowarnlist">true</attribute>
  459. <attribute name="supportskeycontainer">true</attribute>
  460. <attribute name="supportskeyfile">true</attribute>
  461. <attribute name="supportsplatform">true</attribute>
  462. <attribute name="supportswarnaserrorlist">true</attribute>
  463. </task>
  464. <task name="jsc">
  465. <attribute name="exename">jsc</attribute>
  466. <attribute name="supportsplatform">true</attribute>
  467. </task>
  468. <task name="vjc">
  469. <attribute name="exename">vjc</attribute>
  470. <attribute name="supportsnowarnlist">true</attribute>
  471. <attribute name="supportskeycontainer">true</attribute>
  472. <attribute name="supportskeyfile">true</attribute>
  473. </task>
  474. <task name="resgen">
  475. <attribute name="exename">resgen</attribute>
  476. <attribute name="supportsassemblyreferences">true</attribute>
  477. <attribute name="supportsexternalfilereferences">true</attribute>
  478. </task>
  479. <task name="al">
  480. <attribute name="exename">al</attribute>
  481. </task>
  482. <task name="delay-sign">
  483. <attribute name="exename">sn</attribute>
  484. </task>
  485. <task name="license">
  486. <attribute name="exename">lc</attribute>
  487. <attribute name="supportsassemblyreferences">true</attribute>
  488. </task>
  489. <task name="ilasm">
  490. <attribute name="exename">ilasm</attribute>
  491. </task>
  492. <task name="ildasm">
  493. <attribute name="exename">ildasm</attribute>
  494. </task>
  495. </tasks>
  496. </framework>
  497. <framework
  498. name="netcf-1.0"
  499. family="netcf"
  500. version="1.0"
  501. description="Microsoft .NET Compact Framework 1.0"
  502. runtimeengine=""
  503. sdkdirectory="${path::combine(sdkInstallRoot, 'v1.0.5000\bin')}"
  504. frameworkdirectory="${path::combine(installRoot, 'v1.1.4322')}"
  505. frameworkassemblydirectory="${path::combine(sdkInstallRoot, 'v1.0.5000\Windows CE')}"
  506. clrversion="1.1.4322"
  507. >
  508. <task-assemblies>
  509. <!-- this is not a supported runtime framework -->
  510. </task-assemblies>
  511. <project>
  512. <readregistry
  513. property="installRoot"
  514. key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
  515. hive="LocalMachine" />
  516. <readregistry
  517. property="sdkInstallRoot"
  518. key="SOFTWARE\Microsoft\.NETCompactFramework\sdkInstallRoot"
  519. hive="LocalMachine" />
  520. <readregistry
  521. property="sdkInstallRoot.DesktopFramework"
  522. key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv1.1"
  523. hive="LocalMachine" />
  524. <fail if="${not directory::exists(sdkInstallRoot.DesktopFramework)}">The .NET Framework 1.1 SDK is not installed.</fail>
  525. </project>
  526. <tasks>
  527. <task name="csc">
  528. <attribute name="exename">csc</attribute>
  529. <attribute name="noconfig">true</attribute>
  530. <attribute name="nostdlib">true</attribute>
  531. <attribute name="supportsnowarnlist">true</attribute>
  532. </task>
  533. <task name="vbc">
  534. <attribute name="exename">vbc</attribute>
  535. </task>
  536. <task name="resgen">
  537. <attribute name="exename">cfresgen</attribute>
  538. </task>
  539. <task name="al">
  540. <attribute name="exename">al</attribute>
  541. </task>
  542. <task name="delay-sign">
  543. <attribute name="exename">sn</attribute>
  544. </task>
  545. <task name="license">
  546. <attribute name="exename">${path::combine(sdkInstallRoot.DesktopFramework, 'bin/lc.exe')}</attribute>
  547. </task>
  548. <task name="ilasm">
  549. <attribute name="exename">ilasm</attribute>
  550. </task>
  551. <task name="ildasm">
  552. <attribute name="exename">ildasm</attribute>
  553. </task>
  554. </tasks>
  555. </framework>
  556. <framework
  557. name="netcf-2.0"
  558. family="netcf"
  559. version="2.0"
  560. description="Microsoft .NET Compact Framework 2.0"
  561. runtimeengine=""
  562. sdkdirectory="${path::combine(sdkInstallRoot.DesktopFramework, 'bin')}"
  563. frameworkdirectory="${path::combine(installRoot, 'v2.0.50727')}"
  564. frameworkassemblydirectory="${path::combine(sdkInstallRoot, 'WindowsCE')}"
  565. clrversion="2.0.0"
  566. >
  567. <task-assemblies>
  568. <!-- this is not a supported runtime framework -->
  569. </task-assemblies>
  570. <project>
  571. <readregistry
  572. property="installRoot"
  573. key="SOFTWARE\Microsoft\.NETFramework\InstallRoot"
  574. hive="LocalMachine" />
  575. <readregistry
  576. property="sdkInstallRoot"
  577. key="SOFTWARE\Microsoft\.NETCompactFramework\v2.0.0.0\InstallRoot\"
  578. hive="LocalMachine" />
  579. <readregistry
  580. property="sdkInstallRoot.DesktopFramework"
  581. key="SOFTWARE\Microsoft\.NETFramework\sdkInstallRootv2.0"
  582. hive="LocalMachine" />
  583. <fail if="${not directory::exists(sdkInstallRoot.DesktopFramework)}">The .NET Framework 2.0 SDK is not installed.</fail>
  584. </project>
  585. <tasks>
  586. <task name="csc">
  587. <attribute name="exename">csc</attribute>
  588. <attribute name="noconfig">true</attribute>
  589. <attribute name="nostdlib">true</attribute>
  590. <attribute name="supportsnowarnlist">true</attribute>
  591. </task>
  592. <task name="vbc">
  593. <attribute name="exename">vbc</attribute>
  594. <attribute name="supportsnostdlib">true</attribute>
  595. </task>
  596. <task name="resgen">
  597. <attribute name="exename">resgen</attribute>
  598. </task>
  599. <task name="al">
  600. <attribute name="exename">al</attribute>
  601. </task>
  602. <task name="delay-sign">
  603. <attribute name="exename">sn</attribute>
  604. </task>
  605. <task name="license">
  606. <attribute name="exename">lc</attribute>
  607. <attribute name="supportsassemblyreferences">true</attribute>
  608. </task>
  609. <task name="ilasm">
  610. <attribute name="exename">ilasm</attribute>
  611. </task>
  612. <task name="ildasm">
  613. <attribute name="exename">ildasm</attribute>
  614. </task>
  615. </tasks>
  616. </framework>
  617. <framework
  618. name="mono-1.0"
  619. family="mono"
  620. version="1.0"
  621. description="Mono 1.0 Profile"
  622. runtimeengine="${runtimeEngine}"
  623. sdkdirectory="${sdkDirectory}"
  624. frameworkdirectory="${frameworkDirectory}"
  625. frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}"
  626. clrversion="1.1.4322"
  627. >
  628. <task-assemblies>
  629. <!-- include Mono specific assemblies -->
  630. <include name="tasks/mono/*.dll" />
  631. <!-- include Mono 1.0 specific assemblies -->
  632. <include name="tasks/mono/1.0/**/*.dll" />
  633. </task-assemblies>
  634. <project>
  635. <!-- quick and dirty check to see if pkg-config is available (and configured) -->
  636. <property name="pkgconfig.available" value="${environment::variable-exists('PKG_CONFIG_PATH')}" />
  637. <if test="${pkgconfig.available}">
  638. <if test="${pkg-config::exists('mono')}">
  639. <call target="configure-from-pkg-config" />
  640. </if>
  641. <if test="${not pkg-config::exists('mono')}">
  642. <call target="configure-from-registry" />
  643. </if>
  644. </if>
  645. <if test="${not pkgconfig.available}">
  646. <call target="configure-from-registry" />
  647. </if>
  648. <!-- determine if we're dealing with a Mono 1.0.x release -->
  649. <if test="${version::get-major(version::parse(mono.version)) == 1 and version::get-minor(version::parse(mono.version)) == 0}">
  650. <!--
  651. in Mono 1.0.x, the framework tools are located
  652. in the <install root>\lib directory
  653. -->
  654. <property name="frameworkDirectory" value="${frameworkAssemblyDirectory}" />
  655. <property name="sdkDirectory" value="${frameworkAssemblyDirectory}" />
  656. <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
  657. <property name="resgen.tool" value="monoresgen" />
  658. <!-- in Mono 1.0.x, only mcs and mbas are located in <install root>\lib\mono\<profile> -->
  659. <property name="csc.tool" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mcs.exe')}" />
  660. <property name="mbas.tool" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mbas.exe')}" />
  661. <!-- /doc is not supported in Mono 1.0.x -->
  662. <property name="csc.supportsdocgeneration" value="false" />
  663. <!--
  664. Mono 1.0.1 installer incorrectly adds '\mono' to
  665. "MonoConfigDir" registry value
  666. -->
  667. <if test="${string::ends-with(configDir, 'etc\mono')}">
  668. <property name="configDir" value="${string::replace(configDir, 'etc\mono', 'etc')}" />
  669. </if>
  670. </if>
  671. <!-- determine if we're NOT dealing with a Mono 1.0.x release -->
  672. <if test="${version::get-major(version::parse(mono.version)) != 1 or version::get-minor(version::parse(mono.version)) != 0}">
  673. <!--
  674. in Mono 1.1.x (and higher ?), the framework tools
  675. are located in the <install root>\lib\mono\<profile>
  676. directory
  677. -->
  678. <property name="frameworkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
  679. <property name="sdkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
  680. <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
  681. <!-- starting from Mono 1.1.9.2, mono.exe is located in the bin directory -->
  682. <if test="${not file::exists(runtimeEngine)}">
  683. <property name="runtimeEngine" value="${path::combine(sdkInstallRoot, 'bin/mono.exe')}" />
  684. </if>
  685. <property name="resgen.tool" value="resgen" />
  686. <property name="csc.tool" value="mcs" />
  687. <property name="csc.supportsdocgeneration" value="true" />
  688. <property name="mbas.tool" value="mbas" />
  689. </if>
  690. <target name="configure-from-pkg-config">
  691. <property name="mono.version" value="${pkg-config::get-mod-version('mono')}" />
  692. <property name="sdkInstallRoot" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'prefix'))}" />
  693. <property name="frameworkAssemblyDirectory" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'libdir'))}" />
  694. <property name="configDir" value="${path::combine(sdkInstallRoot, 'etc/mono')}/" />
  695. </target>
  696. <target name="configure-from-registry">
  697. <!--
  698. first try using the DefaultCLR in HKLM\Novell\Mono,
  699. this is used by the Mono 1.0.1 installer (and later?)
  700. -->
  701. <readregistry
  702. property="mono.version"
  703. key="SOFTWARE\Novell\Mono\DefaultCLR"
  704. hive="LocalMachine"
  705. failonerror="false"
  706. />
  707. <if test="${property::exists('mono.version')}">
  708. <property name="monokey" value="SOFTWARE\Novell\Mono\${mono.version}" />
  709. </if>
  710. <!--
  711. if the DefaultCLR registry value does not exist in
  712. HKLM\Novell\Mono, then try the HKML\Mono registry
  713. key as this was used for the Mono 1.0 installer
  714. -->
  715. <if test="${not property::exists('mono.version')}">
  716. <readregistry
  717. property="mono.version"
  718. key="SOFTWARE\Mono\DefaultCLR"
  719. hive="LocalMachine"
  720. />
  721. <property name="monokey" value="SOFTWARE\Mono\${mono.version}" />
  722. </if>
  723. <readregistry
  724. property="sdkInstallRoot"
  725. key="${monokey}\SdkInstallRoot"
  726. hive="LocalMachine" />
  727. <readregistry
  728. property="frameworkAssemblyDirectory"
  729. key="${monokey}\FrameworkAssemblyDirectory"
  730. hive="LocalMachine" />
  731. <readregistry
  732. property="configDir"
  733. key="${monokey}\MonoConfigDir"
  734. hive="LocalMachine" />
  735. </target>
  736. </project>
  737. <properties>
  738. </properties>
  739. <environment>
  740. <env name="PATH" path="${path::combine(sdkInstallRoot, 'bin')};%PATH%" />
  741. <env name="MONO_CFG_DIR" path="${configDir};%MONO_CFG_DIR%" />
  742. </environment>
  743. <tasks>
  744. <task name="al">
  745. <attribute name="exename">al</attribute>
  746. <attribute name="useruntimeengine">true</attribute>
  747. </task>
  748. <task name="csc">
  749. <attribute name="exename">${csc.tool}</attribute>
  750. <attribute name="useruntimeengine">true</attribute>
  751. <attribute name="supportspackagereferences">true</attribute>
  752. <attribute name="supportsnowarnlist">true</attribute>
  753. <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
  754. <attribute name="supportskeycontainer">true</attribute>
  755. <attribute name="supportskeyfile">true</attribute>
  756. <attribute name="supportslangversion">true</attribute>
  757. </task>
  758. <task name="vbc">
  759. <attribute name="exename">${mbas.tool}</attribute>
  760. <attribute name="useruntimeengine">true</attribute>
  761. </task>
  762. <task name="resgen">
  763. <attribute name="exename">${resgen.tool}</attribute>
  764. <attribute name="useruntimeengine">true</attribute>
  765. </task>
  766. <task name="delay-sign">
  767. <attribute name="exename">sn</attribute>
  768. <attribute name="useruntimeengine">true</attribute>
  769. </task>
  770. <task name="license">
  771. <attribute name="hascommandlinecompiler">false</attribute>
  772. </task>
  773. <task name="ilasm">
  774. <attribute name="exename">ilasm</attribute>
  775. <attribute name="useruntimeengine">true</attribute>
  776. </task>
  777. </tasks>
  778. </framework>
  779. <framework
  780. name="mono-2.0"
  781. family="mono"
  782. version="2.0"
  783. description="Mono 2.0 Profile"
  784. runtimeengine="${runtimeEngine}"
  785. sdkdirectory="${sdkDirectory}"
  786. frameworkdirectory="${frameworkDirectory}"
  787. frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}"
  788. clrversion="2.0.50727"
  789. >
  790. <task-assemblies>
  791. <!-- include Mono specific assemblies -->
  792. <include name="tasks/mono/*.dll" />
  793. <!-- include Mono 1.0 specific assemblies -->
  794. <include name="tasks/mono/2.0/**/*.dll" />
  795. </task-assemblies>
  796. <project>
  797. <!-- quick and dirty check to see if pkg-config is available (and configured) -->
  798. <property name="pkgconfig.available" value="${environment::variable-exists('PKG_CONFIG_PATH')}" />
  799. <if test="${pkgconfig.available}">
  800. <if test="${pkg-config::exists('mono')}">
  801. <call target="configure-from-pkg-config" />
  802. </if>
  803. <if test="${not pkg-config::exists('mono')}">
  804. <call target="configure-from-registry" />
  805. </if>
  806. </if>
  807. <if test="${not pkgconfig.available}">
  808. <call target="configure-from-registry" />
  809. </if>
  810. <!-- determine if we're dealing with a Mono 1.0.x release -->
  811. <if test="${version::get-major(version::parse(mono.version)) == 1 and version::get-minor(version::parse(mono.version)) == 0}">
  812. <!--
  813. in Mono 1.0.x, the framework tools are located
  814. in the <install root>\lib directory, except for
  815. mbas and mcs
  816. -->
  817. <property name="frameworkDirectory" value="${frameworkAssemblyDirectory}" />
  818. <property name="sdkDirectory" value="${frameworkAssemblyDirectory}" />
  819. <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
  820. <property name="resgen.tool" value="monoresgen" />
  821. <property name="csc.supportsdocgeneration" value="false" />
  822. <!--
  823. Mono 1.0.1 installer incorrectly adds '\mono' to
  824. "MonoConfigDir" registry value
  825. -->
  826. <if test="${string::ends-with(configDir, 'etc\mono')}">
  827. <property name="configDir" value="${string::replace(configDir, 'etc\mono', 'etc')}" />
  828. </if>
  829. </if>
  830. <!-- determine if we're NOT dealing with a Mono 1.0.x release -->
  831. <if test="${version::get-major(version::parse(mono.version)) != 1 or version::get-minor(version::parse(mono.version)) != 0}">
  832. <!--
  833. in Mono 1.1.x (and higher ?), all the framework
  834. tools are located in the <install root>\lib\mono\<profile>
  835. directory
  836. however, for now only (g)mcs and wsdl2 are available
  837. for the 2.0 profile, for the other tools we should
  838. use the 1.0 profile version
  839. -->
  840. <!--
  841. <property name="frameworkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
  842. <property name="sdkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
  843. -->
  844. <property name="frameworkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
  845. <property name="sdkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
  846. <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
  847. <!-- starting from Mono 1.1.9.2, mono.exe is located in the bin directory -->
  848. <if test="${not file::exists(runtimeEngine)}">
  849. <property name="runtimeEngine" value="${path::combine(sdkInstallRoot, 'bin/mono.exe')}" />
  850. </if>
  851. <!-- in Mono 1.2 (and higher), there's a 2.0 profile version of resgen -->
  852. <property name="resgen.tool" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0/resgen.exe')}" />
  853. <if test="${not file::exists(resgen.tool)}">
  854. <!-- if the 2.0 profile version does not exist, then fallback to the 1.0 profile version -->
  855. <property name="resgen.tool" value="resgen" />
  856. </if>
  857. <property name="csc.supportsdocgeneration" value="true" />
  858. </if>
  859. <target name="configure-from-pkg-config">
  860. <property name="mono.version" value="${pkg-config::get-mod-version('mono')}" />
  861. <property name="sdkInstallRoot" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'prefix'))}" />
  862. <property name="frameworkAssemblyDirectory" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'libdir'))}" />
  863. <property name="configDir" value="${path::combine(sdkInstallRoot, 'etc/mono')}/" />
  864. </target>
  865. <target name="configure-from-registry">
  866. <!--
  867. first try using the DefaultCLR in HKLM\Novell\Mono,
  868. this is used by the Mono 1.0.1 installer (and later?)
  869. -->
  870. <readregistry
  871. property="mono.version"
  872. key="SOFTWARE\Novell\Mono\DefaultCLR"
  873. hive="LocalMachine"
  874. failonerror="false"
  875. />
  876. <if test="${property::exists('mono.version')}">
  877. <property name="monokey" value="SOFTWARE\Novell\Mono\${mono.version}" />
  878. </if>
  879. <!--
  880. if the DefaultCLR registry value does not exist in
  881. HKLM\Novell\Mono, then try the HKML\Mono registry
  882. key as this was used for the Mono 1.0 installer
  883. -->
  884. <if test="${not property::exists('mono.version')}">
  885. <readregistry
  886. property="mono.version"
  887. key="SOFTWARE\Mono\DefaultCLR"
  888. hive="LocalMachine"
  889. />
  890. <property name="monokey" value="SOFTWARE\Mono\${mono.version}" />
  891. </if>
  892. <readregistry
  893. property="sdkInstallRoot"
  894. key="${monokey}\SdkInstallRoot"
  895. hive="LocalMachine" />
  896. <readregistry
  897. property="frameworkAssemblyDirectory"
  898. key="${monokey}\FrameworkAssemblyDirectory"
  899. hive="LocalMachine" />
  900. <readregistry
  901. property="configDir"
  902. key="${monokey}\MonoConfigDir"
  903. hive="LocalMachine" />
  904. </target>
  905. </project>
  906. <properties>
  907. </properties>
  908. <environment>
  909. <env name="PATH" path="${path::combine(sdkInstallRoot, 'bin')};%PATH%" />
  910. <env name="MONO_CFG_DIR" path="${configDir};%MONO_CFG_DIR%" />
  911. </environment>
  912. <tasks>
  913. <task name="al">
  914. <attribute name="exename">al</attribute>
  915. <attribute name="useruntimeengine">true</attribute>
  916. </task>
  917. <task name="csc">
  918. <attribute name="exename">${path::combine(frameworkAssemblyDirectory, 'mono/2.0/gmcs.exe')}</attribute>
  919. <attribute name="useruntimeengine">true</attribute>
  920. <attribute name="supportspackagereferences">true</attribute>
  921. <attribute name="supportsnowarnlist">true</attribute>
  922. <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
  923. <attribute name="supportskeycontainer">true</attribute>
  924. <attribute name="supportskeyfile">true</attribute>
  925. <attribute name="supportslangversion">true</attribute>
  926. </task>
  927. <task name="vbc">
  928. <!-- there is no mbas for the 2.0 profile yet -->
  929. <attribute name="exename">${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mbas.exe')}</attribute>
  930. <attribute name="useruntimeengine">true</attribute>
  931. </task>
  932. <task name="resgen">
  933. <attribute name="exename">${resgen.tool}</attribute>
  934. <attribute name="useruntimeengine">true</attribute>
  935. </task>
  936. <task name="delay-sign">
  937. <attribute name="exename">sn</attribute>
  938. <attribute name="useruntimeengine">true</attribute>
  939. </task>
  940. <task name="license">
  941. <attribute name="hascommandlinecompiler">false</attribute>
  942. </task>
  943. <task name="ilasm">
  944. <attribute name="exename">ilasm</attribute>
  945. <attribute name="useruntimeengine">true</attribute>
  946. </task>
  947. </tasks>
  948. </framework>
  949. <framework
  950. name="mono-2.0"
  951. family="mono"
  952. version="2.0"
  953. description="Mono 2.0 Profile"
  954. runtimeengine="${runtimeEngine}"
  955. sdkdirectory="${sdkDirectory}"
  956. frameworkdirectory="${frameworkDirectory}"
  957. frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}"
  958. clrversion="2.0.50215"
  959. >
  960. <task-assemblies>
  961. <!-- include Mono specific assemblies -->
  962. <include name="tasks/mono/*.dll" />
  963. <!-- include Mono 1.0 specific assemblies -->
  964. <include name="tasks/mono/2.0/**/*.dll" />
  965. </task-assemblies>
  966. <project>
  967. <!-- quick and dirty check to see if pkg-config is available (and configured) -->
  968. <property name="pkgconfig.available" value="${environment::variable-exists('PKG_CONFIG_PATH')}" />
  969. <if test="${pkgconfig.available}">
  970. <if test="${pkg-config::exists('mono')}">
  971. <call target="configure-from-pkg-config" />
  972. </if>
  973. <if test="${not pkg-config::exists('mono')}">
  974. <call target="configure-from-registry" />
  975. </if>
  976. </if>
  977. <if test="${not pkgconfig.available}">
  978. <call target="configure-from-registry" />
  979. </if>
  980. <!-- determine if we're dealing with a Mono 1.0.x release -->
  981. <if test="${version::get-major(version::parse(mono.version)) == 1 and version::get-minor(version::parse(mono.version)) == 0}">
  982. <!--
  983. in Mono 1.0.x, the framework tools are located
  984. in the <install root>\lib directory, except for
  985. mbas and mcs
  986. -->
  987. <property name="frameworkDirectory" value="${frameworkAssemblyDirectory}" />
  988. <property name="sdkDirectory" value="${frameworkAssemblyDirectory}" />
  989. <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
  990. <property name="resgen.tool" value="monoresgen" />
  991. <property name="csc.supportsdocgeneration" value="false" />
  992. <!--
  993. Mono 1.0.1 installer incorrectly adds '\mono' to
  994. "MonoConfigDir" registry value
  995. -->
  996. <if test="${string::ends-with(configDir, 'etc\mono')}">
  997. <property name="configDir" value="${string::replace(configDir, 'etc\mono', 'etc')}" />
  998. </if>
  999. </if>
  1000. <!-- determine if we're NOT dealing with a Mono 1.0.x release -->
  1001. <if test="${version::get-major(version::parse(mono.version)) != 1 or version::get-minor(version::parse(mono.version)) != 0}">
  1002. <!--
  1003. in Mono 1.1.x (and higher ?), all the framework
  1004. tools are located in the <install root>\lib\mono\<profile>
  1005. directory
  1006. however, for now only (g)mcs and wsdl2 are available
  1007. for the 2.0 profile, for the other tools we should
  1008. use the 1.0 profile version
  1009. -->
  1010. <!--
  1011. <property name="frameworkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
  1012. <property name="sdkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
  1013. -->
  1014. <property name="frameworkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
  1015. <property name="sdkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
  1016. <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
  1017. <!-- starting from Mono 1.1.9.2, mono.exe is located in the bin directory -->
  1018. <if test="${not file::exists(runtimeEngine)}">
  1019. <property name="runtimeEngine" value="${path::combine(sdkInstallRoot, 'bin/mono.exe')}" />
  1020. </if>
  1021. <!-- in Mono 1.2 (and higher), there's a 2.0 profile version of resgen -->
  1022. <property name="resgen.tool" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0/resgen.exe')}" />
  1023. <if test="${not file::exists(resgen.tool)}">
  1024. <!-- if the 2.0 profile version does not exist, then fallback to the 1.0 profile version -->
  1025. <property name="resgen.tool" value="resgen" />
  1026. </if>
  1027. <property name="csc.supportsdocgeneration" value="true" />
  1028. </if>
  1029. <target name="configure-from-pkg-config">
  1030. <property name="mono.version" value="${pkg-config::get-mod-version('mono')}" />
  1031. <property name="sdkInstallRoot" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'prefix'))}" />
  1032. <property name="frameworkAssemblyDirectory" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'libdir'))}" />
  1033. <property name="configDir" value="${path::combine(sdkInstallRoot, 'etc/mono')}/" />
  1034. </target>
  1035. <target name="configure-from-registry">
  1036. <!--
  1037. first try using the DefaultCLR in HKLM\Novell\Mono,
  1038. this is used by the Mono 1.0.1 installer (and later?)
  1039. -->
  1040. <readregistry
  1041. property="mono.version"
  1042. key="SOFTWARE\Novell\Mono\DefaultCLR"
  1043. hive="LocalMachine"
  1044. failonerror="false"
  1045. />
  1046. <if test="${property::exists('mono.version')}">
  1047. <property name="monokey" value="SOFTWARE\Novell\Mono\${mono.version}" />
  1048. </if>
  1049. <!--
  1050. if the DefaultCLR registry value does not exist in
  1051. HKLM\Novell\Mono, then try the HKML\Mono registry
  1052. key as this was used for the Mono 1.0 installer
  1053. -->
  1054. <if test="${not property::exists('mono.version')}">
  1055. <readregistry
  1056. property="mono.version"
  1057. key="SOFTWARE\Mono\DefaultCLR"
  1058. hive="LocalMachine"
  1059. />
  1060. <property name="monokey" value="SOFTWARE\Mono\${mono.version}" />
  1061. </if>
  1062. <readregistry
  1063. property="sdkInstallRoot"
  1064. key="${monokey}\SdkInstallRoot"
  1065. hive="LocalMachine" />
  1066. <readregistry
  1067. property="frameworkAssemblyDirectory"
  1068. key="${monokey}\FrameworkAssemblyDirectory"
  1069. hive="LocalMachine" />
  1070. <readregistry
  1071. property="configDir"
  1072. key="${monokey}\MonoConfigDir"
  1073. hive="LocalMachine" />
  1074. </target>
  1075. </project>
  1076. <properties>
  1077. </properties>
  1078. <environment>
  1079. <env name="PATH" path="${path::combine(sdkInstallRoot, 'bin')};%PATH%" />
  1080. <env name="MONO_CFG_DIR" path="${configDir};%MONO_CFG_DIR%" />
  1081. </environment>
  1082. <tasks>
  1083. <task name="al">
  1084. <attribute name="exename">al</attribute>
  1085. <attribute name="useruntimeengine">true</attribute>
  1086. </task>
  1087. <task name="csc">
  1088. <attribute name="exename">${path::combine(frameworkAssemblyDirectory, 'mono/2.0/gmcs.exe')}</attribute>
  1089. <attribute name="useruntimeengine">true</attribute>
  1090. <attribute name="supportspackagereferences">true</attribute>
  1091. <attribute name="supportsnowarnlist">true</attribute>
  1092. <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
  1093. <attribute name="supportskeycontainer">true</attribute>
  1094. <attribute name="supportskeyfile">true</attribute>
  1095. <attribute name="supportslangversion">true</attribute>
  1096. </task>
  1097. <task name="vbc">
  1098. <!-- there is no mbas for the 2.0 profile yet -->
  1099. <attribute name="exename">${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mbas.exe')}</attribute>
  1100. <attribute name="useruntimeengine">true</attribute>
  1101. </task>
  1102. <task name="resgen">
  1103. <attribute name="exename">${resgen.tool}</attribute>
  1104. <attribute name="useruntimeengine">true</attribute>
  1105. </task>
  1106. <task name="delay-sign">
  1107. <attribute name="exename">sn</attribute>
  1108. <attribute name="useruntimeengine">true</attribute>
  1109. </task>
  1110. <task name="license">
  1111. <attribute name="hascommandlinecompiler">false</attribute>
  1112. </task>
  1113. <task name="ilasm">
  1114. <attribute name="exename">ilasm</attribute>
  1115. <attribute name="useruntimeengine">true</attribute>
  1116. </task>
  1117. </tasks>
  1118. </framework>
  1119. <framework
  1120. name="mono-2.0"
  1121. family="mono"
  1122. version="2.0"
  1123. description="Mono 2.0 Profile"
  1124. runtimeengine="${runtimeEngine}"
  1125. sdkdirectory="${sdkDirectory}"
  1126. frameworkdirectory="${frameworkDirectory}"
  1127. frameworkassemblydirectory="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}"
  1128. clrversion="2.0.40607"
  1129. >
  1130. <task-assemblies>
  1131. <!-- include Mono specific assemblies -->
  1132. <include name="tasks/mono/*.dll" />
  1133. <!-- include Mono 1.0 specific assemblies -->
  1134. <include name="tasks/mono/2.0/**/*.dll" />
  1135. </task-assemblies>
  1136. <project>
  1137. <!-- quick and dirty check to see if pkg-config is available (and configured) -->
  1138. <property name="pkgconfig.available" value="${environment::variable-exists('PKG_CONFIG_PATH')}" />
  1139. <if test="${pkgconfig.available}">
  1140. <if test="${pkg-config::exists('mono')}">
  1141. <call target="configure-from-pkg-config" />
  1142. </if>
  1143. <if test="${not pkg-config::exists('mono')}">
  1144. <call target="configure-from-registry" />
  1145. </if>
  1146. </if>
  1147. <if test="${not pkgconfig.available}">
  1148. <call target="configure-from-registry" />
  1149. </if>
  1150. <!-- determine if we're dealing with a Mono 1.0.x release -->
  1151. <if test="${version::get-major(version::parse(mono.version)) == 1 and version::get-minor(version::parse(mono.version)) == 0}">
  1152. <!--
  1153. in Mono 1.0.x, the framework tools are located
  1154. in the <install root>\lib directory, except for
  1155. mbas and mcs
  1156. -->
  1157. <property name="frameworkDirectory" value="${frameworkAssemblyDirectory}" />
  1158. <property name="sdkDirectory" value="${frameworkAssemblyDirectory}" />
  1159. <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
  1160. <property name="resgen.tool" value="monoresgen" />
  1161. <property name="csc.supportsdocgeneration" value="false" />
  1162. <!--
  1163. Mono 1.0.1 installer incorrectly adds '\mono' to
  1164. "MonoConfigDir" registry value
  1165. -->
  1166. <if test="${string::ends-with(configDir, 'etc\mono')}">
  1167. <property name="configDir" value="${string::replace(configDir, 'etc\mono', 'etc')}" />
  1168. </if>
  1169. </if>
  1170. <!-- determine if we're NOT dealing with a Mono 1.0.x release -->
  1171. <if test="${version::get-major(version::parse(mono.version)) != 1 or version::get-minor(version::parse(mono.version)) != 0}">
  1172. <!--
  1173. in Mono 1.1.x (and higher ?), all the framework
  1174. tools are located in the <install root>\lib\mono\<profile>
  1175. directory
  1176. however, for now only (g)mcs and wsdl2 are available
  1177. for the 2.0 profile, for the other tools we should
  1178. use the 1.0 profile version
  1179. -->
  1180. <!--
  1181. <property name="frameworkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
  1182. <property name="sdkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0')}" />
  1183. -->
  1184. <property name="frameworkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
  1185. <property name="sdkDirectory" value="${path::combine(frameworkAssemblyDirectory, 'mono/1.0')}" />
  1186. <property name="runtimeEngine" value="${path::combine(frameworkAssemblyDirectory, 'mono.exe')}" />
  1187. <!-- starting from Mono 1.1.9.2, mono.exe is located in the bin directory -->
  1188. <if test="${not file::exists(runtimeEngine)}">
  1189. <property name="runtimeEngine" value="${path::combine(sdkInstallRoot, 'bin/mono.exe')}" />
  1190. </if>
  1191. <!-- in Mono 1.2 (and higher), there's a 2.0 profile version of resgen -->
  1192. <property name="resgen.tool" value="${path::combine(frameworkAssemblyDirectory, 'mono/2.0/resgen.exe')}" />
  1193. <if test="${not file::exists(resgen.tool)}">
  1194. <!-- if the 2.0 profile version does not exist, then fallback to the 1.0 profile version -->
  1195. <property name="resgen.tool" value="resgen" />
  1196. </if>
  1197. <property name="csc.supportsdocgeneration" value="true" />
  1198. </if>
  1199. <target name="configure-from-pkg-config">
  1200. <property name="mono.version" value="${pkg-config::get-mod-version('mono')}" />
  1201. <property name="sdkInstallRoot" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'prefix'))}" />
  1202. <property name="frameworkAssemblyDirectory" value="${cygpath::get-windows-path(pkg-config::get-variable('mono', 'libdir'))}" />
  1203. <property name="configDir" value="${path::combine(sdkInstallRoot, 'etc/mono')}/" />
  1204. </target>
  1205. <target name="configure-from-registry">
  1206. <!--
  1207. first try using the DefaultCLR in HKLM\Novell\Mono,
  1208. this is used by the Mono 1.0.1 installer (and later?)
  1209. -->
  1210. <readregistry
  1211. property="mono.version"
  1212. key="SOFTWARE\Novell\Mono\DefaultCLR"
  1213. hive="LocalMachine"
  1214. failonerror="false"
  1215. />
  1216. <if test="${property::exists('mono.version')}">
  1217. <property name="monokey" value="SOFTWARE\Novell\Mono\${mono.version}" />
  1218. </if>
  1219. <!--
  1220. if the DefaultCLR registry value does not exist in
  1221. HKLM\Novell\Mono, then try the HKML\Mono registry
  1222. key as this was used for the Mono 1.0 installer
  1223. -->
  1224. <if test="${not property::exists('mono.version')}">
  1225. <readregistry
  1226. property="mono.version"
  1227. key="SOFTWARE\Mono\DefaultCLR"
  1228. hive="LocalMachine"
  1229. />
  1230. <property name="monokey" value="SOFTWARE\Mono\${mono.version}" />
  1231. </if>
  1232. <readregistry
  1233. property="sdkInstallRoot"
  1234. key="${monokey}\SdkInstallRoot"
  1235. hive="LocalMachine" />
  1236. <readregistry
  1237. property="frameworkAssemblyDirectory"
  1238. key="${monokey}\FrameworkAssemblyDirectory"
  1239. hive="LocalMachine" />
  1240. <readregistry
  1241. property="configDir"
  1242. key="${monokey}\MonoConfigDir"
  1243. hive="LocalMachine" />
  1244. </target>
  1245. </project>
  1246. <properties>
  1247. </properties>
  1248. <environment>
  1249. <env name="PATH" path="${path::combine(sdkInstallRoot, 'bin')};%PATH%" />
  1250. <env name="MONO_CFG_DIR" path="${configDir};%MONO_CFG_DIR%" />
  1251. </environment>
  1252. <tasks>
  1253. <task name="al">
  1254. <attribute name="exename">al</attribute>
  1255. <attribute name="useruntimeengine">true</attribute>
  1256. </task>
  1257. <task name="csc">
  1258. <attribute name="exename">${path::combine(frameworkAssemblyDirectory, 'mono/2.0/gmcs.exe')}</attribute>
  1259. <attribute name="useruntimeengine">true</attribute>
  1260. <attribute name="supportspackagereferences">true</attribute>
  1261. <attribute name="supportsnowarnlist">true</attribute>
  1262. <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
  1263. <attribute name="supportskeycontainer">true</attribute>
  1264. <attribute name="supportskeyfile">true</attribute>
  1265. <attribute name="supportslangversion">true</attribute>
  1266. </task>
  1267. <task name="vbc">
  1268. <!-- there is no mbas for the 2.0 profile yet -->
  1269. <attribute name="exename">${path::combine(frameworkAssemblyDirectory, 'mono/1.0/mbas.exe')}</attribute>
  1270. <attribute name="useruntimeengine">true</attribute>
  1271. </task>
  1272. <task name="resgen">
  1273. <attribute name="exename">${resgen.tool}</attribute>
  1274. <attribute name="useruntimeengine">true</attribute>
  1275. </task>
  1276. <task name="delay-sign">
  1277. <attribute name="exename">sn</attribute>
  1278. <attribute name="useruntimeengine">true</attribute>
  1279. </task>
  1280. <task name="license">
  1281. <attribute name="hascommandlinecompiler">false</attribute>
  1282. </task>
  1283. <task name="ilasm">
  1284. <attribute name="exename">ilasm</attribute>
  1285. <attribute name="useruntimeengine">true</attribute>
  1286. </task>
  1287. </tasks>
  1288. </framework>
  1289. <framework
  1290. name="sscli-1.0"
  1291. family="sscli"
  1292. version="1.0"
  1293. description="Microsoft Shared Source CLI 1.0"
  1294. runtimeengine="C:\sscli\build\v1.x86fstchk.rotor\clix.exe"
  1295. sdkdirectory="C:\sscli\build\v1.x86fstchk.rotor\sdk\bin"
  1296. frameworkdirectory="C:\sscli\build\v1.x86fstchk.rotor"
  1297. frameworkassemblydirectory="C:\sscli\build\v1.x86fstchk.rotor"
  1298. clrversion="1.0.3"
  1299. >
  1300. <task-assemblies>
  1301. <!-- this is not a supported runtime framework -->
  1302. </task-assemblies>
  1303. <project />
  1304. <tasks>
  1305. <task name="csc">
  1306. <attribute name="exename">csc</attribute>
  1307. <attribute name="supportsnowarnlist">true</attribute>
  1308. </task>
  1309. <task name="jsc">
  1310. <attribute name="exename">jsc</attribute>
  1311. <attribute name="useruntimeengine">true</attribute>
  1312. </task>
  1313. <task name="resgen">
  1314. <attribute name="exename">resgen</attribute>
  1315. </task>
  1316. <task name="al">
  1317. <attribute name="exename">al</attribute>
  1318. </task>
  1319. <task name="delay-sign">
  1320. <attribute name="exename">sn</attribute>
  1321. </task>
  1322. <task name="license">
  1323. <attribute name="hascommandlinecompiler">false</attribute>
  1324. </task>
  1325. <task name="ilasm">
  1326. <attribute name="exename">ilasm</attribute>
  1327. <attribute name="useruntimeengine">true</attribute>
  1328. </task>
  1329. <task name="ildasm">
  1330. <attribute name="exename">ildasm</attribute>
  1331. <attribute name="useruntimeengine">true</attribute>
  1332. </task>
  1333. </tasks>
  1334. </framework>
  1335. </platform>
  1336. <platform name="unix" default="auto">
  1337. <task-assemblies>
  1338. <!-- include NAnt task assemblies -->
  1339. <include name="*Tasks.dll" />
  1340. <!-- include NAnt test assemblies -->
  1341. <include name="*Tests.dll" />
  1342. <!-- include framework-neutral assemblies -->
  1343. <include name="tasks/*.dll" />
  1344. <!-- exclude Microsoft.NET specific task assembly -->
  1345. <exclude name="NAnt.MSNetTasks.dll" />
  1346. <!-- exclude Microsoft.NET specific test assembly -->
  1347. <exclude name="NAnt.MSNet.Tests.dll" />
  1348. <!-- exclude <solution> task assembly for now -->
  1349. <exclude name="NAnt.VSNetTasks.dll" />
  1350. <!-- exclude <solution> test assembly for now -->
  1351. <exclude name="NAnt.VSNet.Tests.dll" />
  1352. <!-- exclude win32 specific task assembly -->
  1353. <exclude name="NAnt.Win32Tasks.dll" />
  1354. <!-- exclude win32 specific test assembly -->
  1355. <exclude name="NAnt.Win32.Tests.dll" />
  1356. </task-assemblies>
  1357. <framework
  1358. name="mono-1.0"
  1359. family="mono"
  1360. version="1.0"
  1361. description="Mono 1.0 Profile"
  1362. runtimeengine="${path::combine(prefix, 'bin/mono')}"
  1363. sdkdirectory="${frameworkdirectory}"
  1364. frameworkdirectory="${frameworkdirectory}"
  1365. frameworkassemblydirectory="${path::combine(prefix, 'lib/mono/1.0')}"
  1366. clrversion="1.1.4322"
  1367. >
  1368. <task-assemblies>
  1369. <!-- include Mono specific assemblies -->
  1370. <include name="tasks/mono/*.dll" />
  1371. <!-- include Mono 1.0 specific assemblies -->
  1372. <include name="tasks/mono/1.0/**/*.dll" />
  1373. </task-assemblies>
  1374. <project>
  1375. <if test="${not pkg-config::exists('mono')}">
  1376. <fail>Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.</fail>
  1377. </if>
  1378. <property name="prefix" value="${pkg-config::get-variable('mono', 'prefix')}" />
  1379. <if test="${not(pkg-config::is-atleast-version('mono', '1.1'))}">
  1380. <property name="frameworkdirectory" value="${path::combine(prefix, 'bin')}" />
  1381. <property name="resgen.tool" value="monoresgen" />
  1382. <property name="csc.supportsdocgeneration" value="false" />
  1383. </if>
  1384. <if test="${pkg-config::is-atleast-version('mono', '1.1')}">
  1385. <property name="frameworkdirectory" value="${path::combine(prefix, 'lib/mono/1.0')}" />
  1386. <property name="resgen.tool" value="resgen" />
  1387. <property name="csc.supportsdocgeneration" value="true" />
  1388. </if>
  1389. </project>
  1390. <tasks>
  1391. <task name="al">
  1392. <attribute name="exename">al</attribute>
  1393. <attribute name="useruntimeengine">true</attribute>
  1394. </task>
  1395. <task name="csc">
  1396. <attribute name="exename">${path::combine(prefix, 'lib/mono/1.0/mcs.exe')}</attribute>
  1397. <attribute name="useruntimeengine">true</attribute>
  1398. <attribute name="supportspackagereferences">true</attribute>
  1399. <attribute name="supportsnowarnlist">true</attribute>
  1400. <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
  1401. <attribute name="supportskeycontainer">true</attribute>
  1402. <attribute name="supportskeyfile">true</attribute>
  1403. <attribute name="supportslangversion">true</attribute>
  1404. </task>
  1405. <task name="vbc">
  1406. <attribute name="exename">${path::combine(prefix, 'lib/mono/1.0/mbas.exe')}</attribute>
  1407. <attribute name="useruntimeengine">true</attribute>
  1408. </task>
  1409. <task name="resgen">
  1410. <attribute name="exename">${resgen.tool}</attribute>
  1411. <attribute name="useruntimeengine">true</attribute>
  1412. </task>
  1413. <task name="delay-sign">
  1414. <attribute name="exename">sn</attribute>
  1415. <attribute name="useruntimeengine">true</attribute>
  1416. </task>
  1417. <task name="license">
  1418. <attribute name="hascommandlinecompiler">false</attribute>
  1419. </task>
  1420. <task name="ilasm">
  1421. <attribute name="exename">ilasm</attribute>
  1422. <attribute name="useruntimeengine">true</attribute>
  1423. </task>
  1424. </tasks>
  1425. </framework>
  1426. <framework
  1427. name="mono-2.0"
  1428. family="mono"
  1429. version="2.0"
  1430. description="Mono 2.0 Profile"
  1431. runtimeengine="${path::combine(prefix, 'bin/mono')}"
  1432. sdkdirectory="${frameworkdirectory}"
  1433. frameworkdirectory="${frameworkdirectory}"
  1434. frameworkassemblydirectory="${path::combine(prefix, 'lib/mono/2.0')}"
  1435. clrversion="2.0.50727"
  1436. >
  1437. <task-assemblies>
  1438. <!-- include Mono specific assemblies -->
  1439. <include name="tasks/mono/*.dll" />
  1440. <!-- include Mono 2.0 specific assemblies -->
  1441. <include name="tasks/mono/2.0/**/*.dll" />
  1442. </task-assemblies>
  1443. <project>
  1444. <if test="${not pkg-config::exists('mono')}">
  1445. <fail>Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.</fail>
  1446. </if>
  1447. <property name="prefix" value="${pkg-config::get-variable('mono', 'prefix')}" />
  1448. <if test="${not(pkg-config::is-atleast-version('mono', '1.1'))}">
  1449. <property name="frameworkdirectory" value="${path::combine(prefix, 'bin')}" />
  1450. <property name="resgen.tool" value="monoresgen" />
  1451. <property name="csc.supportsdocgeneration" value="false" />
  1452. </if>
  1453. <if test="${pkg-config::is-atleast-version('mono', '1.1')}">
  1454. <!--
  1455. in Mono 1.1.x (and higher ?), all the framework
  1456. tools are located in the <install root>\lib\mono\<profile>
  1457. directory
  1458. however, for now only (g)mcs and wsdl2 are available
  1459. for the 2.0 profile, for the other tools we should
  1460. use the 1.0 profile version
  1461. -->
  1462. <property name="frameworkdirectory" value="${path::combine(prefix, 'lib/mono/1.0')}" />
  1463. <!-- in Mono 1.2 (and higher), there's a 2.0 profile version of resgen -->
  1464. <property name="resgen.tool" value="${path::combine(prefix, 'lib/mono/2.0/resgen.exe')}" />
  1465. <if test="${not file::exists(resgen.tool)}">
  1466. <!-- if the 2.0 profile version does not exist, then fallback to the 1.0 profile version -->
  1467. <property name="resgen.tool" value="resgen" />
  1468. </if>
  1469. <property name="csc.supportsdocgeneration" value="true" />
  1470. </if>
  1471. </project>
  1472. <tasks>
  1473. <task name="al">
  1474. <attribute name="exename">al</attribute>
  1475. <attribute name="useruntimeengine">true</attribute>
  1476. </task>
  1477. <task name="csc">
  1478. <attribute name="exename">${path::combine(prefix, 'lib/mono/2.0/gmcs.exe')}</attribute>
  1479. <attribute name="useruntimeengine">true</attribute>
  1480. <attribute name="supportspackagereferences">true</attribute>
  1481. <attribute name="supportsnowarnlist">true</attribute>
  1482. <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
  1483. <attribute name="supportskeycontainer">true</attribute>
  1484. <attribute name="supportskeyfile">true</attribute>
  1485. <attribute name="supportslangversion">true</attribute>
  1486. </task>
  1487. <task name="vbc">
  1488. <!-- there is no mbas for the 2.0 profile yet -->
  1489. <attribute name="exename">${path::combine(prefix, 'lib/mono/1.0/mbas.exe')}</attribute>
  1490. <attribute name="useruntimeengine">true</attribute>
  1491. </task>
  1492. <task name="resgen">
  1493. <attribute name="exename">${resgen.tool}</attribute>
  1494. <attribute name="useruntimeengine">true</attribute>
  1495. </task>
  1496. <task name="delay-sign">
  1497. <attribute name="exename">sn</attribute>
  1498. <attribute name="useruntimeengine">true</attribute>
  1499. </task>
  1500. <task name="license">
  1501. <attribute name="hascommandlinecompiler">false</attribute>
  1502. </task>
  1503. <task name="ilasm">
  1504. <attribute name="exename">ilasm</attribute>
  1505. <attribute name="useruntimeengine">true</attribute>
  1506. </task>
  1507. </tasks>
  1508. </framework>
  1509. <framework
  1510. name="mono-2.0"
  1511. family="mono"
  1512. version="2.0"
  1513. description="Mono 2.0 Profile"
  1514. runtimeengine="${path::combine(prefix, 'bin/mono')}"
  1515. sdkdirectory="${frameworkdirectory}"
  1516. frameworkdirectory="${frameworkdirectory}"
  1517. frameworkassemblydirectory="${path::combine(prefix, 'lib/mono/2.0')}"
  1518. clrversion="2.0.50215"
  1519. >
  1520. <task-assemblies>
  1521. <!-- include Mono specific assemblies -->
  1522. <include name="tasks/mono/*.dll" />
  1523. <!-- include Mono 2.0 specific assemblies -->
  1524. <include name="tasks/mono/2.0/**/*.dll" />
  1525. </task-assemblies>
  1526. <project>
  1527. <if test="${not pkg-config::exists('mono')}">
  1528. <fail>Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.</fail>
  1529. </if>
  1530. <property name="prefix" value="${pkg-config::get-variable('mono', 'prefix')}" />
  1531. <if test="${not(pkg-config::is-atleast-version('mono', '1.1'))}">
  1532. <property name="frameworkdirectory" value="${path::combine(prefix, 'bin')}" />
  1533. <property name="resgen.tool" value="monoresgen" />
  1534. <property name="csc.supportsdocgeneration" value="false" />
  1535. </if>
  1536. <if test="${pkg-config::is-atleast-version('mono', '1.1')}">
  1537. <!--
  1538. in Mono 1.1.x (and higher ?), all the framework
  1539. tools are located in the <install root>\lib\mono\<profile>
  1540. directory
  1541. however, for now only (g)mcs and wsdl2 are available
  1542. for the 2.0 profile, for the other tools we should
  1543. use the 1.0 profile version
  1544. -->
  1545. <property name="frameworkdirectory" value="${path::combine(prefix, 'lib/mono/1.0')}" />
  1546. <!-- in Mono 1.2 (and higher), there's a 2.0 profile version of resgen -->
  1547. <property name="resgen.tool" value="${path::combine(prefix, 'lib/mono/2.0/resgen.exe')}" />
  1548. <if test="${not file::exists(resgen.tool)}">
  1549. <!-- if the 2.0 profile version does not exist, then fallback to the 1.0 profile version -->
  1550. <property name="resgen.tool" value="resgen" />
  1551. </if>
  1552. <property name="csc.supportsdocgeneration" value="true" />
  1553. </if>
  1554. </project>
  1555. <tasks>
  1556. <task name="al">
  1557. <attribute name="exename">al</attribute>
  1558. <attribute name="useruntimeengine">true</attribute>
  1559. </task>
  1560. <task name="csc">
  1561. <attribute name="exename">${path::combine(prefix, 'lib/mono/2.0/gmcs.exe')}</attribute>
  1562. <attribute name="useruntimeengine">true</attribute>
  1563. <attribute name="supportspackagereferences">true</attribute>
  1564. <attribute name="supportsnowarnlist">true</attribute>
  1565. <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
  1566. <attribute name="supportskeycontainer">true</attribute>
  1567. <attribute name="supportskeyfile">true</attribute>
  1568. <attribute name="supportslangversion">true</attribute>
  1569. </task>
  1570. <task name="vbc">
  1571. <!-- there is no mbas for the 2.0 profile yet -->
  1572. <attribute name="exename">${path::combine(prefix, 'lib/mono/1.0/mbas.exe')}</attribute>
  1573. <attribute name="useruntimeengine">true</attribute>
  1574. </task>
  1575. <task name="resgen">
  1576. <attribute name="exename">${resgen.tool}</attribute>
  1577. <attribute name="useruntimeengine">true</attribute>
  1578. </task>
  1579. <task name="delay-sign">
  1580. <attribute name="exename">sn</attribute>
  1581. <attribute name="useruntimeengine">true</attribute>
  1582. </task>
  1583. <task name="license">
  1584. <attribute name="hascommandlinecompiler">false</attribute>
  1585. </task>
  1586. <task name="ilasm">
  1587. <attribute name="exename">ilasm</attribute>
  1588. <attribute name="useruntimeengine">true</attribute>
  1589. </task>
  1590. </tasks>
  1591. </framework>
  1592. <framework
  1593. name="mono-2.0"
  1594. family="mono"
  1595. version="2.0"
  1596. description="Mono 2.0 Profile"
  1597. runtimeengine="${path::combine(prefix, 'bin/mono')}"
  1598. sdkdirectory="${frameworkdirectory}"
  1599. frameworkdirectory="${frameworkdirectory}"
  1600. frameworkassemblydirectory="${path::combine(prefix, 'lib/mono/2.0')}"
  1601. clrversion="2.0.40607"
  1602. >
  1603. <task-assemblies>
  1604. <!-- include Mono specific assemblies -->
  1605. <include name="tasks/mono/*.dll" />
  1606. <!-- include Mono 2.0 specific assemblies -->
  1607. <include name="tasks/mono/2.0/**/*.dll" />
  1608. </task-assemblies>
  1609. <project>
  1610. <if test="${not pkg-config::exists('mono')}">
  1611. <fail>Unable to locate 'mono' module using pkg-config. Download the Mono development packages from http://www.mono-project.com/downloads/.</fail>
  1612. </if>
  1613. <property name="prefix" value="${pkg-config::get-variable('mono', 'prefix')}" />
  1614. <if test="${not(pkg-config::is-atleast-version('mono', '1.1'))}">
  1615. <property name="frameworkdirectory" value="${path::combine(prefix, 'bin')}" />
  1616. <property name="resgen.tool" value="monoresgen" />
  1617. <property name="csc.supportsdocgeneration" value="false" />
  1618. </if>
  1619. <if test="${pkg-config::is-atleast-version('mono', '1.1')}">
  1620. <!--
  1621. in Mono 1.1.x (and higher ?), all the framework
  1622. tools are located in the <install root>\lib\mono\<profile>
  1623. directory
  1624. however, for now only (g)mcs and wsdl2 are available
  1625. for the 2.0 profile, for the other tools we should
  1626. use the 1.0 profile version
  1627. -->
  1628. <property name="frameworkdirectory" value="${path::combine(prefix, 'lib/mono/1.0')}" />
  1629. <!-- in Mono 1.2 (and higher), there's a 2.0 profile version of resgen -->
  1630. <property name="resgen.tool" value="${path::combine(prefix, 'lib/mono/2.0/resgen.exe')}" />
  1631. <if test="${not file::exists(resgen.tool)}">
  1632. <!-- if the 2.0 profile version does not exist, then fallback to the 1.0 profile version -->
  1633. <property name="resgen.tool" value="resgen" />
  1634. </if>
  1635. <property name="csc.supportsdocgeneration" value="true" />
  1636. </if>
  1637. </project>
  1638. <tasks>
  1639. <task name="al">
  1640. <attribute name="exename">al</attribute>
  1641. <attribute name="useruntimeengine">true</attribute>
  1642. </task>
  1643. <task name="csc">
  1644. <attribute name="exename">${path::combine(prefix, 'lib/mono/2.0/gmcs.exe')}</attribute>
  1645. <attribute name="useruntimeengine">true</attribute>
  1646. <attribute name="supportspackagereferences">true</attribute>
  1647. <attribute name="supportsnowarnlist">true</attribute>
  1648. <attribute name="supportsdocgeneration">${csc.supportsdocgeneration}</attribute>
  1649. <attribute name="supportskeycontainer">true</attribute>
  1650. <attribute name="supportskeyfile">true</attribute>
  1651. <attribute name="supportslangversion">true</attribute>
  1652. </task>
  1653. <task name="vbc">
  1654. <!-- there is no mbas for the 2.0 profile yet -->
  1655. <attribute name="exename">${path::combine(prefix, 'lib/mono/1.0/mbas.exe')}</attribute>
  1656. <attribute name="useruntimeengine">true</attribute>
  1657. </task>
  1658. <task name="resgen">
  1659. <attribute name="exename">${resgen.tool}</attribute>
  1660. <attribute name="useruntimeengine">true</attribute>
  1661. </task>
  1662. <task name="delay-sign">
  1663. <attribute name="exename">sn</attribute>
  1664. <attribute name="useruntimeengine">true</attribute>
  1665. </task>
  1666. <task name="license">
  1667. <attribute name="hascommandlinecompiler">false</attribute>
  1668. </task>
  1669. <task name="ilasm">
  1670. <attribute name="exename">ilasm</attribute>
  1671. <attribute name="useruntimeengine">true</attribute>
  1672. </task>
  1673. </tasks>
  1674. </framework>
  1675. </platform>
  1676. </frameworks>
  1677. <properties>
  1678. <!-- properties defined here are accessible to all build files -->
  1679. <!-- <property name="foo" value = "bar" readonly="false" /> -->
  1680. </properties>
  1681. </nant>
  1682. <!--
  1683. This section contains the log4net configuration settings.
  1684. By default, no messages will be logged to the log4net logging infrastructure.
  1685. To enable the internal logging, set the threshold attribute on the log4net element
  1686. to "ALL".
  1687. When internal logging is enabled, internal messages will be written to the
  1688. console.
  1689. -->
  1690. <log4net threshold="OFF">
  1691. <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
  1692. <layout type="log4net.Layout.PatternLayout">
  1693. <param name="ConversionPattern" value="[%c{2}:%m - [%x] &lt;%X{auth}&gt;]%n" />
  1694. </layout>
  1695. </appender>
  1696. <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
  1697. <param name="File" value="${APPDATA}\\NAnt\\NAnt.log" />
  1698. <param name="AppendToFile" value="true" />
  1699. <param name="MaxSizeRollBackups" value="2" />
  1700. <param name="MaximumFileSize" value="500KB" />
  1701. <param name="RollingStyle" value="Size" />
  1702. <param name="StaticLogFileName" value="true" />
  1703. <layout type="log4net.Layout.PatternLayout">
  1704. <param name="ConversionPattern" value="[%c{2}:%m - [%x] &lt;%X{auth}&gt;]%n" />
  1705. </layout>
  1706. </appender>
  1707. <!-- Setup the root category, add the appenders and set the default level -->
  1708. <root>
  1709. <!-- Only log messages with severity ERROR (or higher) -->
  1710. <level value="ERROR" />
  1711. <!-- Log messages to the console -->
  1712. <appender-ref ref="ConsoleAppender" />
  1713. <!-- Uncomment the next line to enable logging messages to the NAnt.log file -->
  1714. <!-- <appender-ref ref="RollingLogFileAppender" /> -->
  1715. </root>
  1716. <!-- Specify the priority for some specific categories -->
  1717. <!--
  1718. <logger name="NAnt.Core.TaskBuilderCollection">
  1719. <level value="DEBUG" />
  1720. </logger>
  1721. <logger name="NAnt">
  1722. <level value="INFO" />
  1723. </logger>
  1724. -->
  1725. </log4net>
  1726. <runtime>
  1727. <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  1728. <probing privatePath="lib" />
  1729. </assemblyBinding>
  1730. </runtime>
  1731. <startup>
  1732. <!-- .NET Framework 2.0 -->
  1733. <supportedRuntime version="v2.0.50727" />
  1734. <!-- .NET Framework 2.0 Beta 2 -->
  1735. <supportedRuntime version="v2.0.50215" />
  1736. <!-- .NET Framework 2.0 Beta 1 -->
  1737. <supportedRuntime version="v2.0.40607" />
  1738. <!-- .NET Framework 1.1 -->
  1739. <supportedRuntime version="v1.1.4322" />
  1740. <!-- .NET Framework 1.0 -->
  1741. <supportedRuntime version="v1.0.3705" />
  1742. </startup>
  1743. </configuration>