diff options
author | Andrew Niefer | 2010-10-01 17:32:39 +0000 |
---|---|---|
committer | Andrew Niefer | 2010-10-01 17:32:39 +0000 |
commit | aa08d37a4975a5dfbe9ed12b68e382b0dbf05059 (patch) | |
tree | 2e7f4f11feb2c136a76e3904dbeeddb7fd471e61 | |
parent | 91d94648a4995a9a358da1c995ad3f3c80d93078 (diff) | |
download | rt.equinox.framework-20101001.tar.gz rt.equinox.framework-20101001.tar.xz rt.equinox.framework-20101001.zip |
12 files changed, 334 insertions, 6 deletions
diff --git a/bundles/org.eclipse.equinox.executable/feature.xml b/bundles/org.eclipse.equinox.executable/feature.xml index f820b0384..2f6a1a995 100644 --- a/bundles/org.eclipse.equinox.executable/feature.xml +++ b/bundles/org.eclipse.equinox.executable/feature.xml @@ -137,6 +137,16 @@ install-size="0" version="0.0.0" fragment="true"/> + + <plugin + id="org.eclipse.equinox.launcher.gtk.aix.ppc64" + os="aix" + ws="gtk" + arch="ppc64" + download-size="0" + install-size="0" + version="0.0.0" + fragment="true"/> <plugin id="org.eclipse.equinox.launcher.motif.hpux.ia64_32" diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/build.sh b/bundles/org.eclipse.equinox.executable/library/gtk/build.sh index dd566d409..e54ee5abb 100644 --- a/bundles/org.eclipse.equinox.executable/library/gtk/build.sh +++ b/bundles/org.eclipse.equinox.executable/library/gtk/build.sh @@ -95,6 +95,12 @@ case $OS in ;; esac ;; + "AIX") + makefile="make_aix.mak" + defaultOS="aix" + defaultOSArch="ppc64" + [ -d /bluebird/teamswt/swt-builddir/JDKs/AIX/PPC64/j564/sdk ] && defaultJavaHome="/bluebird/teamswt/swt-builddir/JDKs/AIX/PPC64/j564/sdk" + ;; "SunOS") makefile="make_solaris.mak" defaultOS="solaris" @@ -166,7 +172,11 @@ elif [ -z "$JAVA_HOME" -a -n "$defaultJavaHome" ]; then fi if [ "$defaultOSArch" = "ppc64" ]; then - M_ARCH=-m64 + if [ "$defaultOS" = "aix" ]; then + M_ARCH=-maix64 + else + M_ARCH=-m64 + fi export M_ARCH elif [ "$defaultOSArch" = "s390" ]; then M_ARCH=-m31 diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c index f5617382a..787f73395 100644 --- a/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c +++ b/bundles/org.eclipse.equinox.executable/library/gtk/eclipseGtkInit.c @@ -92,11 +92,17 @@ static int loadGtkSymbols( void * library, FN_TABLE * table) { } int loadGtk() { - void * objLib = dlopen(GOBJ_LIB, RTLD_LAZY); - void * gdkLib = dlopen(GDK_LIB, RTLD_LAZY); - void * pixLib = dlopen(PIXBUF_LIB, RTLD_LAZY); - void * gtkLib = dlopen(GTK_LIB, RTLD_LAZY); - void * x11Lib = dlopen(X11_LIB, RTLD_LAZY); +#ifdef AIX +#define DLFLAGS RTLD_LAZY | RTLD_MEMBER +#else +#define DLFLAGS RTLD_LAZY +#endif + + void * objLib = dlopen(GOBJ_LIB, DLFLAGS); + void * gdkLib = dlopen(GDK_LIB, DLFLAGS); + void * pixLib = dlopen(PIXBUF_LIB, DLFLAGS); + void * gtkLib = dlopen(GTK_LIB, DLFLAGS); + void * x11Lib = dlopen(X11_LIB, DLFLAGS); /* initialize ptr struct to 0's */ memset(>k, 0, sizeof(struct GTK_PTRS)); diff --git a/bundles/org.eclipse.equinox.executable/library/gtk/make_aix.mak b/bundles/org.eclipse.equinox.executable/library/gtk/make_aix.mak new file mode 100644 index 000000000..05b8acd25 --- /dev/null +++ b/bundles/org.eclipse.equinox.executable/library/gtk/make_aix.mak @@ -0,0 +1,104 @@ +#******************************************************************************* +# Copyright (c) 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 +# Kevin Cornell (Rational Software Corporation) +# Tom Tromey (Red Hat, Inc.) +#******************************************************************************* +include ../make_version.mak +# Makefile for creating the GTK eclipse launcher program. +# +# This makefile expects the utility "pkg-config" to be in the PATH. + +# This makefile expects the following environment variables set: +# +# PROGRAM_OUTPUT - the filename of the output executable +# DEFAULT_OS - the default value of the "-os" switch +# DEFAULT_OS_ARCH - the default value of the "-arch" switch +# DEFAULT_WS - the default value of the "-ws" switch +# JAVA_HOME - JAVA_HOME for jni headers +#default value for PROGRAM_OUTPUT + +PROGRAM_OUTPUT=eclipse +PROGRAM_LIBRARY=$(PROGRAM_OUTPUT)_$(LIB_VERSION).so + + +# Define the object modules to be compiled and flags. +CC=gcc +MAIN_OBJS = eclipseMain.o +COMMON_OBJS = eclipseConfig.o eclipseCommon.o eclipseGtkCommon.o eclipseGtkInit.o +DLL_OBJS = eclipse.o eclipseGtk.o eclipseUtil.o eclipseJNI.o eclipseMozilla.o eclipseShm.o eclipseNix.o + +EXEC = $(PROGRAM_OUTPUT) +DLL = $(PROGRAM_LIBRARY) +#LIBS = `pkg-config --libs-only-L gtk+-2.0` -lgtk-x11-2.0 -lgdk_pixbuf-2.0 -lgobject-2.0 -lgdk-x11-2.0 -lpthread -ldl -lX11 +LIBS = -lpthread -ldl +GTK_LIBS = -DGTK_LIB="\"libgtk-x11-2.0.a(libgtk-x11-2.0.so.0)\"" -DGDK_LIB="\"libgdk-x11-2.0.a(libgdk-x11-2.0.so.0)\"" -DPIXBUF_LIB="\"libgdk_pixbuf-2.0.a(libgdk_pixbuf-2.0.so.0)\"" -DGOBJ_LIB="\"libgobject-2.0.a(libgobject-2.0.so.0)\"" -DX11_LIB="\"libX11.a(shr_64.o)\"" +LFLAGS = ${M_ARCH} -shared +CFLAGS = ${M_ARCH} -g -s -Wall\ + -fpic \ + -DAIX \ + -DMOZILLA_FIX \ + -DDEFAULT_OS="\"$(DEFAULT_OS)\"" \ + -DDEFAULT_OS_ARCH="\"$(DEFAULT_OS_ARCH)\"" \ + -DDEFAULT_WS="\"$(DEFAULT_WS)\"" \ + -D$(DEFAULT_JAVA) \ + $(GTK_LIBS) \ + -I. \ + -I.. \ + -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux \ + `pkg-config --cflags gtk+-2.0` + +all: $(EXEC) $(DLL) + +eclipse.o: ../eclipse.c ../eclipseOS.h ../eclipseCommon.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipse.c -o eclipse.o + +eclipseMain.o: ../eclipseUnicode.h ../eclipseCommon.h ../eclipseMain.c + $(CC) $(CFLAGS) -c ../eclipseMain.c -o eclipseMain.o + +eclipseCommon.o: ../eclipseCommon.h ../eclipseUnicode.h ../eclipseCommon.c + $(CC) $(CFLAGS) -c ../eclipseCommon.c + +eclipseGtkCommon.o: ../eclipseCommon.h ../eclipseOS.h eclipseGtk.h eclipseGtkCommon.c + $(CC) $(CFLAGS) -c eclipseGtkCommon.c -o eclipseGtkCommon.o + +eclipseGtkInit.o: ../eclipseCommon.h eclipseGtk.h eclipseGtkInit.c + $(CC) $(CFLAGS) -c eclipseGtkInit.c -o eclipseGtkInit.o + +eclipseUtil.o: ../eclipseUtil.c ../eclipseUtil.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseUtil.c -o eclipseUtil.o + +eclipseJNI.o: ../eclipseJNI.c ../eclipseCommon.h ../eclipseOS.h ../eclipseJNI.h + $(CC) $(CFLAGS) -c ../eclipseJNI.c -o eclipseJNI.o + +eclipseConfig.o: ../eclipseConfig.c ../eclipseConfig.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseConfig.c -o eclipseConfig.o + +eclipseMozilla.o: ../eclipseMozilla.c ../eclipseMozilla.h ../eclipseOS.h + $(CC) $(CFLAGS) -c ../eclipseMozilla.c -o eclipseMozilla.o + +eclipseShm.o: ../eclipseShm.h ../eclipseUnicode.h ../eclipseShm.c + $(CC) $(CFLAGS) -c ../eclipseShm.c -o eclipseShm.o + +eclipseNix.o: ../eclipseNix.c + $(CC) $(CFLAGS) -c ../eclipseNix.c -o eclipseNix.o + +$(EXEC): $(MAIN_OBJS) $(COMMON_OBJS) + $(CC) ${M_ARCH} -o $(EXEC) $(MAIN_OBJS) $(COMMON_OBJS) $(LIBS) + +$(DLL): $(DLL_OBJS) $(COMMON_OBJS) + $(CC) $(LFLAGS) -o $(DLL) $(DLL_OBJS) $(COMMON_OBJS) $(LIBS) + +install: all + cp $(EXEC) $(OUTPUT_DIR) + cp $(DLL) $(LIBRARY_DIR) + rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) + +clean: + rm -f $(EXEC) $(DLL) $(MAIN_OBJS) $(COMMON_OBJS) $(DLL_OBJS) diff --git a/bundles/org.eclipse.equinox.executable/target.build.properties b/bundles/org.eclipse.equinox.executable/target.build.properties index 8f0e2541a..b3817cd42 100644 --- a/bundles/org.eclipse.equinox.executable/target.build.properties +++ b/bundles/org.eclipse.equinox.executable/target.build.properties @@ -43,6 +43,7 @@ root.macosx.cocoa.x86_64=bin/cocoa/macosx/x86_64 root.macosx.cocoa.x86_64.permissions.755=${launcherName}.app/Contents/MacOS/${launcherName} root.aix.motif.ppc=bin/motif/aix/ppc +root.aix.gtk.ppc64=bin/gtk/aix/ppc64 root.hpux.motif.PA_RISC=bin/motif/hpux/PA_RISC root.hpux.motif.ia64_32=bin/motif/hpux/ia64_32 diff --git a/bundles/org.eclipse.equinox.executable/target.build.xml b/bundles/org.eclipse.equinox.executable/target.build.xml index 346a52c53..ed649f2b8 100644 --- a/bundles/org.eclipse.equinox.executable/target.build.xml +++ b/bundles/org.eclipse.equinox.executable/target.build.xml @@ -154,6 +154,14 @@ </copy> <chmod perm="755" dir="${feature.base}/linux.gtk.ppc64/${collectingFolder}" includes="launcher" /> </target> + <target name="rootFilesaix_gtk_ppc64"> + <mkdir dir="${feature.base}/aix.gtk.ppc64/${collectingFolder}"/> + <copy todir="${feature.base}/aix.gtk.ppc64/${collectingFolder}" failonerror="true" overwrite="true"> + <fileset dir="${basedir}/bin/gtk/aix/ppc64" includes="**" /> + <fileset dir="${basedir}/gtk_root" includes="**" /> + </copy> + <chmod perm="755" dir="${feature.base}/aix.gtk.ppc64/${collectingFolder}" includes="launcher" /> + </target> <target name="rootFileslinux_gtk_x86_64"> <mkdir dir="${feature.base}/linux.gtk.x86_64/${collectingFolder}"/> <copy todir="${feature.base}/linux.gtk.x86_64/${collectingFolder}" failonerror="true" overwrite="true"> @@ -269,6 +277,7 @@ <antcall target="rootFilessolaris_gtk_x86"/> <antcall target="rootFilessolaris_motif_sparc"/> <antcall target="rootFilesaix_motif_ppc"/> + <antcall target="rootFilesaix_gtk_ppc64"/> <antcall target="rootFileshpux_motif_PA_RISC"/> <antcall target="rootFileshpux_motif_ia64"/> <antcall target="rootFileshpux_motif_ia64_32"/> diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/.project b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/.project new file mode 100644 index 000000000..980375b05 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/.project @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.equinox.launcher.gtk.aix.ppc64</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/META-INF/MANIFEST.MF new file mode 100644 index 000000000..9b5837919 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-Vendor: %providerName +Bundle-SymbolicName: org.eclipse.equinox.launcher.gtk.aix.ppc64 +Bundle-Version: 1.0.0.qualifier +Fragment-Host: org.eclipse.equinox.launcher;bundle-version="1.0.0" +Eclipse-PlatformFilter: (& (osgi.ws=gtk) (osgi.os=aix) (osgi.arch=ppc64)) +Bundle-Localization: launcher.gtk.aix.ppc64 +Eclipse-BundleShape: dir diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/about.html b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/about.html new file mode 100644 index 000000000..395df3ba9 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/about.html @@ -0,0 +1,28 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/> +<title>About</title> +</head> +<body lang="EN-US"> +<h2>About This Content</h2> + +<p>June 5, 2006</p> +<h3>License</h3> + +<p>The Eclipse Foundation makes available all content in this plug-in ("Content"). +Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at <a href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/legal/epl-v10.html</a>. +For purposes of the EPL, "Program" will mean the Content.</p> + +<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor’s license +that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p> + +</body> +</html>
\ No newline at end of file diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/build.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/build.properties new file mode 100644 index 000000000..7be314ce3 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/build.properties @@ -0,0 +1,7 @@ +bin.includes = META-INF/,\ + eclipse_*.so,\ + launcher.gtk.aix.ppc64.properties,\ + about.html + +customBuildCallbacks=customBuildCallbacks.xml +generateSourceBundle=false diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/customBuildCallbacks.xml b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/customBuildCallbacks.xml new file mode 100644 index 000000000..32c8ef4f6 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/customBuildCallbacks.xml @@ -0,0 +1,109 @@ +<!-- ===================================================================== --> +<!-- Custom targets called from a project's generated build.xml --> +<!-- Set customBuildCallbacks=<path/to/this/file> in your build.properties.--> +<!-- ===================================================================== --> +<project name="Build specific targets and properties" default="noDefault"> + + <!-- ===================================================================== --> + <!-- Default target --> + <!-- ===================================================================== --> + <target name="noDefault"> + <echo message="This file must be called with explicit targets" /> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do before the target build.jars --> + <!-- Available parameters : --> + <!-- build.result.folder - folder to contain the build results --> + <!-- ===================================================================== --> + <target name="pre.build.jars"> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do after the target build.jars --> + <!-- Available parameters : --> + <!-- build.result.folder - folder to contain the build results --> + <!-- ===================================================================== --> + <target name="post.build.jars"> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do before the target build.sources --> + <!-- Available parameters : --> + <!-- build.result.folder - folder to contain the build results --> + <!-- ===================================================================== --> + <target name="pre.build.sources"> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do after the target build.sources --> + <!-- Available parameters : --> + <!-- build.result.folder - folder to contain the build results --> + <!-- ===================================================================== --> + <target name="post.build.sources"> + </target> + + <target name="pre.gather.bin.parts"> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do after the target gather.bin.parts --> + <!-- Available parameters : --> + <!-- base.dir - root of the project --> + <!-- build.result.folder - folder containing the build results --> + <!-- target.folder - destination folder --> + <!-- ===================================================================== --> + <target name="post.gather.bin.parts"> + <chmod perm="755" dir="${target.folder}" includes="eclipse_*" /> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do before the target gather.sources --> + <!-- Available parameters : --> + <!-- destination.temp.folder - destination folder --> + <!-- ===================================================================== --> + <target name="pre.gather.sources"> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do after the target gather.sources --> + <!-- Available parameters : --> + <!-- destination.temp.folder - destination folder --> + <!-- ===================================================================== --> + <target name="post.gather.sources"> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do before the target gather.logs --> + <!-- Available parameters : --> + <!-- destination.temp.folder - destination folder --> + <!-- ===================================================================== --> + <target name="pre.gather.logs"> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do after the target gather.logs --> + <!-- Available parameters : --> + <!-- destination.temp.folder - destination folder --> + <!-- ===================================================================== --> + <target name="post.gather.logs"> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do before the target clean --> + <!-- Available parameters : --> + <!-- destination.temp.folder - destination folder --> + <!-- ===================================================================== --> + <target name="pre.clean"> + </target> + + <!-- ===================================================================== --> + <!-- Steps to do after the target clean --> + <!-- Available parameters : --> + <!-- plugin.destination - final destination of the build --> + <!-- build.result.folder - results of the compilation --> + <!-- temp.folder - temporary folder --> + <!-- ===================================================================== --> + <target name="post.clean"> + </target> +</project> diff --git a/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/launcher.gtk.aix.ppc64.properties b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/launcher.gtk.aix.ppc64.properties new file mode 100644 index 000000000..425bb64a5 --- /dev/null +++ b/bundles/org.eclipse.equinox.launcher/fragments/org.eclipse.equinox.launcher.gtk.aix.ppc64/launcher.gtk.aix.ppc64.properties @@ -0,0 +1,12 @@ +############################################################################### +# Copyright (c) 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 +############################################################################### +pluginName = Equinox Launcher GTK AIX PPC64 Fragment +providerName = Eclipse.org - Equinox |