From 1a7f0de42ce34a79d1942ae1f058a717b5ce2ab9 Mon Sep 17 00:00:00 2001 From: Robert Noland Date: Tue, 1 Dec 2009 21:00:28 +0000 Subject: [PATCH] Update to 3.5 - Remove traditional gecko support and replace with libxul. --- x11-toolkits/swt/Makefile | 27 ++--- x11-toolkits/swt/distinfo | 12 +-- x11-toolkits/swt/files/extra-patch-amd64-os.c | 20 ---- x11-toolkits/swt/files/patch-build.sh | 63 +++++++++--- x11-toolkits/swt/files/patch-build.xml | 2 +- x11-toolkits/swt/files/patch-make_freebsd.mak | 99 +++++++++++++++++-- .../patch-org_eclipse_swt_internal_C.java | 14 +++ .../{extra-patch-i386-os.c => patch-os.c} | 10 +- 8 files changed, 176 insertions(+), 71 deletions(-) delete mode 100644 x11-toolkits/swt/files/extra-patch-amd64-os.c create mode 100644 x11-toolkits/swt/files/patch-org_eclipse_swt_internal_C.java rename x11-toolkits/swt/files/{extra-patch-i386-os.c => patch-os.c} (76%) diff --git a/x11-toolkits/swt/Makefile b/x11-toolkits/swt/Makefile index 4d02449abe8f..29e163748e9a 100644 --- a/x11-toolkits/swt/Makefile +++ b/x11-toolkits/swt/Makefile @@ -6,11 +6,10 @@ # PORTNAME= swt -DISTVERSION= 3.4 -PORTREVISION= 1 +DISTVERSION= 3.5 CATEGORIES= x11-toolkits devel java MASTER_SITES= ${MASTER_SITE_ECLIPSE} -MASTER_SITE_SUBDIR= R-${DISTVERSION}-200806172000 +MASTER_SITE_SUBDIR= R-${DISTVERSION}-200906111540 DISTNAME= swt-${DISTVERSION}-${DIST_EXT} MAINTAINER= rnoland@FreeBSD.org @@ -20,16 +19,14 @@ ONLY_FOR_ARCHS= i386 amd64 CONFLICTS= swt-3.1* -EXTRA_PATCHES= ${PATCHDIR}/extra-patch-${ARCH}-os.c - -SWT_VERSION= 3448 +SWT_VERSION= 3550 OUTPUT_JAR= swt.jar USE_ZIP= yes USE_GL= yes USE_GNOME= gtk20 pkgconfig USE_JAVA= yes -JAVA_VERSION= 1.4+ +JAVA_VERSION= 1.5+ JAVA_OS= native USE_ANT= yes MAKE_ARGS+= -Doutput.jar=${OUTPUT_JAR} @@ -64,17 +61,15 @@ MAKE_GNOME= make_gnome .endif .if defined(WITH_BROWSER) -USE_GECKO= firefox seamonkey mozilla - -.include "${PORTSDIR}/www/mozilla/bsd.gecko.mk" - -PLIST_FILES+= lib/libswt-mozilla-gtk-%%BUILD%%.so -MAKE_MOZILLA= make_mozilla +USE_GECKO= libxul +PLIST_FILES+= lib/libswt-xulrunner-gtk-%%BUILD%%.so +MAKE_MOZILLA= make_xulrunner .endif MAKE_ENV+= MAKE_CAIRO=${MAKE_CAIRO} \ MAKE_GNOME=${MAKE_GNOME} \ - MAKE_MOZILLA=${MAKE_MOZILLA} + MAKE_MOZILLA=${MAKE_MOZILLA} \ + JAVA_HOME=${JAVA_HOME} .if (${ARCH} == "amd64") DIST_EXT= gtk-linux-x86_64 @@ -86,10 +81,6 @@ post-extract: @(cd ${WRKSRC} && ${UNZIP_CMD} -qo "*.zip") @${RM} -f ${WRKSRC}/*.o ${WRKSRC}/*.so ${WRKSRC}/*.jar -post-patch: - @${REINPLACE_CMD} -e 's|mozilla-|${GECKO}-|' \ - ${WRKSRC}/build.sh - do-install: ${MKDIR} ${JAVAJARDIR} ${INSTALL_DATA} ${WRKSRC}/libswt-*.so ${PREFIX}/lib diff --git a/x11-toolkits/swt/distinfo b/x11-toolkits/swt/distinfo index a0af34d06c16..04781c8ee4c9 100644 --- a/x11-toolkits/swt/distinfo +++ b/x11-toolkits/swt/distinfo @@ -1,6 +1,6 @@ -MD5 (swt-3.4-gtk-linux-x86.zip) = b6bf01aa408377f2fe5f617a4dea1876 -SHA256 (swt-3.4-gtk-linux-x86.zip) = c913105c740fe9cbbf7ab49f663acf5640b812995c2f9c716294f6b44a3185c4 -SIZE (swt-3.4-gtk-linux-x86.zip) = 4548421 -MD5 (swt-3.4-gtk-linux-x86_64.zip) = d1caf792ac86f211edcd6f08501a4807 -SHA256 (swt-3.4-gtk-linux-x86_64.zip) = 67013b409f21bcad6ba07c36977d526dd0642184d1068158da9cb9d23b95e34d -SIZE (swt-3.4-gtk-linux-x86_64.zip) = 4730884 +MD5 (swt-3.5-gtk-linux-x86.zip) = b489ab3d8fccb153343bfabf59b8f353 +SHA256 (swt-3.5-gtk-linux-x86.zip) = cf92816555a54e613a8ececc24259f8c6bc1b463be2a6903a87c8278e6cdb337 +SIZE (swt-3.5-gtk-linux-x86.zip) = 4834113 +MD5 (swt-3.5-gtk-linux-x86_64.zip) = 82852b10fbf1597e038afe13183a7cbe +SHA256 (swt-3.5-gtk-linux-x86_64.zip) = 96ca4d807ef998c96dfa043a8cc30a36ff358fb4516cdb41bf7cbd71c2c6e3a7 +SIZE (swt-3.5-gtk-linux-x86_64.zip) = 5021592 diff --git a/x11-toolkits/swt/files/extra-patch-amd64-os.c b/x11-toolkits/swt/files/extra-patch-amd64-os.c deleted file mode 100644 index 8b23b836383d..000000000000 --- a/x11-toolkits/swt/files/extra-patch-amd64-os.c +++ /dev/null @@ -1,20 +0,0 @@ ---- os.c.orig 2007-06-25 16:06:14.000000000 -0400 -+++ os.c 2007-08-10 11:54:37.000000000 -0400 -@@ -17397,11 +17397,16 @@ - jlong rc = 0; - OS_NATIVE_ENTER(env, that, realpath_FUNC); - if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail; -- if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail; -+ if (arg1) { -+ if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail; -+ } else -+ lparg1 = malloc(PATH_MAX); - rc = (jlong)realpath((const char *)lparg0, (char *)lparg1); - fail: - if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0); - if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0); -+ if (!arg1 && lparg1 && rc == 0) -+ free(lparg1); - OS_NATIVE_EXIT(env, that, realpath_FUNC); - return rc; - } diff --git a/x11-toolkits/swt/files/patch-build.sh b/x11-toolkits/swt/files/patch-build.sh index ab957afbc30b..e3b5483cb957 100644 --- a/x11-toolkits/swt/files/patch-build.sh +++ b/x11-toolkits/swt/files/patch-build.sh @@ -1,12 +1,22 @@ ---- build.sh.orig Thu May 31 18:04:22 2007 -+++ build.sh Mon Jun 11 18:25:04 2007 -@@ -65,15 +65,16 @@ +--- build.sh.orig 2009-06-11 16:10:54.000000000 -0500 ++++ build.sh 2009-12-01 14:42:09.000000000 -0600 +@@ -44,6 +44,9 @@ + "FreeBSD") + SWT_OS=freebsd + MAKEFILE=make_freebsd.mak ++ if uname -p > /dev/null 2>&1; then ++ MODEL=`uname -p` ++ fi + ;; + *) + SWT_OS=`uname -s | tr -s '[:upper:]' '[:lower:]'` +@@ -75,15 +78,16 @@ esac # For 64-bit CPUs, we have a switch -if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' ]; then +if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' -o ${MODEL} = 'amd64' ]; then - SWT_PTR_CFLAGS=-DSWT_PTR_SIZE_64 + SWT_PTR_CFLAGS=-DJNI64 export SWT_PTR_CFLAGS if [ -d /lib64 ]; then - XLIB64=-L/usr/X11R6/lib64 @@ -19,7 +29,7 @@ if [ x`pkg-config --exists gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0 && echo YES` = "xYES" ]; then echo "libgnomeui-2.0 found, compiling SWT program support using GNOME" MAKE_GNOME=make_gnome -@@ -81,7 +82,9 @@ +@@ -91,7 +95,9 @@ echo "libgnome-2.0 and libgnomeui-2.0 not found:" echo " *** SWT Program support for GNOME will not be compiled." fi @@ -29,21 +39,44 @@ if [ x`pkg-config --exists cairo && echo YES` = "xYES" ]; then echo "Cairo found, compiling SWT support for the cairo graphics library." MAKE_CAIRO=make_cairo -@@ -89,7 +92,9 @@ +@@ -99,30 +105,17 @@ echo "Cairo not found:" echo " *** Advanced graphics support using cairo will not be compiled." fi +fi -+if [ x${MAKE_MOZILLA} = "xmake_mozilla" ]; then - if [ -z "${MOZILLA_INCLUDES}" -a -z "${MOZILLA_LIBS}" ]; then - if [ x`pkg-config --exists mozilla-xpcom && echo YES` = "xYES" ]; then - MOZILLA_INCLUDES=`pkg-config --cflags mozilla-xpcom` -@@ -107,6 +112,7 @@ - echo "Mozilla/XPCOM or Firefox/XPCOM libraries not found:" - echo " *** Mozilla embedding support will not be compiled." - fi -+fi +-if [ -z "${MOZILLA_INCLUDES}" -a -z "${MOZILLA_LIBS}" ]; then +- if [ x`pkg-config --exists mozilla-xpcom && echo YES` = "xYES" ]; then +- MOZILLA_INCLUDES=`pkg-config --cflags mozilla-xpcom` +- MOZILLA_LIBS=`pkg-config --libs mozilla-xpcom` +- export MOZILLA_INCLUDES +- export MOZILLA_LIBS +- MAKE_MOZILLA=make_mozilla +- elif [ x`pkg-config --exists firefox-xpcom && echo YES` = "xYES" ]; then +- MOZILLA_INCLUDES=`pkg-config --cflags firefox-xpcom` +- MOZILLA_LIBS=`pkg-config --libs firefox-xpcom` +- export MOZILLA_INCLUDES +- export MOZILLA_LIBS +- MAKE_MOZILLA=make_mozilla +- elif [ x`pkg-config --exists libxul && echo YES` = "xYES" ]; then +- XULRUNNER_INCLUDES=`pkg-config --cflags libxul` +- XULRUNNER_LIBS=`pkg-config --libs libxul` +- export XULRUNNER_INCLUDES +- export XULRUNNER_LIBS +- MAKE_MOZILLA=make_xulrunner +- else +- echo "None of the following libraries were found: Mozilla/XPCOM, Firefox/XPCOM, or XULRunner/XPCOM" +- echo " *** Mozilla embedding support will not be compiled." +- fi ++if [ x${MAKE_MOZILLA} = "xmake_xulrunner" ]; then ++ echo "Using libxul for gecko support" ++ XULRUNNER_INCLUDES=`pkg-config --cflags libxul libxul-embedding` ++ XULRUNNER_LIBS=`pkg-config --libs libxul libxul-embedding` ++ export XULRUNNER_INCLUDES ++ export XULRUNNER_LIBS ++else ++ echo "None of the following libraries were found: XULRunner/XPCOM" ++ echo " *** Mozilla embedding support will not be compiled." fi # Find AWT if available diff --git a/x11-toolkits/swt/files/patch-build.xml b/x11-toolkits/swt/files/patch-build.xml index eb6a5dacf532..9e32275530ef 100644 --- a/x11-toolkits/swt/files/patch-build.xml +++ b/x11-toolkits/swt/files/patch-build.xml @@ -1,5 +1,5 @@ --- build.xml.orig 2005-12-05 15:14:46.000000000 -0500 -+++ build.xml 2007-10-11 13:30:41.000000000 -0400 ++++ build.xml 2007-10-11 13:38:48.000000000 -0400 @@ -1,55 +1,57 @@ + diff --git a/x11-toolkits/swt/files/patch-make_freebsd.mak b/x11-toolkits/swt/files/patch-make_freebsd.mak index 5c371d69a986..29a588481389 100644 --- a/x11-toolkits/swt/files/patch-make_freebsd.mak +++ b/x11-toolkits/swt/files/patch-make_freebsd.mak @@ -1,5 +1,12 @@ ---- make_freebsd.mak.orig 2007-10-23 17:56:14.000000000 +0300 -+++ make_freebsd.mak 2008-03-22 21:34:42.000000000 +0200 +--- make_freebsd.mak.orig 2009-06-11 16:10:54.000000000 -0500 ++++ make_freebsd.mak 2009-07-11 08:37:19.000000000 -0500 +@@ -1,5 +1,5 @@ + #******************************************************************************* +-# Copyright (c) 2000, 2007 IBM Corporation and others. ++# Copyright (c) 2000, 2009 IBM Corporation and others. + # All rights reserved. This program and the accompanying materials + # are made available under the terms of the Eclipse Public License v1.0 + # which accompanies this distribution, and is available at @@ -9,7 +9,7 @@ # IBM Corporation - initial API and implementation #******************************************************************************* @@ -18,20 +25,52 @@ CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc -@@ -59,7 +59,7 @@ +@@ -58,8 +58,8 @@ + GNOMECFLAGS = `pkg-config --cflags gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` GNOMELIBS = `pkg-config --libs-only-L gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` -lgnomevfs-2 -lgnome-2 -lgnomeui-2 - GLXCFLAGS = +-GLXCFLAGS = -GLXLIBS = -shared -fPIC -L/usr/X11R6/lib -lGL -lGLU -lm ++GLXCFLAGS = -I$(LOCALBASE)/include +GLXLIBS = -shared -fPIC -L$(LOCALBASE)/lib -lGL -lGLU -lm # Uncomment for Native Stats tool #NATIVE_STATS = -DNATIVE_STATS -@@ -97,17 +97,18 @@ +@@ -78,7 +78,17 @@ + -I$(JAVA_HOME)/include/freebsd \ + ${SWT_PTR_CFLAGS} + MOZILLALIBS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic +- ++MOZILLAEXCLUDES = -DNO__1XPCOMGlueShutdown \ ++ -DNO__1XPCOMGlueStartup \ ++ -DNO__1XPCOMGlueLoadXULFunctions \ ++ -DNO_memmove__ILorg_eclipse_swt_internal_mozilla_nsDynamicFunctionLoad_2I \ ++ -DNO_memmove__JLorg_eclipse_swt_internal_mozilla_nsDynamicFunctionLoad_2J \ ++ -DNO_nsDynamicFunctionLoad_1sizeof \ ++ -DNO__1Call__IIIIII \ ++ -DNO__1Call__JJJJJI \ ++ -DNO_nsDynamicFunctionLoad ++XULRUNNEREXCLUDES = -DNO__1NS_1InitXPCOM2 ++ + SWT_OBJECTS = swt.o c.o c_stats.o callback.o + CDE_OBJECTS = swt.o cde.o cde_structs.o cde_stats.o + AWT_OBJECTS = swt_awt.o +@@ -87,7 +97,7 @@ + ATK_OBJECTS = swt.o atk.o atk_structs.o atk_custom.o atk_stats.o + GNOME_OBJECTS = swt.o gnome.o gnome_structs.o gnome_stats.o + MOZILLA_OBJECTS = swt.o xpcom.o xpcom_custom.o xpcom_structs.o xpcom_stats.o +-XULRUNNER_OBJECTS = swt.o xpcomxul.o xpcomxul_custom.o xpcomxul_structs.o xpcomxul_stats.o xpcomxulglue.o xpcomxulglue_stats.o ++XULRUNNER_OBJECTS = swt.o xpcomxul.o xpcomxul_custom.o xpcomxul_structs.o xpcomxul_stats.o + XPCOMINIT_OBJECTS = swt.o xpcominit.o xpcominit_structs.o xpcominit_stats.o + GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o + +@@ -95,19 +105,20 @@ + -DSWT_VERSION=$(SWT_VERSION) \ + $(NATIVE_STATS) \ -DFREEBSD -DGTK \ ++ -I$(LOCALBASE)/include \ -I$(JAVA_HOME)/include \ -I$(JAVA_HOME)/include/freebsd \ -+ -I$(LOCALBASE)/include \ -fPIC \ ${SWT_PTR_CFLAGS} LIBS = -shared -fPIC @@ -52,3 +91,51 @@ # # SWT libs +@@ -209,16 +220,16 @@ + $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${MOZILLA_LIBS} + + xpcom.o: xpcom.cpp +- $(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom.cpp ++ $(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom.cpp + + xpcom_structs.o: xpcom_structs.cpp +- $(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom_structs.cpp ++ $(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom_structs.cpp + + xpcom_custom.o: xpcom_custom.cpp +- $(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom_custom.cpp ++ $(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom_custom.cpp + + xpcom_stats.o: xpcom_stats.cpp +- $(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom_stats.cpp ++ $(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom_stats.cpp + + # + # XULRunner lib +@@ -229,22 +240,16 @@ + $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALIBS) ${XULRUNNER_LIBS} + + xpcomxul.o: xpcom.cpp +- $(CXX) -o xpcomxul.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom.cpp ++ $(CXX) -o xpcomxul.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom.cpp + + xpcomxul_structs.o: xpcom_structs.cpp +- $(CXX) -o xpcomxul_structs.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom_structs.cpp ++ $(CXX) -o xpcomxul_structs.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom_structs.cpp + + xpcomxul_custom.o: xpcom_custom.cpp +- $(CXX) -o xpcomxul_custom.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom_custom.cpp ++ $(CXX) -o xpcomxul_custom.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom_custom.cpp + + xpcomxul_stats.o: xpcom_stats.cpp +- $(CXX) -o xpcomxul_stats.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom_stats.cpp +- +-xpcomxulglue.o: xpcomglue.cpp +- $(CXX) -o xpcomxulglue.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcomglue.cpp +- +-xpcomxulglue_stats.o: xpcomglue_stats.cpp +- $(CXX) -o xpcomxulglue_stats.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcomglue_stats.cpp ++ $(CXX) -o xpcomxul_stats.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom_stats.cpp + + # + # XPCOMInit lib diff --git a/x11-toolkits/swt/files/patch-org_eclipse_swt_internal_C.java b/x11-toolkits/swt/files/patch-org_eclipse_swt_internal_C.java new file mode 100644 index 000000000000..cfa060d3fb72 --- /dev/null +++ b/x11-toolkits/swt/files/patch-org_eclipse_swt_internal_C.java @@ -0,0 +1,14 @@ +--- org/eclipse/swt/internal/C.java.orig 2009-07-11 08:21:27.000000000 -0500 ++++ org/eclipse/swt/internal/C.java 2009-07-11 08:22:21.000000000 -0500 +@@ -13,9 +13,9 @@ + public class C extends Platform { + + static { +- if ("Linux".equals (System.getProperty ("os.name")) && "motif".equals (Platform.PLATFORM)) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ++ if ("FreeBSD".equals (System.getProperty ("os.name")) && "motif".equals (Platform.PLATFORM)) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + try { +- Library.loadLibrary ("libXm.so.2", false); //$NON-NLS-1$ ++ Library.loadLibrary ("libXm.so.3", false); //$NON-NLS-1$ + } catch (Throwable ex) {} + } + Library.loadLibrary ("swt"); //$NON-NLS-1$ diff --git a/x11-toolkits/swt/files/extra-patch-i386-os.c b/x11-toolkits/swt/files/patch-os.c similarity index 76% rename from x11-toolkits/swt/files/extra-patch-i386-os.c rename to x11-toolkits/swt/files/patch-os.c index f7c566df9a87..ad5cc50177bc 100644 --- a/x11-toolkits/swt/files/extra-patch-i386-os.c +++ b/x11-toolkits/swt/files/patch-os.c @@ -1,7 +1,7 @@ ---- os.c.orig 2007-04-26 14:03:00.000000000 -0400 -+++ os.c 2007-08-10 11:56:22.000000000 -0400 -@@ -17397,11 +17397,16 @@ - jint rc = 0; +--- os.c.orig 2008-12-31 16:16:39.000000000 -0500 ++++ os.c 2008-12-31 16:20:29.000000000 -0500 +@@ -18036,11 +18036,16 @@ + jintLong rc = 0; OS_NATIVE_ENTER(env, that, realpath_FUNC); if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail; - if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail; @@ -9,7 +9,7 @@ + if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail; + } else + lparg1 = malloc(PATH_MAX); - rc = (jint)realpath((const char *)lparg0, (char *)lparg1); + rc = (jintLong)realpath((const char *)lparg0, (char *)lparg1); fail: if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0); if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);