[XStreamOS-discuss] Firefox 20.0.1 build problems

Gabriele Bulfon gbulfon at sonicle.com
Thu May 16 13:16:00 CEST 2013


Here is the userland component Makefile I tried to use, very simple.
Had to specify NAME_MAX.
#
# Copyright 2013 Sonicle S.r.l. All rights reserved.
#
include ../../make-rules/shared-macros.mk
COMPONENT_NAME=         firefox
COMPONENT_VERSION=      20.0.1
COMPONENT_SRC=          mozilla-release
COMPONENT_ARCHIVE=      $(COMPONENT_NAME)-$(COMPONENT_VERSION).source.tar.bz2
COMPONENT_ARCHIVE_HASH= sha1:8d8f775293982f2526bb2da5dc743cd20a47af47
COMPONENT_ARCHIVE_URL=  http://releases.mozilla.org/pub/mozilla.org/firefox/releases/latest/source/$(COMPONENT_ARCHIVE)
include ../../make-rules/prep.mk
include ../../make-rules/configure.mk
include ../../make-rules/ips.mk
CFLAGS += -DNAME_MAX=512
build:          $(BUILD_32_and_64)
install:        $(INSTALL_32_and_64)
include ../../make-rules/depend.mk
Here also I had to apply some patches.
=build_config.h=
--- mozilla-release/ipc/chromium/src/build/build_config.h       Wed May  8 13:45:40 2013
+++ mozilla-release/ipc/chromium/src/build/build_config.h       Wed May  8 13:47:38 2013
@@ -19,6 +19,8 @@
#define OS_MACOSX 1
#elif defined(__linux__) || defined(ANDROID)
#define OS_LINUX 1
+#elif defined(__sun)
+#define OS_SOLARIS 1
#elif defined(__DragonFly__)
#define OS_DRAGONFLY 1
#elif defined(__FreeBSD__)
@@ -42,7 +44,7 @@
// For access to standard POSIX features, use OS_POSIX instead of a more
// specific macro.
-#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD)
+#if defined(OS_MACOSX) || defined(OS_LINUX) || defined(OS_BSD) || defined(OS_SOLARIS)
#define OS_POSIX 1
#endif
=jsmath.cpp=
--- mozilla-release/js/src/jsmath.cpp   Wed May  8 12:48:54 2013
+++ mozilla-release/js/src/jsmath.cpp   Wed May  8 12:50:34 2013
@@ -195,14 +195,6 @@
}
#endif
-#if defined(SOLARIS) & defined(__GNUC__)
-    if (x == 0) {
-        if (MOZ_DOUBLE_IS_NEGZERO(y))
-            return js_copysign(M_PI, x);
-        if (y == 0)
-            return x;
-    }
-#endif
return atan2(x, y);
}
=Stack.cpp=
--- mozilla-release/js/src/vm/Stack.cpp Wed May  8 13:13:08 2013
+++ mozilla-release/js/src/vm/Stack.cpp Wed May  8 13:13:47 2013
@@ -782,57 +782,11 @@
size_t
StackSpace::sizeOf()
{
-#if defined(XP_UNIX)
/*
-     * Measure how many of our pages are resident in RAM using mincore, and
-     * return that as our size.  This is slow, but hopefully nobody expects
-     * this method to be fast.
-     *
-     * Note that using mincore means that we don't count pages of the stack
-     * which are swapped out to disk.  We really should, but what we have here
-     * is better than counting the whole stack!
-     */
-
-    const int pageSize = getpagesize();
-    size_t numBytes = (trustedEnd_ - base_) * sizeof(Value);
-    size_t numPages = (numBytes + pageSize - 1) / pageSize;
-
-    // On Linux, mincore's third argument has type unsigned char*.
-#ifdef __linux__
-    typedef unsigned char MincoreArgType;
-#else
-    typedef char MincoreArgType;
-#endif
-
-    MincoreArgType *vec = (MincoreArgType *) js_malloc(numPages);
-    int result = mincore(base_, numBytes, vec);
-    if (result) {
-        js_free(vec);
-        /*
-         * If mincore fails us, return the vsize (like we do below if we're not
-         * on Windows or Unix).
-         */
-        return (trustedEnd_ - base_) * sizeof(Value);
-    }
-
-    size_t residentBytes = 0;
-    for (size_t i = 0; i
-        /* vec[i] has its least-significant bit set iff page i is in RAM. */
-        if (vec[i] &0x1)
-            residentBytes += pageSize;
-    }
-    js_free(vec);
-    return residentBytes;
-
-#elif defined(XP_WIN)
-    return (commitEnd_ - base_) * sizeof(Value);
-#else
-    /*
* Return the stack's virtual size, which is at least an upper bound on its
* resident size.
*/
return (trustedEnd_ - base_) * sizeof(Value);
-#endif
}
#ifdef DEBUG
Gabriele Bulfon - Sonicle S.r.l.
Tel +39 028246016 Int. 30 - Fax +39 028243880
via Santa Maria Valle 3 - 20123 - Milano - Italy
http://www.sonicle.com
Da:
Jonathan Adams
A:
Gabriele Bulfon
Data:
16 maggio 2013 12.09.56 CET
Oggetto:
Re: Firefox 20.0.1 build problems
I'll download 20.0.1 source, and try to compile on OI ... I'll have trouble getting hold of the hardware to run another Illumos distribution for a little while, so I hope it'll work in the same way (slightly different package versions) ...
If need be I can probably create a KVM machine on the OI server sitting in my office, but it's ipsec'd to hell running a copy of Windows 2012 server.
what configure options are you using?
On 16 May 2013 11:41, Gabriele Bulfon
gbulfon at sonicle.com
wrote:
If you want to take a look, this is the mail I sent to firefox dev list, maybe you have some
idea on these problems I encountered.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sonicle.com/pipermail/xstreamos-discuss/attachments/20130516/9530c257/attachment.html>


More information about the XStreamOS-discuss mailing list