From 86685079ec49c19f36dadd8c38350ecdd202c91c Mon Sep 17 00:00:00 2001 From: "Dustin L. Howett (MSFT)" Date: Tue, 21 Apr 2020 14:43:09 -0700 Subject: [PATCH] build: move oss required to build conhost out of dep/ (#5451) This change is necessary as the dep/ folder is not synced into the Windows source tree. I've also added a build rule producing a lib for {fmt}. This will be required for our next OS ingestion. --- .github/actions/spell-check/excludes.txt | 1 + .../spell-check/whitelist/whitelist.txt | 1 + oss/README.md | 8 ++++++++ {dep => oss}/chromium/LICENSE | 0 {dep => oss}/chromium/MAINTAINER_README.md | 0 {dep => oss}/chromium/base/numerics/BUILD.gn | 0 {dep => oss}/chromium/base/numerics/DEPS | 0 {dep => oss}/chromium/base/numerics/OWNERS | 0 {dep => oss}/chromium/base/numerics/README.md | 0 .../chromium/base/numerics/checked_math.h | 0 .../base/numerics/checked_math_impl.h | 0 .../chromium/base/numerics/clamped_math.h | 0 .../base/numerics/clamped_math_impl.h | 0 .../chromium/base/numerics/math_constants.h | 0 {dep => oss}/chromium/base/numerics/ranges.h | 0 .../chromium/base/numerics/safe_conversions.h | 0 .../base/numerics/safe_conversions_arm_impl.h | 0 .../base/numerics/safe_conversions_impl.h | 0 .../chromium/base/numerics/safe_math.h | 0 .../base/numerics/safe_math_arm_impl.h | 0 .../base/numerics/safe_math_clang_gcc_impl.h | 0 .../base/numerics/safe_math_shared_impl.h | 0 {dep => oss}/chromium/cgmanifest.json | 0 {dep => oss}/dynamic_bitset/LICENSE | 0 .../dynamic_bitset/MAINTAINER_README.md | 0 {dep => oss}/dynamic_bitset/cgmanifest.json | 0 .../dynamic_bitset/dynamic_bitset.hpp | 0 {dep => oss}/fmt/LICENSE.rst | 0 {dep => oss}/fmt/MAINTAINER_README.md | 0 {dep => oss}/fmt/cgmanifest.json | 0 {dep => oss}/fmt/include/fmt/chrono.h | 0 {dep => oss}/fmt/include/fmt/color.h | 0 {dep => oss}/fmt/include/fmt/compile.h | 0 {dep => oss}/fmt/include/fmt/core.h | 0 {dep => oss}/fmt/include/fmt/format-inl.h | 0 {dep => oss}/fmt/include/fmt/format.h | 0 {dep => oss}/fmt/include/fmt/locale.h | 0 {dep => oss}/fmt/include/fmt/os.h | 0 {dep => oss}/fmt/include/fmt/ostream.h | 0 {dep => oss}/fmt/include/fmt/posix.h | 0 {dep => oss}/fmt/include/fmt/printf.h | 0 {dep => oss}/fmt/include/fmt/ranges.h | 0 {dep => oss}/fmt/src/format.cc | 0 {dep => oss}/fmt/src/os.cc | 0 {dep => oss}/libpopcnt/LICENSE | 0 {dep => oss}/libpopcnt/MAINTAINER_README.md | 0 {dep => oss}/libpopcnt/cgmanifest.json | 0 {dep => oss}/libpopcnt/libpopcnt.h | 0 .../WindowsTerminalUniversal.vcxproj | 2 +- src/common.build.pre.props | 4 ++-- src/dep/dirs | 2 ++ src/dep/fmt/fmt.vcxproj | 6 +++--- src/dep/fmt/sources | 20 +++++++++++++++++++ src/dirs | 1 + src/project.inc | 5 ++++- src/terminal/parser/ft_fuzzer/sources | 7 ++++++- 56 files changed, 49 insertions(+), 8 deletions(-) create mode 100644 oss/README.md rename {dep => oss}/chromium/LICENSE (100%) rename {dep => oss}/chromium/MAINTAINER_README.md (100%) rename {dep => oss}/chromium/base/numerics/BUILD.gn (100%) rename {dep => oss}/chromium/base/numerics/DEPS (100%) rename {dep => oss}/chromium/base/numerics/OWNERS (100%) rename {dep => oss}/chromium/base/numerics/README.md (100%) rename {dep => oss}/chromium/base/numerics/checked_math.h (100%) rename {dep => oss}/chromium/base/numerics/checked_math_impl.h (100%) rename {dep => oss}/chromium/base/numerics/clamped_math.h (100%) rename {dep => oss}/chromium/base/numerics/clamped_math_impl.h (100%) rename {dep => oss}/chromium/base/numerics/math_constants.h (100%) rename {dep => oss}/chromium/base/numerics/ranges.h (100%) rename {dep => oss}/chromium/base/numerics/safe_conversions.h (100%) rename {dep => oss}/chromium/base/numerics/safe_conversions_arm_impl.h (100%) rename {dep => oss}/chromium/base/numerics/safe_conversions_impl.h (100%) rename {dep => oss}/chromium/base/numerics/safe_math.h (100%) rename {dep => oss}/chromium/base/numerics/safe_math_arm_impl.h (100%) rename {dep => oss}/chromium/base/numerics/safe_math_clang_gcc_impl.h (100%) rename {dep => oss}/chromium/base/numerics/safe_math_shared_impl.h (100%) rename {dep => oss}/chromium/cgmanifest.json (100%) rename {dep => oss}/dynamic_bitset/LICENSE (100%) rename {dep => oss}/dynamic_bitset/MAINTAINER_README.md (100%) rename {dep => oss}/dynamic_bitset/cgmanifest.json (100%) rename {dep => oss}/dynamic_bitset/dynamic_bitset.hpp (100%) rename {dep => oss}/fmt/LICENSE.rst (100%) rename {dep => oss}/fmt/MAINTAINER_README.md (100%) rename {dep => oss}/fmt/cgmanifest.json (100%) rename {dep => oss}/fmt/include/fmt/chrono.h (100%) rename {dep => oss}/fmt/include/fmt/color.h (100%) rename {dep => oss}/fmt/include/fmt/compile.h (100%) rename {dep => oss}/fmt/include/fmt/core.h (100%) rename {dep => oss}/fmt/include/fmt/format-inl.h (100%) rename {dep => oss}/fmt/include/fmt/format.h (100%) rename {dep => oss}/fmt/include/fmt/locale.h (100%) rename {dep => oss}/fmt/include/fmt/os.h (100%) rename {dep => oss}/fmt/include/fmt/ostream.h (100%) rename {dep => oss}/fmt/include/fmt/posix.h (100%) rename {dep => oss}/fmt/include/fmt/printf.h (100%) rename {dep => oss}/fmt/include/fmt/ranges.h (100%) rename {dep => oss}/fmt/src/format.cc (100%) rename {dep => oss}/fmt/src/os.cc (100%) rename {dep => oss}/libpopcnt/LICENSE (100%) rename {dep => oss}/libpopcnt/MAINTAINER_README.md (100%) rename {dep => oss}/libpopcnt/cgmanifest.json (100%) rename {dep => oss}/libpopcnt/libpopcnt.h (100%) create mode 100644 src/dep/dirs create mode 100644 src/dep/fmt/sources diff --git a/.github/actions/spell-check/excludes.txt b/.github/actions/spell-check/excludes.txt index f923b5993..c470442f2 100644 --- a/.github/actions/spell-check/excludes.txt +++ b/.github/actions/spell-check/excludes.txt @@ -52,6 +52,7 @@ SUMS$ \.yml$ \.zip$ ^dep/ +^oss/ ^doc/reference/UTF8-torture-test\.txt$ ^src/interactivity/onecore/BgfxEngine\. ^src/renderer/wddmcon/WddmConRenderer\. diff --git a/.github/actions/spell-check/whitelist/whitelist.txt b/.github/actions/spell-check/whitelist/whitelist.txt index b5f789666..66275fa3b 100644 --- a/.github/actions/spell-check/whitelist/whitelist.txt +++ b/.github/actions/spell-check/whitelist/whitelist.txt @@ -1656,6 +1656,7 @@ osfhandle OSG OSGENG osign +oss ostream ostringstream Ou diff --git a/oss/README.md b/oss/README.md new file mode 100644 index 000000000..80b8bf02d --- /dev/null +++ b/oss/README.md @@ -0,0 +1,8 @@ +### Component-Governance-tracked OSS dependencies + +This directory contains mirrored open-source projects that are used by the +console host and Windows Terminal. Code in this directory will be replicated +into the Windows OS repository. + +All projects in this directory **must** bear Component Governance Manifests +(`cgmanifest.json` files) indicating their provenance. diff --git a/dep/chromium/LICENSE b/oss/chromium/LICENSE similarity index 100% rename from dep/chromium/LICENSE rename to oss/chromium/LICENSE diff --git a/dep/chromium/MAINTAINER_README.md b/oss/chromium/MAINTAINER_README.md similarity index 100% rename from dep/chromium/MAINTAINER_README.md rename to oss/chromium/MAINTAINER_README.md diff --git a/dep/chromium/base/numerics/BUILD.gn b/oss/chromium/base/numerics/BUILD.gn similarity index 100% rename from dep/chromium/base/numerics/BUILD.gn rename to oss/chromium/base/numerics/BUILD.gn diff --git a/dep/chromium/base/numerics/DEPS b/oss/chromium/base/numerics/DEPS similarity index 100% rename from dep/chromium/base/numerics/DEPS rename to oss/chromium/base/numerics/DEPS diff --git a/dep/chromium/base/numerics/OWNERS b/oss/chromium/base/numerics/OWNERS similarity index 100% rename from dep/chromium/base/numerics/OWNERS rename to oss/chromium/base/numerics/OWNERS diff --git a/dep/chromium/base/numerics/README.md b/oss/chromium/base/numerics/README.md similarity index 100% rename from dep/chromium/base/numerics/README.md rename to oss/chromium/base/numerics/README.md diff --git a/dep/chromium/base/numerics/checked_math.h b/oss/chromium/base/numerics/checked_math.h similarity index 100% rename from dep/chromium/base/numerics/checked_math.h rename to oss/chromium/base/numerics/checked_math.h diff --git a/dep/chromium/base/numerics/checked_math_impl.h b/oss/chromium/base/numerics/checked_math_impl.h similarity index 100% rename from dep/chromium/base/numerics/checked_math_impl.h rename to oss/chromium/base/numerics/checked_math_impl.h diff --git a/dep/chromium/base/numerics/clamped_math.h b/oss/chromium/base/numerics/clamped_math.h similarity index 100% rename from dep/chromium/base/numerics/clamped_math.h rename to oss/chromium/base/numerics/clamped_math.h diff --git a/dep/chromium/base/numerics/clamped_math_impl.h b/oss/chromium/base/numerics/clamped_math_impl.h similarity index 100% rename from dep/chromium/base/numerics/clamped_math_impl.h rename to oss/chromium/base/numerics/clamped_math_impl.h diff --git a/dep/chromium/base/numerics/math_constants.h b/oss/chromium/base/numerics/math_constants.h similarity index 100% rename from dep/chromium/base/numerics/math_constants.h rename to oss/chromium/base/numerics/math_constants.h diff --git a/dep/chromium/base/numerics/ranges.h b/oss/chromium/base/numerics/ranges.h similarity index 100% rename from dep/chromium/base/numerics/ranges.h rename to oss/chromium/base/numerics/ranges.h diff --git a/dep/chromium/base/numerics/safe_conversions.h b/oss/chromium/base/numerics/safe_conversions.h similarity index 100% rename from dep/chromium/base/numerics/safe_conversions.h rename to oss/chromium/base/numerics/safe_conversions.h diff --git a/dep/chromium/base/numerics/safe_conversions_arm_impl.h b/oss/chromium/base/numerics/safe_conversions_arm_impl.h similarity index 100% rename from dep/chromium/base/numerics/safe_conversions_arm_impl.h rename to oss/chromium/base/numerics/safe_conversions_arm_impl.h diff --git a/dep/chromium/base/numerics/safe_conversions_impl.h b/oss/chromium/base/numerics/safe_conversions_impl.h similarity index 100% rename from dep/chromium/base/numerics/safe_conversions_impl.h rename to oss/chromium/base/numerics/safe_conversions_impl.h diff --git a/dep/chromium/base/numerics/safe_math.h b/oss/chromium/base/numerics/safe_math.h similarity index 100% rename from dep/chromium/base/numerics/safe_math.h rename to oss/chromium/base/numerics/safe_math.h diff --git a/dep/chromium/base/numerics/safe_math_arm_impl.h b/oss/chromium/base/numerics/safe_math_arm_impl.h similarity index 100% rename from dep/chromium/base/numerics/safe_math_arm_impl.h rename to oss/chromium/base/numerics/safe_math_arm_impl.h diff --git a/dep/chromium/base/numerics/safe_math_clang_gcc_impl.h b/oss/chromium/base/numerics/safe_math_clang_gcc_impl.h similarity index 100% rename from dep/chromium/base/numerics/safe_math_clang_gcc_impl.h rename to oss/chromium/base/numerics/safe_math_clang_gcc_impl.h diff --git a/dep/chromium/base/numerics/safe_math_shared_impl.h b/oss/chromium/base/numerics/safe_math_shared_impl.h similarity index 100% rename from dep/chromium/base/numerics/safe_math_shared_impl.h rename to oss/chromium/base/numerics/safe_math_shared_impl.h diff --git a/dep/chromium/cgmanifest.json b/oss/chromium/cgmanifest.json similarity index 100% rename from dep/chromium/cgmanifest.json rename to oss/chromium/cgmanifest.json diff --git a/dep/dynamic_bitset/LICENSE b/oss/dynamic_bitset/LICENSE similarity index 100% rename from dep/dynamic_bitset/LICENSE rename to oss/dynamic_bitset/LICENSE diff --git a/dep/dynamic_bitset/MAINTAINER_README.md b/oss/dynamic_bitset/MAINTAINER_README.md similarity index 100% rename from dep/dynamic_bitset/MAINTAINER_README.md rename to oss/dynamic_bitset/MAINTAINER_README.md diff --git a/dep/dynamic_bitset/cgmanifest.json b/oss/dynamic_bitset/cgmanifest.json similarity index 100% rename from dep/dynamic_bitset/cgmanifest.json rename to oss/dynamic_bitset/cgmanifest.json diff --git a/dep/dynamic_bitset/dynamic_bitset.hpp b/oss/dynamic_bitset/dynamic_bitset.hpp similarity index 100% rename from dep/dynamic_bitset/dynamic_bitset.hpp rename to oss/dynamic_bitset/dynamic_bitset.hpp diff --git a/dep/fmt/LICENSE.rst b/oss/fmt/LICENSE.rst similarity index 100% rename from dep/fmt/LICENSE.rst rename to oss/fmt/LICENSE.rst diff --git a/dep/fmt/MAINTAINER_README.md b/oss/fmt/MAINTAINER_README.md similarity index 100% rename from dep/fmt/MAINTAINER_README.md rename to oss/fmt/MAINTAINER_README.md diff --git a/dep/fmt/cgmanifest.json b/oss/fmt/cgmanifest.json similarity index 100% rename from dep/fmt/cgmanifest.json rename to oss/fmt/cgmanifest.json diff --git a/dep/fmt/include/fmt/chrono.h b/oss/fmt/include/fmt/chrono.h similarity index 100% rename from dep/fmt/include/fmt/chrono.h rename to oss/fmt/include/fmt/chrono.h diff --git a/dep/fmt/include/fmt/color.h b/oss/fmt/include/fmt/color.h similarity index 100% rename from dep/fmt/include/fmt/color.h rename to oss/fmt/include/fmt/color.h diff --git a/dep/fmt/include/fmt/compile.h b/oss/fmt/include/fmt/compile.h similarity index 100% rename from dep/fmt/include/fmt/compile.h rename to oss/fmt/include/fmt/compile.h diff --git a/dep/fmt/include/fmt/core.h b/oss/fmt/include/fmt/core.h similarity index 100% rename from dep/fmt/include/fmt/core.h rename to oss/fmt/include/fmt/core.h diff --git a/dep/fmt/include/fmt/format-inl.h b/oss/fmt/include/fmt/format-inl.h similarity index 100% rename from dep/fmt/include/fmt/format-inl.h rename to oss/fmt/include/fmt/format-inl.h diff --git a/dep/fmt/include/fmt/format.h b/oss/fmt/include/fmt/format.h similarity index 100% rename from dep/fmt/include/fmt/format.h rename to oss/fmt/include/fmt/format.h diff --git a/dep/fmt/include/fmt/locale.h b/oss/fmt/include/fmt/locale.h similarity index 100% rename from dep/fmt/include/fmt/locale.h rename to oss/fmt/include/fmt/locale.h diff --git a/dep/fmt/include/fmt/os.h b/oss/fmt/include/fmt/os.h similarity index 100% rename from dep/fmt/include/fmt/os.h rename to oss/fmt/include/fmt/os.h diff --git a/dep/fmt/include/fmt/ostream.h b/oss/fmt/include/fmt/ostream.h similarity index 100% rename from dep/fmt/include/fmt/ostream.h rename to oss/fmt/include/fmt/ostream.h diff --git a/dep/fmt/include/fmt/posix.h b/oss/fmt/include/fmt/posix.h similarity index 100% rename from dep/fmt/include/fmt/posix.h rename to oss/fmt/include/fmt/posix.h diff --git a/dep/fmt/include/fmt/printf.h b/oss/fmt/include/fmt/printf.h similarity index 100% rename from dep/fmt/include/fmt/printf.h rename to oss/fmt/include/fmt/printf.h diff --git a/dep/fmt/include/fmt/ranges.h b/oss/fmt/include/fmt/ranges.h similarity index 100% rename from dep/fmt/include/fmt/ranges.h rename to oss/fmt/include/fmt/ranges.h diff --git a/dep/fmt/src/format.cc b/oss/fmt/src/format.cc similarity index 100% rename from dep/fmt/src/format.cc rename to oss/fmt/src/format.cc diff --git a/dep/fmt/src/os.cc b/oss/fmt/src/os.cc similarity index 100% rename from dep/fmt/src/os.cc rename to oss/fmt/src/os.cc diff --git a/dep/libpopcnt/LICENSE b/oss/libpopcnt/LICENSE similarity index 100% rename from dep/libpopcnt/LICENSE rename to oss/libpopcnt/LICENSE diff --git a/dep/libpopcnt/MAINTAINER_README.md b/oss/libpopcnt/MAINTAINER_README.md similarity index 100% rename from dep/libpopcnt/MAINTAINER_README.md rename to oss/libpopcnt/MAINTAINER_README.md diff --git a/dep/libpopcnt/cgmanifest.json b/oss/libpopcnt/cgmanifest.json similarity index 100% rename from dep/libpopcnt/cgmanifest.json rename to oss/libpopcnt/cgmanifest.json diff --git a/dep/libpopcnt/libpopcnt.h b/oss/libpopcnt/libpopcnt.h similarity index 100% rename from dep/libpopcnt/libpopcnt.h rename to oss/libpopcnt/libpopcnt.h diff --git a/src/cascadia/WindowsTerminalUniversal/WindowsTerminalUniversal.vcxproj b/src/cascadia/WindowsTerminalUniversal/WindowsTerminalUniversal.vcxproj index d333ab1b1..8df069ee6 100644 --- a/src/cascadia/WindowsTerminalUniversal/WindowsTerminalUniversal.vcxproj +++ b/src/cascadia/WindowsTerminalUniversal/WindowsTerminalUniversal.vcxproj @@ -86,7 +86,7 @@ - $(OpenConsoleDir)\src\inc;$(OpenConsoleDir)\dep;$(OpenConsoleDir)\dep\Console;$(OpenConsoleDir)\dep\chromium;$(OpenConsoleDir)\dep\fmt\include;$(SolutionDir)\dep\dynamic_bitset;$(SolutionDir)\dep\libpopcnt;$(OpenConsoleDir)\dep\Win32K;$(OpenConsoleDir)\dep\gsl\include;$(OpenConsoleDir)\dep\wil\include;%(AdditionalIncludeDirectories); + $(OpenConsoleDir)\src\inc;$(OpenConsoleDir)\dep;$(OpenConsoleDir)\dep\Console;$(OpenConsoleDir)\dep\Win32K;$(OpenConsoleDir)\dep\gsl\include;$(OpenConsoleDir)\dep\wil\include;$(SolutionDir)\oss\chromium;$(SolutionDir)\oss\fmt\include;$(SolutionDir)\oss\dynamic_bitset;$(SolutionDir)\oss\libpopcnt;%(AdditionalIncludeDirectories); diff --git a/src/dep/fmt/sources b/src/dep/fmt/sources new file mode 100644 index 000000000..4ae759e2c --- /dev/null +++ b/src/dep/fmt/sources @@ -0,0 +1,20 @@ +!include ..\..\project.inc + +# ------------------------------------- +# Program Information +# ------------------------------------- + +TARGETNAME = ConOSSFmt +TARGETTYPE = LIBRARY + +# ------------------------------------- +# Windows Console +# - OSS Dependency: {fmt} +# ------------------------------------- + +PRECOMPILED_CXX = 0 + +SOURCES = \ + ..\..\..\oss\fmt\src\format.cc \ + ..\..\..\oss\fmt\src\os.cc \ + diff --git a/src/dirs b/src/dirs index 0acee80b8..eccb84a90 100644 --- a/src/dirs +++ b/src/dirs @@ -1,6 +1,7 @@ DIRS=\ buffer \ interactivity \ + dep \ host \ propsheet \ propslib \ diff --git a/src/project.inc b/src/project.inc index 22c895418..fa480e322 100644 --- a/src/project.inc +++ b/src/project.inc @@ -36,8 +36,11 @@ CONSOLE_OBJ_PATH = $(WINCORE_OBJ_PATH)\console\open\src INCLUDES= \ $(INCLUDES); \ $(CONSOLE_SRC_PATH)\inc; \ - $(CONSOLE_OBJ_PATH)\..\..\dep\$(O)\vpack; \ $(CONSOLE_SRC_PATH)\..\..\inc; \ + $(CONSOLE_SRC_PATH)\..\oss\dynamic_bitset; \ + $(CONSOLE_SRC_PATH)\..\oss\libpopcnt; \ + $(CONSOLE_SRC_PATH)\..\oss\chromium; \ + $(CONSOLE_SRC_PATH)\..\oss\fmt\include; \ $(MINWIN_INTERNAL_PRIV_SDK_INC_PATH_L); \ $(MINWIN_RESTRICTED_PRIV_SDK_INC_PATH_L); \ $(MINCORE_INTERNAL_PRIV_SDK_INC_PATH_L); \ diff --git a/src/terminal/parser/ft_fuzzer/sources b/src/terminal/parser/ft_fuzzer/sources index 56d28da2f..cd23c492c 100644 --- a/src/terminal/parser/ft_fuzzer/sources +++ b/src/terminal/parser/ft_fuzzer/sources @@ -51,6 +51,8 @@ MSC_WARNING_LEVEL = /W4 /WX # Code in the OneCore depot automatically excludes default Win32 libraries. +CONSOLE_SRC_PATH = $(PROJECT_ROOT)\core\console\open\src + # ------------------------------------- # Sources, Headers, and Libraries # ------------------------------------- @@ -62,7 +64,10 @@ SOURCES = \ INCLUDES = \ ..\..\..\inc; \ - $(WINCORE_OBJ_PATH)\console\dep\$(O)\vpack; \ + $(CONSOLE_SRC_PATH)\..\oss\dynamic_bitset; \ + $(CONSOLE_SRC_PATH)\..\oss\libpopcnt; \ + $(CONSOLE_SRC_PATH)\..\oss\chromium; \ + $(CONSOLE_SRC_PATH)\..\oss\fmt\include; \ $(INCLUDES) \ TARGETLIBS = \