Hi,

Forwarding this patch on from gdb that adds D support in
default_target_compile, which should allow D sources to be used in
dejagnu framework.

Regards,
Iain.
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
_______________________________________________
DejaGnu mailing list
DejaGnu@gnu.org
https://lists.gnu.org/mailman/listinfo/dejagnu

Reply via email to