#! /bin/sh

prefix=@prefix@
exec_prefix=@exec_prefix@
includedir=@includedir@
libdir=@libdir@

usage()
{
    cat 1>&2 <<EOF
Usage: $0 [OPTION]

Known values for OPTION are:

  --libs            print library linking information
  --cxxflags        print pre-processor and compiler flags
  --logxml app  print logging-xml-template for application "app"
  --help            display this help and exit
  --version         output version information
EOF

    exit 1
}

CXXTOOLS_LOGGING_CXXTOOLS_template()
{
  cat <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!--
  sample logging-properties for application ++APP++
  put this in ++APP++.properties and use:
    log_init("++APP++.properties");
  in your application to initialize logging

  define categories with:
    log_define("some.category")
  this defines a static function, so you must put it outside other functions.
  you can define a category per file or a category per namespace.

  print logging-messages with:
    log_fatal("some fatal message");
    log_error("some error message");
    log_warn("some warn message");
    log_info("some info message");
    log_debug("some debug message");

-->
<logging>
  <rootlogger>INFO</rootlogger>
  <loggers>
    <logger>
      <category>++APP++</category>
      <level>INFO</level>
    </logger>
  </loggers>
  <!-- <file>$LOGFILE</file> -->      <!--uncomment if you want to log to a file -->
  <!-- <maxfilesize>1MB</maxfilesize> -->
  <!-- <maxbackupindex>2</maxbackupindex> -->
  <!-- <host>localhost:1234</host> --> <!--  # send log-messages with udp -->
</logging>
EOF
}

if test $# -eq 0; then
    usage 1
fi

LOGFILE=++APP++.log

while test $# -gt 0; do
    case "$1" in

    --version)
        echo @VERSION@
        exit 0
        ;;

    --help)
        usage 0
        ;;

    --cxxflags)
        echo @CXXTOOLS_CXXFLAGS@
        ;;

    --libs)
        echo @CXXTOOLS_LDFLAGS@ 
        ;;

    --logxml)
        if test $# -gt 1
        then
          CXXTOOLS_LOGGING_CXXTOOLS_template | sed "s/++APP++/$2/"
          shift
        else
          usage 1
        fi
        ;;

    *)
        usage 1
        ;;
    esac
    shift
done

exit 0
