bump(main/plutolang): 0.9.0 (#19695)

Co-authored-by: komothecat <71205197+komothecat@users.noreply.github.com>
This commit is contained in:
Komo 2024-04-08 18:17:44 +00:00 committed by GitHub
parent 66f4deaee2
commit b629a45789
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 70 additions and 31 deletions

View File

@ -1,12 +1,12 @@
TERMUX_PKG_HOMEPAGE=https://plutolang.github.io/
TERMUX_PKG_DESCRIPTION="A superset of Lua 5.4, with unique features, optimizations, and improvements"
TERMUX_PKG_LICENSE="MIT"
TERMUX_PKG_MAINTAINER="@termux"
TERMUX_PKG_VERSION="0.8.2"
TERMUX_PKG_MAINTAINER="Komo @cattokomo"
TERMUX_PKG_VERSION="0.9.0"
TERMUX_PKG_SRCURL=https://github.com/PlutoLang/Pluto/archive/refs/tags/${TERMUX_PKG_VERSION}.tar.gz
TERMUX_PKG_SHA256=6d4c1f1348182fd96af43dd7f477c5b51fb793da80f064f9c29ac3ab5dc42854
TERMUX_PKG_SHA256=1401cc2e25c9e8e23c9d30bd4ed83be48d48967a01f0cea3961ecaef4f97be8e
TERMUX_PKG_AUTO_UPDATE=true
TERMUX_PKG_DEPENDS="libc++"
TERMUX_PKG_DEPENDS="libc++,readline"
TERMUX_PKG_BUILD_DEPENDS="readline"
TERMUX_PKG_BUILD_IN_SRC=true
TERMUX_PKG_NO_STATICSPLIT=true
@ -19,7 +19,8 @@ INSTALL_INC=$TERMUX_PREFIX/include/pluto
termux_step_pre_configure() {
CXXFLAGS+=" -std=c++17"
export MYCFLAGS="-fPIC $CXXFLAGS $CPPFLAGS"
export MYLDFLAGS="$LDFLAGS"
export MYLDFLAGS="-fstack-protector-strong $LDFLAGS"
export TERMUX_ARCH
TERMUX_PKG_EXTRA_MAKE_ARGS+=" CXX=$(command -v $CXX)"
}

View File

@ -0,0 +1,17 @@
diff --git a/src/vendor/Soup/Intrin/Makefile b/src/vendor/Soup/Intrin/Makefile
index 5accbf7..7fe2bc5 100644
--- a/src/vendor/Soup/Intrin/Makefile
+++ b/src/vendor/Soup/Intrin/Makefile
@@ -1,10 +1,10 @@
CXX=g++ -std=c++17 -O3 -flto -fvisibility=hidden -fPIC
CFLAGS=-c -Wall
-ifeq ($(shell uname -m),x86_64)
+ifneq (,$(filter $(TERMUX_ARCH),x86_64 i686))
CFLAGS+= -maes -mpclmul -mrdrnd -mrdseed -msha -msse4.1
endif
-ifeq ($(shell uname -m),aarch64)
+ifeq ($(TERMUX_ARCH),aarch64)
CFLAGS+= -march=armv8-a+crypto+crc
endif

View File

@ -0,0 +1,30 @@
diff --git a/src/vendor/Soup/soup/CpuInfo.cpp b/src/vendor/Soup/soup/CpuInfo.cpp
index 4a8d447..55a91de 100644
--- a/src/vendor/Soup/soup/CpuInfo.cpp
+++ b/src/vendor/Soup/soup/CpuInfo.cpp
@@ -5,6 +5,7 @@
#if defined(_MSC_VER) && !defined(__clang__)
#include <intrin.h>
+ #include <immintrin.h>
#else
#include <cpuid.h>
#endif
@@ -71,7 +72,7 @@ namespace soup
#undef EBX
#undef EDX
#undef ECX
-#elif SOUP_ARM
+#elif SOUP_ARM && SOUP_BITS == 64
#if SOUP_WINDOWS
armv8_aes = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE);
armv8_sha1 = IsProcessorFeaturePresent(PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE);
@@ -127,7 +128,7 @@ namespace soup
}
return str;
-#elif SOUP_ARM
+#elif SOUP_ARM && SOUP_BITS == 64
std::string str = "ARMv8 AES: ";
str.append(armv8_aes ? "true" : "false");
str.append("\nARMv8 SHA1: ").append(armv8_sha1 ? "true" : "false");

View File

@ -1,13 +1,13 @@
diff --git a/src/Makefile b/src/Makefile
index 806a9ba..51d755c 100644
index 79a4a86..e53a85a 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -6,7 +6,7 @@
# Your platform. See PLATS for possible values.
PLAT= guess
PLAT=
-CXX= g++ -std=c++17 -O3 -flto -fvisibility=hidden
+CXX?= g++ -std=c++17 -O3 -flto -fvisibility=hidden
-CXX= g++ -std=c++17 -O3 -flto -fvisibility=hidden -fPIC
+CXX?= g++ -std=c++17 -O3 -flto -fvisibility=hidden -fPIC
CXXFLAGS= -Wno-multichar $(SYSCFLAGS) $(MYCFLAGS)
LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS)
LIBS= -lm $(SYSLIBS) $(MYLIBS)
@ -22,38 +22,29 @@ index 806a9ba..51d755c 100644
MYLIBS=-Lvendor/Soup/soup -lsoup -Lvendor/Soup/Intrin -lsoupintrin
MYOBJS=
@@ -38,6 +38,7 @@ CMCFLAGS=
@@ -37,7 +37,7 @@ CMCFLAGS=
PLATS= guess aix bsd freebsd generic linux linux-readline macosx mingw posix solaris
LUA_A= libpluto.a
+LUA_SO= libpluto.so
-LUA_A= libplutostatic.a
+LUA_A= libpluto.a
LUA_SO= libpluto.so
CORE_O= lapi.o lcode.o lctype.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o lundump.o lvm.o lzio.o
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o lcryptolib.o ltablib.o lutf8lib.o lassertlib.o lvector3lib.o lbase32.o lbase64.o ljson.o lurllib.o linit.o
BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS)
@@ -49,7 +50,7 @@ LUAC_T= plutoc
LUAC_O= luac.o
ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O)
-ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
+ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
ALL_A= $(LUA_A)
# Targets start here.
@@ -67,6 +68,13 @@ $(LUA_A): $(BASE_O)
$(AR) $@ $(BASE_O)
LIB_O= lauxlib.o lbaselib.o lcorolib.o ldblib.o liolib.o lmathlib.o loadlib.o loslib.o lstrlib.o lcryptolib.o ltablib.o lutf8lib.o lassertlib.o lvector3lib.o lbase32.o lbase64.o ljson.o lurllib.o linit.o lstarlib.o lcatlib.o lhttplib.o lschedulerlib.o lsocketlib.o lbigint.o lxml.o
@@ -68,8 +68,10 @@ $(LUA_A): $(BASE_O)
$(AR) $@ $(BASE_O) vendor/Soup/Intrin/*.o vendor/Soup/soup/*.o
$(RANLIB) $@
-$(LUA_SO): $(BASE_O) $(LUA_A)
- $(CXX) -shared -Wl,-soname,$(LUA_SO) -o $@ $? ${LIBS}
+$(LUA_SO): $(BASE_O)
+ cd vendor/Soup/Intrin && $(MAKE) && cd ../..
+ cd vendor/Soup/soup && $(MAKE) && cd ../..
+ $(CXX) -shared -ldl -o $@.$(R) $? -lm $(MYLDFLAGS)
+ $(CXX) -shared -fPIC -ldl -o $@.$(R) $? $(MYLDFLAGS)
+ ln -sf $(LUA_SO).$(R) $(LUA_SO).$(V)
+ ln -sf $(LUA_SO).$(R) $(LUA_SO)
+
$(LUA_T): $(LUA_O) $(LUA_A)
$(CXX) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS)
@@ -118,7 +126,7 @@ FreeBSD NetBSD OpenBSD freebsd:
@@ -122,7 +124,7 @@ FreeBSD NetBSD OpenBSD freebsd:
generic: $(ALL)