Files
UXP-mirror/layout/generic/moz.build
athenian200 b787af5702 Issue #1638 - Part 1: Put NPAPI code behind MOZ_ENABLE_NPAPI.
Adds --disable-npapi as an additional build option. The default is still to build in NPAPI compatibility, but with this flag, it's finally possible to build without pulling in GTK2 on systems that don't have the package.

This essentially ifdefs everything associated with NPAPI, following various Mozilla removal bugs.

Ref: BZ 1682030, BZ 1251202, BZ 1217665, BZ 1687239
2024-01-10 04:03:35 -06:00

234 lines
5.6 KiB
INI

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
with Files('nsBlock*'):
# Parts of these files are really Layout: Floats
BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
with Files('Block*'):
# Parts of these files are really Layout: Floats
BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
with Files('nsLine*'):
# Parts of these files are really Layout: Floats
BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
with Files('nsInlineFrame.*'):
BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
with Files('nsBRFrame.*'):
BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
with Files('nsBulletFrame.*'):
BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
with Files('nsFirstLetterFrame.*'):
BUG_COMPONENT = ('Core', 'Layout: Block and Inline')
with Files('MathML*'):
BUG_COMPONENT = ('Core', 'MathML')
with Files('Text*'):
BUG_COMPONENT = ('Core', 'Layout: Text')
with Files('nsText*'):
BUG_COMPONENT = ('Core', 'Layout: Text')
with Files('nsFrameSetFrame*'):
BUG_COMPONENT = ('Core', 'Layout: HTML Frames')
with Files('nsSubDocumentFrame*'):
BUG_COMPONENT = ('Core', 'Layout: HTML Frames')
with Files('nsFloatManager.*'):
BUG_COMPONENT = ('Core', 'Layout: Floats')
with Files('nsIntervalSet.*'):
BUG_COMPONENT = ('Core', 'Layout: Floats')
with Files('nsHTMLCanvasFrame.*'):
BUG_COMPONENT = ('Core', 'Layout: Images')
with Files('nsImage*'):
BUG_COMPONENT = ('Core', 'Layout: Images')
with Files('nsAbsoluteContainingBlock.*'):
BUG_COMPONENT = ('Core', 'Layout: R & A Pos')
with Files('Sticky*'):
BUG_COMPONENT = ('Core', 'Layout: R & A Pos')
with Files('nsPluginFrame.*'):
BUG_COMPONENT = ('Core', 'Plug-ins')
with Files('nsVideoFrame.*'):
BUG_COMPONENT = ('Core', 'Video/Audio')
with Files('*Selection*'):
BUG_COMPONENT = ('Core', 'Selection')
EXPORTS += [
'AsyncScrollBase.h',
'nsCanvasFrame.h',
'nsContainerFrame.h',
'nsDirection.h',
'nsFrame.h',
'nsFrameIdList.h',
'nsFrameList.h',
'nsFrameSelection.h',
'nsFrameState.h',
'nsFrameStateBits.h',
'nsHTMLParts.h',
'nsIAnonymousContentCreator.h',
'nsIFrame.h',
'nsIFrameInlines.h',
'nsIFrameUtil.h',
'nsILineIterator.h',
'nsIObjectFrame.h',
'nsIPageSequenceFrame.h',
'nsIScrollableFrame.h',
'nsIScrollPositionListener.h',
'nsIStatefulFrame.h',
'nsPluginFrame.h',
'nsQueryFrame.h',
'nsRubyBaseContainerFrame.h',
'nsRubyBaseFrame.h',
'nsRubyFrame.h',
'nsRubyTextContainerFrame.h',
'nsRubyTextFrame.h',
'nsSplittableFrame.h',
'nsSubDocumentFrame.h',
'nsTextRunTransformations.h',
'RubyUtils.h',
'ScrollbarActivity.h',
'ScrollSnap.h',
'Visibility.h',
]
EXPORTS.mozilla += [
'AspectRatio.h',
'CSSAlignUtils.h',
'ReflowInput.h',
'ReflowOutput.h',
'WritingModes.h',
]
EXPORTS.mozilla.dom += [
'Selection.h',
]
EXPORTS.mozilla.layout += [
'FrameChildList.h',
]
UNIFIED_SOURCES += [
'AsyncScrollBase.cpp',
'BlockReflowInput.cpp',
'CSSAlignUtils.cpp',
'DetailsFrame.cpp',
'FrameChildList.cpp',
'MathMLTextRunFactory.cpp',
'nsAbsoluteContainingBlock.cpp',
'nsBackdropFrame.cpp',
'nsBlockFrame.cpp',
'nsBlockReflowContext.cpp',
'nsBRFrame.cpp',
'nsBulletFrame.cpp',
'nsCanvasFrame.cpp',
'nsColumnSetFrame.cpp',
'nsContainerFrame.cpp',
'nsFirstLetterFrame.cpp',
'nsFlexContainerFrame.cpp',
'nsFloatManager.cpp',
'nsFontInflationData.cpp',
'nsFrame.cpp',
'nsFrameList.cpp',
'nsFrameSetFrame.cpp',
'nsFrameState.cpp',
'nsFrameUtil.cpp',
'nsGfxScrollFrame.cpp',
'nsGridContainerFrame.cpp',
'nsHTMLCanvasFrame.cpp',
'nsImageFrame.cpp',
'nsImageMap.cpp',
'nsInlineFrame.cpp',
'nsIntervalSet.cpp',
'nsLeafFrame.cpp',
'nsLineBox.cpp',
'nsPageContentFrame.cpp',
'nsPageFrame.cpp',
'nsPlaceholderFrame.cpp',
'nsRubyBaseContainerFrame.cpp',
'nsRubyBaseFrame.cpp',
'nsRubyContentFrame.cpp',
'nsRubyFrame.cpp',
'nsRubyTextContainerFrame.cpp',
'nsRubyTextFrame.cpp',
'nsSelection.cpp',
'nsSimplePageSequenceFrame.cpp',
'nsSplittableFrame.cpp',
'nsSubDocumentFrame.cpp',
'nsTextFrame.cpp',
'nsTextFrameUtils.cpp',
'nsTextRunTransformations.cpp',
'nsVideoFrame.cpp',
'nsViewportFrame.cpp',
'ReflowInput.cpp',
'ReflowOutput.cpp',
'RubyUtils.cpp',
'ScrollbarActivity.cpp',
'ScrollSnap.cpp',
'ScrollVelocityQueue.cpp',
'StickyScrollContainer.cpp',
'TextOverflow.cpp',
]
# nsLineLayout.cpp needs to be built separately because it uses plarena.h.
# nsPluginFrame.cpp needs to be built separately because of name clashes in the OS X headers.
SOURCES += [
'nsLineLayout.cpp',
]
if CONFIG['MOZ_ENABLE_NPAPI']:
SOURCES += [
'nsPluginFrame.cpp',
]
include('/ipc/chromium/chromium-config.mozbuild')
FINAL_LIBRARY = 'xul'
LOCAL_INCLUDES += [
'../../dom/plugins/base',
'../base',
'../forms',
'../style',
'../svg',
'../tables',
'../xul',
'/dom/base',
'/dom/html',
'/dom/xul',
]
JAR_MANIFESTS += ['jar.mn']
RESOURCE_FILES.html = [
'folder.png',
]
MOCHITEST_MANIFESTS += ['test/mochitest.ini']
MOCHITEST_CHROME_MANIFESTS += ['test/chrome.ini']
CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS']
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
CXXFLAGS += CONFIG['TK_CFLAGS']
if CONFIG['GNU_CXX']:
CXXFLAGS += ['-Wno-error=shadow']