diff options
author | Bogdan Gheorghe <gheorghe> | 2010-11-02 21:53:56 +0000 |
---|---|---|
committer | Bogdan Gheorghe <gheorghe> | 2010-11-02 21:53:56 +0000 |
commit | ed011ae53336f37735c7d88d3399a168eee420c6 (patch) | |
tree | 027b7bd5b6452210b023427aaded08bf37d7bdd2 | |
parent | beefd4f072f61d3e5bd5bdbeb9b7718d8e70c7a0 (diff) | |
download | eclipse.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
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}"/> |