diff --git a/include/cmake.mk b/include/cmake.mk index 0a20530a16..96c4d7df34 100644 --- a/include/cmake.mk +++ b/include/cmake.mk @@ -19,26 +19,22 @@ else endif ifeq ($(CONFIG_CCACHE),) + CMAKE_C_COMPILER_LAUNCHER:= + CMAKE_CXX_COMPILER_LAUNCHER:= CMAKE_C_COMPILER:=$(call cmake_tool,$(TARGET_CC)) CMAKE_CXX_COMPILER:=$(call cmake_tool,$(TARGET_CXX)) - CMAKE_C_COMPILER_ARG1:= - CMAKE_CXX_COMPILER_ARG1:= CMAKE_HOST_C_COMPILER:=$(HOSTCC) CMAKE_HOST_CXX_COMPILER:=$(HOSTCXX) - CMAKE_HOST_C_COMPILER_ARG1:= - CMAKE_HOST_CXX_COMPILER_ARG1:= else CCACHE:=$(STAGING_DIR_HOST)/bin/ccache - CMAKE_C_COMPILER:=$(CCACHE) - CMAKE_C_COMPILER_ARG1:=$(TARGET_CC_NOCACHE) - CMAKE_CXX_COMPILER:=$(CCACHE) - CMAKE_CXX_COMPILER_ARG1:=$(TARGET_CXX_NOCACHE) + CMAKE_C_COMPILER_LAUNCHER:=$(CCACHE) + CMAKE_CXX_COMPILER_LAUNCHER:=$(CCACHE) + CMAKE_C_COMPILER:=$(TARGET_CC_NOCACHE) + CMAKE_CXX_COMPILER:=$(TARGET_CXX_NOCACHE) - CMAKE_HOST_C_COMPILER:=$(CCACHE) - CMAKE_HOST_C_COMPILER_ARG1:=$(HOSTCC_NOCACHE) - CMAKE_HOST_CXX_COMPILER:=$(CCACHE) - CMAKE_HOST_CXX_COMPILER_ARG1:=$(HOSTCXX_NOCACHE) + CMAKE_HOST_C_COMPILER:=$(HOSTCC_NOCACHE) + CMAKE_HOST_CXX_COMPILER:=$(HOSTCXX_NOCACHE) endif CMAKE_AR:=$(call cmake_tool,$(TARGET_AR)) CMAKE_NM:=$(call cmake_tool,$(TARGET_NM)) @@ -61,12 +57,12 @@ define Build/Configure/Default -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ + -DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \ -DCMAKE_C_COMPILER="$(CMAKE_C_COMPILER)" \ - -DCMAKE_C_COMPILER_ARG1="$(CMAKE_C_COMPILER_ARG1)" \ + -DCMAKE_CXX_COMPILER_LAUNCHER="$(CMAKE_CXX_COMPILER_LAUNCHER)" \ -DCMAKE_CXX_COMPILER="$(CMAKE_CXX_COMPILER)" \ - -DCMAKE_CXX_COMPILER_ARG1="$(CMAKE_CXX_COMPILER_ARG1)" \ + -DCMAKE_ASM_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \ -DCMAKE_ASM_COMPILER="$(CMAKE_C_COMPILER)" \ - -DCMAKE_ASM_COMPILER_ARG1="$(CMAKE_C_COMPILER_ARG1)" \ -DCMAKE_EXE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS)" \ -DCMAKE_MODULE_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS) $(CMAKE_SHARED_LDFLAGS)" \ -DCMAKE_SHARED_LINKER_FLAGS:STRING="$(TARGET_LDFLAGS) $(CMAKE_SHARED_LDFLAGS)" \ @@ -107,12 +103,12 @@ define Host/Configure/Default LDFLAGS="$(HOST_LDFLAGS)" \ cmake \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \ -DCMAKE_C_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ - -DCMAKE_C_COMPILER_ARG1="$(CMAKE_HOST_C_COMPILER_ARG1)" \ + -DCMAKE_CXX_COMPILER_LAUNCHER="$(CMAKE_CXX_COMPILER_LAUNCHER)" \ -DCMAKE_CXX_COMPILER="$(CMAKE_HOST_CXX_COMPILER)" \ - -DCMAKE_CXX_COMPILER_ARG1="$(CMAKE_HOST_CXX_COMPILER_ARG1)" \ + -DCMAKE_ASM_COMPILER_LAUNCHER="$(CMAKE_C_COMPILER_LAUNCHER)" \ -DCMAKE_ASM_COMPILER="$(CMAKE_HOST_C_COMPILER)" \ - -DCMAKE_ASM_COMPILER_ARG1="$(CMAKE_HOST_C_COMPILER_ARG1)" \ -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \ -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \ -DCMAKE_EXE_LINKER_FLAGS:STRING="$(HOST_LDFLAGS)" \ diff --git a/package/ctcgfw/annie/Makefile b/package/ctcgfw/annie/Makefile index fade56aaed..39abc06143 100644 --- a/package/ctcgfw/annie/Makefile +++ b/package/ctcgfw/annie/Makefile @@ -7,12 +7,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=annie -PKG_VERSION:=0.10.3-68e47f1 +PKG_VERSION:=0.10.3-abc3c9d PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git +PKG_SOURCE_DATE:=2020-12-15 PKG_SOURCE_URL:=https://github.com/iawia002/annie.git -PKG_SOURCE_VERSION:=68e47f1ae8b26b6db89118e995c8cafc1d5ab339 +PKG_SOURCE_VERSION:=abc3c9df18173c91a5ca7a77fecc0665dea01aa1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION) diff --git a/package/ctcgfw/filebrowser/Makefile b/package/ctcgfw/filebrowser/Makefile index c6433a8ee4..73722a71ab 100644 --- a/package/ctcgfw/filebrowser/Makefile +++ b/package/ctcgfw/filebrowser/Makefile @@ -7,16 +7,16 @@ include $(TOPDIR)/rules.mk PKG_NAME:=filebrowser -PKG_VERSION:=2.6.2 +PKG_VERSION:=2.10.0 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git -PKG_SOURCE_VERSION:=be8683f +PKG_SOURCE_VERSION:=7a5298a PKG_SOURCE_URL:=https://github.com/filebrowser/filebrowser -PKG_MIRROR_HASH:=dbf4ff9db137d1f596ad687edec097ae1bbf75ef04447256044e960e044e2ee5 +PKG_MIRROR_HASH:=7a103204c6c898f64895719df9ff15b18f7361a637f9283678175bb958f4d8c4 PKG_LICENSE:=Apache-2.0 -PKG_LICENSE_FILES:=LICENSE.txt +PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=CN_SZTL PKG_BUILD_DEPENDS:=golang/host node/host diff --git a/package/ctcgfw/filebrowser/files/filebrowser.init b/package/ctcgfw/filebrowser/files/filebrowser.init index b094585344..db076123b5 100755 --- a/package/ctcgfw/filebrowser/files/filebrowser.init +++ b/package/ctcgfw/filebrowser/files/filebrowser.init @@ -57,5 +57,5 @@ reload_service() } service_triggers() { - procd_add_reload_trigger "filebrowser" -} \ No newline at end of file + procd_add_reload_trigger "filebrowser" +} diff --git a/package/ctcgfw/gotop/Makefile b/package/ctcgfw/gotop/Makefile index 3cf7e15027..6163ed0e21 100644 --- a/package/ctcgfw/gotop/Makefile +++ b/package/ctcgfw/gotop/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=gotop -PKG_VERSION:=3.4.5 +PKG_VERSION:=4.0.1 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/xxxserxxx/gotop.git -PKG_SOURCE_VERSION:=f7fb4bfb276e03a7e39f3f105670e3d6bfcaf3ff +PKG_SOURCE_VERSION:=a8a238ac18725e377addae8a23bf08cf476b404c PKG_MAINTAINER:=[CTCGFW] Project OpenWrt PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) diff --git a/package/ctcgfw/luci-theme-infinityfreedom/htdocs/luci-static/infinityfreedom/css/style.css b/package/ctcgfw/luci-theme-infinityfreedom/htdocs/luci-static/infinityfreedom/css/style.css index 76e4c920e5..468e491c74 100644 --- a/package/ctcgfw/luci-theme-infinityfreedom/htdocs/luci-static/infinityfreedom/css/style.css +++ b/package/ctcgfw/luci-theme-infinityfreedom/htdocs/luci-static/infinityfreedom/css/style.css @@ -1868,7 +1868,7 @@ header > .container > .pull-right > * { } .node-main-login > .main .cbi-value-title { - width: 7rem; + width: 8rem; } .node-main-login > .main #maincontent { diff --git a/package/ctcgfw/simple-torrent/Makefile b/package/ctcgfw/simple-torrent/Makefile index 3a7d384c7f..0fda400b68 100644 --- a/package/ctcgfw/simple-torrent/Makefile +++ b/package/ctcgfw/simple-torrent/Makefile @@ -1,18 +1,21 @@ include $(TOPDIR)/rules.mk PKG_NAME:=simple-torrent -PKG_VERSION:=2ae7de9 +PKG_VERSION:=1.2.12 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/boypt/simple-torrent.git -PKG_SOURCE_VERSION:=2ae7de933624625e3d01c00ad2a3a3a524818b57 -PKG_MAINTAINER:=[CTCGFW] Project OpenWrt / CN_SZTL +PKG_SOURCE_VERSION:=7d2662c35ac0a566b39b56c0d42de81067cc1670 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_SOURCE_SUBDIR)-$(PKG_VERSION).tar.gz PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_SUBDIR) +PKG_LICENSE:=AGPL-3.0 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=CN_SZTL + PKG_BUILD_DEPENDS:=golang/host PKG_BUILD_PARALLEL:=1 PKG_USE_MIPS16:=0 @@ -36,7 +39,8 @@ endef define Package/$(PKG_NAME)/description SimpleTorrent is a a self-hosted remote torrent client, written in Go (golang). - Started torrents remotely, download sets of files on the local disk of the server, which are then retrievable or streamable via HTTP. + Started torrents remotely, download sets of files on the local disk of the server, + which are then retrievable or streamable via HTTP. endef define Build/Prepare diff --git a/package/ctcgfw/webdav-hacdias/Makefile b/package/ctcgfw/webdav-go/Makefile similarity index 71% rename from package/ctcgfw/webdav-hacdias/Makefile rename to package/ctcgfw/webdav-go/Makefile index 736a94fca8..7586e993b3 100644 --- a/package/ctcgfw/webdav-hacdias/Makefile +++ b/package/ctcgfw/webdav-go/Makefile @@ -1,24 +1,30 @@ +# +# Copyright (C) 2019 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v3. +# See /LICENSE for more information. +# include $(TOPDIR)/rules.mk -PKG_NAME:=webdav-hacdias -PKG_VERSION:=3.0.0 +PKG_NAME:=webdav-go +PKG_VERSION:=3.2.0 PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/hacdias/webdav.git -PKG_SOURCE_DATE:=2019-11-10 -PKG_SOURCE_VERSION:=72d8e39927e5f2187949d5b6449e2f860a7fe223 +PKG_SOURCE_DATE:=2020-12-18 +PKG_SOURCE_VERSION:=fca4e548391e8198d0a651a3f22af1ceee966d5c PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz -PKG_MIRROR_HASH:=5587cf5bddfb5f8b57f8ad23e521ddfd6c623ebb2f7381555c3f20d7f147d7e8 +PKG_MIRROR_HASH:=510999ec95faef0f8d9d6e5d5f7813b10cc2432c1c859e342a7deabe8de3af2b -PKG_LICENSE:=GPLv3 +PKG_LICENSE:=MIT PKG_MAINTAINER:=ElonH PKG_BUILD_DEPENDS:=golang/host PKG_BUILD_PARALLEL:=1 -PKG_USE_MIPS16:=0 # https://github.com/openwrt/packages/issues/8498 +PKG_USE_MIPS16:=0 GO_PKG:=github.com/hacdias/webdav GO_PKG_LDFLAGS:=-s -w @@ -27,8 +33,8 @@ include $(TOPDIR)/feeds/packages/lang/golang/golang-package.mk define Package/$(PKG_NAME) SECTION:=net - CATEGORY:=Network - SUBMENU:=File Transfer + CATEGORY:=Network + SUBMENU:=File Transfer TITLE:=A powerful WebDav server written in Golang. URL:=https://github.com/hacdias/webdav DEPENDS:=$(GO_ARCH_DEPENDS) diff --git a/package/lean/libcryptopp/Makefile b/package/lean/libcryptopp/Makefile index 261f66808c..effc72046d 100644 --- a/package/lean/libcryptopp/Makefile +++ b/package/lean/libcryptopp/Makefile @@ -8,14 +8,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libcryptopp -PKG_VERSION:=8.2.0 +PKG_VERSION:=8.3.0 PKG_RELEASE:=1 PKG_SOURCE:=cryptopp$(subst .,,$(PKG_VERSION)).zip PKG_SOURCE_URL:=https://www.cryptopp.com/ -PKG_MD5SUM:=8a8bcb436af83e16d2227bd4ac642243 +PKG_HASH:=db38a15a6b1c337c665e2ebeb731dd0754b05e45504897d0f2fe4ae9f5ee589a -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION) +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) CMAKE_INSTALL:=1 diff --git a/package/lean/libcryptopp/src/CMakeLists.txt b/package/lean/libcryptopp/src/CMakeLists.txt index ceb0debe5a..e4a4d1678b 100644 --- a/package/lean/libcryptopp/src/CMakeLists.txt +++ b/package/lean/libcryptopp/src/CMakeLists.txt @@ -33,11 +33,11 @@ cmake_minimum_required(VERSION 2.8.6) if (${CMAKE_VERSION} VERSION_LESS "3.0.0") project(cryptopp) set(cryptopp_VERSION_MAJOR 8) - set(cryptopp_VERSION_MINOR 2) + set(cryptopp_VERSION_MINOR 3) set(cryptopp_VERSION_PATCH 0) else () cmake_policy(SET CMP0048 NEW) - project(cryptopp VERSION 8.2.0) + project(cryptopp VERSION 8.3.0) if (NOT ${CMAKE_VERSION} VERSION_LESS "3.1.0") cmake_policy(SET CMP0054 NEW) endif () @@ -116,9 +116,24 @@ endif () if (DISABLE_SSE4) list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_SSSE4) endif () +if (DISABLE_CLMUL) + list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_CLMUL) +endif () if (DISABLE_AESNI) list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_AESNI) endif () +if (DISABLE_RDRAND) + list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_RDRAND) +endif () +if (DISABLE_RDSEED) + list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_RDSEED) +endif () +if (DISABLE_AVX) + list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_AVX) +endif () +if (DISABLE_AVX2) + list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_AVX2) +endif () if (DISABLE_SHA) list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_SHA) endif () @@ -225,31 +240,26 @@ function(CheckCompileLinkOption opt var prog) # TODO: improve this... CHECK_CXX_COMPILER_FLAG(${opt} ${var}) + + elseif (APPLE) + + message(STATUS "Performing Test ${var}") + try_compile(COMMAND_SUCCESS ${CMAKE_BINARY_DIR} ${prog} COMPILE_DEFINITIONS ${opt}) + if (COMMAND_SUCCESS) + set(${var} 1 PARENT_SCOPE) + message(STATUS "Performing Test ${var} - Success") + else () + set(${var} 0 PARENT_SCOPE) + message(STATUS "Performing Test ${var} - Failed") + endif () else () message(STATUS "Performing Test ${var}") - execute_process( - COMMAND sh -c "${CMAKE_CXX_COMPILER} ${CMAKE_CXX_FLAGS} ${opt} ${prog} 2>&1" - RESULT_VARIABLE COMMAND_RESULT - OUTPUT_VARIABLE COMMAND_OUTPUT - OUTPUT_STRIP_TRAILING_WHITESPACE) - - # message(STATUS "RESULT_VARIABLE ${RESULT_VARIABLE}") - # message(STATUS "COMMAND_RESULT ${COMMAND_RESULT}") - # message(STATUS "OUTPUT_VARIABLE ${OUTPUT_VARIABLE}") - # message(STATUS "COMMAND_OUTPUT ${COMMAND_OUTPUT}") - - # This test is strict. We require two things. First, the invocation - # of the compile command must return 0. Second, there must be no - # messages on the console. We are interested in diagnostics like - # warnings to decide when to reject an option. But we will probably - # capture chatty compiler that want to say, "Hooray, success". For - # chatty compilers we will need to find a quiet option and use it - # for the test. Microsoft compilers come to mind. - if ("${COMMAND_RESULT}" EQUAL 0 AND "${COMMAND_OUTPUT}" STREQUAL "") - set(${var} 1 PARENT_SCOPE) - message(STATUS "Performing Test ${var} - Success") + try_compile(COMMAND_SUCCESS ${CMAKE_BINARY_DIR} ${prog} COMPILE_DEFINITIONS ${opt}) + if (COMMAND_SUCCESS) + set(${var} 1 PARENT_SCOPE) + message(STATUS "Performing Test ${var} - Success") else () set(${var} 0 PARENT_SCOPE) message(STATUS "Performing Test ${var} - Failed") @@ -278,35 +288,30 @@ function(DumpMachine output pattern) set(${output} 0 PARENT_SCOPE) else () - - execute_process( - COMMAND sh -c "${CMAKE_CXX_COMPILER} -dumpmachine 2>&1" - COMMAND ${GREP_CMD} -i -c -E "${pattern}" - OUTPUT_VARIABLE ${output} - OUTPUT_STRIP_TRAILING_WHITESPACE) - set(${output} "${${output}}" PARENT_SCOPE) - + if(CMAKE_SYSTEM_PROCESSOR MATCHES ${pattern}) + set(${output} TRUE PARENT_SCOPE) + endif() endif() endfunction(DumpMachine) # Thansk to Anonimal for MinGW; see http://github.com/weidai11/cryptopp/issues/466 -DumpMachine(CRYPTOPP_AMD64 "amd64|x86_64") -DumpMachine(CRYPTOPP_I386 "i.86") -DumpMachine(CRYPTOPP_MINGW32 "\\") -DumpMachine(CRYPTOPP_MINGW64 "w64-mingw32|mingw64") -DumpMachine(CRYPTOPP_X32 "x32") -DumpMachine(CRYPTOPP_AARCH32 "Aarch32") -DumpMachine(CRYPTOPP_AARCH64 "Aarch64") -DumpMachine(CRYPTOPP_ARMHF "armhf|arm7l|eabihf") -DumpMachine(CRYPTOPP_ARM "\\") +DumpMachine(CRYPTOPP_AMD64 "(x86_64)|(AMD64|amd64)") +DumpMachine(CRYPTOPP_I386 "^i.86$") +DumpMachine(CRYPTOPP_MINGW32 "^mingw32") +DumpMachine(CRYPTOPP_MINGW64 "(w64-mingw32)|(mingw64)") +DumpMachine(CRYPTOPP_X32 "(x32)") +DumpMachine(CRYPTOPP_AARCH32 "^aarch32") +DumpMachine(CRYPTOPP_AARCH64 "^aarch64") +DumpMachine(CRYPTOPP_ARMHF "(armhf)|(arm7l)|(eabihf)") +DumpMachine(CRYPTOPP_ARM "^arm") # Detecting PowerPC is only good with GCC. IBM XLC compiler is # a little different and I don't know how to ask to the triplet # XLC is targeting. Below we punt by setting CRYPTOPP_POWERPC64 # if we detect the compiler is XLC. -DumpMachine(CRYPTOPP_POWERPC "ppc|powerpc") -DumpMachine(CRYPTOPP_POWERPC64 "ppc64") +DumpMachine(CRYPTOPP_POWERPC "^(powerpc|ppc)") +DumpMachine(CRYPTOPP_POWERPC64 "^ppc64") ############################################################################### @@ -377,77 +382,12 @@ endif () ############################################################################### -if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - - execute_process(COMMAND sh -c "${CMAKE_CXX_COMPILER} --version 2>&1" - COMMAND ${GREP_CMD} -i -c "macports" - OUTPUT_VARIABLE MACPORTS - OUTPUT_STRIP_TRAILING_WHITESPACE) - - if (MACPORTS EQUAL 0) - # Get GAS version, add defs + set as appropriate - set(GAS_CMD sh -c "${CMAKE_CXX_COMPILER} -xc -c /dev/null -Wa,-v -o/dev/null 2>&1") - - execute_process(COMMAND ${GAS_CMD} - OUTPUT_VARIABLE GAS_STRING - OUTPUT_STRIP_TRAILING_WHITESPACE) - string(FIND "${GAS_STRING}" "GNU assembler" GAS_OUTPUT) - - if (NOT GAS_OUTPUT EQUAL -1) - #.intel_syntax wasn't supported until GNU assembler 2.10 - - # TODO(unassigned): string() REGEX was not cooperating at time of writing. Re-implement as needed. - execute_process(COMMAND echo ${GAS_STRING} - COMMAND ${GREP_CMD} -i -c -E "GNU.[Aa]ssembler.*(2\\.[1-9][0-9]|[3-9])" - OUTPUT_VARIABLE GAS210_OR_LATER) - if (GAS210_OR_LATER EQUAL 0) - list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_ASM) - set(DISABLE_ASM 1) - endif () - - execute_process(COMMAND echo ${GAS_STRING} - COMMAND ${GREP_CMD} -i -c -E "GNU.[Aa]ssembler.*(2\\.1[7-9]|2\\.[2-9]|[3-9])" - OUTPUT_VARIABLE GAS217_OR_LATER) - if (GAS217_OR_LATER EQUAL 0) - list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_SSSE3) - set(DISABLE_SSSE3 1) - endif () - - # OpenBSD and CentOS 5 needed this one due to ARIA and BLAKE2 - execute_process(COMMAND echo ${GAS_STRING} - COMMAND ${GREP_CMD} -i -c -E "GNU.[Aa]ssembler.*(2\\.1[8-9]|2\\.[2-9]|[3-9])" - OUTPUT_VARIABLE GAS218_OR_LATER) - if (GAS218_OR_LATER EQUAL 0) - list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_SSSE4) - set(DISABLE_SSE4 1) - endif () - - execute_process(COMMAND echo ${GAS_STRING} - COMMAND ${GREP_CMD} -i -c -E "GNU.[Aa]ssembler.*(2\\.19|2\\.[2-9]|[3-9])" - OUTPUT_VARIABLE GAS219_OR_LATER) - if (GAS219_OR_LATER EQUAL 0) - list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_AESNI) - set(DISABLE_AESNI 1) - endif () - - # Ubuntu 10 and Ubuntu 12 needed this one - execute_process(COMMAND echo ${GAS_STRING} - COMMAND ${GREP_CMD} -i -c -E "GNU.[Aa]ssembler.*(2\\.2[3-9]|2\\.[3-9]|[3-9])" - OUTPUT_VARIABLE GAS223_OR_LATER) - if (GAS223_OR_LATER EQUAL 0) - list(APPEND CRYPTOPP_COMPILE_DEFINITIONS CRYPTOPP_DISABLE_SHA) - set(DISABLE_SHA 1) - endif () - endif () - endif () -endif () - # TODO: what about ICC and LLVM on Windows? if (MSVC) if (CMAKE_SYSTEM_VERSION MATCHES "10\\.0.*") list(APPEND CRYPTOPP_COMPILE_DEFINITIONS "_WIN32_WINNT=0x0A00") endif () - list(APPEND CRYPTOPP_COMPILE_OPTIONS "/FI\"winapifamily.h\"") + list(APPEND CRYPTOPP_COMPILE_OPTIONS /FI winapifamily.h) endif () # Enable PIC for all target machines except 32-bit i386 due to register pressures. @@ -562,6 +502,11 @@ set(cryptopp_SOURCES ${cryptopp_SOURCES} ) +if(ANDROID) + include_directories(${ANDROID_NDK}/sources/android/cpufeatures) + list(APPEND cryptopp_SOURCES ${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c) +endif() + set(cryptopp_SOURCES_ASM) if (MSVC AND NOT DISABLE_ASM) @@ -571,6 +516,7 @@ if (MSVC AND NOT DISABLE_ASM) enable_language(ASM_MASM) list(APPEND cryptopp_SOURCES_ASM ${SRC_DIR}/rdrand.asm + ${SRC_DIR}/rdseed.asm ) if (CMAKE_SIZEOF_VOID_P EQUAL 8) list(APPEND cryptopp_SOURCES_ASM @@ -615,8 +561,13 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU "${TEST_PROG_DIR}/test_x86_avx2.cxx") CheckCompileLinkOption("-msse4.2 -msha" CRYPTOPP_IA32_SHA "${TEST_PROG_DIR}/test_x86_sha.cxx") - CheckCompileLinkOption("" CRYPTOPP_MIXED_ASM - "${TEST_PROG_DIR}/test_mixed_asm.cxx") + if (EXISTS "${TEST_PROG_DIR}/test_asm_mixed.cxx") + CheckCompileLinkOption("" CRYPTOPP_MIXED_ASM + "${TEST_PROG_DIR}/test_asm_mixed.cxx") + else () + CheckCompileLinkOption("" CRYPTOPP_MIXED_ASM + "${TEST_PROG_DIR}/test_mixed_asm.cxx") + endif () # https://github.com/weidai11/cryptopp/issues/756 if (NOT CRYPTOPP_MIXED_ASM) @@ -637,7 +588,6 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU set_source_files_properties(${SRC_DIR}/cham_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") set_source_files_properties(${SRC_DIR}/keccak_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") set_source_files_properties(${SRC_DIR}/lea_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") - set_source_files_properties(${SRC_DIR}/simeck_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") set_source_files_properties(${SRC_DIR}/simon128_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") set_source_files_properties(${SRC_DIR}/speck128_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3") if (NOT CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4) @@ -645,16 +595,14 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU elseif (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4) set_source_files_properties(${SRC_DIR}/blake2s_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1") set_source_files_properties(${SRC_DIR}/blake2b_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1") - set_source_files_properties(${SRC_DIR}/simon64_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1") - set_source_files_properties(${SRC_DIR}/speck64_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.1") endif () if (NOT CRYPTOPP_IA32_SSE42 AND NOT DISABLE_SSE4) list(APPEND CRYPTOPP_COMPILE_OPTIONS "-DCRYPTOPP_DISABLE_SSE4") elseif (CRYPTOPP_IA32_SSE42 AND NOT DISABLE_SSE4) set_source_files_properties(${SRC_DIR}/crc_simd.cpp PROPERTIES COMPILE_FLAGS "-msse4.2") - if (NOT CRYPTOPP_IA32_CLMUL AND NOT DISABLE_AES) + if (NOT CRYPTOPP_IA32_CLMUL AND NOT DISABLE_CLMUL) list(APPEND CRYPTOPP_COMPILE_OPTIONS "-DCRYPTOPP_DISABLE_CLMUL") - elseif (CRYPTOPP_IA32_CLMUL AND NOT DISABLE_AES) + elseif (CRYPTOPP_IA32_CLMUL AND NOT DISABLE_CLMUL) set_source_files_properties(${SRC_DIR}/gcm_simd.cpp PROPERTIES COMPILE_FLAGS "-mssse3 -mpclmul") set_source_files_properties(${SRC_DIR}/gf2n_simd.cpp PROPERTIES COMPILE_FLAGS "-mpclmul") endif () @@ -698,10 +646,7 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU set_source_files_properties(${SRC_DIR}/cham_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a") set_source_files_properties(${SRC_DIR}/lea_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a") set_source_files_properties(${SRC_DIR}/neon_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a") - set_source_files_properties(${SRC_DIR}/simeck_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a") - set_source_files_properties(${SRC_DIR}/simon64_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a") set_source_files_properties(${SRC_DIR}/simon128_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a") - set_source_files_properties(${SRC_DIR}/speck64_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a") set_source_files_properties(${SRC_DIR}/speck128_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv8-a") endif () if (CRYPTOPP_ARMV8A_CRC) @@ -717,71 +662,79 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU elseif (CRYPTOPP_ARM OR CRYPTOPP_ARMHF) - # Need to set floating point ABI to something, like "hard" of "softfp". - # Most Linux use hard floats. CheckCompileLinkOption("-march=armv7-a -mfpu=neon" CRYPTOPP_ARMV7A_NEON "${TEST_PROG_DIR}/test_arm_neon.cxx") - CheckCompileLinkOption("-march=armv7-a -mfloat-abi=hard -mfpu=neon" CRYPTOPP_ARMV7A_HARD - "${TEST_PROG_DIR}/test_arm_neon.cxx") - CheckCompileLinkOption("-march=armv7-a -mfloat-abi=softfp -mfpu=neon" CRYPTOPP_ARMV7A_SOFTFP + CheckCompileLinkOption("-march=armv7-a -mthumb -mfpu=neon" CRYPTOPP_ARMV7A_THUMB_NEON "${TEST_PROG_DIR}/test_arm_neon.cxx") - if (CRYPTOPP_ARMV7A_HARD) - set(CRYPTOPP_ARMV7A_FLAGS "-march=armv7-a -mfloat-abi=hard -mfpu=neon") - elseif (CRYPTOPP_ARMV7A_SOFTFP) - set(CRYPTOPP_ARMV7A_FLAGS "-march=armv7-a -mfloat-abi=softfp -mfpu=neon") - else () - AddCompileOption("-DCRYPTOPP_DISABLE_NEON") - endif() + if (CRYPTOPP_ARMV7A_NEON) - if (CRYPTOPP_ARMV7A_HARD OR CRYPTOPP_ARMV7A_SOFTFP) - # Add ASM files for ARM - if (NOT MSVC) + # Add Cryptogams ASM files for ARM on Linux. Linux is required due to GNU Assembler. + # AES requires -mthumb under Clang. Do not add -mthumb for SHA for any files. + if (CMAKE_SYSTEM_NAME STREQUAL "Linux" OR CMAKE_SYSTEM_NAME STREQUAL "Android") list(APPEND cryptopp_SOURCES ${SRC_DIR}/aes_armv4.S) - set_source_files_properties(${SRC_DIR}/aes_armv4.S PROPERTIES LANGUAGE C) + list(APPEND cryptopp_SOURCES ${SRC_DIR}/sha1_armv4.S) + list(APPEND cryptopp_SOURCES ${SRC_DIR}/sha256_armv4.S) + list(APPEND cryptopp_SOURCES ${SRC_DIR}/sha512_armv4.S) + + set_source_files_properties(${SRC_DIR}/aes_armv4.S PROPERTIES LANGUAGE CXX) + set_source_files_properties(${SRC_DIR}/sha1_armv4.S PROPERTIES LANGUAGE CXX) + set_source_files_properties(${SRC_DIR}/sha256_armv4.S PROPERTIES LANGUAGE CXX) + set_source_files_properties(${SRC_DIR}/sha512_armv4.S PROPERTIES LANGUAGE CXX) + + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") + set_source_files_properties(${SRC_DIR}/aes_armv4.S PROPERTIES COMPILE_FLAGS "-march=armv7-a -mthumb -mfpu=neon -Wa,--noexecstack") + else () + set_source_files_properties(${SRC_DIR}/aes_armv4.S PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon -Wa,--noexecstack") + endif () + + set_source_files_properties(${SRC_DIR}/sha1_armv4.S PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon -Wa,--noexecstack") + set_source_files_properties(${SRC_DIR}/sha256_armv4.S PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon -Wa,--noexecstack") + set_source_files_properties(${SRC_DIR}/sha512_armv4.S PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon -Wa,--noexecstack") endif () - set_source_files_properties(${SRC_DIR}/aes_armv4.S PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/aria_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/blake2s_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/blake2b_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/chacha_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/cham_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/crc_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/lea_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/gcm_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/rijndael_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/neon_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/sha_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/simeck_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/simon64_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/simon128_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/speck64_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/speck128_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") - set_source_files_properties(${SRC_DIR}/sm4_simd.cpp PROPERTIES COMPILE_FLAGS "${CRYPTOPP_ARMV7A_FLAGS}") + set_source_files_properties(${SRC_DIR}/aria_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/blake2s_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/blake2b_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/chacha_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/cham_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/crc_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/lea_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/gcm_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/rijndael_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/neon_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/sha_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/simon128_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/speck128_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + set_source_files_properties(${SRC_DIR}/sm4_simd.cpp PROPERTIES COMPILE_FLAGS "-march=armv7-a -mfpu=neon") + else () + list(APPEND CRYPTOPP_COMPILE_OPTIONS "-DCRYPTOPP_ARM_NEON_AVAILABLE=0") endif () elseif (CRYPTOPP_POWERPC OR CRYPTOPP_POWERPC64) + # XLC requires -qaltivec in addition to Arch or CPU option if (CMAKE_CXX_COMPILER MATCHES "xlC") set(CRYPTOPP_ALTIVEC_FLAGS "-qaltivec") set(CRYPTOPP_POWER4_FLAGS "-qarch=pwr4 -qaltivec") set(CRYPTOPP_POWER5_FLAGS "-qarch=pwr5 -qaltivec") set(CRYPTOPP_POWER6_FLAGS "-qarch=pwr6 -qaltivec") - set(CRYPTOPP_POWER7_FLAGS "-qarch=pwr7 -qaltivec") + set(CRYPTOPP_POWER7_VSX_FLAG "-qarch=pwr7 -qvsx -qaltivec") + set(CRYPTOPP_POWER7_PWR_FLAGS "-qarch=pwr7 -qaltivec") set(CRYPTOPP_POWER8_FLAGS "-qarch=pwr8 -qaltivec") set(CRYPTOPP_POWER9_FLAGS "-qarch=pwr9 -qaltivec") else () set(CRYPTOPP_ALTIVEC_FLAGS "-maltivec") - set(CRYPTOPP_POWER7_FLAGS "-mcpu=power7 -maltivec") - set(CRYPTOPP_POWER8_FLAGS "-mcpu=power8 -maltivec") - set(CRYPTOPP_POWER9_FLAGS "-mcpu=power9 -maltivec") + set(CRYPTOPP_POWER7_VSX_FLAGS "-mcpu=power7 -mvsx") + set(CRYPTOPP_POWER7_PWR_FLAGS "-mcpu=power7") + set(CRYPTOPP_POWER8_FLAGS "-mcpu=power8") + set(CRYPTOPP_POWER9_FLAGS "-mcpu=power9") endif () CheckCompileLinkOption("${CRYPTOPP_ALTIVEC_FLAGS}" PPC_ALTIVEC_FLAG "${TEST_PROG_DIR}/test_ppc_altivec.cxx") - # Hack for XLC + # Hack for XLC. Find the lowest PWR architecture. if (CMAKE_CXX_COMPILER MATCHES "xlC") if (NOT PPC_ALTIVEC_FLAG) CheckCompileLinkOption("${CRYPTOPP_POWER4_FLAGS}" PPC_POWER4_FLAG @@ -809,8 +762,18 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU endif () endif () - CheckCompileLinkOption("${CRYPTOPP_POWER7_FLAGS}" PPC_POWER7_FLAG + # Hack for XLC and GCC. Find the right combination for PWR7 and the VSX unit. + CheckCompileLinkOption("${CRYPTOPP_POWER7_VSX_FLAGS}" PPC_POWER7_FLAG "${TEST_PROG_DIR}/test_ppc_power7.cxx") + if (PPC_POWER7_FLAG) + set (CRYPTOPP_POWER7_FLAGS "${CRYPTOPP_POWER7_VSX_FLAGS}") + else () + CheckCompileLinkOption("${CRYPTOPP_POWER7_PWR_FLAGS}" PPC_POWER7_FLAG + "${TEST_PROG_DIR}/test_ppc_power7.cxx") + if (PPC_POWER7_FLAG) + set (CRYPTOPP_POWER7_FLAGS "${CRYPTOPP_POWER7_PWR_FLAGS}") + endif () + endif () CheckCompileLinkOption("${CRYPTOPP_POWER8_FLAGS}" PPC_POWER8_FLAG "${TEST_PROG_DIR}/test_ppc_power8.cxx") @@ -824,10 +787,13 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU if (PPC_POWER8_FLAG AND NOT DISABLE_POWER8) set_source_files_properties(${SRC_DIR}/ppc_power8.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) + #set_source_files_properties(${SRC_DIR}/aria_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) set_source_files_properties(${SRC_DIR}/blake2b_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) + set_source_files_properties(${SRC_DIR}/cham_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) #set_source_files_properties(${SRC_DIR}/crc_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) set_source_files_properties(${SRC_DIR}/gcm_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) set_source_files_properties(${SRC_DIR}/gf2n_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) + set_source_files_properties(${SRC_DIR}/lea_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) set_source_files_properties(${SRC_DIR}/rijndael_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) set_source_files_properties(${SRC_DIR}/sha_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) set_source_files_properties(${SRC_DIR}/shacal2_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER8_FLAGS}) @@ -837,34 +803,18 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "GNU if (PPC_POWER7_FLAG AND NOT DISABLE_POWER7) set_source_files_properties(${SRC_DIR}/ppc_power7.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER7_FLAGS}) - set_source_files_properties(${SRC_DIR}/aria_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER7_FLAGS}) - set_source_files_properties(${SRC_DIR}/blake2s_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER7_FLAGS}) - set_source_files_properties(${SRC_DIR}/chacha_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER7_FLAGS}) - set_source_files_properties(${SRC_DIR}/cham_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER7_FLAGS}) - set_source_files_properties(${SRC_DIR}/lea_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER7_FLAGS}) - set_source_files_properties(${SRC_DIR}/simeck_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER7_FLAGS}) - set_source_files_properties(${SRC_DIR}/simon64_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER7_FLAGS}) - set_source_files_properties(${SRC_DIR}/speck64_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER7_FLAGS}) endif () if (PPC_ALTIVEC_FLAG AND NOT DISABLE_ALTIVEC) set_source_files_properties(${SRC_DIR}/ppc_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_ALTIVEC_FLAGS}) + set_source_files_properties(${SRC_DIR}/blake2s_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_ALTIVEC_FLAGS}) + set_source_files_properties(${SRC_DIR}/chacha_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_ALTIVEC_FLAGS}) endif () - # Drop to Power7 if Power8 unavailable + # Drop to Altivec if Power8 unavailable if (NOT PPC_POWER8_FLAG) - if (PPC_POWER7_FLAG) - set_source_files_properties(${SRC_DIR}/gcm_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_POWER7_FLAGS}) - endif () - endif () - - # Drop to Altivec if Power7 unavailable - if (NOT PPC_POWER7_FLAG) if (PPC_ALTIVEC_FLAG) - set_source_files_properties(${SRC_DIR}/blake2s_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_ALTIVEC_FLAGS}) - set_source_files_properties(${SRC_DIR}/chacha_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_ALTIVEC_FLAGS}) - set_source_files_properties(${SRC_DIR}/simon64_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_ALTIVEC_FLAGS}) - set_source_files_properties(${SRC_DIR}/speck64_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_ALTIVEC_FLAGS}) + set_source_files_properties(${SRC_DIR}/gcm_simd.cpp PROPERTIES COMPILE_FLAGS ${CRYPTOPP_ALTIVEC_FLAGS}) endif () endif () @@ -917,15 +867,12 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "SunPro") set_source_files_properties(${SRC_DIR}/aria_simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=ssse3") set_source_files_properties(${SRC_DIR}/cham_simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=ssse3") set_source_files_properties(${SRC_DIR}/lea_simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=ssse3") - set_source_files_properties(${SRC_DIR}/simeck_simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=ssse3") set_source_files_properties(${SRC_DIR}/simon128_simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=ssse3") set_source_files_properties(${SRC_DIR}/speck128_simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=ssse3") set(XARCH_LDFLAGS "${XARCH_LDFLAGS} -xarch=ssse3") if (CRYPTOPP_IA32_SSE41 AND NOT DISABLE_SSE4) set_source_files_properties(${SRC_DIR}/blake2s_simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=sse4_1") set_source_files_properties(${SRC_DIR}/blake2b_simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=sse4_1") - set_source_files_properties(${SRC_DIR}/simon64_simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=sse4_1") - set_source_files_properties(${SRC_DIR}/speck64_simd.cpp PROPERTIES COMPILE_FLAGS "-xarch=sse4_1") set(XARCH_LDFLAGS "${XARCH_LDFLAGS} -xarch=sse4_1") endif () if (CRYPTOPP_IA32_SSE42 AND NOT DISABLE_SSE4) @@ -1000,7 +947,7 @@ function(cryptopp_target_compile_properties target) set_target_properties(${target} PROPERTIES COMPILE_DEFINITIONS "${CRYPTOPP_COMPILE_DEFINITIONS}") endif() if (NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12") - target_compile_options(${target} PUBLIC ${CRYPTOPP_COMPILE_OPTIONS}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS}") else() string (REPLACE ";" " " PROP_STR "${CRYPTOPP_COMPILE_OPTIONS}") set_target_properties(${target} PROPERTIES COMPILE_FLAGS "${PROP_STR}") diff --git a/package/libs/toolchain/Makefile b/package/libs/toolchain/Makefile index 9851a5f1cd..6853d95997 100644 --- a/package/libs/toolchain/Makefile +++ b/package/libs/toolchain/Makefile @@ -115,7 +115,7 @@ define Package/libasan $(call Package/gcc/Default) NAME:=libasan TITLE:=Runtime library for AddressSanitizer in GCC - DEPENDS:=@USE_GLIBC +librt +libstdcpp + DEPENDS:=@USE_GLIBC +librt +libstdcpp @!mips @!mipsel @!mips64 @!mips64el @!arc ABI_VERSION:=5 endef @@ -144,7 +144,7 @@ define Package/libtsan $(call Package/gcc/Default) NAME:=libtsan TITLE:=Runtime library for ThreadSanitizer in GCC - DEPENDS:=@USE_GLIBC +librt +libstdcpp + DEPENDS:=@USE_GLIBC +librt +libstdcpp @!mips @!mipsel @!mips64 @!mips64el @!arc ABI_VERSION:=0 endef @@ -173,7 +173,7 @@ define Package/liblsan $(call Package/gcc/Default) NAME:=liblsan TITLE:=Runtime library for LeakSanitizer in GCC - DEPENDS:=@USE_GLIBC +librt +libstdcpp + DEPENDS:=@USE_GLIBC +librt +libstdcpp @!mips @!mipsel @!mips64 @!mips64el @!arc ABI_VERSION:=0 endef @@ -202,7 +202,7 @@ define Package/libubsan $(call Package/gcc/Default) NAME:=libubsan TITLE:=Runtime library for UndefinedBehaviorSanitizer in GCC - DEPENDS:=@USE_GLIBC +librt +libstdcpp + DEPENDS:=@USE_GLIBC +librt +libstdcpp @!mips @!mipsel @!mips64 @!mips64el @!arc ABI_VERSION:=1 endef diff --git a/package/ntlf9t/AdGuardHome/Makefile b/package/ntlf9t/AdGuardHome/Makefile index cb12d61490..046ffbb018 100644 --- a/package/ntlf9t/AdGuardHome/Makefile +++ b/package/ntlf9t/AdGuardHome/Makefile @@ -28,7 +28,7 @@ PKG_CONFIG_DEPENDS:= \ CONFIG_ADGUARDHOME_COMPRESS_UPX GO_PKG:=github.com/AdguardTeam/AdGuardHome -GO_PKG_EXCLUDES:=dhcpd/standalone +GO_PKG_EXCLUDES:=internal/dhcpd/standalone GO_PKG_LDFLAGS:=-s -w GO_PKG_LDFLAGS_X:=main.version=$(PKG_VERSION) main.channel=release diff --git a/tools/cmake/Makefile b/tools/cmake/Makefile index 7839d7b00a..64164fdd1d 100644 --- a/tools/cmake/Makefile +++ b/tools/cmake/Makefile @@ -7,14 +7,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cmake -PKG_VERSION:=3.18.2 +PKG_VERSION:=3.19.1 PKG_RELEASE:=1 PKG_CPE_ID:=cpe:/a:kitware:cmake PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/Kitware/CMake/releases/download/v$(PKG_VERSION)/ \ - https://cmake.org/files/v3.18/ -PKG_HASH:=5d4e40fc775d3d828c72e5c45906b4d9b59003c9433ff1b36a1cb552bbd51d7e + https://cmake.org/files/v3.19/ +PKG_HASH:=1d266ea3a76ef650cdcf16c782a317cb4a7aa461617ee941e389cb48738a3aba HOST_BUILD_PARALLEL:=1 HOST_CONFIGURE_PARALLEL:=1 diff --git a/tools/cmake/patches/120-curl-fix-libressl-linking.patch b/tools/cmake/patches/120-curl-fix-libressl-linking.patch index 4fb541f3e4..1095a4f8ac 100644 --- a/tools/cmake/patches/120-curl-fix-libressl-linking.patch +++ b/tools/cmake/patches/120-curl-fix-libressl-linking.patch @@ -20,7 +20,7 @@ Signed-off-by: Jo-Philipp Wich --- --- a/Utilities/cmcurl/CMakeLists.txt +++ b/Utilities/cmcurl/CMakeLists.txt -@@ -488,6 +488,14 @@ if(CMAKE_USE_OPENSSL) +@@ -508,6 +508,14 @@ if(CMAKE_USE_OPENSSL) endif() set(SSL_ENABLED ON) set(USE_OPENSSL ON) diff --git a/tools/cmake/patches/130-bootstrap_parallel_make_flag.patch b/tools/cmake/patches/130-bootstrap_parallel_make_flag.patch index 4d5ed266c4..512765c5af 100644 --- a/tools/cmake/patches/130-bootstrap_parallel_make_flag.patch +++ b/tools/cmake/patches/130-bootstrap_parallel_make_flag.patch @@ -1,6 +1,6 @@ --- a/bootstrap +++ b/bootstrap -@@ -1296,7 +1296,10 @@ int main(){ printf("1%c", (char)0x0a); r +@@ -1397,7 +1397,10 @@ int main(){ printf("1%c", (char)0x0a); r ' > "test.c" cmake_original_make_flags="${cmake_make_flags}" if test "x${cmake_parallel_make}" != "x"; then