Skip to content

Commit

Permalink
Fix aws-sdk-cpp and OpenSSL cross-platform builds (microsoft#20289)
Browse files Browse the repository at this point in the history
* Fix Aws Crypto Abstraction Layer and S2N builds

* Fix aws-c-cal build

* Revert changes

* [s2n] update to 1.1.0

* Do not build tests for any of AWS SDK for C++ dependencies
Remove unused flags from OpenSSL and AWS SDK for C++ builds

* Update versions

* Fix indentation

* Fix indentation

* Remove redundant flags

* Remove redundant options

* Update ports/aws-c-auth/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-cal/002-no-exe-no-tests.patch

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-cal/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-cal/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-compression/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-crt-cpp/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-checksums/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-event-stream/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-s3/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-http/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-io/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-mqtt/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Simplify patch
Restore PREFER_NINJA for OpenSSL build

* Update versions

* Replace deprecated methods

* Update versions

* Fix dependencies of OpenSSL

* Fix dependencies of OpenSSL

* Update ports/aws-c-cal/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-io/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Update ports/aws-c-io/portfile.cmake

Co-authored-by: NancyLi1013 <[email protected]>

* Fix versions

* Revert quotation mark change

* Revert quotation mark change

* Revert quotation mark change

* Patch AWS CRT for C++ for iOS build
Do not copy sha256_profile tool when building aws-c-cal

* Remove redundant flags

* Fix indentation

* Update versions

* Update versions

* Fix aws-c-cal build
Update versions

* Update versions

* Update versions

* Update versions

* Update versions

* Update versions

* Fix library paths for Windows shared builds

* Revert compiler check

* Update versions

* Fix indentation
Revert OS check

* Update versions

* Fix indentation

* Fix indentation

* Fix indentation

* Update versions/o-/openssl.json

Co-authored-by: NancyLi1013 <[email protected]>

* Update versions

* Update versions

* Update versions

Co-authored-by: Ahmed Yarub Hani Al Nuaimi <[email protected]>
Co-authored-by: Charles-Auguste Marois <[email protected]>
Co-authored-by: NancyLi1013 <[email protected]>
Co-authored-by: Billy Robert O'Neal III <[email protected]>
  • Loading branch information
5 people authored Nov 22, 2021
1 parent 868fc18 commit 8b4ff54
Show file tree
Hide file tree
Showing 42 changed files with 163 additions and 82 deletions.
2 changes: 1 addition & 1 deletion ports/aws-c-auth/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ vcpkg_from_github(

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()
Expand Down
1 change: 1 addition & 0 deletions ports/aws-c-auth/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "aws-c-auth",
"version": "0.6.3",
"port-version": 1,
"description": "C99 library implementation of AWS client-side authentication: standard credentials providers and signing.",
"homepage": "https://github.com/awslabs/aws-c-auth",
"supports": "!arm & !uwp",
Expand Down
17 changes: 6 additions & 11 deletions ports/aws-c-cal/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,15 @@ vcpkg_from_github(

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
OPTIONS
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()

vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-cal/cmake)

vcpkg_copy_tools(
TOOL_NAMES sha256_profile
AUTO_CLEAN
)

if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/bin"
Expand All @@ -32,10 +27,10 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
endif()

file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-cal"
"${CURRENT_PACKAGES_DIR}/lib/aws-c-cal"
)
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/lib/aws-c-cal"
"${CURRENT_PACKAGES_DIR}/lib/aws-c-cal"
)

vcpkg_copy_pdbs()

Expand Down
1 change: 1 addition & 0 deletions ports/aws-c-cal/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "aws-c-cal",
"version": "0.5.12",
"port-version": 1,
"description": "C99 wrapper for cryptography primitives.",
"homepage": "https://github.com/awslabs/aws-c-cal",
"supports": "!arm & !uwp",
Expand Down
3 changes: 2 additions & 1 deletion ports/aws-c-common/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ vcpkg_from_github(

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()
Expand Down
2 changes: 2 additions & 0 deletions ports/aws-c-common/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
{
"name": "aws-c-common",
"version": "0.6.9",
"port-version": 1,
"description": "AWS common library for C",
"homepage": "https://github.com/awslabs/aws-c-common",
"supports": "!arm & !uwp",
"dependencies": [
"openssl",
{
"name": "vcpkg-cmake",
"host": true
Expand Down
2 changes: 1 addition & 1 deletion ports/aws-c-compression/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ vcpkg_from_github(

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()
Expand Down
1 change: 1 addition & 0 deletions ports/aws-c-compression/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "aws-c-compression",
"version": "0.2.14",
"port-version": 1,
"description": "C99 implementation of huffman encoding/decoding",
"homepage": "https://github.com/awslabs/aws-c-compression",
"supports": "!arm & !uwp",
Expand Down
6 changes: 3 additions & 3 deletions ports/aws-c-event-stream/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ vcpkg_from_github(

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common"
OPTIONS
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common"
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()
Expand Down
1 change: 1 addition & 0 deletions ports/aws-c-event-stream/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "aws-c-event-stream",
"version": "0.2.7",
"port-version": 1,
"description": "C99 implementation of the vnd.amazon.event-stream content-type.",
"homepage": "https://github.com/awslabs/aws-c-event-stream",
"supports": "!arm & !uwp",
Expand Down
7 changes: 1 addition & 6 deletions ports/aws-c-http/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,15 @@ vcpkg_from_github(

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()

vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-http/cmake)

vcpkg_copy_tools(
TOOL_NAMES elasticurl
AUTO_CLEAN
)

if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/bin"
Expand Down
1 change: 1 addition & 0 deletions ports/aws-c-http/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "aws-c-http",
"version": "0.6.5",
"port-version": 1,
"description": "C99 implementation of the HTTP/1.1 and HTTP/2 specifications",
"homepage": "https://github.com/awslabs/aws-c-http",
"supports": "!arm & !uwp",
Expand Down
4 changes: 2 additions & 2 deletions ports/aws-c-io/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ vcpkg_from_github(

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
OPTIONS
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()
Expand Down
1 change: 1 addition & 0 deletions ports/aws-c-io/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "aws-c-io",
"version": "0.10.7",
"port-version": 1,
"description": "Handles all IO and TLS work for application protocols.",
"homepage": "https://github.com/awslabs/aws-c-io",
"supports": "!arm & !uwp",
Expand Down
9 changes: 2 additions & 7 deletions ports/aws-c-mqtt/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,15 @@ vcpkg_from_github(

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()

vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-c-mqtt/cmake)

vcpkg_copy_tools(
TOOL_NAMES elastipubsub
AUTO_CLEAN
)

if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/bin"
Expand Down
1 change: 1 addition & 0 deletions ports/aws-c-mqtt/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "aws-c-mqtt",
"version": "0.7.6",
"port-version": 1,
"description": "C99 implementation of the MQTT 3.1.1 specification.",
"homepage": "https://github.com/awslabs/aws-c-mqtt",
"supports": "!arm & !uwp",
Expand Down
2 changes: 1 addition & 1 deletion ports/aws-c-s3/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ vcpkg_from_github(

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()
Expand Down
1 change: 1 addition & 0 deletions ports/aws-c-s3/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "aws-c-s3",
"version": "0.1.25",
"port-version": 1,
"description": "C99 library implementation for communicating with the S3 service, designed for maximizing throughput on high bandwidth EC2 instances.",
"homepage": "https://github.com/awslabs/aws-c-s3",
"supports": "!arm & !uwp",
Expand Down
4 changes: 2 additions & 2 deletions ports/aws-checksums/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ endif()

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
OPTIONS
"-DSTATIC_CRT=${STATIC_CRT_LNK}"
-DSTATIC_CRT=${STATIC_CRT_LNK}
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()
Expand Down
2 changes: 1 addition & 1 deletion ports/aws-checksums/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "aws-checksums",
"version": "0.1.11",
"port-version": 1,
"port-version": 2,
"description": "Cross-Platform HW accelerated CRC32c and CRC32 with fallback to efficient SW implementations.",
"homepage": "https://github.com/awslabs/aws-checksums",
"supports": "!arm",
Expand Down
21 changes: 21 additions & 0 deletions ports/aws-crt-cpp/fix-ios-build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
diff --git a/source/io/TlsOptions.cpp b/source/io/TlsOptions.cpp
--- a/source/io/TlsOptions.cpp (revision 9ef58ff20df19e613c91c5f761e381c763da6810)
+++ b/source/io/TlsOptions.cpp (date 1635309758483)
@@ -90,7 +90,7 @@
return ctxOptions;
}
#endif /* !AWS_OS_IOS */
-#if defined(AWS_OS_APPLE)
+#if defined(AWS_OS_MACOS)
TlsContextOptions TlsContextOptions::InitClientWithMtlsPkcs12(
const char *pkcs12Path,
const char *pkcs12Pwd,
@@ -111,7 +111,7 @@
AWS_ASSERT(m_isInit);
return aws_tls_ctx_options_set_keychain_path(&m_options, &keychain_path) == 0;
}
-#endif /* AWS_OS_APPLE */
+#endif /* AWS_OS_MACOS */

#ifdef _WIN32
TlsContextOptions TlsContextOptions::InitClientWithMtlsSystemPath(
9 changes: 3 additions & 6 deletions ports/aws-crt-cpp/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ vcpkg_from_github(
SHA512 3409b3e6a546ed585b90180807383e8731b36b0db149b5ff92701a43164c4282b1cea4a551bf4c7b1edec7b264098575cf919faee8a2520bb10bbae62258d463
PATCHES
fix-cmake-target-path.patch
fix-ios-build.patch
)

string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "static" STATIC_CRT)
Expand All @@ -14,19 +15,15 @@ vcpkg_cmake_configure(
DISABLE_PARALLEL_CONFIGURE
OPTIONS
"-DSTATIC_CRT=${STATIC_CRT}"
"-DBUILD_DEPS=OFF"
-DBUILD_DEPS=OFF
"-DCMAKE_MODULE_PATH=${CURRENT_INSTALLED_DIR}/share/aws-c-common" # use extra cmake files
-DBUILD_TESTING=FALSE
)

vcpkg_cmake_install()

vcpkg_cmake_config_fixup(CONFIG_PATH lib/aws-crt-cpp/cmake)

vcpkg_copy_tools(
TOOL_NAMES elasticurl_cpp
AUTO_CLEAN
)

if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE
"${CURRENT_PACKAGES_DIR}/bin"
Expand Down
2 changes: 1 addition & 1 deletion ports/aws-crt-cpp/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "aws-crt-cpp",
"version": "0.15.1",
"port-version": 1,
"port-version": 2,
"description": "Cross-Platform HW accelerated CRC32c and CRC32 with fallback to efficient SW implementations.",
"homepage": "https://github.com/awslabs/aws-crt-cpp",
"supports": "!arm & !uwp",
Expand Down
20 changes: 13 additions & 7 deletions ports/aws-sdk-cpp/fix-aws-root.patch
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
diff --git a/cmake/AWSSDKConfig.cmake b/cmake/AWSSDKConfig.cmake
index 83eac0b..96bdbe7 100644
--- a/cmake/AWSSDKConfig.cmake
+++ b/cmake/AWSSDKConfig.cmake
@@ -63,11 +63,9 @@ endif()
--- a/cmake/AWSSDKConfig.cmake (revision 2f90f9fd6c56460bd382243aa215fcddcb5883c8)
+++ b/cmake/AWSSDKConfig.cmake (date 1636913220527)
@@ -54,18 +54,14 @@
string(REPLACE ";" "${AWS_MODULE_DIR};" SYSTEM_MODULE_PATH "${CMAKE_SYSTEM_PREFIX_PATH}${AWS_MODULE_DIR}")
list(APPEND CMAKE_MODULE_PATH ${AWS_MODULE_PATH} ${SYSTEM_MODULE_PATH})

-# On Windows, dlls are treated as runtime target and installed in bindir
if (WIN32 AND AWSSDK_INSTALL_AS_SHARED_LIBS)
- set(AWSSDK_INSTALL_LIBDIR "${AWSSDK_INSTALL_BINDIR}")
# If installed CMake scripts are associated with dll library, define USE_IMPORT_EXPORT for customers
add_definitions(-DUSE_IMPORT_EXPORT)
endif()


# Compute the default installation root relative to this file.
-# from prefix/lib/cmake/AWSSDK/xx.cmake to prefix
get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH)
get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH)
get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH)
-get_filename_component(AWSSDK_DEFAULT_ROOT_DIR "${AWSSDK_DEFAULT_ROOT_DIR}" PATH)
get_filename_component(AWS_NATIVE_SDK_ROOT "${CMAKE_CURRENT_SOURCE_DIR}" ABSOLUTE)

set(CPP_STANDARD "11" CACHE STRING "Flag to upgrade the C++ standard used. The default is 11. The minimum is 11.")
11 changes: 0 additions & 11 deletions ports/aws-sdk-cpp/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,6 @@ string(COMPARE EQUAL "${VCPKG_CRT_LINKAGE}" "dynamic" FORCE_SHARED_CRT)
set(EXTRA_ARGS)
if(VCPKG_TARGET_IS_OSX OR VCPKG_TARGET_IS_IOS)
set(rpath "@loader_path")
set(EXTRA_ARGS
"-DCURL_HAS_H2_EXITCODE=0"
"-DCURL_HAS_H2_EXITCODE__TRYRUN_OUTPUT=\"\""
"-DCURL_HAS_TLS_PROXY_EXITCODE=0"
"-DCURL_HAS_TLS_PROXY_EXITCODE__TRYRUN_OUTPUT=\"\""
)
elseif (VCPKG_TARGET_IS_ANDROID)
set(EXTRA_ARGS "-DTARGET_ARCH=ANDROID"
"-DGIT_EXECUTABLE=--invalid-git-executable--"
Expand All @@ -29,11 +23,6 @@ elseif (VCPKG_TARGET_IS_ANDROID)
"-DANDROID_BUILD_ZLIB=FALSE"
"-DANDROID_BUILD_CURL=FALSE"
"-DANDROID_BUILD_OPENSSL=FALSE"
"-DENABLE_HW_OPTIMIZATION=OFF"
"-DCURL_HAS_H2_EXITCODE=0"
"-DCURL_HAS_H2_EXITCODE__TRYRUN_OUTPUT=\"\""
"-DCURL_HAS_TLS_PROXY_EXITCODE=0"
"-DCURL_HAS_TLS_PROXY_EXITCODE__TRYRUN_OUTPUT=\"\""
)
else()
set(rpath "\$ORIGIN")
Expand Down
2 changes: 1 addition & 1 deletion ports/aws-sdk-cpp/vcpkg.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"$note": "Automatically generated by generateFeatures.ps1",
"name": "aws-sdk-cpp",
"version": "1.9.96",
"port-version": 4,
"port-version": 5,
"description": "AWS SDK for C++",
"homepage": "https://github.com/aws/aws-sdk-cpp",
"supports": "!arm & !uwp",
Expand Down
7 changes: 2 additions & 5 deletions ports/openssl/unix/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,16 @@ else()
endif()
endif()

vcpkg_configure_cmake(
vcpkg_cmake_configure(
SOURCE_PATH ${CMAKE_CURRENT_LIST_DIR}
PREFER_NINJA
OPTIONS
-DSOURCE_PATH=${MASTER_COPY_SOURCE_PATH}
-DPERL=${PERL}
-DMAKE=${MAKE}
-DVCPKG_CONCURRENCY=${VCPKG_CONCURRENCY}
OPTIONS_RELEASE
-DINSTALL_HEADERS=ON
)

vcpkg_install_cmake()
vcpkg_cmake_install()
vcpkg_fixup_pkgconfig()

file(GLOB HEADERS ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/*/include/openssl/*.h)
Expand Down
Loading

0 comments on commit 8b4ff54

Please sign in to comment.