Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,6 @@ PTESTS = \
ATESTS = \
bin/Test$(CONFIGURATION)/Android.Interop-Tests.dll

BUILD_PROPS = bin/Build$(CONFIGURATION)/MonoInfo.props

all: $(DEPENDENCIES) $(TESTS)

run-all-tests:
Expand All @@ -54,17 +52,16 @@ include build-tools/scripts/msbuild.mk

prepare:: $(BUILD_PROPS)

prepare:: prepare-core
prepare::
$(MSBUILD) $(MSBUILD_FLAGS) -target:Prepare
$(MSBUILD) $(MSBUILD_FLAGS) -target:Restore

prepare-core: bin/Build$(CONFIGURATION)/MonoInfo.props

clean:
-$(MSBUILD) $(MSBUILD_FLAGS) /t:Clean
-rm -Rf bin/$(CONFIGURATION) bin/Build$(CONFIGURATION) bin/Test$(CONFIGURATION)

include build-tools/scripts/mono.mk
-include bin/Build$(CONFIGURATION)/mono.mk
-include bin/Build$(CONFIGURATION)/JdkInfo.mk

JAVA_RUNTIME_ENVIRONMENT_DLLMAP_OVERRIDE = Java.Runtime.Environment.Override.dllmap
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,105 @@
<Project>

<Target Name="_CreateMonoInfoProps"
Condition=" $([MSBuild]::IsOSPlatform ('linux')) Or $([MSBuild]::IsOSPlatform ('osx')) "
AfterTargets="AfterBuild"
DependsOnTargets="_GetLinuxMonoPaths;_GetMacOSMonoPaths"
Inputs="$(MSBuildThisFileFullPath);$(MSBuildThisFileDirectory)Java.Interop.BootstrapTasks.csproj"
Outputs="$(_OutputPath)MonoInfo.props">
<ItemGroup>
<_MonoInfoLine Include="&lt;Project&gt;" />
<_MonoInfoLine Include=" &lt;Choose&gt;" />
<_MonoInfoLine Include=" &lt;When Condition=&quot; %27%24(MonoFrameworkPath)%27 == %27%27 &quot;&gt;" />
<_MonoInfoLine Include=" &lt;PropertyGroup&gt;" />
<_MonoInfoLine Include=" &lt;MonoFrameworkPath&gt;$(_MonoFrameworkPath)&lt;/MonoFrameworkPath&gt;" />
<_MonoInfoLine Include=" &lt;MonoLibs &gt;$(_MonoLibs)&lt;/MonoLibs&gt;" />
<_MonoInfoLine Include=" &lt;/PropertyGroup&gt;" />
<_MonoInfoLine Include=" &lt;ItemGroup&gt;" />
<_MonoInfoLine Include=" &lt;MonoIncludePath Include=&quot;$(_MonoIncludePath)&quot; /&gt;" />
<_MonoInfoLine Include=" &lt;/ItemGroup&gt;" />
<_MonoInfoLine Include=" &lt;/When&gt;" />
<_MonoInfoLine Include=" &lt;/Choose&gt;" />
<_MonoInfoLine Include="&lt;/Project&gt;" />
</ItemGroup>
<WriteLinesToFile
File="$(_OutputPath)MonoInfo.props"
Lines="@(_MonoInfoLine)"
Overwrite="True"
/>
<Touch Files="$(_OutputPath)MonoInfo.props" />
</Target>

<Target Name="_CreateMonoMk"
AfterTargets="AfterBuild"
DependsOnTargets="_GetLinuxMonoPaths;_GetMacOSMonoPaths"
Inputs="$(MSBuildThisFileFullPath);$(MSBuildThisFileDirectory)Java.Interop.BootstrapTasks.csproj"
Outputs="$(_OutputPath)mono.mk">
<ItemGroup>
<_MonoMkLine Include="JI_MONO_LIB_PATH=$(_MonoLibPath)" />
</ItemGroup>
<WriteLinesToFile
File="$(_OutputPath)mono.mk"
Lines="@(_MonoMkLine)"
Overwrite="True"
/>
<Touch Files="$(_OutputPath)mono.mk" />
</Target>

<Target Name="_GetLinuxMonoPaths"
Condition=" $([MSBuild]::IsOSPlatform ('linux')) ">
<Exec
Command="which mono"
ConsoleToMsBuild="True">
<Output TaskParameter="ConsoleOutput" PropertyName="_MonoPath" />
</Exec>
<Exec
Command="pkg-config --variable=libdir mono-2"
ConsoleToMsBuild="True">
<Output TaskParameter="ConsoleOutput" PropertyName="_MonoPkgConfigLibdir" />
</Exec>
<Exec
Command="pkg-config --variable=includedir mono-2"
ConsoleToMsBuild="True">
<Output TaskParameter="ConsoleOutput" PropertyName="_MonoPkgConfigIncludedir" />
</Exec>
<PropertyGroup>
<_MonoLibPath>$([System.IO.Path]::GetDirectoryName($(_MonoPath)))/../lib/</_MonoLibPath>
<_MonoFrameworkPath>$(_MonoPkgConfigLibdir)/libmonosgen-2.0.so</_MonoFrameworkPath>
<_MonoIncludePath>$(_MonoPkgConfigIncludedir)</_MonoIncludePath>
<_MonoLibs>-L "$(_MonoPkgConfigLibdir)" -lmonosgen-2.0</_MonoLibs>
</PropertyGroup>
</Target>

<Target Name="_GetMacOSMonoPaths"
Condition=" $([MSBuild]::IsOSPlatform ('osx')) ">
<PropertyGroup>
<_MonoBase>/Library/Frameworks/Mono.framework/</_MonoBase>
<_MonoLibPath>$(_MonoBase)Libraries/</_MonoLibPath>
<_MonoFrameworkPath>$(_MonoLibPath)libmonosgen-2.0.1.dylib</_MonoFrameworkPath>
<_MonoIncludePath>$(_MonoBase)Headers/mono-2.0</_MonoIncludePath>
<_MonoLibs>-L "$(_MonoLibPath)" -lmonosgen-2.0</_MonoLibs>
</PropertyGroup>
</Target>


<Target Name="_CreatePackagePathsProps"
AfterTargets="AfterBuild"
Inputs="$(MSBuildThisFileFullPath);$(MSBuildThisFileDirectory)Java.Interop.BootstrapTasks.csproj"
Outputs="$(_OutputPath)PackagePaths.props">
<ItemGroup>
<_Path Include="PkgNUnit_ConsoleRunner" Destination="$(PkgNUnit_ConsoleRunner)" />
</ItemGroup>
<Message Text="PkgNUnit_ConsoleRunner=$(PkgNUnit_ConsoleRunner)" />
<ItemGroup>
<_Line Include="&lt;Project&gt;" />
<_Line Include=" &lt;PropertyGroup&gt;" />
<_Line Include="@(_Path->' &lt;%(Identity) Condition=&quot; %27%24(%(Identity))%27 == %27%27 &quot;&gt;%(Destination)&lt;/%(Identity)&gt;', '
<_PackagePathsLine Include="&lt;Project&gt;" />
<_PackagePathsLine Include=" &lt;PropertyGroup&gt;" />
<_PackagePathsLine Include="@(_Path->' &lt;%(Identity) Condition=&quot; %27%24(%(Identity))%27 == %27%27 &quot;&gt;%(Destination)&lt;/%(Identity)&gt;', '
')" />
<_Line Include=" &lt;/PropertyGroup&gt;" />
<_Line Include="&lt;/Project&gt;" />
<_PackagePathsLine Include=" &lt;/PropertyGroup&gt;" />
<_PackagePathsLine Include="&lt;/Project&gt;" />
</ItemGroup>
<WriteLinesToFile
File="$(_OutputPath)PackagePaths.props"
Lines="@(_Line)"
Lines="@(_PackagePathsLine)"
Overwrite="True"
/>
<Touch Files="$(_OutputPath)PackagePaths.props" />
Expand Down
3 changes: 0 additions & 3 deletions build-tools/automation/azure-pipelines.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -176,9 +176,6 @@ jobs:

- template: templates\install-dependencies.yaml

- script: make prepare-core CONFIGURATION=$(Build.Configuration) JI_MAX_JDK=$(MaxJdkVersion)
displayName: make prepare-core

- template: templates\core-build.yaml

- template: templates\core-tests.yaml
Expand Down
39 changes: 0 additions & 39 deletions build-tools/scripts/mono.mk
Original file line number Diff line number Diff line change
Expand Up @@ -38,42 +38,3 @@ endif # $(V) != 0
ifneq ($(MONO_OPTIONS),)
export MONO_OPTIONS
endif # $(MONO_OPTIONS) != ''

ifeq ($(OS),Darwin)
JI_MONO_BASE = /Library/Frameworks/Mono.framework/
JI_MONO_LIB_PATH = $(JI_MONO_BASE)Libraries/
JI_MONO_FRAMEWORK_PATH = $(JI_MONO_LIB_PATH)libmonosgen-2.0.1.dylib
JI_MONO_INCLUDE_PATHS = $(JI_MONO_BASE)Headers/mono-2.0
JI_MONO_LIBS = -L $(JI_MONO_LIB_PATH) -lmonosgen-2.0
endif
ifeq ($(OS),Linux)
JI_MONO_LIB_PATH = $(dir `which mono`)/../lib/
JI_MONO_FRAMEWORK_PATH = $(shell pkg-config --variable=libdir mono-2)/libmonosgen-2.0.so
JI_MONO_INCLUDE_PATHS = $(shell pkg-config --variable=includedir mono-2)
JI_MONO_LIBS = -L $(shell pkg-config --variable=libdir mono-2) -lmonosgen-2.0
endif



$(JI_MONO_FRAMEWORK_PATH):
@echo "error: No Mono framework found\!";
@exit 1

bin/Build$(CONFIGURATION)/MonoInfo.props: $(JI_MONO_INCLUDE_PATHS) $(JI_MONO_FRAMEWORK_PATH)
-mkdir -p `dirname "$@"`
-rm "$@"
echo '<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">' > "$@"
echo ' <Choose>' >> "$@"
echo " <When Condition=\" '\$$(MonoFrameworkPath)' == '' \">" >> "$@"
echo ' <PropertyGroup>' >> "$@"
echo " <MonoFrameworkPath>$(JI_MONO_FRAMEWORK_PATH)</MonoFrameworkPath>" >> "$@"
echo " <MonoLibs >$(JI_MONO_LIBS)</MonoLibs>" >> "$@"
echo ' </PropertyGroup>' >> "$@"
echo ' <ItemGroup>' >> "$@"
for p in $(JI_MONO_INCLUDE_PATHS); do \
echo " <MonoIncludePath Include=\"$$p\" />" >> "$@"; \
done
echo ' </ItemGroup>' >> "$@"
echo ' </When>' >> "$@"
echo ' </Choose>' >> "$@"
echo '</Project>' >> "$@"