diff options
Diffstat (limited to 'meta/packages/mozilla-headless')
16 files changed, 0 insertions, 3423 deletions
diff --git a/meta/packages/mozilla-headless/mozilla-headless-services/confighack.patch b/meta/packages/mozilla-headless/mozilla-headless-services/confighack.patch deleted file mode 100644 index dcfe11e0f..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless-services/confighack.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: places-glib/configure.ac -=================================================================== ---- places-glib.orig/configure.ac 2009-04-17 10:29:15.000000000 +0100 -+++ places-glib/configure.ac 2009-04-17 10:29:44.000000000 +0100 -@@ -99,6 +99,8 @@ - PKG_CHECK_MODULES(GLIB, [glib-2.0]) - PKG_CHECK_MODULES(DBUS, [dbus-glib-1]) - -+XUL_LIBS="$XUL_LIBS -lmozjs" -+ - MOZHOME=`${PKG_CONFIG} --variable=prefix mozilla-headless`"/lib/xulrunner-"`${PKG_CONFIG} --modversion mozilla-headless` - AC_SUBST([MOZHOME]) - diff --git a/meta/packages/mozilla-headless/mozilla-headless-services_git.bb b/meta/packages/mozilla-headless/mozilla-headless-services_git.bb deleted file mode 100644 index 14d64fa8c..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless-services_git.bb +++ /dev/null @@ -1,14 +0,0 @@ -SRC_URI = "git://git.moblin.org/mozilla-headless-services.git;protocol=git \ - file://confighack.patch;patch=1" -PV = "0.1+git${SRCPV}" -PR = "r1" - -DEPENDS = "glib-2.0 dbus mozilla-headless json-glib" - -EXTRA_OECONF = "--enable-gnome-proxy" - -S = "${WORKDIR}/git" - -FILES_${PN} += "${datadir}/dbus-1/services" - -inherit autotools diff --git a/meta/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch b/meta/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch deleted file mode 100644 index db9e14799..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch +++ /dev/null @@ -1,1478 +0,0 @@ -From fb41f028badb4dfddfc47fb2a1a68c1aa90dcef5 Mon Sep 17 00:00:00 2001 -From: Robert Bragg <robert@linux.intel.com> -Date: Fri, 8 May 2009 13:57:22 +0100 -Subject: [PATCH] Adds initial Gtk clipboard support to moz-headless - -If build with MOZ_X11 enabled then this now builds the clipboard code taken -from the gtk2 backend. This doesn't provide any embedding API yet to expose -the clipboard. ---- - widget/src/headless/Makefile.in | 6 + - widget/src/headless/nsClipboard.cpp | 948 +++++++++++++++++++++++++++++++ - widget/src/headless/nsClipboard.h | 93 +++ - widget/src/headless/nsIImageToPixbuf.h | 62 ++ - widget/src/headless/nsImageToPixbuf.cpp | 196 +++++++ - widget/src/headless/nsImageToPixbuf.h | 71 +++ - widget/src/headless/nsWidgetFactory.cpp | 18 + - 7 files changed, 1394 insertions(+), 0 deletions(-) - create mode 100644 widget/src/headless/nsClipboard.cpp - create mode 100644 widget/src/headless/nsClipboard.h - create mode 100644 widget/src/headless/nsIImageToPixbuf.h - create mode 100644 widget/src/headless/nsImageToPixbuf.cpp - create mode 100644 widget/src/headless/nsImageToPixbuf.h - -Index: offscreen/widget/src/headless/Makefile.in -=================================================================== ---- offscreen.orig/widget/src/headless/Makefile.in 2009-05-16 18:23:25.000000000 +0100 -+++ offscreen/widget/src/headless/Makefile.in 2009-06-12 14:14:05.000000000 +0100 -@@ -95,6 +95,12 @@ - nsScreenManagerHeadless.cpp \ - $(NULL) - -+ifdef MOZ_X11 -+CPPSRCS += nsClipboard.cpp \ -+ nsImageToPixbuf.cpp \ -+ $(NULL) -+endif -+ - # build our subdirs, too - SHARED_LIBRARY_LIBS = ../xpwidgets/libxpwidgets_s.a - -Index: offscreen/widget/src/headless/nsClipboard.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsClipboard.cpp 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,948 @@ -+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* vim:expandtab:shiftwidth=4:tabstop=4: -+ */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org code. -+ * -+ * The Initial Developer of the Original Code is Christopher Blizzard -+ * <blizzard@mozilla.org>. Portions created by the Initial Developer -+ * are Copyright (C) 2001 the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include "nsClipboard.h" -+#include "nsSupportsPrimitives.h" -+#include "nsString.h" -+#include "nsReadableUtils.h" -+#include "nsXPIDLString.h" -+#include "nsPrimitiveHelpers.h" -+#include "nsICharsetConverterManager.h" -+#include "nsIServiceManager.h" -+#include "nsIImage.h" -+#include "nsImageToPixbuf.h" -+#include "nsStringStream.h" -+ -+#include <gtk/gtk.h> -+ -+// For manipulation of the X event queue -+#include <X11/Xlib.h> -+#include <gdk/gdkx.h> -+#include <sys/time.h> -+#include <sys/types.h> -+#include <unistd.h> -+ -+#ifdef POLL_WITH_XCONNECTIONNUMBER -+#include <poll.h> -+#endif -+ -+// Callback when someone asks us for the selection -+void -+invisible_selection_get_cb (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime, -+ guint aInfo, -+ nsClipboard *aClipboard); -+ -+gboolean -+selection_clear_event_cb (GtkWidget *aWidget, -+ GdkEventSelection *aEvent, -+ nsClipboard *aClipboard); -+ -+static void -+ConvertHTMLtoUCS2 (guchar *data, -+ PRInt32 dataLength, -+ PRUnichar **unicodeData, -+ PRInt32 &outUnicodeLen); -+ -+static void -+GetHTMLCharset (guchar * data, PRInt32 dataLength, nsCString& str); -+ -+ -+// Our own versions of gtk_clipboard_wait_for_contents and -+// gtk_clipboard_wait_for_text, which don't run the event loop while -+// waiting for the data. This prevents a lot of problems related to -+// dispatching events at unexpected times. -+ -+static GtkSelectionData * -+wait_for_contents (GtkClipboard *clipboard, GdkAtom target); -+ -+static gchar * -+wait_for_text (GtkClipboard *clipboard); -+ -+static Bool -+checkEventProc(Display *display, XEvent *event, XPointer arg); -+ -+struct retrieval_context -+{ -+ PRBool completed; -+ void *data; -+ -+ retrieval_context() : completed(PR_FALSE), data(nsnull) { } -+}; -+ -+static void -+wait_for_retrieval(GtkClipboard *clipboard, retrieval_context *transferData); -+ -+static void -+clipboard_contents_received(GtkClipboard *clipboard, -+ GtkSelectionData *selection_data, -+ gpointer data); -+ -+static void -+clipboard_text_received(GtkClipboard *clipboard, -+ const gchar *text, -+ gpointer data); -+ -+nsClipboard::nsClipboard() -+{ -+ mWidget = nsnull; -+} -+ -+nsClipboard::~nsClipboard() -+{ -+ if (mWidget) -+ gtk_widget_destroy(mWidget); -+} -+ -+NS_IMPL_ISUPPORTS1(nsClipboard, nsIClipboard) -+ -+nsresult -+nsClipboard::Init(void) -+{ -+ mWidget = gtk_invisible_new(); -+ if (!mWidget) -+ return NS_ERROR_FAILURE; -+ -+ g_signal_connect(G_OBJECT(mWidget), "selection_get", -+ G_CALLBACK(invisible_selection_get_cb), this); -+ -+ g_signal_connect(G_OBJECT(mWidget), "selection_clear_event", -+ G_CALLBACK(selection_clear_event_cb), this); -+ -+ // XXX make sure to set up the selection_clear event -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::SetData(nsITransferable *aTransferable, -+ nsIClipboardOwner *aOwner, PRInt32 aWhichClipboard) -+{ -+ // See if we can short cut -+ if ((aWhichClipboard == kGlobalClipboard && -+ aTransferable == mGlobalTransferable.get() && -+ aOwner == mGlobalOwner.get()) || -+ (aWhichClipboard == kSelectionClipboard && -+ aTransferable == mSelectionTransferable.get() && -+ aOwner == mSelectionOwner.get())) { -+ return NS_OK; -+ } -+ -+ nsresult rv; -+ if (!mPrivacyHandler) { -+ rv = NS_NewClipboardPrivacyHandler(getter_AddRefs(mPrivacyHandler)); -+ NS_ENSURE_SUCCESS(rv, rv); -+ } -+ rv = mPrivacyHandler->PrepareDataForClipboard(aTransferable); -+ NS_ENSURE_SUCCESS(rv, rv); -+ -+ // Clear out the clipboard in order to set the new data -+ EmptyClipboard(aWhichClipboard); -+ -+ if (aWhichClipboard == kSelectionClipboard) { -+ mSelectionOwner = aOwner; -+ mSelectionTransferable = aTransferable; -+ } -+ else { -+ mGlobalOwner = aOwner; -+ mGlobalTransferable = aTransferable; -+ } -+ -+ // Which selection are we about to claim, CLIPBOARD or PRIMARY? -+ GdkAtom selectionAtom = GetSelectionAtom(aWhichClipboard); -+ -+ // Make ourselves the owner. If we fail to, return. -+ if (!gtk_selection_owner_set(mWidget, selectionAtom, GDK_CURRENT_TIME)) -+ return NS_ERROR_FAILURE; -+ -+ // Clear the old selection target list. -+ gtk_selection_clear_targets(mWidget, selectionAtom); -+ -+ // Get the types of supported flavors -+ nsCOMPtr<nsISupportsArray> flavors; -+ -+ rv = aTransferable->FlavorsTransferableCanExport(getter_AddRefs(flavors)); -+ if (!flavors || NS_FAILED(rv)) -+ return NS_ERROR_FAILURE; -+ -+ // Add all the flavors to this widget's supported type. -+ PRUint32 count; -+ flavors->Count(&count); -+ for (PRUint32 i=0; i < count; i++) { -+ nsCOMPtr<nsISupports> tastesLike; -+ flavors->GetElementAt(i, getter_AddRefs(tastesLike)); -+ nsCOMPtr<nsISupportsCString> flavor = do_QueryInterface(tastesLike); -+ -+ if (flavor) { -+ nsXPIDLCString flavorStr; -+ flavor->ToString(getter_Copies(flavorStr)); -+ -+ // special case text/unicode since we can handle all of -+ // the string types -+ if (!strcmp(flavorStr, kUnicodeMime)) { -+ AddTarget(gdk_atom_intern("UTF8_STRING", FALSE), -+ selectionAtom); -+ AddTarget(gdk_atom_intern("COMPOUND_TEXT", FALSE), -+ selectionAtom); -+ AddTarget(gdk_atom_intern("TEXT", FALSE), selectionAtom); -+ AddTarget(GDK_SELECTION_TYPE_STRING, selectionAtom); -+ // next loop iteration -+ continue; -+ } -+ -+ // very special case for this one. since our selection mechanism doesn't work for images, -+ // we must use GTK's clipboard utility functions -+ if (!strcmp(flavorStr, kNativeImageMime) || !strcmp(flavorStr, kPNGImageMime) || -+ !strcmp(flavorStr, kJPEGImageMime) || !strcmp(flavorStr, kGIFImageMime)) { -+ nsCOMPtr<nsISupports> item; -+ PRUint32 len; -+ rv = aTransferable->GetTransferData(flavorStr, getter_AddRefs(item), &len); -+ nsCOMPtr<nsISupportsInterfacePointer> ptrPrimitive(do_QueryInterface(item)); -+ if (!ptrPrimitive) -+ continue; -+ -+ nsCOMPtr<nsISupports> primitiveData; -+ ptrPrimitive->GetData(getter_AddRefs(primitiveData)); -+ nsCOMPtr<nsIImage> image(do_QueryInterface(primitiveData)); -+ if (!image) // Not getting an image for an image mime type!? -+ continue; -+ -+ if (NS_FAILED(image->LockImagePixels(PR_FALSE))) -+ continue; -+ GdkPixbuf* pixbuf = nsImageToPixbuf::ImageToPixbuf(image); -+ if (!pixbuf) { -+ image->UnlockImagePixels(PR_FALSE); -+ continue; -+ } -+ -+ GtkClipboard *aClipboard = gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); -+ gtk_clipboard_set_image(aClipboard, pixbuf); -+ g_object_unref(pixbuf); -+ image->UnlockImagePixels(PR_FALSE); -+ continue; -+ } -+ -+ // Add this to our list of valid targets -+ GdkAtom atom = gdk_atom_intern(flavorStr, FALSE); -+ AddTarget(atom, selectionAtom); -+ } -+ } -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::GetData(nsITransferable *aTransferable, PRInt32 aWhichClipboard) -+{ -+ if (!aTransferable) -+ return NS_ERROR_FAILURE; -+ -+ GtkClipboard *clipboard; -+ clipboard = gtk_clipboard_get(GetSelectionAtom(aWhichClipboard)); -+ -+ guchar *data = NULL; -+ gint length = 0; -+ PRBool foundData = PR_FALSE; -+ nsCAutoString foundFlavor; -+ -+ // Get a list of flavors this transferable can import -+ nsCOMPtr<nsISupportsArray> flavors; -+ nsresult rv; -+ rv = aTransferable->FlavorsTransferableCanImport(getter_AddRefs(flavors)); -+ if (!flavors || NS_FAILED(rv)) -+ return NS_ERROR_FAILURE; -+ -+ PRUint32 count; -+ flavors->Count(&count); -+ for (PRUint32 i=0; i < count; i++) { -+ nsCOMPtr<nsISupports> genericFlavor; -+ flavors->GetElementAt(i, getter_AddRefs(genericFlavor)); -+ -+ nsCOMPtr<nsISupportsCString> currentFlavor; -+ currentFlavor = do_QueryInterface(genericFlavor); -+ -+ if (currentFlavor) { -+ nsXPIDLCString flavorStr; -+ currentFlavor->ToString(getter_Copies(flavorStr)); -+ -+ // Special case text/unicode since we can convert any -+ // string into text/unicode -+ if (!strcmp(flavorStr, kUnicodeMime)) { -+ gchar* new_text = wait_for_text(clipboard); -+ if (new_text) { -+ // Convert utf-8 into our unicode format. -+ NS_ConvertUTF8toUTF16 ucs2string(new_text); -+ data = (guchar *)ToNewUnicode(ucs2string); -+ length = ucs2string.Length() * 2; -+ g_free(new_text); -+ foundData = PR_TRUE; -+ foundFlavor = kUnicodeMime; -+ break; -+ } -+ // If the type was text/unicode and we couldn't get -+ // text off the clipboard, run the next loop -+ // iteration. -+ continue; -+ } -+ -+ // For images, we must wrap the data in an nsIInputStream then return instead of break, -+ // because that code below won't help us. -+ if (!strcmp(flavorStr, kJPEGImageMime) || !strcmp(flavorStr, kPNGImageMime) || !strcmp(flavorStr, kGIFImageMime)) { -+ GdkAtom atom; -+ if (!strcmp(flavorStr, kJPEGImageMime)) // This is image/jpg, but X only understands image/jpeg -+ atom = gdk_atom_intern("image/jpeg", FALSE); -+ else -+ atom = gdk_atom_intern(flavorStr, FALSE); -+ -+ GtkSelectionData *selectionData = wait_for_contents(clipboard, atom); -+ if (!selectionData) -+ continue; -+ -+ nsCOMPtr<nsIInputStream> byteStream; -+ NS_NewByteInputStream(getter_AddRefs(byteStream), (const char*)selectionData->data, -+ selectionData->length, NS_ASSIGNMENT_COPY); -+ aTransferable->SetTransferData(flavorStr, byteStream, sizeof(nsIInputStream*)); -+ gtk_selection_data_free(selectionData); -+ return NS_OK; -+ } -+ -+ // Get the atom for this type and try to request it off -+ // the clipboard. -+ GdkAtom atom = gdk_atom_intern(flavorStr, FALSE); -+ GtkSelectionData *selectionData; -+ selectionData = wait_for_contents(clipboard, atom); -+ if (selectionData) { -+ length = selectionData->length; -+ // Special case text/html since we can convert into UCS2 -+ if (!strcmp(flavorStr, kHTMLMime)) { -+ PRUnichar* htmlBody= nsnull; -+ PRInt32 htmlBodyLen = 0; -+ // Convert text/html into our unicode format -+ ConvertHTMLtoUCS2((guchar *)selectionData->data, length, -+ &htmlBody, htmlBodyLen); -+ if (!htmlBodyLen) -+ break; -+ data = (guchar *)htmlBody; -+ length = htmlBodyLen * 2; -+ } else { -+ data = (guchar *)nsMemory::Alloc(length); -+ if (!data) -+ break; -+ memcpy(data, selectionData->data, length); -+ } -+ foundData = PR_TRUE; -+ foundFlavor = flavorStr; -+ break; -+ } -+ } -+ } -+ -+ if (foundData) { -+ nsCOMPtr<nsISupports> wrapper; -+ nsPrimitiveHelpers::CreatePrimitiveForData(foundFlavor.get(), -+ data, length, -+ getter_AddRefs(wrapper)); -+ aTransferable->SetTransferData(foundFlavor.get(), -+ wrapper, length); -+ } -+ -+ if (data) -+ nsMemory::Free(data); -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::EmptyClipboard(PRInt32 aWhichClipboard) -+{ -+ if (aWhichClipboard == kSelectionClipboard) { -+ if (mSelectionOwner) { -+ mSelectionOwner->LosingOwnership(mSelectionTransferable); -+ mSelectionOwner = nsnull; -+ } -+ mSelectionTransferable = nsnull; -+ } -+ else { -+ if (mGlobalOwner) { -+ mGlobalOwner->LosingOwnership(mGlobalTransferable); -+ mGlobalOwner = nsnull; -+ } -+ mGlobalTransferable = nsnull; -+ } -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::HasDataMatchingFlavors(const char** aFlavorList, PRUint32 aLength, -+ PRInt32 aWhichClipboard, PRBool *_retval) -+{ -+ if (!aFlavorList || !_retval) -+ return NS_ERROR_NULL_POINTER; -+ -+ *_retval = PR_FALSE; -+ -+ GtkSelectionData *selection_data = -+ GetTargets(GetSelectionAtom(aWhichClipboard)); -+ if (!selection_data) -+ return NS_OK; -+ -+ gint n_targets = 0; -+ GdkAtom *targets = NULL; -+ -+ if (!gtk_selection_data_get_targets(selection_data, -+ &targets, &n_targets) || -+ !n_targets) -+ return NS_OK; -+ -+ // Walk through the provided types and try to match it to a -+ // provided type. -+ for (PRUint32 i = 0; i < aLength && !*_retval; i++) { -+ // We special case text/unicode here. -+ if (!strcmp(aFlavorList[i], kUnicodeMime) && -+ gtk_selection_data_targets_include_text(selection_data)) { -+ *_retval = PR_TRUE; -+ break; -+ } -+ -+ for (PRInt32 j = 0; j < n_targets; j++) { -+ gchar *atom_name = gdk_atom_name(targets[j]); -+ if (!strcmp(atom_name, aFlavorList[i])) -+ *_retval = PR_TRUE; -+ -+ // X clipboard wants image/jpeg, not image/jpg -+ if (!strcmp(aFlavorList[i], kJPEGImageMime) && !strcmp(atom_name, "image/jpeg")) -+ *_retval = PR_TRUE; -+ -+ g_free(atom_name); -+ -+ if (*_retval) -+ break; -+ } -+ } -+ gtk_selection_data_free(selection_data); -+ g_free(targets); -+ -+ return NS_OK; -+} -+ -+NS_IMETHODIMP -+nsClipboard::SupportsSelectionClipboard(PRBool *_retval) -+{ -+ *_retval = PR_TRUE; // yeah, unix supports the selection clipboard -+ return NS_OK; -+} -+ -+/* static */ -+GdkAtom -+nsClipboard::GetSelectionAtom(PRInt32 aWhichClipboard) -+{ -+ if (aWhichClipboard == kGlobalClipboard) -+ return GDK_SELECTION_CLIPBOARD; -+ -+ return GDK_SELECTION_PRIMARY; -+} -+ -+/* static */ -+GtkSelectionData * -+nsClipboard::GetTargets(GdkAtom aWhichClipboard) -+{ -+ GtkClipboard *clipboard = gtk_clipboard_get(aWhichClipboard); -+ return wait_for_contents(clipboard, gdk_atom_intern("TARGETS", FALSE)); -+} -+ -+nsITransferable * -+nsClipboard::GetTransferable(PRInt32 aWhichClipboard) -+{ -+ nsITransferable *retval; -+ -+ if (aWhichClipboard == kSelectionClipboard) -+ retval = mSelectionTransferable.get(); -+ else -+ retval = mGlobalTransferable.get(); -+ -+ return retval; -+} -+ -+void -+nsClipboard::AddTarget(GdkAtom aName, GdkAtom aClipboard) -+{ -+ gtk_selection_add_target(mWidget, aClipboard, aName, 0); -+} -+ -+void -+nsClipboard::SelectionGetEvent (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime) -+{ -+ // Someone has asked us to hand them something. The first thing -+ // that we want to do is see if that something includes text. If -+ // it does, try to give it text/unicode after converting it to -+ // utf-8. -+ -+ PRInt32 whichClipboard; -+ -+ // which clipboard? -+ if (aSelectionData->selection == GDK_SELECTION_PRIMARY) -+ whichClipboard = kSelectionClipboard; -+ else if (aSelectionData->selection == GDK_SELECTION_CLIPBOARD) -+ whichClipboard = kGlobalClipboard; -+ else -+ return; // THAT AIN'T NO CLIPBOARD I EVER HEARD OF -+ -+ nsCOMPtr<nsITransferable> trans = GetTransferable(whichClipboard); -+ -+ nsresult rv; -+ nsCOMPtr<nsISupports> item; -+ PRUint32 len; -+ -+ // Check to see if the selection data includes any of the string -+ // types that we support. -+ if (aSelectionData->target == gdk_atom_intern ("STRING", FALSE) || -+ aSelectionData->target == gdk_atom_intern ("TEXT", FALSE) || -+ aSelectionData->target == gdk_atom_intern ("COMPOUND_TEXT", FALSE) || -+ aSelectionData->target == gdk_atom_intern ("UTF8_STRING", FALSE)) { -+ // Try to convert our internal type into a text string. Get -+ // the transferable for this clipboard and try to get the -+ // text/unicode type for it. -+ rv = trans->GetTransferData("text/unicode", getter_AddRefs(item), -+ &len); -+ if (!item || NS_FAILED(rv)) -+ return; -+ -+ nsCOMPtr<nsISupportsString> wideString; -+ wideString = do_QueryInterface(item); -+ if (!wideString) -+ return; -+ -+ nsAutoString ucs2string; -+ wideString->GetData(ucs2string); -+ char *utf8string = ToNewUTF8String(ucs2string); -+ if (!utf8string) -+ return; -+ -+ gtk_selection_data_set_text (aSelectionData, utf8string, -+ strlen(utf8string)); -+ -+ nsMemory::Free(utf8string); -+ return; -+ } -+ -+ // Try to match up the selection data target to something our -+ // transferable provides. -+ gchar *target_name = gdk_atom_name(aSelectionData->target); -+ if (!target_name) -+ return; -+ -+ rv = trans->GetTransferData(target_name, getter_AddRefs(item), &len); -+ // nothing found? -+ if (!item || NS_FAILED(rv)) { -+ g_free(target_name); -+ return; -+ } -+ -+ void *primitive_data = nsnull; -+ nsPrimitiveHelpers::CreateDataFromPrimitive(target_name, item, -+ &primitive_data, len); -+ -+ if (primitive_data) { -+ // Check to see if the selection data is text/html -+ if (aSelectionData->target == gdk_atom_intern (kHTMLMime, FALSE)) { -+ /* -+ * "text/html" can be encoded UCS2. It is recommended that -+ * documents transmitted as UCS2 always begin with a ZERO-WIDTH -+ * NON-BREAKING SPACE character (hexadecimal FEFF, also called -+ * Byte Order Mark (BOM)). Adding BOM can help other app to -+ * detect mozilla use UCS2 encoding when copy-paste. -+ */ -+ guchar *buffer = (guchar *) -+ nsMemory::Alloc((len * sizeof(guchar)) + sizeof(PRUnichar)); -+ if (!buffer) -+ return; -+ PRUnichar prefix = 0xFEFF; -+ memcpy(buffer, &prefix, sizeof(prefix)); -+ memcpy(buffer + sizeof(prefix), primitive_data, len); -+ nsMemory::Free((guchar *)primitive_data); -+ primitive_data = (guchar *)buffer; -+ len += sizeof(prefix); -+ } -+ -+ gtk_selection_data_set(aSelectionData, aSelectionData->target, -+ 8, /* 8 bits in a unit */ -+ (const guchar *)primitive_data, len); -+ nsMemory::Free(primitive_data); -+ } -+ -+ g_free(target_name); -+ -+} -+ -+void -+nsClipboard::SelectionClearEvent (GtkWidget *aWidget, -+ GdkEventSelection *aEvent) -+{ -+ PRInt32 whichClipboard; -+ -+ // which clipboard? -+ if (aEvent->selection == GDK_SELECTION_PRIMARY) -+ whichClipboard = kSelectionClipboard; -+ else if (aEvent->selection == GDK_SELECTION_CLIPBOARD) -+ whichClipboard = kGlobalClipboard; -+ else -+ return; // THAT AIN'T NO CLIPBOARD I EVER HEARD OF -+ -+ EmptyClipboard(whichClipboard); -+} -+ -+void -+invisible_selection_get_cb (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime, -+ guint aInfo, -+ nsClipboard *aClipboard) -+{ -+ aClipboard->SelectionGetEvent(aWidget, aSelectionData, aTime); -+} -+ -+gboolean -+selection_clear_event_cb (GtkWidget *aWidget, -+ GdkEventSelection *aEvent, -+ nsClipboard *aClipboard) -+{ -+ aClipboard->SelectionClearEvent(aWidget, aEvent); -+ return TRUE; -+} -+ -+/* -+ * when copy-paste, mozilla wants data encoded using UCS2, -+ * other app such as StarOffice use "text/html"(RFC2854). -+ * This function convert data(got from GTK clipboard) -+ * to data mozilla wanted. -+ * -+ * data from GTK clipboard can be 3 forms: -+ * 1. From current mozilla -+ * "text/html", charset = utf-16 -+ * 2. From old version mozilla or mozilla-based app -+ * content("body" only), charset = utf-16 -+ * 3. From other app who use "text/html" when copy-paste -+ * "text/html", has "charset" info -+ * -+ * data : got from GTK clipboard -+ * dataLength: got from GTK clipboard -+ * body : pass to Mozilla -+ * bodyLength: pass to Mozilla -+ */ -+void ConvertHTMLtoUCS2(guchar * data, PRInt32 dataLength, -+ PRUnichar** unicodeData, PRInt32& outUnicodeLen) -+{ -+ nsCAutoString charset; -+ GetHTMLCharset(data, dataLength, charset);// get charset of HTML -+ if (charset.EqualsLiteral("UTF-16")) {//current mozilla -+ outUnicodeLen = (dataLength / 2) - 1; -+ *unicodeData = reinterpret_cast<PRUnichar*> -+ (nsMemory::Alloc((outUnicodeLen + sizeof('\0')) * -+ sizeof(PRUnichar))); -+ if (*unicodeData) { -+ memcpy(*unicodeData, data + sizeof(PRUnichar), -+ outUnicodeLen * sizeof(PRUnichar)); -+ (*unicodeData)[outUnicodeLen] = '\0'; -+ } -+ } else if (charset.EqualsLiteral("UNKNOWN")) { -+ outUnicodeLen = 0; -+ return; -+ } else { -+ // app which use "text/html" to copy&paste -+ nsCOMPtr<nsIUnicodeDecoder> decoder; -+ nsresult rv; -+ // get the decoder -+ nsCOMPtr<nsICharsetConverterManager> ccm = -+ do_GetService(NS_CHARSETCONVERTERMANAGER_CONTRACTID, &rv); -+ if (NS_FAILED(rv)) { -+#ifdef DEBUG_CLIPBOARD -+ g_print(" can't get CHARSET CONVERTER MANAGER service\n"); -+#endif -+ outUnicodeLen = 0; -+ return; -+ } -+ rv = ccm->GetUnicodeDecoder(charset.get(), getter_AddRefs(decoder)); -+ if (NS_FAILED(rv)) { -+#ifdef DEBUG_CLIPBOARD -+ g_print(" get unicode decoder error\n"); -+#endif -+ outUnicodeLen = 0; -+ return; -+ } -+ // converting -+ decoder->GetMaxLength((const char *)data, dataLength, &outUnicodeLen); -+ // |outUnicodeLen| is number of chars -+ if (outUnicodeLen) { -+ *unicodeData = reinterpret_cast<PRUnichar*> -+ (nsMemory::Alloc((outUnicodeLen + sizeof('\0')) * -+ sizeof(PRUnichar))); -+ if (*unicodeData) { -+ PRInt32 numberTmp = dataLength; -+ decoder->Convert((const char *)data, &numberTmp, -+ *unicodeData, &outUnicodeLen); -+#ifdef DEBUG_CLIPBOARD -+ if (numberTmp != dataLength) -+ printf("didn't consume all the bytes\n"); -+#endif -+ // null terminate. Convert() doesn't do it for us -+ (*unicodeData)[outUnicodeLen] = '\0'; -+ } -+ } // if valid length -+ } -+} -+ -+/* -+ * get "charset" information from clipboard data -+ * return value can be: -+ * 1. "UTF-16": mozilla or "text/html" with "charset=utf-16" -+ * 2. "UNKNOWN": mozilla can't detect what encode it use -+ * 3. other: "text/html" with other charset than utf-16 -+ */ -+void GetHTMLCharset(guchar * data, PRInt32 dataLength, nsCString& str) -+{ -+ // if detect "FFFE" or "FEFF", assume UTF-16 -+ PRUnichar* beginChar = (PRUnichar*)data; -+ if ((beginChar[0] == 0xFFFE) || (beginChar[0] == 0xFEFF)) { -+ str.AssignLiteral("UTF-16"); -+ return; -+ } -+ // no "FFFE" and "FEFF", assume ASCII first to find "charset" info -+ const nsDependentCString htmlStr((const char *)data, dataLength); -+ nsACString::const_iterator start, end; -+ htmlStr.BeginReading(start); -+ htmlStr.EndReading(end); -+ nsACString::const_iterator valueStart(start), valueEnd(start); -+ -+ if (CaseInsensitiveFindInReadable( -+ NS_LITERAL_CSTRING("CONTENT=\"text/html;"), -+ start, end)) { -+ start = end; -+ htmlStr.EndReading(end); -+ -+ if (CaseInsensitiveFindInReadable( -+ NS_LITERAL_CSTRING("charset="), -+ start, end)) { -+ valueStart = end; -+ start = end; -+ htmlStr.EndReading(end); -+ -+ if (FindCharInReadable('"', start, end)) -+ valueEnd = start; -+ } -+ } -+ // find "charset" in HTML -+ if (valueStart != valueEnd) { -+ str = Substring(valueStart, valueEnd); -+ ToUpperCase(str); -+#ifdef DEBUG_CLIPBOARD -+ printf("Charset of HTML = %s\n", charsetUpperStr.get()); -+#endif -+ return; -+ } -+ str.AssignLiteral("UNKNOWN"); -+} -+ -+static void -+DispatchSelectionNotifyEvent(GtkWidget *widget, XEvent *xevent) -+{ -+ GdkEvent event; -+ event.selection.type = GDK_SELECTION_NOTIFY; -+ event.selection.window = widget->window; -+ event.selection.selection = gdk_x11_xatom_to_atom(xevent->xselection.selection); -+ event.selection.target = gdk_x11_xatom_to_atom(xevent->xselection.target); -+ event.selection.property = gdk_x11_xatom_to_atom(xevent->xselection.property); -+ event.selection.time = xevent->xselection.time; -+ -+ gtk_widget_event(widget, &event); -+} -+ -+static void -+DispatchPropertyNotifyEvent(GtkWidget *widget, XEvent *xevent) -+{ -+ if (((GdkWindowObject *) widget->window)->event_mask & GDK_PROPERTY_CHANGE_MASK) { -+ GdkEvent event; -+ event.property.type = GDK_PROPERTY_NOTIFY; -+ event.property.window = widget->window; -+ event.property.atom = gdk_x11_xatom_to_atom(xevent->xproperty.atom); -+ event.property.time = xevent->xproperty.time; -+ event.property.state = xevent->xproperty.state; -+ -+ gtk_widget_event(widget, &event); -+ } -+} -+ -+struct checkEventContext -+{ -+ GtkWidget *cbWidget; -+ Atom selAtom; -+}; -+ -+static Bool -+checkEventProc(Display *display, XEvent *event, XPointer arg) -+{ -+ checkEventContext *context = (checkEventContext *) arg; -+ -+ if (event->xany.type == SelectionNotify || -+ (event->xany.type == PropertyNotify && -+ event->xproperty.atom == context->selAtom)) { -+ -+ GdkWindow *cbWindow = gdk_window_lookup(event->xany.window); -+ if (cbWindow) { -+ GtkWidget *cbWidget = NULL; -+ gdk_window_get_user_data(cbWindow, (gpointer *)&cbWidget); -+ if (cbWidget && GTK_IS_WIDGET(cbWidget)) { -+ context->cbWidget = cbWidget; -+ return True; -+ } -+ } -+ } -+ -+ return False; -+} -+ -+// Idle timeout for receiving selection and property notify events (microsec) -+static const int kClipboardTimeout = 500000; -+ -+static void -+wait_for_retrieval(GtkClipboard *clipboard, retrieval_context *r_context) -+{ -+ if (r_context->completed) // the request completed synchronously -+ return; -+ -+ Display *xDisplay = GDK_DISPLAY(); -+ checkEventContext context; -+ context.cbWidget = NULL; -+ context.selAtom = gdk_x11_atom_to_xatom(gdk_atom_intern("GDK_SELECTION", -+ FALSE)); -+ -+ // Send X events which are relevant to the ongoing selection retrieval -+ // to the clipboard widget. Wait until either the operation completes, or -+ // we hit our timeout. All other X events remain queued. -+ -+ int select_result; -+ -+#ifdef POLL_WITH_XCONNECTIONNUMBER -+ struct pollfd fds[1]; -+ fds[0].fd = XConnectionNumber(xDisplay); -+ fds[0].events = POLLIN; -+#else -+ int cnumber = ConnectionNumber(xDisplay); -+ fd_set select_set; -+ FD_ZERO(&select_set); -+ FD_SET(cnumber, &select_set); -+ ++cnumber; -+ struct timeval tv; -+#endif -+ -+ do { -+ XEvent xevent; -+ -+ while (XCheckIfEvent(xDisplay, &xevent, checkEventProc, -+ (XPointer) &context)) { -+ -+ if (xevent.xany.type == SelectionNotify) -+ DispatchSelectionNotifyEvent(context.cbWidget, &xevent); -+ else -+ DispatchPropertyNotifyEvent(context.cbWidget, &xevent); -+ -+ if (r_context->completed) -+ return; -+ } -+ -+#ifdef POLL_WITH_XCONNECTIONNUMBER -+ select_result = poll(fds, 1, kClipboardTimeout / 1000); -+#else -+ tv.tv_sec = 0; -+ tv.tv_usec = kClipboardTimeout; -+ select_result = select(cnumber, &select_set, NULL, NULL, &tv); -+#endif -+ } while (select_result == 1); -+ -+#ifdef DEBUG_CLIPBOARD -+ printf("exceeded clipboard timeout\n"); -+#endif -+} -+ -+static void -+clipboard_contents_received(GtkClipboard *clipboard, -+ GtkSelectionData *selection_data, -+ gpointer data) -+{ -+ retrieval_context *context = static_cast<retrieval_context *>(data); -+ context->completed = PR_TRUE; -+ -+ if (selection_data->length >= 0) -+ context->data = gtk_selection_data_copy(selection_data); -+} -+ -+ -+static GtkSelectionData * -+wait_for_contents(GtkClipboard *clipboard, GdkAtom target) -+{ -+ retrieval_context context; -+ gtk_clipboard_request_contents(clipboard, target, -+ clipboard_contents_received, -+ &context); -+ -+ wait_for_retrieval(clipboard, &context); -+ return static_cast<GtkSelectionData *>(context.data); -+} -+ -+static void -+clipboard_text_received(GtkClipboard *clipboard, -+ const gchar *text, -+ gpointer data) -+{ -+ retrieval_context *context = static_cast<retrieval_context *>(data); -+ context->completed = PR_TRUE; -+ context->data = g_strdup(text); -+} -+ -+static gchar * -+wait_for_text(GtkClipboard *clipboard) -+{ -+ retrieval_context context; -+ gtk_clipboard_request_text(clipboard, clipboard_text_received, &context); -+ -+ wait_for_retrieval(clipboard, &context); -+ return static_cast<gchar *>(context.data); -+} -Index: offscreen/widget/src/headless/nsClipboard.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsClipboard.h 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,93 @@ -+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -+/* vim:expandtab:shiftwidth=4:tabstop=4: -+ */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org code. -+ * -+ * The Initial Developer of the Original Code is Christopher Blizzard -+ * <blizzard@mozilla.org>. Portions created by the Initial Developer -+ * are Copyright (C) 2001 the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef __nsClipboard_h_ -+#define __nsClipboard_h_ -+ -+#include "nsIClipboard.h" -+#include "nsClipboardPrivacyHandler.h" -+#include "nsAutoPtr.h" -+#include <gtk/gtk.h> -+ -+class nsClipboard : public nsIClipboard -+{ -+public: -+ nsClipboard(); -+ virtual ~nsClipboard(); -+ -+ NS_DECL_ISUPPORTS -+ -+ NS_DECL_NSICLIPBOARD -+ -+ // Make sure we are initialized, called from the factory -+ // constructor -+ nsresult Init (void); -+ // Someone requested the selection from the hidden widget -+ void SelectionGetEvent (GtkWidget *aWidget, -+ GtkSelectionData *aSelectionData, -+ guint aTime); -+ void SelectionClearEvent (GtkWidget *aWidget, -+ GdkEventSelection *aEvent); -+ -+ -+private: -+ // Utility methods -+ static GdkAtom GetSelectionAtom (PRInt32 aWhichClipboard); -+ static GtkSelectionData *GetTargets (GdkAtom aWhichClipboard); -+ -+ // Get our hands on the correct transferable, given a specific -+ // clipboard -+ nsITransferable *GetTransferable (PRInt32 aWhichClipboard); -+ -+ // Add a target type to the hidden widget -+ void AddTarget (GdkAtom aName, -+ GdkAtom aClipboard); -+ -+ // The hidden widget where we do all of our operations -+ GtkWidget *mWidget; -+ // Hang on to our owners and transferables so we can transfer data -+ // when asked. -+ nsCOMPtr<nsIClipboardOwner> mSelectionOwner; -+ nsCOMPtr<nsIClipboardOwner> mGlobalOwner; -+ nsCOMPtr<nsITransferable> mSelectionTransferable; -+ nsCOMPtr<nsITransferable> mGlobalTransferable; -+ nsRefPtr<nsClipboardPrivacyHandler> mPrivacyHandler; -+ -+}; -+ -+#endif /* __nsClipboard_h_ */ -Index: offscreen/widget/src/headless/nsIImageToPixbuf.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsIImageToPixbuf.h 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,62 @@ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org widget code. -+ * -+ * The Initial Developer of the Original Code is -+ * Christian Biesinger <cbiesinger@web.de>. -+ * Portions created by the Initial Developer are Copyright (C) 2006 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef NSIIMAGETOPIXBUF_H_ -+#define NSIIMAGETOPIXBUF_H_ -+ -+#include "nsISupports.h" -+ -+// dfa4ac93-83f2-4ab8-9b2a-0ff7022aebe2 -+#define NSIIMAGETOPIXBUF_IID \ -+{ 0xdfa4ac93, 0x83f2, 0x4ab8, \ -+ { 0x9b, 0x2a, 0x0f, 0xf7, 0x02, 0x2a, 0xeb, 0xe2 } } -+ -+class nsIImage; -+typedef struct _GdkPixbuf GdkPixbuf; -+ -+/** -+ * An interface that allows converting an nsIImage to a GdkPixbuf*. -+ */ -+class nsIImageToPixbuf : public nsISupports { -+ public: -+ NS_DECLARE_STATIC_IID_ACCESSOR(NSIIMAGETOPIXBUF_IID) -+ -+ NS_IMETHOD_(GdkPixbuf*) ConvertImageToPixbuf(nsIImage* aImage) = 0; -+}; -+ -+NS_DEFINE_STATIC_IID_ACCESSOR(nsIImageToPixbuf, NSIIMAGETOPIXBUF_IID) -+ -+#endif -Index: offscreen/widget/src/headless/nsImageToPixbuf.cpp -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsImageToPixbuf.cpp 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,196 @@ -+/* vim:set sw=4 sts=4 et cin: */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org widget code. -+ * -+ * The Initial Developer of the Original Code is -+ * Christian Biesinger <cbiesinger@web.de>. -+ * Portions created by the Initial Developer are Copyright (C) 2006 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#include <gdk-pixbuf/gdk-pixbuf.h> -+ -+#include "gfxASurface.h" -+#include "gfxImageSurface.h" -+#include "gfxContext.h" -+ -+#include "nsIImage.h" -+ -+#include "nsAutoPtr.h" -+ -+#include "nsImageToPixbuf.h" -+ -+NS_IMPL_ISUPPORTS1(nsImageToPixbuf, nsIImageToPixbuf) -+ -+inline unsigned char -+unpremultiply (unsigned char color, -+ unsigned char alpha) -+{ -+ if (alpha == 0) -+ return 0; -+ // plus alpha/2 to round instead of truncate -+ return (color * 255 + alpha / 2) / alpha; -+} -+ -+NS_IMETHODIMP_(GdkPixbuf*) -+nsImageToPixbuf::ConvertImageToPixbuf(nsIImage* aImage) -+{ -+ return ImageToPixbuf(aImage); -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::ImageToPixbuf(nsIImage* aImage) -+{ -+ PRInt32 width = aImage->GetWidth(), -+ height = aImage->GetHeight(); -+ -+ nsRefPtr<gfxPattern> pattern; -+ aImage->GetPattern(getter_AddRefs(pattern)); -+ -+ return PatternToPixbuf(pattern, width, height); -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::ImgSurfaceToPixbuf(gfxImageSurface* aImgSurface, PRInt32 aWidth, PRInt32 aHeight) -+{ -+ GdkPixbuf* pixbuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, PR_TRUE, 8, -+ aWidth, aHeight); -+ if (!pixbuf) -+ return nsnull; -+ -+ PRUint32 rowstride = gdk_pixbuf_get_rowstride (pixbuf); -+ guchar* pixels = gdk_pixbuf_get_pixels (pixbuf); -+ -+ long cairoStride = aImgSurface->Stride(); -+ unsigned char* cairoData = aImgSurface->Data(); -+ -+ gfxASurface::gfxImageFormat format = aImgSurface->Format(); -+ -+ for (PRInt32 row = 0; row < aHeight; ++row) { -+ for (PRInt32 col = 0; col < aWidth; ++col) { -+ guchar* pixel = pixels + row * rowstride + 4 * col; -+ -+ PRUint32* cairoPixel = reinterpret_cast<PRUint32*> -+ ((cairoData + row * cairoStride + 4 * col)); -+ -+ if (format == gfxASurface::ImageFormatARGB32) { -+ const PRUint8 a = (*cairoPixel >> 24) & 0xFF; -+ const PRUint8 r = unpremultiply((*cairoPixel >> 16) & 0xFF, a); -+ const PRUint8 g = unpremultiply((*cairoPixel >> 8) & 0xFF, a); -+ const PRUint8 b = unpremultiply((*cairoPixel >> 0) & 0xFF, a); -+ -+ *pixel++ = r; -+ *pixel++ = g; -+ *pixel++ = b; -+ *pixel++ = a; -+ } else { -+ NS_ASSERTION(format == gfxASurface::ImageFormatRGB24, -+ "unexpected format"); -+ const PRUint8 r = (*cairoPixel >> 16) & 0xFF; -+ const PRUint8 g = (*cairoPixel >> 8) & 0xFF; -+ const PRUint8 b = (*cairoPixel >> 0) & 0xFF; -+ -+ *pixel++ = r; -+ *pixel++ = g; -+ *pixel++ = b; -+ *pixel++ = 0xFF; // A -+ } -+ } -+ } -+ -+ return pixbuf; -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::SurfaceToPixbuf(gfxASurface* aSurface, PRInt32 aWidth, PRInt32 aHeight) -+{ -+ if (aSurface->CairoStatus()) { -+ NS_ERROR("invalid surface"); -+ return nsnull; -+ } -+ -+ nsRefPtr<gfxImageSurface> imgSurface; -+ if (aSurface->GetType() == gfxASurface::SurfaceTypeImage) { -+ imgSurface = static_cast<gfxImageSurface*> -+ (static_cast<gfxASurface*>(aSurface)); -+ } else { -+ imgSurface = new gfxImageSurface(gfxIntSize(aWidth, aHeight), -+ gfxImageSurface::ImageFormatARGB32); -+ -+ if (!imgSurface) -+ return nsnull; -+ -+ nsRefPtr<gfxContext> context = new gfxContext(imgSurface); -+ if (!context) -+ return nsnull; -+ -+ context->SetOperator(gfxContext::OPERATOR_SOURCE); -+ context->SetSource(aSurface); -+ context->Paint(); -+ } -+ -+ return ImgSurfaceToPixbuf(imgSurface, aWidth, aHeight); -+} -+ -+GdkPixbuf* -+nsImageToPixbuf::PatternToPixbuf(gfxPattern* aPattern, PRInt32 aWidth, PRInt32 aHeight) -+{ -+ if (aPattern->CairoStatus()) { -+ NS_ERROR("invalid pattern"); -+ return nsnull; -+ } -+ -+ nsRefPtr<gfxImageSurface> imgSurface; -+ if (aPattern->GetType() == gfxPattern::PATTERN_SURFACE) { -+ nsRefPtr<gfxASurface> surface = aPattern->GetSurface(); -+ if (surface->GetType() == gfxASurface::SurfaceTypeImage) { -+ imgSurface = static_cast<gfxImageSurface*> -+ (static_cast<gfxASurface*>(surface.get())); -+ } -+ } -+ -+ if (!imgSurface) { -+ imgSurface = new gfxImageSurface(gfxIntSize(aWidth, aHeight), -+ gfxImageSurface::ImageFormatARGB32); -+ -+ if (!imgSurface) -+ return nsnull; -+ -+ nsRefPtr<gfxContext> context = new gfxContext(imgSurface); -+ if (!context) -+ return nsnull; -+ -+ context->SetOperator(gfxContext::OPERATOR_SOURCE); -+ context->SetPattern(aPattern); -+ context->Paint(); -+ } -+ -+ return ImgSurfaceToPixbuf(imgSurface, aWidth, aHeight); -+} -Index: offscreen/widget/src/headless/nsImageToPixbuf.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ offscreen/widget/src/headless/nsImageToPixbuf.h 2009-06-12 14:14:05.000000000 +0100 -@@ -0,0 +1,71 @@ -+/* vim:set sw=4 sts=4 et cin: */ -+/* ***** BEGIN LICENSE BLOCK ***** -+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1 -+ * -+ * The contents of this file are subject to the Mozilla Public License Version -+ * 1.1 (the "License"); you may not use this file except in compliance with -+ * the License. You may obtain a copy of the License at -+ * http://www.mozilla.org/MPL/ -+ * -+ * Software distributed under the License is distributed on an "AS IS" basis, -+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License -+ * for the specific language governing rights and limitations under the -+ * License. -+ * -+ * The Original Code is mozilla.org widget code. -+ * -+ * The Initial Developer of the Original Code is -+ * Christian Biesinger <cbiesinger@web.de>. -+ * Portions created by the Initial Developer are Copyright (C) 2006 -+ * the Initial Developer. All Rights Reserved. -+ * -+ * Contributor(s): -+ * -+ * Alternatively, the contents of this file may be used under the terms of -+ * either the GNU General Public License Version 2 or later (the "GPL"), or -+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), -+ * in which case the provisions of the GPL or the LGPL are applicable instead -+ * of those above. If you wish to allow use of your version of this file only -+ * under the terms of either the GPL or the LGPL, and not to allow others to -+ * use your version of this file under the terms of the MPL, indicate your -+ * decision by deleting the provisions above and replace them with the notice -+ * and other provisions required by the GPL or the LGPL. If you do not delete -+ * the provisions above, a recipient may use your version of this file under -+ * the terms of any one of the MPL, the GPL or the LGPL. -+ * -+ * ***** END LICENSE BLOCK ***** */ -+ -+#ifndef NSIMAGETOPIXBUF_H_ -+#define NSIMAGETOPIXBUF_H_ -+ -+#include "nsIImageToPixbuf.h" -+ -+class gfxASurface; -+class gfxPattern; -+class gfxImageSurface; -+ -+class nsImageToPixbuf : public nsIImageToPixbuf { -+ public: -+ NS_DECL_ISUPPORTS -+ NS_IMETHOD_(GdkPixbuf*) ConvertImageToPixbuf(nsIImage* aImage); -+ -+ // Friendlier version of ConvertImageToPixbuf for callers inside of -+ // widget -+ static GdkPixbuf* ImageToPixbuf(nsIImage* aImage); -+ static GdkPixbuf* SurfaceToPixbuf(gfxASurface* aSurface, -+ PRInt32 aWidth, PRInt32 aHeight); -+ static GdkPixbuf* PatternToPixbuf(gfxPattern* aPattern, -+ PRInt32 aWidth, PRInt32 aHeight); -+ private: -+ static GdkPixbuf* ImgSurfaceToPixbuf(gfxImageSurface* aImgSurface, -+ PRInt32 aWidth, PRInt32 aHeight); -+ ~nsImageToPixbuf() {} -+}; -+ -+ -+// fc2389b8-c650-4093-9e42-b05e5f0685b7 -+#define NS_IMAGE_TO_PIXBUF_CID \ -+{ 0xfc2389b8, 0xc650, 0x4093, \ -+ { 0x9e, 0x42, 0xb0, 0x5e, 0x5f, 0x06, 0x85, 0xb7 } } -+ -+#endif -Index: offscreen/widget/src/headless/nsWidgetFactory.cpp -=================================================================== ---- offscreen.orig/widget/src/headless/nsWidgetFactory.cpp 2009-06-12 14:08:56.000000000 +0100 -+++ offscreen/widget/src/headless/nsWidgetFactory.cpp 2009-06-12 14:15:24.000000000 +0100 -@@ -46,6 +46,10 @@ - #include "nsWindow.h" - #include "nsTransferable.h" - #include "nsHTMLFormatConverter.h" -+#ifdef MOZ_X11 -+#include "nsClipboardHelper.h" -+#include "nsClipboard.h" -+#endif - #include "nsSound.h" - #include "nsBidiKeyboard.h" - #include "nsScreenManagerHeadless.h" -@@ -66,6 +70,10 @@ - NS_GENERIC_FACTORY_CONSTRUCTOR(nsTransferable) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsBidiKeyboard) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsHTMLFormatConverter) -+#ifdef MOZ_X11 -+NS_GENERIC_FACTORY_CONSTRUCTOR(nsClipboardHelper) -+NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsClipboard, Init) -+#endif - NS_GENERIC_FACTORY_CONSTRUCTOR(nsSound) - NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerHeadless) - //NS_GENERIC_FACTORY_CONSTRUCTOR(nsImageToPixbuf) -@@ -142,6 +150,16 @@ - NS_TRANSFERABLE_CID, - "@mozilla.org/widget/transferable;1", - nsTransferableConstructor }, -+#ifdef MOZ_X11 -+ { "Gtk Clipboard", -+ NS_CLIPBOARD_CID, -+ "@mozilla.org/widget/clipboard;1", -+ nsClipboardConstructor }, -+ { "Clipboard Helper", -+ NS_CLIPBOARDHELPER_CID, -+ "@mozilla.org/widget/clipboardhelper;1", -+ nsClipboardHelperConstructor }, -+#endif - { "HTML Format Converter", - NS_HTMLFORMATCONVERTER_CID, - "@mozilla.org/widget/htmlformatconverter;1", diff --git a/meta/packages/mozilla-headless/mozilla-headless/autoconffix.patch b/meta/packages/mozilla-headless/mozilla-headless/autoconffix.patch deleted file mode 100644 index 2874b0d83..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/autoconffix.patch +++ /dev/null @@ -1,66 +0,0 @@ -Fixes to enable building with latest autoconf and automake - -RP 2/2/10 - -Index: offscreen/js/ctypes/libffi/configure.ac -=================================================================== ---- offscreen.orig/js/ctypes/libffi/configure.ac 2010-02-02 19:53:16.753906134 +0000 -+++ offscreen/js/ctypes/libffi/configure.ac 2010-02-02 19:53:21.895155509 +0000 -@@ -17,10 +17,10 @@ - # the wrong, non-multilib-adjusted value will be used in multilibs. - # As a side effect, we have to subst CFLAGS ourselves. - --m4_rename([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) -+m4_rename_force([_AC_ARG_VAR_PRECIOUS],[real_PRECIOUS]) - m4_define([_AC_ARG_VAR_PRECIOUS],[]) - AC_PROG_CC --m4_rename([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) -+m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS]) - - AC_SUBST(CFLAGS) - -Index: offscreen/modules/libpr0n/build/Makefile.in -=================================================================== ---- offscreen.orig/modules/libpr0n/build/Makefile.in 2010-02-02 19:53:16.783906873 +0000 -+++ offscreen/modules/libpr0n/build/Makefile.in 2010-02-02 19:53:21.895155509 +0000 -@@ -92,6 +92,7 @@ - - export:: - @{ \ -+ \ - $(foreach d,$(filter-out icon,$(MOZ_IMG_DECODERS)), \ - echo "#define IMG_BUILD_DECODER_${d}";) \ - $(foreach d,$(MOZ_IMG_ENCODERS), \ -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2010-02-02 19:53:28.493904163 +0000 -+++ offscreen/configure.in 2010-02-02 16:33:09.000000000 +0000 -@@ -3250,11 +3250,7 @@ - dnl ======================================================== - AC_CHECK_LIB(Xext, XShmCreateImage, _HAVE_XSHM_XEXT=1,, - $XLIBS $XEXT_LIBS) -- AC_CHECK_HEADER(X11/extensions/XShm.h) -- if test "$ac_cv_header_X11_extensions_XShm_h" = "yes" && -- test -n "$_HAVE_XSHM_XEXT"; then -- AC_DEFINE(HAVE_XSHM) -- fi -+ AC_DEFINE(HAVE_XSHM) - - dnl ======================================================== - dnl = Check for XIE -@@ -8120,15 +8116,7 @@ - fi # COMPILE_ENVIRONMENT - - if test "$USE_FC_FREETYPE"; then -- if test "$COMPILE_ENVIRONMENT"; then -- _SAVE_CPPFLAGS="$CPPFLAGS" -- CPPFLAGS="$CPPFLAGS $FT2_CFLAGS" -- AC_CHECK_HEADERS(fontconfig/fcfreetype.h, , -- [AC_MSG_ERROR(Can't find header fontconfig/fcfreetype.h.)]) -- CPPFLAGS="$_SAVE_CPPFLAGS" -- else - AC_DEFINE(HAVE_FONTCONFIG_FCFREETYPE_H) -- fi - fi - - dnl Set various defines and substitutions diff --git a/meta/packages/mozilla-headless/mozilla-headless/buildfixhack.patch b/meta/packages/mozilla-headless/mozilla-headless/buildfixhack.patch deleted file mode 100644 index 31fc40f28..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/buildfixhack.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -r ad8be5166ccd layout/generic/nsFrame.h ---- a/layout/generic/nsFrame.h Tue Nov 17 19:24:56 2009 +0000 -+++ b/layout/generic/nsFrame.h Thu Nov 19 12:33:38 2009 +0000 -@@ -151,7 +151,7 @@ - // Left undefined; nsFrame objects are never allocated from the heap. - void* operator new(size_t sz) CPP_THROW_NEW; - --protected: -+public: - // Overridden to prevent the global delete from being called, since - // the memory came out of an arena instead of the heap. - // - - diff --git a/meta/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch b/meta/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch deleted file mode 100644 index d31f91a42..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/configurefix-1a622cb7c384.patch +++ /dev/null @@ -1,764 +0,0 @@ -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/configure.in 2009-06-12 14:15:55.000000000 +0100 -@@ -62,7 +62,6 @@ - - AC_PREREQ(2.13) - AC_INIT(config/config.mk) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" - TARGET_VENDOR="${target_vendor}" -@@ -103,7 +102,6 @@ - _SUBDIR_HOST_CFLAGS="$HOST_CFLAGS" - _SUBDIR_HOST_CXXFLAGS="$HOST_CXXFLAGS" - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" --_SUBDIR_CONFIG_ARGS="$ac_configure_args" - - dnl Set the version number of the libs included with mozilla - dnl ======================================================== -@@ -135,6 +133,9 @@ - - MSMANIFEST_TOOL= - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -285,7 +286,7 @@ - ;; - esac - --if test -n "$CROSS_COMPILE" && test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -323,7 +324,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -331,7 +332,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -352,7 +353,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -376,37 +377,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", :) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", :) - AC_DEFINE(CROSS_COMPILE) --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1606,6 +1576,7 @@ - ' - - dnl test that the macros actually work: -+ac_cv_static_assertion_macros_work="yes" - AC_MSG_CHECKING(that static assertion macros used in autoconf tests work) - AC_CACHE_VAL(ac_cv_static_assertion_macros_work, - [AC_LANG_SAVE -@@ -2767,9 +2738,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -3152,19 +3127,9 @@ - dnl We don't want to link against libm or libpthread on Darwin since - dnl they both are just symlinks to libSystem and explicitly linking - dnl against libSystem causes issues when debugging (see bug 299601). --case $target in --*-darwin*) -- ;; --*-beos*) -- ;; --*) - AC_CHECK_LIB(m, atan) - AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -- ;; --esac -+ AC_DEFINE(HAVE_LIBDL)) - - _SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -D_GNU_SOURCE" -@@ -7007,18 +6972,13 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi -+ - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi -+ - - dnl ======================================================== - dnl = -@@ -7530,10 +7490,7 @@ - dnl if no gtk/libIDL1 or gtk2/libIDL2 combination was found, fall back - dnl to either libIDL1 or libIDL2. - if test -z "$_LIBIDL_FOUND"; then -- AM_PATH_LIBIDL($LIBIDL_VERSION,_LIBIDL_FOUND=1) -- if test -z "$_LIBIDL_FOUND"; then - PKG_CHECK_MODULES(LIBIDL, libIDL-2.0 >= 0.8.0,_LIBIDL_FOUND=1) -- fi - fi - dnl - dnl If we don't have a libIDL config program & not cross-compiling, -@@ -7605,13 +7562,7 @@ - fi - - if test -z "$SKIP_PATH_CHECKS"; then --if test -z "${GLIB_CFLAGS}" || test -z "${GLIB_LIBS}" ; then -- if test "$MOZ_ENABLE_GTK2" || test "$USE_ELF_DYNSTR_GC" || test "$MOZ_ENABLE_HEADLESS"; then - PKG_CHECK_MODULES(GLIB, glib-2.0 >= 1.3.7 gobject-2.0) -- else -- AM_PATH_GLIB(${GLIB_VERSION}) -- fi --fi - fi - - if test -z "${GLIB_GMODULE_LIBS}" -a -n "${GLIB_CONFIG}"; then -@@ -8457,10 +8408,7 @@ - HAVE_WCRTOMB - " - --AC_CONFIG_HEADER( --netwerk/necko-config.h --xpcom/xpcom-config.h --xpcom/xpcom-private.h -+AC_CONFIG_HEADER(netwerk/necko-config.h xpcom/xpcom-config.h xpcom/xpcom-private.h - ) - - # Save the defines header file before autoconf removes it. -@@ -8519,31 +8467,11 @@ - dnl To add new Makefiles, edit allmakefiles.sh. - dnl allmakefiles.sh sets the variable, MAKEFILES. - . ${srcdir}/allmakefiles.sh --dnl --dnl Run a perl script to quickly create the makefiles. --dnl If it succeeds, it outputs a shell command to set CONFIG_FILES --dnl for the files it cannot handle correctly. This way, config.status --dnl will handle these files. --dnl If it fails, nothing is set and config.status will run as usual. --dnl --dnl This does not change the $MAKEFILES variable. --dnl --dnl OpenVMS gets a line overflow on the long eval command, so use a temp file. --dnl --if test -z "${AS_PERL}"; then --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl > conftest.sh --else --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl -nowrap --cygwin-srcdir=$srcdir > conftest.sh --fi --. ./conftest.sh --rm conftest.sh - - echo $MAKEFILES > unallmakefiles - - mv -f config/autoconf.mk config/autoconf.mk.orig 2> /dev/null - --AC_OUTPUT($MAKEFILES) -- - dnl Prevent the regeneration of cairo-features.h forcing rebuilds of gfx stuff - if test "$CAIRO_FEATURES_H"; then - if cmp -s $CAIRO_FEATURES_H "$CAIRO_FEATURES_H".orig; then -@@ -8569,14 +8497,14 @@ - HOST_LDFLAGS="$_SUBDIR_HOST_LDFLAGS" - RC= - --unset MAKEFILES --unset CONFIG_FILES -+#unset MAKEFILES -+#unset CONFIG_FILES - - # No need to run subconfigures when building with LIBXUL_SDK_DIR - if test "$COMPILE_ENVIRONMENT" -a -z "$LIBXUL_SDK_DIR"; then - - if test -z "$MOZ_NATIVE_NSPR"; then -- ac_configure_args="$_SUBDIR_CONFIG_ARGS --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" -+ ac_configure_args="$ac_configure_args --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" - if test -z "$MOZ_DEBUG"; then - ac_configure_args="$ac_configure_args --disable-debug" - fi -@@ -8592,8 +8520,7 @@ - if test -n "$USE_ARM_KUSER"; then - ac_configure_args="$ac_configure_args --with-arm-kuser" - fi -- AC_OUTPUT_SUBDIRS(nsprpub) -- ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+ AC_CONFIG_SUBDIRS(nsprpub) - fi - - if test -z "$MOZ_NATIVE_NSPR"; then -@@ -8610,7 +8537,6 @@ - - # Run the SpiderMonkey 'configure' script. - dist=$MOZ_BUILD_ROOT/dist --ac_configure_args="$_SUBDIR_CONFIG_ARGS" - ac_configure_args="$ac_configure_args --enable-threadsafe" - if test -z "$MOZ_NATIVE_NSPR"; then - ac_configure_args="$ac_configure_args --with-nspr-cflags='$NSPR_CFLAGS'" -@@ -8627,11 +8553,14 @@ - export MOZ_MEMORY_LDFLAGS - fi - fi --AC_OUTPUT_SUBDIRS(js/src) --ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+AC_CONFIG_SUBDIRS(js/src) - - fi # COMPILE_ENVIRONMENT && !LIBXUL_SDK_DIR - -+m4_pattern_allow(AS_BIN) -+ -+AC_OUTPUT($MAKEFILES) -+ - dnl Prevent the regeneration of autoconf.mk forcing rebuilds of the world - dnl Needs to be at the end to respect possible changes from NSPR configure - if cmp -s config/autoconf.mk config/autoconf.mk.orig; then -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/configure.in 2009-06-12 14:15:55.000000000 +0100 -@@ -62,7 +62,6 @@ - - AC_PREREQ(2.13) - AC_INIT(jsapi.h) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CONFIG_HEADER(js-config.h) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" -@@ -101,6 +100,9 @@ - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" - _SUBDIR_CONFIG_ARGS="$ac_configure_args" - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set the version number of the libs included with mozilla - dnl ======================================================== - NSPR_VERSION=4 -@@ -113,6 +115,8 @@ - - MSMANIFEST_TOOL= - -+m4_pattern_allow(AS_BIN) -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -198,7 +202,7 @@ - - if test "$COMPILE_ENVIRONMENT"; then - --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - - _SAVE_CC="$CC" -@@ -235,7 +239,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -243,7 +247,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -298,7 +302,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -328,37 +332,6 @@ - dnl able to run ppc code in a translated environment, making a cross - dnl compiler appear native. So we override that here. - cross_compiling=yes --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1424,6 +1397,8 @@ - fi # GNU_CC - fi # COMPILE_ENVIRONMENT - -+ac_cv_static_assertion_macros_work=yes -+ - dnl ================================================================= - dnl Set up and test static assertion macros used to avoid AC_TRY_RUN, - dnl which is bad when cross compiling. -@@ -2579,9 +2554,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -2606,7 +2585,8 @@ - - AC_CHECK_HEADER(stdint.h) - if test "$ac_cv_header_stdint_h" = yes; then -- AC_DEFINE(JS_HAVE_STDINT_H) -+ AC_DEFINE(JS_HAVE_STDINT_H, 1, [have stdint.h]) -+ AC_DEFINE(HAVE_STDINT_H) - else - dnl We'll figure them out for ourselves. List more likely types - dnl earlier. If we ever really encounter a size for which none of -@@ -3004,10 +2984,7 @@ - ;; - *) - AC_CHECK_LIB(m, atan) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -+ AC_CHECK_LIB(dl, dlopen, AC_DEFINE(HAVE_LIBDL)) - ;; - esac - -@@ -3903,6 +3880,7 @@ - [ --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR. - See --with-nspr-cflags for more details.], - NSPR_LIBS=$withval) -+$NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" - AC_SUBST(NSPR_CFLAGS) - AC_SUBST(NSPR_LIBS) - -@@ -4512,18 +4490,11 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi - - dnl ======================================================== - dnl = -@@ -5231,6 +5202,8 @@ - done - AC_SUBST(LIBS_PATH) - -+ -+ - dnl ======================================================== - dnl JavaScript shell - dnl ======================================================== -@@ -5371,3 +5344,4 @@ - # 'js-config' in Makefile.in. - AC_MSG_RESULT(invoking make to create js-config script) - $MAKE js-config -+ -Index: offscreen/nsprpub/configure.in -=================================================================== ---- offscreen.orig/nsprpub/configure.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/nsprpub/configure.in 2009-06-12 14:15:55.000000000 +0100 -@@ -42,7 +42,6 @@ - AC_PREREQ(2.12) - AC_INIT(config/libc_r.h) - --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - - dnl ======================================================== -@@ -396,7 +395,7 @@ - dnl ======================================================== - dnl Checks for compilers. - dnl ======================================================== --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -423,7 +422,7 @@ - - AC_MSG_CHECKING([whether the $host compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_host_cc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_host_cc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: $host compiler $HOST_CC cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -444,7 +443,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", echo) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - if test -n "$USE_CPLUS"; then -@@ -470,30 +469,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", echo) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", echo) - --else -- AC_PROG_CC -- if test -n "$USE_CPLUS"; then -- if test "$CC" = "cl" -a -z "$CXX"; then -- CXX=$CC -- else -- AC_PROG_CXX -- fi -- fi -- AC_PROG_CPP -- AC_PROG_RANLIB -- AC_PATH_PROGS(AS, as, $CC) -- AC_PATH_PROGS(AR, ar, echo not_ar) -- AC_PATH_PROGS(LD, ld link, echo not_ld) -- AC_PATH_PROGS(STRIP, strip, echo not_strip) -- AC_PATH_PROGS(WINDRES, windres, echo not_windres) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi --fi -- - if test "$GCC" = "yes"; then - GNU_CC=1 - fi -@@ -514,11 +489,8 @@ - ;; - esac - --if test "$cross_compiling" = "yes"; then -+ - CROSS_COMPILE=1 --else -- CROSS_COMPILE= --fi - - dnl ======================================================== - dnl Check for gcc -pipe support -@@ -2283,10 +2255,7 @@ - *-darwin*|*-beos*) - ;; - *) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- OS_LIBS="-ldl $OS_LIBS")) -- ;; -+ AC_CHECK_LIB(dl, dlopen) - esac - - -@@ -2904,6 +2873,8 @@ - dnl pr/tests/w16gui/Makefile - dnl tools/Makefile - -+m4_pattern_allow(AS_BIN) -+ - if test -z "$USE_PTHREADS" && test -z "$USE_BTHREADS"; then - MAKEFILES="$MAKEFILES pr/src/threads/combined/Makefile" - elif test -n "$USE_PTHREADS"; then -@@ -2919,3 +2890,5 @@ - echo $MAKEFILES > unallmakefiles - - AC_OUTPUT([$MAKEFILES], [chmod +x config/nspr-config]) -+ -+ -Index: offscreen/js/src/Makefile.in -=================================================================== ---- offscreen.orig/js/src/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -514,20 +514,8 @@ - - export:: jsautocfg.h - --ifeq (,$(CROSS_COMPILE)$(GNU_CC)$(filter-out WINNT,$(OS_ARCH))) - jsautocfg.h: - touch $@ --else --ifeq ($(OS_ARCH),WINCE) --jsautocfg.h: -- touch $@ --else --jsautocfg.h: jscpucfg$(HOST_BIN_SUFFIX) -- @rm -f $@ jsautocfg.tmp -- ./jscpucfg > jsautocfg.tmp -- mv jsautocfg.tmp $@ --endif --endif - - # jscpucfg is a strange target - # Needs to be built with the host compiler but needs to include -@@ -557,7 +545,7 @@ - echo no need to build jscpucfg $< - else - jscpucfg$(HOST_BIN_SUFFIX): jscpucfg.cpp Makefile.in -- $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< -+ $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) -I$(DIST)/sdk/include $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< - endif - endif - -Index: offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -@@ -47,6 +47,8 @@ - - #include <stdarg.h> - -+#include "mozilla-config.h" -+ - #include "prlog.h" - - #include "nsCOMPtr.h" -Index: offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-06-12 14:15:55.000000000 +0100 -@@ -39,6 +39,8 @@ - * - * ***** END LICENSE BLOCK ***** */ - -+#include "mozilla-config.h" -+ - #if !defined(XPCONNECT_STANDALONE) && !defined(NO_SUBSCRIPT_LOADER) - - #include "mozJSSubScriptLoader.h" -Index: offscreen/modules/lcms/include/icc34.h -=================================================================== ---- offscreen.orig/modules/lcms/include/icc34.h 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/modules/lcms/include/icc34.h 2009-06-12 14:15:55.000000000 +0100 -@@ -144,7 +144,7 @@ - */ - - --#ifdef PACKAGE_NAME -+#if 0 - /* - June 9, 2003, Adapted for use with configure by Bob Friesenhahn - Added the stupid check for autoconf by Marti Maria. -Index: offscreen/toolkit/mozapps/update/src/updater/Makefile.in -=================================================================== ---- offscreen.orig/toolkit/mozapps/update/src/updater/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/toolkit/mozapps/update/src/updater/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -60,7 +60,7 @@ - - LIBS += \ - $(DEPTH)/modules/libmar/src/$(LIB_PREFIX)mar.$(LIB_SUFFIX) \ -- $(BZ2_LIBS) \ -+ $(BZ2_LIBS) -lpthread \ - $(NULL) - - ifeq ($(OS_ARCH),WINNT) -Index: offscreen/xpcom/sample/program/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/sample/program/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xpcom/sample/program/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -57,7 +57,7 @@ - # that the application be linked against the XPCOM dynamic library or the NSPR - # dynamic libraries. - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xpcom/tools/registry/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/tools/registry/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xpcom/tools/registry/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -54,7 +54,7 @@ - SIMPLE_PROGRAMS = $(CPPSRCS:.cpp=$(BIN_SUFFIX)) - - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xulrunner/app/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/app/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xulrunner/app/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -184,7 +184,7 @@ - RCFLAGS += -DXULRUNNER_ICO=\"$(DIST)/branding/xulrunner.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\" - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/xulrunner/stub/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/stub/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/xulrunner/stub/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -101,7 +101,7 @@ - endif - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/modules/plugin/test/testplugin/Makefile.in -=================================================================== ---- offscreen.orig/modules/plugin/test/testplugin/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/modules/plugin/test/testplugin/Makefile.in 2009-06-12 14:15:55.000000000 +0100 -@@ -63,9 +63,7 @@ - CMMSRCS = nptest_macosx.mm - endif - --ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) - CPPSRCS += nptest_gtk2.cpp --endif - - ifeq ($(MOZ_WIDGET_TOOLKIT),os2) - CPPSRCS += nptest_os2.cpp -Index: offscreen/js/src/aclocal.m4 -=================================================================== ---- offscreen.orig/js/src/aclocal.m4 2009-06-12 14:15:55.000000000 +0100 -+++ offscreen/js/src/aclocal.m4 2009-06-12 14:15:55.000000000 +0100 -@@ -9,4 +9,3 @@ - builtin(include, build/autoconf/moznbytetype.m4)dnl - builtin(include, build/autoconf/mozprog.m4)dnl - --MOZ_PROG_CHECKMSYS() -Index: offscreen/toolkit/toolkit-makefiles.sh -=================================================================== ---- offscreen.orig/toolkit/toolkit-makefiles.sh 2009-06-12 14:19:59.000000000 +0100 -+++ offscreen/toolkit/toolkit-makefiles.sh 2009-06-12 14:20:09.000000000 +0100 -@@ -342,7 +342,6 @@ - modules/plugin/sdk/samples/Makefile - modules/plugin/sdk/samples/common/Makefile - modules/plugin/sdk/samples/basic/windows/Makefile -- modules/plugin/sdk/samples/basic/unix/Makefile - modules/plugin/sdk/samples/winless/windows/Makefile - " - diff --git a/meta/packages/mozilla-headless/mozilla-headless/configurefix.patch b/meta/packages/mozilla-headless/mozilla-headless/configurefix.patch deleted file mode 100644 index 7ee1211f1..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/configurefix.patch +++ /dev/null @@ -1,774 +0,0 @@ -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/configure.in 2009-12-09 13:38:51.000000000 +0000 -@@ -64,7 +64,6 @@ - - AC_PREREQ(2.13) - AC_INIT(config/config.mk) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" - TARGET_VENDOR="${target_vendor}" -@@ -106,7 +105,6 @@ - _SUBDIR_HOST_CFLAGS="$HOST_CFLAGS" - _SUBDIR_HOST_CXXFLAGS="$HOST_CXXFLAGS" - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" --_SUBDIR_CONFIG_ARGS="$ac_configure_args" - - dnl Set the version number of the libs included with mozilla - dnl ======================================================== -@@ -139,6 +137,9 @@ - - MSMANIFEST_TOOL= - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -308,7 +309,7 @@ - ;; - esac - --if test -n "$CROSS_COMPILE" && test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -346,7 +347,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -354,7 +355,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -375,7 +376,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -399,37 +400,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", :) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", :) - AC_DEFINE(CROSS_COMPILE) --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1586,6 +1556,7 @@ - ' - - dnl test that the macros actually work: -+ac_cv_static_assertion_macros_work="yes" - AC_MSG_CHECKING(that static assertion macros used in autoconf tests work) - AC_CACHE_VAL(ac_cv_static_assertion_macros_work, - [AC_LANG_SAVE -@@ -2770,9 +2741,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -3174,21 +3149,9 @@ - dnl We don't want to link against libm or libpthread on Darwin since - dnl they both are just symlinks to libSystem and explicitly linking - dnl against libSystem causes issues when debugging (see bug 299601). --case $target in --*-darwin*) -- ;; --*-beos*) -- ;; --*-os2*) -- ;; --*) - AC_CHECK_LIB(m, atan) - AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -- ;; --esac -+ AC_DEFINE(HAVE_LIBDL)) - - _SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -D_GNU_SOURCE" -@@ -6889,18 +6852,13 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi -+ - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi -+ - - dnl ======================================================== - dnl = -@@ -7420,10 +7378,7 @@ - dnl if no gtk/libIDL1 or gtk2/libIDL2 combination was found, fall back - dnl to either libIDL1 or libIDL2. - if test -z "$_LIBIDL_FOUND"; then -- AM_PATH_LIBIDL($LIBIDL_VERSION,_LIBIDL_FOUND=1) -- if test -z "$_LIBIDL_FOUND"; then - PKG_CHECK_MODULES(LIBIDL, libIDL-2.0 >= 0.8.0,_LIBIDL_FOUND=1) -- fi - fi - dnl - dnl If we don't have a libIDL config program & not cross-compiling, -@@ -7495,13 +7450,7 @@ - fi - - if test -z "$SKIP_PATH_CHECKS"; then --if test -z "${GLIB_CFLAGS}" || test -z "${GLIB_LIBS}" ; then -- if test "$MOZ_ENABLE_GTK2" || test "$USE_ELF_DYNSTR_GC" || test "$MOZ_ENABLE_HEADLESS"; then - PKG_CHECK_MODULES(GLIB, glib-2.0 >= 1.3.7 gobject-2.0) -- else -- AM_PATH_GLIB(${GLIB_VERSION}) -- fi --fi - fi - - if test -z "${GLIB_GMODULE_LIBS}" -a -n "${GLIB_CONFIG}"; then -@@ -8278,10 +8227,7 @@ - HAVE_WCRTOMB - " - --AC_CONFIG_HEADER( --netwerk/necko-config.h --xpcom/xpcom-config.h --xpcom/xpcom-private.h -+AC_CONFIG_HEADER(netwerk/necko-config.h xpcom/xpcom-config.h xpcom/xpcom-private.h - ) - - # Save the defines header file before autoconf removes it. -@@ -8340,31 +8286,11 @@ - dnl To add new Makefiles, edit allmakefiles.sh. - dnl allmakefiles.sh sets the variable, MAKEFILES. - . ${srcdir}/allmakefiles.sh --dnl --dnl Run a perl script to quickly create the makefiles. --dnl If it succeeds, it outputs a shell command to set CONFIG_FILES --dnl for the files it cannot handle correctly. This way, config.status --dnl will handle these files. --dnl If it fails, nothing is set and config.status will run as usual. --dnl --dnl This does not change the $MAKEFILES variable. --dnl --dnl OpenVMS gets a line overflow on the long eval command, so use a temp file. --dnl --if test -z "${AS_PERL}"; then --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl > conftest.sh --else --echo $MAKEFILES | ${PERL} $srcdir/build/autoconf/acoutput-fast.pl -nowrap --cygwin-srcdir=$srcdir > conftest.sh --fi --. ./conftest.sh --rm conftest.sh - - echo $MAKEFILES > unallmakefiles - - mv -f config/autoconf.mk config/autoconf.mk.orig 2> /dev/null - --AC_OUTPUT($MAKEFILES) -- - dnl Prevent the regeneration of cairo-features.h forcing rebuilds of gfx stuff - if test "$CAIRO_FEATURES_H"; then - if cmp -s $CAIRO_FEATURES_H "$CAIRO_FEATURES_H".orig; then -@@ -8390,14 +8316,14 @@ - HOST_LDFLAGS="$_SUBDIR_HOST_LDFLAGS" - RC= - --unset MAKEFILES --unset CONFIG_FILES -+#unset MAKEFILES -+#unset CONFIG_FILES - - # No need to run subconfigures when building with LIBXUL_SDK_DIR - if test "$COMPILE_ENVIRONMENT" -a -z "$LIBXUL_SDK_DIR"; then - - if test -z "$MOZ_NATIVE_NSPR"; then -- ac_configure_args="$_SUBDIR_CONFIG_ARGS --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" -+ ac_configure_args="$ac_configure_args --with-dist-prefix=$MOZ_BUILD_ROOT/dist --with-mozilla" - if test -z "$MOZ_DEBUG"; then - ac_configure_args="$ac_configure_args --disable-debug" - fi -@@ -8413,8 +8339,7 @@ - if test -n "$USE_ARM_KUSER"; then - ac_configure_args="$ac_configure_args --with-arm-kuser" - fi -- AC_OUTPUT_SUBDIRS(nsprpub) -- ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+ AC_CONFIG_SUBDIRS(nsprpub) - fi - - if test -z "$MOZ_NATIVE_NSPR"; then -@@ -8431,7 +8356,6 @@ - - # Run the SpiderMonkey 'configure' script. - dist=$MOZ_BUILD_ROOT/dist --ac_configure_args="$_SUBDIR_CONFIG_ARGS" - ac_configure_args="$ac_configure_args --enable-threadsafe" - if test -z "$MOZ_NATIVE_NSPR"; then - ac_configure_args="$ac_configure_args --with-nspr-cflags='$NSPR_CFLAGS'" -@@ -8448,8 +8372,7 @@ - export MOZ_MEMORY_LDFLAGS - fi - fi --AC_OUTPUT_SUBDIRS(js/src) --ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+AC_CONFIG_SUBDIRS(js/src) - - # Build jsctypes on the platforms we can. - if test "$BUILD_CTYPES"; then -@@ -8465,20 +8388,14 @@ - if test -n "$CROSS_COMPILE"; then - ac_configure_args="$ac_configure_args --build=$build --host=$target" - fi -- if test "$SOLARIS_SUNPRO_CC"; then -- # Always use gcc for libffi on Solaris -- old_cache_file=$cache_file -- cache_file=js/ctypes/libffi/config.cache -- ac_configure_args="$ac_configure_args CC=gcc" -- AC_OUTPUT_SUBDIRS(js/ctypes/libffi) -- cache_file=$old_cache_file -- else -- AC_OUTPUT_SUBDIRS(js/ctypes/libffi) -- fi -- ac_configure_args="$_SUBDIR_CONFIG_ARGS" -+ AC_CONFIG_SUBDIRS(js/ctypes/libffi) - fi - fi - -+m4_pattern_allow(AS_BIN) -+ -+AC_OUTPUT($MAKEFILES) -+ - fi # COMPILE_ENVIRONMENT && !LIBXUL_SDK_DIR - - dnl Prevent the regeneration of autoconf.mk forcing rebuilds of the world -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/configure.in 2009-12-09 13:38:51.000000000 +0000 -@@ -62,7 +62,6 @@ - - AC_PREREQ(2.13) - AC_INIT(jsapi.h) --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CONFIG_HEADER(js-config.h) - AC_CANONICAL_SYSTEM - TARGET_CPU="${target_cpu}" -@@ -101,6 +100,9 @@ - _SUBDIR_HOST_LDFLAGS="$HOST_LDFLAGS" - _SUBDIR_CONFIG_ARGS="$ac_configure_args" - -+ac_cv_have_usable_wchar_v2=no -+ac_cv_have_usable_wchar_option_v2=no -+ - dnl Set the version number of the libs included with mozilla - dnl ======================================================== - NSPR_VERSION=4 -@@ -113,6 +115,8 @@ - - MSMANIFEST_TOOL= - -+m4_pattern_allow(AS_BIN) -+ - dnl Set various checks - dnl ======================================================== - MISSING_X= -@@ -212,7 +216,7 @@ - - if test "$COMPILE_ENVIRONMENT"; then - --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - - _SAVE_CC="$CC" -@@ -249,7 +253,7 @@ - - AC_MSG_CHECKING([whether the host c compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CC cannot create executables.]) ) - - CC="$HOST_CXX" -@@ -257,7 +261,7 @@ - - AC_MSG_CHECKING([whether the host c++ compiler ($HOST_CXX $HOST_CXXFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_hostcxx_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_hostcxx_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: host compiler $HOST_CXX cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -312,7 +316,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", :) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - AC_CHECK_PROGS(CXX, $CXX "${target_alias}-g++" "${target}-g++", :) -@@ -342,37 +346,6 @@ - dnl able to run ppc code in a translated environment, making a cross - dnl compiler appear native. So we override that here. - cross_compiling=yes --else -- AC_PROG_CC -- AC_PROG_CXX -- AC_PROG_RANLIB -- MOZ_PATH_PROGS(AS, $AS as, $CC) -- AC_CHECK_PROGS(AR, ar, :) -- AC_CHECK_PROGS(LD, ld, :) -- AC_CHECK_PROGS(STRIP, strip, :) -- AC_CHECK_PROGS(WINDRES, windres, :) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi -- if test -z "$HOST_CXX"; then -- HOST_CXX="$CXX" -- fi -- if test -z "$HOST_CXXFLAGS"; then -- HOST_CXXFLAGS="$CXXFLAGS" -- fi -- if test -z "$HOST_LDFLAGS"; then -- HOST_LDFLAGS="$LDFLAGS" -- fi -- if test -z "$HOST_RANLIB"; then -- HOST_RANLIB="$RANLIB" -- fi -- if test -z "$HOST_AR"; then -- HOST_AR="$AR" -- fi --fi - - GNU_AS= - GNU_LD= -@@ -1370,6 +1343,8 @@ - fi # GNU_CC - fi # COMPILE_ENVIRONMENT - -+ac_cv_static_assertion_macros_work=yes -+ - dnl ================================================================= - dnl Set up and test static assertion macros used to avoid AC_TRY_RUN, - dnl which is bad when cross compiling. -@@ -2557,9 +2532,13 @@ - AC_LANG_C - AC_HEADER_STDC - AC_C_CONST -+ac_cv_type_mode_t=yes - AC_TYPE_MODE_T -+ac_cv_type_off_t=yes - AC_TYPE_OFF_T -+ac_cv_type_pid_t=yes - AC_TYPE_PID_T -+ac_cv_type_size_t=yes - AC_TYPE_SIZE_T - AC_STRUCT_ST_BLKSIZE - AC_MSG_CHECKING(for siginfo_t) -@@ -2584,7 +2563,8 @@ - - AC_CHECK_HEADER(stdint.h) - if test "$ac_cv_header_stdint_h" = yes; then -- AC_DEFINE(JS_HAVE_STDINT_H) -+ AC_DEFINE(JS_HAVE_STDINT_H, 1, [have stdint.h]) -+ AC_DEFINE(HAVE_STDINT_H) - else - dnl We'll figure them out for ourselves. List more likely types - dnl earlier. If we ever really encounter a size for which none of -@@ -2938,10 +2918,7 @@ - ;; - *) - AC_CHECK_LIB(m, atan) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- LIBS="-ldl $LIBS" -- AC_DEFINE(HAVE_LIBDL))) -+ AC_CHECK_LIB(dl, dlopen, AC_DEFINE(HAVE_LIBDL)) - ;; - esac - -@@ -3847,6 +3824,7 @@ - [ --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR. - See --with-nspr-cflags for more details.], - NSPR_LIBS=$withval) -+$NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" - AC_SUBST(NSPR_CFLAGS) - AC_SUBST(NSPR_LIBS) - -@@ -4386,18 +4364,11 @@ - - # Demangle only for debug or trace-malloc builds - MOZ_DEMANGLE_SYMBOLS= --if test "$HAVE_DEMANGLE" -a "$HAVE_GCC3_ABI" && test "$MOZ_DEBUG" -o "$NS_TRACE_MALLOC"; then -- MOZ_DEMANGLE_SYMBOLS=1 -- AC_DEFINE(MOZ_DEMANGLE_SYMBOLS) --fi - AC_SUBST(MOZ_DEMANGLE_SYMBOLS) - - dnl ======================================================== - dnl = Support for gcc stack unwinding (from gcc 3.3) - dnl ======================================================== --if test "$HAVE_GCC3_ABI" && test -z "$SKIP_LIBRARY_CHECKS"; then -- AC_CHECK_HEADER(unwind.h, AC_CHECK_FUNCS(_Unwind_Backtrace)) --fi - - dnl ======================================================== - dnl = -@@ -5097,6 +5068,8 @@ - - AC_HAVE_FUNCS(setlocale) - -+ -+ - dnl ======================================================== - dnl Use cygwin wrapper for win32 builds, except MSYS/MinGW - dnl ======================================================== -@@ -5234,3 +5207,4 @@ - # 'js-config' in Makefile.in. - AC_MSG_RESULT(invoking make to create js-config script) - $MAKE js-config -+ -Index: offscreen/nsprpub/configure.in -=================================================================== ---- offscreen.orig/nsprpub/configure.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/nsprpub/configure.in 2009-12-09 13:10:12.000000000 +0000 -@@ -42,7 +42,6 @@ - AC_PREREQ(2.12) - AC_INIT(config/libc_r.h) - --AC_CONFIG_AUX_DIR(${srcdir}/build/autoconf) - AC_CANONICAL_SYSTEM - - dnl ======================================================== -@@ -396,7 +395,7 @@ - dnl ======================================================== - dnl Checks for compilers. - dnl ======================================================== --if test "$target" != "$host"; then -+ - echo "cross compiling from $host to $target" - cross_compiling=yes - -@@ -423,7 +422,7 @@ - - AC_MSG_CHECKING([whether the $host compiler ($HOST_CC $HOST_CFLAGS $HOST_LDFLAGS) works]) - AC_TRY_COMPILE([], [return(0);], -- [ac_cv_prog_host_cc_works=1 AC_MSG_RESULT([yes])], -+ [ac_cv_prog_host_cc_works=1; AC_MSG_RESULT([yes])], - AC_MSG_ERROR([installation or configuration problem: $host compiler $HOST_CC cannot create executables.]) ) - - CC=$_SAVE_CC -@@ -444,7 +443,7 @@ - ;; - esac - -- AC_CHECK_PROGS(CC, $CC "${target_alias}-gcc" "${target}-gcc", echo) -+ CC="${target_alias}-gcc" - unset ac_cv_prog_CC - AC_PROG_CC - if test -n "$USE_CPLUS"; then -@@ -470,30 +469,6 @@ - AC_CHECK_PROGS(STRIP, $STRIP "${target_alias}-strip" "${target}-strip", echo) - AC_CHECK_PROGS(WINDRES, $WINDRES "${target_alias}-windres" "${target}-windres", echo) - --else -- AC_PROG_CC -- if test -n "$USE_CPLUS"; then -- if test "$CC" = "cl" -a -z "$CXX"; then -- CXX=$CC -- else -- AC_PROG_CXX -- fi -- fi -- AC_PROG_CPP -- AC_PROG_RANLIB -- AC_PATH_PROGS(AS, as, $CC) -- AC_PATH_PROGS(AR, ar, echo not_ar) -- AC_PATH_PROGS(LD, ld link, echo not_ld) -- AC_PATH_PROGS(STRIP, strip, echo not_strip) -- AC_PATH_PROGS(WINDRES, windres, echo not_windres) -- if test -z "$HOST_CC"; then -- HOST_CC="$CC" -- fi -- if test -z "$HOST_CFLAGS"; then -- HOST_CFLAGS="$CFLAGS" -- fi --fi -- - if test "$GCC" = "yes"; then - GNU_CC=1 - fi -@@ -514,11 +489,8 @@ - ;; - esac - --if test "$cross_compiling" = "yes"; then -+ - CROSS_COMPILE=1 --else -- CROSS_COMPILE= --fi - - dnl ======================================================== - dnl Check for gcc -pipe support -@@ -2286,10 +2258,7 @@ - *-darwin*|*-beos*|*-os2*) - ;; - *) -- AC_CHECK_LIB(dl, dlopen, -- AC_CHECK_HEADER(dlfcn.h, -- OS_LIBS="-ldl $OS_LIBS")) -- ;; -+ AC_CHECK_LIB(dl, dlopen) - esac - - -@@ -2907,6 +2876,8 @@ - dnl pr/tests/w16gui/Makefile - dnl tools/Makefile - -+m4_pattern_allow(AS_BIN) -+ - if test -z "$USE_PTHREADS" && test -z "$USE_BTHREADS"; then - MAKEFILES="$MAKEFILES pr/src/threads/combined/Makefile" - elif test -n "$USE_PTHREADS"; then -@@ -2922,3 +2893,5 @@ - echo $MAKEFILES > unallmakefiles - - AC_OUTPUT([$MAKEFILES], [chmod +x config/nspr-config]) -+ -+ -Index: offscreen/js/src/Makefile.in -=================================================================== ---- offscreen.orig/js/src/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -513,20 +513,8 @@ - - export:: jsautocfg.h - --ifeq (,$(CROSS_COMPILE)$(GNU_CC)$(filter-out WINNT,$(OS_ARCH))) - jsautocfg.h: - touch $@ --else --ifeq ($(OS_ARCH),WINCE) --jsautocfg.h: -- touch $@ --else --jsautocfg.h: jscpucfg$(HOST_BIN_SUFFIX) -- @rm -f $@ jsautocfg.tmp -- ./jscpucfg > jsautocfg.tmp -- mv jsautocfg.tmp $@ --endif --endif - - # jscpucfg is a strange target - # Needs to be built with the host compiler but needs to include -@@ -556,7 +544,7 @@ - echo no need to build jscpucfg $< - else - jscpucfg$(HOST_BIN_SUFFIX): jscpucfg.cpp Makefile.in -- $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< -+ $(HOST_CXX) $(HOST_CXXFLAGS) $(JSCPUCFG_DEFINES) $(DEFINES) -I$(DIST)/sdk/include $(NSPR_CFLAGS) $(HOST_OUTOPTION)$@ $< - endif - endif - -Index: offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/xpconnect/loader/mozJSComponentLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -@@ -47,6 +47,8 @@ - - #include <stdarg.h> - -+#include "mozilla-config.h" -+ - #include "prlog.h" - - #include "nsCOMPtr.h" -Index: offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp -=================================================================== ---- offscreen.orig/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/xpconnect/loader/mozJSSubScriptLoader.cpp 2009-12-09 13:10:12.000000000 +0000 -@@ -39,6 +39,8 @@ - * - * ***** END LICENSE BLOCK ***** */ - -+#include "mozilla-config.h" -+ - #if !defined(XPCONNECT_STANDALONE) && !defined(NO_SUBSCRIPT_LOADER) - - #include "mozJSSubScriptLoader.h" -Index: offscreen/toolkit/mozapps/update/src/updater/Makefile.in -=================================================================== ---- offscreen.orig/toolkit/mozapps/update/src/updater/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/toolkit/mozapps/update/src/updater/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -56,7 +56,7 @@ - - LIBS += \ - $(DEPTH)/modules/libmar/src/$(LIB_PREFIX)mar.$(LIB_SUFFIX) \ -- $(BZ2_LIBS) \ -+ $(BZ2_LIBS) -lpthread \ - $(NULL) - - ifeq ($(OS_ARCH),WINNT) -Index: offscreen/xpcom/sample/program/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/sample/program/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xpcom/sample/program/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -57,7 +57,7 @@ - # that the application be linked against the XPCOM dynamic library or the NSPR - # dynamic libraries. - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xpcom/tools/registry/Makefile.in -=================================================================== ---- offscreen.orig/xpcom/tools/registry/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xpcom/tools/registry/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -54,7 +54,7 @@ - SIMPLE_PROGRAMS = $(CPPSRCS:.cpp=$(BIN_SUFFIX)) - - LIBS = \ -- $(XPCOM_STANDALONE_GLUE_LDOPTS) \ -+ $(XPCOM_STANDALONE_GLUE_LDOPTS) -ldl \ - $(NULL) - - # Need to link with CoreFoundation on Mac -Index: offscreen/xulrunner/app/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/app/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xulrunner/app/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -173,7 +173,7 @@ - RCFLAGS += -DXULRUNNER_ICO=\"$(DIST)/branding/xulrunner.ico\" -DDOCUMENT_ICO=\"$(DIST)/branding/document.ico\" - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/xulrunner/stub/Makefile.in -=================================================================== ---- offscreen.orig/xulrunner/stub/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/xulrunner/stub/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -100,7 +100,7 @@ - endif - endif - --LIBS += $(JEMALLOC_LIBS) -+LIBS += $(JEMALLOC_LIBS) -lpthread -ldl - - include $(topsrcdir)/config/rules.mk - -Index: offscreen/modules/plugin/test/testplugin/Makefile.in -=================================================================== ---- offscreen.orig/modules/plugin/test/testplugin/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/modules/plugin/test/testplugin/Makefile.in 2009-12-09 13:10:12.000000000 +0000 -@@ -60,9 +60,7 @@ - CMMSRCS = nptest_macosx.mm - endif - --ifeq ($(MOZ_WIDGET_TOOLKIT),gtk2) - CPPSRCS += nptest_gtk2.cpp --endif - - ifeq ($(MOZ_WIDGET_TOOLKIT),os2) - CPPSRCS += nptest_os2.cpp -Index: offscreen/js/src/aclocal.m4 -=================================================================== ---- offscreen.orig/js/src/aclocal.m4 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/js/src/aclocal.m4 2009-12-09 13:39:01.000000000 +0000 -@@ -8,6 +8,4 @@ - builtin(include, build/autoconf/altoptions.m4)dnl - builtin(include, build/autoconf/moznbytetype.m4)dnl - builtin(include, build/autoconf/mozprog.m4)dnl --builtin(include, build/autoconf/acwinpaths.m4)dnl - --MOZ_PROG_CHECKMSYS() -Index: offscreen/toolkit/toolkit-makefiles.sh -=================================================================== ---- offscreen.orig/toolkit/toolkit-makefiles.sh 2009-12-09 13:10:12.000000000 +0000 -+++ offscreen/toolkit/toolkit-makefiles.sh 2009-12-09 13:10:12.000000000 +0000 -@@ -369,7 +369,6 @@ - modules/plugin/sdk/samples/Makefile - modules/plugin/sdk/samples/common/Makefile - modules/plugin/sdk/samples/basic/windows/Makefile -- modules/plugin/sdk/samples/basic/unix/Makefile - modules/plugin/sdk/samples/winless/windows/Makefile - " - diff --git a/meta/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h b/meta/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h deleted file mode 100644 index 94b44f8e1..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/i386/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h b/meta/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h deleted file mode 100644 index 94b44f8e1..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/i486/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h b/meta/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h deleted file mode 100644 index 94b44f8e1..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/i586/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h b/meta/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h deleted file mode 100644 index 94b44f8e1..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/i686/jsautocfg.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef js_cpucfg___ -#define js_cpucfg___ - -/* AUTOMATICALLY GENERATED - DO NOT EDIT */ - -#define IS_LITTLE_ENDIAN 1 -#undef IS_BIG_ENDIAN - - -#define JS_BYTES_PER_WORD 4L -#define JS_BYTES_PER_DOUBLE 8L -#define JS_BITS_PER_WORD_LOG2 5L -#define JS_ALIGN_OF_POINTER 4L - -#define JS_THREADSAFE 1 - -#define JS_STACK_GROWTH_DIRECTION (-1) - -#define JS_HAVE_LONG_LONG - -#endif /* js_cpucfg___ */ diff --git a/meta/packages/mozilla-headless/mozilla-headless/mozconfig b/meta/packages/mozilla-headless/mozilla-headless/mozconfig deleted file mode 100644 index 6123d11d2..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/mozconfig +++ /dev/null @@ -1,23 +0,0 @@ -# this line sets the directory for all build output -mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-headless-release - -# comment out the previous line and uncomment these two for a debug build -#mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-headless-debug -#ac_add_options --disable-optimize --enable-debug - -# this is the line that enables the headless implementation -ac_add_options --enable-default-toolkit=cairo-headless - -# comment out the previous line and uncomment these two for a GTK build -#ac_add_options --enable-system-cairo -#ac_add_options --enable-default-toolkit=cairo-gtk2 - -ac_add_options --disable-tests -ac_add_options --disable-javaxpcom -ac_add_options --enable-application=xulrunner -ac_add_options --enable-pango -ac_add_options --disable-printing -ac_add_options --disable-crashreporter -ac_add_options --enable-plugins -ac_add_options --disable-accessibility -mk_add_options MOZ_CO_PROJECT=xulrunner diff --git a/meta/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch b/meta/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch deleted file mode 100644 index aabd6906e..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/mozilla-jemalloc.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -r f1af606531f5 memory/jemalloc/jemalloc.h ---- a/memory/jemalloc/jemalloc.h Sat Nov 22 20:22:22 2008 +0100 -+++ b/memory/jemalloc/jemalloc.h Mon Dec 01 16:53:06 2008 -0500 -@@ -45,14 +45,14 @@ - } jemalloc_stats_t; - - #ifndef MOZ_MEMORY_DARWIN --void *malloc(size_t size); --void *valloc(size_t size); --void *calloc(size_t num, size_t size); --void *realloc(void *ptr, size_t size); --void free(void *ptr); -+void *malloc(size_t size) __THROW __attribute_malloc__ __wur; -+void *valloc(size_t size) __THROW __attribute_malloc__ __wur; -+void *calloc(size_t num, size_t size) __THROW __attribute_malloc__ __wur; -+void *realloc(void *ptr, size_t size) __THROW __attribute_malloc__ __wur; -+void free(void *ptr) __THROW __attribute_malloc__ __wur; - #endif - --int posix_memalign(void **memptr, size_t alignment, size_t size); -+int posix_memalign(void **memptr, size_t alignment, size_t size) __THROW __attribute_malloc__ __wur; - void *memalign(size_t alignment, size_t size); - size_t malloc_usable_size(const void *ptr); - void jemalloc_stats(jemalloc_stats_t *stats); diff --git a/meta/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch b/meta/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch deleted file mode 100644 index 940910578..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/removebadrpath-1a622cb7c384.patch +++ /dev/null @@ -1,26 +0,0 @@ -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-06-17 14:31:40.000000000 +0100 -+++ offscreen/js/src/configure.in 2009-06-17 14:31:40.000000000 +0100 -@@ -880,7 +880,7 @@ - HOST_AR_FLAGS='$(AR_FLAGS)' - - MOZ_JS_LIBS='-L$(libdir) -lmozjs' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(PREFIX)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - - MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' - MOZ_XPCOM_OBSOLETE_LIBS='-L$(LIBXUL_DIST)/lib -lxpcom_compat' -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-06-17 15:09:44.000000000 +0100 -+++ offscreen/configure.in 2009-06-17 15:10:00.000000000 +0100 -@@ -1060,7 +1060,7 @@ - - MOZ_JS_LIBS='-L$(LIBXUL_DIST)/bin -lmozjs' - DYNAMIC_XPCOM_LIBS='-L$(LIBXUL_DIST)/bin -lxpcom -lxpcom_core' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - XPCOM_FROZEN_LDOPTS='-L$(LIBXUL_DIST)/bin -lxpcom' - LIBXUL_LIBS='$(XPCOM_FROZEN_LDOPTS) -lxul' - XPCOM_GLUE_LDOPTS='$(LIBXUL_DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) $(XPCOM_FROZEN_LDOPTS)' diff --git a/meta/packages/mozilla-headless/mozilla-headless/removebadrpath.patch b/meta/packages/mozilla-headless/mozilla-headless/removebadrpath.patch deleted file mode 100644 index 53ae6d325..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless/removebadrpath.patch +++ /dev/null @@ -1,44 +0,0 @@ -Index: offscreen/js/src/configure.in -=================================================================== ---- offscreen.orig/js/src/configure.in 2009-12-09 13:38:51.000000000 +0000 -+++ offscreen/js/src/configure.in 2009-12-09 14:14:08.000000000 +0000 -@@ -858,7 +858,7 @@ - HOST_AR_FLAGS='$(AR_FLAGS)' - - MOZ_JS_LIBS='-L$(libdir) -lmozjs' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(PREFIX)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - - MOZ_COMPONENT_NSPR_LIBS='-L$(LIBXUL_DIST)/bin $(NSPR_LIBS)' - -@@ -3824,7 +3824,7 @@ - [ --with-nspr-libs=LIBS Pass LIBS to LD when linking code that uses NSPR. - See --with-nspr-cflags for more details.], - NSPR_LIBS=$withval) --$NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" -+NSPR_LIBS="$NSPR_LIBS -L$(LIBXUL_DIST)/sdk/lib" - AC_SUBST(NSPR_CFLAGS) - AC_SUBST(NSPR_LIBS) - -Index: offscreen/configure.in -=================================================================== ---- offscreen.orig/configure.in 2009-12-09 13:38:51.000000000 +0000 -+++ offscreen/configure.in 2009-12-09 14:31:33.000000000 +0000 -@@ -1041,7 +1041,7 @@ - - MOZ_JS_LIBS='-L$(LIBXUL_DIST)/bin -lmozjs' - DYNAMIC_XPCOM_LIBS='-L$(LIBXUL_DIST)/bin -lxpcom -lxpcom_core' --MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin -Wl,-rpath-link,$(prefix)/lib' -+MOZ_FIX_LINK_PATHS='-Wl,-rpath-link,$(LIBXUL_DIST)/bin' - XPCOM_FROZEN_LDOPTS='-L$(LIBXUL_DIST)/bin -lxpcom' - LIBXUL_LIBS='$(XPCOM_FROZEN_LDOPTS) -lxul' - XPCOM_GLUE_LDOPTS='$(LIBXUL_DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) $(XPCOM_FROZEN_LDOPTS)' -@@ -8378,7 +8378,7 @@ - if test "$BUILD_CTYPES"; then - # Run the libffi 'configure' script on platforms that it supports. - if test -z "$_MSC_VER"; then -- ac_configure_args="--disable-shared --enable-static --disable-raw-api" -+ ac_configure_args="$ac_configure_args --disable-shared --enable-static --disable-raw-api" - if test "$MOZ_DEBUG"; then - ac_configure_args="$ac_configure_args --enable-debug" - fi diff --git a/meta/packages/mozilla-headless/mozilla-headless_hg.bb b/meta/packages/mozilla-headless/mozilla-headless_hg.bb deleted file mode 100644 index 669c52616..000000000 --- a/meta/packages/mozilla-headless/mozilla-headless_hg.bb +++ /dev/null @@ -1,99 +0,0 @@ - -#file://0001-Adds-initial-Gtk-clipboard-support-to-moz-headless.patch;patch=1 \ -SRC_URI = "hg://hg.mozilla.org/incubator;protocol=http;module=offscreen \ - file://configurefix-1a622cb7c384.patch;patch=1;rev=1a622cb7c384 \ - file://configurefix.patch;patch=1;notrev=1a622cb7c384 \ - file://mozilla-jemalloc.patch;patch=1 \ - file://removebadrpath-1a622cb7c384.patch;patch=1;rev=1a622cb7c384 \ - file://removebadrpath.patch;patch=1;notrev=1a622cb7c384 \ - file://buildfixhack.patch;patch=1;notrev=1a622cb7c384 \ - file://autoconffix.patch;patch=1 \ - file://jsautocfg.h \ - file://mozconfig" -PV = "0.2+hg-1.0+${SRCPV}" -PR = "r10" - -S = "${WORKDIR}/offscreen" - -DEPENDS = "gconf gnome-vfs pango dbus-glib alsa-lib libidl-native sqlite3 libidl" - -FILES_${PN} += "${libdir}/xulrunner-${XULVERSION} ${libdir}/xulrunner-devel-${XULVERSION}/sdk/lib/*.so" -FILES_${PN}-dev += "${libdir}/xulrunner-devel-${XULVERSION}" -FILES_${PN}-dbg += "${libdir}/xulrunner-devel-${XULVERSION}/sdk/lib/.debug" - -# Mozilla's build rules search for -L paths to find libraries. Its -# not clever enough to know where the sysroot is and hence finds host -# object files which is bad. We therefore tell pkg-config not to hide -# paths. See config/rules.mk and the LIBS_DEPS and _LIBDIRS variables. -export PKG_CONFIG_ALLOW_SYSTEM_LIBS = "1" - -TARGET_CC_ARCH = "" - -CFLAGS = "${TARGET_CFLAGS}" -TARGET_CFLAGS = "-Os -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=core2 -msse3 -mtune=generic -mfpmath=sse -fasynchronous-unwind-tables" - -LDFLAGS = "${TARGET_LDFLAGS}" -TARGET_LDFLAGS = "-Wl,-rpath,${libdir}/xulrunner-${XULVERSION}" - -export target_alias=${TARGET_PREFIX} - -inherit autotools mozilla - -acpaths = "-I ${S}/build/autoconf " - -export topsrcdir = "${S}" - -do_configure () { - if [ "${SRCREV}" != "1a622cb7c384" ]; then - rm -rf ${S}/build/autoconf/acwinpaths.m4 - rm -rf ${S}/js/src/build/autoconf/acwinpaths.m4 - rm -rf ${S}/nsprpub/build/autoconf/acwinpaths.m4 - mkdir -p ${S}/js/src/dist/include - ln -fs ../../../../nsprpub/dist/include/nspr ${S}/js/src/dist/include/nsprpub - fi - cp ${S}/build/autoconf/install-sh ${S} - autotools_do_configure - # Yes, we run this twice. The first pass sets up npsrpub-config which then - # sets the values correctly on the second try. Ick. - autotools_do_configure -} - -do_compile () { - cp ${WORKDIR}/jsautocfg.h ${S}/js/src/ - #oe_runmake -f client.mk build_all - base_do_compile -} - -XULVERSION = "1.9.3a1pre" - -do_install_append () { - install -d ${D}${sysconfdir}/ld.so.conf.d/ - echo ${libdir}/xulrunner-${XULVERSION}/ > ${D}${sysconfdir}/ld.so.conf.d/mozilla-headless -} - -EXTRA_OECONF =+ "--enable-application=xulrunner --enable-default-toolkit=cairo-headless --with-pthreads \ - --enable-pango --enable-optimize --disable-debug --disable-tests \ - --disable-printing --disable-crashreporter --disable-accessibility \ - --disable-javaxpcom --enable-plugins --enable-system-sqlite --disable-necko-wifi" - -export LIBXUL_DIST="${S}/dist" - -SYSROOT_PREPROCESS_FUNCS += "mozilla_sysroot_preprocess" - -mozilla_sysroot_preprocess () { - autotools_stage_dir ${D}/${libdir}/xulrunner-${XULVERSION} ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-${XULVERSION}/ - autotools_stage_dir ${D}/${libdir}/xulrunner-devel-${XULVERSION} ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/ - - ln -fs ${STAGING_DIR_HOST}${libdir}/xulrunner-${XULVERSION}/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/bin - ln -fs ${STAGING_DIR_HOST}${datadir}/xulrunner-${XULVERSION}/unstable/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/idl - ln -fs ${STAGING_DIR_HOST}${includedir}/xulrunner-${XULVERSION}/unstable/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/include - ln -fs ${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/sdk/lib/ ${SYSROOT_DESTDIR}${STAGING_DIR_HOST}${libdir}/xulrunner-devel-${XULVERSION}/lib - - install -d ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS} - install -m 755 ${S}/dist/host/bin/host_xpidl ${SYSROOT_DESTDIR}${STAGING_BINDIR_CROSS}/xpidl -} - -__anonymous () { - if bb.data.getVar("SRCREV", d, True) == "1a622cb7c384": - bb.data.setVar("XULVERSION", "1.9.2a1pre", d) -} |