mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-06 08:40:56 +00:00

Currently, the build scripts enable AltiVec unconditionally on all ppc* targets. However, there some ppc* targets which do not support AltiVec instruction set extensions, these are often embedded systems like the PowerPC e500 or similar which have their own type of instruction set extensions like SPE. Trying to enable Altivec support on these targets results in a compiler error, hence we need to add an autoconf test for AltiVec support before trying to enable it on ppc* targets. Signed-off-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> --HG-- extra : rebase_source : 6c4df813d97d95046fd2269c876313ce7591c5cf
49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
# -*- 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 += [
|
|
'qcms.h',
|
|
'qcmstypes.h',
|
|
]
|
|
|
|
SOURCES += [
|
|
'chain.c',
|
|
'iccread.c',
|
|
'matrix.c',
|
|
'transform.c',
|
|
'transform_util.c',
|
|
]
|
|
|
|
FINAL_LIBRARY = 'xul'
|
|
|
|
if CONFIG['GNU_CC']:
|
|
CFLAGS += ['-Wno-missing-field-initializers']
|
|
|
|
use_sse1 = False
|
|
use_sse2 = False
|
|
use_altivec = False
|
|
if '86' in CONFIG['OS_TEST']:
|
|
use_sse2 = True
|
|
if CONFIG['_MSC_VER']:
|
|
if CONFIG['OS_ARCH'] != 'WINNT' or CONFIG['OS_TEST'] != 'x86_64':
|
|
use_sse1 = True
|
|
else:
|
|
use_sse1 = True
|
|
elif CONFIG['HAVE_ALTIVEC']:
|
|
use_altivec = True
|
|
|
|
if use_sse1:
|
|
SOURCES += ['transform-sse1.c']
|
|
SOURCES['transform-sse1.c'].flags += CONFIG['SSE_FLAGS']
|
|
|
|
if use_sse2:
|
|
SOURCES += ['transform-sse2.c']
|
|
SOURCES['transform-sse2.c'].flags += CONFIG['SSE2_FLAGS']
|
|
|
|
if use_altivec:
|
|
SOURCES += ['transform-altivec.c']
|
|
SOURCES['transform-altivec.c'].flags += ['-maltivec']
|