From 77a0a4a6159bafbb0ba34a8e08f1f5bbc4904668 Mon Sep 17 00:00:00 2001 From: JackBoosY <47264268+JackBoosY@users.noreply.github.com> Date: Fri, 27 Sep 2019 17:05:33 +0800 Subject: [halide]Upgrade to release_2019_08_27. (#8102) * [halide]Upgrade to release_2019_08_27. * [llvm]Fix llvm tools path in cmake. * Re-trigger CI system. --- ports/halide/CONTROL | 47 ++++++++++++- ports/halide/fix-install-path.patch | 37 ++++++++++ ports/halide/portfile.cmake | 130 ++++++++++++++++-------------------- ports/llvm/CONTROL | 10 +-- ports/llvm/portfile.cmake | 6 ++ 5 files changed, 153 insertions(+), 77 deletions(-) create mode 100644 ports/halide/fix-install-path.patch diff --git a/ports/halide/CONTROL b/ports/halide/CONTROL index cd7008837..68360baf8 100644 --- a/ports/halide/CONTROL +++ b/ports/halide/CONTROL @@ -1,4 +1,49 @@ Source: halide -Version: release_2018_02_15-1 +Version: release_2019_08_27 Homepage: https://github.com/halide/Halide Description: Halide is a programming language designed to make it easier to write high-performance image processing code on modern machines. +Build-Depends: llvm, openblas + +Feature: app +Description: app support + +Feature: tutorials +Description: tutorials support + +Feature: utils +Description: utils + +Feature: nativeclient +Description: nativeclient + +Feature: hexagon +Description: hexagon + +Feature: metal +Description: metal support + +Feature: mips +Description: mips support + +Feature: powerpc +Description: powerpc support + +Feature: ptx +Description: ptx support + +Feature: opencl +Build-Depends: opencl +Description: opencl support + +Feature: opengl +Build-Depends: opengl +Description: opengl support + +Feature: rtti +Description: rtti support + +Feature: docs +Description: docs + +Feature: test +Description: test \ No newline at end of file diff --git a/ports/halide/fix-install-path.patch b/ports/halide/fix-install-path.patch new file mode 100644 index 000000000..46ca4bd45 --- /dev/null +++ b/ports/halide/fix-install-path.patch @@ -0,0 +1,37 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4ba3843..6697118 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -450,7 +450,7 @@ install(FILES + DESTINATION include) + + install(DIRECTORY tutorial +- DESTINATION . ++ DESTINATION share/halide + FILES_MATCHING + PATTERN "*.cpp" + PATTERN "*.h" +@@ -478,12 +478,12 @@ endforeach() + # ---- README + file(GLOB FILES "${HALIDE_BASE_DIR}/*.md") + install(FILES ${FILES} +- DESTINATION .) ++ DESTINATION share/halide) + + # ---- halide.cmake + file(GLOB FILES "${HALIDE_BASE_DIR}/*.cmake") + install(FILES ${FILES} +- DESTINATION .) ++ DESTINATION share/halide) + + # ---- halide_config + file(GLOB FILES "${HALIDE_BASE_DIR}/tools/halide_config.*.tpl") +@@ -492,7 +492,7 @@ foreach(F ${FILES}) + string(REGEX REPLACE "\\.tpl$" "" FNAME "${FNAME}") # Strip .tpl extension + configure_file("${F}" "${CMAKE_BINARY_DIR}/${FNAME}" @ONLY) + install(FILES "${CMAKE_BINARY_DIR}/${FNAME}" +- DESTINATION .) ++ DESTINATION share/halide) + endforeach() + + add_custom_target(distrib diff --git a/ports/halide/portfile.cmake b/ports/halide/portfile.cmake index 6c6e6fe9d..be59c06af 100644 --- a/ports/halide/portfile.cmake +++ b/ports/halide/portfile.cmake @@ -1,85 +1,73 @@ include(vcpkg_common_functions) -vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) - -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(TARGET_ARCHITECTURE 32) - set(FILE_HASH 4de27307f3355c318f21497a5b8641d215dbfbe2beb55472b9108e96aa9190300a5a8559f0c5e2788b56103f8284807e293ca362dee22adba62ae0f3b021766f) -elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(TARGET_ARCHITECTURE 64) - set(FILE_HASH a751c263335cbef725554b9a9b7b71811c0872d97109af5339124cb1db291a6f7e0bfb712f19982829477bf4fa2ad3c70ca5353b73697d1984504257b0894798) -else() - message(FATAL_ERROR "Error: halide does not support the ${VCPKG_TARGET_ARCHITECTURE} architecture.") -endif() - -set(COMMIT_HASH 46d8e9e0cdae456489f1eddfd6d829956fc3c843) -set(RELEASE_DATE 2018_02_15) - -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/halide-win-${TARGET_ARCHITECTURE}-distro-trunk-${COMMIT_HASH}) -vcpkg_download_distfile(ARCHIVE - URLS "https://github.com/halide/Halide/releases/download/release_${RELEASE_DATE}/halide-win-${TARGET_ARCHITECTURE}-distro-trunk-${COMMIT_HASH}.zip" - FILENAME "halide-win-${TARGET_ARCHITECTURE}-distro-trunk-${COMMIT_HASH}.zip" - SHA512 ${FILE_HASH} +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO halide/Halide + REF 65c26cba6a3eca2d08a0bccf113ca28746012cc3 #release_2019_08_27 + SHA512 f95b31ec08a6c4e618a5c03b6ae9e0b41888035a268e82ee73abde8ea34dff325db270f1ff10387ef03de27e274ad27c7ccbc873c0b75bb6c1a8112cf3765c5d + HEAD_REF master + PATCHES + fix-install-path.patch ) -vcpkg_extract_source_archive(${ARCHIVE} ${SOURCE_PATH}) -vcpkg_download_distfile(LICENSE - URLS "https://raw.githubusercontent.com/halide/Halide/release_${RELEASE_DATE}/LICENSE.txt" - FILENAME "halide-release_${RELEASE_DATE}-LICENSE.txt" - SHA512 bf11aa011ce872bcd51fe8d350f7238ad1eceb61eb7af788a2d78a6cfdfa9095abeeb2d230ead5c5299d245d6507a7b4374e3294703c126dcdae531db5a5ba7a -) +set(TARGET_X86 OFF) +set(TARGET_ARM OFF) +set(TARGET_AARCH64 OFF) +if (VCPKG_TARGET_ARCHITECTURE STREQUAL x86 OR VCPKG_TARGET_ARCHITECTURE STREQUAL x64) + # llvm x86 components are required for llvm x64 + set(TARGET_X86 ON) +elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL arm) + set(TARGET_X86 OFF) + if (TARGET_TRIPLET STREQUAL arm64) + set(TARGET_AARCH64 ON) + else() + set(TARGET_ARM ON) + endif() +endif() -set(SOURCE_PATH ${SOURCE_PATH}/halide) +if (VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) + set(HALIDE_SHARED_LIBRARY ON) +else() + set(HALIDE_SHARED_LIBRARY OFF) +endif() -file( - INSTALL - "${SOURCE_PATH}/include/Halide.h" - "${SOURCE_PATH}/include/HalideBuffer.h" - "${SOURCE_PATH}/include/HalideRuntime.h" - "${SOURCE_PATH}/include/HalideRuntimeCuda.h" - "${SOURCE_PATH}/include/HalideRuntimeHexagonHost.h" - "${SOURCE_PATH}/include/HalideRuntimeMetal.h" - "${SOURCE_PATH}/include/HalideRuntimeOpenCL.h" - "${SOURCE_PATH}/include/HalideRuntimeOpenGL.h" - "${SOURCE_PATH}/include/HalideRuntimeOpenGLCompute.h" - "${SOURCE_PATH}/include/HalideRuntimeQurt.h" - DESTINATION - ${CURRENT_PACKAGES_DIR}/include +vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS + app WITH_APPS + test WITH_TESTS + tutorials WITH_TUTORIALS + docs WITH_DOCS + utils WITH_UTILS + nativeclient TARGET_NATIVE_CLIENT + hexagon TARGET_HEXAGON + metal TARGET_METAL + mips TARGET_MIPS + powerpc TARGET_POWERPC + ptx TARGET_PTX + opencl TARGET_OPENCL + opengl TARGET_OPENGL + opengl TARGET_OPENGLCOMPUTE + rtti HALIDE_ENABLE_RTTI ) -file( - INSTALL - "${SOURCE_PATH}/tools/halide_image_io.h" - DESTINATION - ${CURRENT_PACKAGES_DIR}/include +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${FEATURE_OPTIONS} + -DTRIPLET_SYSTEM_ARCH=${TRIPLET_SYSTEM_ARCH} + -DHALIDE_SHARED_LIBRARY=${HALIDE_SHARED_LIBRARY} + -DTARGET_X86=${TARGET_X86} + -DTARGET_ARM=${TARGET_ARM} + -DTARGET_AARCH64=${TARGET_AARCH64} + #-DTARGET_AMDGPU + -DWARNINGS_AS_ERRORS=OFF ) -file( - INSTALL - "${SOURCE_PATH}/Release/Halide.lib" - DESTINATION - ${CURRENT_PACKAGES_DIR}/lib -) +vcpkg_install_cmake() -file( - INSTALL - "${SOURCE_PATH}/Debug/Halide.lib" - DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/lib -) +vcpkg_fixup_cmake_targets(CONFIG_PATH share/halide) -file( - INSTALL - "${SOURCE_PATH}/Release/Halide.dll" - DESTINATION - ${CURRENT_PACKAGES_DIR}/bin -) +vcpkg_copy_pdbs() -file( - INSTALL - "${SOURCE_PATH}/Debug/Halide.dll" - DESTINATION - ${CURRENT_PACKAGES_DIR}/debug/bin -) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share) -file(INSTALL "${LICENSE}" DESTINATION ${CURRENT_PACKAGES_DIR}/share/halide RENAME copyright) +file(INSTALL ${SOURCE_PATH}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) diff --git a/ports/llvm/CONTROL b/ports/llvm/CONTROL index 9a49e3cc2..cdfd41eba 100644 --- a/ports/llvm/CONTROL +++ b/ports/llvm/CONTROL @@ -1,5 +1,5 @@ -Source: llvm -Version: 8.0.0-1 -Homepage: https://llvm.org/ -Description: The LLVM Compiler Infrastructure -Build-Depends: atlmfc (windows) +Source: llvm +Version: 8.0.0-2 +Homepage: https://llvm.org/ +Description: The LLVM Compiler Infrastructure +Build-Depends: atlmfc (windows) diff --git a/ports/llvm/portfile.cmake b/ports/llvm/portfile.cmake index 07c9d9ad1..67985d18c 100644 --- a/ports/llvm/portfile.cmake +++ b/ports/llvm/portfile.cmake @@ -90,6 +90,12 @@ if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") file(WRITE ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMExports-debug.cmake "${DEBUG_MODULE}") endif() +if (EXISTS ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMConfig.cmake) + file(READ ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMConfig.cmake LLVM_TOOLS_MODULE) + string(REPLACE "\${LLVM_INSTALL_PREFIX}/bin" "\${LLVM_INSTALL_PREFIX}/tools/llvm" LLVM_TOOLS_MODULE "${LLVM_TOOLS_MODULE}") + file(WRITE ${CURRENT_PACKAGES_DIR}/share/llvm/LLVMConfig.cmake "${LLVM_TOOLS_MODULE}") +endif() + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/tools -- cgit v1.2.3