mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-03 02:25:34 +00:00
99 lines
2.0 KiB
Makefile
99 lines
2.0 KiB
Makefile
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. These files use MMX and SSE2 intrinsics, so they need
|
|
# special compile flags on some compilers.
|
|
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
|
|
|
|
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
|
|
|
|
|
|
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
|
|
ifeq ($(OS_ARCH),Linux)
|
|
CPPSRCS += yuv_row_posix.cpp \
|
|
$(NULL)
|
|
else
|
|
ifeq ($(OS_ARCH),SunOS)
|
|
CPPSRCS += yuv_row_posix.cpp \
|
|
$(NULL)
|
|
else
|
|
ifeq ($(OS_ARCH),Darwin)
|
|
CPPSRCS += yuv_row_posix.cpp \
|
|
$(NULL)
|
|
else
|
|
CPPSRCS += yuv_row_other.cpp \
|
|
$(NULL)
|
|
endif # Darwin
|
|
endif # SunOS
|
|
endif # linux
|
|
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
|