Skip to content

Commit 74fba8a

Browse files
authored
[browser][coreCLR] runtime pack (#121174)
1 parent 79a2a1a commit 74fba8a

File tree

9 files changed

+52
-10
lines changed

9 files changed

+52
-10
lines changed

eng/Subsets.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@
111111
<DefaultCoreClrSubsets Condition="'$(TargetRid)' == 'linux-armel'">clr.native+clr.corelib+clr.tools+clr.nativecorelib+clr.packages+clr.nativeaotlibs+clr.crossarchtools</DefaultCoreClrSubsets>
112112
<DefaultCoreClrSubsets Condition="'$(TargetsAndroid)' == 'true'">clr.native+clr.corelib+clr.tools+clr.nativecorelib+clr.packages+clr.nativeaotlibs+clr.crossarchtools</DefaultCoreClrSubsets>
113113
<DefaultCoreClrSubsets Condition="'$(TargetsAppleMobile)' == 'true'">clr.native+clr.corelib+clr.tools+clr.nativecorelib+clr.packages+clr.nativeaotlibs+clr.crossarchtools</DefaultCoreClrSubsets>
114-
<DefaultCoreClrSubsets Condition="'$(TargetsBrowser)' == 'true'">mono.emsdk+clr.native+clr.corelib+clr.tools+clr.packages+clr.crossarchtools+host.native</DefaultCoreClrSubsets>
114+
<DefaultCoreClrSubsets Condition="'$(TargetsBrowser)' == 'true'">mono.emsdk+clr.native+clr.corelib+clr.nativecorelib+clr.tools+clr.packages+clr.crossarchtools+host.native</DefaultCoreClrSubsets>
115115
<!-- Even on platforms that do not support the CoreCLR runtime, we still want to build ilasm/ildasm. -->
116116
<DefaultCoreClrSubsets Condition="'$(RuntimeFlavor)' != 'CoreCLR'">clr.iltools+clr.packages</DefaultCoreClrSubsets>
117117

eng/pipelines/runtime.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ extends:
111111
- browser_wasm_win
112112
jobParameters:
113113
nameSuffix: AllSubsets_CoreCLR
114-
buildArgs: -s clr+libs -c $(_BuildConfig) -lc Release
114+
buildArgs: -s clr+libs+packs -c $(_BuildConfig) -lc Release
115115
timeoutInMinutes: 120
116116
postBuildSteps:
117117
- template: /eng/pipelines/common/templates/runtimes/build-runtime-tests.yml

src/coreclr/crossgen-corelib.proj

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,21 @@
9696
</ItemGroup>
9797
</Target>
9898

99+
<Target Name="InvokeCrossgenBrowser"
100+
DependsOnTargets="PrepareInvokeCrossgen"
101+
Inputs="@(Crossgen2Inputs)"
102+
Outputs="$(CoreLibOutputPath)"
103+
Condition="'$(TargetOS)' == 'browser'"
104+
AfterTargets="Build">
105+
<!-- TODO-WASM: we will have WASM R2R later, for now we just need to copy the file into expected location -->
106+
<Copy SourceFiles="@(CoreLib)" DestinationFiles="$(CoreLibOutputPath)" UseHardlinksIfPossible="true" />
107+
</Target>
108+
99109
<Target Name="InvokeCrossgen"
100110
DependsOnTargets="PrepareInvokeCrossgen;CreateMergedMibcFile"
101111
Inputs="@(Crossgen2Inputs)"
102112
Outputs="$(CoreLibOutputPath);$(CoreLibNiPdbPath);$(CoreLibPerfMapPath)"
113+
Condition="'$(TargetOS)' != 'browser'"
103114
AfterTargets="Build">
104115

105116
<MakeDir

src/installer/pkg/sfx/Microsoft.NETCore.App/Directory.Build.props

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,21 @@
261261
<PlatformManifestFileEntry Include="wasi-link.rsp" IsNative="true" />
262262
<PlatformManifestFileEntry Include="ILLink.Substitutions.WasmIntrinsics.xml" IsNative="true" />
263263
<PlatformManifestFileEntry Include="ILLink.Substitutions.NoWasmIntrinsics.xml" IsNative="true" />
264+
<!-- CoreCLR WASM-specific files -->
265+
<PlatformManifestFileEntry Include="libclrinterpreter.a" IsNative="true" />
266+
<PlatformManifestFileEntry Include="libcoreclrminipal.a" IsNative="true" />
267+
<PlatformManifestFileEntry Include="libcoreclrpal.a" IsNative="true" />
268+
<PlatformManifestFileEntry Include="libgcinfo_unix_wasm.a" IsNative="true" />
269+
<PlatformManifestFileEntry Include="libminipal.a" IsNative="true" />
270+
<PlatformManifestFileEntry Include="libnativeresourcestring.a" IsNative="true" />
271+
<PlatformManifestFileEntry Include="libBrowserHost.js" IsNative="true" />
272+
<PlatformManifestFileEntry Include="libBrowserHost.js.map" IsNative="true" />
273+
<PlatformManifestFileEntry Include="libSystem.Browser.Utils.js" IsNative="true" />
274+
<PlatformManifestFileEntry Include="libSystem.Browser.Utils.js.map" IsNative="true" />
275+
<PlatformManifestFileEntry Include="libSystem.Native.Browser.js" IsNative="true" />
276+
<PlatformManifestFileEntry Include="libSystem.Native.Browser.js.map" IsNative="true" />
277+
<PlatformManifestFileEntry Include="libSystem.Runtime.InteropServices.JavaScript.Native.js" IsNative="true" />
278+
<PlatformManifestFileEntry Include="libSystem.Runtime.InteropServices.JavaScript.Native.js.map" IsNative="true" />
264279
<!-- wasi specific -->
265280
<PlatformManifestFileEntry Include="main.c" IsNative="true" />
266281
<PlatformManifestFileEntry Include="driver.h" IsNative="true" />

src/installer/pkg/sfx/Microsoft.NETCore.App/Microsoft.NETCore.App.Runtime.CoreCLR.sfxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
<PublishReadyToRun>true</PublishReadyToRun>
2525
<!-- Disable crossgen on NetBSD, illumos, Solaris and Haiku for now. This can be revisited when we have full support. -->
2626
<PublishReadyToRun Condition="'$(TargetOS)' == 'netbsd' or '$(TargetOS)' == 'illumos' or '$(TargetOS)' == 'solaris' or '$(TargetOS)' == 'haiku'">false</PublishReadyToRun>
27+
<!-- TODO-WASM: we will have WASM R2R after https://github.com/dotnet/runtime/issues/121257 -->
28+
<PublishReadyToRun Condition="'$(TargetOS)' == 'browser' or '$(TargetOS)' == 'wasi'">false</PublishReadyToRun>
2729
<PublishReadyToRun Condition="'$(StageTwoBuild)'=='true'">false</PublishReadyToRun>
2830
<UsesMuxerHostModel Condition="'$(TargetsMobile)' != 'true'">true</UsesMuxerHostModel>
2931
<IncludeDiaSymReaderNative Condition="'$(TargetOS)' == 'windows'">true</IncludeDiaSymReaderNative>

src/native/libs/Common/JavaScript/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,5 +126,7 @@ add_custom_target(System.Native.Browser-NpmInstall
126126
DEPENDS ${NPM_INSTALL_OUTPUTS}
127127
)
128128

129-
install(FILES ${ROLLUP_OUTPUTS} DESTINATION sharedFramework COMPONENT runtime)
130-
install(FILES "${CLR_SRC_NATIVE_DIR}/package.json" DESTINATION sharedFramework COMPONENT runtime)
129+
if (NOT CORERUN_LIBS_ONLY)
130+
install(FILES ${ROLLUP_OUTPUTS} DESTINATION sharedFramework COMPONENT runtime)
131+
install(FILES "${CLR_SRC_NATIVE_DIR}/package.json" DESTINATION sharedFramework COMPONENT runtime)
132+
endif()

src/native/libs/System.Globalization.Native/CMakeLists.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,9 @@ endif()
196196

197197
install (TARGETS System.Globalization.Native-Static DESTINATION ${STATIC_LIB_DESTINATION} COMPONENT libs)
198198
if(CLR_CMAKE_HOST_ANDROID OR CLR_CMAKE_HOST_IOS OR CLR_CMAKE_HOST_TVOS OR CLR_CMAKE_HOST_MACCATALYST OR CLR_CMAKE_TARGET_BROWSER OR CLR_CMAKE_TARGET_WASI)
199-
install (TARGETS System.Globalization.Native-Static DESTINATION sharedFramework COMPONENT runtime)
199+
if (NOT CORERUN_LIBS_ONLY)
200+
install (TARGETS System.Globalization.Native-Static DESTINATION sharedFramework COMPONENT runtime)
201+
endif()
200202
endif()
201203

202204
if(NOT CLR_CMAKE_TARGET_WIN32 AND NOT CLR_CMAKE_TARGET_APPLE AND NOT CLR_CMAKE_TARGET_ANDROID AND NOT CLR_CMAKE_TARGET_LINUX_MUSL AND NOT CLR_CMAKE_TARGET_HAIKU)
@@ -231,5 +233,7 @@ if((CLR_CMAKE_TARGET_BROWSER OR CLR_CMAKE_TARGET_WASI) AND DEFINED CMAKE_ICU_DIR
231233
"${CMAKE_ICU_DIR}/lib/libicudata.a"
232234
)
233235
install(FILES ${ICU_DATA_AND_LIB_FILES} DESTINATION ${STATIC_LIB_DESTINATION} COMPONENT libs)
234-
install(FILES ${ICU_DATA_AND_LIB_FILES} DESTINATION sharedFramework COMPONENT runtime)
236+
if (NOT CORERUN_LIBS_ONLY)
237+
install(FILES ${ICU_DATA_AND_LIB_FILES} DESTINATION sharedFramework COMPONENT runtime)
238+
endif()
235239
endif()

src/native/libs/System.Native.Browser/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ add_library(System.Native.Browser-Static
1212
)
1313
set_target_properties(System.Native.Browser-Static PROPERTIES OUTPUT_NAME System.Native.Browser CLEAN_DIRECT_OUTPUT 1)
1414
install(TARGETS System.Native.Browser-Static DESTINATION ${STATIC_LIB_DESTINATION} COMPONENT libs)
15-
install(TARGETS System.Native.Browser-Static DESTINATION sharedFramework COMPONENT runtime)
15+
if (NOT CORERUN_LIBS_ONLY)
16+
install(TARGETS System.Native.Browser-Static DESTINATION sharedFramework COMPONENT runtime)
17+
endif()
1618

1719
add_subdirectory(../Common/JavaScript common-js)
1820
add_dependencies(System.Native.Browser-Static System.Native.Browser-Rollup)

src/native/libs/System.Native/CMakeLists.txt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,9 @@ set_target_properties(System.Native-Static PROPERTIES OUTPUT_NAME System.Native
149149
install (TARGETS System.Native-Static DESTINATION ${STATIC_LIB_DESTINATION} COMPONENT libs)
150150

151151
if(CLR_CMAKE_HOST_ANDROID OR CLR_CMAKE_HOST_IOS OR CLR_CMAKE_HOST_TVOS OR CLR_CMAKE_HOST_MACCATALYST OR CLR_CMAKE_TARGET_BROWSER OR CLR_CMAKE_TARGET_WASI)
152-
install (TARGETS System.Native-Static DESTINATION sharedFramework COMPONENT runtime)
152+
if (NOT CORERUN_LIBS_ONLY)
153+
install (TARGETS System.Native-Static DESTINATION sharedFramework COMPONENT runtime)
154+
endif()
153155
endif()
154156

155157
if (CLR_CMAKE_TARGET_ARCH_WASM AND DEFINED CMAKE_TZD_DIR)
@@ -164,11 +166,15 @@ if (CLR_CMAKE_TARGET_ARCH_WASM AND DEFINED CMAKE_TZD_DIR)
164166
target_compile_definitions(System.Native.TimeZoneData PRIVATE TZ_DATA_ENABLED)
165167
target_include_directories(System.Native.TimeZoneData PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/inc")
166168
install(TARGETS System.Native.TimeZoneData DESTINATION ${STATIC_LIB_DESTINATION} COMPONENT libs)
167-
install(TARGETS System.Native.TimeZoneData DESTINATION sharedFramework COMPONENT runtime)
169+
if (NOT CORERUN_LIBS_ONLY)
170+
install(TARGETS System.Native.TimeZoneData DESTINATION sharedFramework COMPONENT runtime)
171+
endif()
168172

169173
# Also add a stub to support InvariantTimezone.
170174
add_library(System.Native.TimeZoneData.Invariant STATIC pal_datetime_time_zone_data.c)
171175
add_dependencies(System.Native-Static System.Native.TimeZoneData.Invariant)
172176
install(TARGETS System.Native.TimeZoneData.Invariant DESTINATION ${STATIC_LIB_DESTINATION} COMPONENT libs)
173-
install(TARGETS System.Native.TimeZoneData.Invariant DESTINATION sharedFramework COMPONENT runtime)
177+
if (NOT CORERUN_LIBS_ONLY)
178+
install(TARGETS System.Native.TimeZoneData.Invariant DESTINATION sharedFramework COMPONENT runtime)
179+
endif()
174180
endif ()

0 commit comments

Comments
 (0)