Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  moz.build   Sprache: unbekannt

 
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.

EXPORTS.cairo += [
    'cairo-deprecated.h',
    'cairo-features.h',
    'cairo-platform.h',
    'cairo-rename.h',
    'cairo-tee.h',
    'cairo-version.h',
    'cairo.h',
    'pixman-rename.h',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] not in ('cocoa', 'uikit'):
    EXPORTS.cairo += [
        'cairo-pdf.h',
    ]
    SOURCES += [
        'cairo-base85-stream.c',
        'cairo-cff-subset.c',
        'cairo-deflate-stream.c',
        'cairo-pdf-interchange.c',
        'cairo-pdf-operators.c',
        'cairo-pdf-shading.c',
        'cairo-pdf-surface.c',
        'cairo-truetype-subset.c',
        'cairo-type1-fallback.c',
        'cairo-type1-glyph-names.c',
        'cairo-type1-subset.c',
        'cairo-type3-glyph-surface.c',
    ]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
    DEFINES['MOZ_DISABLE_WINDOWS_WRAPPER'] = True
    EXPORTS.cairo += [
        'cairo-win32.h',
    ]
    SOURCES += [
        'win32/cairo-dwrite-font.cpp',
        'win32/cairo-win32-device.c',
        'win32/cairo-win32-display-surface.c',
        'win32/cairo-win32-font.c',
        'win32/cairo-win32-gdi-compositor.c',
        'win32/cairo-win32-surface.c',
    ]
    DEFINES['DISABLE_SOME_FLOATING_POINT'] = True
    DEFINES['CAIRO_WIN32_STATIC_BUILD'] = True
    if CONFIG['NS_PRINTING']:
        SOURCES += [
            'win32/cairo-win32-printing-surface.c',
        ]
    else:
        DEFINES['CAIRO_OMIT_WIN32_PRINTING'] = True
elif CONFIG['MOZ_WIDGET_TOOLKIT'] in {'cocoa', 'uikit'}:
    EXPORTS.cairo += [
        'cairo-quartz-image.h',
        'cairo-quartz.h',
    ]
    SOURCES += [
        'cairo-quartz-font.c',
        'cairo-quartz-image-surface.c',
        'cairo-quartz-surface.c',
    ]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'beos':
    EXPORTS.cairo += [
        'cairo-beos.h',
    ]
    SOURCES += [
        'cairo-beos-surface.cpp',
    ]

if CONFIG['MOZ_X11']:
    EXPORTS.cairo += [
        'cairo-xlib-xrender.h',
        'cairo-xlib.h',
    ]
    SOURCES += [
        'cairo-xlib-core-compositor.c',
        'cairo-xlib-display.c',
        'cairo-xlib-fallback-compositor.c',
        'cairo-xlib-render-compositor.c',
        'cairo-xlib-screen.c',
        'cairo-xlib-source.c',
        'cairo-xlib-surface-shm.c',
        'cairo-xlib-surface.c',
        'cairo-xlib-visual.c',
        'cairo-xlib-xcb-surface.c',
    ]

if CONFIG['MOZ_ENABLE_CAIRO_FT']:
    EXPORTS.cairo += [
        'cairo-ft.h',
    ]
    SOURCES += [
        'cairo-ft-font.c',
    ]
    # Dates back to at least FreeType 2.1, and used without guards elsewhere
    # in thebes/moz2d code anyhow.
    DEFINES['HAVE_FT_LOAD_SFNT_TABLE'] = True

SOURCES += [
    'cairo-bentley-ottmann-rectangular.c', # redefinition of '_cairo_bo_trap'
    'cairo-bentley-ottmann-rectilinear.c', # redefinition of '_cairo_bo_trap'
    'cairo-bentley-ottmann.c', # redefinition of '_cairo_bo_trap'
    'cairo-boxes-intersect.c', # a bunch of redefinitions
    'cairo-clip-surface.c', #  redefinition of '_cairo_path_fixed_add_box'
    'cairo-image-source.c', #  redefinition of 'fill'
    'cairo-mask-compositor.c', #  redefinition of 'fill'
    'cairo-path-stroke-traps.c', #  redefinition of 'stroker'
    'cairo-path-stroke-tristrip.c', #  redefinition of 'stroker'
    'cairo-polygon-intersect.c',  #  redefinition of 'edge_compare_for_y_against_x'
    'cairo-polygon-reduce.c',  #  redefinition of 'edge_compare_for_y_against_x'
    'cairo-rectangular-scan-converter.c', #  redefinition of '_pqueue'
    'cairo-surface-wrapper.c', #  redefinition of '_copy_transformed_pattern'
    'cairo-tor-scan-converter.c', #  redefinition of 'struct cell'
    'cairo-traps-compositor.c', #  redefinition of 'is_recording_pattern'
]

UNIFIED_SOURCES += [
    'cairo-analysis-surface.c',
    'cairo-arc.c',
    'cairo-array.c',
    'cairo-atomic.c',
    'cairo-base64-stream.c',
    'cairo-botor-scan-converter.c',
    'cairo-boxes.c',
    'cairo-cache.c',
    'cairo-clip-boxes.c',
    'cairo-clip-polygon.c',
    'cairo-clip-region.c',
    'cairo-clip.c',
    'cairo-color.c',
    'cairo-composite-rectangles.c',
    'cairo-compositor.c',
    'cairo-contour.c',
    'cairo-damage.c',
    'cairo-debug.c',
    'cairo-default-context.c',
    'cairo-device.c',
    'cairo-error.c',
    'cairo-fallback-compositor.c',
    'cairo-fixed.c',
    'cairo-font-face-twin-data.c',
    'cairo-font-face-twin.c',
    'cairo-font-face.c',
    'cairo-font-options.c',
    'cairo-freed-pool.c',
    'cairo-freelist.c',
    'cairo-gstate.c',
    'cairo-hash.c',
    'cairo-hull.c',
    'cairo-image-compositor.c',
    'cairo-image-info.c',
    'cairo-image-surface.c',
    'cairo-line.c',
    'cairo-lzw.c',
    'cairo-matrix.c',
    'cairo-mesh-pattern-rasterizer.c',
    'cairo-misc.c',
    'cairo-mono-scan-converter.c',
    'cairo-mutex.c',
    'cairo-no-compositor.c',
    'cairo-observer.c',
    'cairo-output-stream.c',
    'cairo-paginated-surface.c',
    'cairo-path-bounds.c',
    'cairo-path-fill.c',
    'cairo-path-fixed.c',
    'cairo-path-in-fill.c',
    'cairo-path-stroke-boxes.c',
    'cairo-path-stroke-polygon.c',
    'cairo-path-stroke.c',
    'cairo-path.c',
    'cairo-pattern.c',
    'cairo-pen.c',
    'cairo-polygon.c',
    'cairo-raster-source-pattern.c',
    'cairo-recording-surface.c',
    'cairo-rectangle.c',
    'cairo-region.c',
    'cairo-scaled-font-subsets.c',
    'cairo-scaled-font.c',
    'cairo-shape-mask-compositor.c',
    'cairo-slope.c',
    'cairo-spans-compositor.c',
    'cairo-spans.c',
    'cairo-spline.c',
    'cairo-stroke-dash.c',
    'cairo-stroke-style.c',
    'cairo-surface-clipper.c',
    'cairo-surface-fallback.c',
    'cairo-surface-offset.c',
    'cairo-surface-snapshot.c',
    'cairo-surface-subsurface.c',
    'cairo-surface.c',
    'cairo-tag-attributes.c',
    'cairo-tag-stack.c',
    'cairo-tee-surface.c',
    'cairo-tor22-scan-converter.c',
    'cairo-toy-font-face.c',
    'cairo-traps.c',
    'cairo-tristrip.c',
    'cairo-unicode.c',
    'cairo-user-font.c',
    'cairo-version.c',
    'cairo-wideint.c',
    'cairo.c',
]

# We allow warnings for third-party code that can be updated from upstream.
AllowCompilerWarnings()

FINAL_LIBRARY = 'xul'

DEFINES['PACKAGE_VERSION'] = '"moz"'
DEFINES['PACKAGE_BUGREPORT'] = '"http://bugzilla.mozilla.org/"'

for var in ('CAIRO_HAS_PTHREAD', '_GNU_SOURCE'):
    DEFINES[var] = True

if CONFIG['MOZ_TREE_PIXMAN']:
    DEFINES['MOZ_TREE_PIXMAN'] = True

if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
    # We would normally use autoconf to set these up, using AC_CHECK_SIZEOF.
    # But AC_CHECK_SIZEOF requires running programs to determine the sizes,
    # and that doesn't work so well with cross-compiling.  So instead we
    # use these magic macros, available since at least GCC 4.3, to define
    # the preprocessor macros cairo wanted from autoconf.
    DEFINES['SIZEOF_VOID_P'] = '__SIZEOF_POINTER__'
    DEFINES['SIZEOF_INT'] = '__SIZEOF_INT__'
    DEFINES['SIZEOF_LONG'] = '__SIZEOF_LONG__'
    DEFINES['SIZEOF_LONG_LONG'] = '__SIZEOF_LONG_LONG__'

# Normally determined by cairo's configure script.
DEFINES['HAVE_UINT64_T'] = True
DEFINES['HAVE_CXX11_ATOMIC_PRIMITIVES'] = True

if CONFIG['MOZ_TREE_FREETYPE']:
    DEFINES['HAVE_FT_LIBRARY_SETLCDFILTER'] = True
    DEFINES['FT_LCD_FILTER_H'] = '../../../modules/freetype2/include/freetype/ftlcdfil.h'

# Suppress warnings in third-party code.
CFLAGS += [
    '-Wno-enum-compare',
    '-Wno-int-to-pointer-cast',
    '-Wno-int-conversion',
    '-Wno-incompatible-pointer-types',
    '-Wno-sign-compare',
    '-Wno-type-limits',
    '-Wno-missing-field-initializers',
    '-Wno-conversion',
    '-Wno-narrowing',
    '-Wno-switch',
    '-Wno-unused',
    '-Wno-unused-variable',
    '-Wno-error=uninitialized',
]
if CONFIG['CC_TYPE'] in ('clang', 'clang-cl'):
    CFLAGS += [
        '-Wno-absolute-value',
        '-Wno-deprecated-register',
        '-Wno-incompatible-pointer-types',
        '-Wno-macro-redefined',
        '-Wno-shift-negative-value',
        '-Wno-tautological-compare',
        '-Wno-tautological-constant-out-of-range-compare',
        '-Wno-unreachable-code',
    ]
else:
    CFLAGS += ['-Wno-unused-but-set-variable']

# See bug 386897.
if CONFIG['CC_TYPE'] in ('clang', 'gcc') and CONFIG['OS_TARGET'] == 'Android' and CONFIG['MOZ_OPTIMIZE']:
    CFLAGS += ['-O2']
    CXXFLAGS += ['-O2']

if CONFIG['MOZ_X11']:
    CFLAGS += CONFIG['MOZ_X11_CFLAGS']

if CONFIG['MOZ_ENABLE_CAIRO_FT']:
    CFLAGS += CONFIG['CAIRO_FT_CFLAGS']
    CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS']

[ Dauer der Verarbeitung: 0.26 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge