mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-24 16:07:19 +08:00
f159663b08
It's unclear why this was added originally, but assuming it was needed 20 years ago, it shouldn't be explicitly required nowadays. Current versions of autotools already take care of exporting LDFLAGS to the Makefile as needed (things are actually getting linked). That's why the configure diffs show LDFLAGS still here, but shifted to a diff place in the output list. A few dirs stop exporting LDFLAGS, but that's because they don't do any linking, only compiling, so it's correct. As for the use of $ldflags instead of the standard $LDFLAGS, I can't really explain that at all. Just use the right name so users don't have to dig into why their setting isn't respected, and then use a non-standard name instead. Adjust the testsuite to match.
105 lines
2.7 KiB
Plaintext
105 lines
2.7 KiB
Plaintext
# Copyright (C) 2002 by Red Hat, Incorporated. All rights reserved.
|
|
#
|
|
# Permission to use, copy, modify, and distribute this software
|
|
# is freely granted, provided that this notice is preserved.
|
|
#
|
|
|
|
# flags.exp overrides the dejagnu versions of libgloss_link_flags,
|
|
# newlib_link_flags, and newlib_include_flags.
|
|
load_lib flags.exp
|
|
|
|
proc newlib_version { } {
|
|
global tool_version
|
|
|
|
verbose "In newlib version...\n"
|
|
|
|
return $tool_version
|
|
}
|
|
|
|
set newlib_initialized 0
|
|
|
|
proc newlib_init { args } {
|
|
global gluefile wrap_flags
|
|
global newlib_initialized
|
|
global target_info
|
|
# These values are initialized in the local site.exp file.
|
|
global srcdir objdir tmpdir
|
|
global host_triplet target_triplet
|
|
global old_ld_library_path
|
|
|
|
verbose "In newlib_init...\n"
|
|
|
|
if { $newlib_initialized == 1 } { return; }
|
|
|
|
if {[target_info needs_status_wrapper] != "" && \
|
|
[target_info needs_status_wrapper] != "0" && \
|
|
![info exists gluefile]} {
|
|
set gluefile ${tmpdir}/testglue.o;
|
|
set result [build_wrapper $gluefile];
|
|
if { $result != "" } {
|
|
set gluefile [lindex $result 0];
|
|
set wrap_flags [lindex $result 1];
|
|
} else {
|
|
unset gluefile
|
|
}
|
|
}
|
|
|
|
if [string match $host_triplet $target_triplet] then {
|
|
if [string match "i686-pc-linux-gnu" $host_triplet] then {
|
|
set old_ld_library_path [getenv LD_LIBRARY_PATH]
|
|
setenv LD_LIBRARY_PATH "$objdir/.libs"
|
|
}
|
|
}
|
|
}
|
|
|
|
proc newlib_target_compile { source dest type options } {
|
|
global gluefile wrap_flags
|
|
global srcdir objdir
|
|
global host_triplet target_triplet
|
|
|
|
verbose "In newlib_target_compile...\n"
|
|
|
|
lappend options "libs=-I$srcdir/include"
|
|
verbose "srcdir is $srcdir"
|
|
|
|
if {[target_info needs_status_wrapper] != "" && \
|
|
[target_info needs_status_wrapper] != "0" && \
|
|
[info exists gluefile] } {
|
|
lappend options "libs=$gluefile"
|
|
lappend options "LDFLAGS=$wrap_flags"
|
|
}
|
|
|
|
if [string match $host_triplet $target_triplet] then {
|
|
if [string match "i686-pc-linux-gnu" $host_triplet] then {
|
|
lappend options "libs=$objdir/crt0.o -lc -lgcc"
|
|
lappend options "LDFLAGS=-nostdlib -L$objdir/.libs [newlib_include_flags]"
|
|
}
|
|
}
|
|
|
|
return [target_compile $source $dest $type $options]
|
|
}
|
|
|
|
proc newlib_finish { } {
|
|
global old_ld_library_path
|
|
global host_triplet target_triplet
|
|
|
|
verbose "In newlib_finish...\n"
|
|
|
|
if [string match $host_triplet $target_triplet] then {
|
|
if [string match "i686-pc-linux-gnu" $host_triplet] then {
|
|
setenv LD_LIBRARY_PATH "$old_ld_library_path"
|
|
}
|
|
}
|
|
}
|
|
|
|
proc newlib_exit { } {
|
|
global gluefile;
|
|
|
|
verbose "In newlib_exit...\n"
|
|
|
|
if [info exists gluefile] {
|
|
file_on_build delete $gluefile;
|
|
unset gluefile;
|
|
}
|
|
}
|