Skip to content

Commit

Permalink
December infra rollout - remove duplicated 'src' from coreclr subrepo…
Browse files Browse the repository at this point in the history
… (src/coreclr/src becomes src/coreclr) (#44973)

* Move src/coreclr/src/Directory.Build.targets to src/coreclr
Merge src/coreclr/src/CMakeLists.txt into src/coreclr/CMakeLists.txt

* Mechanical move of src/coreclr/src to src/coreclr

* Scripts adjustments to reflect the changed paths
  • Loading branch information
trylek committed Dec 8, 2020
1 parent 0ec0794 commit 69e114c
Show file tree
Hide file tree
Showing 5,169 changed files with 207 additions and 216 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
33 changes: 19 additions & 14 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@ dlldata.c
*.svclog
*.scc

# Special file
!src/coreclr/.nuget/_.pdb

# Chutzpah Test files
_Chutzpah*

Expand Down Expand Up @@ -133,9 +136,6 @@ AutoTest.Net/
# Web workbench (sass)
.sass-cache/

# BenchmarkDotNet
BenchmarkDotNet.Artifacts/

# Installshield output folder
[Ee]xpress/

Expand Down Expand Up @@ -295,10 +295,10 @@ prime/
stage/

# CLR prebuilt generated files
!src/pal/prebuilt/idl/*_i.c
!pal/prebuilt/idl/*_i.c

# Valid 'debug' folder, that contains CLR debugging code
!src/debug
!debug

# Ignore folders created by the CLR test build
TestWrappers_x64_[d|D]ebug
Expand All @@ -313,7 +313,6 @@ TestWrappers_arm_[r|R]elease
TestWrappers_arm64_[d|D]ebug
TestWrappers_arm64_[c|C]hecked
TestWrappers_arm64_[r|R]elease
tests/src/common/test_runtime/project.json

Vagrantfile
.vagrant
Expand All @@ -333,7 +332,7 @@ cross/android-rootfs/*
*.pyc

# JIT32 files
src/jit32
jit32

# performance testing sandbox
sandbox
Expand All @@ -344,17 +343,23 @@ linker
# Symbolic link for the shared portion of CoreLib to make grep/findstr work for runtime devs
#
# On Windows, make your own by running these commands from the repo root:
# mklink /D src\coreclr\src\System.Private.CoreLib\shared %CD%\src\libraries\System.Private.CoreLib\src
# mklink /D src\coreclr\src\System.Private.CoreLib\common %CD%\src\libraries\Common\src
# mklink /D src\coreclr\System.Private.CoreLib\shared %CD%\src\libraries\System.Private.CoreLib\src
# mklink /D src\coreclr\System.Private.CoreLib\common %CD%\src\libraries\Common\src
#
# On Unix, make your own by running these commands from the repo root:
# ln -s $(pwd)/src/libraries/System.Private.CoreLib/src src/coreclr/src/System.Private.CoreLib/shared
# ln -s $(pwd)/src/libraries/Common/src src/coreclr/src/System.Private.CoreLib/common
src/coreclr/src/System.Private.CoreLib/shared
src/coreclr/src/System.Private.CoreLib/common
# ln -s $(pwd)/src/libraries/System.Private.CoreLib/src src/coreclr/System.Private.CoreLib/shared
# ln -s $(pwd)/src/libraries/Common/src src/coreclr/System.Private.CoreLib/common
src/coreclr/System.Private.CoreLib/shared
src/coreclr/System.Private.CoreLib/common

# The debug directory should not be ignored
!src/coreclr/src/debug
!src/coreclr/debug

# Exceptions to the exclusions
!src/coreclr/.nuget/_.pdb
!src/coreclr/inc/obj/
!src/coreclr/vm/.vscode/
!src/coreclr/vm/.vscode/c_cpp_properties.json

# Mono Wasm-specific excludes
src/mono/wasm/emsdk/
Expand Down
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@

<!-- System.Private.CoreLib -->
<CoreLibSharedDir>$([MSBuild]::NormalizeDirectory('$(LibrariesProjectRoot)', 'System.Private.CoreLib', 'src'))</CoreLibSharedDir>
<CoreLibProject Condition="'$(RuntimeFlavor)' == 'CoreCLR'">$([MSBuild]::NormalizePath('$(CoreClrProjectRoot)', 'src', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))</CoreLibProject>
<CoreLibProject Condition="'$(RuntimeFlavor)' == 'CoreCLR'">$([MSBuild]::NormalizePath('$(CoreClrProjectRoot)', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))</CoreLibProject>
<CoreLibProject Condition="'$(RuntimeFlavor)' == 'Mono'">$([MSBuild]::NormalizePath('$(MonoProjectRoot)', 'netcore', 'System.Private.CoreLib', 'System.Private.CoreLib.csproj'))</CoreLibProject>
</PropertyGroup>

Expand Down
24 changes: 12 additions & 12 deletions eng/Subsets.props
Original file line number Diff line number Diff line change
Expand Up @@ -136,12 +136,12 @@

<!-- CoreClr sets -->
<ItemGroup Condition="$(_subset.Contains('+clr.corelib+'))">
<ProjectToBuild Include="$(CoreClrProjectRoot)src\System.Private.CoreLib\System.Private.CoreLib.csproj" Category="clr" />
<ProjectToBuild Include="$(CoreClrProjectRoot)System.Private.CoreLib\System.Private.CoreLib.csproj" Category="clr" />
</ItemGroup>

<ItemGroup Condition="'$(TargetOS)' == 'windows' and ($(_subset.Contains('+clr.dactools+')) or $(_subset.Contains('+clr.runtime+')))">
<ProjectToBuild Include="$(CoreClrProjectRoot)src\ToolBox\SOS\DacTableGen\DacTableGen.csproj;
$(CoreClrProjectRoot)src\ToolBox\SOS\DIALib\DIALib.ilproj"
<ProjectToBuild Include="$(CoreClrProjectRoot)ToolBox\SOS\DacTableGen\DacTableGen.csproj;
$(CoreClrProjectRoot)ToolBox\SOS\DIALib\DIALib.ilproj"
Category="clr"/>
</ItemGroup>

Expand All @@ -166,7 +166,7 @@
</ItemGroup>

<ItemGroup Condition="$(_subset.Contains('+clr.paltestlist+'))">
<ProjectToBuild Include="$(CoreClrProjectRoot)src/pal/tests/palsuite/producepaltestlist.proj" />
<ProjectToBuild Include="$(CoreClrProjectRoot)pal/tests/palsuite/producepaltestlist.proj" />
</ItemGroup>

<ItemGroup Condition="$(_subset.Contains('+linuxdac+')) and $([MSBuild]::IsOsPlatform(Windows)) and '$(TargetArchitecture)' != 'x86'">
Expand All @@ -178,17 +178,17 @@
</ItemGroup>

<ItemGroup Condition="$(_subset.Contains('+crossdacpack+'))">
<ProjectToBuild Include="$(CoreClrProjectRoot)src\.nuget\Microsoft.CrossOsDiag.Private.CoreCLR\Microsoft.CrossOsDiag.Private.CoreCLR.proj" Category="clr" />
<ProjectToBuild Include="$(CoreClrProjectRoot).nuget\Microsoft.CrossOsDiag.Private.CoreCLR\Microsoft.CrossOsDiag.Private.CoreCLR.proj" Category="clr" />
</ItemGroup>

<ItemGroup Condition="$(_subset.Contains('+clr.tools+'))">
<ProjectToBuild Include="$(CoreClrProjectRoot)src\tools\runincontext\runincontext.csproj;
$(CoreClrProjectRoot)src\tools\r2rdump\R2RDump.csproj;
$(CoreClrProjectRoot)src\tools\dotnet-pgo\dotnet-pgo.csproj;
$(CoreClrProjectRoot)src\tools\r2rtest\R2RTest.csproj;
$(CoreClrProjectRoot)src\tools\aot\crossgen2\crossgen2.csproj" Category="clr" />
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\runincontext\runincontext.csproj;
$(CoreClrProjectRoot)tools\r2rdump\R2RDump.csproj;
$(CoreClrProjectRoot)tools\dotnet-pgo\dotnet-pgo.csproj;
$(CoreClrProjectRoot)tools\r2rtest\R2RTest.csproj;
$(CoreClrProjectRoot)tools\aot\crossgen2\crossgen2.csproj" Category="clr" />

<ProjectToBuild Include="$(CoreClrProjectRoot)src\tools\aot\ILCompiler.TypeSystem.ReadyToRun.Tests\ILCompiler.TypeSystem.ReadyToRun.Tests.csproj"
<ProjectToBuild Include="$(CoreClrProjectRoot)tools\aot\ILCompiler.TypeSystem.ReadyToRun.Tests\ILCompiler.TypeSystem.ReadyToRun.Tests.csproj"
Test="true" Category="clr" Condition="'$(__DistroRid)' != 'linux-musl-x64'"/>
</ItemGroup>

Expand All @@ -197,7 +197,7 @@
</ItemGroup>

<ItemGroup Condition="$(_subset.Contains('+clr.packages+'))">
<ProjectToBuild Include="$(CoreClrProjectRoot)src\.nuget\coreclr-packages.proj" Pack="true" Category="clr" />
<ProjectToBuild Include="$(CoreClrProjectRoot).nuget\coreclr-packages.proj" Pack="true" Category="clr" />
</ItemGroup>

<!-- Mono sets -->
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
134 changes: 117 additions & 17 deletions src/coreclr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ endif (MSVC)

# Set commonly used directory names
set(CLR_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(VM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/vm)
set(GENERATED_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/src/inc)
set(VM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/vm)
set(GENERATED_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/inc)
set(GENERATED_EVENTING_DIR ${CMAKE_CURRENT_BINARY_DIR}/Eventing)
set(VERSION_FILE_PATH "${CMAKE_BINARY_DIR}/version.c")
set(PAL_REDEFINES_FILE ${CMAKE_CURRENT_SOURCE_DIR}/src/dlls/mscordac/palredefines.S)
set(PAL_REDEFINES_FILE ${CMAKE_CURRENT_SOURCE_DIR}/dlls/mscordac/palredefines.S)

# Avoid logging when skipping up-to-date copies
set(CMAKE_INSTALL_MESSAGE LAZY)
Expand Down Expand Up @@ -79,24 +79,24 @@ if(CLR_CMAKE_HOST_UNIX)
endif()
endif()

add_subdirectory(src/pal)
add_subdirectory(src/hosts)
add_subdirectory(pal)
add_subdirectory(hosts)
else(CLR_CMAKE_HOST_UNIX)
if(CLR_CMAKE_TARGET_UNIX)
add_subdirectory(src/pal/src/libunwind)
add_subdirectory(pal/src/libunwind)
endif(CLR_CMAKE_TARGET_UNIX)
endif(CLR_CMAKE_HOST_UNIX)

# Add this subdir. We install the headers for the jit.
add_subdirectory(src/pal/prebuilt/inc)
add_subdirectory(pal/prebuilt/inc)

add_subdirectory(src/debug/debug-pal)
add_subdirectory(debug/debug-pal)

if(CLR_CMAKE_TARGET_WIN32 AND CLR_CMAKE_BUILD_SUBSET_RUNTIME)
add_subdirectory(src/gc/sample)
add_subdirectory(gc/sample)
endif()

add_subdirectory(src/tools/aot/jitinterface)
add_subdirectory(tools/aot/jitinterface)

# Above projects do not build with these compile options
# All of the compiler options are specified in file compileoptions.cmake
Expand All @@ -116,23 +116,123 @@ include(clrdefinitions.cmake)
# Include directory directives
#-------------------------------------
# Include the basic prebuilt headers - required for getting fileversion resource details.
include_directories("src/pal/prebuilt/inc")
include_directories("pal/prebuilt/inc")
include_directories("../../artifacts/obj/coreclr")

if(FEATURE_STANDALONE_GC)
add_definitions(-DFEATURE_STANDALONE_GC)
if (CLR_CMAKE_BUILD_SUBSET_RUNTIME)
add_subdirectory(src/gc)
add_subdirectory(gc)
endif (CLR_CMAKE_BUILD_SUBSET_RUNTIME)
endif(FEATURE_STANDALONE_GC)

if (CLR_CMAKE_HOST_UNIX)
include_directories("src/pal/inc")
include_directories("src/pal/inc/rt")
include_directories("src/pal/src/safecrt")
include_directories("pal/inc")
include_directories("pal/inc/rt")
include_directories("pal/src/safecrt")
endif (CLR_CMAKE_HOST_UNIX)

#------------------------------
# Add Product Directory
# Add Product Directories
#------------------------------
add_subdirectory(src)
include_directories("inc")
include_directories("debug/inc")
include_directories("debug/inc/${ARCH_SOURCES_DIR}")
include_directories("debug/inc/dump")
include_directories("md/inc")
include_directories("classlibnative/bcltype")
include_directories("classlibnative/cryptography")
include_directories("classlibnative/inc")
include_directories("${GENERATED_INCLUDE_DIR}")
include_directories("hosts/inc")

if(CLR_CMAKE_TARGET_WIN32 AND FEATURE_EVENT_TRACE)
include_directories("${GENERATED_INCLUDE_DIR}/etw")
endif(CLR_CMAKE_TARGET_WIN32 AND FEATURE_EVENT_TRACE)

add_subdirectory(debug/dbgutil)

if(CLR_CMAKE_HOST_UNIX)
if(CLR_CMAKE_BUILD_SUBSET_RUNTIME)
if(CLR_CMAKE_HOST_OSX OR (CLR_CMAKE_HOST_LINUX AND NOT CLR_CMAKE_HOST_UNIX_X86 AND NOT CLR_CMAKE_HOST_ANDROID))
add_subdirectory(debug/createdump)
endif(CLR_CMAKE_HOST_OSX OR (CLR_CMAKE_HOST_LINUX AND NOT CLR_CMAKE_HOST_UNIX_X86 AND NOT CLR_CMAKE_HOST_ANDROID))
endif(CLR_CMAKE_BUILD_SUBSET_RUNTIME)

# Include the dummy c++ include files
include_directories("pal/inc/rt/cpp")

# This prevents inclusion of standard C compiler headers
add_compile_options(-nostdinc)

set (NATIVE_RESOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/nativeresources)
include_directories(${NATIVE_RESOURCE_DIR})
set (RC_TO_CPP ${NATIVE_RESOURCE_DIR}/rctocpp.awk)
set (PROCESS_RC ${NATIVE_RESOURCE_DIR}/processrc.awk)
set (RESOURCE_STRING_HEADER_DIR ${NATIVE_RESOURCE_DIR})

# Create a command to create a C++ source file containing an array of
# NativeStringResource structs which represent the information from a
# given Windows .rc file. The target C++ file path is returned in the
# variable specified by the TARGET_FILE parameter.
function(build_resources SOURCE TARGET_NAME TARGET_FILE)

set(PREPROCESSED_SOURCE ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}.rc.i)

preprocess_file(${SOURCE} ${PREPROCESSED_SOURCE})

set(RESOURCE_ENTRY_ARRAY_CPP ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}.cpp)

add_custom_command(
OUTPUT ${RESOURCE_ENTRY_ARRAY_CPP}
# Convert the preprocessed .rc file to a C++ file which will be used to make a static lib.
COMMAND ${AWK} -v name=${TARGET_NAME} -f ${RC_TO_CPP} -f ${PROCESS_RC} ${PREPROCESSED_SOURCE} >${RESOURCE_ENTRY_ARRAY_CPP}
DEPENDS ${PREPROCESSED_SOURCE} ${RC_TO_CPP} ${PROCESS_RC}
)

include_directories(${RESOURCE_STRING_HEADER_DIR})
set(${TARGET_FILE} ${RESOURCE_ENTRY_ARRAY_CPP} PARENT_SCOPE)

endfunction()

add_subdirectory(nativeresources)
endif(CLR_CMAKE_HOST_UNIX)

if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 10.0))
add_compile_options(-Wno-error=stringop-overflow=)
endif()

add_subdirectory(utilcode)
add_subdirectory(gcinfo)
add_subdirectory(jit)
add_subdirectory(inc)

if(CLR_CMAKE_HOST_UNIX)
add_subdirectory(palrt)
endif(CLR_CMAKE_HOST_UNIX)

add_subdirectory(vm)
if (CLR_CMAKE_BUILD_SUBSET_RUNTIME)
add_subdirectory(md)
add_subdirectory(debug)
add_subdirectory(binder)
add_subdirectory(classlibnative)
add_subdirectory(dlls)
add_subdirectory(ToolBox)
add_subdirectory(tools)
add_subdirectory(unwinder)
add_subdirectory(ildasm)
add_subdirectory(ilasm)
add_subdirectory(interop)

if(CLR_CMAKE_HOST_WIN32)
add_subdirectory(hosts)
endif(CLR_CMAKE_HOST_WIN32)
else()
if(CLR_CMAKE_HOST_UNIX)
# this is needed to compile the jit on unix platforms.
# When the runtime subset is compiled, the add_subdirectory(dlls) above
# brings the mscorrc library into the build graph
add_subdirectory(dlls/mscorrc)
endif(CLR_CMAKE_HOST_UNIX)
endif(CLR_CMAKE_BUILD_SUBSET_RUNTIME)
20 changes: 20 additions & 0 deletions src/coreclr/Directory.Build.targets
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,24 @@
<InformationalVersion>$(ProductVersion)</InformationalVersion>
<InformationalVersion Condition="'$(VersionSuffix)' != ''">$(InformationalVersion)-$(VersionSuffix)</InformationalVersion>
</PropertyGroup>

<ItemGroup>
<BuiltBinary Include="$(TargetPath)" />
</ItemGroup>

<!-- Target used to consolidate all PDBs into a single location -->
<Target Name="MoveSymbolFiles"
AfterTargets="Build"
Condition="Exists(@(BuiltBinary -> '%(RootDir)%(Directory)%(Filename).pdb'))"
Inputs="@(BuiltBinary -> '%(RootDir)%(Directory)%(Filename).pdb')"
Outputs="@(BuiltBinary -> '$(RuntimeBinDir)PDB/%(Filename).pdb')">

<Move SourceFiles="@(BuiltBinary -> '%(RootDir)%(Directory)%(Filename).pdb')"
DestinationFolder="$(RuntimeBinDir)PDB" />

</Target>

<!-- Import targets here to have TargetPath and other macros defined. Limit to CoreLib. -->
<Import Condition="'$(MSBuildProjectName)' == 'System.Private.CoreLib'" Project="$(RepositoryEngineeringDir)illink.targets" />

</Project>
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@
</PropertyGroup>

<!-- Compilation options -->
<Import Project="../../clr.featuredefines.props" />
<Import Project="../clr.featuredefines.props" />

<!-- Sources -->
<ItemGroup>
Expand Down Expand Up @@ -320,8 +320,8 @@

<!-- Setup eventing file generation -->
<ItemGroup>
<EventingGenerationScript Include="$(CoreClrProjectRoot)/src/scripts/genRuntimeEventSources.py" />
<EventManifestFile Include="$(CoreClrProjectRoot)/src/vm/ClrEtwAll.man" />
<EventingGenerationScript Include="$(CoreClrProjectRoot)scripts/genRuntimeEventSources.py" />
<EventManifestFile Include="$(CoreClrProjectRoot)vm/ClrEtwAll.man" />
<EventingSourceFile Include="$(IntermediateOutputPath)..\..\..\Eventing\$(TargetArchitecture)\$(Configuration)\NativeRuntimeEventSource.CoreCLR.cs" Condition="'$(FeaturePerfTracing)' == 'true' ">
<Link>src\System\Diagnostics\Eventing\Generated\NativeRuntimeEventSource.CoreCLR.cs</Link>
</EventingSourceFile>
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 comments on commit 69e114c

Please sign in to comment.