Provided by: critcl_3.1.18.1+dfsg-3_amd64 bug

NAME

       critcl::util - CriTcl Utilities

SYNOPSIS

       package require Tcl  8.4

       package require critcl  ?2.1?

       package require critcl::util  ?1?

       ::critcl::util::checkfun name ?label?

       ::critcl::util::def path define ?value?

       ::critcl::util::undef path define

       ::critcl::util::locate label paths ?cmd?

________________________________________________________________________________________________________________

DESCRIPTION

       C  Runtime  In  Tcl,  or  CriTcl , is a system for compiling C code embedded in Tcl on the fly and either
       loading the resulting objects into Tcl for immediate use or packaging them for distribution.  Use  CriTcl
       to improve performance by rewriting in C those routines that are performance bottlenecks.

       This  document  is  the reference manpage for the critcl::util package. This package provides convenience
       commands for advanced functionality built  on  top  of  the  core.   Its  intended  audience  are  mainly
       developers wishing to write Tcl packages with embedded C code.

       This package resides in the Core Package Layer of CriTcl.

       +----------------+
       |Applications    |
       | critcl         |
       | critcl::app    |
       +----------------+

       *================*
       |Core Packages   |
       | critcl         |
       | critcl::util   |
       *================*

       +----------------+
       |Support Packages|
       | stubs::*       |
       | md5, platform  |
       |  ...           |
       +----------------+

API

       ::critcl::util::checkfun name ?label?
              This  command  checks  the  build-time  environment  for the existence of the C function name.  It
              returns true on success, and false otherwise.

       ::critcl::util::def path define ?value?
              This command extends the specified configuration file path with a #define directive for the  named
              define. If the value is not specified it will default to 1.

              The result of the command is an empty string.

              Note that the configuration file is maintained in the critcl::cache directory.

       ::critcl::util::undef path define
              This  command extends the specified configuration file path with an #undef directive for the named
              define.

              The result of the command is an empty string.

              Note that the configuration file is maintained in the critcl::cache directory.

       ::critcl::util::locate label paths ?cmd?
              This command checks the build-time environment for the existence of a file in a  set  of  possible
              paths.

              If  the option cmd prefix is specified it will be called with the full path of a found file as its
              only argument to perform further checks.  A return  value  of  false  will  reject  the  path  and
              continue the search.

              The  return  value  of  the  command  is  the found path, as listed in paths. As a side effect the
              command will also print the found path, prefixed with the label, using critcl::msg.

              Failure to find the path is reported via critcl::error, and a possible empty string as the result,
              if critcl::error does not terminate execution.  A  relative  path  is  resolved  relative  to  the
              directory containing the Critcl script.

AUTHORS

       Andreas Kupries

BUGS, IDEAS, FEEDBACK

       This  document,  and  the package it describes, will undoubtedly contain bugs and other problems.  Please
       report such at https://github.com/andreas-kupries/critcl.  Please also report any ideas for  enhancements
       you may have for either package and/or documentation.

KEYWORDS

       C  code,  Embedded  C  Code,  code  generator,  compile & run, compiler, dynamic code generation, dynamic
       compilation, generate package, linker, on demand compilation, on-the-fly compilation

CATEGORY

       Glueing/Embedded C code

COPYRIGHT

       Copyright (c) 2011-2018 Andreas Kupries

doc                                                     1                                     critcl::util(3tcl)