Matthias Klose | 29 Nov 17:08 2013

[patch] modernize freetype includes

At least on Debian/Ubuntu freetype 2.5.1 doesn't install the header files in a
freetype subdirectory anymore. According to [1] this isn't supported anymore
after freetype 2.1, and the macros are available since prehistoric 2.0.1
(released in 2000).  Now using the recommended inclusion schema.

Ok for trunk and the active gcc branches?

  Matthias
# DP: Fix libjava/classpath freetype includes

	* native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c,
	native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c:
	Fix freetype includes.

--- a/src/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
+++ b/src/libjava/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
 <at>  <at>  -42,8 +42,9  <at>  <at> 
 #include <pango/pango.h>
 #include <pango/pangoft2.h>
 #include <pango/pangofc-font.h>
-#include <freetype/ftglyph.h>
-#include <freetype/ftoutln.h>
+#include <ft2build.h>
+#include FT_GLYPH_H
+#include FT_OUTLINE_H
 #include "jcl.h"
 #include "gdkfont.h"
 #include "gnu_java_awt_peer_gtk_FreetypeGlyphVector.h"
(Continue reading)

Farshad Muhammad | 10 Sep 20:30 2013
Picon
Picon

Invitation to connect on LinkedIn

 
 
 
 
 
From Farshad Muhammad
 
Software Developer at Carleton University
Ottawa, Canada Area
 
 
 
 
 
 
 

I'd like to add you to my professional network on LinkedIn.

- Farshad

 
 
 
 
 
 
 
You are receiving Invitation to Connect emails. Unsubscribe
© 2012, LinkedIn Corporation. 2029 Stierlin Ct. Mountain View, CA 94043, USA
 
Picon

[PATCH] configure.ac: properly detect Qt include path for cross-compilation.

From: "Arnout Vandecappelle (Essensium/Mind)" <arnout <at> mind.be>

The AC_CHECK_FILE macro doesn't work when cross-compiling: it is used
to check for the existence of a runtime file, not for an include file.
Instead, we can use a simple shell condition to check for the existence
of the header file.
---
 configure.ac | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/configure.ac b/configure.ac
index b20a4bb..cccae0f 100644
--- a/configure.ac
+++ b/configure.ac
 <at>  <at>  -648,17 +648,15  <at>  <at>  if test "x${COMPILE_JNI}" = xyes; then
       dnl doesn't contain the subsystem dir.
       QT_INCLUDE_DIR=`$PKG_CONFIG --variable=includedir QtGui`
       EXTRA_QT_INCLUDE_DIR="$QT_INCLUDE_DIR/Qt"
-      AC_CHECK_FILE([$QT_INCLUDE_DIR/QWidget],
-      AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed]),
-      AC_CHECK_FILE([$EXTRA_QT_INCLUDE_DIR/QWidget],
-	QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR",
-	AC_MSG_WARN([QWidget not found])))
-	AC_CHECK_PROG(MOC, [moc], [moc])
-	AC_CHECK_PROG(MOC4, [moc-qt4], [moc-qt4])
-	if test x"$MOC4" != x ; then
-	  AC_MSG_NOTICE([Using $MOC4 as moc])
-	  MOC=$MOC4;
-	fi
+      if [ -r $QT_INCLUDE_DIR/QWidget ]; then
+        AC_MSG_NOTICE([No extra QT_INCLUDE_DIR needed])
+      elif [ -r $EXTRA_QT_INCLUDE_DIR/QWidget ]; then
+	QT_CFLAGS="$QT_CFLAGS -I$EXTRA_QT_INCLUDE_DIR"
+      else
+	AC_MSG_WARN([QWidget not found])
+      fi
+      AC_CHECK_PROG(MOC, [moc], [moc])
+      AC_CHECK_PROG(MOC, [moc-qt4], [moc-qt4])
     fi
     if test "x$HAVE_QT4" = "xno"; then
       AC_MSG_NOTICE([Looking for QT_CFLAGS and QT_LIBS without pkg-config])
--

-- 
1.8.2.1

Matthias Klose | 19 Jun 21:19 2013

[patch] search for a <triplet>-pkg-config

This allows libjava to cross build in an environment where <triplet>-pkg-config
is available for the target architecture.  This change is already available in
pkg-config 0.26, so an alternative would be to import this file from a recent
pkg-config release.

Ok for the trunk, and 4.8?

  Matthias
2013-06-19  Matthias Klose  <doko <at> ubuntu.com>

	* pkg.m4 (PKG_CHECK_MODULES): Use AC_PATH_TOOL to check for pkg-config.
	* classpath/m4/pkg.m4 (PKG_CHECK_MODULES): Likewise.
	* configure: Regenerate.

Index: pkg.m4
===================================================================
--- pkg.m4	(revision 200211)
+++ pkg.m4	(working copy)
 <at>  <at>  -6,7 +6,7  <at>  <at> 
   succeeded=no

   if test -z "$PKG_CONFIG"; then
-    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+    AC_PATH_TOOL(PKG_CONFIG, pkg-config, no)
   fi

   if test "$PKG_CONFIG" = "no" ; then
Index: classpath/m4/pkg.m4
===================================================================
--- classpath/m4/pkg.m4	(revision 200211)
+++ classpath/m4/pkg.m4	(working copy)
 <at>  <at>  -6,7 +6,7  <at>  <at> 
   succeeded=no

   if test -z "$PKG_CONFIG"; then
-    AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+    AC_PATH_TOOL(PKG_CONFIG, pkg-config, no)
   fi

   if test "$PKG_CONFIG" = "no" ; then
Farshad Muhammad | 31 May 06:05 2013
Picon
Picon

[GNU ClassPath] porting the GTK+3 AWT support

Hey guys,
My name is Farshad Muhammad and i've recently been accepted to GSoC 2013.

I will be working to port GTK+3 AWT support for the gtk-peer in the classpath following a migration guide provided here: https://developer.gnome.org/gtk3/3.5/gtk-migrating-2-to-3.html

The porting process requires the classpath first to be prepared under GTK + 2.24 and built under certain CFLAG macros. I have successfully resolved one of the macros which require there to be no single includes in the gtk-peer of the classpath.

The classpath now builds successfully using the command :
make CFLAGS+="-DGTK_DISABLE_SINGLE_INCLUDES"

Here is a list of changes I had to make to achieve this:

LOG FOR SINGLE INCLUDE CHANGES:

gtk_CairoGraphics2D.c

Line 42: #include <gdk/gdktypes.h> to #include <gdk/gdk.h>
Line 43: #include <gdk/gdkprivate.h> to #include <gdk/gdkx.h>


gtk_ComponentGraphics.c

Line 41: #include <gdk/gdktypes.h> to #include <gdk/gdk.h>
Line 44: #include <gdk/gdkprivate.h> to #include <gdk/gdkx.h>

gtk_ComponentGraphicsCopy.c

Line 41: #include <gdk/gdktypes.h> to #include <gdk/gdk.h>
Line 44: #include <gdk/gdkprivate.h> to #include <gdk/gdkx.h>

gtk_ComponentPeer.c

Line 43: #include <gtk/gtkprivate.h> to #include <gtk/gtk.h>

gtk_VolatileImage.c

Line 42: #include <gdk/gdktypes.h> to #include <gdk/gdk.h>
Line 45: #include <gdk/gdkprivate.h> to #include <gdk/gdkx.h>

I would like to commit these changes as a classpath patch.


阿林 | 27 Dec 07:32 2012

ask help about cross complier of supportting java

 
 hi friends,

I want to build cross compiler of gcc of 4.4.4. I can built success for c,c++. But when I try  to add language of java. I failed. I also read the document , the cross section is too short and non detailed. In the document, only "If the cross compiler is to be built with support for the Java programming language and the ability to compile .java source files is desired, the installed native compiler used to build the cross compiler needs to be the same GCC version as the cross compiler. In addition the cross compiler needs to be configured with --with-ecj-jar=... ". 
Since I use ppc64 and try to build ppc. I don't know how to use this option. I use the ecj of 64-bit package,  I am not sure if it is ok. I can not built success. I have no idea how to process next. Maybe I am wrong at first  for use incorrect parameter.  So I write the email to you and try to get help from gcc group.  I hope get your suggestions and how I can built out gcj by cross complier.  Thank you very much!

Best regards,

Lei Wang








Andreas Schwab | 27 Mar 12:57 2013
Picon

[PATCH] Add support for aarch64

Signed-off-by: Andreas Schwab <schwab <at> suse.de>
---
 ChangeLog              | 4 ++++
 native/fdlibm/ieeefp.h | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index e26f627..d547c7a 100644
--- a/ChangeLog
+++ b/ChangeLog
 <at>  <at>  -1,3 +1,7  <at>  <at> 
+2013-03-27  Andreas Schwab  <schwab <at> suse.de>
+
+	* native/fdlibm/ieeefp.h: Add support for aarch64.
+
 2013-03-12  Pekka Enberg <penberg <at> kernel.org>

 	* autogen.sh:
diff --git a/native/fdlibm/ieeefp.h b/native/fdlibm/ieeefp.h
index c230bbb..7ef2ae7 100644
--- a/native/fdlibm/ieeefp.h
+++ b/native/fdlibm/ieeefp.h
 <at>  <at>  -4,6 +4,14  <at>  <at> 
 #ifndef __IEEE_BIG_ENDIAN
 #ifndef __IEEE_LITTLE_ENDIAN

+#ifdef __aarch64__
+#ifdef __AARCH64EB__
+#define __IEEE_BIG_ENDIAN
+#else
+#define __IEEE_LITTLE_ENDIAN
+#endif
+#endif
+
 #ifdef __alpha__
 #define __IEEE_LITTLE_ENDIAN
 #endif
-- 
1.8.2

--

-- 
Andreas Schwab, SUSE Labs, schwab <at> suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

Pekka Enberg | 12 Mar 19:47 2013

[RFC/PATCH] Check for gettext m4 macros in autogen.sh

If gettext-devel package is not installed on Fedora, autogen.sh fails as
follows:

  [penberg <at> tux classpath]$ sh autogen.sh
  configure.ac:505: warning: AC_LIB_PREPARE_PREFIX is m4_require'd but not m4_defun'd
  m4/iconv.m4:11: AM_ICONV_LINKFLAGS_BODY is expanded from...
  m4/iconv.m4:22: AM_ICONV_LINK is expanded from...
  m4/iconv.m4:77: AM_ICONV is expanded from...

Make the script more user fiendly by explicitly checking for the
presence of gettext.m4 in the system.

Cc: Andrew John Hughes  <gnu_andrew <at> member.fsf.org>
Cc: Brian Jones <cbjones1 <at> gmail.com>
Signed-off-by: Pekka Enberg <penberg <at> kernel.org>
---
 ChangeLog  |    5 +++++
 autogen.sh |    7 +++++++
 2 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 289a979..e26f627 100644
--- a/ChangeLog
+++ b/ChangeLog
 <at>  <at>  -1,3 +1,8  <at>  <at> 
+2013-03-12  Pekka Enberg <penberg <at> kernel.org>
+
+	* autogen.sh:
+	Check that gettext.m4 is installed.
+
 2013-03-09  Pekka Enberg <penberg <at> kernel.org>

 	* .gitignore: Exclude autogen-generated files.
diff --git a/autogen.sh b/autogen.sh
index adb8f0c..df0095f 100755
--- a/autogen.sh
+++ b/autogen.sh
 <at>  <at>  -34,6 +34,13  <at>  <at>  if $have_libtool ; then : ; else
 	DIE=1
 fi

+if [ ! -e $(aclocal --print-ac-dir)/gettext.m4 ] ; then
+	echo
+	echo "You must have gettext package and, if applicable to your"
+	echo "system, gettext-devel package installed to compile $PROJECT."
+	DIE=1
+fi
+
 if test "$DIE" -eq 1; then
 	exit 1
 fi
--

-- 
1.7.7.6

Pekka Enberg | 9 Mar 10:36 2013

[RFC/PATCH] AnnotationInvocationHandler type parametrization

Type parametrize uses of generic types in AnnotationInvocationHandler.

Signed-off-by: Pekka Enberg <penberg <at> kernel.org>
---
 ChangeLog                                          |   10 +++++++
 .../annotation/AnnotationInvocationHandler.java    |   28 ++++++++++----------
 2 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 289a979..08f2d6e 100644
--- a/ChangeLog
+++ b/ChangeLog
 <at>  <at>  -1,5 +1,15  <at>  <at> 
 2013-03-09  Pekka Enberg <penberg <at> kernel.org>

+	* sun/reflect/annotation/AnnotationInvocationHandler.java:
+	(AnnotationInvocationHandler(Class, Map)): Add type parameters.
+	(create(Class, Map)): Add type parameters.
+	(equals(Class, Map)): Add type parameters.
+	(hashCode(Class, Map)): Add type parameters.
+	(toString(Class, Map)): Add type parameters.
+	(getBoxedReturnType(Method)): Add type parameters.
+
+2013-03-09  Pekka Enberg <penberg <at> kernel.org>
+
 	* .gitignore: Exclude autogen-generated files.

 2013-03-04  Andrew John Hughes  <gnu_andrew <at> member.fsf.org>
diff --git a/sun/reflect/annotation/AnnotationInvocationHandler.java b/sun/reflect/annotation/AnnotationInvocationHandler.java
index 909e7ae..7494967 100644
--- a/sun/reflect/annotation/AnnotationInvocationHandler.java
+++ b/sun/reflect/annotation/AnnotationInvocationHandler.java
 <at>  <at>  -62,21 +62,21  <at>  <at>  public final class AnnotationInvocationHandler
   implements InvocationHandler, Serializable
 {
     private static final long serialVersionUID = 6182022883658399397L;
-    private final Class type;
-    private final Map memberValues;
+    private final Class<? extends Annotation> type;
+    private final Map<String, Object> memberValues;

     /**
      * Construct a new invocation handler for an annotation proxy.
      * Note that the VM is responsible for filling the memberValues map
      * with the default values of all the annotation members.
      */
-    public AnnotationInvocationHandler(Class type, Map memberValues)
+    public AnnotationInvocationHandler(Class<? extends Annotation> type, Map<String, Object> memberValues)
     {
         this.type = type;
         this.memberValues = memberValues;
     }

-    public static Annotation create(Class type, Map memberValues)
+    public static Annotation create(Class<? extends Annotation> type, Map<String, Object> memberValues)
     {
       for (Method m : type.getDeclaredMethods())
         {
 <at>  <at>  -90,7 +90,7  <at>  <at>  public final class AnnotationInvocationHandler
       AnnotationInvocationHandler handler
         = new AnnotationInvocationHandler(type, memberValues);
       return (Annotation) Proxy.newProxyInstance(type.getClassLoader(),
-                                                 new Class[] { type },
+                                                 new Class<?>[] { type },
                                                  handler);
     }

 <at>  <at>  -106,7 +106,7  <at>  <at>  public final class AnnotationInvocationHandler
      * (can) use different representations of annotations that reuse this
      * method.
      */
-    public static boolean equals(Class type, Map memberValues, Object other)
+    public static boolean equals(Class<? extends Annotation> type, Map<String, Object> memberValues,
Object other)
     {
         if (type.isInstance(other))
         {
 <at>  <at>  -217,13 +217,13  <at>  <at>  public final class AnnotationInvocationHandler
      * (can) use different representations of annotations that reuse this
      * method.
      */
-    public static int hashCode(Class type, Map memberValues)
+    public static int hashCode(Class<? extends Annotation> type, Map<String, Object> memberValues)
     {
         int h = 0;
-        Iterator iter = memberValues.keySet().iterator();
+        Iterator<String> iter = memberValues.keySet().iterator();
         while (iter.hasNext())
         {
-            Object key = iter.next();
+            String key = iter.next();
             Object val = memberValues.get(key);
             h += deepHashCode(val) ^ 127 * key.hashCode();
         }
 <at>  <at>  -267,15 +267,15  <at>  <at>  public final class AnnotationInvocationHandler
      * (can) use different representations of annotations that reuse this
      * method.
      */
-    public static String toString(Class type, Map memberValues)
+    public static String toString(Class<? extends Annotation> type, Map<String, Object> memberValues)
     {
         StringBuffer sb = new StringBuffer();
         sb.append(' <at> ').append(type.getName()).append('(');
         String sep = "";
-        Iterator iter = memberValues.keySet().iterator();
+        Iterator<String> iter = memberValues.keySet().iterator();
         while (iter.hasNext())
         {
-            Object key = iter.next();
+            String key = iter.next();
             Object val = memberValues.get(key);
             sb.append(sep).append(key).append('=').append(deepToString(val));
             sep = ", ";
 <at>  <at>  -284,9 +284,9  <at>  <at>  public final class AnnotationInvocationHandler
         return sb.toString();
     }

-    private static Class getBoxedReturnType(Method method)
+    private static Class<?> getBoxedReturnType(Method method)
     {
-        Class returnType = method.getReturnType();
+        Class<?> returnType = method.getReturnType();

         if (returnType == boolean.class)
             return Boolean.class;
--

-- 
1.7.7.6

Pekka Enberg | 9 Mar 10:03 2013

[RFC/PATCH] Add autogen-generated files to gitignore

Make sure "git status" does not show up files after autogen.sh has been
run.

Signed-off-by: Pekka Enberg <penberg <at> kernel.org>
---
 .gitignore |    5 +++++
 ChangeLog  |    4 ++++
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/.gitignore b/.gitignore
index 817e215..1b3d546 100644
--- a/.gitignore
+++ b/.gitignore
 <at>  <at>  -21,3 +21,8  <at>  <at>  install-sh
 missing
 mkinstalldirs
 INSTALL
+m4/libtool.m4
+m4/ltoptions.m4
+m4/ltsugar.m4
+m4/ltversion.m4
+m4/lt~obsolete.m4
diff --git a/ChangeLog b/ChangeLog
index b08c5af..289a979 100644
--- a/ChangeLog
+++ b/ChangeLog
 <at>  <at>  -1,3 +1,7  <at>  <at> 
+2013-03-09  Pekka Enberg <penberg <at> kernel.org>
+
+	* .gitignore: Exclude autogen-generated files.
+
 2013-03-04  Andrew John Hughes  <gnu_andrew <at> member.fsf.org>

 	* gnu/classpath/Pair.java:
--

-- 
1.7.7.6

Matthias Klose | 19 Dec 14:01 2012

[patch] let gjavah accept -source 1.[567]

Currently gjavah only accepts -source 1.4 and lower, and errors out for any
other value. Would it be reasonable to accept higher versions too?

  Matthias

Attachment (gjdoc.diff): text/x-diff, 1009 bytes

Gmane