diff -ru eclipse.platform.swt/bundles/org.eclipse.swt/.classpath_gtk eclipse.platform.swt/bundles/org.eclipse.swt/.classpath_gtk
--- eclipse.platform.swt/bundles/org.eclipse.swt/.classpath_gtk 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/bundles/org.eclipse.swt/.classpath_gtk 0000-00-00 00:00:00.000000000 +0000
@@ -10,7 +10,7 @@
-
+
diff -ru eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Widget.java eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Widget.java
--- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Widget.java 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Widget.java 0000-00-00 00:00:00.000000000 +0000
@@ -10,7 +10,7 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
- * Pierre-Yves B., pyvesdev@gmail.com - Bug 219750: [styled text] Typing ~~ inserts é~~
+ * Pierre-Yves B., pyvesdev@gmail.com - Bug 219750
*******************************************************************************/
package org.eclipse.swt.widgets;
diff -ru eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Library.java eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Library.java
--- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Library.java 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Library.java 0000-00-00 00:00:00.000000000 +0000
@@ -69,12 +69,12 @@
static String arch() {
String osArch = System.getProperty("os.arch"); //$NON-NLS-1$
if (osArch.equals ("i386") || osArch.equals ("i686")) return "x86"; //$NON-NLS-1$ $NON-NLS-2$ $NON-NLS-3$
- if (osArch.equals ("amd64")) return "x86_64"; //$NON-NLS-1$ $NON-NLS-2$
return osArch;
}
static String os() {
String osName = System.getProperty("os.name"); //$NON-NLS-1$
+ if (osName.equals ("FreeBSD")) return "freebsd"; //$NON-NLS-1$ $NON-NLS-2$
if (osName.equals ("Linux")) return "linux"; //$NON-NLS-1$ $NON-NLS-2$
if (osName.equals ("Mac OS X")) return "macosx"; //$NON-NLS-1$ $NON-NLS-2$
if (osName.startsWith ("Win")) return "win32"; //$NON-NLS-1$ $NON-NLS-2$
diff -ru eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
--- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh 0000-00-00 00:00:00.000000000 +0000
@@ -72,7 +72,7 @@
cd `dirname $0`
-MAKE_TYPE=make
+MAKE_TYPE=gmake
export CFLAGS='-O -Wall -fPIC'
@@ -86,21 +86,14 @@
MAKEFILE=make_win32.mak
;;
*)
- SWT_OS=`uname -s | tr -s '[:upper:]' '[:lower:]'`
+ SWT_OS=`uname -s | tr '[:upper:]' '[:lower:]'`
MAKEFILE=make_linux.mak
;;
esac
# Determine which CPU type we are building for
if [ "${MODEL}" = "" ]; then
- if uname -i > /dev/null 2>&1; then
- MODEL=`uname -i`
- if [ ${MODEL} = 'unknown' ]; then
- MODEL=`uname -m`
- fi
- else
MODEL=`uname -m`
- fi
fi
case $MODEL in
"x86_64")
@@ -111,6 +104,11 @@
SWT_ARCH=x86
AWT_ARCH=i386
;;
+ "powerpc" | "powerpc64")
+ SWT_ARCH=ppc64
+ AWT_ARCH=ppc64
+ MODEL=`uname -p`
+ ;;
*)
SWT_ARCH=$MODEL
AWT_ARCH=$MODEL
@@ -118,6 +116,13 @@
esac
case $SWT_OS.$SWT_ARCH in
+ "freebsd.ppc64")
+ if [ "${JAVA_HOME}" = "" ]; then
+ DYNAMIC_JAVA_HOME=`readlink -f /usr/local/bin/java | sed "s:jre/::" | sed "s:bin/java::"`
+ JAVA_HOME = $DYNAMIC_JAVA_HOME
+ export JAVA_HOME
+ fi
+ ;;
"linux.x86")
if [ "${CC}" = "" ]; then
export CC=gcc
@@ -194,7 +199,7 @@
# For 64-bit CPUs, we have a switch
-if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' ]; then
+if [ ${MODEL} = 'amd64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' -o ${MODEL} = 'powerpc64' ]; then
SWT_PTR_CFLAGS=-DJNI64
if [ -d /lib64 ]; then
XLIB64=-L/usr/X11R6/lib64
@@ -205,6 +210,11 @@
XLIB64="${XLIB64} -L/usr/lib64"
SWT_LFLAGS=-m64
export SWT_LFLAGS
+ fi
+ if [ ${SWT_OS} = "freebsd" ]
+ then
+ SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -m64"
+ export SWT_LFLAGS=-m64
fi
export SWT_PTR_CFLAGS
fi
diff -ru eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak
--- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak 0000-00-00 00:00:00.000000000 +0000
@@ -103,16 +103,18 @@
WEBKIT_OBJECTS = swt.o webkitgtk.o webkitgtk_structs.o webkitgtk_stats.o webkitgtk_custom.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
+port_prefix=`pkg-config --variable=prefix gtk+-3.0`
CFLAGS := $(CFLAGS) \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
$(SWT_DEBUG) \
$(SWT_WEBKIT_DEBUG) \
- -DLINUX -DGTK \
+ -DFREEBSD -DGTK \
+ -I$(port_prefix)/include \
-I$(JAVA_HOME)/include \
- -I$(JAVA_HOME)/include/linux \
+ -I$(JAVA_HOME)/include/freebsd \
${SWT_PTR_CFLAGS}
-LFLAGS = -shared -fPIC ${SWT_LFLAGS}
+LFLAGS = -shared -fPIC -m64 ${SWT_LFLAGS} -L$(port_prefix)/lib
ifndef NO_STRIP
# -s = Remove all symbol table and relocation information from the executable.
@@ -255,10 +257,6 @@
cp $(ALL_SWT_LIBS) $(OUTPUT_DIR)
ifeq ($(BUILD_WEBKIT2EXTENSION),yes)
@# Copy webextension into it's own folder, but create folder first.
- @# CAREFULLY delete '.so' files inside webextension*. Then carefully remove the directories. 'rm -rf' seemed too risky of an approach.
- @-[ "$$(ls -d $(OUTPUT_DIR)/$(WEBEXTENSION_BASE_DIR)*/*.so)" ] && rm -v `ls -d $(OUTPUT_DIR)/$(WEBEXTENSION_BASE_DIR)*/*.so`
- @-[ "$$(ls -d $(OUTPUT_DIR)/$(WEBEXTENSION_BASE_DIR)*)" ] && rmdir -v `ls -d $(OUTPUT_DIR)/$(WEBEXTENSION_BASE_DIR)*`
-
@# Copying webextension is not critical for build to succeed, thus we use '-'. SWT can still function without a webextension.
@-[ -d $(OUTPUT_DIR)/$(WEBEXTENSION_DIR) ] || mkdir -v $(OUTPUT_DIR)/$(WEBEXTENSION_DIR) # If folder does not exist, make it.
-cp $(WEBKIT_EXTENSION_LIB) $(OUTPUT_DIR)/$(WEBEXTENSION_DIR)/
diff -ru eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java
--- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java 0000-00-00 00:00:00.000000000 +0000
@@ -60,8 +60,8 @@
/* Initialize the OS flags and locale constants */
String osName = System.getProperty ("os.name");
- boolean isLinux = false, isWin32 = false;
- if (osName.equals ("Linux")) isLinux = true;
+ boolean isLinux = osName.equals ("Linux") || osName.equals ("FreeBSD");
+ boolean isWin32 = false;
if (osName.startsWith("Windows")) isWin32 = true;
IsLinux = isLinux; IsWin32 = isWin32;
diff -ru eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java
--- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java 0000-00-00 00:00:00.000000000 +0000
@@ -120,7 +120,7 @@
* https://www.nczonline.net/blog/2009/01/05/what-determines-that-a-script-is-long-running/
* https://stackoverflow.com/questions/3030024/maximum-execution-time-for-javascript
*/
- static final int ASYNC_EXEC_TIMEOUT_MS = 10000;
+ static final int ASYNC_EXEC_TIMEOUT_MS = 100; // Dirty hack for webkit issues on FreeBSD
/** Workaround for bug 522733 */
static boolean bug522733FirstInstanceCreated = false;
diff -ru eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf
--- eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf 0000-00-00 00:00:00.000000000 +0000
@@ -16,11 +16,11 @@
requires.3.filter = (&(osgi.os=macosx)(osgi.ws=cocoa)(osgi.arch=x86_64)(!(org.eclipse.swt.buildtime=true)))
requires.4.namespace = org.eclipse.equinox.p2.iu
-requires.4.name = org.eclipse.swt.gtk.linux.x86_64
+requires.4.name = org.eclipse.swt.gtk.freebsd.amd64
requires.4.range = [$version$,$version$]
-requires.4.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=x86_64)(!(org.eclipse.swt.buildtime=true)))
+requires.4.filter = (&(osgi.os=freebsd)(osgi.ws=gtk)(osgi.arch=amd64)(!(org.eclipse.swt.buildtime=true)))
requires.5.namespace = org.eclipse.equinox.p2.iu
-requires.5.name = org.eclipse.swt.gtk.linux.ppc64le
+requires.5.name = org.eclipse.swt.gtk.freebsd.powerpc64
requires.5.range = [$version$,$version$]
-requires.5.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=ppc64le)(!(org.eclipse.swt.buildtime=true)))
+requires.5.filter = (&(osgi.os=freebsd)(osgi.ws=gtk)(osgi.arch=powerpc64)(!(org.eclipse.swt.buildtime=true)))
diff -ru eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
--- eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml 0000-00-00 00:00:00.000000000 +0000
@@ -63,11 +63,11 @@
-
+
-
+
@@ -80,12 +80,12 @@
-
+
-
+
@@ -115,13 +115,13 @@
trust="true"
outputproperty="m_linux_x86_64_output"
command="hostname"/>
-
-
+
-
-
+
+
diff -ru eclipse.platform.swt/bundles/org.eclipse.swt.tools/Oomph/platformSwt.setup eclipse.platform.swt/bundles/org.eclipse.swt.tools/Oomph/platformSwt.setup
--- eclipse.platform.swt/bundles/org.eclipse.swt.tools/Oomph/platformSwt.setup 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/bundles/org.eclipse.swt.tools/Oomph/platformSwt.setup 0000-00-00 00:00:00.000000000 +0000
@@ -103,7 +103,7 @@
xsi:type="predicates:NotPredicate">
+ pattern=".*(cocoa|gtk|win32)(\.(freebsd|macosx|aix|hpux|linux|solaris|win32)(\.(amd64|x86_64|powerpc64|ia64|aarch64|arm|ppc64|ppc64le|s390|s390x|x86|sparcv9))?)?"/>
unix
- Linux
+
@@ -118,7 +119,9 @@
examples/org.eclipse.swt.examples.ole.win32
examples/org.eclipse.swt.examples.views
tests/org.eclipse.swt.tests.fragments.feature
+
features/org.eclipse.swt.tools.feature
diff -ru eclipse.platform.swt/tests/org.eclipse.swt.tests.fragments.feature/feature.xml eclipse.platform.swt/tests/org.eclipse.swt.tests.fragments.feature/feature.xml
--- eclipse.platform.swt/tests/org.eclipse.swt.tests.fragments.feature/feature.xml 0000-00-00 00:00:00.000000000 +0000
+++ eclipse.platform.swt/tests/org.eclipse.swt.tests.fragments.feature/feature.xml 0000-00-00 00:00:00.000000000 +0000
@@ -20,10 +20,10 @@