[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