Skip to content

Commit 05aebd7

Browse files
dellis1972jonpryor
authored andcommitted
[build-tools] Update library outputs to not include <abi> suffix (#47)
The native libraries are output into an <abi> specific folder in lib/xbuild/Xamarin/Android/libs As a result we really do not need to have an <abi> suffix as part of the native library name. In additon the libmonosgen library was having -unstripped appended to the end of the library so it was libmonosgen-2.0.so-unstripped this looks a bit weird since it replaces the normal .so extension. This has been removed.
1 parent 95c71bb commit 05aebd7

File tree

3 files changed

+60
-50
lines changed

3 files changed

+60
-50
lines changed

build-tools/mono-runtimes/mono-runtimes.projitems

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
<RanLib>$(_ArmRanLib)</RanLib>
1616
<Strip>$(_ArmStrip)</Strip>
1717
<ConfigureFlags>--host=armv5-linux-androideabi $(_TargetConfigureFlags)</ConfigureFlags>
18-
<OutputRuntime>libmonosgen-2.0.so</OutputRuntime>
19-
<OutputProfiler>libmono-profiler-log.so</OutputProfiler>
20-
<OutputMonoPosixHelper>libMonoPosixHelper.so</OutputMonoPosixHelper>
18+
<OutputRuntimeFilename>libmonosgen-2.0</OutputRuntimeFilename>
19+
<NativeLibraryExtension>so</NativeLibraryExtension>
20+
<OutputProfilerFilename>libmono-profiler-log</OutputProfilerFilename>
21+
<OutputMonoPosixHelperFilename>libMonoPosixHelper</OutputMonoPosixHelperFilename>
2122
</_MonoRuntime>
2223
<_MonoRuntime Include="armeabi-v7a" Condition="$(AndroidSupportedAbisForConditionalChecks.Contains (',armeabi-v7a,'))">
2324
<Ar>$(_ArmAr)</Ar>
@@ -33,9 +34,10 @@
3334
<RanLib>$(_ArmRanLib)</RanLib>
3435
<Strip>$(_ArmStrip)</Strip>
3536
<ConfigureFlags>--host=armv5-linux-androideabi $(_TargetConfigureFlags)</ConfigureFlags>
36-
<OutputRuntime>libmonosgen-2.0.so</OutputRuntime>
37-
<OutputProfiler>libmono-profiler-log.so</OutputProfiler>
38-
<OutputMonoPosixHelper>libMonoPosixHelper.so</OutputMonoPosixHelper>
37+
<OutputRuntimeFilename>libmonosgen-2.0</OutputRuntimeFilename>
38+
<NativeLibraryExtension>so</NativeLibraryExtension>
39+
<OutputProfilerFilename>libmono-profiler-log</OutputProfilerFilename>
40+
<OutputMonoPosixHelperFilename>libMonoPosixHelper</OutputMonoPosixHelperFilename>
3941
</_MonoRuntime>
4042
<_MonoRuntime Include="arm64-v8a" Condition="$(AndroidSupportedAbisForConditionalChecks.Contains (',arm64-v8a,'))">
4143
<Ar>$(_Arm64Ar)</Ar>
@@ -51,9 +53,10 @@
5153
<RanLib>$(_Arm64RanLib)</RanLib>
5254
<Strip>$(_Arm64Strip)</Strip>
5355
<ConfigureFlags>--host=aarch64-linux-android $(_TargetConfigureFlags)</ConfigureFlags>
54-
<OutputRuntime>libmonosgen-2.0.so</OutputRuntime>
55-
<OutputProfiler>libmono-profiler-log.so</OutputProfiler>
56-
<OutputMonoPosixHelper>libMonoPosixHelper.so</OutputMonoPosixHelper>
56+
<OutputRuntimeFilename>libmonosgen-2.0</OutputRuntimeFilename>
57+
<NativeLibraryExtension>so</NativeLibraryExtension>
58+
<OutputProfilerFilename>libmono-profiler-log</OutputProfilerFilename>
59+
<OutputMonoPosixHelperFilename>libMonoPosixHelper</OutputMonoPosixHelperFilename>
5760
</_MonoRuntime>
5861
<_MonoRuntime Include="x86" Condition="$(AndroidSupportedAbisForConditionalChecks.Contains (',x86,'))">
5962
<Ar>$(_X86Ar)</Ar>
@@ -69,9 +72,10 @@
6972
<RanLib>$(_X86RanLib)</RanLib>
7073
<Strip>$(_X86Strip)</Strip>
7174
<ConfigureFlags>--host=i686-linux-android $(_TargetConfigureFlags)</ConfigureFlags>
72-
<OutputRuntime>libmonosgen-2.0.so</OutputRuntime>
73-
<OutputProfiler>libmono-profiler-log.so</OutputProfiler>
74-
<OutputMonoPosixHelper>libMonoPosixHelper.so</OutputMonoPosixHelper>
75+
<OutputRuntimeFilename>libmonosgen-2.0</OutputRuntimeFilename>
76+
<NativeLibraryExtension>so</NativeLibraryExtension>
77+
<OutputProfilerFilename>libmono-profiler-log</OutputProfilerFilename>
78+
<OutputMonoPosixHelperFilename>libMonoPosixHelper</OutputMonoPosixHelperFilename>
7579
</_MonoRuntime>
7680
<_MonoRuntime Include="x86_64" Condition="$(AndroidSupportedAbisForConditionalChecks.Contains (',x86_64,'))">
7781
<Ar>$(_X86_64Ar)</Ar>
@@ -87,9 +91,10 @@
8791
<RanLib>$(_X86_64RanLib)</RanLib>
8892
<Strip>$(_X86_64Strip)</Strip>
8993
<ConfigureFlags>--host=x86_64-linux-android $(_TargetConfigureFlags)</ConfigureFlags>
90-
<OutputRuntime>libmonosgen-2.0.so</OutputRuntime>
91-
<OutputProfiler>libmono-profiler-log.so</OutputProfiler>
92-
<OutputMonoPosixHelper>libMonoPosixHelper.so</OutputMonoPosixHelper>
94+
<OutputRuntimeFilename>libmonosgen-2.0</OutputRuntimeFilename>
95+
<NativeLibraryExtension>so</NativeLibraryExtension>
96+
<OutputProfilerFilename>libmono-profiler-log</OutputProfilerFilename>
97+
<OutputMonoPosixHelperFilename>libMonoPosixHelper</OutputMonoPosixHelperFilename>
9398
</_MonoRuntime>
9499
<_MonoRuntime Include="host-Darwin" Condition=" '$(HostOS)' == 'Darwin' ">
95100
<Ar>ar</Ar>
@@ -104,9 +109,10 @@
104109
<RanLib>ranlib</RanLib>
105110
<Strip>strip -S</Strip>
106111
<ConfigureFlags>--enable-maintainer-mode --without-ikvm-native --with-monodroid --with-mcs-docs=no --disable-mono-debugger --with-profile2=no --with-profile4=no --with-profile4_5=yes --disable-boehm --enable-nls=no --disable-iconv</ConfigureFlags>
107-
<OutputRuntime>libmonosgen-2.0.dylib</OutputRuntime>
108-
<OutputProfiler>libmono-profiler-log.dylib</OutputProfiler>
109-
<OutputMonoPosixHelper>libMonoPosixHelper.dylib</OutputMonoPosixHelper>
112+
<OutputRuntimeFilename>libmonosgen-2.0</OutputRuntimeFilename>
113+
<NativeLibraryExtension>dylib</NativeLibraryExtension>
114+
<OutputProfilerFilename>libmono-profiler-log</OutputProfilerFilename>
115+
<OutputMonoPosixHelperFilename>libMonoPosixHelper</OutputMonoPosixHelperFilename>
110116
</_MonoRuntime>
111117
<_MonoRuntime Include="host-Linux" Condition=" '$(HostOS)' == 'Linux' ">
112118
<Ar>ar</Ar>
@@ -121,9 +127,10 @@
121127
<RanLib>ranlib</RanLib>
122128
<Strip>strip -S</Strip>
123129
<ConfigureFlags>--enable-maintainer-mode --without-ikvm-native --with-monodroid --with-mcs-docs=no --disable-mono-debugger --with-profile2=no --with-profile4=no --with-profile4_5=yes --disable-boehm --enable-nls=no --disable-iconv</ConfigureFlags>
124-
<OutputRuntime>libmonosgen-2.0.so</OutputRuntime>
125-
<OutputProfiler>libmono-profiler-log.so</OutputProfiler>
126-
<OutputMonoPosixHelper>libMonoPosixHelper.so</OutputMonoPosixHelper>
130+
<OutputRuntimeFilename>libmonosgen-2.0</OutputRuntimeFilename>
131+
<NativeLibraryExtension>so</NativeLibraryExtension>
132+
<OutputProfilerFilename>libmono-profiler-log</OutputProfilerFilename>
133+
<OutputMonoPosixHelperFilename>libMonoPosixHelper</OutputMonoPosixHelperFilename>
127134
</_MonoRuntime>
128135
</ItemGroup>
129136
</Project>

build-tools/mono-runtimes/mono-runtimes.targets

Lines changed: 27 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -86,48 +86,51 @@
8686
AlwaysCreate="True"
8787
/>
8888
</Target>
89+
<ItemGroup>
90+
<_RuntimeLibraries Include="@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\mono\mini\.libs\%(OutputRuntimeFilename).%(NativeLibraryExtension)')" />
91+
<_RuntimeLibraries Include="@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\mono\profiler\.libs\%(OutputProfilerFilename).%(NativeLibraryExtension)')" />
92+
<_RuntimeLibraries Include="@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\support\.libs\%(OutputMonoPosixHelperFilename).%(NativeLibraryExtension)')" />
93+
</ItemGroup>
8994
<Target Name="_BuildRuntimes"
9095
Inputs="@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\.stamp')"
91-
Outputs="@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\mono\mini\.libs\%(OutputRuntime)');@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\mono\profiler\.libs\%(OutputProfiler)');@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\support\.libs\%(OutputMonoPosixHelper)');@(_BclProfileItems)">
96+
Outputs="@(_RuntimeLibraries);@(_BclProfileItems">
9297
<Exec
9398
Command="make $(MAKEFLAGS) # %(_MonoRuntime.Identity)"
9499
WorkingDirectory="@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)')"
95100
/>
101+
<ItemGroup>
102+
<_MonoLibraries Include="@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)\mono\mini\.libs\%(OutputRuntimeFilename).%(NativeLibraryExtension)')" />
103+
<_MonoLibraries Include="@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\mono\profiler\.libs\%(OutputProfilerFilename).%(NativeLibraryExtension)')" />
104+
<_MonoLibraries Include="@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\support\.libs\%(OutputMonoPosixHelperFilename).%(NativeLibraryExtension)')" />
105+
</ItemGroup>
96106
<Touch
97-
Files="@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)\mono\mini\.libs\%(OutputRuntime)');@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\mono\profiler\.libs\%(OutputProfiler)');@(_MonoRuntime->'$(IntermediateOutputPath)%(Identity)\support\.libs\%(OutputMonoPosixHelper)')"
107+
Files="@(_MonoLibraries)"
98108
/>
99109
</Target>
110+
<ItemGroup>
111+
<_InstallRuntimesOutputs Include="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputRuntimeFilename).%(NativeLibraryExtension)')" />
112+
<_InstallRuntimesOutputs Include="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputProfilerFilename).%(NativeLibraryExtension)')" />
113+
<_InstallRuntimesOutputs Include="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputMonoPosixHelperFilename).%(NativeLibraryExtension)')" />
114+
<_InstallUnstrippedRuntimeOutputs Include="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputRuntimeFilename).d.%(NativeLibraryExtension)')" />
115+
</ItemGroup>
100116
<Target Name="_InstallRuntimes"
101-
Inputs="@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)\mono\mini\.libs\%(OutputRuntime)');@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)\mono\profiler\.libs\%(OutputProfiler)');@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)\support\.libs\%(OutputMonoPosixHelper)')"
102-
Outputs="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputRuntime)');@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputProfiler)');@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputMonoPosixHelper)')">
117+
Inputs="@(_RuntimeLibraries)"
118+
Outputs="@(_InstallRuntimesOutputs);@(_InstallUnstrippedRuntimeOutputs)">
103119
<MakeDir Directories="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)')" />
104120
<Copy
105-
SourceFiles="@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)\mono\mini\.libs\%(OutputRuntime)')"
106-
DestinationFiles="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputRuntime)')"
107-
/>
108-
<Touch
109-
Files="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputRuntime)')"
121+
SourceFiles="@(_RuntimeLibraries)"
122+
DestinationFiles="@(_InstallRuntimesOutputs)"
110123
/>
111124
<Copy
112-
SourceFiles="@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)\mono\mini\.libs\%(OutputRuntime)')"
113-
DestinationFiles="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputRuntime)-unstripped')"
125+
SourceFiles="@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)\mono\mini\.libs\%(OutputRuntimeFilename).%(NativeLibraryExtension)')"
126+
DestinationFiles="@(_InstallUnstrippedRuntimeOutputs)"
114127
/>
115128
<Exec
116-
Command="%(_MonoRuntime.Strip) &quot;$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputRuntime)&quot;"
117-
/>
118-
<Copy
119-
SourceFiles="@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)\mono\profiler\.libs\%(OutputProfiler)')"
120-
DestinationFiles="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputProfiler)')"
121-
/>
122-
<Touch
123-
Files="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputProfiler)')"
124-
/>
125-
<Copy
126-
SourceFiles="@(_MonoRuntime->'$(IntermediateOutputPath)\%(Identity)\support\.libs\%(OutputMonoPosixHelper)')"
127-
DestinationFiles="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputMonoPosixHelper)')"
129+
Condition=" '$(Configuration)' != 'Debug' "
130+
Command="&quot;%(_MonoRuntime.Strip)&quot; &quot;$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputRuntimeFilename).%(NativeLibraryExtension)&quot;"
128131
/>
129132
<Touch
130-
Files="@(_MonoRuntime->'$(OutputPath)\lib\xbuild\Xamarin\Android\lib\%(Identity)\%(OutputMonoPosixHelper)')"
133+
Files="@(_InstallRuntimesOutputs);@(_InstallUnstrippedRuntimeOutputs)"
131134
/>
132135
</Target>
133136
<Target Name="_InstallBcl"

src/monodroid/monodroid.targets

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
</ItemGroup>
1010
<Target Name="_BuildRuntimes"
1111
Inputs="@(CFiles);jni\Android.mk"
12-
Outputs="@(_MonoRuntime->'$(OutputPath)\%(Identity)\libmono-android.$(_Conf).%(Identity).so')">
12+
Outputs="@(_MonoRuntime->'$(OutputPath)\%(Identity)\libmono-android.$(_Conf).so')">
1313
<PropertyGroup>
1414
<_AppAbi>$(AndroidSupportedAbis.Replace(',', ' ')</_AppAbi>
1515
</PropertyGroup>
@@ -23,18 +23,18 @@
2323
/>
2424
<Copy
2525
SourceFiles="@(_MonoRuntime->'obj\local\%(Identity)\libmonodroid.so')"
26-
DestinationFiles="@(_MonoRuntime->'$(OutputPath)\%(Identity)\libmono-android.$(_Conf).%(Identity).d.so')"
26+
DestinationFiles="@(_MonoRuntime->'$(OutputPath)\%(Identity)\libmono-android.$(_Conf).d.so')"
2727
/>
2828
<Copy
2929
SourceFiles="@(_MonoRuntime->'libs\%(Identity)\libmonodroid.so')"
30-
DestinationFiles="@(_MonoRuntime->'$(OutputPath)\%(Identity)\libmono-android.$(_Conf).%(Identity).so')"
30+
DestinationFiles="@(_MonoRuntime->'$(OutputPath)\%(Identity)\libmono-android.$(_Conf).so')"
3131
/>
3232
</Target>
3333
<Target Name="_CleanRuntimes"
3434
AfterTargets="Clean">
3535
<RemoveDir Directories="obj\local;libs" />
3636
<Delete Files="jni\config.include;jni\machine.config.include;jni\Application.mk" />
37-
<Delete Files="@(_MonoRuntime->'$(OutputPath)\%(Identity)\libmono-android.$(_Conf).%(Identity).so')" />
38-
<Delete Files="@(_MonoRuntime->'$(OutputPath)\%(Identity)\libmono-android.$(_Conf).%(Identity).d.so')" />
37+
<Delete Files="@(_MonoRuntime->'$(OutputPath)\%(Identity)\libmono-android.$(_Conf).so')" />
38+
<Delete Files="@(_MonoRuntime->'$(OutputPath)\%(Identity)\libmono-android.$(_Conf).d.so')" />
3939
</Target>
4040
</Project>

0 commit comments

Comments
 (0)