4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-24 16:07:19 +08:00
Mike Frysinger f159663b08 newlib: stop clobbering LDFLAGS with non-standard $ldflags
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.
2022-01-21 17:10:10 -05:00

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;
}
}