gfx/ycbcr/Makefile.in
author David Anderson <danderson@mozilla.com>
Mon, 13 Aug 2012 13:40:42 -0700
changeset 110273 22fe5c9f4433b25951d0471f44f1cf82f43b26c8
parent 104557 162130598df094e19b044610902abecd403278d3
child 131944 97e443115162450609702fc72c99b6d88d8703d6
permissions -rw-r--r--
Merge from mozilla-central.

DEPTH		= @DEPTH@
topsrcdir	= @top_srcdir@
srcdir		= @srcdir@
VPATH		= @srcdir@

include $(DEPTH)/config/autoconf.mk

MODULE       = ycbcr
LIBRARY_NAME = ycbcr
LIBXUL_LIBRARY = 1
EXPORT_LIBRARY = 1

DEFINES += -D_IMPL_NS_GFX

EXPORTS      = chromium_types.h \
               yuv_convert.h \
               yuv_row.h \
               ycbcr_to_rgb565.h \
               $(NULL)

CPPSRCS = yuv_convert.cpp \
          yuv_row_c.cpp \
          yuv_row_table.cpp \
          ycbcr_to_rgb565.cpp \
          $(NULL)

# Are we targeting x86 or x64?  If so, build yuv_convert_mmx.cpp and
# yuv_convert_sse2.cpp.
ifneq (,$(INTEL_ARCHITECTURE))
CPPSRCS += yuv_convert_sse2.cpp

# MSVC doesn't support MMX when targeting AMD64.
ifdef _MSC_VER
ifneq ($(OS_TEST),x86_64)
CPPSRCS += yuv_convert_mmx.cpp
endif
else
CPPSRCS += yuv_convert_mmx.cpp
endif
endif

ifdef _MSC_VER
ifeq ($(OS_TEST),x86_64)
ifeq (1400,$(_MSC_VER))
# VC8 doesn't support some SSE2 built-in functions
CPPSRCS += yuv_row_win.cpp \
           $(NULL)
else
CPPSRCS += yuv_row_win64.cpp \
           $(NULL)
endif
else
CPPSRCS += yuv_row_win.cpp \
           $(NULL)
endif
else
ifneq (,$(filter Linux SunOS Darwin DragonFly FreeBSD NetBSD OpenBSD, $(OS_ARCH)))
CPPSRCS += yuv_row_posix.cpp \
           $(NULL)
else
CPPSRCS += yuv_row_other.cpp \
           $(NULL)
endif # posix
endif # windows

ifeq (arm,$(findstring arm,$(OS_TEST)))
ifdef HAVE_ARM_NEON
CPPSRCS += yuv_convert_arm.cpp \
           $(NULL)
ASFILES = yuv_row_arm.$(ASM_SUFFIX) \
          $(NULL)
endif
endif

include $(topsrcdir)/config/rules.mk

# These files use MMX and SSE2 intrinsics, so they need special compile flags
# on some compilers.
ifneq (,$(INTEL_ARCHITECTURE))
ifdef GNU_CC
yuv_convert_mmx.$(OBJ_SUFFIX): CXXFLAGS += -mmmx
yuv_convert_sse2.$(OBJ_SUFFIX): CXXFLAGS += -msse2
endif

ifdef SOLARIS_SUNPRO_CXX
yuv_convert_mmx.$(OBJ_SUFFIX): CXXFLAGS += -xarch=mmx -xO4
yuv_convert_sse2.$(OBJ_SUFFIX): CXXFLAGS += -xarch=sse2 -xO4
endif
endif