# Copyright (C) 1992-2016 Free Software Foundation, Inc.
#
# This file is part of DejaGnu.
#
# DejaGnu is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# DejaGnu is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with DejaGnu.  If not, see <http://www.gnu.org/licenses/>.

# This file was written by Rob Savoye <rob@welcomehome.org>.

proc ${tool}_version { } {
    verbose "WARNING: Using the default proc for tool_version" 2
}

proc ${tool}_exit {} {
    verbose "WARNING: Using the default proc for tool_exit" 2
}

proc ${tool}_start { } {
    global spawn_id

    verbose "WARNING: Using the default proc for tool_start" 2
    return $spawn_id
}
