On Sun, 2017-02-05 at 21:31 +0530, Ritesh Raj Sarraf wrote:
> On Sun, 2017-02-05 at 21:18 +0530, Ritesh Raj Sarraf wrote:
> > I am willing to extend the build to lua, but I need help here. My knowledge
> > of
> > Lua is limited and it'd help if, someone more knowledgeable on the topic,
> > takes
> > the task of extending FindLuaJIT.cmake to include Lua.
> 
> I got it to like Lua 5.3, but I still have some (hopefully minor) build
> failures. Still investigating.

I'm going to give up further, and instead look up to you guys. Attached patch is
my attempt at extending it to support Lua.

I'll also clean up the experimental branch and push it in its current state
(fails to build).


-- 
Ritesh Raj Sarraf | http://people.debian.org/~rrs
Debian - The Universal Operating System
Extend support to Lua
Index: bpfcc/cmake/FindLuaJIT.cmake
===================================================================
--- bpfcc.orig/cmake/FindLuaJIT.cmake	2017-02-05 21:58:25.386114899 +0530
+++ bpfcc/cmake/FindLuaJIT.cmake	2017-02-05 21:58:25.382781534 +0530
@@ -31,7 +31,7 @@
 FIND_PATH(LUAJIT_INCLUDE_DIR lua.h
   HINTS
   $ENV{LUAJIT_DIR}
-  PATH_SUFFIXES include/luajit-2.0 include/luajit2.0 include/luajit include
+  PATH_SUFFIXES include/lua5.3 include/luajit-2.0 include/luajit2.0 include/luajit include
   PATHS
   ~/Library/Frameworks
   /Library/Frameworks
@@ -44,7 +44,7 @@
 )
 
 FIND_LIBRARY(LUAJIT_LIBRARY
-  NAMES libluajit-51.a libluajit-5.1.a libluajit.a
+  NAMES liblua5.3.a libluajit-51.a libluajit-5.1.a libluajit.a
   HINTS
   $ENV{LUAJIT_DIR}
   PATH_SUFFIXES lib64 lib
Index: bpfcc/src/lua/CMakeLists.txt
===================================================================
--- bpfcc.orig/src/lua/CMakeLists.txt	2017-02-05 21:58:25.386114899 +0530
+++ bpfcc/src/lua/CMakeLists.txt	2017-02-05 21:59:10.958086335 +0530
@@ -1,5 +1,6 @@
 find_package(LuaJIT)
 find_program(LUAJIT luajit)
+find_program(LUA53 lua5.3)
 
 if (LUAJIT_LIBRARIES AND LUAJIT)
 	FILE(GLOB_RECURSE SRC_LUA
@@ -18,6 +19,30 @@
 		DEPENDS bcc.lua
 	)
 
+	include_directories(${LUAJIT_INCLUDE_DIR})
+	add_executable(bcc-lua src/main.c bcc.o)
+	set_target_properties(bcc-lua PROPERTIES LINKER_LANGUAGE C)
+	target_link_libraries(bcc-lua ${LUAJIT_LIBRARIES})
+	target_link_libraries(bcc-lua -Wl,--whole-archive bcc-static -Wl,--no-whole-archive)
+
+	install(TARGETS bcc-lua RUNTIME DESTINATION bin)
+elseif (LUAJIT_LIBRARIES AND LUA53)
+	FILE(GLOB_RECURSE SRC_LUA
+		${CMAKE_CURRENT_SOURCE_DIR}/bcc/*.lua
+		${CMAKE_CURRENT_SOURCE_DIR}/bcc/vendor/*.lua)
+
+	ADD_CUSTOM_COMMAND(
+		OUTPUT bcc.lua
+                COMMAND ${LUA53} ${CMAKE_CURRENT_SOURCE_DIR}/src/squish.lua ${CMAKE_CURRENT_SOURCE_DIR}
+		DEPENDS ${SRC_LUA} ${CMAKE_CURRENT_SOURCE_DIR}/squishy
+	)
+
+	ADD_CUSTOM_COMMAND(
+		OUTPUT bcc.o
+                COMMAND ${LUA53} bcc.lua bcc.o
+		DEPENDS bcc.lua
+	)
+
 	include_directories(${LUAJIT_INCLUDE_DIR})
 	add_executable(bcc-lua src/main.c bcc.o)
 	set_target_properties(bcc-lua PROPERTIES LINKER_LANGUAGE C)

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to