summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogdan Gheorghe <gheorghe>2010-11-02 21:53:56 +0000
committerBogdan Gheorghe <gheorghe>2010-11-02 21:53:56 +0000
commited011ae53336f37735c7d88d3399a168eee420c6 (patch)
tree027b7bd5b6452210b023427aaded08bf37d7bdd2
parentbeefd4f072f61d3e5bd5bdbeb9b7718d8e70c7a0 (diff)
downloadeclipse.platform.swt-ed011ae53336f37735c7d88d3399a168eee420c6.tar.gz
eclipse.platform.swt-ed011ae53336f37735c7d88d3399a168eee420c6.tar.xz
eclipse.platform.swt-ed011ae53336f37735c7d88d3399a168eee420c6.zip
329303 - Port AIX GTK 64 back to 3.6.2
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_custom.h16
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh55
-rwxr-xr-xbundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_aix.mak198
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c36
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.c31
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h469
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c7
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h3
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java14
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.h14
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java13
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.h7
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java25
-rw-r--r--bundles/org.eclipse.swt/tasks/build.xml31
14 files changed, 642 insertions, 277 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_custom.h
index 9d0ae8db58..44c5e556ff 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_custom.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/cairo/library/cairo_custom.h
@@ -20,7 +20,15 @@
* ***** END LICENSE BLOCK ***** */
/* Libraries for dynamic loaded functions */
-#define cairo_pdf_surface_set_size_LIB "libcairo.so.2"
-#define cairo_ps_surface_set_size_LIB "libcairo.so.2"
-#define cairo_surface_set_fallback_resolution_LIB "libcairo.so.2"
-#define cairo_surface_get_type_LIB "libcairo.so.2"
+#ifdef AIX
+#define LIB_CAIRO "libcairo.a(libcairo.so.2)"
+#elif HPUX
+#define LIB_CAIRO "libcairo.so"
+#else
+#define LIB_CAIRO "libcairo.so.2"
+#endif
+
+#define cairo_pdf_surface_set_size_LIB LIB_CAIRO
+#define cairo_ps_surface_set_size_LIB LIB_CAIRO
+#define cairo_surface_set_fallback_resolution_LIB LIB_CAIRO
+#define cairo_surface_get_type_LIB LIB_CAIRO
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
index 032587e392..55f98da58f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
@@ -29,12 +29,22 @@ if [ "${OS}" = "" ]; then
OS=`uname -s`
fi
case $OS in
+ "AIX")
+ SWT_OS=aix
+ MAKEFILE=make_aix.mak
+ ;;
+ "HP-UX")
+ SWT_OS=hpux
+ MAKEFILE=make_hpux.mak
+ ;;
"SunOS")
SWT_OS=solaris
PROC=`uname -i`
MAKEFILE=make_solaris.mak
- if uname -p > /dev/null 2>&1; then
- MODEL=`uname -p`
+ if [ "${MODEL}" = "" ]; then
+ if uname -p > /dev/null 2>&1; then
+ MODEL=`uname -p`
+ fi
fi
if [ ${MODEL} = 'i386' ]; then
MAKEFILE=make_solaris_x86.mak
@@ -67,6 +77,10 @@ case $MODEL in
SWT_ARCH=x86_64
AWT_ARCH=amd64
;;
+ "sparc64")
+ SWT_ARCH=$MODEL
+ AWT_ARCH=sparcv9
+ ;;
i?86)
SWT_ARCH=x86
AWT_ARCH=i386
@@ -78,17 +92,36 @@ case $MODEL in
esac
echo "Model is ${MODEL}"
# 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} = 'sparc64' -o ${MODEL} = 's390x' ]; then
SWT_PTR_CFLAGS=-DJNI64
if [ -d /lib64 ]; then
XLIB64=-L/usr/X11R6/lib64
export XLIB64
fi
if [ ${MODEL} = 'ppc64' ]; then
- SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -m64"
- XLIB64="${XLIB64} -L/usr/lib64"
- SWT_LFLAGS=-m64
- export SWT_LFLAGS
+ if [ ${OS} = 'AIX' ]; then
+ SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -maix64"
+ SWT_LFLAGS=-maix64
+ export SWT_LFLAGS
+ else
+ SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -m64"
+ XLIB64="${XLIB64} -L/usr/lib64"
+ SWT_LFLAGS=-m64
+ export SWT_LFLAGS
+ fi
+ fi
+ if [ ${MODEL} = 'ia64' ]; then
+ if [ ${OS} = 'HP-UX' ]; then
+ SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -mlp64"
+ SWT_LFLAGS=-mlp64
+ export SWT_LFLAGS
+ fi
+ fi
+ if [ ${MODEL} = 'sparc64' ]; then
+ SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -xarch=v9"
+ SWT_LFLAGS="-xarch=v9"
+ SWT_CDE_64SUFFIX="/64"
+ export SWT_LFLAGS SWT_CDE_64SUFFIX
fi
export SWT_PTR_CFLAGS
fi
@@ -98,7 +131,7 @@ if [ ${MODEL} = 's390' ]; then
export SWT_LFLAGS SWT_PTR_CFLAGS
fi
-if [ x`pkg-config --exists gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0 && echo YES` = "xYES" ]; then
+if [ x`pkg-config --exists gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0 && echo YES` = "xYES" -a ${MODEL} != "sparc64" ]; then
echo "libgnomeui-2.0 found, compiling SWT program support using GNOME"
MAKE_GNOME=make_gnome
else
@@ -114,7 +147,7 @@ else
echo " *** Advanced graphics support using cairo will not be compiled."
fi
-if [ -z "${MOZILLA_INCLUDES}" -a -z "${MOZILLA_LIBS}" ]; then
+if [ -z "${MOZILLA_INCLUDES}" -a -z "${MOZILLA_LIBS}" -a ${MODEL} != 'sparc64' ]; 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`
@@ -149,7 +182,7 @@ fi
# Find AWT if available
if [ -z "${AWT_LIB_PATH}" ]; then
- if [ -f ${JAVA_HOME}/jre/lib/${AWT_ARCH}/libjawt.so ]; then
+ if [ -f ${JAVA_HOME}/jre/lib/${AWT_ARCH}/libjawt.* ]; then
AWT_LIB_PATH=${JAVA_HOME}/jre/lib/${AWT_ARCH}
export AWT_LIB_PATH
else
@@ -158,7 +191,7 @@ if [ -z "${AWT_LIB_PATH}" ]; then
fi
fi
-if [ -f ${AWT_LIB_PATH}/libjawt.so ]; then
+if [ -f ${AWT_LIB_PATH}/libjawt.* ]; then
echo "libjawt.so found, the SWT/AWT integration library will be compiled."
MAKE_AWT=make_awt
else
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_aix.mak b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_aix.mak
new file mode 100755
index 0000000000..a951b1be48
--- /dev/null
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_aix.mak
@@ -0,0 +1,198 @@
+#*******************************************************************************
+# Copyright (c) 2000, 2010 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
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# IBM Corporation - initial API and implementation
+#*******************************************************************************
+
+# Makefile for creating SWT libraries for Linux GTK
+
+include make_common.mak
+
+SWT_VERSION=$(maj_ver)$(min_ver)
+
+# Define the various shared libraries to be build.
+WS_PREFIX = gtk
+SWT_PREFIX = swt
+CDE_PREFIX = swt-cde
+AWT_PREFIX = swt-awt
+SWTPI_PREFIX = swt-pi
+CAIRO_PREFIX = swt-cairo
+ATK_PREFIX = swt-atk
+GNOME_PREFIX = swt-gnome
+GLX_PREFIX = swt-glx
+
+SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+CDE_LIB = lib$(CDE_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+AWT_LIB = lib$(AWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+SWTPI_LIB = lib$(SWTPI_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+CAIRO_LIB = lib$(CAIRO_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+ATK_LIB = lib$(ATK_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+GNOME_LIB = lib$(GNOME_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+GLX_LIB = lib$(GLX_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+
+CAIROCFLAGS = `pkg-config --cflags cairo`
+CAIROLIBS = `pkg-config --libs cairo` -lcairo
+
+GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
+GTKLIBS = `pkg-config --libs gtk+-2.0 gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lXtst -lX11
+
+CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
+
+AWT_LFLAGS = -shared -s ${SWT_LFLAGS}
+AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -lX11
+
+ATKCFLAGS = `pkg-config --cflags atk gtk+-2.0`
+ATKLIBS = `pkg-config --libs atk gtk+-2.0`
+
+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
+
+GLXLIBS = -L/usr/X11R6/lib -lGL -lGLU -lm
+
+# Uncomment for Native Stats tool
+#NATIVE_STATS = -DNATIVE_STATS
+
+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
+SWTPI_OBJECTS = swt.o os.o os_structs.o os_custom.o os_stats.o
+CAIRO_OBJECTS = swt.o cairo.o cairo_structs.o cairo_stats.o
+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
+GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
+
+CFLAGS = -O -Wall \
+ -DSWT_VERSION=$(SWT_VERSION) \
+ $(NATIVE_STATS) \
+ -DAIX -DGTK \
+ -I$(JAVA_HOME)/include \
+ ${SWT_PTR_CFLAGS}
+LFLAGS = -shared -s ${SWT_LFLAGS}
+
+
+all: make_swt make_atk #make_glx
+
+#
+# SWT libs
+#
+make_swt: $(SWT_LIB) $(SWTPI_LIB)
+
+$(SWT_LIB): $(SWT_OBJECTS)
+ $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
+
+callback.o: callback.c callback.h
+ $(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
+
+$(SWTPI_LIB): $(SWTPI_OBJECTS)
+ $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
+
+swt.o: swt.c swt.h
+ $(CC) $(CFLAGS) -c swt.c
+os.o: os.c os.h swt.h os_custom.h
+ $(CC) $(CFLAGS) $(GTKCFLAGS) -c os.c
+os_structs.o: os_structs.c os_structs.h os.h swt.h
+ $(CC) $(CFLAGS) $(GTKCFLAGS) -c os_structs.c
+os_custom.o: os_custom.c os_structs.h os.h swt.h
+ $(CC) $(CFLAGS) $(GTKCFLAGS) -c os_custom.c
+os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
+ $(CC) $(CFLAGS) $(GTKCFLAGS) -c os_stats.c
+
+#
+# CAIRO libs
+#
+make_cairo: $(CAIRO_LIB)
+
+$(CAIRO_LIB): $(CAIRO_OBJECTS)
+ $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
+
+cairo.o: cairo.c cairo.h swt.h
+ $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
+cairo_structs.o: cairo_structs.c cairo_structs.h cairo.h swt.h
+ $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_structs.c
+cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
+ $(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_stats.c
+
+#
+# CDE lib
+#
+
+make_cde: $(CDE_LIB)
+
+$(CDE_LIB): $(CDE_OBJECTS)
+ $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
+
+#
+# AWT lib
+#
+make_awt:$(AWT_LIB)
+
+$(AWT_LIB): $(AWT_OBJECTS)
+ $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
+
+#
+# Atk lib
+#
+make_atk: $(ATK_LIB)
+
+$(ATK_LIB): $(ATK_OBJECTS)
+ $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
+
+atk.o: atk.c atk.h
+ $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
+atk_structs.o: atk_structs.c atk_structs.h atk.h
+ $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_structs.c
+atk_custom.o: atk_custom.c atk_structs.h atk.h
+ $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_custom.c
+atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
+ $(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_stats.c
+
+#
+# Gnome lib
+#
+make_gnome: $(GNOME_LIB)
+
+$(GNOME_LIB): $(GNOME_OBJECTS)
+ $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
+
+gnome.o: gnome.c
+ $(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
+
+gnome_structs.o: gnome_structs.c
+ $(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome_structs.c
+
+gnome_stats.o: gnome_stats.c gnome_stats.h
+ $(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome_stats.c
+
+#
+# GLX lib
+#
+make_glx: $(GLX_LIB)
+
+$(GLX_LIB): $(GLX_OBJECTS)
+ $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
+
+glx.o: glx.c
+ $(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
+
+glx_structs.o: glx_structs.c
+ $(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_structs.c
+
+glx_stats.o: glx_stats.c glx_stats.h
+ $(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_stats.c
+
+#
+# Install
+#
+install: all
+ cp *.a $(OUTPUT_DIR)
+
+#
+# Clean
+#
+clean:
+ rm -f *.o *.a
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
index 7e5b1172d5..04527a3e9e 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os.c
@@ -1107,6 +1107,42 @@ JNIEXPORT jint JNICALL OS_NATIVE(PangoRectangle_1sizeof)
}
#endif
+#ifndef NO_RTLD_1GLOBAL
+JNIEXPORT jint JNICALL OS_NATIVE(RTLD_1GLOBAL)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, RTLD_1GLOBAL_FUNC);
+ rc = (jint)RTLD_GLOBAL;
+ OS_NATIVE_EXIT(env, that, RTLD_1GLOBAL_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_RTLD_1LAZY
+JNIEXPORT jint JNICALL OS_NATIVE(RTLD_1LAZY)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, RTLD_1LAZY_FUNC);
+ rc = (jint)RTLD_LAZY;
+ OS_NATIVE_EXIT(env, that, RTLD_1LAZY_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_RTLD_1NOW
+JNIEXPORT jint JNICALL OS_NATIVE(RTLD_1NOW)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, RTLD_1NOW_FUNC);
+ rc = (jint)RTLD_NOW;
+ OS_NATIVE_EXIT(env, that, RTLD_1NOW_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_XAnyEvent_1sizeof
JNIEXPORT jint JNICALL OS_NATIVE(XAnyEvent_1sizeof)
(JNIEnv *env, jclass that)
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.c
index 5d757b0889..704af6cb66 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.c
@@ -66,8 +66,6 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1file_1chooser_1dialog_1new)
rc = (jintLong)gtk_file_chooser_dialog_new(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
*/
{
- static int initialized = 0;
- static void *handle = NULL;
/*
* On AMD64, it is critical that functions which have a variable number of
* arguments, indicated by '...', include the '...' in their prototype. This
@@ -76,17 +74,10 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1file_1chooser_1dialog_1new)
* For some reason, we must also explicitly declare all of the arguments we
* are passing in, otherwise it crashes.
*/
-/* typedef jintLong (*FPTR)(jbyte *, jintLong, jint, jintLong, ...); */
- typedef jintLong (*FPTR)(jbyte *, jintLong, jint, jintLong, jint, jintLong, jint, jintLong, ...);
- static FPTR fptr;
- rc = 0;
- if (!initialized) {
- if (!handle) handle = dlopen(gtk_file_chooser_dialog_new_LIB, RTLD_LAZY);
- if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_dialog_new");
- initialized = 1;
- }
- if (fptr) {
- rc = (jintLong)(*fptr)(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+ typedef jintLong (CALLING_CONVENTION* FPTR)(jbyte *, jintLong, jint, jintLong, jint, jintLong, jint, jintLong, ...);
+ LOAD_FUNCTION(fp, gtk_file_chooser_dialog_new)
+ if (fp) {
+ rc = (jintLong)((FPTR) fp)(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
}
}
fail:
@@ -107,8 +98,6 @@ JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1cell_1layout_1set_1attributes)
gtk_cell_layout_set_attributes(arg0, arg1, lparg2, arg3, arg4);
*/
{
- static int initialized = 0;
- static void *handle = NULL;
/*
* On AMD64, it is critical that functions which have a variable number of
* arguments, indicated by '...', include the '...' in their prototype. This
@@ -117,16 +106,10 @@ JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1cell_1layout_1set_1attributes)
* For some reason, we must also explicitly declare all of the arguments we
* are passing in, otherwise it crashes.
*/
-/* typedef void (*FPTR)(jintLong, jintLong, ...); */
typedef void (*FPTR)(jintLong, jintLong, jbyte *, jint, jintLong, ...);
- static FPTR fptr;
- if (!initialized) {
- if (!handle) handle = dlopen(gtk_cell_layout_set_attributes_LIB, RTLD_LAZY);
- if (handle) fptr = (FPTR)dlsym(handle, "gtk_cell_layout_set_attributes");
- initialized = 1;
- }
- if (fptr) {
- (*fptr)(arg0, arg1, lparg2, arg3, arg4);
+ LOAD_FUNCTION(fp, gtk_cell_layout_set_attributes)
+ if (fp) {
+ ((FPTR)fp)(arg0, arg1, lparg2, arg3, arg4);
}
}
fail:
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h
index 90533e59ec..1f2b7de61f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_custom.h
@@ -25,229 +25,258 @@
#define GtkTextIter_sizeof() sizeof(GtkTextIter)
#define GtkTreeIter_sizeof() sizeof(GtkTreeIter)
+#ifdef AIX
+#define LIB_XRENDER "libXrender.a(libXrender.so)"
+#define LIB_GTK "libgtk-x11-2.0.a(libgtk-x11-2.0.so.0)"
+#define LIB_GDK "libgdk-x11-2.0.a(libgdk-x11-2.0.so.0)"
+#define LIB_ATK "libatk-1.0.a(libatk-1.0.so.0)"
+#define LIB_PANGO "libpango-1.0.a(libpango-1.0.so.0"
+#define LIB_PANGOCAIRO "libpangocairo-1.0.a(libpangocairo-1.0.so.0)"
+#define LIB_GIO "libgio-2.0.a(libgio-2.0.so.0)"
+#define LIB_FONTCONFIG "libfontconfig.a(libfontconfig.so.1)"
+#elif HPUX
+#define LIB_XRENDER "libXrender.so"
+#define LIB_GTK "libgtk-x11-2.0.so"
+#define LIB_GDK "libgdk-x11-2.0.so"
+#define LIB_ATK "libatk-1.0.so"
+#define LIB_PANGO "libpango-1.0.so"
+#define LIB_PANGOCAIRO "libpangocairo-1.0.so"
+#define LIB_GIO "libgio-2.0.so"
+#define LIB_FONTCONFIG "libfontconfig.so"
+#else
+#define LIB_XRENDER "libXrender.so"
+#define LIB_GTK "libgtk-x11-2.0.so.0"
+#define LIB_GDK "libgdk-x11-2.0.so.0"
+#define LIB_ATK "libatk-1.0.so.0"
+#define LIB_PANGO "libpango-1.0.so.0"
+#define LIB_PANGOCAIRO "libpangocairo-1.0.so.0"
+#define LIB_GIO "libgio-2.0.so.0"
+#define LIB_FONTCONFIG "libfontconfig.so.1"
+#endif
+
/* Libraries for dynamic loaded functions */
-#define XRenderQueryExtension_LIB "libXrender.so"
-#define XRenderQueryVersion_LIB "libXrender.so"
-#define XRenderFindStandardFormat_LIB "libXrender.so"
-#define XRenderFindVisualFormat_LIB "libXrender.so"
-#define XRenderComposite_LIB "libXrender.so"
-#define XRenderCreatePicture_LIB "libXrender.so"
-#define XRenderFreePicture_LIB "libXrender.so"
-#define XRenderSetPictureClipRectangles_LIB "libXrender.so"
-#define XRenderSetPictureTransform_LIB "libXrender.so"
-#define gtk_calendar_display_options_LIB "libgtk-x11-2.0.so.0"
-#define gtk_calendar_get_date_LIB "libgtk-x11-2.0.so.0"
-#define gtk_calendar_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_calendar_select_day_LIB "libgtk-x11-2.0.so.0"
-#define gtk_calendar_select_month_LIB "libgtk-x11-2.0.so.0"
-#define gtk_calendar_set_display_options_LIB "libgtk-x11-2.0.so.0"
-#define gtk_cell_layout_set_attributes_LIB "libgtk-x11-2.0.so.0"
-#define gtk_cell_layout_clear_LIB "libgtk-x11-2.0.so.0"
-#define gtk_cell_layout_pack_start_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_entry_new_text_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_new_text_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_insert_text_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_remove_text_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_get_active_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_get_model_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_set_active_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_set_focus_on_click_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_popup_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_popdown_LIB "libgtk-x11-2.0.so.0"
-#define gtk_entry_text_index_to_layout_index_LIB "libgtk-x11-2.0.so.0"
-#define gtk_entry_get_inner_border_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_add_filter_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_dialog_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_current_folder_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_filename_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_filenames_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_filter_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_uri_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_uris_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_current_folder_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_current_folder_uri_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_current_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_do_overwrite_confirmation_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_extra_widget_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_filename_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_filter_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_local_only_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_uri_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_select_multiple_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_add_pattern_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_get_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_set_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_get_expanded_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_get_label_widget_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_set_expanded_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_set_label_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_set_label_widget_LIB "libgtk-x11-2.0.so.0"
-#define gtk_label_set_line_wrap_mode_LIB "libgtk-x11-2.0.so.0"
-#define gtk_icon_info_load_icon_LIB "libgtk-x11-2.0.so.0"
-#define gtk_icon_info_free_LIB "libgtk-x11-2.0.so.0"
-#define gtk_icon_theme_lookup_by_gicon_LIB "libgtk-x11-2.0.so.0"
-#define gtk_icon_theme_get_default_LIB "libgtk-x11-2.0.so.0"
-#define gtk_menu_shell_set_take_focus_LIB "libgtk-x11-2.0.so.0"
-#define gtk_window_set_keep_below_LIB "libgtk-x11-2.0.so.0"
-#define gtk_tooltip_trigger_tooltip_query_LIB "libgtk-x11-2.0.so.0"
-#define gtk_tree_selection_count_selected_rows_LIB "libgtk-x11-2.0.so.0"
-#define gtk_tree_selection_get_selected_rows_LIB "libgtk-x11-2.0.so.0"
-#define gtk_tree_view_column_cell_get_position_LIB "libgtk-x11-2.0.so.0"
-#define gtk_tree_view_set_grid_lines_LIB "libgtk-x11-2.0.so.0"
-#define gtk_entry_set_alignment_LIB "libgtk-x11-2.0.so.0"
-#define gtk_entry_set_icon_from_stock_LIB "libgtk-x11-2.0.so.0"
-#define gtk_entry_set_icon_sensitive_LIB "libgtk-x11-2.0.so.0"
-#define gdk_cursor_new_from_pixbuf_LIB "libgdk-x11-2.0.so.0"
-#define gdk_display_get_default_LIB "libgdk-x11-2.0.so.0"
-#define gdk_display_supports_cursor_color_LIB "libgdk-x11-2.0.so.0"
-#define gdk_draw_pixbuf_LIB "libgdk-x11-2.0.so.0"
-#define gdk_pixbuf_save_to_bufferv_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_default_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_monitor_at_point_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_monitor_at_window_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_monitor_geometry_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_n_monitors_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_number_LIB "libgdk-x11-2.0.so.0"
-#define gtk_status_icon_get_geometry_LIB "libgtk-x11-2.0.so.0"
-#define gtk_status_icon_get_visible_LIB "libgtk-x11-2.0.so.0"
-#define gtk_status_icon_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_status_icon_set_from_pixbuf_LIB "libgtk-x11-2.0.so.0"
-#define gtk_status_icon_set_visible_LIB "libgtk-x11-2.0.so.0"
-#define gtk_status_icon_set_tooltip_LIB "libgtk-x11-2.0.so.0"
-#define gtk_window_get_group_LIB "libgtk-x11-2.0.so.0"
-#define gtk_window_get_opacity_LIB "libgtk-x11-2.0.so.0"
-#define gdk_window_restack_LIB "libgdk-x11-2.0.so.0"
-#define gdk_window_set_keep_above_LIB "libgdk-x11-2.0.so.0"
-#define gdk_window_set_accept_focus_LIB "libgdk-x11-2.0.so.0"
-#define gtk_window_set_opacity_LIB "libgtk-x11-2.0.so.0"
-#define gtk_window_set_skip_taskbar_hint_LIB "libgtk-x11-2.0.so.0"
-#define gtk_widget_is_composited_LIB "libgtk-x11-2.0.so.0"
-#define gtk_widget_set_tooltip_text_LIB "libgtk-x11-2.0.so.0"
-#define gdk_x11_screen_get_window_manager_name_LIB "libgdk-x11-2.0.so.0"
-#define gdk_x11_screen_lookup_visual_LIB "libgdk-x11-2.0.so.0"
+#define XRenderQueryExtension_LIB LIB_XRENDER
+#define XRenderQueryVersion_LIB LIB_XRENDER
+#define XRenderFindStandardFormat_LIB LIB_XRENDER
+#define XRenderFindVisualFormat_LIB LIB_XRENDER
+#define XRenderComposite_LIB LIB_XRENDER
+#define XRenderCreatePicture_LIB LIB_XRENDER
+#define XRenderFreePicture_LIB LIB_XRENDER
+#define XRenderSetPictureClipRectangles_LIB LIB_XRENDER
+#define XRenderSetPictureTransform_LIB LIB_XRENDER
+#define gtk_calendar_display_options_LIB LIB_GTK
+#define gtk_calendar_get_date_LIB LIB_GTK
+#define gtk_calendar_new_LIB LIB_GTK
+#define gtk_calendar_select_day_LIB LIB_GTK
+#define gtk_calendar_select_month_LIB LIB_GTK
+#define gtk_calendar_set_display_options_LIB LIB_GTK
+#define gtk_cell_layout_set_attributes_LIB LIB_GTK
+#define gtk_cell_layout_clear_LIB LIB_GTK
+#define gtk_cell_layout_pack_start_LIB LIB_GTK
+#define gtk_combo_box_entry_new_text_LIB LIB_GTK
+#define gtk_combo_box_new_text_LIB LIB_GTK
+#define gtk_combo_box_insert_text_LIB LIB_GTK
+#define gtk_combo_box_remove_text_LIB LIB_GTK
+#define gtk_combo_box_get_active_LIB LIB_GTK
+#define gtk_combo_box_get_model_LIB LIB_GTK
+#define gtk_combo_box_set_active_LIB LIB_GTK
+#define gtk_combo_box_set_focus_on_click_LIB LIB_GTK
+#define gtk_combo_box_popup_LIB LIB_GTK
+#define gtk_combo_box_popdown_LIB LIB_GTK
+#define gtk_entry_text_index_to_layout_index_LIB LIB_GTK
+#define gtk_entry_get_inner_border_LIB LIB_GTK
+#define gtk_file_chooser_add_filter_LIB LIB_GTK
+#define gtk_file_chooser_dialog_new_LIB LIB_GTK
+#define gtk_file_chooser_get_current_folder_LIB LIB_GTK
+#define gtk_file_chooser_get_filename_LIB LIB_GTK
+#define gtk_file_chooser_get_filenames_LIB LIB_GTK
+#define gtk_file_chooser_get_filter_LIB LIB_GTK
+#define gtk_file_chooser_get_uri_LIB LIB_GTK
+#define gtk_file_chooser_get_uris_LIB LIB_GTK
+#define gtk_file_chooser_set_current_folder_LIB LIB_GTK
+#define gtk_file_chooser_set_current_folder_uri_LIB LIB_GTK
+#define gtk_file_chooser_set_current_name_LIB LIB_GTK
+#define gtk_file_chooser_set_do_overwrite_confirmation_LIB LIB_GTK
+#define gtk_file_chooser_set_extra_widget_LIB LIB_GTK
+#define gtk_file_chooser_set_filename_LIB LIB_GTK
+#define gtk_file_chooser_set_filter_LIB LIB_GTK
+#define gtk_file_chooser_set_local_only_LIB LIB_GTK
+#define gtk_file_chooser_set_uri_LIB LIB_GTK
+#define gtk_file_chooser_set_select_multiple_LIB LIB_GTK
+#define gtk_file_filter_add_pattern_LIB LIB_GTK
+#define gtk_file_filter_new_LIB LIB_GTK
+#define gtk_file_filter_get_name_LIB LIB_GTK
+#define gtk_file_filter_set_name_LIB LIB_GTK
+#define gtk_expander_get_expanded_LIB LIB_GTK
+#define gtk_expander_get_label_widget_LIB LIB_GTK
+#define gtk_expander_new_LIB LIB_GTK
+#define gtk_expander_set_expanded_LIB LIB_GTK
+#define gtk_expander_set_label_LIB LIB_GTK
+#define gtk_expander_set_label_widget_LIB LIB_GTK
+#define gtk_label_set_line_wrap_mode_LIB LIB_GTK
+#define gtk_icon_info_load_icon_LIB LIB_GTK
+#define gtk_icon_info_free_LIB LIB_GTK
+#define gtk_icon_theme_lookup_by_gicon_LIB LIB_GTK
+#define gtk_icon_theme_get_default_LIB LIB_GTK
+#define gtk_menu_shell_set_take_focus_LIB LIB_GTK
+#define gtk_window_set_keep_below_LIB LIB_GTK
+#define gtk_tooltip_trigger_tooltip_query_LIB LIB_GTK
+#define gtk_tree_selection_count_selected_rows_LIB LIB_GTK
+#define gtk_tree_selection_get_selected_rows_LIB LIB_GTK
+#define gtk_tree_view_column_cell_get_position_LIB LIB_GTK
+#define gtk_tree_view_set_grid_lines_LIB LIB_GTK
+#define gtk_entry_set_alignment_LIB LIB_GTK
+#define gtk_entry_set_icon_from_stock_LIB LIB_GTK
+#define gtk_entry_set_icon_sensitive_LIB LIB_GTK
+#define gdk_cursor_new_from_pixbuf_LIB LIB_GDK
+#define gdk_display_get_default_LIB LIB_GDK
+#define gdk_display_supports_cursor_color_LIB LIB_GDK
+#define gdk_draw_pixbuf_LIB LIB_GDK
+#define gdk_pixbuf_save_to_bufferv_LIB LIB_GDK
+#define gdk_screen_get_default_LIB LIB_GDK
+#define gdk_screen_get_monitor_at_point_LIB LIB_GDK
+#define gdk_screen_get_monitor_at_window_LIB LIB_GDK
+#define gdk_screen_get_monitor_geometry_LIB LIB_GDK
+#define gdk_screen_get_n_monitors_LIB LIB_GDK
+#define gdk_screen_get_number_LIB LIB_GDK
+#define gtk_status_icon_get_geometry_LIB LIB_GTK
+#define gtk_status_icon_get_visible_LIB LIB_GTK
+#define gtk_status_icon_new_LIB LIB_GTK
+#define gtk_status_icon_set_from_pixbuf_LIB LIB_GTK
+#define gtk_status_icon_set_visible_LIB LIB_GTK
+#define gtk_status_icon_set_tooltip_LIB LIB_GTK
+#define gtk_window_get_group_LIB LIB_GTK
+#define gtk_window_get_opacity_LIB LIB_GTK
+#define gdk_window_restack_LIB LIB_GDK
+#define gdk_window_set_keep_above_LIB LIB_GDK
+#define gdk_window_set_accept_focus_LIB LIB_GDK
+#define gtk_window_set_opacity_LIB LIB_GTK
+#define gtk_window_set_skip_taskbar_hint_LIB LIB_GTK
+#define gtk_widget_is_composited_LIB LIB_GTK
+#define gtk_widget_set_tooltip_text_LIB LIB_GTK
+#define gdk_x11_screen_get_window_manager_name_LIB LIB_GDK
+#define gdk_x11_screen_lookup_visual_LIB LIB_GDK
-#define atk_object_add_relationship_LIB "libatk-1.0.so.0"
-#define atk_object_remove_relationship_LIB "libatk-1.0.so.0"
-#define pango_attr_underline_color_new_LIB "libpango-1.0.so.0"
-#define pango_attr_strikethrough_color_new_LIB "libpango-1.0.so.0"
-#define pango_font_metrics_get_underline_thickness_LIB "libpango-1.0.so.0"
-#define pango_font_metrics_get_underline_position_LIB "libpango-1.0.so.0"
-#define pango_font_metrics_get_strikethrough_thickness_LIB "libpango-1.0.so.0"
-#define pango_font_metrics_get_strikethrough_position_LIB "libpango-1.0.so.0"
-#define pango_layout_set_auto_dir_LIB "libpango-1.0.so.0"
-#define pango_cairo_create_layout_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_context_set_font_options_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_context_get_font_options_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_layout_path_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_show_layout_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_create_context_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_new_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_get_default_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_set_resolution_LIB "libpangocairo-1.0.so.0"
-#define gdk_cairo_set_source_color_LIB "libgdk-x11-2.0.so.0"
-#define gdk_cairo_region_LIB "libgdk-x11-2.0.so.0"
-#define gdk_cairo_create_LIB "libgdk-x11-2.0.so.0"
-#define gtk_enumerate_printers_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_bottom_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_left_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_orientation_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_page_height_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_page_width_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_paper_height_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_paper_size_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_paper_width_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_right_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_top_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_bottom_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_left_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_orientation_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_paper_size_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_right_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_top_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_free_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_get_display_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_get_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_get_ppd_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_get_height_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_get_width_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_is_custom_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_new_custom_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_new_from_ppd_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_get_printer_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_get_settings_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_get_status_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_get_surface_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_get_title_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_send_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_set_source_file_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_foreach_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_collate_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_n_copies_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_orientation_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_page_ranges_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_paper_height_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_paper_width_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_print_pages_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_printer_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_resolution_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_collate_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_n_copies_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_orientation_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_page_ranges_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_print_pages_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_printer_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_get_current_page_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_get_page_setup_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_get_selected_printer_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_get_settings_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_set_current_page_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_set_manual_capabilities_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_set_page_setup_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_set_settings_LIB "libgtk-x11-2.0.so.0"
-#define gtk_printer_get_backend_LIB "libgtk-x11-2.0.so.0"
-#define gtk_printer_get_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_printer_is_default_LIB "libgtk-x11-2.0.so.0"
-#define FcConfigAppFontAddFile_LIB "libfontconfig.so.1"
+#define atk_object_add_relationship_LIB LIB_ATK
+#define atk_object_remove_relationship_LIB LIB_ATK
+#define pango_attr_underline_color_new_LIB LIB_PANGO
+#define pango_attr_strikethrough_color_new_LIB LIB_PANGO
+#define pango_font_metrics_get_underline_thickness_LIB LIB_PANGO
+#define pango_font_metrics_get_underline_position_LIB LIB_PANGO
+#define pango_font_metrics_get_strikethrough_thickness_LIB LIB_PANGO
+#define pango_font_metrics_get_strikethrough_position_LIB LIB_PANGO
+#define pango_layout_set_auto_dir_LIB LIB_PANGO
+#define pango_cairo_create_layout_LIB LIB_PANGOCAIRO
+#define pango_cairo_context_set_font_options_LIB LIB_PANGOCAIRO
+#define pango_cairo_context_get_font_options_LIB LIB_PANGOCAIRO
+#define pango_cairo_layout_path_LIB LIB_PANGOCAIRO
+#define pango_cairo_show_layout_LIB LIB_PANGOCAIRO
+#define pango_cairo_font_map_create_context_LIB LIB_PANGOCAIRO
+#define pango_cairo_font_map_new_LIB LIB_PANGOCAIRO
+#define pango_cairo_font_map_get_default_LIB LIB_PANGOCAIRO
+#define pango_cairo_font_map_set_resolution_LIB LIB_PANGOCAIRO
+#define gdk_cairo_set_source_color_LIB LIB_GDK
+#define gdk_cairo_region_LIB LIB_GDK
+#define gdk_cairo_create_LIB LIB_GDK
+#define gtk_enumerate_printers_LIB LIB_GTK
+#define gtk_page_setup_get_bottom_margin_LIB LIB_GTK
+#define gtk_page_setup_get_left_margin_LIB LIB_GTK
+#define gtk_page_setup_get_orientation_LIB LIB_GTK
+#define gtk_page_setup_get_page_height_LIB LIB_GTK
+#define gtk_page_setup_get_page_width_LIB LIB_GTK
+#define gtk_page_setup_get_paper_height_LIB LIB_GTK
+#define gtk_page_setup_get_paper_size_LIB LIB_GTK
+#define gtk_page_setup_get_paper_width_LIB LIB_GTK
+#define gtk_page_setup_get_right_margin_LIB LIB_GTK
+#define gtk_page_setup_get_top_margin_LIB LIB_GTK
+#define gtk_page_setup_new_LIB LIB_GTK
+#define gtk_page_setup_set_bottom_margin_LIB LIB_GTK
+#define gtk_page_setup_set_left_margin_LIB LIB_GTK
+#define gtk_page_setup_set_orientation_LIB LIB_GTK
+#define gtk_page_setup_set_paper_size_LIB LIB_GTK
+#define gtk_page_setup_set_right_margin_LIB LIB_GTK
+#define gtk_page_setup_set_top_margin_LIB LIB_GTK
+#define gtk_paper_size_free_LIB LIB_GTK
+#define gtk_paper_size_get_display_name_LIB LIB_GTK
+#define gtk_paper_size_get_name_LIB LIB_GTK
+#define gtk_paper_size_get_ppd_name_LIB LIB_GTK
+#define gtk_paper_size_get_height_LIB LIB_GTK
+#define gtk_paper_size_get_width_LIB LIB_GTK
+#define gtk_paper_size_is_custom_LIB LIB_GTK
+#define gtk_paper_size_new_LIB LIB_GTK
+#define gtk_paper_size_new_custom_LIB LIB_GTK
+#define gtk_paper_size_new_from_ppd_LIB LIB_GTK
+#define gtk_print_job_get_printer_LIB LIB_GTK
+#define gtk_print_job_get_settings_LIB LIB_GTK
+#define gtk_print_job_get_status_LIB LIB_GTK
+#define gtk_print_job_get_surface_LIB LIB_GTK
+#define gtk_print_job_get_title_LIB LIB_GTK
+#define gtk_print_job_new_LIB LIB_GTK
+#define gtk_print_job_send_LIB LIB_GTK
+#define gtk_print_job_set_source_file_LIB LIB_GTK
+#define gtk_print_settings_foreach_LIB LIB_GTK
+#define gtk_print_settings_get_LIB LIB_GTK
+#define gtk_print_settings_get_collate_LIB LIB_GTK
+#define gtk_print_settings_get_n_copies_LIB LIB_GTK
+#define gtk_print_settings_get_orientation_LIB LIB_GTK
+#define gtk_print_settings_get_page_ranges_LIB LIB_GTK
+#define gtk_print_settings_get_paper_height_LIB LIB_GTK
+#define gtk_print_settings_get_paper_width_LIB LIB_GTK
+#define gtk_print_settings_get_print_pages_LIB LIB_GTK
+#define gtk_print_settings_get_printer_LIB LIB_GTK
+#define gtk_print_settings_get_resolution_LIB LIB_GTK
+#define gtk_print_settings_new_LIB LIB_GTK
+#define gtk_print_settings_set_LIB LIB_GTK
+#define gtk_print_settings_set_collate_LIB LIB_GTK
+#define gtk_print_settings_set_n_copies_LIB LIB_GTK
+#define gtk_print_settings_set_orientation_LIB LIB_GTK
+#define gtk_print_settings_set_page_ranges_LIB LIB_GTK
+#define gtk_print_settings_set_print_pages_LIB LIB_GTK
+#define gtk_print_settings_set_printer_LIB LIB_GTK
+#define gtk_print_unix_dialog_get_current_page_LIB LIB_GTK
+#define gtk_print_unix_dialog_get_page_setup_LIB LIB_GTK
+#define gtk_print_unix_dialog_get_selected_printer_LIB LIB_GTK
+#define gtk_print_unix_dialog_get_settings_LIB LIB_GTK
+#define gtk_print_unix_dialog_new_LIB LIB_GTK
+#define gtk_print_unix_dialog_set_current_page_LIB LIB_GTK
+#define gtk_print_unix_dialog_set_manual_capabilities_LIB LIB_GTK
+#define gtk_print_unix_dialog_set_page_setup_LIB LIB_GTK
+#define gtk_print_unix_dialog_set_settings_LIB LIB_GTK
+#define gtk_printer_get_backend_LIB LIB_GTK
+#define gtk_printer_get_name_LIB LIB_GTK
+#define gtk_printer_is_default_LIB LIB_GTK
+#define FcConfigAppFontAddFile_LIB LIB_FONTCONFIG
-#define g_app_info_create_from_commandline_LIB "libgio-2.0.so.0"
-#define g_app_info_get_all_LIB "libgio-2.0.so.0"
-#define g_app_info_get_executable_LIB "libgio-2.0.so.0"
-#define g_app_info_get_icon_LIB "libgio-2.0.so.0"
-#define g_app_info_get_id_LIB "libgio-2.0.so.0"
-#define g_app_info_get_name_LIB "libgio-2.0.so.0"
-#define g_app_info_launch_LIB "libgio-2.0.so.0"
-#define g_app_info_get_default_for_type_LIB "libgio-2.0.so.0"
-#define g_app_info_launch_default_for_uri_LIB "libgio-2.0.so.0"
-#define g_app_info_supports_uris_LIB "libgio-2.0.so.0"
-#define g_app_info_should_show_LIB "libgio-2.0.so.0"
-#define g_data_input_stream_new_LIB "libgio-2.0.so.0"
-#define g_data_input_stream_read_line_LIB "libgio-2.0.so.0"
-#define g_content_type_equals_LIB "libgio-2.0.so.0"
-#define g_content_type_get_mime_type_LIB "libgio-2.0.so.0"
-#define g_content_type_is_a_LIB "libgio-2.0.so.0"
-#define g_content_types_get_registered_LIB "libgio-2.0.so.0"
-#define g_desktop_app_info_new_from_filename_LIB "libgio-2.0.so.0"
-#define g_file_get_path_LIB "libgio-2.0.so.0"
-#define g_file_get_uri_LIB "libgio-2.0.so.0"
-#define g_file_icon_get_file_LIB "libgio-2.0.so.0"
-#define g_file_info_get_content_type_LIB "libgio-2.0.so.0"
-#define g_file_info_get_modification_time_LIB "libgio-2.0.so.0"
-#define g_file_new_for_path_LIB "libgio-2.0.so.0"
-#define g_file_new_for_uri_LIB "libgio-2.0.so.0"
-#define g_file_read_LIB "libgio-2.0.so.0"
-#define g_file_test_LIB "libgio-2.0.so.0"
-#define g_icon_to_string_LIB "libgio-2.0.so.0"
-#define g_icon_new_for_string_LIB "libgio-2.0.so.0"
-#define g_file_query_info_LIB "libgio-2.0.so.0"
+#define g_app_info_create_from_commandline_LIB LIB_GIO
+#define g_app_info_get_all_LIB LIB_GIO
+#define g_app_info_get_executable_LIB LIB_GIO
+#define g_app_info_get_icon_LIB LIB_GIO
+#define g_app_info_get_id_LIB LIB_GIO
+#define g_app_info_get_name_LIB LIB_GIO
+#define g_app_info_launch_LIB LIB_GIO
+#define g_app_info_get_default_for_type_LIB LIB_GIO
+#define g_app_info_launch_default_for_uri_LIB LIB_GIO
+#define g_app_info_supports_uris_LIB LIB_GIO
+#define g_app_info_should_show_LIB LIB_GIO
+#define g_data_input_stream_new_LIB LIB_GIO
+#define g_data_input_stream_read_line_LIB LIB_GIO
+#define g_content_type_equals_LIB LIB_GIO
+#define g_content_type_get_mime_type_LIB LIB_GIO
+#define g_content_type_is_a_LIB LIB_GIO
+#define g_content_types_get_registered_LIB LIB_GIO
+#define g_desktop_app_info_new_from_filename_LIB LIB_GIO
+#define g_file_get_path_LIB LIB_GIO
+#define g_file_get_uri_LIB LIB_GIO
+#define g_file_icon_get_file_LIB LIB_GIO
+#define g_file_info_get_content_type_LIB LIB_GIO
+#define g_file_info_get_modification_time_LIB LIB_GIO
+#define g_file_new_for_path_LIB LIB_GIO
+#define g_file_new_for_uri_LIB LIB_GIO
+#define g_file_read_LIB LIB_GIO
+#define g_file_test_LIB LIB_GIO
+#define g_icon_to_string_LIB LIB_GIO
+#define g_icon_new_for_string_LIB LIB_GIO
+#define g_file_query_info_LIB LIB_GIO
/* Field accessors */
#define G_OBJECT_CLASS_CONSTRUCTOR(arg0) (arg0)->constructor
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
index 8e69234bca..9e17829c10 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.c
@@ -18,8 +18,8 @@
#ifdef NATIVE_STATS
-int OS_nativeFunctionCount = 1367;
-int OS_nativeFunctionCallCount[1367];
+int OS_nativeFunctionCount = 1370;
+int OS_nativeFunctionCallCount[1370];
char * OS_nativeFunctionNames[] = {
#ifndef JNI64
"Call__IIII",
@@ -120,6 +120,9 @@ char * OS_nativeFunctionNames[] = {
"PangoLayoutRun_1sizeof",
"PangoLogAttr_1sizeof",
"PangoRectangle_1sizeof",
+ "RTLD_1GLOBAL",
+ "RTLD_1LAZY",
+ "RTLD_1NOW",
"XAnyEvent_1sizeof",
"XClientMessageEvent_1sizeof",
"XCrossingEvent_1sizeof",
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
index 69ee398a2c..6901aa29d4 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/os_stats.h
@@ -128,6 +128,9 @@ typedef enum {
PangoLayoutRun_1sizeof_FUNC,
PangoLogAttr_1sizeof_FUNC,
PangoRectangle_1sizeof_FUNC,
+ RTLD_1GLOBAL_FUNC,
+ RTLD_1LAZY_FUNC,
+ RTLD_1NOW_FUNC,
XAnyEvent_1sizeof_FUNC,
XClientMessageEvent_1sizeof_FUNC,
XCrossingEvent_1sizeof_FUNC,
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java
index 34e91052c7..41ed3fa6fc 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java
@@ -422,9 +422,10 @@ public class OS extends C {
public static final int PANGO_WEIGHT_NORMAL = 0x190;
public static final int PANGO_WRAP_WORD = 0;
public static final int PANGO_WRAP_WORD_CHAR = 2;
- public static final int RTLD_GLOBAL = 0x100;
- public static final int RTLD_LAZY = 1;
- public static final int RTLD_NOW = 2;
+ public static final int RTLD_GLOBAL = OS.RTLD_GLOBAL();
+ public static final int RTLD_LAZY = OS.RTLD_LAZY();
+ public static final int RTLD_MEMBER = 0x00040000;
+ public static final int RTLD_NOW = OS.RTLD_NOW();
public static final int X_OK = 0x01;
public static final int XA_CARDINAL = 6;
public static final int XA_WINDOW = 33;
@@ -1286,6 +1287,13 @@ public static final native void memmove(XFocusChangeEvent dest, int /*long*/ src
*/
public static final native void memmove(XVisibilityEvent dest, int /*long*/ src, int /*long*/ size);
+/** @method flags=const*/
+public static final native int RTLD_GLOBAL();
+/** @method flags=const */
+public static final native int RTLD_NOW();
+/** @method flags=const */
+public static final native int RTLD_LAZY();
+
/** X render natives and constants */
public static final int PictStandardARGB32 = 0;
public static final int PictStandardRGB24 = 1;
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.h b/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.h
index 6caca748c9..4cebd6d4e5 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT Program/gnome/library/gnome.h
@@ -28,8 +28,16 @@
#include <libgnomevfs/gnome-vfs-mime-handlers.h>
#include <libgnomevfs/gnome-vfs-mime-info.h>
-#define gnome_vfs_url_show_LIB "libgnomevfs-2.so.0"
-#define gnome_vfs_make_uri_from_input_with_dirs_LIB "libgnomevfs-2.so.0"
-#define gnome_vfs_mime_application_launch_LIB "libgnomevfs-2.so.0"
+#ifdef AIX
+#define LIB_VFS "libgnomevfs-2.a(libgnomevfs-2.so.0)"
+#elif HPUX
+#define LIB_VFS "libgnomevfs-2.so"
+#else
+#define LIB_VFS "libgnomevfs-2.so.0"
+#endif
+
+#define gnome_vfs_url_show_LIB LIB_VFS
+#define gnome_vfs_make_uri_from_input_with_dirs_LIB LIB_VFS
+#define gnome_vfs_mime_application_launch_LIB LIB_VFS
#endif
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java b/bundles/org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java
index 6f78ce277c..9d4d4fed57 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java
@@ -115,8 +115,17 @@ static int getDesktop(final Display display) {
}
});
/* Check for the existence of libgio libraries */
- byte[] buffer = Converter.wcsToMbcs(null, "libgio-2.0.so.0", true);
- int /*long*/ libgio = OS.dlopen(buffer, OS.RTLD_LAZY);
+ byte[] buffer ;
+ int flags = OS.RTLD_LAZY;
+ if (OS.IsAIX) {
+ buffer = Converter.wcsToMbcs(null, "libgio-2.0.a(libgio-2.0.so.0)", true);
+ flags |= OS.RTLD_MEMBER;
+ } else if (OS.IsHPUX) {
+ buffer = Converter.wcsToMbcs(null, "libgio-2.0.so", true);
+ } else {
+ buffer = Converter.wcsToMbcs(null, "libgio-2.0.so.0", true);
+ }
+ int /*long*/ libgio = OS.dlopen(buffer, flags);
if (libgio != 0) {
buffer = Converter.wcsToMbcs(null, "g_app_info_launch_default_for_uri", true);
int /*long*/ g_app_info_launch_default_for_uri = OS.dlsym(libgio, buffer);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.h b/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.h
index b955471c70..55756a6122 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.h
+++ b/bundles/org.eclipse.swt/Eclipse SWT/common/library/swt.h
@@ -119,11 +119,16 @@ extern int IS_JNI_1_2;
}
#else
#define CALLING_CONVENTION
+#ifdef AIX
+#define LOAD_FLAGS RTLD_LAZY | RTLD_MEMBER
+#else
+#define LOAD_FLAGS RTLD_LAZY
+#endif
#define LOAD_FUNCTION(var, name) \
static int initialized = 0; \
static void *var = NULL; \
if (!initialized) { \
- void* handle = dlopen(name##_LIB, RTLD_LAZY); \
+ void* handle = dlopen(name##_LIB, LOAD_FLAGS); \
if (handle) var = dlsym(handle, #name); \
initialized = 1; \
}
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
index 7393351426..32e16e8e87 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
@@ -161,8 +161,17 @@ void checkCairo() {
if (CAIRO_LOADED) return;
try {
/* Check if cairo is available on the system */
- byte[] buffer = Converter.wcsToMbcs(null, "libcairo.so.2", true);
- int /*long*/ libcairo = OS.dlopen(buffer, OS.RTLD_LAZY);
+ byte[] buffer ;
+ int flags = OS.RTLD_LAZY;
+ if (OS.IsAIX) {
+ buffer = Converter.wcsToMbcs(null, "libcairo.a(libcairo.so.2)", true);
+ flags |= OS.RTLD_MEMBER;
+ } else if (OS.IsHPUX) {
+ buffer = Converter.wcsToMbcs(null, "libcairo.so", true);
+ } else {
+ buffer = Converter.wcsToMbcs(null, "libcairo.so.2", true);
+ }
+ int /*long*/ libcairo = OS.dlopen(buffer, flags);
if (libcairo != 0) {
OS.dlclose(libcairo);
} else {
@@ -567,8 +576,10 @@ protected void init () {
useXRender = major_versionp[0] > 0 || (major_versionp[0] == 0 && minor_versionp[0] >= 8);
}
}
-
- if (debug) {
+ //TODO: Remove; temporary code only
+ boolean fixAIX = OS.IsAIX && OS.PTR_SIZEOF == 8;
+
+ if (debug || fixAIX) {
if (xDisplay != 0) {
/* Create the warning and error callbacks */
Class clazz = getClass ();
@@ -589,7 +600,7 @@ protected void init () {
XIOErrorProc = OS.XSetIOErrorHandler (XNullIOErrorProc);
}
}
- OS.XSynchronize (xDisplay, true);
+ if (debug) OS.XSynchronize (xDisplay, true);
}
}
@@ -883,7 +894,9 @@ static int /*long*/ XErrorProc (int /*long*/ xDisplay, int /*long*/ xErrorEvent)
if (DEBUG || device.debug) {
new SWTError ().printStackTrace ();
}
- OS.Call (XErrorProc, xDisplay, xErrorEvent);
+ //TODO: Remove; temporary code only
+ boolean fixAIX = OS.IsAIX && OS.PTR_SIZEOF == 8;
+ if (!fixAIX) OS.Call (XErrorProc, xDisplay, xErrorEvent);
}
} else {
if (DEBUG) new SWTError ().printStackTrace ();
diff --git a/bundles/org.eclipse.swt/tasks/build.xml b/bundles/org.eclipse.swt/tasks/build.xml
index 842a8d64d9..78603e2a48 100644
--- a/bundles/org.eclipse.swt/tasks/build.xml
+++ b/bundles/org.eclipse.swt/tasks/build.xml
@@ -310,6 +310,21 @@
</antcall>
</target>
+ <target name="build_gtk_aix_ppc64" depends="init_build">
+ <property name="clean" value="clean"/>
+ <property name="targets" value="install"/>
+ <exec dir="${basedir}/${builddir}" executable="sh" failonerror="true">
+ <arg value="build.sh"/>
+ <env key="MODEL" value="ppc64"/>
+ <env key="JAVA_HOME" value="/bluebird/teamswt/swt-builddir/JDKs/AIX/PPC64/j564/sdk"/>
+ <arg line="${targets}"/>
+ <arg line="${clean}"/>
+ </exec>
+ <antcall target="refresh_fragment">
+ <param name="fragment" value="org.eclipse.swt.gtk.aix.ppc64"/>
+ </antcall>
+ </target>
+
<target name="build_motif_linux" depends="init_build">
<property name="clean" value="clean"/>
<property name="targets" value="make_mozilla make_xulrunner make_xpcominit make_cairo install"/>
@@ -496,6 +511,10 @@
<param name="fragment" value="org.eclipse.swt.gtk.linux.s390x"/>
</antcall>
<antcall target="check_fragment_libraries">
+ <param name="library_count" value="5"/>
+ <param name="fragment" value="org.eclipse.swt.gtk.aix.ppc64"/>
+ </antcall>
+ <antcall target="check_fragment_libraries">
<param name="library_count" value="9"/>
<param name="fragment" value="org.eclipse.swt.motif.linux.x86"/>
</antcall>
@@ -518,7 +537,7 @@
<!-- WPF is not being built
<property name="library_count" value="131"/>
-->
- <property name="library_count" value="129"/>
+ <property name="library_count" value="134"/>
<property name="fragment" value="org.eclipse.swt.win32.win32.x86 org.eclipse.swt.win32.win32.x86_64 org.eclipse.swt.win32.win32.ia64 org.eclipse.swt.win32.wce_ppc.arm org.eclipse.swt.wpf.win32.x86 org.eclipse.swt.photon.qnx.x86 org.eclipse.swt.carbon.macosx org.eclipse.swt.cocoa.macosx org.eclipse.swt.cocoa.macosx.x86_64 org.eclipse.swt.gtk.linux.ppc org.eclipse.swt.gtk.linux.ppc64 org.eclipse.swt.gtk.linux.x86 org.eclipse.swt.gtk.linux.x86_64 org.eclipse.swt.gtk.linux.s390 org.eclipse.swt.gtk.linux.s390x org.eclipse.swt.gtk.solaris.sparc org.eclipse.swt.gtk.solaris.x86 org.eclipse.swt.motif.linux.x86 org.eclipse.swt.motif.aix.ppc org.eclipse.swt.motif.hpux.ia64_32 org.eclipse.swt.motif.solaris.sparc"/>
<sshexec host="${m_linux_x86}"
username="swtbuild"
@@ -1282,6 +1301,16 @@
</antcall>
</target>
+ <target name="gtk_aix_ppc64">
+ <antcall target="build_ssh">
+ <param name="machine" value="${m_aix}"/>
+ <param name="cp" value="${cp_gtk}"/>
+ <param name="fragment" value="org.eclipse.swt.gtk.aix.ppc64"/>
+ <param name="build_target" value="build_gtk_aix_ppc64"/>
+ <param name="pre_commands" value="export JAVA_HOME=~/build/JRE/AIX/sdk; export PATH=${ant_home}/bin:~/build/cvs_bin/AIX:$PATH;"/>
+ </antcall>
+ </target>
+
<target name="gtk_solaris_x86">
<antcall target="build_ssh">
<param name="machine" value="${m_solaris_x86}"/>