rpms/thunderbird/devel firefox-1.5-nopangoxft.patch, NONE, 1.1 firefox-1.5-pango-mathml.patch, NONE, 1.1 thunderbird-1.5-visibility.patch, NONE, 1.1 thunderbird-1.5-pango-start.patch, 1.1, 1.2 thunderbird.sh.in, 1.5, 1.6 thunderbird.spec, 1.77, 1.78 firefox-nopangoxft.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Sep 5 08:45:52 UTC 2006


Author: caillon

Update of /cvs/dist/rpms/thunderbird/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv18508

Modified Files:
	thunderbird-1.5-pango-start.patch thunderbird.sh.in 
	thunderbird.spec 
Added Files:
	firefox-1.5-nopangoxft.patch firefox-1.5-pango-mathml.patch 
	thunderbird-1.5-visibility.patch 
Removed Files:
	firefox-nopangoxft.patch 
Log Message:
* Tue Sep  5 2006 Christopher Aillon <caillon at redhat.com> - 1.5.0.5-5
- Update nopangoxft.patch
- Fix rendering of MathML thanks to Behdad Esfahbod.
- Update start page text to reflect the MathML fixes.
- Enable pango by default on all locales
- Build using -rpath
- Re-enable GCC visibility


firefox-1.5-nopangoxft.patch:
 mozilla-decoder.cpp |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

--- NEW FILE firefox-1.5-nopangoxft.patch ---
--- mozilla/gfx/src/gtk/mozilla-decoder.cpp.noxft	2004-11-07 18:59:23.000000000 -0500
+++ mozilla/gfx/src/gtk/mozilla-decoder.cpp	2006-08-06 18:24:37.000000000 -0400
@@ -40,10 +40,9 @@
 #define PANGO_ENABLE_ENGINE
 
 #include "mozilla-decoder.h"
-#include <pango/pangoxft.h>
 #include <pango/pangofc-fontmap.h>
 #include <pango/pangofc-font.h>
-#include <gdk/gdkx.h>
+#include <gdk/gdkpango.h>
 
 #include "nsString.h"
 #include "nsIPersistentProperties2.h"
@@ -145,6 +144,13 @@ mozilla_decoders_init(void)
     if (initialized)
         return 0;
 
+    PangoContext* context = gdk_pango_context_get ();
+    PangoFontMap* fontmap = pango_context_get_font_map (context);
+    g_object_unref (context);
+    
+    if (!PANGO_IS_FC_FONT_MAP (fontmap))
+        return -1;
+
     encoder_hash = g_hash_table_new(g_str_hash, g_str_equal);
     cmap_hash = g_hash_table_new(g_str_hash, g_str_equal);
     wide_hash = g_hash_table_new(g_str_hash, g_str_equal);
@@ -208,7 +214,7 @@ mozilla_decoders_init(void)
         }
     }
 
-    pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(pango_xft_get_font_map(GDK_DISPLAY(),gdk_x11_get_default_screen())),
+    pango_fc_font_map_add_decoder_find_func(PANGO_FC_FONT_MAP(fontmap),
                                             mozilla_find_decoder,
                                             NULL,
                                             NULL);

firefox-1.5-pango-mathml.patch:
 nsFontMetricsPango.cpp |   21 +++++++++------------
 1 files changed, 9 insertions(+), 12 deletions(-)

--- NEW FILE firefox-1.5-pango-mathml.patch ---
--- mozilla/gfx/src/gtk/nsFontMetricsPango.cpp.mathml	2006-02-23 16:01:42.000000000 -0500
+++ mozilla/gfx/src/gtk/nsFontMetricsPango.cpp	2006-08-22 20:06:40.000000000 -0400
@@ -829,30 +829,27 @@ nsFontMetricsPango::GetBoundingMetrics(c
         goto loser;
     }
 
-    pango_layout_set_text(layout, text, strlen(text));
+    pango_layout_set_text(layout, text, -1);
     FixupSpaceWidths(layout, text);
 
-    // Get the logical extents
     PangoLayoutLine *line;
     if (pango_layout_get_line_count(layout) != 1) {
         printf("Warning: more than one line!\n");
     }
     line = pango_layout_get_line(layout, 0);
 
-    // Get the ink extents
-    PangoRectangle rect;
-    pango_layout_line_get_extents(line, NULL, &rect);
+    // Get the ink and logical extents
+    PangoRectangle ink, logical;
+    pango_layout_line_get_extents(line, &ink, &logical);
 
     float P2T;
     P2T = mDeviceContext->DevUnitsToAppUnits();
 
-    aBoundingMetrics.leftBearing =
-        NSToCoordRound(rect.x * P2T / PANGO_SCALE);
-    aBoundingMetrics.rightBearing =
-        NSToCoordRound(rect.width * P2T / PANGO_SCALE);
-    aBoundingMetrics.width = NSToCoordRound((rect.x + rect.width) * P2T / PANGO_SCALE);
-    aBoundingMetrics.ascent = NSToCoordRound(rect.y * P2T / PANGO_SCALE);
-    aBoundingMetrics.descent = NSToCoordRound(rect.height * P2T / PANGO_SCALE);
+    aBoundingMetrics.leftBearing  = NSToCoordRound(PANGO_LBEARING(ink) * P2T / PANGO_SCALE);
+    aBoundingMetrics.rightBearing = NSToCoordRound(PANGO_RBEARING(ink) * P2T / PANGO_SCALE);
+    aBoundingMetrics.ascent       = NSToCoordRound(PANGO_ASCENT(ink)   * P2T / PANGO_SCALE);
+    aBoundingMetrics.descent      = NSToCoordRound(PANGO_DESCENT(ink)  * P2T / PANGO_SCALE);
+    aBoundingMetrics.width        = NSToCoordRound(logical.width       * P2T / PANGO_SCALE);
 
  loser:
     g_free(text);

thunderbird-1.5-visibility.patch:
 config/system-headers            |   12 +++
 configure                        |  127 ++++++++++++++++++++++++++++-----------
 configure.in                     |  111 ++++++++++++++++++++++++----------
 js/src/jstypes.h                 |    2 
 modules/libreg/include/NSReg.h   |    2 
 modules/oji/src/nsJVMManager.cpp |    2 
 modules/zlib/src/mozzconf.h      |    2 
 xpcom/base/nscore.h              |    2 
 8 files changed, 190 insertions(+), 70 deletions(-)

--- NEW FILE thunderbird-1.5-visibility.patch ---
Mostly the same as firefox-1.5-visibility.patch with the addition of lber.h

--- mozilla/config/system-headers.visibility	2005-06-17 17:03:42.000000000 -0400
+++ mozilla/config/system-headers	2006-09-05 00:03:12.000000000 -0400
@@ -66,6 +66,7 @@
 Button.h
 byteswap.h
 cairo.h
+cairo-xlib.h
 callconv.h
 Carbon/Carbon.h
 CarbonEvents.h
@@ -176,7 +177,7 @@
 freetype/freetype.h
 freetype/ftcache.h
 freetype/ftglyph.h
-freetype/ftoutlin.h
+freetype/ftoutln.h
 freetype/ttnameid.h
 freetype/tttables.h
 fribidi/fribidi.h
@@ -192,6 +193,8 @@
 gdk/gdkregion.h
 gdk/gdkwindow.h
 gdk/gdkx.h
+gdk/gdkpango.h
+gdk/gdkalias.h
 gdk-pixbuf/gdk-pixbuf.h
 Gestalt.h
 getopt.h
@@ -212,7 +215,11 @@
 gtk/gtkcontainer.h
 gtk/gtkdialog.h
 gtk/gtkentry.h
+gtk/gtkfilechooser.h
+gtk/gtkfixed.h
 gtk/gtk.h
+gtk/gtkiconfactory.h
+gtk/gtkimage.h
 gtk/gtkimmulticontext.h
 gtk/gtkinvisible.h
 gtk/gtkmain.h
@@ -279,6 +286,7 @@
 LaunchServices.h
 LBroadcaster.h
 LButton.h
+lber.h
 lcache.h
 LCaption.h
 LCheckBox.h
@@ -500,6 +508,7 @@
 PLStringFuncs.h
 PMApplication.h
 pmddim.h
+png.h
 poll.h
 Polygon.h
 portable.h
@@ -874,6 +883,7 @@
 X11/Xutil.h
 xpt_struct.h
 xpt_xdr.h
+zlib.h
 zmouse.h
 sslt.h
 smime.h
--- mozilla/xpcom/base/nscore.h.visibility	2006-02-21 22:19:38.000000000 -0500
+++ mozilla/xpcom/base/nscore.h	2006-09-04 23:26:15.000000000 -0400
@@ -105,7 +105,7 @@
 #define NS_VISIBILITY_HIDDEN
 #endif
 
-#if defined(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE) && defined(HAVE_VISIBILITY_PRAGMA)
+#if defined(HAVE_VISIBILITY_ATTRIBUTE)
 #define NS_VISIBILITY_DEFAULT __attribute__ ((visibility ("default")))
 #else
 #define NS_VISIBILITY_DEFAULT
--- mozilla/configure.visibility	2006-09-04 23:26:15.000000000 -0400
+++ mozilla/configure	2006-09-04 23:26:15.000000000 -0400
@@ -5331,9 +5331,9 @@
 OS_CONFIG="${OS_TARGET}${OS_RELEASE}"
 
 if test "$GNU_CC"; then
-    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-    DSO_LDOPTS='-shared -Wl,-h -Wl,$@'
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
+    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
+    DSO_LDOPTS='-shared'
     DSO_CFLAGS=''
     DSO_PIC_CFLAGS='-fPIC'
     _MOZ_RTTI_FLAGS_ON=${_COMPILER_PREFIX}-frtti
@@ -5357,9 +5357,9 @@
     _DEFINES_CFLAGS='-include $(DEPTH)/mozilla-config.h -DMOZILLA_CLIENT'
     _USE_CPP_INCLUDE_FLAG=1
 else
-    MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    DSO_LDOPTS='-shared -h $@'
+    MKSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@'
+    MKCSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@'
+    DSO_LDOPTS='-shared'
     DSO_CFLAGS=''
     DSO_PIC_CFLAGS='-KPIC'
     _DEFINES_CFLAGS='$(ACDEFINES) -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT'
@@ -5703,9 +5703,9 @@
 
 *-beos*)
     no_x=yes
-    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@'
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
     _PLATFORM_DEFAULT_TOOLKIT="beos"
-    DSO_LDOPTS='-nostart -Wl,-h -Wl,$@'
+    DSO_LDOPTS='-nostart'
     TK_LIBS='-lbe -lroot'
     LIBS="$LIBS -lbe"
     if test "$COMPILE_ENVIRONMENT"; then
@@ -5871,16 +5871,16 @@
 *-hpux*)
     DLL_SUFFIX=".sl"
     if test ! "$GNU_CC"; then
-    	DSO_LDOPTS='-b -Wl,+s -L$(DIST)/bin'
+    	DSO_LDOPTS='-b -Wl,+s'
     	DSO_CFLAGS=""
     	DSO_PIC_CFLAGS="+Z"
-    	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@'
+    	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -L$(DIST)/bin -o $@'
     	MKCSHLIB='$(LD) -b +s -L$(DIST)/bin -o $@'
         CXXFLAGS="$CXXFLAGS -Wc,-ansi_for_scope,on"
     else
-    	DSO_LDOPTS='-b -E +s -L$(DIST)/bin -L$(DIST)/lib'
-    	MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    	MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
+        DSO_LDOPTS='-b -E +s'
+        MKSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@'
+        MKCSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@'
     fi
     MOZ_POST_PROGRAM_COMMAND='chatr +s enable'
     cat >> confdefs.h <<\EOF
@@ -5895,11 +5895,16 @@
 EOF
 
     DSO_LDOPTS='-elf -shared'
+
     if test "$GNU_CC"; then
+       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+       MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
        MKSHLIB_FORCE_ALL='-Wl,-all'
        MKSHLIB_UNFORCE_ALL='-Wl,-none'
        CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS"
     else
+       MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
+       MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
        MKSHLIB_FORCE_ALL='-all'
        MKSHLIB_UNFORCE_ALL='-none'
     fi
@@ -6338,7 +6343,7 @@
     if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then
         DLL_SUFFIX=".so"
         DSO_PIC_CFLAGS='-fPIC -DPIC'
-        DSO_LDOPTS='-shared -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX)'
+        DSO_LDOPTS='-shared'
 	BIN_FLAGS='-Wl,--export-dynamic'
     else
     	DSO_PIC_CFLAGS='-fPIC -DPIC'
@@ -6351,6 +6356,8 @@
     if test "$LIBRUNPATH"; then
 	DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
     fi
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@'
+    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@'
     ;;
 
 *-nto*) 
@@ -6571,17 +6578,19 @@
 
 alpha*-*-osf*)
     if test "$GNU_CC"; then
-	DSO_LDOPTS='-shared -Wl,-soname -Wl,$@'
+      MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@'
+      MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@'
+
     else
 	MOZ_DEBUG_FLAGS='-g'
 	ASFLAGS='-I$(topsrcdir)/xpcom/reflect/xptcall/public -g'
 	CFLAGS="$CFLAGS -ieee"
 	CXXFLAGS="$CXXFLAGS "'-noexceptions -ieee  -ptr $(DIST)/cxx_repository'
-	DSO_LDOPTS='-shared -msym -expect_unresolved \* -soname $@ -update_registry $(DIST)/so_locations'
+	DSO_LDOPTS='-shared -msym -expect_unresolved \* -update_registry $(DIST)/so_locations'
 	DSO_CFLAGS=
 	DSO_PIC_CFLAGS=
-	MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+	MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@'
+	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@'
 	MKSHLIB_FORCE_ALL='-all'
 	MKSHLIB_UNFORCE_ALL='-none'
 		cat >> confdefs.h <<\EOF
@@ -6634,7 +6643,7 @@
 
     CXXFLAGS="$CXXFLAGS -I/usr/include/CC"
     if test ! "$GNU_CC"; then
-       DSO_LDOPTS='-G -h $@'
+       DSO_LDOPTS='-G'
     fi
     ;;
 
@@ -6655,11 +6664,11 @@
        CXXFLAGS="$CXXFLAGS -xbuiltin=%all -features=tmplife"
        LDFLAGS="-xildoff -zlazyload -zcombreloc $LDFLAGS"
        MOZ_OPTIMIZE_FLAGS="-xO4"
-       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -o $@'
-       MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -o $@'
+       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -h $@ -o $@'
+       KCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -h $@ -o $@'
        MKSHLIB_FORCE_ALL='-Qoption ld -z,allextract'
        MKSHLIB_UNFORCE_ALL=''
-       DSO_LDOPTS='-G -Qoption ld -z,muldefs -h $@'
+       DSO_LDOPTS='-G -Qoption ld -z,muldefs'
        AR_LIST="$AR t"
        AR_EXTRACT="$AR x"
        AR_DELETE="$AR d"
@@ -6717,7 +6726,7 @@
 
     else
        ASFLAGS="$ASFLAGS -fPIC"
-       DSO_LDOPTS='-G -h $@'
+       DSO_LDOPTS='-G'
        _WARNINGS_CFLAGS=''
        _WARNINGS_CXXFLAGS=''
        if test "$OS_RELEASE" = "5.3"; then
@@ -7708,13 +7717,39 @@
 fi
 
 echo "$ac_t""$ac_cv_visibility_hidden" 1>&6
-   if test "$ac_cv_visibility_hidden" = "yes"; then
-      cat >> confdefs.h <<\EOF
+  if test "$ac_cv_visibility_hidden" = "yes"; then
+    cat >> confdefs.h <<\EOF
 #define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1
 EOF
 
+
+    echo $ac_n "checking for visibility(default) attribute""... $ac_c" 1>&6
+echo "configure:7728: checking for visibility(default) attribute" >&5
+if eval "test \"`echo '$''{'ac_cv_visibility_default'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+                    int foo __attribute__ ((visibility ("default"))) = 1;
+EOF
+                    ac_cv_visibility_default=no
+                    if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+                      if ! grep '\.hidden.*foo' conftest.s >/dev/null; then
+                        ac_cv_visibility_default=yes
+                      fi
+                    fi
+                    rm -f conftest.cs
+                   
+fi
+
+echo "$ac_t""$ac_cv_visibility_default" 1>&6
+    if test "$ac_cv_visibility_default" = "yes"; then
+      cat >> confdefs.h <<\EOF
+#define HAVE_VISIBILITY_ATTRIBUTE 1
+EOF
+
+
       echo $ac_n "checking for visibility pragma support""... $ac_c" 1>&6
-echo "configure:7710: checking for visibility pragma support" >&5
+echo "configure:7753: checking for visibility pragma support" >&5
 if eval "test \"`echo '$''{'ac_cv_visibility_pragma'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -7738,15 +7773,41 @@
 
 echo "$ac_t""$ac_cv_visibility_pragma" 1>&6
       if test "$ac_cv_visibility_pragma" = "yes"; then
-        cat >> confdefs.h <<\EOF
-#define HAVE_VISIBILITY_PRAGMA 1
+        echo $ac_n "checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)""... $ac_c" 1>&6
+echo "configure:7778: checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)" >&5
+if eval "test \"`echo '$''{'ac_cv_have_visibility_builtin_bug'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+#pragma GCC visibility push(hidden)
+#pragma GCC visibility push(default)
+#include <string.h>
+#pragma GCC visibility pop
+
+__attribute__ ((visibility ("default"))) void Func() {
+  char c[100];
+  memset(c, 0, sizeof(c));
+}
 EOF
+                       ac_cv_have_visibility_builtin_bug=no
+                       if ! ${CC-cc} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -o conftest.so conftest.c >/dev/null 2>&1; then
+                         ac_cv_have_visibility_builtin_bug=yes
+                       fi
+                       rm -f conftest.{c,so}
+                       
+fi
 
-        VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
-        WRAP_SYSTEM_INCLUDES=1
-      fi
-   fi
-fi     # GNU_CC
+echo "$ac_t""$ac_cv_have_visibility_builtin_bug" 1>&6
+        if test "$ac_cv_have_visibility_builtin_bug" = "no"; then
+          VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
+          WRAP_SYSTEM_INCLUDES=1
+        else
+          VISIBILITY_FLAGS='-fvisibility=hidden'
+        fi # have visibility pragma bug
+      fi   # have visibility pragma
+    fi     # have visibility(default) attribute
+  fi       # have visibility(hidden) attribute
+fi         # GNU_CC
 
 
 
--- mozilla/configure.in.visibility	2006-09-04 23:26:15.000000000 -0400
+++ mozilla/configure.in	2006-09-04 23:26:15.000000000 -0400
@@ -1103,9 +1103,9 @@
 dnl GNU specific defaults
 dnl ========================================================
 if test "$GNU_CC"; then
-    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-    DSO_LDOPTS='-shared -Wl,-h -Wl,$@'
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
+    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
+    DSO_LDOPTS='-shared'
     DSO_CFLAGS=''
     DSO_PIC_CFLAGS='-fPIC'
     _MOZ_RTTI_FLAGS_ON=${_COMPILER_PREFIX}-frtti
@@ -1130,9 +1130,9 @@
     _DEFINES_CFLAGS='-include $(DEPTH)/mozilla-config.h -DMOZILLA_CLIENT'
     _USE_CPP_INCLUDE_FLAG=1
 else
-    MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    DSO_LDOPTS='-shared -h $@'
+    MKSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@'
+    MKCSHLIB='$(LD) $(DSO_LDOPTS) -h $@ -o $@'
+    DSO_LDOPTS='-shared'
     DSO_CFLAGS=''
     DSO_PIC_CFLAGS='-KPIC'
     _DEFINES_CFLAGS='$(ACDEFINES) -D_MOZILLA_CONFIG_H_ -DMOZILLA_CLIENT'
@@ -1360,9 +1360,9 @@
 
 *-beos*)
     no_x=yes
-    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@'
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -Wl,-h,$@ -o $@'
     _PLATFORM_DEFAULT_TOOLKIT="beos"
-    DSO_LDOPTS='-nostart -Wl,-h -Wl,$@'
+    DSO_LDOPTS='-nostart'
     TK_LIBS='-lbe -lroot'
     LIBS="$LIBS -lbe"
     if test "$COMPILE_ENVIRONMENT"; then
@@ -1442,16 +1442,16 @@
 *-hpux*)
     DLL_SUFFIX=".sl"
     if test ! "$GNU_CC"; then
-    	DSO_LDOPTS='-b -Wl,+s -L$(DIST)/bin'
+    	DSO_LDOPTS='-b -Wl,+s'
     	DSO_CFLAGS=""
     	DSO_PIC_CFLAGS="+Z"
-    	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -o $@'
+    	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_LDOPTS) -L$(DIST)/bin -o $@'
     	MKCSHLIB='$(LD) -b +s -L$(DIST)/bin -o $@'
         CXXFLAGS="$CXXFLAGS -Wc,-ansi_for_scope,on"
     else
-    	DSO_LDOPTS='-b -E +s -L$(DIST)/bin -L$(DIST)/lib'
-    	MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
-    	MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
+        DSO_LDOPTS='-b -E +s'
+        MKSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@'
+        MKCSHLIB='$(LD) $(DSO_LDOPTS) -L$(DIST)/bin -L$(DIST)/lib -o $@'
     fi
     MOZ_POST_PROGRAM_COMMAND='chatr +s enable'
     AC_DEFINE(NSCAP_DISABLE_DEBUG_PTR_TYPES)
@@ -1460,11 +1460,16 @@
 *-irix5*)
     AC_DEFINE(IRIX)
     DSO_LDOPTS='-elf -shared'
+
     if test "$GNU_CC"; then
+       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+       MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
        MKSHLIB_FORCE_ALL='-Wl,-all'
        MKSHLIB_UNFORCE_ALL='-Wl,-none'
        CXXFLAGS="$CXXFLAGS -D_LANGUAGE_C_PLUS_PLUS"
     else
+       MKSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
+       MKCSHLIB='$(LD) $(DSO_LDOPTS) -o $@'
        MKSHLIB_FORCE_ALL='-all'
        MKSHLIB_UNFORCE_ALL='-none'
     fi
@@ -1818,7 +1823,7 @@
     if $CC -E - -dM </dev/null | grep __ELF__ >/dev/null; then
         DLL_SUFFIX=".so"
         DSO_PIC_CFLAGS='-fPIC -DPIC'
-        DSO_LDOPTS='-shared -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX)'
+        DSO_LDOPTS='-shared'
 	BIN_FLAGS='-Wl,--export-dynamic'
     else
     	DSO_PIC_CFLAGS='-fPIC -DPIC'
@@ -1831,6 +1836,8 @@
     if test "$LIBRUNPATH"; then
 	DSO_LDOPTS="-Wl,-R$LIBRUNPATH $DSO_LDOPTS"
     fi
+    MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@'
+    MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,lib$(LIBRARY_NAME)$(DLL_SUFFIX) -o $@'
     ;;
 
 *-nto*) 
@@ -1994,17 +2001,19 @@
 
 alpha*-*-osf*)
     if test "$GNU_CC"; then
-	DSO_LDOPTS='-shared -Wl,-soname -Wl,$@'
+      MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@'
+      MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -Wl,-soname,$@ -o $@'
+
     else
 	MOZ_DEBUG_FLAGS='-g'
 	ASFLAGS='-I$(topsrcdir)/xpcom/reflect/xptcall/public -g'
 	CFLAGS="$CFLAGS -ieee"
 	CXXFLAGS="$CXXFLAGS "'-noexceptions -ieee  -ptr $(DIST)/cxx_repository'
-	DSO_LDOPTS='-shared -msym -expect_unresolved \* -soname $@ -update_registry $(DIST)/so_locations'
+	DSO_LDOPTS='-shared -msym -expect_unresolved \* -update_registry $(DIST)/so_locations'
 	DSO_CFLAGS=
 	DSO_PIC_CFLAGS=
-	MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
-	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -o $@'
+	MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@'
+	MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_CFLAGS) $(DSO_LDOPTS) -soname $@ -o $@'
 	MKSHLIB_FORCE_ALL='-all'
 	MKSHLIB_UNFORCE_ALL='-none'
 	dnl Might fix the libxpcom.so breakage on this platform as well....
@@ -2036,7 +2045,7 @@
     AC_DEFINE(NSCAP_DISABLE_DEBUG_PTR_TYPES)
     CXXFLAGS="$CXXFLAGS -I/usr/include/CC"
     if test ! "$GNU_CC"; then
-       DSO_LDOPTS='-G -h $@'
+       DSO_LDOPTS='-G'
     fi
     ;;
 
@@ -2052,11 +2061,11 @@
        CXXFLAGS="$CXXFLAGS -xbuiltin=%all -features=tmplife"
        LDFLAGS="-xildoff -zlazyload -zcombreloc $LDFLAGS"
        MOZ_OPTIMIZE_FLAGS="-xO4"
-       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -o $@'
-       MKCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -o $@'
+       MKSHLIB='$(CXX) $(CXXFLAGS) $(DSO_PIC_FLAGS) $(DSO_LDOPTS) -h $@ -o $@'
+       KCSHLIB='$(CC) $(CFLAGS) $(DSO_PIC_FLAGS) -G -Wl,-z -Wl,muldefs -h $@ -o $@'
        MKSHLIB_FORCE_ALL='-Qoption ld -z,allextract'
        MKSHLIB_UNFORCE_ALL=''
-       DSO_LDOPTS='-G -Qoption ld -z,muldefs -h $@'
+       DSO_LDOPTS='-G -Qoption ld -z,muldefs'
        AR_LIST="$AR t"
        AR_EXTRACT="$AR x"
        AR_DELETE="$AR d"
@@ -2086,7 +2095,7 @@
         AC_LANG_RESTORE
     else
        ASFLAGS="$ASFLAGS -fPIC"
-       DSO_LDOPTS='-G -h $@'
+       DSO_LDOPTS='-G'
        _WARNINGS_CFLAGS=''
        _WARNINGS_CXXFLAGS=''
        if test "$OS_RELEASE" = "5.3"; then
@@ -2444,8 +2453,25 @@
                   fi
                   rm -f conftest.[cs]
                  ])
-   if test "$ac_cv_visibility_hidden" = "yes"; then
-      AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+  if test "$ac_cv_visibility_hidden" = "yes"; then
+    AC_DEFINE(HAVE_VISIBILITY_HIDDEN_ATTRIBUTE)
+
+    AC_CACHE_CHECK(for visibility(default) attribute,
+                   ac_cv_visibility_default,
+                   [cat > conftest.c <<EOF
+                    int foo __attribute__ ((visibility ("default"))) = 1;
+EOF
+                    ac_cv_visibility_default=no
+                    if ${CC-cc} -fvisibility=hidden -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+                      if ! grep '\.hidden.*foo' conftest.s >/dev/null; then
+                        ac_cv_visibility_default=yes
+                      fi
+                    fi
+                    rm -f conftest.[cs]
+                   ])
+    if test "$ac_cv_visibility_default" = "yes"; then
+      AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE)
+
       AC_CACHE_CHECK(for visibility pragma support,
                      ac_cv_visibility_pragma,
                      [cat > conftest.c <<EOF
@@ -2465,12 +2491,35 @@
                       rm -f conftest.[cs]
                     ])
       if test "$ac_cv_visibility_pragma" = "yes"; then
-        AC_DEFINE(HAVE_VISIBILITY_PRAGMA)
-        VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
-        WRAP_SYSTEM_INCLUDES=1
-      fi
-   fi
-fi     # GNU_CC
+        AC_CACHE_CHECK(For x86_64 gcc visibility bug with builtins (GCC bug 20297),
+                       ac_cv_have_visibility_builtin_bug,
+                       [cat > conftest.c <<EOF
+#pragma GCC visibility push(hidden)
+#pragma GCC visibility push(default)
+#include <string.h>
+#pragma GCC visibility pop
+
+__attribute__ ((visibility ("default"))) void Func() {
+  char c[[100]];
+  memset(c, 0, sizeof(c));
+}
+EOF
+                       ac_cv_have_visibility_builtin_bug=no
+                       if ! ${CC-cc} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -o conftest.so conftest.c >/dev/null 2>&1; then
+                         ac_cv_have_visibility_builtin_bug=yes
+                       fi
+                       rm -f conftest.{c,so}
+                       ])
+        if test "$ac_cv_have_visibility_builtin_bug" = "no"; then
+          VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h'
+          WRAP_SYSTEM_INCLUDES=1
+        else
+          VISIBILITY_FLAGS='-fvisibility=hidden'
+        fi # have visibility pragma bug
+      fi   # have visibility pragma
+    fi     # have visibility(default) attribute
+  fi       # have visibility(hidden) attribute
+fi         # GNU_CC
 
 AC_SUBST(WRAP_SYSTEM_INCLUDES)
 AC_SUBST(VISIBILITY_FLAGS)
--- mozilla/js/src/jstypes.h.visibility	2005-09-18 00:35:05.000000000 -0400
+++ mozilla/js/src/jstypes.h	2006-09-04 23:26:15.000000000 -0400
@@ -109,7 +109,7 @@
 
 #else /* Unix */
 
-#ifdef HAVE_VISIBILITY_PRAGMA
+#ifdef HAVE_VISIBILITY_ATTRIBUTE
 #define JS_EXTERNAL_VIS __attribute__((visibility ("default")))
 #else
 #define JS_EXTERNAL_VIS
--- mozilla/modules/zlib/src/mozzconf.h.visibility	2005-08-04 15:14:14.000000000 -0400
+++ mozilla/modules/zlib/src/mozzconf.h	2006-09-04 23:26:15.000000000 -0400
@@ -41,7 +41,7 @@
 #undef ZLIB_DLL
 #endif
 
-#ifdef HAVE_VISIBILITY_PRAGMA
+#ifdef HAVE_VISIBILITY_ATTRIBUTE
 #define ZEXTERN __attribute__((visibility ("default"))) extern
 #endif
 
--- mozilla/modules/oji/src/nsJVMManager.cpp.visibility	2005-08-22 10:09:59.000000000 -0400
+++ mozilla/modules/oji/src/nsJVMManager.cpp	2006-09-04 23:26:15.000000000 -0400
@@ -845,7 +845,7 @@
     return fStatus;
 }
 
-extern "C" nsresult JSJ_RegisterLiveConnectFactory(void);
+extern "C" NS_VISIBILITY_DEFAULT nsresult JSJ_RegisterLiveConnectFactory(void);
 
 PRBool
 nsJVMManager::MaybeStartupLiveConnect(void)
--- mozilla/modules/libreg/include/NSReg.h.visibility	2004-12-15 00:52:38.000000000 -0500
+++ mozilla/modules/libreg/include/NSReg.h	2006-09-04 23:26:15.000000000 -0400
@@ -129,7 +129,7 @@
   #endif
 #elif defined XP_MAC
   #define VR_INTERFACE(__x)  __declspec(export) __x
-#elif defined (HAVE_VISIBILITY_PRAGMA)
+#elif defined (HAVE_VISIBILITY_ATTRIBUTE)
   #define VR_INTERFACE(type)     __attribute__ ((visibility ("default"))) type
 #else
   #define VR_INTERFACE(type)     type

thunderbird-1.5-pango-start.patch:
 start.xhtml |    4 ++++
 1 files changed, 4 insertions(+)

Index: thunderbird-1.5-pango-start.patch
===================================================================
RCS file: /cvs/dist/rpms/thunderbird/devel/thunderbird-1.5-pango-start.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- thunderbird-1.5-pango-start.patch	13 Mar 2006 16:48:21 -0000	1.1
+++ thunderbird-1.5-pango-start.patch	5 Sep 2006 08:45:49 -0000	1.2
@@ -10,7 +10,7 @@
  <p>&startpage.pageInfo; <a href="&startpage.pageURL;">&startpage.page;</a>.</p>
  
 +<p>
-+In order to better support certain scripts (such as Indic and some CJK scripts), Fedora builds its Thunderbird, with permission from the Mozilla Corporation, with the Pango system as its text renderer.  This change is known to break rendering of MathML, and may negatively impact performance on some e-mails.  To disable the use of Pango, set <tt>MOZ_DISABLE_PANGO=1</tt> in your environment before launching Thunderbird.
++In order to better support certain scripts (such as Indic and some CJK scripts), Fedora builds its Thunderbird, with permission from the Mozilla Corporation, with the Pango system as its text renderer.  This may negatively impact performance on some e-mails.  To disable the use of Pango, set <tt>MOZ_DISABLE_PANGO=1</tt> in your environment before launching Thunderbird.
 +</p>
 +
  <!-- Localization-specific information, i.e. how to download a dictionary. -->


Index: thunderbird.sh.in
===================================================================
RCS file: /cvs/dist/rpms/thunderbird/devel/thunderbird.sh.in,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- thunderbird.sh.in	10 Mar 2006 07:00:58 -0000	1.5
+++ thunderbird.sh.in	5 Sep 2006 08:45:49 -0000	1.6
@@ -25,16 +25,6 @@
 #MOZ_DISABLE_PANGO=1
 #export MOZ_DISABLE_PANGO
 
-# For now, in order to ship with firefox trademarks, we need to default to
-# disable pango on non-indic locales.  Use MOZ_ENABLE_PANGO=1 to force pango.
-tmplang=${LC_CTYPE:-${LANG:-"en_US.UTF-8"}}
-if ! echo $tmplang | grep "^..[_-]IN" > /dev/null; then
-   if [ -z "$MOZ_ENABLE_PANGO" ]; then
-     MOZ_DISABLE_PANGO=1
-     export MOZ_DISABLE_PANGO
-   fi
-fi
-
 
 function check_running() {
     $MOZ_CLIENT_PROGRAM 'ping()' 2>/dev/null >/dev/null


Index: thunderbird.spec
===================================================================
RCS file: /cvs/dist/rpms/thunderbird/devel/thunderbird.spec,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -r1.77 -r1.78
--- thunderbird.spec	3 Aug 2006 18:53:22 -0000	1.77
+++ thunderbird.spec	5 Sep 2006 08:45:49 -0000	1.78
@@ -8,7 +8,7 @@
 Summary:	Mozilla Thunderbird mail/newsgroup client
 Name:		thunderbird
 Version:	1.5.0.5
-Release:	4
+Release:	5
 Epoch:		0
 URL:		http://www.mozilla.org/projects/thunderbird/
 License:	MPL
@@ -32,7 +32,7 @@
 # Build patches
 Patch2:         firefox-1.0-prdtoa.patch
 Patch4:         firefox-1.5-with-system-nss.patch
-Patch5:         firefox-1.1-visibility.patch
+Patch5:         thunderbird-1.5-visibility.patch
 Patch6:         firefox-1.1-nss-system-nspr.patch
 Patch7:         thunderbird-mimeeobj-externalc.patch
 
@@ -47,7 +47,8 @@
 Patch42:        firefox-1.1-uriloader.patch
 
 # font system fixes
-Patch81:        firefox-nopangoxft.patch
+Patch81:        firefox-1.5-nopangoxft.patch
+Patch82:        firefox-1.5-pango-mathml.patch
 
 # patches from upstream (Patch100+)
 Patch102:       thunderbird-1.5-pango-start.patch
@@ -86,13 +87,7 @@
 
 %patch2 -p0
 %patch4 -p1
-
-# Pragma visibility is broken on most platforms for some reason.
-# It works on i386 so leave it alone there.  Disable elsewhere.
-# See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20297
-%ifnarch i386
-%patch5  -p0
-%endif
+%patch5 -p1 -b .visibility
 
 %patch6 -p1
 %patch7 -p1
@@ -119,7 +114,8 @@
 export CXXFLAGS="$CFLAGS"
 export BUILD_OFFICIAL=1
 export MOZILLA_OFFICIAL=1
-time make -f client.mk build_all
+export LDFLAGS="-Wl,-rpath,%{tbdir}"
+make -f client.mk build
 
 #===============================================================================
 
@@ -214,6 +210,14 @@
 #===============================================================================
 
 %changelog
+* Tue Sep  5 2006 Christopher Aillon <caillon at redhat.com> - 1.5.0.5-5
+- Update nopangoxft.patch
+- Fix rendering of MathML thanks to Behdad Esfahbod.
+- Update start page text to reflect the MathML fixes.
+- Enable pango by default on all locales
+- Build using -rpath
+- Re-enable GCC visibility
+
 * Thu Aug  3 2006 Kai Engert <kengert at redhat.com> - 1.5.0.5-4
 - Fix a build failure in mailnews mime code.
 


--- firefox-nopangoxft.patch DELETED ---




More information about the fedora-cvs-commits mailing list