Skip to content

Commit e0b5143

Browse files
author
Alex D
committed
initial commit
0 parents  commit e0b5143

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+36988
-0
lines changed

CMakeLists.txt

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
cmake_minimum_required (VERSION 2.8 FATAL_ERROR)
2+
3+
if(NOT EXECUTABLE_OUTPUT_PATH)
4+
set(FIRST_RUN "TRUE")
5+
endif()
6+
7+
#-----------------------------------------------------------------------------
8+
# Initialize project.
9+
10+
project (TypeScriptLUA)
11+
12+
add_subdirectory (lua)

lua/CMakeLists.txt

+98
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
cmake_minimum_required (VERSION 2.8 FATAL_ERROR)
2+
3+
project (lua)
4+
5+
SET(CWARNSCPP
6+
-Wextra
7+
-Wshadow
8+
-Wsign-compare
9+
-Wundef
10+
-Wwrite-strings
11+
-Wredundant-decls
12+
-Wdisabled-optimization
13+
-Wdouble-promotion
14+
-Wstrict-aliasing=3
15+
-Wno-aggressive-loop-optimizations
16+
-Wlogical-op
17+
-Werror
18+
)
19+
20+
# The next warnings are neither valid nor needed for C++
21+
SET(CWARNSC
22+
-Wdeclaration-after-statement
23+
-Wmissing-prototypes
24+
-Wnested-externs
25+
-Wstrict-prototypes
26+
-Wc++-compat
27+
-Wold-style-definition
28+
)
29+
30+
if (MSVC)
31+
SET(MYCFLAGS "/DLUA_USE_WINDOWS")
32+
33+
SET(BUILD_ARCH "win32")
34+
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /EHsc /DDEBUG /wd4250 /wd4200 /wd4291 /wd4996 /wd4800 /MP8 /bigobj")
35+
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Ox /EHsc /wd4250 /wd4200 /wd4291 /wd4996 /wd4800 /MP8 /bigobj")
36+
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${MYCFLAGS}")
37+
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${MYCFLAGS}")
38+
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ignore:4006 /ignore:4049 /ignore:4217")
39+
else()
40+
if (CMAKE_SYSTEM_NAME STREQUAL "Android")
41+
SET(MYCFLAGS "-DLUA_USE_LINUX")
42+
SET(MYLIBS dl m)
43+
44+
SET(EXTRA_CXX_FLAGS "${CWARNSCPP}")
45+
SET(EXTRA_C_FLAGS "${CWARNSC}")
46+
SET(BUILD_ARCH "vs_android")
47+
48+
elseif (CMAKE_SYSTEM_NAME STREQUAL "Windows")
49+
SET(MYCFLAGS "-DLUA_USE_WINDOWS")
50+
SET(MYLIBS )
51+
52+
SET(EXTRA_CXX_FLAGS "${CWARNSCPP}")
53+
SET(EXTRA_C_FLAGS "${CWARNSC}")
54+
SET(BUILD_ARCH "mingw32")
55+
else()
56+
#SET(MYCFLAGS "-DLUA_USE_LINUX -DLUA_USE_READLINE")
57+
#SET(MYLIBS dl m readline)
58+
SET(MYCFLAGS "-DLUA_USE_LINUX")
59+
SET(MYLIBS dl m)
60+
61+
SET(EXTRA_CXX_FLAGS "${CWARNSCPP}")
62+
SET(EXTRA_C_FLAGS "${CWARNSC}")
63+
SET(BUILD_ARCH "linux")
64+
endif()
65+
66+
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${EXTRA_CXX_FLAGS}")
67+
SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wall -O2 ${EXTRA_CXX_FLAGS} -Wfatal-errors -fno-stack-protector -fno-common")
68+
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${EXTRA_C_FLAGS}")
69+
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wall -O2 -${EXTRA_C_FLAGS} -Wfatal-errors -fno-stack-protector -fno-common")
70+
endif()
71+
72+
file(GLOB CORE_SRC
73+
"${PROJECT_SOURCE_DIR}/src/*.c"
74+
)
75+
76+
file(GLOB LUA_SRC
77+
"${PROJECT_SOURCE_DIR}/src/lua.c"
78+
)
79+
80+
file(GLOB LUAC_SRC
81+
"${PROJECT_SOURCE_DIR}/src/luac.c"
82+
)
83+
84+
get_filename_component(full_path_lbitlib_c ${PROJECT_SOURCE_DIR}/src/lbitlib.c ABSOLUTE)
85+
list(REMOVE_ITEM CORE_SRC "${full_path_lbitlib_c}")
86+
get_filename_component(full_path_lua_c ${PROJECT_SOURCE_DIR}/src/lua.c ABSOLUTE)
87+
list(REMOVE_ITEM CORE_SRC "${full_path_lua_c}")
88+
get_filename_component(full_path_luac_c ${PROJECT_SOURCE_DIR}/src/luac.c ABSOLUTE)
89+
list(REMOVE_ITEM CORE_SRC "${full_path_luac_c}")
90+
91+
add_library (core ${LUA_SRC} ${CORE_SRC})
92+
target_link_libraries (lua ${MYLIBS})
93+
add_executable (lua ${LUA_SRC})
94+
target_link_libraries (lua core)
95+
add_executable (luac ${LUAC_SRC})
96+
target_link_libraries (luac core)
97+
98+

lua/Makefile

+114
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
# Makefile for installing Lua
2+
# See doc/readme.html for installation and customization instructions.
3+
4+
# == CHANGE THE SETTINGS BELOW TO SUIT YOUR ENVIRONMENT =======================
5+
6+
# Your platform. See PLATS for possible values.
7+
PLAT= none
8+
9+
# Where to install. The installation starts in the src and doc directories,
10+
# so take care if INSTALL_TOP is not an absolute path. See the local target.
11+
# You may want to make INSTALL_LMOD and INSTALL_CMOD consistent with
12+
# LUA_ROOT, LUA_LDIR, and LUA_CDIR in luaconf.h.
13+
INSTALL_TOP= /usr/local
14+
INSTALL_BIN= $(INSTALL_TOP)/bin
15+
INSTALL_INC= $(INSTALL_TOP)/include
16+
INSTALL_LIB= $(INSTALL_TOP)/lib
17+
INSTALL_MAN= $(INSTALL_TOP)/man/man1
18+
INSTALL_LMOD= $(INSTALL_TOP)/share/lua/$V
19+
INSTALL_CMOD= $(INSTALL_TOP)/lib/lua/$V
20+
21+
# How to install. If your install program does not support "-p", then
22+
# you may have to run ranlib on the installed liblua.a.
23+
INSTALL= install -p
24+
INSTALL_EXEC= $(INSTALL) -m 0755
25+
INSTALL_DATA= $(INSTALL) -m 0644
26+
#
27+
# If you don't have "install" you can use "cp" instead.
28+
# INSTALL= cp -p
29+
# INSTALL_EXEC= $(INSTALL)
30+
# INSTALL_DATA= $(INSTALL)
31+
32+
# Other utilities.
33+
MKDIR= mkdir -p
34+
RM= rm -f
35+
36+
# == END OF USER SETTINGS -- NO NEED TO CHANGE ANYTHING BELOW THIS LINE =======
37+
38+
# Convenience platforms targets.
39+
PLATS= aix bsd c89 freebsd generic linux macosx mingw posix solaris
40+
41+
# What to install.
42+
TO_BIN= lua luac
43+
TO_INC= lua.h luaconf.h lualib.h lauxlib.h lua.hpp
44+
TO_LIB= liblua.a
45+
TO_MAN= lua.1 luac.1
46+
47+
# Lua version and release.
48+
V= 5.3
49+
R= $V.4
50+
51+
# Targets start here.
52+
all: $(PLAT)
53+
54+
$(PLATS) clean:
55+
cd src && $(MAKE) $@
56+
57+
test: dummy
58+
src/lua -v
59+
60+
install: dummy
61+
cd src && $(MKDIR) $(INSTALL_BIN) $(INSTALL_INC) $(INSTALL_LIB) $(INSTALL_MAN) $(INSTALL_LMOD) $(INSTALL_CMOD)
62+
cd src && $(INSTALL_EXEC) $(TO_BIN) $(INSTALL_BIN)
63+
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
64+
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
65+
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
66+
67+
uninstall:
68+
cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
69+
cd src && cd $(INSTALL_INC) && $(RM) $(TO_INC)
70+
cd src && cd $(INSTALL_LIB) && $(RM) $(TO_LIB)
71+
cd doc && cd $(INSTALL_MAN) && $(RM) $(TO_MAN)
72+
73+
local:
74+
$(MAKE) install INSTALL_TOP=../install
75+
76+
none:
77+
@echo "Please do 'make PLATFORM' where PLATFORM is one of these:"
78+
@echo " $(PLATS)"
79+
@echo "See doc/readme.html for complete instructions."
80+
81+
# make may get confused with test/ and install/
82+
dummy:
83+
84+
# echo config parameters
85+
echo:
86+
@cd src && $(MAKE) -s echo
87+
@echo "PLAT= $(PLAT)"
88+
@echo "V= $V"
89+
@echo "R= $R"
90+
@echo "TO_BIN= $(TO_BIN)"
91+
@echo "TO_INC= $(TO_INC)"
92+
@echo "TO_LIB= $(TO_LIB)"
93+
@echo "TO_MAN= $(TO_MAN)"
94+
@echo "INSTALL_TOP= $(INSTALL_TOP)"
95+
@echo "INSTALL_BIN= $(INSTALL_BIN)"
96+
@echo "INSTALL_INC= $(INSTALL_INC)"
97+
@echo "INSTALL_LIB= $(INSTALL_LIB)"
98+
@echo "INSTALL_MAN= $(INSTALL_MAN)"
99+
@echo "INSTALL_LMOD= $(INSTALL_LMOD)"
100+
@echo "INSTALL_CMOD= $(INSTALL_CMOD)"
101+
@echo "INSTALL_EXEC= $(INSTALL_EXEC)"
102+
@echo "INSTALL_DATA= $(INSTALL_DATA)"
103+
104+
# echo pkg-config data
105+
pc:
106+
@echo "version=$R"
107+
@echo "prefix=$(INSTALL_TOP)"
108+
@echo "libdir=$(INSTALL_LIB)"
109+
@echo "includedir=$(INSTALL_INC)"
110+
111+
# list targets that do not create files (but not all makes understand .PHONY)
112+
.PHONY: all $(PLATS) clean test install local none dummy echo pecho lecho
113+
114+
# (end of Makefile)

lua/README

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
2+
This is Lua 5.3.5, released on 26 Jun 2018.
3+
4+
For installation instructions, license details, and
5+
further information about Lua, see doc/readme.html.
6+

0 commit comments

Comments
 (0)