From 88f5e897a7c410dfb162744edd4f38883b4e5519 Mon Sep 17 00:00:00 2001 From: Adam Casey Date: Fri, 7 Jul 2023 17:25:07 +0100 Subject: [PATCH] [bde] Updated to 3.117.0 (#31961) * Update bde port Disable windows and arm, at least for now It'd be great to enable arm64-osx (macos?) soon * Update version in bde.json * Remove ci.baseline.txt skip. * Fix version database. * fix port-version * Stop building for android, osx I don't specifically know why these don't work, but linux is the primary platform so let's fix these another time Also remove the cxx17 flag for now - we'll need to address this at some point but for now this should satisfy the feature flag requirements. * Review comments * Remove WINDOWS_USE_MSBUILD * Update versions --------- Co-authored-by: Oleg Subbotin Co-authored-by: Billy Robert O'Neal III --- ports/bde/portfile.cmake | 138 +++++++++------------------------------ ports/bde/vcpkg.json | 15 ++++- scripts/ci.baseline.txt | 3 - versions/b-/bde.json | 5 ++ versions/baseline.json | 4 +- 5 files changed, 49 insertions(+), 116 deletions(-) diff --git a/ports/bde/portfile.cmake b/ports/bde/portfile.cmake index 63d4a84225..92017b0a84 100644 --- a/ports/bde/portfile.cmake +++ b/ports/bde/portfile.cmake @@ -1,133 +1,55 @@ vcpkg_check_linkage(ONLY_STATIC_LIBRARY) -set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --library-type=static) -set(BDE_VERSION 3.2.0.0) -set(BDE_TOOLS_VERSION 1.x) +set(BDE_TOOLS_VERSION "${VERSION}") -# Paths used in build -set(SOURCE_PATH_DEBUG ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/bde-${BDE_VERSION}) -set(SOURCE_PATH_RELEASE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bde-${BDE_VERSION}) - -# Acquire Python 2 and add it to PATH -vcpkg_find_acquire_program(PYTHON2) -get_filename_component(PYTHON2_EXE_PATH ${PYTHON2} DIRECTORY) +# Acquire Python and add it to PATH +vcpkg_find_acquire_program(PYTHON3) +get_filename_component(PYTHON3_EXE_PATH ${PYTHON3} DIRECTORY) # Acquire BDE Tools and add them to PATH vcpkg_from_github( OUT_SOURCE_PATH TOOLS_PATH REPO "bloomberg/bde-tools" - REF d4b1a7670829228f4ec81ecdccc598ce03ae8e80 - SHA512 80af734c080adb225d5369157301ae0af18e02b1912351e34d23f5f2ba4e19f9ae2b5a367923f036330c9f9afd11a90cdf12680eb3e59b4297a312a1b713f17f - HEAD_REF master + REF "${BDE_TOOLS_VERSION}" + SHA512 3c39da8d1ea40459e36e11ada93cc2821ae1b16a831f93cccab463996394a400cc08bb1654642eae1aa5187f139d7fb80c4729e464051eee182133eb8a74158d + HEAD_REF main ) + message(STATUS "Configure bde-tools-v${BDE_TOOLS_VERSION}") -if(VCPKG_CMAKE_SYSTEM_NAME) - set(ENV{PATH} "$ENV{PATH}:${PYTHON2_EXE_PATH}") - set(ENV{PATH} "$ENV{PATH}:${TOOLS_PATH}/bin") -else() - set(ENV{PATH} "$ENV{PATH};${PYTHON2_EXE_PATH}") - set(ENV{PATH} "$ENV{PATH};${TOOLS_PATH}/bin") -endif() +vcpkg_add_to_path("${PYTHON3_EXE_PATH}") +vcpkg_add_to_path("${TOOLS_PATH}/bin") # Acquire BDE sources vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO "bloomberg/bde" - REF 3720d132d0879f19b9084cca62ebc75f1f24e1a3 - SHA512 234ebb71997f5b7d3951584235ead10f977689cef323ae1c198629a6b1995b1481d8a1515d827c46df10209bdc66e1f3cc7780dafee9ca0ff4172be47c460d78 - HEAD_REF master + REF "${VERSION}" + SHA512 810b4a06a08739dcd990751dd543aa7dc58355f9d64a7c96ef0cf45c81501946434db42ad5bcf5d16110d5a463586b587ce09a446136e824298f39a8a871b490 + HEAD_REF main ) -# Clean up previous builds -file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel - ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg) - -# Identify waf executable and calculate configure args -if(VCPKG_CMAKE_SYSTEM_NAME) - set(WAF_COMMAND waf) -else() - set(WAF_COMMAND waf.bat) -endif() -set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --use-flat-include-dir) -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --abi-bits=32) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --abi-bits=64) -else() - message(FATAL_ERROR "Unsupported target architecture: ${VCPKG_TARGET_ARCHITECTURE}") -endif() -if(VCPKG_TARGET_IS_WINDOWS) - set(CONFIGURE_COMMON_ARGS ${CONFIGURE_COMMON_ARGS} --msvc-runtime-type=static) -else() - set(ENV{CFLAGS} "$ENV{CFLAGS} -Wno-error=implicit-function-declaration") -endif() - -# Configure debug -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} configure ${CONFIGURE_COMMON_ARGS} - --prefix=${CURRENT_PACKAGES_DIR}/debug --out=${SOURCE_PATH_DEBUG} - --build-type=debug - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME configure-${TARGET_TRIPLET}--dbg +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DBDE_BUILD_TARGET_CPP17=ON + -DCMAKE_CXX_STANDARD=17 + -DCMAKE_CXX_STANDARD_REQUIRED=ON + -DCMAKE_CXX_EXTENSIONS=OFF + -DBBS_BUILD_SYSTEM=1 + "-DBdeBuildSystem_DIR:PATH=${TOOLS_PATH}/BdeBuildSystem" + OPTIONS_RELEASE + -DBDE_BUILD_TARGET_OPT=1 + OPTIONS_DEBUG + -DBDE_BUILD_TARGET_DBG=1 ) -message(STATUS "Configuring ${TARGET_TRIPLET}-dbg done") - -# Build debug -message(STATUS "Building ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} build - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}--dbg -) -message(STATUS "Building ${TARGET_TRIPLET}-dbg done") - -# Install debug -message(STATUS "Installing ${TARGET_TRIPLET}-dbg") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} install - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME install-${TARGET_TRIPLET}--dbg -) -# Include files should not be duplicated -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) -# pkg-config files should point to correct include directory -file(GLOB PC_FILES "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/*.pc") -foreach(PC_FILE_NAME ${PC_FILES}) - file(READ "${PC_FILE_NAME}" _contents) - string(REPLACE "includedir=\${prefix}/include" "includedir=\${prefix}/../include" _contents "${_contents}") - file(WRITE "${PC_FILE_NAME}" "${_contents}") -endforeach() -message(STATUS "Installing ${TARGET_TRIPLET}-dbg done") - -# Configure release -message(STATUS "Configuring ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} configure ${CONFIGURE_COMMON_ARGS} - --prefix=${CURRENT_PACKAGES_DIR} --out=${SOURCE_PATH_RELEASE} - --build-type=release - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME configure-${TARGET_TRIPLET}--rel -) -message(STATUS "Configuring ${TARGET_TRIPLET}-rel done") # Build release -message(STATUS "Building ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} build - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME build-${TARGET_TRIPLET}--rel -) -message(STATUS "Building ${TARGET_TRIPLET}-rel done") +vcpkg_cmake_build() # Install release -message(STATUS "Installing ${TARGET_TRIPLET}-rel") -vcpkg_execute_required_process( - COMMAND ${WAF_COMMAND} install - WORKING_DIRECTORY ${SOURCE_PATH} - LOGNAME install-${TARGET_TRIPLET}--rel -) -message(STATUS "Installing ${TARGET_TRIPLET}-rel done") +vcpkg_cmake_install() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/) # Handle copyright file(INSTALL ${SOURCE_PATH}/LICENSE diff --git a/ports/bde/vcpkg.json b/ports/bde/vcpkg.json index b4e77488fd..0cda0f4a02 100644 --- a/ports/bde/vcpkg.json +++ b/ports/bde/vcpkg.json @@ -1,7 +1,16 @@ { "name": "bde", - "version": "3.2.0.0", - "port-version": 5, + "version": "3.117.0.0", "description": "Basic Development Environment - a set of foundational C++ libraries used at Bloomberg.", - "supports": "!windows & !arm" + "supports": "!windows & !arm & !android & !osx", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] } diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt index 181477e959..5b653a921d 100644 --- a/scripts/ci.baseline.txt +++ b/scripts/ci.baseline.txt @@ -71,9 +71,6 @@ azure-identity-cpp:x64-android=fail backward-cpp:arm-neon-android=fail backward-cpp:arm64-android=fail backward-cpp:x64-android=fail -bde:x64-android=fail -# broken when `python` is python3, https://github.com/microsoft/vcpkg/issues/18937 -bde:x64-linux=fail bento4:arm-neon-android=fail berkeleydb:arm-neon-android=fail berkeleydb:arm64-android=fail diff --git a/versions/b-/bde.json b/versions/b-/bde.json index 5d27e439a9..0bef8a8678 100644 --- a/versions/b-/bde.json +++ b/versions/b-/bde.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "a8fc4329574711907399309f06012a486d373c64", + "version": "3.117.0.0", + "port-version": 0 + }, { "git-tree": "7ce72f2854f44eee806e6e5f3e97d29897549787", "version": "3.2.0.0", diff --git a/versions/baseline.json b/versions/baseline.json index 8ba22a7951..c9bbb3ea12 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -501,8 +501,8 @@ "port-version": 0 }, "bde": { - "baseline": "3.2.0.0", - "port-version": 5 + "baseline": "3.117.0.0", + "port-version": 0 }, "bdwgc": { "baseline": "8.2.4",