]> xenbits.xensource.com Git - unikraft/libs/lua.git/commitdiff
Add optional main()
authorFelipe Huici <felipe.huici@neclab.eu>
Wed, 16 Oct 2019 09:44:54 +0000 (11:44 +0200)
committerFelipe Huici <felipe.huici@neclab.eu>
Wed, 20 Nov 2019 08:59:57 +0000 (09:59 +0100)
We add a menu option to provide a main() function, and set it to on by
default so that in the standard case a user can choose a platform,
compile and run.

Signed-off-by: Felipe Huici <felipe.huici@neclab.eu>
Reviewed-by: Roxana Nicolescu <nicolescu.roxana1996@gmail.com>
Config.uk
Makefile.uk
main.c [new file with mode: 0644]

index b8beab287a3eefb391067202b900266a41a29fe6..bad29fd51731769a29143fc8670fe0f376285989 100644 (file)
--- a/Config.uk
+++ b/Config.uk
@@ -6,7 +6,7 @@ menuconfig LIBLUA
         select UKUNISTD
 
 if LIBLUA
-       config LIBLUA_MAIN_FUNCTION
-                       bool "Provide main function"
-               default y
+   config LIBLUA_MAIN_FUNCTION
+       bool "Provide main function"
+       default y
 endif
index 6768de37b759171aec0df4c6cd58618a27deb3c8..9251ff20553a7d2204b663a9587d5350b2f76bda 100644 (file)
@@ -32,11 +32,24 @@ CXXINCLUDES-$(CONFIG_LIBLUA) += -I$(LIBLUA_BUILD)/include
 LIBLUA_CINCLUDES-y += -I$(LIBLUA_SRCS_BASE)
 
 ################################################################################
-# Compilation unit
+# Glue code
 ################################################################################
-LIBLUA_CFLAGS-y += -DLUA_COMPAT_5_2
+LIBLUA_SRCS-$(CONFIG_LIBLUA_MAIN_FUNCTION) += $(LIBLUA_BASE)/main.c
 
+################################################################################
+# Library flags
+################################################################################
+LIBLUA_SUPPRESS_FLAGS += -Wno-implicit-function-declaration
+LIBLUA_FLAGS += -DLUA_COMPAT_5_2
+
+LIBLUA_CFLAGS-y += $(LIBLUA_FLAGS) $(LIBLUA_SUPPRESS_FLAGS)
+LIBLUA_CXXFLAGS-y += $(LIBLUA_FLAGS) $(LIBLUA_SUPPRESS_FLAGS)
+
+################################################################################
+# Sources
+################################################################################
 # Main loop
+LIBLUA_LUA_FLAGS-y += -Dmain=lua_main
 LIBLUA_SRCS-y += $(LIBLUA_SRCS_BASE)/lua.c
 
 # CORE_O
@@ -78,7 +91,7 @@ LIBLUA_SRCS-y += $(LIBLUA_SRCS_BASE)/linit.c
 
 
 ################################################################################
-# libray API headers
+# Libray API headers
 ################################################################################
 $(LIBLUA_SRCS_BASE)/%.h: $(LIBLUA_BUILD)/.origin
        @# empty recipe to enforce dependency to archive extraction
diff --git a/main.c b/main.c
new file mode 100644 (file)
index 0000000..4964b69
--- /dev/null
+++ b/main.c
@@ -0,0 +1,10 @@
+#include <stdio.h>
+
+/* Import user configuration: */
+#include <uk/config.h>
+
+int main(int argc, char *argv[])
+{
+  lua_main(argc, argv);
+  return 0;
+}