moz.build (7892B)
1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- 2 # vim: set filetype=python: 3 # This Source Code Form is subject to the terms of the Mozilla Public 4 # License, v. 2.0. If a copy of the MPL was not distributed with this 5 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 6 7 with Files("nsBlock*"): 8 # Parts of these files are really Layout: Floats 9 BUG_COMPONENT = ("Core", "Layout: Block and Inline") 10 11 with Files("Block*"): 12 # Parts of these files are really Layout: Floats 13 BUG_COMPONENT = ("Core", "Layout: Block and Inline") 14 15 with Files("nsColumn*"): 16 BUG_COMPONENT = ("Core", "Layout: Columns") 17 18 with Files("Column*"): 19 BUG_COMPONENT = ("Core", "Layout: Columns") 20 21 with Files("nsLine*"): 22 # Parts of these files are really Layout: Floats 23 BUG_COMPONENT = ("Core", "Layout: Block and Inline") 24 25 with Files("nsInlineFrame.*"): 26 BUG_COMPONENT = ("Core", "Layout: Block and Inline") 27 28 with Files("BRFrame.*"): 29 BUG_COMPONENT = ("Core", "Layout: Block and Inline") 30 31 with Files("WBRFrame.*"): 32 BUG_COMPONENT = ("Core", "Layout: Block and Inline") 33 34 with Files("nsFirstLetterFrame.*"): 35 BUG_COMPONENT = ("Core", "Layout: Block and Inline") 36 37 with Files("MathML*"): 38 BUG_COMPONENT = ("Core", "MathML") 39 40 with Files("Text*"): 41 BUG_COMPONENT = ("Core", "Layout: Text and Fonts") 42 43 with Files("nsText*"): 44 BUG_COMPONENT = ("Core", "Layout: Text and Fonts") 45 46 with Files("nsFrameSetFrame*"): 47 BUG_COMPONENT = ("Core", "Layout: Images, Video, and HTML Frames") 48 49 with Files("nsSubDocumentFrame*"): 50 BUG_COMPONENT = ("Core", "Layout: Images, Video, and HTML Frames") 51 52 with Files("nsFlex*"): 53 BUG_COMPONENT = ("Core", "Layout: Flexbox") 54 55 with Files("nsFloatManager.*"): 56 BUG_COMPONENT = ("Core", "Layout: Floats") 57 58 with Files("nsIntervalSet.*"): 59 BUG_COMPONENT = ("Core", "Layout: Floats") 60 61 with Files("nsGrid*"): 62 BUG_COMPONENT = ("Core", "Layout: Grid") 63 64 with Files("nsHTMLCanvasFrame.*"): 65 BUG_COMPONENT = ("Core", "Layout: Images, Video, and HTML Frames") 66 67 with Files("nsImage*"): 68 BUG_COMPONENT = ("Core", "Layout: Images, Video, and HTML Frames") 69 70 with Files("AbsoluteContainingBlock.*"): 71 BUG_COMPONENT = ("Core", "Layout: Positioned") 72 73 with Files("Sticky*"): 74 BUG_COMPONENT = ("Core", "Layout: Positioned") 75 76 with Files("nsRuby*"): 77 BUG_COMPONENT = ("Core", "Layout: Ruby") 78 79 with Files("Ruby*"): 80 BUG_COMPONENT = ("Core", "Layout: Ruby") 81 82 with Files("*Scroll*"): 83 BUG_COMPONENT = ("Core", "Layout: Scrolling and Overflow") 84 85 with Files("nsFont*"): 86 BUG_COMPONENT = ("Core", "Layout: Text and Fonts") 87 88 with Files("nsVideoFrame.*"): 89 BUG_COMPONENT = ("Core", "Audio/Video") 90 91 EXPORTS += [ 92 "JustificationUtils.h", 93 "nsAtomicContainerFrame.h", 94 "nsBlockFrame.h", 95 "nsCanvasFrame.h", 96 "nsContainerFrame.h", 97 "nsDirection.h", 98 "nsFloatManager.h", 99 "nsFrameList.h", 100 "nsFrameSelection.h", 101 "nsFrameState.h", 102 "nsFrameStateBits.h", 103 "nsGridContainerFrame.h", 104 "nsHTMLParts.h", 105 "nsIAnonymousContentCreator.h", 106 "nsIFrame.h", 107 "nsIFrameInlines.h", 108 "nsILineIterator.h", 109 "nsIntervalSet.h", 110 "nsIStatefulFrame.h", 111 "nsLineBox.h", 112 "nsPageSequenceFrame.h", 113 "nsPlaceholderFrame.h", 114 "nsQueryFrame.h", 115 "nsRubyBaseContainerFrame.h", 116 "nsRubyBaseFrame.h", 117 "nsRubyFrame.h", 118 "nsRubyTextContainerFrame.h", 119 "nsRubyTextFrame.h", 120 "nsSplittableFrame.h", 121 "nsSubDocumentFrame.h", 122 "nsTextFrame.h", 123 "nsTextFrameUtils.h", 124 "nsTextRunTransformations.h", 125 "RubyUtils.h", 126 "ScrollAnimationBezierPhysics.h", 127 "ScrollAnimationMSDPhysics.h", 128 "ScrollAnimationPhysics.h", 129 "ScrollbarActivity.h", 130 "ScrollSnap.h", 131 "ScrollVelocityQueue.h", 132 "TextDrawTarget.h", 133 "Visibility.h", 134 ] 135 136 EXPORTS.mozilla += [ 137 "!FrameIdList.h", 138 "!FrameTypeList.h", 139 "AbsoluteContainingBlock.h", 140 "AnonymousContentKey.h", 141 "AspectRatio.h", 142 "AutoCopyListener.h", 143 "ColumnUtils.h", 144 "CSSAlignUtils.h", 145 "CSSOrderAwareFrameIterator.h", 146 "IntrinsicISizesCache.h", 147 "LayoutMessageUtils.h", 148 "nsVideoFrame.h", 149 "PrintedSheetFrame.h", 150 "ReflowInput.h", 151 "ReflowOutput.h", 152 "ScrollbarPreferences.h", 153 "ScrollContainerFrame.h", 154 "ScrollGeneration.h", 155 "ScrollOrigin.h", 156 "ScrollPositionUpdate.h", 157 "ScrollSnapInfo.h", 158 "ScrollSnapTargetId.h", 159 "SelectionMovementUtils.h", 160 "ViewportFrame.h", 161 "WritingModes.h", 162 ] 163 164 EXPORTS.mozilla.layout += [ 165 "ScrollAnchorContainer.h", 166 "StickyScrollContainer.h", 167 ] 168 169 UNIFIED_SOURCES += [ 170 "AbsoluteContainingBlock.cpp", 171 "AspectRatio.cpp", 172 "BlockReflowState.cpp", 173 "BRFrame.cpp", 174 "ColumnSetWrapperFrame.cpp", 175 "ColumnUtils.cpp", 176 "CSSAlignUtils.cpp", 177 "CSSOrderAwareFrameIterator.cpp", 178 "MathMLTextRunFactory.cpp", 179 "MiddleCroppingBlockFrame.cpp", 180 "nsBlockFrame.cpp", 181 "nsBlockReflowContext.cpp", 182 "nsCanvasFrame.cpp", 183 "nsColumnSetFrame.cpp", 184 "nsContainerFrame.cpp", 185 "nsFirstLetterFrame.cpp", 186 "nsFlexContainerFrame.cpp", 187 "nsFloatManager.cpp", 188 "nsFontInflationData.cpp", 189 "nsFrameList.cpp", 190 "nsFrameSelection.cpp", 191 "nsFrameSetFrame.cpp", 192 "nsFrameState.cpp", 193 "nsGridContainerFrame.cpp", 194 "nsHTMLCanvasFrame.cpp", 195 "nsIFrame.cpp", 196 "nsILineIterator.cpp", 197 "nsImageFrame.cpp", 198 "nsImageMap.cpp", 199 "nsInlineFrame.cpp", 200 "nsIntervalSet.cpp", 201 "nsLeafFrame.cpp", 202 "nsLineBox.cpp", 203 "nsLineLayout.cpp", 204 "nsPageContentFrame.cpp", 205 "nsPageFrame.cpp", 206 "nsPageSequenceFrame.cpp", 207 "nsPlaceholderFrame.cpp", 208 "nsRubyBaseContainerFrame.cpp", 209 "nsRubyBaseFrame.cpp", 210 "nsRubyContentFrame.cpp", 211 "nsRubyFrame.cpp", 212 "nsRubyTextContainerFrame.cpp", 213 "nsRubyTextFrame.cpp", 214 "nsSplittableFrame.cpp", 215 "nsSubDocumentFrame.cpp", 216 "nsTextFrame.cpp", 217 "nsTextFrameUtils.cpp", 218 "nsTextPaintStyle.cpp", 219 "nsTextRunTransformations.cpp", 220 "nsVideoFrame.cpp", 221 "PrintedSheetFrame.cpp", 222 "ReflowInput.cpp", 223 "ReflowOutput.cpp", 224 "RubyUtils.cpp", 225 "ScrollAnchorContainer.cpp", 226 "ScrollAnimationBezierPhysics.cpp", 227 "ScrollAnimationMSDPhysics.cpp", 228 "ScrollbarActivity.cpp", 229 "ScrollContainerFrame.cpp", 230 "ScrollPositionUpdate.cpp", 231 "ScrollSnap.cpp", 232 "ScrollSnapInfo.cpp", 233 "ScrollVelocityQueue.cpp", 234 "SelectionMovementUtils.cpp", 235 "StickyScrollContainer.cpp", 236 "ViewportFrame.cpp", 237 "WBRFrame.cpp", 238 ] 239 240 # on win32 if we add these files to UNIFIED_SOURCES then the compiler generates 241 # larger stack frames for some recursive functions that cause us to hit stack 242 # overflows (see bug 1827428) 243 if CONFIG["OS_ARCH"] == "WINNT" and CONFIG["TARGET_CPU"] == "x86": 244 SOURCES += [ 245 "TextOverflow.cpp", 246 ] 247 else: 248 UNIFIED_SOURCES += [ 249 "TextOverflow.cpp", 250 ] 251 252 SOURCES += [ 253 # If this file gets compiled with ScrollPositionUpdate.cpp, the specialized 254 # `operator<<` for ScrollGeneration<> won't be visible 255 "ScrollGeneration.cpp", 256 ] 257 258 GeneratedFile( 259 "FrameIdList.h", 260 script="GenerateFrameLists.py", 261 entry_point="generate_frame_id_list_h", 262 inputs=["FrameClasses.py"], 263 ) 264 GeneratedFile( 265 "FrameTypeList.h", 266 script="GenerateFrameLists.py", 267 entry_point="generate_frame_type_list_h", 268 inputs=["FrameClasses.py"], 269 ) 270 271 include("/ipc/chromium/chromium-config.mozbuild") 272 273 FINAL_LIBRARY = "xul" 274 275 LOCAL_INCLUDES += [ 276 "../base", 277 "../forms", 278 "../painting", 279 "../style", 280 "../tables", 281 "../xul", 282 "/docshell/base", 283 "/dom/base", 284 "/dom/html", 285 "/dom/xul", 286 "/gfx/cairo/cairo/src", 287 ] 288 289 JAR_MANIFESTS += ["jar.mn"] 290 291 CONTENT_ACCESSIBLE_FILES.html = [ 292 "folder.png", 293 ] 294 295 MOCHITEST_MANIFESTS += ["test/mochitest.toml"] 296 MOCHITEST_CHROME_MANIFESTS += ["test/chrome.toml"] 297 298 if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": 299 CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"]