ChangeLog: * lib/libgloss.exp (find_gdc): New proc. * lib/target.exp (default_target_compile): Add D support. --- --- a/lib/libgloss.exp +++ b/lib/libgloss.exp @@ -683,6 +683,25 @@ proc find_g++ {} { return $CC } +proc find_gdc {} { + global tool_root_dir + + if {![is_remote host]} { + set file [lookfor_file $tool_root_dir gdc] + if { $file == "" } { + set file [lookfor_file $tool_root_dir gcc/gdc] + } + if { $file != "" } { + set CC "$file -B[file dirname $file]/" + } else { + set CC [transform gdc] + } + } else { + set CC [transform gdc] + } + return $CC +} + proc find_g77 {} { global tool_root_dir --- a/lib/target.exp +++ b/lib/target.exp @@ -362,6 +362,18 @@ proc default_target_compile {source destfile type options} { } } + if { $i == "d" } { + set compiler_type "d" + if {[board_info $dest exists dflags]} { + append add_flags " [target_info dflags]" + } + if {[board_info $dest exists dcompiler]} { + set compiler [target_info dcompiler] + } else { + set compiler [find_gdc] + } + } + if { $i == "f77" } { set compiler_type "f77" if {[board_info $dest exists f77flags]} { @@ -438,6 +450,7 @@ proc default_target_compile {source destfile type options} { global CC_FOR_TARGET global CXX_FOR_TARGET + global D_FOR_TARGET global F77_FOR_TARGET global F90_FOR_TARGET global GNATMAKE_FOR_TARGET @@ -460,6 +473,12 @@ proc default_target_compile {source destfile type options} { } } + if {[info exists D_FOR_TARGET]} { + if { $compiler_type == "d" } { + set compiler $D2_FOR_TARGET + } + } + if {[info exists F77_FOR_TARGET]} { if { $compiler_type == "f77" } { set compiler $F77_FOR_TARGET