]> rtime.felk.cvut.cz Git - frescor/forb.git/commitdiff
The log domains registration uses generic uLUt provided helper.
authorPavel Pisa <pisa@cmp.felk.cvut.cz>
Mon, 25 May 2009 17:58:39 +0000 (19:58 +0200)
committerPavel Pisa <pisa@cmp.felk.cvut.cz>
Mon, 25 May 2009 17:58:39 +0000 (19:58 +0200)
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
src/Makefile.omk
src/forb.c
src/ul_log_domains

index 713e3e0e32dfe88383c592759499486293ddca32..6e96b762af8332689e87a71120121da319a8bd34 100644 (file)
@@ -60,7 +60,8 @@ include-pass_HOOKS = log_domains.inc #request_gavl.inc
 
 log_domains.inc:
        @echo "  UL_LOG  $@"
-       $(Q)$(SOURCES_DIR)/ul_log_domains $(SOURCES_DIR) > $@
+       $(Q)$(SOURCES_DIR)/ul_log_domains --array forb_logreg_domains_array \
+               $(SOURCES_DIR) > $@
 
 clean-custom:
        -$(Q)rm log_domains.inc
index a60c71f8b462bece4da3bcfe49494547f6eb41a4..de111f2c288b8fe6d2fd8acd7b190d984f9ecf3d 100644 (file)
@@ -93,6 +93,7 @@
 
 extern UL_LOG_CUST(ulogd_forb);
 
+UL_LOGREG_DOMAINS_INIT_FUNCTION(forb_logreg_domains, forb_logreg_domains_array);
 
 static void
 destroy_forb_on_exit(int exitcode, void *arg)
@@ -161,8 +162,7 @@ forb_init(int *argc, char **argv[], const struct forb_init_attr *attr)
        memset(forb, 0, sizeof(*forb));
 
        /* Initialize ULUT logging facility */
-       ul_logreg_domains_static(ul_log_domains_array,
-                                sizeof(ul_log_domains_array)/sizeof(ul_log_domains_array[0]));
+       forb_logreg_domains();
 
        if (attr) {
                forb->attr = *attr;
index f3092e9e4c00474960e4ad4bb42fb67f321a580e..37239071e970ce29468237d2f90ae1c7faa28c4c 100755 (executable)
@@ -1,7 +1,34 @@
 #!/bin/sh
 
-DOMAINS=$(find -L $1 '(' -name '*.c' -o -name '*.cc' ')' -exec grep UL_LOG_CUST '{}' ';' | \
-  sed -n -e 's/^.*UL_LOG_CUST(\([^)]*\)).*$/\1/p' | sort -u )
+ARRAY_NAME=ul_log_domains_array
+
+DIRS=""
+
+while [ $# -gt 0 ] ; do
+  case "x${1}x" in
+    "x--helpx" | "x-hx" )
+      echo -e Usage: `basename ${0}`" [options] <srcdir> .."
+      echo -e "      -h --help       help"
+      echo -e "      -a --array      identifier of log domain array variable"
+      exit 0
+      ;;
+    "x--arrayx" | "x-ax" )
+      shift 1
+      ARRAY_NAME="${1}"
+      ;;
+    "x--"* )
+      echo "Unknown option"
+      exit 2
+      ;;
+    * )
+      DIRS="$DIRS ${1}"
+      ;;
+  esac
+  shift 1
+done
+
+DOMAINS=$( for d in $DIRS ; do find -L $d '(' -name '*.c' -o -name '*.cc' ')' -exec grep UL_LOG_CUST '{}' ';' | \
+  sed -n -e 's/^.*UL_LOG_CUST(\([^)]*\)).*$/\1/p' ; done | sort -u )
 
 #echo $DOMAINS
 
@@ -18,7 +45,7 @@ for i in $DOMAINS ; do
 done
 
 echo
-echo "ul_log_domain_t *ul_log_domains_array[] = {"
+echo "ul_log_domain_t *$ARRAY_NAME[] = {"
 
 for i in $DOMAINS ; do
   echo "  &$i,"