libjava.exp (libjava_find_lib): New proc.
authorTom Tromey <tromey@cygnus.com>
Mon, 26 Apr 1999 14:28:20 +0000 (14:28 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Mon, 26 Apr 1999 14:28:20 +0000 (14:28 +0000)
* lib/libjava.exp (libjava_find_lib): New proc.
(libjava_arguments): Use it.  Force static linking.

From-SVN: r26651

libjava/testsuite/ChangeLog
libjava/testsuite/Makefile.in
libjava/testsuite/lib/libjava.exp

index 3aad268139dec2865889e3ddb5246c8fd5cdac2b..506c1a889bc691be2cdb67ddfcfed0e965df37c1 100644 (file)
@@ -1,3 +1,8 @@
+1999-04-26  Tom Tromey  <tromey@cygnus.com>
+
+       * lib/libjava.exp (libjava_find_lib): New proc.
+       (libjava_arguments): Use it.  Force static linking.
+
 Thu Apr 22 14:19:35 1999  Anthony Green  <green@cygnus.com>
 
        * libjava.compile/OperatorBenchmark.java: New file.
index 764c148a3cad4ad558a63d10dc34211600b962c2..ce37a4ddef013e1fde225968e976d7ef24bf77d6 100644 (file)
@@ -71,17 +71,22 @@ COMPPATH = @COMPPATH@
 CPP = @CPP@
 CXX = @CXX@
 CXXCPP = @CXXCPP@
+DLLTOOL = @DLLTOOL@
 EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
 EXEEXT = @EXEEXT@
 GCDEPS = @GCDEPS@
 GCINCS = @GCINCS@
 GCLIBS = @GCLIBS@
 GCOBJS = @GCOBJS@
+LD = @LD@
 LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
 LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
 LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
+LIBTOOL = @LIBTOOL@
+LN_S = @LN_S@
 MAINT = @MAINT@
 MAKEINFO = @MAKEINFO@
+NM = @NM@
 PACKAGE = @PACKAGE@
 PERL = @PERL@
 RANLIB = @RANLIB@
@@ -229,6 +234,7 @@ clean-am:  clean-generic mostlyclean-am
 clean: clean-am
 
 distclean-am:  distclean-generic clean-am
+       -rm -f libtool
 
 distclean: distclean-am
 
index 9c8b36d19a90d99c7adc6be5a17a260ec85236f2..b3f34f5cbd7a756bdd116e4c0c7850995b29e5c1 100644 (file)
@@ -79,6 +79,26 @@ proc libjava_init { args } {
     set libjava_initialized 1
 }
 
+# Find a library.  We know where libtool puts the actual libraries,
+# and we look there.
+proc libjava_find_lib {dir name} {
+    global base_dir
+    set gp [get_multilibs]
+    foreach sub {.libs _libs} {
+       if {$gp != ""} {
+           if {[file exists $gp/$dir/$sub/lib${name}.a]} then {
+               return "-L$gp/$dir/$sub -l$name"
+           }
+       }
+       set lib [findfile $base_dir/../../$dir/$sub/lib${name}.a \
+                  "-L$base_dir/../../$dir/$sub -l$name" ""]
+       if {$lib != ""} {
+           return $lib
+       }
+    }
+    return ""
+}
+
 # Compute arguments needed for compiler.
 proc libjava_arguments {} {
     global base_dir
@@ -93,47 +113,19 @@ proc libjava_arguments {} {
     if [info exists LIBJAVA] {
        set libjava $LIBJAVA;
     } else {
-       set gp [get_multilibs];
-       if { $gp != "" } {
-           if [file exists "$gp/libjava/libgcj.a"] {
-               set libjava "-L$gp/libjava -lgcj";
-           }
-       }
-       if ![info exists libjava] {
-         set libjava [findfile $base_dir/../../libjava/libgcj.a "-L$base_dir/../../libjava -lgcj" -lgcj]
-       }
+       set libjava [libjava_find_lib libjava gcj]
     }
 
     if [info exists LIBGC] {
        set libgc $LIBGC;
     } else {
-       set gp [get_multilibs];
-       if { $gp != "" } {
-           if [file exists "$gp/boehm-gc/libgcjgc.a"] {
-               set libgc "-L$gp/boehm-gc -lgcjgc";
-           }
-       }
-       if ![info exists libgc] {
-         set libgc [findfile $base_dir/../../boehm-gc/libgcjgc.a \
-                      "-L$base_dir/../../boehm-gc -lgcjgc" \
-                      {}]
-       }
+       set libgc [libjava_find_lib boehm-gc gcjgc]
     }
 
     if [info exists LIBQTHREADS] {
        set libqthreads $LIBQTHREADS
     } else {
-       set gp [get_multilibs]
-       if { $gp != "" } {
-           if [file exists "$gp/qthreads/libgcjcoop.a"] {
-               set libqthreads "-L$gp/qthreads -lgcjcoop";
-           }
-       }
-       if ![info exists libqthreads] {
-           set libqthreads [findfile $base_dir/../../qthreads/libgcjcoop.a \
-                              "-L$base_dir/../../qthreads -lgcjcoop" \
-                              {}]
-       }
+       set libqthreads [libjava_find_lib qthreads gcjcoop]
     }
 
     # FIXME: there's no way to determine whether -lpthread is
@@ -175,6 +167,7 @@ proc libjava_arguments {} {
 
     global wrapper_file wrap_compile_flags;
     lappend args "additional_flags=$wrap_compile_flags";
+    lappend args "additional_flags=-static"
     lappend args "libs=$wrapper_file";
     lappend args "libs=$libjava";
     lappend args "libs=$libgc";