From b524fe6513abd431949c3391ca40c92a066f0a9b Mon Sep 17 00:00:00 2001 From: Walter Schell Date: Tue, 30 Jun 2020 09:29:24 -0400 Subject: [PATCH] Updated everything to 5.4.0 --- CMakeLists.txt | 2 + lua-5.4.0/CMakeLists.txt | 86 ++++++++++++++++------------ lua-5.4.0/{src => include}/lauxlib.h | 0 lua-5.4.0/{src => include}/lua.h | 0 lua-5.4.0/{src => include}/luaconf.h | 0 lua-5.4.0/{src => include}/lualib.h | 0 6 files changed, 51 insertions(+), 37 deletions(-) rename lua-5.4.0/{src => include}/lauxlib.h (100%) rename lua-5.4.0/{src => include}/lua.h (100%) rename lua-5.4.0/{src => include}/luaconf.h (100%) rename lua-5.4.0/{src => include}/lualib.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index e9b7cac..96d9d05 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.1) project(lua LANGUAGES C VERSION 5.4.0) +option(LUA_SUPPORT_DL "Support dynamic loading of compiled modules" OFF) + if(${PROJECT_NAME} STREQUAL ${CMAKE_PROJECT_NAME}) set(TOP_LEVEL TRUE) else() diff --git a/lua-5.4.0/CMakeLists.txt b/lua-5.4.0/CMakeLists.txt index 7c7c9e1..d80b4b3 100644 --- a/lua-5.4.0/CMakeLists.txt +++ b/lua-5.4.0/CMakeLists.txt @@ -1,49 +1,53 @@ set(LUA_LIB_SRCS - ${CMAKE_CURRENT_SOURCE_DIR}/src/lapi.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lcode.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lctype.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/ldebug.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/ldo.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/ldump.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lfunc.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lgc.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/llex.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lmem.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lobject.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lopcodes.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lparser.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lstate.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lstring.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/ltable.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/ltm.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lundump.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lvm.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lzio.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lauxlib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lbaselib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lcorolib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/ldblib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/liolib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lmathlib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/loadlib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/loslib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lstrlib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/ltablib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/lutf8lib.c - ${CMAKE_CURRENT_SOURCE_DIR}/src/linit.c + "src/lapi.c" + "src/lcode.c" + "src/lctype.c" + "src/ldebug.c" + "src/ldo.c" + "src/ldump.c" + "src/lfunc.c" + "src/lgc.c" + "src/llex.c" + "src/lmem.c" + "src/lobject.c" + "src/lopcodes.c" + "src/lparser.c" + "src/lstate.c" + "src/lstring.c" + "src/ltable.c" + "src/ltm.c" + "src/lundump.c" + "src/lvm.c" + "src/lzio.c" + "src/lauxlib.c" + "src/lbaselib.c" + "src/lcorolib.c" + "src/ldblib.c" + "src/liolib.c" + "src/lmathlib.c" + "src/loadlib.c" + "src/loslib.c" + "src/lstrlib.c" + "src/ltablib.c" + "src/lutf8lib.c" + "src/linit.c" ) -set(LUA_LIB_INCLUDE ${CMAKE_CURRENT_SOURCE_DIR}/src) #TODO: Redo this with find_package find_library(LIBM m) if(NOT LIBM) message(FATAL_ERROR "libm not found and requred by lua") endif() add_library(lua_static STATIC ${LUA_LIB_SRCS}) +set_target_properties(lua_static PROPERTIES OUTPUT_NAME "lua") target_link_libraries(lua_static INTERFACE ${LIBM}) -target_include_directories(lua_static PUBLIC ${LUA_LIB_INCLUDE}) +target_include_directories(lua_static PUBLIC "include") set(LUA_DEFINITIONS) -if(NOT EMSCRIPTEN) +if(UNIX) list(APPEND LUA_DEFINITIONS LUA_USE_POSIX) + if(LUA_SUPPORT_DL) + target_compile_definitions(lua_static PRIVATE "LUA_USE_DLOPEN") + target_link_libraries(lua_static INTERFACE dl) + endif() endif() target_compile_definitions(lua_static PUBLIC ${LUA_DEFINITIONS} @@ -53,14 +57,22 @@ target_compile_options(lua_static ) if(LUA_BUILD_BINARY) - add_executable(lua ${CMAKE_CURRENT_SOURCE_DIR}/src/lua.c) + include(CheckIncludeFile) + CHECK_INCLUDE_FILE("readline/readline.h" HAVE_READLINE_READLINE_H) + + + add_executable(lua "src/lua.c") target_link_libraries(lua PUBLIC lua_static) set_target_properties(lua PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} ) + if (HAVE_READLINE_READLINE_H) + target_compile_definitions(lua PUBLIC "LUA_USE_READLINE") + target_link_libraries(lua PUBLIC readline) + endif() endif() if(LUA_BUILD_COMPILER) - add_executable(luac ${CMAKE_CURRENT_SOURCE_DIR}/src/luac.c) + add_executable(luac "src/luac.c") target_link_libraries(luac PUBLIC lua_static) set_target_properties(luac PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR} diff --git a/lua-5.4.0/src/lauxlib.h b/lua-5.4.0/include/lauxlib.h similarity index 100% rename from lua-5.4.0/src/lauxlib.h rename to lua-5.4.0/include/lauxlib.h diff --git a/lua-5.4.0/src/lua.h b/lua-5.4.0/include/lua.h similarity index 100% rename from lua-5.4.0/src/lua.h rename to lua-5.4.0/include/lua.h diff --git a/lua-5.4.0/src/luaconf.h b/lua-5.4.0/include/luaconf.h similarity index 100% rename from lua-5.4.0/src/luaconf.h rename to lua-5.4.0/include/luaconf.h diff --git a/lua-5.4.0/src/lualib.h b/lua-5.4.0/include/lualib.h similarity index 100% rename from lua-5.4.0/src/lualib.h rename to lua-5.4.0/include/lualib.h