Title: [111578] trunk
Revision
111578
Author
[email protected]
Date
2012-03-21 11:02:15 -0700 (Wed, 21 Mar 2012)

Log Message

[Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
https://bugs.webkit.org/show_bug.cgi?id=81750

Building WebCore on mac currently creates an archive that is bigger than
4GB. But ranlib fails to create a symbol table for such a big archive,
even on 64bit machines.
Therefore we start using SVGAllInOne.cpp when building debug
on mac. This reduces the size of the archive by about 300MB.

Reviewed by Tor Arne Vestbø.

Source/WebCore:

* Target.pri:

Tools:

* qmake/mkspecs/features/mac/default_pre.prf:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (111577 => 111578)


--- trunk/Source/WebCore/ChangeLog	2012-03-21 17:55:04 UTC (rev 111577)
+++ trunk/Source/WebCore/ChangeLog	2012-03-21 18:02:15 UTC (rev 111578)
@@ -1,3 +1,18 @@
+2012-03-21  Zeno Albisser  <[email protected]>
+
+        [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
+        https://bugs.webkit.org/show_bug.cgi?id=81750
+
+        Building WebCore on mac currently creates an archive that is bigger than
+        4GB. But ranlib fails to create a symbol table for such a big archive,
+        even on 64bit machines.
+        Therefore we start using SVGAllInOne.cpp when building debug
+        on mac. This reduces the size of the archive by about 300MB.
+
+        Reviewed by Tor Arne Vestbø.
+
+        * Target.pri:
+
 2012-03-21  Tommy Widenflycht  <[email protected]>
 
         [chromium] MediaStream API (JSEP): Introducing WebSessionDescription and WebIceCandidate

Modified: trunk/Source/WebCore/Target.pri (111577 => 111578)


--- trunk/Source/WebCore/Target.pri	2012-03-21 17:55:04 UTC (rev 111577)
+++ trunk/Source/WebCore/Target.pri	2012-03-21 18:02:15 UTC (rev 111578)
@@ -3483,160 +3483,165 @@
               rendering/svg/SVGTextMetrics.cpp \
               rendering/svg/SVGTextMetricsBuilder.cpp \
               rendering/svg/SVGTextQuery.cpp \
-              rendering/svg/SVGTextRunRenderingContext.cpp \
-              svg/SVGDocumentExtensions.cpp \
-              svg/SVGImageLoader.cpp \
-              svg/ColorDistance.cpp \
-              svg/SVGAElement.cpp \
-              svg/SVGAltGlyphDefElement.cpp \
-              svg/SVGAltGlyphElement.cpp \
-              svg/SVGAltGlyphItemElement.cpp \
-              svg/SVGAngle.cpp \
-              svg/SVGAnimateColorElement.cpp \
-              svg/SVGAnimatedAngle.cpp \
-              svg/SVGAnimatedBoolean.cpp \
-              svg/SVGAnimatedColor.cpp \
-              svg/SVGAnimatedInteger.cpp \
-              svg/SVGAnimatedLength.cpp \
-              svg/SVGAnimatedLengthList.cpp \
-              svg/SVGAnimatedNumber.cpp \
-              svg/SVGAnimatedNumberList.cpp \
-              svg/SVGAnimatedNumberOptionalNumber.cpp \
-              svg/SVGAnimatedPath.cpp \
-              svg/SVGAnimatedPointList.cpp \
-              svg/SVGAnimatedPreserveAspectRatio.cpp \
-              svg/SVGAnimatedRect.cpp \
-              svg/SVGAnimatedString.cpp \
-              svg/SVGAnimatedTransformList.cpp \
-              svg/SVGAnimatedType.cpp \
-              svg/SVGAnimateElement.cpp \
-              svg/SVGAnimateMotionElement.cpp \
-              svg/SVGAnimateTransformElement.cpp \
-              svg/SVGAnimationElement.cpp \
-              svg/SVGCircleElement.cpp \
-              svg/SVGClipPathElement.cpp \
-              svg/SVGColor.cpp \
-              svg/SVGComponentTransferFunctionElement.cpp \
-              svg/SVGCursorElement.cpp \
-              svg/SVGDefsElement.cpp \
-              svg/SVGDescElement.cpp \
-              svg/SVGDocument.cpp \
-              svg/SVGElement.cpp \
-              svg/SVGElementInstance.cpp \
-              svg/SVGElementInstanceList.cpp \
-              svg/SVGEllipseElement.cpp \
-              svg/SVGException.cpp \
-              svg/SVGExternalResourcesRequired.cpp \
-              svg/SVGFEBlendElement.cpp \
-              svg/SVGFEColorMatrixElement.cpp \
-              svg/SVGFEComponentTransferElement.cpp \
-              svg/SVGFECompositeElement.cpp \
-              svg/SVGFEConvolveMatrixElement.cpp \
-              svg/SVGFEDiffuseLightingElement.cpp \
-              svg/SVGFEDisplacementMapElement.cpp \
-              svg/SVGFEDistantLightElement.cpp \
-              svg/SVGFEDropShadowElement.cpp \
-              svg/SVGFEFloodElement.cpp \
-              svg/SVGFEFuncAElement.cpp \
-              svg/SVGFEFuncBElement.cpp \
-              svg/SVGFEFuncGElement.cpp \
-              svg/SVGFEFuncRElement.cpp \
-              svg/SVGFEGaussianBlurElement.cpp \
-              svg/SVGFEImageElement.cpp \
-              svg/SVGFELightElement.cpp \
-              svg/SVGFEMergeElement.cpp \
-              svg/SVGFEMergeNodeElement.cpp \
-              svg/SVGFEMorphologyElement.cpp \
-              svg/SVGFEOffsetElement.cpp \
-              svg/SVGFEPointLightElement.cpp \
-              svg/SVGFESpecularLightingElement.cpp \
-              svg/SVGFESpotLightElement.cpp \
-              svg/SVGFETileElement.cpp \
-              svg/SVGFETurbulenceElement.cpp \
-              svg/SVGFilterElement.cpp \
-              svg/SVGFilterPrimitiveStandardAttributes.cpp \
-              svg/SVGFitToViewBox.cpp \
-              svg/SVGFontData.cpp \
-              svg/SVGFontElement.cpp \
-              svg/SVGFontFaceElement.cpp \
-              svg/SVGFontFaceFormatElement.cpp \
-              svg/SVGFontFaceNameElement.cpp \
-              svg/SVGFontFaceSrcElement.cpp \
-              svg/SVGFontFaceUriElement.cpp \
-              svg/SVGForeignObjectElement.cpp \
-              svg/SVGGElement.cpp \
-              svg/SVGGlyphElement.cpp \
-              svg/SVGGlyphRefElement.cpp \
-              svg/SVGGradientElement.cpp \
-              svg/SVGHKernElement.cpp \
-              svg/SVGImageElement.cpp \
-              svg/SVGLangSpace.cpp \
-              svg/SVGLength.cpp \
-              svg/SVGLengthContext.cpp \
-              svg/SVGLengthList.cpp \
-              svg/SVGLinearGradientElement.cpp \
-              svg/SVGLineElement.cpp \
-              svg/SVGLocatable.cpp \
-              svg/SVGMarkerElement.cpp \
-              svg/SVGMaskElement.cpp \
-              svg/SVGMetadataElement.cpp \
-              svg/SVGMissingGlyphElement.cpp \
-              svg/SVGMPathElement.cpp \
-              svg/SVGNumberList.cpp \
-              svg/SVGPaint.cpp \
-              svg/SVGParserUtilities.cpp \
-              svg/SVGPathBlender.cpp \
-              svg/SVGPathBuilder.cpp \
-              svg/SVGPathByteStreamBuilder.cpp \
-              svg/SVGPathByteStreamSource.cpp \
-              svg/SVGPathElement.cpp \
-              svg/SVGPathParser.cpp \
-              svg/SVGPathParserFactory.cpp \
-              svg/SVGPathSegList.cpp \
-              svg/SVGPathSegListBuilder.cpp \
-              svg/SVGPathSegListSource.cpp \
-              svg/SVGPathStringBuilder.cpp \
-              svg/SVGPathStringSource.cpp \
-              svg/SVGPathTraversalStateBuilder.cpp \
-              svg/SVGPatternElement.cpp \
-              svg/SVGPointList.cpp \
-              svg/SVGPolyElement.cpp \
-              svg/SVGPolygonElement.cpp \
-              svg/SVGPolylineElement.cpp \
-              svg/SVGPreserveAspectRatio.cpp \
-              svg/SVGRadialGradientElement.cpp \
-              svg/SVGRectElement.cpp \
-              svg/SVGScriptElement.cpp \
-              svg/SVGSetElement.cpp \
-              svg/SVGStopElement.cpp \
-              svg/SVGStringList.cpp \
-              svg/SVGStylable.cpp \
-              svg/SVGStyledElement.cpp \
-              svg/SVGStyledLocatableElement.cpp \
-              svg/SVGStyledTransformableElement.cpp \
-              svg/SVGStyleElement.cpp \
-              svg/SVGSVGElement.cpp \
-              svg/SVGSwitchElement.cpp \
-              svg/SVGSymbolElement.cpp \
-              svg/SVGTests.cpp \
-              svg/SVGTextContentElement.cpp \
-              svg/SVGTextElement.cpp \
-              svg/SVGTextPathElement.cpp \
-              svg/SVGTextPositioningElement.cpp \
-              svg/SVGTitleElement.cpp \
-              svg/SVGTransformable.cpp \
-              svg/SVGTransform.cpp \
-              svg/SVGTransformDistance.cpp \
-              svg/SVGTransformList.cpp \
-              svg/SVGTRefElement.cpp \
-              svg/SVGTSpanElement.cpp \
-              svg/SVGURIReference.cpp \
-              svg/SVGUseElement.cpp \
-              svg/SVGViewElement.cpp \
-              svg/SVGViewSpec.cpp \
-              svg/SVGVKernElement.cpp \
-              svg/SVGZoomAndPan.cpp \
-              svg/SVGZoomEvent.cpp
+              rendering/svg/SVGTextRunRenderingContext.cpp
+        use_all_in_one_files {
+            SOURCES += svg/SVGAllInOne.cpp
+        } else {
+            SOURCES += \
+                  svg/SVGDocumentExtensions.cpp \
+                  svg/ColorDistance.cpp \
+                  svg/SVGAElement.cpp \
+                  svg/SVGAltGlyphDefElement.cpp \
+                  svg/SVGAltGlyphElement.cpp \
+                  svg/SVGAltGlyphItemElement.cpp \
+                  svg/SVGAngle.cpp \
+                  svg/SVGAnimateColorElement.cpp \
+                  svg/SVGAnimatedAngle.cpp \
+                  svg/SVGAnimatedBoolean.cpp \
+                  svg/SVGAnimatedColor.cpp \
+                  svg/SVGAnimatedInteger.cpp \
+                  svg/SVGAnimatedLength.cpp \
+                  svg/SVGAnimatedLengthList.cpp \
+                  svg/SVGAnimatedNumber.cpp \
+                  svg/SVGAnimatedNumberList.cpp \
+                  svg/SVGAnimatedNumberOptionalNumber.cpp \
+                  svg/SVGAnimatedPath.cpp \
+                  svg/SVGAnimatedPointList.cpp \
+                  svg/SVGAnimatedPreserveAspectRatio.cpp \
+                  svg/SVGAnimatedRect.cpp \
+                  svg/SVGAnimatedString.cpp \
+                  svg/SVGAnimatedTransformList.cpp \
+                  svg/SVGAnimatedType.cpp \
+                  svg/SVGAnimateElement.cpp \
+                  svg/SVGAnimateMotionElement.cpp \
+                  svg/SVGAnimateTransformElement.cpp \
+                  svg/SVGAnimationElement.cpp \
+                  svg/SVGCircleElement.cpp \
+                  svg/SVGClipPathElement.cpp \
+                  svg/SVGColor.cpp \
+                  svg/SVGComponentTransferFunctionElement.cpp \
+                  svg/SVGCursorElement.cpp \
+                  svg/SVGDefsElement.cpp \
+                  svg/SVGDescElement.cpp \
+                  svg/SVGDocument.cpp \
+                  svg/SVGElement.cpp \
+                  svg/SVGElementInstance.cpp \
+                  svg/SVGElementInstanceList.cpp \
+                  svg/SVGEllipseElement.cpp \
+                  svg/SVGException.cpp \
+                  svg/SVGExternalResourcesRequired.cpp \
+                  svg/SVGFEBlendElement.cpp \
+                  svg/SVGFEColorMatrixElement.cpp \
+                  svg/SVGFEComponentTransferElement.cpp \
+                  svg/SVGFECompositeElement.cpp \
+                  svg/SVGFEConvolveMatrixElement.cpp \
+                  svg/SVGFEDiffuseLightingElement.cpp \
+                  svg/SVGFEDisplacementMapElement.cpp \
+                  svg/SVGFEDistantLightElement.cpp \
+                  svg/SVGFEDropShadowElement.cpp \
+                  svg/SVGFEFloodElement.cpp \
+                  svg/SVGFEFuncAElement.cpp \
+                  svg/SVGFEFuncBElement.cpp \
+                  svg/SVGFEFuncGElement.cpp \
+                  svg/SVGFEFuncRElement.cpp \
+                  svg/SVGFEGaussianBlurElement.cpp \
+                  svg/SVGFEImageElement.cpp \
+                  svg/SVGFELightElement.cpp \
+                  svg/SVGFEMergeElement.cpp \
+                  svg/SVGFEMergeNodeElement.cpp \
+                  svg/SVGFEMorphologyElement.cpp \
+                  svg/SVGFEOffsetElement.cpp \
+                  svg/SVGFEPointLightElement.cpp \
+                  svg/SVGFESpecularLightingElement.cpp \
+                  svg/SVGFESpotLightElement.cpp \
+                  svg/SVGFETileElement.cpp \
+                  svg/SVGFETurbulenceElement.cpp \
+                  svg/SVGFilterElement.cpp \
+                  svg/SVGFilterPrimitiveStandardAttributes.cpp \
+                  svg/SVGFitToViewBox.cpp \
+                  svg/SVGFontData.cpp \
+                  svg/SVGFontElement.cpp \
+                  svg/SVGFontFaceElement.cpp \
+                  svg/SVGFontFaceFormatElement.cpp \
+                  svg/SVGFontFaceNameElement.cpp \
+                  svg/SVGFontFaceSrcElement.cpp \
+                  svg/SVGFontFaceUriElement.cpp \
+                  svg/SVGForeignObjectElement.cpp \
+                  svg/SVGGElement.cpp \
+                  svg/SVGGlyphElement.cpp \
+                  svg/SVGGlyphRefElement.cpp \
+                  svg/SVGGradientElement.cpp \
+                  svg/SVGHKernElement.cpp \
+                  svg/SVGImageElement.cpp \
+                  svg/SVGImageLoader.cpp \
+                  svg/SVGLangSpace.cpp \
+                  svg/SVGLength.cpp \
+                  svg/SVGLengthContext.cpp \
+                  svg/SVGLengthList.cpp \
+                  svg/SVGLinearGradientElement.cpp \
+                  svg/SVGLineElement.cpp \
+                  svg/SVGLocatable.cpp \
+                  svg/SVGMarkerElement.cpp \
+                  svg/SVGMaskElement.cpp \
+                  svg/SVGMetadataElement.cpp \
+                  svg/SVGMissingGlyphElement.cpp \
+                  svg/SVGMPathElement.cpp \
+                  svg/SVGNumberList.cpp \
+                  svg/SVGPaint.cpp \
+                  svg/SVGParserUtilities.cpp \
+                  svg/SVGPathBlender.cpp \
+                  svg/SVGPathBuilder.cpp \
+                  svg/SVGPathByteStreamBuilder.cpp \
+                  svg/SVGPathByteStreamSource.cpp \
+                  svg/SVGPathElement.cpp \
+                  svg/SVGPathParser.cpp \
+                  svg/SVGPathParserFactory.cpp \
+                  svg/SVGPathSegList.cpp \
+                  svg/SVGPathSegListBuilder.cpp \
+                  svg/SVGPathSegListSource.cpp \
+                  svg/SVGPathStringBuilder.cpp \
+                  svg/SVGPathStringSource.cpp \
+                  svg/SVGPathTraversalStateBuilder.cpp \
+                  svg/SVGPatternElement.cpp \
+                  svg/SVGPointList.cpp \
+                  svg/SVGPolyElement.cpp \
+                  svg/SVGPolygonElement.cpp \
+                  svg/SVGPolylineElement.cpp \
+                  svg/SVGPreserveAspectRatio.cpp \
+                  svg/SVGRadialGradientElement.cpp \
+                  svg/SVGRectElement.cpp \
+                  svg/SVGSVGElement.cpp \
+                  svg/SVGScriptElement.cpp \
+                  svg/SVGSetElement.cpp \
+                  svg/SVGStopElement.cpp \
+                  svg/SVGStringList.cpp \
+                  svg/SVGStylable.cpp \
+                  svg/SVGStyleElement.cpp \
+                  svg/SVGStyledElement.cpp \
+                  svg/SVGStyledLocatableElement.cpp \
+                  svg/SVGStyledTransformableElement.cpp \
+                  svg/SVGSwitchElement.cpp \
+                  svg/SVGSymbolElement.cpp \
+                  svg/SVGTRefElement.cpp \
+                  svg/SVGTSpanElement.cpp \
+                  svg/SVGTests.cpp \
+                  svg/SVGTextContentElement.cpp \
+                  svg/SVGTextElement.cpp \
+                  svg/SVGTextPathElement.cpp \
+                  svg/SVGTextPositioningElement.cpp \
+                  svg/SVGTitleElement.cpp \
+                  svg/SVGTransform.cpp \
+                  svg/SVGTransformDistance.cpp \
+                  svg/SVGTransformList.cpp \
+                  svg/SVGTransformable.cpp \
+                  svg/SVGURIReference.cpp \
+                  svg/SVGUseElement.cpp \
+                  svg/SVGVKernElement.cpp \
+                  svg/SVGViewElement.cpp \
+                  svg/SVGViewSpec.cpp \
+                  svg/SVGZoomAndPan.cpp \
+                  svg/SVGZoomEvent.cpp
+        }
    }
 }
 

Modified: trunk/Tools/ChangeLog (111577 => 111578)


--- trunk/Tools/ChangeLog	2012-03-21 17:55:04 UTC (rev 111577)
+++ trunk/Tools/ChangeLog	2012-03-21 18:02:15 UTC (rev 111578)
@@ -1,3 +1,18 @@
+2012-03-21  Zeno Albisser  <[email protected]>
+
+        [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
+        https://bugs.webkit.org/show_bug.cgi?id=81750
+
+        Building WebCore on mac currently creates an archive that is bigger than
+        4GB. But ranlib fails to create a symbol table for such a big archive,
+        even on 64bit machines.
+        Therefore we start using SVGAllInOne.cpp when building debug
+        on mac. This reduces the size of the archive by about 300MB.
+
+        Reviewed by Tor Arne Vestbø.
+
+        * qmake/mkspecs/features/mac/default_pre.prf:
+
 2012-03-21  Szilard Ledan  <[email protected]>
 
         Updated the address list of committers.py.

Modified: trunk/Tools/qmake/mkspecs/features/mac/default_pre.prf (111577 => 111578)


--- trunk/Tools/qmake/mkspecs/features/mac/default_pre.prf	2012-03-21 17:55:04 UTC (rev 111577)
+++ trunk/Tools/qmake/mkspecs/features/mac/default_pre.prf	2012-03-21 18:02:15 UTC (rev 111578)
@@ -8,3 +8,9 @@
 CONFIG += debug_and_release
 
 load(default_pre)
+
+debug {
+    root_project_file:message("Building WebKit Debug on mac. Switching to use_all_in_one_files configuration.")
+    CONFIG += use_all_in_one_files
+}
+
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to