[vlpp] fix to support ARM on unix (#24191)

* [vlpp] does not support osx arm

* fix ARM, rather than just marking !supports

* add license

* ughhhh lack of malloc

Co-authored-by: nicole mazzuca <mazzucan@outlook.com>
This commit is contained in:
autoantwort 2022-04-19 06:04:15 +02:00 committed by GitHub
parent 97b723c346
commit 239bf76101
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 44 additions and 3 deletions

34
ports/vlpp/fix-arm.patch Normal file
View File

@ -0,0 +1,34 @@
--- a/Import/Vlpp.h
+++ b/Import/Vlpp.h
@@ -50,13 +50,12 @@
#define abstract
#endif
-
+#include <stdlib.h>
#if defined VCZH_MSVC
#include <intrin.h>
#elif defined VCZH_GCC
-#include <x86intrin.h>
#include <stdint.h>
#include <stddef.h>
#include <wchar.h>
#define abstract
#define __thiscall
#define __forceinline inline
@@ -160,14 +159,14 @@
#define UI64TOA_S _ui64toa_s
#define UI64TOW_S _ui64tow_s
#if defined VCZH_MSVC
#define INCRC(x) (_InterlockedIncrement((volatile long*)(x)))
#define DECRC(x) (_InterlockedDecrement((volatile long*)(x)))
#elif defined VCZH_GCC
-#define INCRC(x) (__sync_add_and_fetch(x, 1))
-#define DECRC(x) (__sync_sub_and_fetch(x, 1))
+#define INCRC(x) (__atomic_add_fetch(x, 1, __ATOMIC_SEQ_CST))
+#define DECRC(x) (__atomic_sub_fetch(x, 1, __ATOMIC_SEQ_CST))
#endif
#endif
/***********************************************************************
Basic Types
***********************************************************************/

View File

@ -6,6 +6,7 @@ vcpkg_from_github(
REF 5dfe25c4f4997da2d7a23bdc80c2438e72d9813a # 0.11.0.0
SHA512 5d585e561246385b074c625a3644b79defa22328dab0ab14112c846cb917f384abb617a5f400971ca29e4ee5ac391b88b17ee65d594caf9ebf279806db669a4a
HEAD_REF master
PATCHES fix-arm.patch
)
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")

View File

@ -1,9 +1,10 @@
{
"name": "vlpp",
"version-string": "0.11.0.0",
"port-version": 2,
"version": "0.11.0.0",
"port-version": 3,
"description": "Common C++ construction, including string operation / generic container / linq / General-LR parser generator / multithreading / reflection for C++ / etc",
"homepage": "https://github.com/vczh-libraries/Release",
"license": null,
"dependencies": [
{
"name": "vcpkg-cmake",

View File

@ -7366,7 +7366,7 @@
},
"vlpp": {
"baseline": "0.11.0.0",
"port-version": 2
"port-version": 3
},
"volk": {
"baseline": "1.3.204",

View File

@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "b4f56db04c13b5bf335e4e5939617596e15e89ac",
"version": "0.11.0.0",
"port-version": 3
},
{
"git-tree": "cfa763a8d53142b93748fde4a578ddbd95431ac2",
"version-string": "0.11.0.0",