]> xenbits.xensource.com Git - osstest/rumprun.git/commitdiff
Push the runmain logic into librumprun_base.
authorAntti Kantee <pooka@iki.fi>
Mon, 19 Oct 2015 22:46:23 +0000 (22:46 +0000)
committerAntti Kantee <pooka@iki.fi>
Mon, 19 Oct 2015 22:46:23 +0000 (22:46 +0000)
It's no longer required elsewhere.

include/rumprun-base/rumprun.h
lib/librumprun_base/main.c

index 674d56aa46273bf99c67678730ac28250a90d9be..d9a98f229a80214489d4752c53e386f890df5bae 100644 (file)
 typedef int mainlike_fn(int, char *[]);
 mainlike_fn main;
 
-/*
- * for baking multiple executables into a single binary
- * XXX: should not depend on explicit symbol names with hardcoded
- * limits
- */
-mainlike_fn rumprun_notmain;
-mainlike_fn rumpbake_main1;
-mainlike_fn rumpbake_main2;
-mainlike_fn rumpbake_main3;
-mainlike_fn rumpbake_main4;
-mainlike_fn rumpbake_main5;
-mainlike_fn rumpbake_main6;
-mainlike_fn rumpbake_main7;
-mainlike_fn rumpbake_main8;
-
-#define RUNMAIN(i)                                                     \
-       if (rumpbake_main##i == rumprun_notmain)                        \
-               break;                                                  \
-       rumprun(rumpbake_main##i,                                       \
-           rumprun_cmdline_argc, rumprun_cmdline_argv);
-
-#define RUNMAINS()                                                     \
-       do {                                                            \
-               RUNMAIN(1);                                             \
-               RUNMAIN(2);                                             \
-               RUNMAIN(3);                                             \
-               RUNMAIN(4);                                             \
-               RUNMAIN(5);                                             \
-               RUNMAIN(6);                                             \
-               RUNMAIN(7);                                             \
-               RUNMAIN(8);                                             \
-       } while (/*CONSTCOND*/0)
-
 void   rumprun_boot(char *);
 
 void * rumprun(mainlike_fn, int, char *[]);
index c135e7839336d3373910fda9eea33c7a243be776..de098c94eed68f6f179499416d2ea3e22b9e4605 100644 (file)
 #include <rumprun-base/config.h>
 #include <rumprun-base/rumprun.h>
 
+/*
+ * for baking multiple executables into a single binary
+ * XXX: should not depend on explicit symbol names with hardcoded
+ * limits
+ */
+mainlike_fn rumprun_notmain;
+mainlike_fn rumpbake_main1;
+mainlike_fn rumpbake_main2;
+mainlike_fn rumpbake_main3;
+mainlike_fn rumpbake_main4;
+mainlike_fn rumpbake_main5;
+mainlike_fn rumpbake_main6;
+mainlike_fn rumpbake_main7;
+mainlike_fn rumpbake_main8;
+
+#define RUNMAIN(i)                                                     \
+       if (rumpbake_main##i == rumprun_notmain)                        \
+               break;                                                  \
+       rumprun(rumpbake_main##i,                                       \
+           rumprun_cmdline_argc, rumprun_cmdline_argv);
+
 void
 bmk_mainthread(void *cmdline)
 {
@@ -35,7 +56,16 @@ bmk_mainthread(void *cmdline)
 
        rumprun_boot(cmdline);
 
-       RUNMAINS();
+       do {
+               RUNMAIN(1);
+               RUNMAIN(2);
+               RUNMAIN(3);
+               RUNMAIN(4);
+               RUNMAIN(5);
+               RUNMAIN(6);
+               RUNMAIN(7);
+               RUNMAIN(8);
+       } while (/*CONSTCOND*/0);
 
        while ((cookie = rumprun_get_finished()))
                rumprun_wait(cookie);