# The public interface to makelib's tools mechanism.
#
# (C) 2000 Lucent Technologies, Bell Laboratories
#
# Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp)
# Compiled by:
#
src/app/makelib/makelib.sublibapi Tools {
# We inherit most of this interface from Core_Tools.
#
# The only things not in Core_Tools are those that
# cannot be implemented without having access to
# makelib itself, and which would otherwise create a
# dependency cycle.
#
include api Core_Tools; # Core_Tools is from
src/app/makelib/tools/main/core-tools.api # makelib's say function:
# "say" unconditionally issues a diagnostic message;
#
say: (Void -> String) -> Void;
# Handle any of:
# /bin/foo -> /bin/foo (Paths with leading '/' are left as-is.)
# foo -> $foo/foo (if $foo is a defined anchor)
# bin/foo -> $ROOT/bin/foo (otherwise -- $ROOT is anchor_dictionary::root_directory)
#
resolve_command_path: String -> String;
# Register a "standard" tool
# based on some shell command:
#
note_standard_shell_command_tool
:
{ tool: String,
ilk: String,
suffixes: List( String ),
extension_style: Extension_Style,
template: Null_Or( String ),
dflopts: Tool_Options,
command_standard_path
:
Void -> (String, List( String ))
}
->
Void;
# Make a boolean control
#
make_boolean_control
:
( String,
String,
Bool
)
->
{ get: Void -> Bool,
set: Bool -> Void
};
};