From 8b9a20497f3324a9a2a0b74563a4b5a040ecabb0 Mon Sep 17 00:00:00 2001 From: "Perkins, Chris" Date: Mon, 27 Nov 2023 11:51:06 -0800 Subject: [PATCH 1/2] Adding versioninfo.rc to proxyloader.dll --- sycl/pi_win_proxy_loader/CMakeLists.txt | 5 +-- sycl/pi_win_proxy_loader/versioninfo.rc | 43 +++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 sycl/pi_win_proxy_loader/versioninfo.rc diff --git a/sycl/pi_win_proxy_loader/CMakeLists.txt b/sycl/pi_win_proxy_loader/CMakeLists.txt index 9853960feff8..2550d69001b0 100644 --- a/sycl/pi_win_proxy_loader/CMakeLists.txt +++ b/sycl/pi_win_proxy_loader/CMakeLists.txt @@ -1,5 +1,6 @@ project(pi_win_proxy_loader) -add_library(pi_win_proxy_loader SHARED pi_win_proxy_loader.cpp) +configure_file(versioninfo.rc ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc @ONLY) +add_library(pi_win_proxy_loader SHARED pi_win_proxy_loader.cpp ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc) install(TARGETS pi_win_proxy_loader RUNTIME DESTINATION "bin" COMPONENT pi_win_proxy_loader ) @@ -41,7 +42,7 @@ if (MSVC) # Handle the debug version for the Microsoft compiler as a special case by # creating a debug version of the static library that uses the flags used by # the SYCL runtime - add_library(pi_win_proxy_loaderd SHARED pi_win_proxy_loader.cpp) + add_library(pi_win_proxy_loaderd SHARED pi_win_proxy_loader.cpp ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc) target_compile_options(pi_win_proxy_loaderd PRIVATE ${WINUNLOAD_CXX_FLAGS_DEBUG}) target_compile_options(pi_win_proxy_loader PRIVATE ${WINUNLOAD_CXX_FLAGS_RELEASE}) target_link_libraries(pi_win_proxy_loaderd PRIVATE shlwapi) diff --git a/sycl/pi_win_proxy_loader/versioninfo.rc b/sycl/pi_win_proxy_loader/versioninfo.rc new file mode 100644 index 000000000000..b8e778da7317 --- /dev/null +++ b/sycl/pi_win_proxy_loader/versioninfo.rc @@ -0,0 +1,43 @@ +#define VER_FILEVERSION @SYCL_MAJOR_VERSION@,@SYCL_MINOR_VERSION@,@SYCL_PATCH_VERSION@,@SYCL_DEV_ABI_VERSION@ +#define VER_FILEVERSION_STR "@SYCL_VERSION_STRING@\0" + +#define VER_PRODUCTVERSION @SYCL_MAJOR_VERSION@,@SYCL_MINOR_VERSION@,0,0 +#define VER_PRODUCTVERSION_STR "@SYCL_MAJOR_VERSION@.@SYCL_MINOR_VERSION@\0" + +1 VERSIONINFO +FILEVERSION VER_FILEVERSION +PRODUCTVERSION VER_PRODUCTVERSION +FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif +FILEOS 0x4L +FILETYPE 0x2L +FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904e4" + BEGIN + VALUE "CompanyName", "Intel Inc." + VALUE "FileDescription", "proxy loader" + VALUE "FileVersion", VER_FILEVERSION_STR + VALUE "InternalName", "pi_win_proxy_loader" + VALUE "LegalCopyright", "Copyright (c) 2023 Intel Inc. All rights reserved." +#ifdef _DEBUG + VALUE "OriginalFilename", "pi_win_proxy_loaderd.dll" +#else + VALUE "OriginalFilename", "pi_win_proxy_loader.dll" +#endif + VALUE "ProductName", "PI Win Proxy Loader" + VALUE "ProductVersion", VER_PRODUCTVERSION_STR + END + END + /* VarFileInfo also required */ + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 1252 + END +END \ No newline at end of file From 1772dad2d171386df59634cd66eedea4126b2b19 Mon Sep 17 00:00:00 2001 From: "Perkins, Chris" Date: Mon, 27 Nov 2023 17:58:26 -0800 Subject: [PATCH 2/2] instead of providing our own versioninfo.rc file, we use the dummy template provided by LLVM. --- sycl/pi_win_proxy_loader/CMakeLists.txt | 13 +++++++- sycl/pi_win_proxy_loader/versioninfo.rc | 43 ------------------------- 2 files changed, 12 insertions(+), 44 deletions(-) delete mode 100644 sycl/pi_win_proxy_loader/versioninfo.rc diff --git a/sycl/pi_win_proxy_loader/CMakeLists.txt b/sycl/pi_win_proxy_loader/CMakeLists.txt index 2550d69001b0..202817dde481 100644 --- a/sycl/pi_win_proxy_loader/CMakeLists.txt +++ b/sycl/pi_win_proxy_loader/CMakeLists.txt @@ -1,5 +1,16 @@ project(pi_win_proxy_loader) -configure_file(versioninfo.rc ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc @ONLY) +set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc + PROPERTY COMPILE_DEFINITIONS + "RC_VERSION_FIELD_1=${SYCL_MAJOR_VERSION}" + "RC_VERSION_FIELD_2=${SYCL_MAJOR_VERSION}" + "RC_VERSION_FIELD_3=${SYCL_PATCH_VERSION}" + "RC_VERSION_FIELD_4=${SYCL_DEV_ABI_VERSION}" + "RC_FILE_VERSION=\"${SYCL_VERSION_STRING}\"" + "RC_INTERNAL_NAME=\"pi_win_proxy_loader\"" + "RC_PRODUCT_NAME=\"pi_win_proxy_loader\"" + "RC_PRODUCT_VERSION=\"${SYCL_VERSION_STRING}\"" + "RC_COPYRIGHT=\"Copyright (C) 2023 Intel Inc. All Rights Reserved\"") +configure_file(../../llvm/resources/windows_version_resource.rc ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc @ONLY) add_library(pi_win_proxy_loader SHARED pi_win_proxy_loader.cpp ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc) install(TARGETS pi_win_proxy_loader RUNTIME DESTINATION "bin" COMPONENT pi_win_proxy_loader diff --git a/sycl/pi_win_proxy_loader/versioninfo.rc b/sycl/pi_win_proxy_loader/versioninfo.rc deleted file mode 100644 index b8e778da7317..000000000000 --- a/sycl/pi_win_proxy_loader/versioninfo.rc +++ /dev/null @@ -1,43 +0,0 @@ -#define VER_FILEVERSION @SYCL_MAJOR_VERSION@,@SYCL_MINOR_VERSION@,@SYCL_PATCH_VERSION@,@SYCL_DEV_ABI_VERSION@ -#define VER_FILEVERSION_STR "@SYCL_VERSION_STRING@\0" - -#define VER_PRODUCTVERSION @SYCL_MAJOR_VERSION@,@SYCL_MINOR_VERSION@,0,0 -#define VER_PRODUCTVERSION_STR "@SYCL_MAJOR_VERSION@.@SYCL_MINOR_VERSION@\0" - -1 VERSIONINFO -FILEVERSION VER_FILEVERSION -PRODUCTVERSION VER_PRODUCTVERSION -FILEFLAGSMASK 0x3fL -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif -FILEOS 0x4L -FILETYPE 0x2L -FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904e4" - BEGIN - VALUE "CompanyName", "Intel Inc." - VALUE "FileDescription", "proxy loader" - VALUE "FileVersion", VER_FILEVERSION_STR - VALUE "InternalName", "pi_win_proxy_loader" - VALUE "LegalCopyright", "Copyright (c) 2023 Intel Inc. All rights reserved." -#ifdef _DEBUG - VALUE "OriginalFilename", "pi_win_proxy_loaderd.dll" -#else - VALUE "OriginalFilename", "pi_win_proxy_loader.dll" -#endif - VALUE "ProductName", "PI Win Proxy Loader" - VALUE "ProductVersion", VER_PRODUCTVERSION_STR - END - END - /* VarFileInfo also required */ - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0409, 1252 - END -END \ No newline at end of file