Skip to content

Commit

Permalink
Add mono build script. Fork project files for Mono
Browse files Browse the repository at this point in the history
  • Loading branch information
NN--- committed Feb 23, 2014
1 parent 27ec99a commit d3f9bdb
Show file tree
Hide file tree
Showing 4 changed files with 303 additions and 0 deletions.
9 changes: 9 additions & 0 deletions Build-Mono.sh
@@ -0,0 +1,9 @@
#!/usr/bin/env bash

if [ $# -eq 0 ]; then
echo Parameters required.
echo Example 1: /p:TargetFrameworkVersion=v3.5
echo Example 2: /p:TargetFrameworkVersion=v4.5 /t:Stage4 /p:Configuration=Release /tv:4.0
else
xbuild NemerleAll-Mono.nproj $*
fi
67 changes: 67 additions & 0 deletions Nemerle-Mono.nproj
@@ -0,0 +1,67 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="MSBuild.Community.Tasks.TemplateFile" AssemblyFile="$(MSBuildProjectDirectory)\ExternalDependences\MSBuild.Community.Tasks.dll" />
<PropertyGroup>
<Nemerle Condition=" '$(Nemerle)' == '' And ('$(TargetFrameworkVersion)' == '' Or '$(TargetFrameworkVersion)' == 'v2.0' Or '$(TargetFrameworkVersion)' == 'v3.0' Or '$(TargetFrameworkVersion)' == 'v3.5')">$(MSBuildProjectDirectory)\boot</Nemerle>
<Nemerle Condition=" '$(Nemerle)' == '' And '$(TargetFrameworkVersion)' == 'v4.0'">$(MSBuildProjectDirectory)\boot-4.0</Nemerle>
<Nemerle Condition=" '$(Nemerle)' == '' And '$(TargetFrameworkVersion)' == 'v4.5'">$(MSBuildProjectDirectory)\boot-4.0</Nemerle>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{0c558e35-7df9-4a68-9015-b316dd59c0cb}</ProjectGuid>
<OutputType>Library</OutputType>
<AssemblyName>Nemerle</AssemblyName>
<Name>Nemerle</Name>
<TargetPlatform>v2</TargetPlatform>
<DefineConstants>RUNTIME_MS</DefineConstants>
<DefineConstants>_stage3</DefineConstants>
<DefineConstants Condition="'$(TargetFrameworkVersion)' == 'v4.0' Or '$(TargetFrameworkVersion)' == 'v4.5'">NET_4_0</DefineConstants>
<WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib>
<EnabledWarnings>10006</EnabledWarnings>
<!--NoStdMacros>true</NoStdMacros-->
<GreedyReferences>false</GreedyReferences>
<KeyOriginatorFile Condition="'$(NKeysDir)' == ''">misc\keys\Nemerle.snk</KeyOriginatorFile>
<KeyOriginatorFile Condition="'$(NKeysDir)' != ''">$(NKeysDir)\Nemerle.snk</KeyOriginatorFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<!-- <DocumentationFile>$(OutputPath)\Nemerle.xml</DocumentationFile> -->
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<DebugSymbols>false</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>$(OutputPath)\Nemerle.xml</DocumentationFile>
</PropertyGroup>
<Import Project="$(Nemerle)\Nemerle.MSBuild.targets" />
<ItemGroup>
<Folder Include="lib" />
</ItemGroup>
<ItemGroup>
<Compile Include="lib\*.n" />
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="System" />
<Reference Include="System.Xml" />
</ItemGroup>
<!-- Mono XBuild doens't support these tasks -->
<!--<Target Name="AfterBuild">
<GetAssemblyIdentity AssemblyFiles="$(OutputPath)\$(AssemblyName).dll">
<Output TaskParameter="Assemblies" ItemName="OutputAssemblyIdentity" />
</GetAssemblyIdentity>
<ItemGroup>
<Token Include="ver">
<ReplacementValue>%(OutputAssemblyIdentity.Version)</ReplacementValue>
</Token>
</ItemGroup>
<TemplateFile Template="lib\policy.1.2.$(AssemblyName).config.template" OutputFilename="$(OutputPath)\policy.1.2.$(AssemblyName).config" Tokens="@(Token)" />
<AL ToolPath="$(SDKBin)" LinkResources="$(OutputPath)\policy.1.2.$(AssemblyName).config" OutputAssembly="$(OutputPath)\policy.1.2.$(AssemblyName).dll" KeyFile="$(KeyOriginatorFile)" Platform="$(Platform)" />
</Target>-->
</Project>
143 changes: 143 additions & 0 deletions Nemerle.Compiler-Mono.nproj
@@ -0,0 +1,143 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="MSBuild.Community.Tasks.TemplateFile" AssemblyFile="$(MSBuildProjectDirectory)\ExternalDependences\MSBuild.Community.Tasks.dll" />
<PropertyGroup>
<Nemerle Condition=" '$(Nemerle)' == '' And ('$(TargetFrameworkVersion)' == '' Or '$(TargetFrameworkVersion)' == 'v2.0' Or '$(TargetFrameworkVersion)' == 'v3.0' Or '$(TargetFrameworkVersion)' == 'v3.5')">$(MSBuildProjectDirectory)\boot</Nemerle>
<Nemerle Condition=" '$(Nemerle)' == '' And '$(TargetFrameworkVersion)' == 'v4.0'">$(MSBuildProjectDirectory)\boot-4.0</Nemerle>
<Nemerle Condition=" '$(Nemerle)' == '' And '$(TargetFrameworkVersion)' == 'v4.5'">$(MSBuildProjectDirectory)\boot-4.0</Nemerle>
<Nemerle Condition=" '$(Nemerle)' == '' And '$(TargetFrameworkVersion)' == 'v4.5.1'">$(MSBuildProjectDirectory)\boot-4.0</Nemerle>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{0c558e36-7df9-4a68-9015-b316dd59c0cb}</ProjectGuid>
<OutputType>Library</OutputType>
<AssemblyName>Nemerle.Compiler</AssemblyName>
<TargetPlatform>v2</TargetPlatform>
<DefineConstants>RUNTIME_MS</DefineConstants>
<DefineConstants>_stage3</DefineConstants>
<DefineConstants Condition="'$(TargetFrameworkVersion)' == 'v4.0' Or '$(TargetFrameworkVersion)' == 'v4.5' Or '$(TargetFrameworkVersion)' == 'v4.5.1'">NET_4_0</DefineConstants>
<WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib>
<EnabledWarnings>10006</EnabledWarnings>
<!--NoStdMacros>true</NoStdMacros-->
<GreedyReferences>false</GreedyReferences>
<KeyOriginatorFile Condition="'$(NKeysDir)' == ''">misc\keys\Nemerle.Compiler.snk</KeyOriginatorFile>
<KeyOriginatorFile Condition="'$(NKeysDir)' != ''">$(NKeysDir)\Nemerle.Compiler.snk</KeyOriginatorFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<!-- <DocumentationFile>$(OutputPath)\Nemerle.Compiler.xml</DocumentationFile> -->
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<DebugSymbols>false</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>$(OutputPath)\Nemerle.Compiler.xml</DocumentationFile>
</PropertyGroup>
<Import Project="$(Nemerle)\Nemerle.MSBuild.targets" />
<ItemGroup>
<Folder Include="ncc" />
<Folder Include="ncc\codedom" />
<Folder Include="ncc\completion" />
<Folder Include="ncc\external" />
<Folder Include="ncc\external\ExternalMemberInfo" />
<Folder Include="ncc\external\ExternalTypeInfo" />
<Folder Include="ncc\generation" />
<Folder Include="ncc\hierarchy" />
<Folder Include="ncc\misc" />
<Folder Include="ncc\optimization" />
<Folder Include="ncc\parsing" />
<Folder Include="ncc\testsuite" />
<Folder Include="ncc\testsuite\negative" />
<Folder Include="ncc\testsuite\positive" />
<Folder Include="ncc\testsuite\todo" />
<Folder Include="ncc\typing" />
<Folder Include="ncc\completion" />
<Folder Include="ncc\typing" />
</ItemGroup>
<ItemGroup>
<Compile Include="ncc\CompilationOptions.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\passes.n">
<SubType>Code</SubType>
</Compile>
<!-- Fixme: If move next line done in the file we take TypeLosrExcepton("Located")! -->
<Compile Include="ncc\parsing\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\codedom\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\CompilerMessage\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\completion\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\external\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\external\ExternalMemberInfo\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\external\ExternalTypeInfo\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\generation\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\hierarchy\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\misc\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\optimization\*.n">
<SubType>Code</SubType>
</Compile>
<Compile Include="ncc\typing\*.n">
<SubType>Code</SubType>
</Compile>
<Content Include="ncc\testsuite\negative\*.n">
<SubType>None</SubType>
</Content>
<Content Include="ncc\testsuite\positive\*.n">
<SubType>None</SubType>
</Content>
<Content Include="ncc\testsuite\todo\*.n">
<SubType>None</SubType>
</Content>
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="Nemerle.nproj">
<Name>Nemerle</Name>
<Project>{0c558e35-7df9-4a68-9015-b316dd59c0cb}</Project>
<Private>True</Private>
</ProjectReference>
</ItemGroup>
<!-- Mono XBuild doens't support these tasks -->
<!--<Target Name="AfterBuild">
<GetAssemblyIdentity AssemblyFiles="$(OutputPath)\$(AssemblyName).dll">
<Output TaskParameter="Assemblies" ItemName="OutputAssemblyIdentity" />
</GetAssemblyIdentity>
<ItemGroup>
<Token Include="ver">
<ReplacementValue>%(OutputAssemblyIdentity.Version)</ReplacementValue>
</Token>
</ItemGroup>
<TemplateFile Template="ncc\policy.1.2.$(AssemblyName).config.template" OutputFilename="$(OutputPath)\policy.1.2.$(AssemblyName).config" Tokens="@(Token)" />
<AL ToolPath="$(SDKBin)" LinkResources="$(OutputPath)\policy.1.2.$(AssemblyName).config" OutputAssembly="$(OutputPath)\policy.1.2.$(AssemblyName).dll" KeyFile="$(KeyOriginatorFile)" Platform="$(Platform)" />
</Target>-->
</Project>
84 changes: 84 additions & 0 deletions Nemerle.Macros-Mono.nproj
@@ -0,0 +1,84 @@
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<UsingTask TaskName="MSBuild.Community.Tasks.TemplateFile" AssemblyFile="$(MSBuildProjectDirectory)\ExternalDependences\MSBuild.Community.Tasks.dll" />
<PropertyGroup>
<Nemerle Condition=" '$(Nemerle)' == '' And ('$(TargetFrameworkVersion)' == '' Or '$(TargetFrameworkVersion)' == 'v2.0' Or '$(TargetFrameworkVersion)' == 'v3.0' Or '$(TargetFrameworkVersion)' == 'v3.5')">$(MSBuildProjectDirectory)\boot</Nemerle>
<Nemerle Condition=" '$(Nemerle)' == '' And '$(TargetFrameworkVersion)' == 'v4.0'">$(MSBuildProjectDirectory)\boot-4.0</Nemerle>
<Nemerle Condition=" '$(Nemerle)' == '' And '$(TargetFrameworkVersion)' == 'v4.5'">$(MSBuildProjectDirectory)\boot-4.0</Nemerle>
<Nemerle Condition=" '$(Nemerle)' == '' And '$(TargetFrameworkVersion)' == 'v4.5.1'">$(MSBuildProjectDirectory)\boot-4.0</Nemerle>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{0c558e37-7df9-4a68-9015-b316dd59c0cb}</ProjectGuid>
<OutputType>Library</OutputType>
<AssemblyName>Nemerle.Macros</AssemblyName>
<TargetPlatform>v2</TargetPlatform>
<DefineConstants>RUNTIME_MS</DefineConstants>
<DefineConstants>_stage3</DefineConstants>
<DefineConstants Condition="'$(TargetFrameworkVersion)' == 'v4.0' Or '$(TargetFrameworkVersion)' == 'v4.5' Or '$(TargetFrameworkVersion)' == 'v4.5.1'">NET_4_0</DefineConstants>
<WarningLevel>4</WarningLevel>
<NoStdLib>true</NoStdLib>
<!--NoStdMacros>true</NoStdMacros-->
<GreedyReferences>false</GreedyReferences>
<KeyOriginatorFile Condition="'$(NKeysDir)' == ''">misc\keys\Nemerle.Compiler.snk</KeyOriginatorFile>
<KeyOriginatorFile Condition="'$(NKeysDir)' != ''">$(NKeysDir)\Nemerle.Compiler.snk</KeyOriginatorFile>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<!-- <DocumentationFile>$(OutputPath)\Nemerle.Macros.xml</DocumentationFile> -->
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<DebugSymbols>false</DebugSymbols>
<DebugType>None</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<DocumentationFile>$(OutputPath)\Nemerle.Macros.xml</DocumentationFile>
</PropertyGroup>
<Import Project="$(Nemerle)\Nemerle.MSBuild.targets" />
<ItemGroup>
<Folder Include="macros" />
</ItemGroup>
<ItemGroup>
<Compile Include="macros\*.n">
<SubType>Code</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<Reference Include="mscorlib" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="Nemerle.Compiler.nproj">
<Name>Nemerle.Compiler</Name>
<Project>{0c558e36-7df9-4a68-9015-b316dd59c0cb}</Project>
<Private>True</Private>
</ProjectReference>
<ProjectReference Include="Nemerle.nproj">
<Name>Nemerle</Name>
<Project>{0c558e35-7df9-4a68-9015-b316dd59c0cb}</Project>
<Private>True</Private>
</ProjectReference>
</ItemGroup>
<!-- Mono XBuild doens't support these tasks -->
<!--<Target Name="AfterBuild">
<GetAssemblyIdentity AssemblyFiles="$(OutputPath)\$(AssemblyName).dll">
<Output TaskParameter="Assemblies" ItemName="OutputAssemblyIdentity" />
</GetAssemblyIdentity>
<ItemGroup>
<Token Include="ver">
<ReplacementValue>%(OutputAssemblyIdentity.Version)</ReplacementValue>
</Token>
</ItemGroup>
<TemplateFile Template="macros\policy.1.2.$(AssemblyName).config.template" OutputFilename="$(OutputPath)\policy.1.2.$(AssemblyName).config" Tokens="@(Token)" />
<AL ToolPath="$(SDKBin)" LinkResources="$(OutputPath)\policy.1.2.$(AssemblyName).config" OutputAssembly="$(OutputPath)\policy.1.2.$(AssemblyName).dll" KeyFile="$(KeyOriginatorFile)" Platform="$(Platform)" />
</Target>-->
</Project>

0 comments on commit d3f9bdb

Please sign in to comment.