Skip to content
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
974ae7b
[ace] Update to 6.5.8
jwillemsen Feb 10, 2020
0f88c1a
Address review comments
jwillemsen Feb 11, 2020
411981f
Put back copy step
jwillemsen Feb 11, 2020
0c31b88
Fixed error
jwillemsen Feb 11, 2020
aeec218
ARM should work, let us try it
jwillemsen Feb 11, 2020
d3d5f66
ARM doesn't work yet, so disable it again
jwillemsen Feb 11, 2020
6b22b90
Merge branch 'master' of https://github.com/Microsoft/vcpkg
jwillemsen Apr 2, 2020
4bc796b
Merge branch 'master' of https://github.com/Microsoft/vcpkg
jwillemsen Apr 23, 2020
1162f9a
Add support for vcpkg of ace on MacOSX
jwillemsen Apr 23, 2020
42ed50c
Merge branch 'master' of https://github.com/Microsoft/vcpkg
jwillemsen Apr 24, 2020
751fb81
Merge branch 'master' of https://github.com/Microsoft/vcpkg
jwillemsen Apr 24, 2020
0b96ccf
Merge branch 'master' of https://github.com/Microsoft/vcpkg
jwillemsen May 1, 2020
158f002
Merge branch 'master' of https://github.com/Microsoft/vcpkg
jwillemsen May 6, 2020
77ab4e6
Merge branch 'master' of https://github.com/Microsoft/vcpkg
jwillemsen May 15, 2020
642a4e1
[ace] Add patch to fix Visual Studio 2019 internal compiler error
jwillemsen May 15, 2020
0bcf649
Attempt to fix apply patches
jwillemsen May 15, 2020
73985a0
[ace] Updated baseline for ace, 4 configurations work again with the …
jwillemsen May 15, 2020
5f8ad22
Address review comments
jwillemsen May 18, 2020
0ea23d3
Revised patch for ACE
jwillemsen May 18, 2020
a22f3e1
Merge branch 'master' of https://github.com/Microsoft/vcpkg
jwillemsen May 19, 2020
506ebd5
Merge branch 'master' into jwi-ace-659patch
jwillemsen May 19, 2020
e870128
[ace] Add support for uwp
jwillemsen May 19, 2020
b264978
Merge branch 'jwi-ace-659patch'
jwillemsen May 19, 2020
77d7c93
ace now works in all configurations
jwillemsen May 19, 2020
d583340
Removed !uwp and update version
jwillemsen May 19, 2020
6f46b29
Simplified install of copyright file and on windows we always have a …
jwillemsen May 19, 2020
152adfb
[ace] Simplified the port file by using an array for directories and …
jwillemsen May 20, 2020
541f5cc
Update ports/ace/portfile.cmake
jwillemsen May 21, 2020
9712200
[ace] resolve merge conflicts
jwillemsen May 27, 2020
dc2d034
Merge branch 'master' into jwi-ace-helpermethods
jwillemsen May 27, 2020
61ec737
Fixed merge conflict
jwillemsen May 27, 2020
ad64f9f
Merge branch 'master' of https://github.com/Microsoft/vcpkg
jwillemsen May 27, 2020
7618358
Merge branch 'master' into jwi-ace-helpermethods
jwillemsen May 27, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions ports/ace/CONTROL
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
Source: ace
Version: 6.5.9
Version: 6.5.9-3
Homepage: https://www.dre.vanderbilt.edu/~schmidt/ACE.html
Description: The ADAPTIVE Communication Environment
Supports: !uwp

Feature: wchar
Description: Enable extra wide char functions in ACE
Expand Down
101 changes: 45 additions & 56 deletions ports/ace/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
vcpkg_fail_port_install(ON_TARGET "uwp")

# Using zip archive under Linux would cause sh/perl to report "No such file or directory" or "bad interpreter"
# when invoking `prj_install.pl`.
# So far this issue haven't yet be triggered under WSL 1 distributions. Not sure the root cause of it.
Expand All @@ -22,6 +20,7 @@ endif()
vcpkg_extract_source_archive_ex(
OUT_SOURCE_PATH SOURCE_PATH
ARCHIVE ${ARCHIVE}
PATCHES process_manager.patch
)

set(ACE_ROOT ${SOURCE_PATH})
Expand Down Expand Up @@ -98,9 +97,13 @@ elseif(VCPKG_TARGET_IS_OSX)
file(WRITE ${ACE_ROOT}/include/makeinclude/platform_macros.GNU "include $(ACE_ROOT)/include/makeinclude/platform_macosx.GNU")
endif()

if(VCPKG_TARGET_IS_UWP)
set(MPC_VALUE_TEMPLATE -value_template link_options+=/APPCONTAINER)
endif()

# Invoke mwc.pl to generate the necessary solution and project files
vcpkg_execute_build_process(
COMMAND ${PERL} ${ACE_ROOT}/bin/mwc.pl -type ${SOLUTION_TYPE} -features "${ACE_FEATURES}" ace ${MPC_STATIC_FLAG}
COMMAND ${PERL} ${ACE_ROOT}/bin/mwc.pl -type ${SOLUTION_TYPE} -features "${ACE_FEATURES}" ace ${MPC_STATIC_FLAG} ${MPC_VALUE_TEMPLATE}
WORKING_DIRECTORY ${ACE_ROOT}
LOGNAME mwc-${TARGET_TRIPLET}
)
Expand All @@ -115,76 +118,62 @@ if(VCPKG_TARGET_IS_WINDOWS)
# ACE itself does not define an install target, so it is not clear which
# headers are public and which not. For the moment we install everything
# that is in the source path and ends in .h, .inl
function(install_ace_headers_subdirectory ORIGINAL_PATH RELATIVE_PATH)
file(GLOB HEADER_FILES ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.h ${ORIGINAL_PATH}/${RELATIVE_PATH}/*.inl)
file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ace/${RELATIVE_PATH})
function(install_includes SOURCE_PATH SUBDIRECTORIES INCLUDE_DIR)
foreach(SUB_DIR ${SUBDIRECTORIES})
file(GLOB HEADER_FILES ${SOURCE_PATH}/${SUB_DIR}/*.h ${SOURCE_PATH}/${SUB_DIR}/*.inl ${SOURCE_PATH}/${SUB_DIR}/*_T.cpp)
file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/${INCLUDE_DIR}/${SUB_DIR})
endforeach()
endfunction()

# We manually install header found in the ace directory because in that case
# we are supposed to install also *cpp files, see ACE_wrappers\debian\libace-dev.install file
file(GLOB HEADER_FILES ${ACE_SOURCE_PATH}/*.h ${ACE_SOURCE_PATH}/*.inl ${ACE_SOURCE_PATH}/*.cpp)
file(INSTALL ${HEADER_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/include/ace/)

# Install headers in subdirectory
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Compression")
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Compression/rle")
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "ETCL")
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "QoS")
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "Monitor_Control")
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include")
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/arpa")
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/net")
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/netinet")
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "os_include/sys")
# Install headers
set(ACE_INCLUDE_FOLDERS "." "Compression" "Compression/rle" "ETCL" "QoS" "Monitor_Control" "os_include" "os_include/arpa" "os_include/net" "os_include/netinet" "os_include/sys")
install_includes(${ACE_SOURCE_PATH} "${ACE_INCLUDE_FOLDERS}" "ace")
if("ssl" IN_LIST FEATURES)
install_ace_headers_subdirectory(${ACE_SOURCE_PATH} "SSL")
set(ACE_INCLUDE_FOLDERS "SSL")
install_includes(${ACE_SOURCE_PATH} "${ACE_INCLUDE_FOLDERS}" "ace")
endif()

# Install the libraries
function(install_ace_library ORIGINAL_PATH ACE_LIBRARY)
set(LIB_PATH ${ORIGINAL_PATH}/lib/)
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
# Install the DLL files
file(INSTALL
${LIB_PATH}/${ACE_LIBRARY}${DLL_DEBUG_SUFFIX}
function(install_libraries SOURCE_PATH LIBRARIES)
foreach(LIBRARY ${LIBRARIES})
set(LIB_PATH ${SOURCE_PATH}/lib/)
if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
# Install the DLL files
file(INSTALL
${LIB_PATH}/${LIBRARY}${DLL_DEBUG_SUFFIX}
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin
)
file(INSTALL
${LIB_PATH}/${ACE_LIBRARY}${DLL_RELEASE_SUFFIX}
)
file(INSTALL
${LIB_PATH}/${LIBRARY}${DLL_RELEASE_SUFFIX}
DESTINATION ${CURRENT_PACKAGES_DIR}/bin
)
endif()
)
endif()

# Install the lib files
file(INSTALL
${LIB_PATH}/${LIB_PREFIX}${ACE_LIBRARY}${DLL_DECORATOR}${LIB_DEBUG_SUFFIX}
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
)
# Install the lib files
file(INSTALL
${LIB_PATH}/${LIB_PREFIX}${LIBRARY}${DLL_DECORATOR}${LIB_DEBUG_SUFFIX}
DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib
)

file(INSTALL
${LIB_PATH}/${LIB_PREFIX}${ACE_LIBRARY}${DLL_DECORATOR}${LIB_RELEASE_SUFFIX}
DESTINATION ${CURRENT_PACKAGES_DIR}/lib
)
file(INSTALL
${LIB_PATH}/${LIB_PREFIX}${LIBRARY}${DLL_DECORATOR}${LIB_RELEASE_SUFFIX}
DESTINATION ${CURRENT_PACKAGES_DIR}/lib
)
endforeach()
endfunction()

install_ace_library(${ACE_ROOT} "ACE")
install_ace_library(${ACE_ROOT} "ACE_Compression")
install_ace_library(${ACE_ROOT} "ACE_ETCL")
install_ace_library(${ACE_ROOT} "ACE_ETCL_Parser")
install_ace_library(${ACE_ROOT} "ACE_Monitor_Control")
if(NOT VCPKG_CMAKE_SYSTEM_NAME)
install_ace_library(${ACE_ROOT} "ACE_QoS")
endif()
install_ace_library(${ACE_ROOT} "ACE_RLECompression")
set(ACE_LIBRARIES "ACE" "ACE_Compression" "ACE_ETCL" "ACE_ETCL_Parser" "ACE_Monitor_Control" "ACE_QoS" "ACE_RLECompression")
install_libraries(${ACE_ROOT} "${ACE_LIBRARIES}")

if("ssl" IN_LIST FEATURES)
install_ace_library(${ACE_ROOT} "ACE_SSL")
set(ACE_LIBRARIES "ACE_SSL")
install_libraries(${ACE_ROOT} "${ACE_LIBRARIES}")
endif()

vcpkg_copy_pdbs()

# Handle copyright
file(COPY ${ACE_ROOT}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/ace)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/ace/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
file(INSTALL ${ACE_ROOT}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
FIND_PROGRAM(MAKE make)
IF (NOT MAKE)
Expand Down Expand Up @@ -250,5 +239,5 @@ elseif(VCPKG_TARGET_IS_LINUX OR VCPKG_TARGET_IS_OSX)
set($ENV{PWD} _prev_env)

# Handle copyright
file(RENAME ${CURRENT_PACKAGES_DIR}/share/ace/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright)
file(INSTALL ${ACE_ROOT}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
endif()
57 changes: 57 additions & 0 deletions ports/ace/process_manager.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
diff --git a/ace/Process_Manager.cpp b/ace/Process_Manager.cpp
index ee0418b8fca..da9d9741e28 100644
--- a/ace/Process_Manager.cpp
+++ b/ace/Process_Manager.cpp
@@ -26,6 +26,9 @@ ACE_Process_Manager_cleanup (void *instance, void *arg)
{
ACE_Process_Manager::cleanup (instance, arg);
}
+#define ACE_PROCESS_MANAGER_CLEANUP_FUNCTION ACE_Process_Manager_cleanup
+#else
+#define ACE_PROCESS_MANAGER_CLEANUP_FUNCTION ACE_Process_Manager::cleanup
#endif

ACE_BEGIN_VERSIONED_NAMESPACE_DECL
@@ -124,19 +127,10 @@ ACE_Process_Manager::instance (void)
// Register with the Object_Manager so that the wrapper to
// delete the proactor will be called when Object_Manager is
// being terminated.
-
-#if defined ACE_HAS_SIG_C_FUNC
Comment thread
JackBoosY marked this conversation as resolved.
- ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
- ACE_Process_Manager_cleanup,
- 0,
- typeid (*ACE_Process_Manager::instance_).name ());
-#else
ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
- ACE_Process_Manager::cleanup,
+ ACE_PROCESS_MANAGER_CLEANUP_FUNCTION,
0,
- typeid (*ACE_Process_Manager::instance_).name ());
-#endif /* ACE_HAS_SIG_C_FUNC */
-
+ typeid (ACE_Process_Manager).name ());
}
}

@@ -157,18 +151,10 @@ ACE_Process_Manager::instance (ACE_Process_Manager *tm)
// Register with the Object_Manager so that the wrapper to
// delete the proactor will be called when Object_Manager is
// being terminated.
-
-#if defined ACE_HAS_SIG_C_FUNC
Comment thread
JackBoosY marked this conversation as resolved.
- ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
- ACE_Process_Manager_cleanup,
- 0,
- typeid (*ACE_Process_Manager::instance_).name ());
-#else
ACE_Object_Manager::at_exit (ACE_Process_Manager::instance_,
- ACE_Process_Manager::cleanup,
+ ACE_PROCESS_MANAGER_CLEANUP_FUNCTION,
0,
- typeid (*ACE_Process_Manager::instance_).name ());
-#endif /* ACE_HAS_SIG_C_FUNC */
+ typeid (*t).name ());

ACE_Process_Manager::instance_ = tm;
return t;
7 changes: 0 additions & 7 deletions scripts/ci.baseline.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,13 +45,6 @@
7zip:x64-osx=fail
7zip:x64-uwp=fail
abseil:arm-uwp=fail
# ace is failing because the port's attempt to make yasm available is not succeeding
ace:arm-uwp=fail
ace:arm64-windows=fail
ace:x64-uwp=fail
ace:x64-windows-static=fail
ace:x64-windows=fail
ace:x86-windows=fail
activemq-cpp:x64-windows-static=fail
activemq-cpp:x64-linux=fail
activemq-cpp:x64-osx=fail
Expand Down