This is the mail archive of the java-patches@sourceware.cygnus.com mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

libffi import



I've imported a libffi snaphot into the tree.  Although it is widely
ported, the following patch only configures it for x86 targets.  We
can add more as we test.

1999-08-08  Anthony Green  <green@cygnus.com>

        * configure.in (target_libs): Added target-libffi.
        * Makefile.in (ALL_TARGET_MODULES): Added libffi.
        (CONFIGURE_TARGET_MODULES): Likewise.
        (CHECK_TARGET_MODULES): Likewise.
        (INSTALL_TARGET_MODULES): Likewise.
        (CLEAN_TARGET_MODULES): Likewise.
        (configure-target-libffi): New target.
        (all-target-libffi): Likewise.
        (all-target-libjava): Depend on all-target-libffi.
        (configure-target-libjava): Depend on configure-target-libffi.

Index: Makefile.in
===================================================================
RCS file: /cvs/java/libgcj/Makefile.in,v
retrieving revision 1.2
diff -u -r1.2 Makefile.in
--- Makefile.in	1999/05/05 10:13:21	1.2
+++ Makefile.in	1999/08/08 13:35:18
@@ -775,6 +775,7 @@
 	all-target-gperf \
 	all-target-examples \
 	all-target-libstub \
+	all-target-libffi \
 	all-target-libjava \
 	all-target-zlib \
 	all-target-boehm-gc \
@@ -797,6 +798,7 @@
 	configure-target-gperf \
 	configure-target-examples \
 	configure-target-libstub \
+	configure-target-libffi \
 	configure-target-libjava \
 	configure-target-zlib \
 	configure-target-boehm-gc \
@@ -813,6 +815,7 @@
 	check-target-newlib \
 	check-target-winsup \
 	check-target-libiberty \
+	check-target-libffi \
 	check-target-libjava \
 	check-target-zlib \
 	check-target-boehm-gc \
@@ -915,6 +918,7 @@
 	clean-target-gperf \
 	clean-target-examples \
 	clean-target-libstub \
+	clean-target-libffi \
 	clean-target-libjava \
 	clean-target-zlib \
 	clean-target-boehm-gc \
@@ -1609,8 +1613,10 @@
 check-target-libio: all-target-libstdc++
 all-libgui: all-tcl all-tk all-tcl8.1 all-tk8.1 all-itcl
 all-libiberty:
-configure-target-libjava: $(ALL_GCC) configure-target-zlib configure-target-boehm-gc configure-target-qthreads configure-target-newlib
-all-target-libjava: configure-target-libjava all-gcc all-zip all-target-newlib all-target-zlib all-target-boehm-gc all-target-qthreads
+configure-target-libffi: $(ALL_GCC) 
+configure-target-libjava: $(ALL_GCC) configure-target-zlib configure-target-boehm-gc configure-target-qthreads configure-target-newlib configure-target-libffi
+all-target-libffi: $(ALL_GCC)
+all-target-libjava: configure-target-libjava all-gcc all-zip all-target-newlib all-target-zlib all-target-boehm-gc all-target-qthreads all-target-libffi
 configure-target-librx: $(ALL_GCC) configure-target-newlib
 all-target-librx: configure-target-librx
 configure-target-libstdc++: $(ALL_GCC)
Index: configure.in
===================================================================
RCS file: /cvs/java/libgcj/configure.in,v
retrieving revision 1.2
diff -u -r1.2 configure.in
--- configure.in	1999/05/05 10:13:22	1.2
+++ configure.in	1999/08/08 13:35:20
@@ -61,6 +61,7 @@
 		target-libio \
 		target-librx \
 		target-libstdc++ \
+		target-libffi \
 		target-libjava \
 		target-zlib \
 		target-boehm-gc \
@@ -520,7 +521,7 @@
     noconfigdirs="tcl expect dejagnu make texinfo bison patch flex byacc send-pr gprof uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext"
     ;;
   i[3456]86-*-go32* | i[3456]86-*-msdosdjgpp*)
-    noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext"
+    noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv gettext libffi"
 	;;
   i[3456]86-*-mingw32*)
     # noconfigdirs="tcl tk expect dejagnu make texinfo bison patch flex byacc send-pr uudecode dejagnu diff guile perl apache inet itcl tix db snavigator gnuserv"
@@ -540,13 +541,13 @@
 
 case "${target}" in
   *-*-netware)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-librx target-newlib target-libiberty target-libgloss"
+    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-librx target-newlib target-libiberty target-libgloss target-libffi"
     ;;
   *-*-rtems*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   *-*-vxworks*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
     ;;
   alpha*-dec-osf*)
     # ld works, but does not support shared libraries.  emacs doesn't
@@ -555,7 +556,7 @@
     noconfigdirs="$noconfigdirs gas ld emacs fileutils target-newlib target-libgloss"
     ;;
   alpha*-*-*vms*)
-    noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss"
+    noconfigdirs="$noconfigdirs gdb ld target-newlib target-libgloss target-libffi"
     ;;
   alpha*-*-linux*)
     # newlib is not 64 bit ready
@@ -568,7 +569,7 @@
     noconfigdirs="$noconfigdirs target-newlib target-libgloss"
     ;;
   arc-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   arm-*-pe*)
     noconfigdirs="$noconfigdirs target-libgloss"
@@ -586,62 +587,26 @@
     fi
     ;;
   arm-*-oabi*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     if [ x${is_cross_compiler} != xno ] ; then
            target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
     fi
     ;;
   c4x-*-*)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
+    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss target-libffi"
     ;;
   thumb-*-coff)
-    noconfigdirs="$noconfigdirs target-libgloss"
-    ;;
-# CYGNUS LOCAL clm/arm-elf
-  thumb-*-elf)
-    noconfigdirs="$noconfigdirs target-libgloss"
-    ;;
-  thumb-*-oabi)
-    noconfigdirs="$noconfigdirs target-libgloss"
-    ;;
-# END CYGNUS LOCAL
-# CYGNUS LOCAL nickc/strongarm
-  strongarm-*-elf)
-    noconfigdirs="$noconfigdirs target-libgloss"
-    if [ x${is_cross_compiler} != xno ] ; then
-	   target_configdirs="${target_configdirs} target-bsp target-cygmon"
-    fi
-    ;;
-  strongarm-*-coff)
-    noconfigdirs="$noconfigdirs target-libgloss"
-    if [ x${is_cross_compiler} != xno ] ; then
-	   target_configdirs="${target_configdirs} target-bsp target-cygmon"
-    fi
-    ;;
-# END CYGNUS LOCAL
-  thumb-*-pe) # CYGNUS LOCAL nickc/thumb
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   arm-*-riscix*)
-    noconfigdirs="$noconfigdirs ld target-libgloss"
+    noconfigdirs="$noconfigdirs ld target-libgloss target-libffi"
     ;;
   d10v-*-*)
-    noconfigdirs="$noconfigdirs target-librx target-libg++ target-libstdc++ target-libio"
+    noconfigdirs="$noconfigdirs target-librx target-libg++ target-libstdc++ target-libio target-libffi"
     ;;
-# CYGNUS LOCAL d30v
-  d30v-*-*)
-    ;;
-# END CYGNUS LOCAL
-# CYGNUS LOCAL fr30
-  fr30-*-elf*)
-    if [ x${is_cross_compiler} != xno ] ; then
-	   target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
-    fi
-    ;;
-# END CYGNUS LOCAL
   h8300*-*-* | \
   h8500-*-*)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
+    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss target-libffi"
     ;;
   hppa*-*-*elf* | \
   hppa*-*-lites*)
@@ -655,7 +620,7 @@
 	"" | cc*) noconfigdirs="$noconfigdirs emacs emacs19" ;;
         *) ;;
     esac
-    noconfigdirs="$noconfigdirs ld shellutils"
+    noconfigdirs="$noconfigdirs ld shellutils target-libffi"
     ;;
   i[3456]86-*-coff | i[3456]86-*-elf)
     if [ x${is_cross_compiler} != xno ] ; then
@@ -664,7 +629,7 @@
     ;;
   i[3456]86-*-go32* | i[3456]-*-msdosdjgpp*)
     # but don't build gdb
-    noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx"
+    noconfigdirs="$noconfigdirs gdb target-libg++ target-libstdc++ target-libio target-librx target-libffi"
     ;;
   *-*-linux*)
     # linux has rx in libc
@@ -672,7 +637,7 @@
     ;;
   i[3456]86-*-mingw32*)
     target_configdirs="$target_configdirs target-mingw"
-    noconfigdirs="$noconfigdirs expect target-libgloss"
+    noconfigdirs="$noconfigdirs expect target-libgloss target-libffi"
 
     # Can't build gdb for mingw32 if not native.
     case "${host}" in
@@ -683,7 +648,7 @@
     ;;    
   *-*-cygwin*)
     target_configdirs="$target_configdirs target-libtermcap target-winsup"
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     # always build newlib.
     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
 
@@ -695,18 +660,18 @@
     esac
     ;;    
   i[3456]86-*-pe)
-    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss"
+    noconfigdirs="$noconfigdirs target-libg++ target-libstdc++ target-libio target-librx target-libgloss target-libffi"
     ;;
   i[3456]86-*-sco3.2v5*)
     # The linker does not yet know about weak symbols in COFF,
     # and is not configured to handle mixed ELF and COFF.
-    noconfigdirs="$noconfigdirs ld target-libgloss"
+    noconfigdirs="$noconfigdirs ld target-libgloss target-libffi"
     ;;
   i[3456]86-*-sco*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss"
+    noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
     ;;
   i[3456]86-*-solaris2*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   i[3456]86-*-sysv4*)
     # The SYSV4 C compiler doesn't handle Emacs correctly
@@ -715,7 +680,7 @@
         *) ;;
     esac
     # but that's okay since emacs doesn't work anyway
-    noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss"
+    noconfigdirs="$noconfigdirs emacs emacs19 target-libgloss target-libffi"
     ;;
   m68k-*-elf*)
     if [ x${is_cross_compiler} != xno ] ; then
@@ -728,53 +693,53 @@
     fi
     ;;
   mn10200-*-*)
-    noconfigdirs="$noconfigdirs"
+    noconfigdirs="$noconfigdirs target-libffi"
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-libstub target-cygmon"
     fi
     ;;
   mn10300-*-*)
-    noconfigdirs="$noconfigdirs"
+    noconfigdirs="$noconfigdirs target-libffi"
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
     fi
     ;;
   powerpc-*-aix*)
     # copied from rs6000-*-* entry
-    noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss"
+    noconfigdirs="$noconfigdirs gprof cvssrc target-libgloss target-libffi"
     # This is needed until gcc and ld are fixed to work together.
     use_gnu_ld=no
     ;;
   powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe)
     target_configdirs="$target_configdirs target-winsup"
-    noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv"
+    noconfigdirs="$noconfigdirs gdb tcl tk make expect target-libgloss itcl tix db snavigator gnuserv target-libffi"
     # always build newlib.
     skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'`
     ;;
     # This is temporary until we can link against shared libraries
   powerpcle-*-solaris*)
-    noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv"
+    noconfigdirs="$noconfigdirs gdb sim make tcl tk expect itcl tix db snavigator gnuserv target-libffi"
     ;;
   powerpc-*-eabi)
     if [ x${is_cross_compiler} != xno ] ; then
-	   target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
+	   target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon target-libffi"
     fi
     ;;
   rs6000-*-lynxos*)
     # The CVS server code doesn't work on the RS/6000
     # Newlib makes problems for libg++ in crosses.
-    noconfigdirs="$noconfigdirs target-newlib gprof cvssrc"
+    noconfigdirs="$noconfigdirs target-newlib gprof cvssrc target-libffi"
     ;;
   rs6000-*-aix*)
-    noconfigdirs="$noconfigdirs gprof"
+    noconfigdirs="$noconfigdirs gprof target-libffi"
     # This is needed until gcc and ld are fixed to work together.
     use_gnu_ld=no
     ;;
   rs6000-*-*)
-    noconfigdirs="$noconfigdirs gprof"
+    noconfigdirs="$noconfigdirs gprof target-libffi"
     ;;
   m68k-apollo-*)
-    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss"
+    noconfigdirs="$noconfigdirs ld binutils gprof target-libgloss target-libffi"
     ;;
   mips*-*-irix5*)
     # The GNU linker does not support shared libraries.
@@ -787,20 +752,20 @@
     noconfigdirs="$noconfigdirs ld gas gprof emacs target-libgloss"
     ;;
   mips*-dec-bsd*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss"
+    noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
     ;;
   mips*-*-bsd*)
-    noconfigdirs="$noconfigdirs gprof target-libgloss"
+    noconfigdirs="$noconfigdirs gprof target-libgloss target-libffi"
     ;;
   mipstx39-*-*)
-    noconfigdirs="$noconfigdirs gprof"   # same as generic mips
+    noconfigdirs="$noconfigdirs gprof target-libffi"   # same as generic mips
     target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
    ;;
   mips*-*-*)
-    noconfigdirs="$noconfigdirs gprof"
+    noconfigdirs="$noconfigdirs gprof target-libffi"
     ;;
   romp-*-*)
-    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss"
+    noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss target-libffi"
     ;;
   sh-*-*)
     case "${host}" in
@@ -809,7 +774,7 @@
       i[3456]86-*-msdosdjgpp*) ;; # don't add gprof back in
       *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;;
     esac
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
   sparc-*-elf*)
     if [ x${is_cross_compiler} != xno ] ; then
@@ -819,11 +784,13 @@
   sparc64-*-elf*)
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-libstub target-cygmon"
+    noconfigdirs="target-libffi"
     fi
     ;;
   sparclite-*-*)
     if [ x${is_cross_compiler} != xno ] ; then
 	   target_configdirs="${target_configdirs} target-bsp target-libstub target-cygmon"
+    noconfigdirs="target-libffi"
     fi
     ;;
   sparc-*-sunos4*)
@@ -834,31 +801,26 @@
     fi
     ;;
   v810-*-*)
-    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes target-libgloss"
+    noconfigdirs="$noconfigdirs bfd binutils gas gcc gdb ld target-libio target-libg++ target-libstdc++ opcodes target-libgloss target-libffi"
     ;;
   v850-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss"
+    noconfigdirs="$noconfigdirs target-libgloss target-libffi"
     ;;
-  v850e-*-*) # CYGNUS LOCAL v850e
-    noconfigdirs="$noconfigdirs target-libgloss"
-    ;;
-  v850ea-*-*)
-    noconfigdirs="$noconfigdirs target-libgloss"
-    ;;       # END CYGNUS LOCAL
   vax-*-vms)
-    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss"
+    noconfigdirs="$noconfigdirs bfd binutils gdb ld target-newlib opcodes target-libgloss target-libffi"
     ;;
   vax-*-*)
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
     ;;
   *-*-lynxos*)
     # Newlib makes problems for libg++ in crosses.
-    noconfigdirs="$noconfigdirs target-newlib target-libgloss"
+    noconfigdirs="$noconfigdirs target-newlib target-libgloss target-libffi"
     ;; 
   *-*-macos* | \
   *-*-mpw*)
     # Macs want a resource compiler.
     configdirs="$configdirs grez"
+    noconfigdirs="target-libffi"
     ;;    
 esac

-- 
Anthony Green                                               Cygnus Solutions
                                                       Sunnyvale, California

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]