patch -p0 < firefox-0.8.diff setenv MOZ_PHOENIX 1 ../firefox-0.8/configure \ --disable-auto-deps \ --disable-bidi \ --disable-composer \ --disable-cpp-exceptions \ --disable-cpp-rtti \ --disable-debug \ --disable-dtd-debug \ --disable-freetypetest \ --disable-glibtest \ --disable-gtktest \ --disable-installer \ --disable-jsd \ --disable-ldap \ --disable-mailnews \ --disable-md \ --disable-oji \ --disable-pedantic \ --disable-plaintext-editor-only \ --disable-profilesharing \ --disable-shared \ --disable-svg \ --disable-tests \ --disable-xprint \ --disable-xterm-updates \ --enable-chrome-format=jar \ --enable-crypto \ --enable-default-toolkit=gtk \ --enable-double-buffer \ --enable-extensions=cookie,xml-rpc,xmlextras,p3p,pref,transformiix,universalchardet,typeaheadfind,webservices,inspector \ --enable-mathml \ --enable-optimize \ --enable-static \ --enable-strip \ --enable-xinerama \ --prefix=/usr/X11R6 \ --with-pthreads \ --with-system-jpeg=/usr/local \ --with-system-mng=/usr/local \ --with-system-png=/usr/local \ --with-system-zlib=/usr/lib \ --x-includes=/usr/X11R6/include \ --x-libraries=/usr/X11R6/lib gmake MOZ_PHOENIX=1 can't get xft to work; it's installed, but configure insists on using pkg-config to find it. had to remove /usr/include/freetype, /usr/include/freetype.h (freetype 1 vs 2) Index: configure =================================================================== RCS file: /cvsroot/mozilla/configure,v retrieving revision 1.1246 diff -u -r1.1246 configure --- configure 11 Dec 2003 23:32:02 -0000 1.1246 +++ configure 11 Feb 2004 18:58:38 -0000 @@ -5414,15 +5414,16 @@ ;; *-openbsd*) + CFLAGS="$CFLAGS -fno-stack-protector" + CXXFLAGS="$CXXFLAGS -fno-stack-protector" DLL_SUFFIX=".so.1.0" DSO_CFLAGS='' DSO_PIC_CFLAGS='-fPIC' - DSO_LDOPTS='-shared -h $@' - MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@' - MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@' - if $CC -E - -dM /dev/null; then - DSO_LDOPTS="-Bshareable /usr/lib/c++rt0.o" - fi + DSO_LDOPTS='-shared -fPIC' + MKSHLIB='$(CXX) $(DSO_LDOPTS) -o $@' + MKCSHLIB='$(CC) $(DSO_LDOPTS) -o $@' + MKSHLIB_FORCE_ALL='' + MKSHLIB_UNFORCE_ALL='' if test "$LIBRUNPATH"; then DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS" fi @@ -8629,9 +8630,8 @@ EOF if test "$ac_cv_have_dash_pthread" = "yes"; then - _PTHREAD_LDFLAGS="" - else - _PTHREAD_LDFLAGS="-lc_r" + _PTHREAD_LDFLAGS="-pthread" + LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}" fi ;; @@ -11466,39 +11466,9 @@ echo "*** to the full path to pkg-config." echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." else - PKG_CONFIG_MIN_VERSION=0.9.0 - if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo $ac_n "checking for xft""... $ac_c" 1>&6 -echo "configure:11473: checking for xft" >&5 - - if $PKG_CONFIG --exists "xft" ; then - echo "$ac_t""yes" 1>&6 - succeeded=yes - - echo $ac_n "checking MOZ_XFT_CFLAGS""... $ac_c" 1>&6 -echo "configure:11480: checking MOZ_XFT_CFLAGS" >&5 - MOZ_XFT_CFLAGS=`$PKG_CONFIG --cflags "xft"` - echo "$ac_t""$MOZ_XFT_CFLAGS" 1>&6 - - echo $ac_n "checking MOZ_XFT_LIBS""... $ac_c" 1>&6 -echo "configure:11485: checking MOZ_XFT_LIBS" >&5 - MOZ_XFT_LIBS=`$PKG_CONFIG --libs "xft"` - echo "$ac_t""$MOZ_XFT_LIBS" 1>&6 - else - MOZ_XFT_CFLAGS="" - MOZ_XFT_LIBS="" - ## If we have a custom action on failure, don't print errors, but - ## do set a variable so people can do so. - MOZ_XFT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "xft"` - echo $MOZ_XFT_PKG_ERRORS - fi - - - - else - echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." - echo "*** See http://www.freedesktop.org/software/pkgconfig" - fi + succeeded=yes + MOZ_XFT_CFLAGS="-I/usr/X11R6/include -I/usr/local/include/freetype2 -I/usr/local/include" + MOZ_XFT_LIBS="-L/usr/X11R6/lib -L/usr/local/lib -lXft -lfreetype -lz -lXrender -lXext -lX11 -lfontconfig" fi if test $succeeded = yes; then Index: extensions/transformiix/source/base/Double.cpp =================================================================== RCS file: /cvsroot/mozilla/extensions/transformiix/source/base/Double.cpp,v retrieving revision 1.20.44.2 diff -u -r1.20.44.2 Double.cpp --- extensions/transformiix/source/base/Double.cpp 14 Jan 2004 00:22:02 -0000 1.20.44.2 +++ extensions/transformiix/source/base/Double.cpp 11 Feb 2004 18:58:38 -0000 @@ -108,17 +108,19 @@ #define TX_DOUBLE_HI32_EXPMASK 0x7ff00000 #define TX_DOUBLE_HI32_MANTMASK 0x000fffff +#define STRICT_ALIGN __attribute__ ((aligned (8))) + //-- Initialize Double related constants #ifdef IS_BIG_ENDIAN -const PRUint32 nanMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK, +const PRUint32 nanMask[2] STRICT_ALIGN = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK, 0xffffffff}; -const PRUint32 infMask[2] = {TX_DOUBLE_HI32_EXPMASK, 0}; -const PRUint32 negInfMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0}; +const PRUint32 infMask[2] STRICT_ALIGN = {TX_DOUBLE_HI32_EXPMASK, 0}; +const PRUint32 negInfMask[2] STRICT_ALIGN = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0}; #else -const PRUint32 nanMask[2] = {0xffffffff, +const PRUint32 nanMask[2] STRICT_ALIGN = {0xffffffff, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK}; -const PRUint32 infMask[2] = {0, TX_DOUBLE_HI32_EXPMASK}; -const PRUint32 negInfMask[2] = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT}; +const PRUint32 infMask[2] STRICT_ALIGN = {0, TX_DOUBLE_HI32_EXPMASK}; +const PRUint32 negInfMask[2] STRICT_ALIGN = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT}; #endif const double Double::NaN = *((double*)nanMask); Index: nsprpub/configure =================================================================== RCS file: /cvsroot/mozilla/nsprpub/configure,v retrieving revision 1.78.2.74 diff -u -r1.78.2.74 configure --- nsprpub/configure 16 Dec 2003 05:33:16 -0000 1.78.2.74 +++ nsprpub/configure 11 Feb 2004 18:58:39 -0000 @@ -5217,7 +5217,8 @@ case "$target" in *-solaris*) if test "$ac_cv_have_dash_pthreads" = "yes"; then - _PTHREAD_LDFLAGS= + _PTHREAD_LDFLAGS=-pthread + LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}" fi ;; *-freebsd*) Index: nsprpub/configure.in =================================================================== RCS file: /cvsroot/mozilla/nsprpub/configure.in,v retrieving revision 1.83.2.73 diff -u -r1.83.2.73 configure.in --- nsprpub/configure.in 15 Dec 2003 19:58:56 -0000 1.83.2.73 +++ nsprpub/configure.in 11 Feb 2004 18:58:39 -0000 @@ -1482,6 +1482,7 @@ AC_DEFINE(XP_UNIX) AC_DEFINE(OPENBSD) AC_DEFINE(HAVE_BSD_FLOCK) + AC_DEFINE(HAVE_SOCKLEN_T) CFLAGS="$CFLAGS -ansi -Wall" CXXFLAGS="$CXXFLAGS -ansi -Wall" DLL_SUFFIX=so.1.0 @@ -1489,12 +1490,8 @@ MDCPUCFG_H=_openbsd.cfg PR_MD_CSRCS=openbsd.c USE_NSPR_THREADS=1 - case "$OS_TEST" in - alpha|mips|pmax) - DSO_LDOPTS=-shared ;; - *) - DSO_LDOPTS=-Bshareable ;; - esac + DSO_LDOPTS='-shared -fPIC' + MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@' ;; *-openvms*) @@ -2186,7 +2183,8 @@ AC_DEFINE(_THREAD_SAFE) dnl -pthread links in -lc_r, so don't specify it explicitly. if test "$ac_cv_have_dash_pthread" = "yes"; then - _PTHREAD_LDFLAGS= + _PTHREAD_LDFLAGS=-pthread + LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}" fi ;; *-linux*) Index: nsprpub/pr/include/md/_openbsd.cfg =================================================================== RCS file: /cvsroot/mozilla/nsprpub/pr/include/md/_openbsd.cfg,v retrieving revision 3.6.4.1 diff -u -r3.6.4.1 _openbsd.cfg --- nsprpub/pr/include/md/_openbsd.cfg 16 Sep 2003 00:11:44 -0000 3.6.4.1 +++ nsprpub/pr/include/md/_openbsd.cfg 11 Feb 2004 18:58:39 -0000 @@ -232,6 +232,53 @@ #define PR_BYTES_PER_WORD_LOG2 3 #define PR_BYTES_PER_DWORD_LOG2 3 +#elif defined(__sparc_v9__) +#undef IS_LITTLE_ENDIAN +#define IS_BIG_ENDIAN 1 +#define HAVE_LONG_LONG +#define HAVE_ALIGNED_DOUBLES +#define HAVE_ALIGNED_LONGLONGS +#define IS_64 + +#define PR_BYTES_PER_BYTE 1 +#define PR_BYTES_PER_SHORT 2 +#define PR_BYTES_PER_INT 4 +#define PR_BYTES_PER_INT64 8 +#define PR_BYTES_PER_LONG 8 +#define PR_BYTES_PER_FLOAT 4 +#define PR_BYTES_PER_DOUBLE 8 +#define PR_BYTES_PER_WORD 8 +#define PR_BYTES_PER_DWORD 8 + +#define PR_BITS_PER_BYTE 8 +#define PR_BITS_PER_SHORT 16 +#define PR_BITS_PER_INT 32 +#define PR_BITS_PER_INT64 64 +#define PR_BITS_PER_LONG 64 +#define PR_BITS_PER_FLOAT 32 +#define PR_BITS_PER_DOUBLE 64 +#define PR_BITS_PER_WORD 64 + +#define PR_BITS_PER_BYTE_LOG2 3 +#define PR_BITS_PER_SHORT_LOG2 4 +#define PR_BITS_PER_INT_LOG2 5 +#define PR_BITS_PER_INT64_LOG2 6 +#define PR_BITS_PER_LONG_LOG2 6 +#define PR_BITS_PER_FLOAT_LOG2 5 +#define PR_BITS_PER_DOUBLE_LOG2 6 +#define PR_BITS_PER_WORD_LOG2 6 + +#define PR_ALIGN_OF_SHORT 2 +#define PR_ALIGN_OF_INT 4 +#define PR_ALIGN_OF_LONG 8 +#define PR_ALIGN_OF_INT64 8 +#define PR_ALIGN_OF_FLOAT 4 +#define PR_ALIGN_OF_DOUBLE 8 +#define PR_ALIGN_OF_POINTER 8 + +#define PR_BYTES_PER_WORD_LOG2 3 +#define PR_BYTES_PER_DWORD_LOG2 3 + #elif defined(__powerpc__) || defined(__m68k__) #undef IS_LITTLE_ENDIAN Index: nsprpub/pr/src/md/unix/unix.c =================================================================== RCS file: /cvsroot/mozilla/nsprpub/pr/src/md/unix/unix.c,v retrieving revision 3.43.2.5 diff -u -r3.43.2.5 unix.c --- nsprpub/pr/src/md/unix/unix.c 12 Dec 2002 00:19:57 -0000 3.43.2.5 +++ nsprpub/pr/src/md/unix/unix.c 11 Feb 2004 18:58:40 -0000 @@ -65,7 +65,8 @@ * PRInt32* pointer to a _PRSockLen_t* pointer. */ #if defined(HAVE_SOCKLEN_T) \ - || (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2) + || (defined(LINUX) && defined(__GLIBC__) && __GLIBC__ >= 2) \ + || defined(FREEBSD) #define _PRSockLen_t socklen_t #elif defined(IRIX) || defined(HPUX) || defined(OSF1) || defined(SOLARIS) \ || defined(AIX4_1) || defined(LINUX) || defined(SONY) \ @@ -73,7 +74,7 @@ || defined(SUNOS4) || defined(NCR) || defined(DARWIN) \ || defined(NEXTSTEP) || defined(QNX) #define _PRSockLen_t int -#elif (defined(AIX) && !defined(AIX4_1)) || defined(FREEBSD) \ +#elif (defined(AIX) && !defined(AIX4_1)) \ || defined(NETBSD) || defined(OPENBSD) || defined(UNIXWARE) \ || defined(DGUX) || defined(VMS) || defined(NTO) #define _PRSockLen_t size_t Index: nsprpub/pr/src/misc/prinit.c =================================================================== RCS file: /cvsroot/mozilla/nsprpub/pr/src/misc/prinit.c,v retrieving revision 3.25.4.4 diff -u -r3.25.4.4 prinit.c --- nsprpub/pr/src/misc/prinit.c 20 Jan 2003 20:13:09 -0000 3.25.4.4 +++ nsprpub/pr/src/misc/prinit.c 11 Feb 2004 18:58:40 -0000 @@ -430,6 +430,12 @@ _PR_LogCleanup(); /* + * accesses the current thread + */ + _PR_CleanupNet(); + _PR_CleanupIO(); + + /* * This part should look like the end of _PR_NativeRunThread * and _PR_UserRunThread. */ @@ -441,6 +447,7 @@ PR_DELETE(me->stack); PR_DELETE(me); } + _PR_MD_SET_CURRENT_THREAD(NULL); /* * XXX: We are freeing the heap memory here so that Purify won't @@ -449,8 +456,6 @@ * Ideally, for each _PR_InitXXX(), there should be a corresponding * _PR_XXXCleanup() that we can call here. */ - _PR_CleanupNet(); - _PR_CleanupIO(); #ifdef WINNT _PR_CleanupCPUs(); #endif Index: nsprpub/pr/src/pthreads/ptio.c =================================================================== RCS file: /cvsroot/mozilla/nsprpub/pr/src/pthreads/ptio.c,v retrieving revision 3.71.2.15 diff -u -r3.71.2.15 ptio.c --- nsprpub/pr/src/pthreads/ptio.c 27 Nov 2003 01:30:44 -0000 3.71.2.15 +++ nsprpub/pr/src/pthreads/ptio.c 11 Feb 2004 18:58:41 -0000 @@ -192,7 +192,7 @@ #endif #endif -#ifdef DARWIN +#if defined(DARWIN) || defined(FREEBSD) static PRBool _pr_ipv6_v6only_on_by_default; /* The IPV6_V6ONLY socket option is not defined on Mac OS X 10.1. */ #ifndef IPV6_V6ONLY @@ -1157,7 +1157,7 @@ _pr_stderr = pt_SetMethods(2, PR_DESC_FILE, PR_FALSE, PR_TRUE); PR_ASSERT(_pr_stdin && _pr_stdout && _pr_stderr); -#ifdef DARWIN +#if defined(DARWIN) || defined(FREEBSD) /* In Mac OS X v10.3 Panther Beta the IPV6_V6ONLY socket option * is turned on by default, contrary to what RFC 3493, Section * 5.3 says. So we have to turn it off. Find out whether we @@ -3477,7 +3477,7 @@ if (osfd == -1) pt_MapError(_PR_MD_MAP_SOCKET_ERROR, errno); else { -#ifdef DARWIN +#if defined(DARWIN) || defined(FREEBSD) if ((domain == AF_INET6) && _pr_ipv6_v6only_on_by_default) { int on = 0; Index: security/coreconf/OpenBSD.mk =================================================================== RCS file: /cvsroot/mozilla/security/coreconf/OpenBSD.mk,v retrieving revision 1.2 diff -u -r1.2 OpenBSD.mk --- security/coreconf/OpenBSD.mk 16 Sep 2003 20:50:50 -0000 1.2 +++ security/coreconf/OpenBSD.mk 11 Feb 2004 18:58:41 -0000 @@ -62,7 +62,7 @@ ARCH = openbsd DSO_CFLAGS = -fPIC -DPIC -DSO_LDOPTS = -shared -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX) +DSO_LDOPTS = -shared -fPIC -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX) DSO_LDFLAGS = MKSHLIB = $(CC) $(DSO_LDOPTS) Index: xpcom/io/nsNativeCharsetUtils.cpp =================================================================== RCS file: /cvsroot/mozilla/xpcom/io/nsNativeCharsetUtils.cpp,v retrieving revision 1.18.6.1 diff -u -r1.18.6.1 nsNativeCharsetUtils.cpp --- xpcom/io/nsNativeCharsetUtils.cpp 12 Jan 2004 23:31:11 -0000 1.18.6.1 +++ xpcom/io/nsNativeCharsetUtils.cpp 11 Feb 2004 18:58:41 -0000 @@ -294,7 +294,11 @@ { const char *blank_list[] = { "", NULL }; const char **native_charset_list = blank_list; +#ifdef CODESET const char *native_charset = nl_langinfo(CODESET); +#else + const char *native_charset = nsnull; +#endif if (native_charset == nsnull) { NS_ERROR("native charset is unknown"); // fallback to ISO-8859-1 Index: xpcom/reflect/xptcall/src/md/unix/Makefile.in =================================================================== RCS file: /cvsroot/mozilla/xpcom/reflect/xptcall/src/md/unix/Makefile.in,v retrieving revision 1.74 diff -u -r1.74 Makefile.in --- xpcom/reflect/xptcall/src/md/unix/Makefile.in 15 Aug 2003 04:00:23 -0000 1.74 +++ xpcom/reflect/xptcall/src/md/unix/Makefile.in 11 Feb 2004 18:58:41 -0000 @@ -106,6 +106,12 @@ ASFILES := xptcinvoke_asm_osf1_alpha.s xptcstubs_asm_osf1_alpha.s endif # +# OpenBSD/Alpha +# +ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDalpha) +CPPSRCS := xptcinvoke_openbsd_alpha.cpp xptcstubs_openbsd_alpha.cpp +endif +# # Linux/Alpha # ifneq (,$(filter Linuxalpha FreeBSDalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST))) @@ -250,6 +256,14 @@ endif # +# OpenBSD/PPC +# +ifneq (,$(filter OpenBSDmacppc,$(OS_ARCH)$(OS_TEST))) +CPPSRCS := xptcinvoke_ppc_openbsd.cpp xptcstubs_ppc_openbsd.cpp +ASFILES := xptcinvoke_asm_ppc_openbsd.s xptcstubs_asm_ppc_openbsd.s +endif + +# # Darwin/PPC # ifeq ($(OS_ARCH),Darwin) @@ -321,6 +335,20 @@ endif endif +endif +# +# OpenBSD/SPARC +# +ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc) +CPPSRCS := xptcinvoke_sparc_netbsd.cpp xptcstubs_sparc_netbsd.cpp +ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s +endif +# +# OpenBSD/SPARC64 +# +ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc64) +CPPSRCS := xptcinvoke_sparc64_openbsd.cpp xptcstubs_sparc64_openbsd.cpp +ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparcv9_solaris.s endif ###################################################################### Index: xpcom/sample/Makefile.in =================================================================== RCS file: /cvsroot/mozilla/xpcom/sample/Makefile.in,v retrieving revision 1.33 diff -u -r1.33 Makefile.in --- xpcom/sample/Makefile.in 13 Jul 2003 22:28:50 -0000 1.33 +++ xpcom/sample/Makefile.in 11 Feb 2004 18:58:41 -0000 @@ -53,7 +53,7 @@ TESTCPPSRCS = nsTestSample.cpp -CPPSRCS += $(TESTCPPSRCS) +#CPPSRCS += $(TESTCPPSRCS) SIMPLE_PROGRAMS = $(TESTCPPSRCS:.cpp=$(BIN_SUFFIX)) Index: extensions/typeaheadfind/src/nsTypeAheadFind.cpp =================================================================== RCS file: /cvsroot/mozilla/extensions/typeaheadfind/src/nsTypeAheadFind.cpp,v retrieving revision 1.77 diff -u -r1.77 nsTypeAheadFind.cpp --- extensions/typeaheadfind/src/nsTypeAheadFind.cpp 19 Nov 2003 01:20:47 -0000 1.77 +++ extensions/typeaheadfind/src/nsTypeAheadFind.cpp 12 Feb 2004 23:21:28 -0000 @@ -616,7 +616,7 @@ // by waiting for the first keystroke, we still get the startup time benefits. mIsSoundInitialized = PR_TRUE; mSoundInterface = do_CreateInstance("@mozilla.org/sound;1"); - if (mSoundInterface) { + if (mSoundInterface && !mNotFoundSoundURL.Equals(NS_LITERAL_CSTRING("beep"))) { mSoundInterface->Init(); } }