Rapicorn - Experimental UI Toolkit - Source Code  13.07.0
Variables
rcore/docu.dox File Reference

Variables

 $RAPICORN_FLIPPER
 Environment variable for flippers.
 $RAPICORN_TEST
 Environment variable for unit tests.
 $RAPICORN_DEBUG
 Environment variable for debugging.
 __FILE_DIR__
 Build system macro definition of compiler CWD.

Detailed Description


Variable Documentation

$RAPICORN_DEBUG

Environment variable for debugging.

The $RAPICORN_DEBUG environment variable may contain a colon separated list of options and kyes that are used to configure debugging behaviour (see also RAPICORN_DEBUG_OPTION() and Rapicorn::debug_config_get()). A boolean debugging key enables (=1) or disables (=0) a specific set of debugging messages. The special key 'all' can be used to identify useful debugging messages, each generated message is prefixed by its debugging key. A key setting overrides 'all' if it appears later in the colon list. A list of supported options extracted from the Rapicorn sources follows:

  • all - Enable all available debugging keys and generate lots of output.
  • syslog - Enable logging of general purpose messages through syslog(3).
  • fatal-syslog - Enable logging of fatal conditions through syslog(3).
  • fatal-warnings - Cast all warning messages into fatal errors.
  • devel - Enable debugging features for development versions.
  • x11sync - Synchronize X11 operations for correct error attribution.
  • StartUp - Debugging message key, =1 enable, =0 disable.
  • URL - Debugging message key, =1 enable, =0 disable.
  • Threading - Debugging message key, =1 enable, =0 disable.
  • Test - Debugging message key, =1 enable, =0 disable.
  • Blob - Debugging message key, =1 enable, =0 disable.
  • Factory - Debugging message key, =1 enable, =0 disable.
  • Factory-Eval - Debugging message key, =1 enable, =0 disable.
  • ScreenDriver - Debugging message key, =1 enable, =0 disable.
  • Events - Debugging message key, =1 enable, =0 disable.
  • Resize - Debugging message key, =1 enable, =0 disable.
  • XEvents - Debugging message key, =1 enable, =0 disable.
  • XEvent2 - Debugging message key, =1 enable, =0 disable.
  • Sizing - Debugging message key, =1 enable, =0 disable.
  • Viewport - Debugging message key, =1 enable, =0 disable.
  • X11 - Debugging message key, =1 enable, =0 disable.
  • Label-Rendering - Debugging message key, =1 enable, =0 disable.
  • Selector - Debugging message key, =1 enable, =0 disable.

Environment variable for flippers.

Flippers are feature toggles that are used to enable certain development behaviour at runtime. This is especially useful to allow early or rolling releases while some features are still under development. For further conceptual details see Feature toggle. In Rapicorn, flippers are enabled by listing feature keywords separated with colons in the environment variable $RAPICORN_FLIPPER. See RAPICORN_FLIPPER() to check for flipper settings in $RAPICORN_FLIPPER, and refer to Rapicorn::envkey_flipper_check() to check for flipper settings generically. A list of supported flippers extracted from the Rapicorn sources follows:

  • quick-timer-threadfunc - Rapicorn::QuickTimer: Use a separate thread to update a timer variable.
  • quick-timer-cputime - Rapicorn::QuickTimer: Use CLOCK_PROCESS_CPUTIME_ID which measures consumed CPU time.
  • quick-timer-realtime - Rapicorn::QuickTimer: Use CLOCK_REALTIME, the system wide realtime clock.
  • quick-timer-rdtsc - Rapicorn::QuickTimer: Use the X86 architecture RDTSC assembler command as a timer.
$RAPICORN_TEST

Environment variable for unit tests.

The $RAPICORN_TEST environment variable may contain a colon separated list of flags that are used during test runs. In particular:

  • test-verbose - Execute test cases with verbose message generation.
  • test-readout - Execute only data driven test cases to verify readouts.
  • test-slow - Execute only test cases excercising slow code paths or loops.

See also Rapicorn::init_core() and Rapicorn::init_core_test().

Build system macro definition of compiler CWD.

To improve source file location information in debugging and error messages, RAPICORN_PRETTY_FILE is provided (aliased to __PRETTY_FILE__ if RAPICORN_CONVENIENCE is enabled). This macro provides a full path variant of __FILE__, which works by by prefixing __FILE__ with __FILE_DIR__ which should be defined to the compiler CWD during compilation. The best way to provide this information is as follows:

 Makefile.am:
 DEFS += @DEFINE__FILE_DIR__@
 configure.ac:
 if echo $VERSION | grep -iq devel ; then
   DEFINE__FILE_DIR__='-D__FILE_DIR__="${abs_srcdir}"'
 else
   DEFINE__FILE_DIR__='-D__FILE_DIR__="$PROJECT_NAME/${subdir}"'
 fi
 AC_SUBST(DEFINE__FILE_DIR__)
 

The above configure code special cases development versions allowing absolute path matching as __FILE_DIR__/__FILE__:__LINE__ for debugging messages. During stable versions $PROJECT_NAME/__FILE__ provides a clue about the originating component for failure messages.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines