--- plugins/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java.orig	2007-06-26 04:57:18.000000000 +0900
+++ plugins/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java	2007-09-13 09:48:55.000000000 +0900
@@ -193,6 +193,17 @@
 	public static final String OS_WIN32 = "win32";//$NON-NLS-1$
 
 	/**
+	 * Constant string (value "freebsd") indicating the platform is running on a
+	 * FreeBSD-based operating system.
+	 * <p>
+	 * Note this constant has been moved from the deprecated 
+	 * org.eclipse.core.boot.BootLoader class and its value has not changed.
+	 * </p>
+	 * @since 3.0
+	 */
+	public static final String OS_FREEBSD = "freebsd";//$NON-NLS-1$
+
+	/**
 	 * Constant string (value "linux") indicating the platform is running on a
 	 * Linux-based operating system.
 	 * <p>

--- plugins/org.eclipse.equinox.launcher/src/org/eclipse/equinox/internal/launcher/Constants.java.orig	2007-06-26 04:57:18.000000000 +0900
+++ plugins/org.eclipse.equinox.launcher/src/org/eclipse/equinox/internal/launcher/Constants.java	2007-09-13 09:37:01.000000000 +0900
@@ -18,6 +18,7 @@
 	public static final String INTERNAL_ARCH_I386 = "i386"; //$NON-NLS-1$
 	public static final String INTERNAL_AMD64 = "amd64"; //$NON-NLS-1$
 	public static final String INTERNAL_OS_SUNOS = "SunOS"; //$NON-NLS-1$
+	public static final String INTERNAL_OS_FREEBSD = "FreeBSD"; //$NON-NLS-1$
 	public static final String INTERNAL_OS_LINUX = "Linux"; //$NON-NLS-1$
 	public static final String INTERNAL_OS_MACOSX = "Mac OS"; //$NON-NLS-1$
 	public static final String INTERNAL_OS_AIX = "AIX"; //$NON-NLS-1$
@@ -34,6 +35,12 @@
 	public static final String OS_WIN32 = "win32";//$NON-NLS-1$
 
 	/**
+	 * Constant string (value "freebsd") indicating the platform is running on a
+	 * Linux-based operating system.
+	 */
+	public static final String OS_FREEBSD = "freebsd";//$NON-NLS-1$
+
+	/**
 	 * Constant string (value "linux") indicating the platform is running on a
 	 * Linux-based operating system.
 	 */

--- plugins/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/BrandingIron.java.orig	2007-06-26 04:57:16.000000000 +0900
+++ plugins/org.eclipse.pde.build/src/org/eclipse/pde/internal/build/BrandingIron.java	2007-09-13 01:54:23.000000000 +0900
@@ -72,6 +72,8 @@
 			brandWindows();
 		if ("linux".equals(os)) //$NON-NLS-1$
 			brandLinux();
+		if ("freebsd".equals(os)) //$NON-NLS-1$
+			brandFreeBSD();
 		if ("solaris".equals(os)) //$NON-NLS-1$
 			brandSolaris();
 		if ("macosx".equals(os)) //$NON-NLS-1$
@@ -90,6 +92,12 @@
 		renameLauncher();
 	}
 
+	private void brandFreeBSD() throws Exception {
+		renameLauncher();
+		if (brandIcons)
+			copy(new File(icons[0]), new File(root, "icon.xpm"));
+	}
+
 	private void brandLinux() throws Exception {
 		renameLauncher();
 		if (brandIcons)

--- plugins/org.eclipse.pde.build/templates/packager/packaging.properties.orig	2007-06-26 04:57:16.000000000 +0900
+++ plugins/org.eclipse.pde.build/templates/packager/packaging.properties	2007-09-13 01:51:19.000000000 +0900
@@ -18,6 +18,8 @@
 
 root.win32.win32.x86=eclipse.exe, eclipsec.exe
 root.linux.motif.x86=eclipse,libcairo-swt.so,libXm.so.2,about_files/,about.html,icon.xpm
+root.freebsd.gtk.x86=eclipse,libcairo-swt.so,about_files/,about.html,icon.xpm
+root.freebsd.amd64.x86_64=eclipse,libcairo-swt.so,about_files/,about.html,icon.xpm
 root.linux.gtk.x86=eclipse,libcairo-swt.so,about_files/,about.html,icon.xpm
 root.linux.gtk.x86_64=eclipse,libcairo-swt.so,about_files/,about.html,icon.xpm
 root.linux.gtk.ppc=eclipse

--- plugins/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/IntroTemplate.java.orig	2007-06-26 04:57:02.000000000 +0900
+++ plugins/org.eclipse.pde.ui.templates/src/org/eclipse/pde/internal/ui/templates/rcp/IntroTemplate.java	2007-09-13 01:40:37.000000000 +0900
@@ -169,7 +169,7 @@
 		IPluginElement implementationElement = factory
 				.createElement(presentationElement);
 		implementationElement.setName("implementation"); //$NON-NLS-1$
-        implementationElement.setAttribute("os", "win32,linux,macosx"); //$NON-NLS-1$ //$NON-NLS-2$
+        implementationElement.setAttribute("os", "win32,linux,freebsd,macosx"); //$NON-NLS-1$ //$NON-NLS-2$
         if (getTargetVersion() == 3.0)
             implementationElement.setAttribute("style", "content/shared.css");  //$NON-NLS-1$//$NON-NLS-2$
        

--- plugins/org.eclipse.core.runtime.compatibility/src-boot/org/eclipse/core/boot/BootLoader.java.orig	2007-06-26 04:57:25.000000000 +0900
+++ plugins/org.eclipse.core.runtime.compatibility/src-boot/org/eclipse/core/boot/BootLoader.java	2007-09-13 01:38:36.000000000 +0900
@@ -72,6 +72,13 @@
 	public static final String OS_LINUX = "linux";//$NON-NLS-1$
 
 	/**
+	 * Constant string (value "freebsd") indicating the platform is running on a
+	 * Linux-based operating system.
+	 * @deprecated Replaced by {@link Platform#OS_FREEBSD}.
+	 */
+	public static final String OS_FREEBSD = "freebsd";//$NON-NLS-1$
+
+	/**
 	 * Constant string (value "aix") indicating the platform is running on an
 	 * AIX-based operating system.
 	 * @deprecated Replaced by {@link Platform#OS_AIX}.

--- plugins/org.eclipse.osgi/core/adaptor/org/eclipse/osgi/util/TextProcessor.java.orig	2007-06-26 04:57:18.000000000 +0900
+++ plugins/org.eclipse.osgi/core/adaptor/org/eclipse/osgi/util/TextProcessor.java	2007-09-13 01:10:07.000000000 +0900
@@ -82,8 +82,8 @@
 			isBidi = true;
 		
 		String osName = System.getProperty("os.name").toLowerCase(); //$NON-NLS-1$
-		if (osName.startsWith("windows") || osName.startsWith("linux")) { //$NON-NLS-1$	//$NON-NLS-2$
-																			
+		if (osName.startsWith("windows") || osName.startsWith("linux") 
+                               || osName.startsWith("freebsd")) { //$NON-NLS-1$	//$NON-NLS-2$
 			// Only consider platforms that can support control characters
 			isSupportedPlatform = true;
 		}

--- plugins/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/osgi/service/environment/Constants.java.orig	2007-06-26 04:57:02.000000000 +0900
+++ plugins/org.eclipse.osgi/eclipseAdaptor/src/org/eclipse/osgi/service/environment/Constants.java	2007-09-13 01:03:14.000000000 +0900
@@ -29,6 +29,12 @@
 	public static final String OS_LINUX = "linux";//$NON-NLS-1$
 
 	/**
+	 * Constant string (value "freebsd") indicating the platform is running on a
+	 * FreeBSD-based operating system.
+	 */
+	public static final String OS_FREEBSD = "freebsd";//$NON-NLS-1$
+
+	/**
 	 * Constant string (value "aix") indicating the platform is running on an
 	 * AIX-based operating system.
 	 */


--- features/org.eclipse.rcp/build.properties.orig	2007-06-26 04:57:18.000000000 +0900
+++ features/org.eclipse.rcp/build.properties	2007-09-13 00:43:31.000000000 +0900
@@ -23,6 +23,10 @@
 
 root.solaris.gtk.sparc=../../features/org.eclipse.equinox.executable/bin/gtk/solaris/sparc
 
+root.freebsd.gtk.x86=../../features/org.eclipse.platform/about_files/freebsd.gtk.x86,../../features/org.eclipse.equinox.executable/bin/gtk/freebsd/x86
+root.freebsd.gtk.x86.permissions.755=*.so*
+root.freebsd.gtk.amd64=../../features/org.eclipse.platform/about_files/freebsd.gtk.amd64,../../features/org.eclipse.equinox.executable/bin/gtk/freebsd/amd64
+root.freebsd.gtk.amd64.permissions.755=*.so*
 root.linux.gtk.x86=../../features/org.eclipse.platform/about_files/linux.gtk.x86,../../features/org.eclipse.equinox.executable/bin/gtk/linux/x86
 root.linux.gtk.x86.permissions.755=*.so*
 root.linux.gtk.s390=../../features/org.eclipse.platform/about_files/linux.gtk.s390,../../features/org.eclipse.equinox.executable/contributed/gtk/linux/s390

--- features/org.eclipse.platform/build.properties.orig	2007-06-26 04:57:18.000000000 +0900
+++ features/org.eclipse.platform/build.properties	2007-09-13 00:35:59.000000000 +0900
@@ -32,7 +32,10 @@
 root.solaris.motif.sparc=../../features/org.eclipse.equinox.executable/bin/gtk/solaris/sparc,motif
 root.solaris.gtk.x86=../../launchertmp,gtk
 
-
+root.freebsd.gtk.x86=about_files/freebsd.gtk.x86,../../features/org.eclipse.equinox.executable/bin/gtk/freebsd/x86,gtk
+root.freebsd.gtk.x86.permissions.755=*.so*
+root.freebsd.gtk.amd64=about_files/freebsd.gtk.amd64,../../features/org.eclipse.equinox.executable/bin/gtk/freebsd/amd64,gtk
+root.freebsd.gtk.amd64.permissions.755=*.so*
 root.linux.gtk.x86=about_files/linux.gtk.x86,../../features/org.eclipse.equinox.executable/bin/gtk/linux/x86,gtk
 root.linux.gtk.x86.permissions.755=*.so*
 root.linux.gtk.s390=about_files/linux.gtk.s390,../../features/org.eclipse.equinox.executable/contributed/gtk/linux/s390,gtk

--- features/org.eclipse.sdk/build.properties.orig	2007-06-26 04:57:03.000000000 +0900
+++ features/org.eclipse.sdk/build.properties	2007-09-13 00:32:31.000000000 +0900
@@ -32,6 +32,8 @@
 root.aix.motif.ppc=motif
 root.hpux.motif.PA_RISC=motif
 root.solaris.gtk.sparc=gtk
+root.freebsd.gtk.x86=gtk
+root.freebsd.gtk.amd64=gtk
 root.linux.gtk.x86=gtk
 root.linux.gtk.x86_64=gtk
 root.linux.gtk.ppc=gtk
