OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-newlib/] [newlib-1.17.0/] [newlib/] [testsuite/] [lib/] [newlib.exp] - Blame information for rev 9

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 9 jlechner
# Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved.
2
#
3
# Permission to use, copy, modify, and distribute this software
4
# is freely granted, provided that this notice is preserved.
5
#
6
 
7
# flags.exp overrides the dejagnu versions of libgloss_link_flags,
8
# newlib_link_flags, and newlib_include_flags.
9
load_lib flags.exp
10
 
11
proc newlib_version { } {
12
    global tool_version
13
 
14
    verbose "In newlib version...\n"
15
 
16
    return $tool_version
17
}
18
 
19
set newlib_initialized 0
20
 
21
proc newlib_init { args } {
22
    global gluefile wrap_flags
23
    global newlib_initialized
24
    global target_info
25
    # These values are initialized in the local site.exp file.
26
    global srcdir objdir tmpdir
27
    global host_triplet target_triplet
28
    global old_ld_library_path
29
 
30
    verbose "In newlib_init...\n"
31
 
32
    if { $newlib_initialized == 1 } { return; }
33
 
34
    if {[target_info needs_status_wrapper] != "" && \
35
            [target_info needs_status_wrapper] != "0" && \
36
            ![info exists gluefile]} {
37
        set gluefile ${tmpdir}/testglue.o;
38
        set result [build_wrapper $gluefile];
39
        if { $result != "" } {
40
            set gluefile [lindex $result 0];
41
            set wrap_flags [lindex $result 1];
42
        } else {
43
            unset gluefile
44
        }
45
    }
46
 
47
    if [string match $host_triplet $target_triplet] then {
48
        if [string match "i686-pc-linux-gnu" $host_triplet] then {
49
            set old_ld_library_path [getenv LD_LIBRARY_PATH]
50
            setenv LD_LIBRARY_PATH "$objdir/.libs"
51
        }
52
    }
53
}
54
 
55
proc newlib_target_compile { source dest type options } {
56
    global gluefile wrap_flags
57
    global srcdir objdir
58
    global host_triplet target_triplet
59
 
60
    verbose "In newlib_target_compile...\n"
61
 
62
    lappend options "libs=-I$srcdir/include"
63
    verbose "srcdir is $srcdir"
64
 
65
    if {[target_info needs_status_wrapper] != "" && \
66
            [target_info needs_status_wrapper] != "0" && \
67
            [info exists gluefile] } {
68
        lappend options "libs=$gluefile"
69
        lappend options "ldflags=$wrap_flags"
70
    }
71
 
72
    if [string match $host_triplet $target_triplet] then {
73
        if [string match "i686-pc-linux-gnu" $host_triplet] then {
74
            lappend options "libs=$objdir/crt0.o -lc -lgcc"
75
            lappend options "ldflags=-nostdlib -L$objdir/.libs [newlib_include_flags]"
76
        }
77
    }
78
 
79
    return [target_compile $source $dest $type $options]
80
}
81
 
82
proc newlib_finish { } {
83
    global old_ld_library_path
84
    global host_triplet target_triplet
85
 
86
    verbose "In newlib_finish...\n"
87
 
88
    if [string match $host_triplet $target_triplet] then {
89
        if [string match "i686-pc-linux-gnu" $host_triplet] then {
90
            setenv LD_LIBRARY_PATH "$old_ld_library_path"
91
        }
92
    }
93
}
94
 
95
proc newlib_exit { } {
96
    global gluefile;
97
 
98
    verbose "In newlib_exit...\n"
99
 
100
    if [info exists gluefile] {
101
        file_on_build delete $gluefile;
102
        unset gluefile;
103
    }
104
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.