From ccfdc9440aa2d89b9e6d72f1fdf41be11d062a4a Mon Sep 17 00:00:00 2001 From: ykxpb Date: Thu, 22 Sep 2022 14:51:04 +0800 Subject: [PATCH] Revert lua makefile of "update lua" (#1652) This reverts commit dfc706615e585713ecf9384f7a3cb71ed72dca6b. Co-authored-by: yy151474 --- 3rd/lua/makefile | 227 +++++++++++++++++++++++++---------------------- Makefile | 2 +- 2 files changed, 123 insertions(+), 106 deletions(-) diff --git a/3rd/lua/makefile b/3rd/lua/makefile index a56359b9..fd5caf14 100644 --- a/3rd/lua/makefile +++ b/3rd/lua/makefile @@ -1,140 +1,159 @@ -# Developer's makefile for building Lua -# see luaconf.h for further customization +# Makefile for building Lua +# See ../doc/readme.html for installation and customization instructions. # == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT ======================= -# Warnings valid for both C and C++ -CWARNSCPP= \ - -Wfatal-errors \ - -Wextra \ - -Wshadow \ - -Wsign-compare \ - -Wundef \ - -Wwrite-strings \ - -Wredundant-decls \ - -Wdisabled-optimization \ - -Wdouble-promotion \ - -Wmissing-declarations \ - # the next warnings might be useful sometimes, - # but usually they generate too much noise - # -Werror \ - # -pedantic # warns if we use jump tables \ - # -Wconversion \ - # -Wsign-conversion \ - # -Wstrict-overflow=2 \ - # -Wformat=2 \ - # -Wcast-qual \ +# Your platform. See PLATS for possible values. +PLAT= guess +CC= gcc -std=gnu99 +CFLAGS= -O2 -Wall -Wextra $(SYSCFLAGS) $(MYCFLAGS) +LDFLAGS= $(SYSLDFLAGS) $(MYLDFLAGS) +LIBS= -lm $(SYSLIBS) $(MYLIBS) -# Warnings for gcc, not valid for clang -CWARNGCC= \ - -Wlogical-op \ - -Wno-aggressive-loop-optimizations \ - - -# The next warnings are neither valid nor needed for C++ -CWARNSC= -Wdeclaration-after-statement \ - -Wmissing-prototypes \ - -Wnested-externs \ - -Wstrict-prototypes \ - -Wc++-compat \ - -Wold-style-definition \ - - -CWARNS= $(CWARNSCPP) $(CWARNSC) $(CWARNGCC) - -# Some useful compiler options for internal tests: -# -DLUAI_ASSERT turns on all assertions inside Lua. -# -DHARDSTACKTESTS forces a reallocation of the stack at every point where -# the stack can be reallocated. -# -DHARDMEMTESTS forces a full collection at all points where the collector -# can run. -# -DEMERGENCYGCTESTS forces an emergency collection at every single allocation. -# -DEXTERNMEMCHECK removes internal consistency checking of blocks being -# deallocated (useful when an external tool like valgrind does the check). -# -DMAXINDEXRK=k limits range of constants in RK instruction operands. -# -DLUA_COMPAT_5_3 - -# -pg -malign-double -# -DLUA_USE_CTYPE -DLUA_USE_APICHECK -# ('-ftrapv' for runtime checks of integer overflows) -# -fsanitize=undefined -ftrapv -fno-inline -# TESTS= -DLUA_USER_H='"ltests.h"' -O0 -g - - -LOCAL = $(TESTS) $(CWARNS) - - -# enable Linux goodies -MYCFLAGS= $(LOCAL) -std=c99 -DLUA_USE_LINUX -I../../skynet-src -MYLDFLAGS= $(LOCAL) -Wl,-E -MYLIBS= -ldl - - -CC= gcc -CFLAGS= -Wall -O2 $(MYCFLAGS) -fno-stack-protector -fno-common -march=native -AR= ar rc +AR= ar rcu RANLIB= ranlib RM= rm -f +UNAME= uname +SYSCFLAGS= +SYSLDFLAGS= +SYSLIBS= -# == END OF USER SETTINGS. NO NEED TO CHANGE ANYTHING BELOW THIS LINE ========= +MYCFLAGS=-I../../skynet-src -g +MYLDFLAGS= +MYLIBS= +MYOBJS= +# Special flags for compiler modules; -Os reduces code size. +CMCFLAGS= -LIBS = -lm +# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE ======= -CORE_T= liblua.a -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 ltests.o -AUX_O= lauxlib.o -LIB_O= lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o lstrlib.o \ - lutf8lib.o loadlib.o lcorolib.o linit.o +PLATS= guess aix bsd c89 freebsd generic linux linux-readline macosx mingw posix solaris + +LUA_A= liblua.a +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 ltablib.o lutf8lib.o linit.o +BASE_O= $(CORE_O) $(LIB_O) $(MYOBJS) LUA_T= lua LUA_O= lua.o +LUAC_T= luac +LUAC_O= luac.o -ALL_T= $(CORE_T) $(LUA_T) -ALL_O= $(CORE_O) $(LUA_O) $(AUX_O) $(LIB_O) -ALL_A= $(CORE_T) +ALL_O= $(BASE_O) $(LUA_O) $(LUAC_O) +ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) +ALL_A= $(LUA_A) + +# Targets start here. +default: $(PLAT) all: $(ALL_T) - touch all o: $(ALL_O) a: $(ALL_A) -$(CORE_T): $(CORE_O) $(AUX_O) $(LIB_O) - $(AR) $@ $? +$(LUA_A): $(BASE_O) + $(AR) $@ $(BASE_O) $(RANLIB) $@ -$(LUA_T): $(LUA_O) $(CORE_T) - $(CC) -o $@ $(MYLDFLAGS) $(LUA_O) $(CORE_T) $(LIBS) $(MYLIBS) $(DL) +$(LUA_T): $(LUA_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUA_O) $(LUA_A) $(LIBS) +$(LUAC_T): $(LUAC_O) $(LUA_A) + $(CC) -o $@ $(LDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS) + +test: + ./$(LUA_T) -v clean: $(RM) $(ALL_T) $(ALL_O) depend: - @$(CC) $(CFLAGS) -MM *.c + @$(CC) $(CFLAGS) -MM l*.c echo: - @echo "CC = $(CC)" - @echo "CFLAGS = $(CFLAGS)" - @echo "AR = $(AR)" - @echo "RANLIB = $(RANLIB)" - @echo "RM = $(RM)" - @echo "MYCFLAGS = $(MYCFLAGS)" - @echo "MYLDFLAGS = $(MYLDFLAGS)" - @echo "MYLIBS = $(MYLIBS)" - @echo "DL = $(DL)" + @echo "PLAT= $(PLAT)" + @echo "CC= $(CC)" + @echo "CFLAGS= $(CFLAGS)" + @echo "LDFLAGS= $(LDFLAGS)" + @echo "LIBS= $(LIBS)" + @echo "AR= $(AR)" + @echo "RANLIB= $(RANLIB)" + @echo "RM= $(RM)" + @echo "UNAME= $(UNAME)" -$(ALL_O): makefile ltests.h +# Convenience targets for popular platforms. +ALL= all -# DO NOT EDIT -# automatically made with 'gcc -MM l*.c' +help: + @echo "Do 'make PLATFORM' where PLATFORM is one of these:" + @echo " $(PLATS)" + @echo "See doc/readme.html for complete instructions." + +guess: + @echo Guessing `$(UNAME)` + @$(MAKE) `$(UNAME)` + +AIX aix: + $(MAKE) $(ALL) CC="xlc" CFLAGS="-O2 -DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-ldl" SYSLDFLAGS="-brtl -bexpall" + +bsd: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN" SYSLIBS="-Wl,-E" + +c89: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_C89" CC="gcc -std=c89" + @echo '' + @echo '*** C89 does not guarantee 64-bit integers for Lua.' + @echo '*** Make sure to compile all external Lua libraries' + @echo '*** with LUA_USE_C89 to ensure consistency' + @echo '' + +FreeBSD NetBSD OpenBSD freebsd: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE -I/usr/include/edit" SYSLIBS="-Wl,-E -ledit" CC="cc" + +generic: $(ALL) + +Linux linux: linux-noreadline + +linux-noreadline: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl" + +linux-readline: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX -DLUA_USE_READLINE" SYSLIBS="-Wl,-E -ldl -lreadline" + +Darwin macos macosx: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_MACOSX -DLUA_USE_READLINE" SYSLIBS="-lreadline" + +mingw: + $(MAKE) "LUA_A=lua54.dll" "LUA_T=lua.exe" \ + "AR=$(CC) -shared -o" "RANLIB=strip --strip-unneeded" \ + "SYSCFLAGS=-DLUA_BUILD_AS_DLL" "SYSLIBS=" "SYSLDFLAGS=-s" lua.exe + $(MAKE) "LUAC_T=luac.exe" luac.exe + +posix: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX" + +SunOS solaris: + $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_POSIX -DLUA_USE_DLOPEN -D_REENTRANT" SYSLIBS="-ldl" + +# Targets that do not create files (not all makes understand .PHONY). +.PHONY: all $(PLATS) help test clean default o a depend echo + +# Compiler modules may use special flags. +llex.o: + $(CC) $(CFLAGS) $(CMCFLAGS) -c llex.c + +lparser.o: + $(CC) $(CFLAGS) $(CMCFLAGS) -c lparser.c + +lcode.o: + $(CC) $(CFLAGS) $(CMCFLAGS) -c lcode.c + +# DO NOT DELETE lapi.o: lapi.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ lobject.h ltm.h lzio.h lmem.h ldebug.h ldo.h lfunc.h lgc.h lstring.h \ @@ -185,13 +204,11 @@ lstrlib.o: lstrlib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h ltable.o: ltable.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ llimits.h ltm.h lzio.h lmem.h ldo.h lgc.h lstring.h ltable.h lvm.h ltablib.o: ltablib.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h -ltests.o: ltests.c lprefix.h lua.h luaconf.h lapi.h llimits.h lstate.h \ - lobject.h ltm.h lzio.h lmem.h lauxlib.h lcode.h llex.h lopcodes.h \ - lparser.h lctype.h ldebug.h ldo.h lfunc.h lopnames.h lstring.h lgc.h \ - ltable.h lualib.h ltm.o: ltm.c lprefix.h lua.h luaconf.h ldebug.h lstate.h lobject.h \ llimits.h ltm.h lzio.h lmem.h ldo.h lgc.h lstring.h ltable.h lvm.h lua.o: lua.c lprefix.h lua.h luaconf.h lauxlib.h lualib.h +luac.o: luac.c lprefix.h lua.h luaconf.h lauxlib.h ldebug.h lstate.h \ + lobject.h llimits.h ltm.h lzio.h lmem.h lopcodes.h lopnames.h lundump.h lundump.o: lundump.c lprefix.h lua.h luaconf.h ldebug.h lstate.h \ lobject.h llimits.h ltm.h lzio.h lmem.h ldo.h lfunc.h lstring.h lgc.h \ lundump.h diff --git a/Makefile b/Makefile index 95a299d6..337ed3e6 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ LUA_LIB ?= $(LUA_STATICLIB) LUA_INC ?= 3rd/lua $(LUA_STATICLIB) : - cd 3rd/lua && $(MAKE) CC='$(CC) -std=gnu99' + cd 3rd/lua && $(MAKE) CC='$(CC) -std=gnu99' $(PLAT) # https : turn on TLS_MODULE to add https support