# Copyright (C) 2010 Free Software Foundation, Inc. # This program 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. # # This program 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 GCC; see the file COPYING3. If not see # . load_lib libgo.exp lappend options "additional_flags=-I. -w -g" if [istarget "*-*-rtems*"] { global options verbose -log "Executing on host: tar cf FilesystemImage -h -C \ $tool_root_dir/$tool/${GOTEST_TMPDIR} ." if [catch "exec tar cf FilesystemImage -h -C \ $tool_root_dir/$tool/${GOTEST_TMPDIR} ." error] { perror "Error during tar of local filesystem: $error" exit 1 } verbose -log "Executing on host: ${RTEMS_BIN2C} FilesystemImage FilesystemImage" if [catch "exec ${RTEMS_BIN2C} FilesystemImage FilesystemImage" error] { perror "Error when creating FilesystemImage source file: $error" exit 1 } set comp_output [target_compile "${RTEMS_LIBGO_INIT}" \ "./rtems_libgo_init.o" "object" $options] if ![ string match "" $comp_output ] { verbose -log $comp_output exit 1 } } set object_files [glob -nocomplain "*.o"] if [info exists gluefile] { regsub $gluefile $object_files "" object_files } set golibs "" if [info exists env(GOLIBS)] { set golibs "$env(GOLIBS)" } set comp_output [go_target_compile "$object_files _testmain.go $golibs" \ "./a.exe" "executable" $options] if ![ string match "" $comp_output ] { verbose -log $comp_output exit 1 } set result [libgo_load "./a.exe" "-test.short" ""] set status [lindex $result 0] set name "go" if [info exists env(GOTESTNAME)] { set name "$env(GOTESTNAME)" } $status $name