From f2de888a88002f4812ce56c39aabf1fb773073d5 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Tue, 28 Jun 2016 14:32:08 +0000 Subject: Re #1937: Added libyuv build configs for GNU build systems. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5361 74dad513-b988-da41-8d7b-12977e46ad98 --- third_party/build/os-auto.mak.in | 8 + third_party/build/yuv/Makefile | 339 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 347 insertions(+) create mode 100644 third_party/build/yuv/Makefile (limited to 'third_party') diff --git a/third_party/build/os-auto.mak.in b/third_party/build/os-auto.mak.in index b634ce43..ef261f65 100644 --- a/third_party/build/os-auto.mak.in +++ b/third_party/build/os-auto.mak.in @@ -40,3 +40,11 @@ endif ifeq (@ac_pjmedia_resample@,libresample) DIRS += resample endif + +ifneq (@ac_no_yuv@,1) +ifeq (@ac_external_yuv@,1) +# External yuv +else +DIRS += yuv +endif +endif diff --git a/third_party/build/yuv/Makefile b/third_party/build/yuv/Makefile new file mode 100644 index 00000000..da263c55 --- /dev/null +++ b/third_party/build/yuv/Makefile @@ -0,0 +1,339 @@ +include ../../../build.mak +include ../../../build/common.mak + +export LIBDIR := ../../lib + +RULES_MAK := $(PJDIR)/build/rules.mak + +export YUV_LIB := libyuv-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export YUV_SONAME := libyuv.$(SHLIB_SUFFIX) +export YUV_SHLIB := $(YUV_SONAME).$(PJ_VERSION_MAJOR) +endif + +############################################################################### +# Gather all flags. +# +export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ + $(CFLAGS) $(CC_INC). $(CC_INC)../../yuv/include \ + $(CC_INC)../../../pjlib/include +export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ + $(HOST_CXXFLAGS) $(CXXFLAGS) +export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(LDFLAGS) + +export YUV_SRCDIR = ../../yuv/source +export YUV_OBJS = \ + compare.o \ + compare_common.o \ + compare_gcc.o \ + compare_neon64.o \ + compare_neon.o \ + compare_win.o \ + convert_argb.o \ + convert.o \ + convert_from_argb.o \ + convert_from.o \ + convert_jpeg.o \ + convert_to_argb.o \ + convert_to_i420.o \ + cpu_id.o \ + mjpeg_decoder.o \ + mjpeg_validate.o \ + planar_functions.o \ + rotate_any.o \ + rotate_argb.o \ + rotate.o \ + rotate_common.o \ + rotate_gcc.o \ + rotate_mips.o \ + rotate_neon64.o \ + rotate_neon.o \ + rotate_win.o \ + row_any.o \ + row_common.o \ + row_gcc.o \ + row_mips.o \ + row_neon64.o \ + row_neon.o \ + row_win.o \ + scale_any.o \ + scale_argb.o \ + scale.o \ + scale_common.o \ + scale_gcc.o \ + scale_mips.o \ + scale_neon64.o \ + scale_neon.o \ + scale_win.o \ + video_common.o + +export YUV_CFLAGS = -fomit-frame-pointer $(_CFLAGS) +export YUV_CXXFLAGS = $(YUV_CFLAGS) + + +export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT +############################################################################### +# Main entry +# +# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. +# +TARGETS := $(YUV_LIB) $(YUV_SONAME) + +all: $(TARGETS) + +doc: + cd .. && doxygen docs/doxygen.cfg + +dep: depend +distclean: realclean + +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONE: $(YUV_LIB) $(YUV_SONAME) + +libyuv: $(YUV_LIB) +$(YUV_SONAME): $(YUV_LIB) +$(YUV_LIB) $(YUV_SONAME): + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +clean print_lib: + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $@ + +realclean: + $(subst @@,$(subst /,$(HOST_PSEP),.yuv-$(TARGET_NAME).depend),$(HOST_RMR)) + + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $@ + +depend: + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $@ + + +include ../../../build.mak +include ../../../build/common.mak + +export LIBDIR := ../../lib + +RULES_MAK := $(PJDIR)/build/rules.mak + +export YUV_LIB := libyuv-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export YUV_SONAME := libyuv.$(SHLIB_SUFFIX) +export YUV_SHLIB := $(YUV_SONAME).$(PJ_VERSION_MAJOR) +endif + +############################################################################### +# Gather all flags. +# +export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ + $(CFLAGS) $(CC_INC). $(CC_INC)../../yuv/include \ + $(CC_INC)../../../pjlib/include +export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ + $(HOST_CXXFLAGS) $(CXXFLAGS) +export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(LDFLAGS) + +export YUV_SRCDIR = ../../yuv/source +export YUV_OBJS = \ + compare.o \ + compare_common.o \ + compare_gcc.o \ + compare_neon64.o \ + compare_neon.o \ + compare_win.o \ + convert_argb.o \ + convert.o \ + convert_from_argb.o \ + convert_from.o \ + convert_jpeg.o \ + convert_to_argb.o \ + convert_to_i420.o \ + cpu_id.o \ + mjpeg_decoder.o \ + mjpeg_validate.o \ + planar_functions.o \ + rotate_any.o \ + rotate_argb.o \ + rotate.o \ + rotate_common.o \ + rotate_gcc.o \ + rotate_mips.o \ + rotate_neon64.o \ + rotate_neon.o \ + rotate_win.o \ + row_any.o \ + row_common.o \ + row_gcc.o \ + row_mips.o \ + row_neon64.o \ + row_neon.o \ + row_win.o \ + scale_any.o \ + scale_argb.o \ + scale.o \ + scale_common.o \ + scale_gcc.o \ + scale_mips.o \ + scale_neon64.o \ + scale_neon.o \ + scale_win.o \ + video_common.o + +export YUV_CFLAGS = -fomit-frame-pointer $(_CFLAGS) +export YUV_CXXFLAGS = $(YUV_CFLAGS) + + +export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT +############################################################################### +# Main entry +# +# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. +# +TARGETS := $(YUV_LIB) $(YUV_SONAME) + +all: $(TARGETS) + +doc: + cd .. && doxygen docs/doxygen.cfg + +dep: depend +distclean: realclean + +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONE: $(YUV_LIB) $(YUV_SONAME) + +libyuv: $(YUV_LIB) +$(YUV_SONAME): $(YUV_LIB) +$(YUV_LIB) $(YUV_SONAME): + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +clean print_lib: + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $@ + +realclean: + $(subst @@,$(subst /,$(HOST_PSEP),.yuv-$(TARGET_NAME).depend),$(HOST_RMR)) + + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $@ + +depend: + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $@ + + +include ../../../build.mak +include ../../../build/common.mak + +export LIBDIR := ../../lib + +RULES_MAK := $(PJDIR)/build/rules.mak + +export YUV_LIB := libyuv-$(TARGET_NAME)$(LIBEXT) + +ifeq ($(PJ_SHARED_LIBRARIES),) +else +export YUV_SONAME := libyuv.$(SHLIB_SUFFIX) +export YUV_SHLIB := $(YUV_SONAME).$(PJ_VERSION_MAJOR) +endif + +############################################################################### +# Gather all flags. +# +export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \ + $(CFLAGS) $(CC_INC). $(CC_INC)../../yuv/include \ + $(CC_INC)../../../pjlib/include +export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \ + $(HOST_CXXFLAGS) $(CXXFLAGS) +export _LDFLAGS := $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \ + $(LDFLAGS) + +export YUV_SRCDIR = ../../yuv/source +export YUV_OBJS = \ + compare.o \ + compare_common.o \ + compare_gcc.o \ + compare_neon64.o \ + compare_neon.o \ + compare_win.o \ + convert_argb.o \ + convert.o \ + convert_from_argb.o \ + convert_from.o \ + convert_jpeg.o \ + convert_to_argb.o \ + convert_to_i420.o \ + cpu_id.o \ + mjpeg_decoder.o \ + mjpeg_validate.o \ + planar_functions.o \ + rotate_any.o \ + rotate_argb.o \ + rotate.o \ + rotate_common.o \ + rotate_gcc.o \ + rotate_mips.o \ + rotate_neon64.o \ + rotate_neon.o \ + rotate_win.o \ + row_any.o \ + row_common.o \ + row_gcc.o \ + row_mips.o \ + row_neon64.o \ + row_neon.o \ + row_win.o \ + scale_any.o \ + scale_argb.o \ + scale.o \ + scale_common.o \ + scale_gcc.o \ + scale_mips.o \ + scale_neon64.o \ + scale_neon.o \ + scale_win.o \ + video_common.o + +export YUV_CFLAGS = -fomit-frame-pointer $(_CFLAGS) +export YUV_CXXFLAGS = $(YUV_CFLAGS) + + +export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT +############################################################################### +# Main entry +# +# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory. +# +TARGETS := $(YUV_LIB) $(YUV_SONAME) + +all: $(TARGETS) + +doc: + cd .. && doxygen docs/doxygen.cfg + +dep: depend +distclean: realclean + +.PHONY: all dep depend clean realclean distclean +.PHONY: $(TARGETS) +.PHONE: $(YUV_LIB) $(YUV_SONAME) + +libyuv: $(YUV_LIB) +$(YUV_SONAME): $(YUV_LIB) +$(YUV_LIB) $(YUV_SONAME): + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $(subst /,$(HOST_PSEP),$(LIBDIR)/$@) + +clean print_lib: + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $@ + +realclean: + $(subst @@,$(subst /,$(HOST_PSEP),.yuv-$(TARGET_NAME).depend),$(HOST_RMR)) + + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $@ + +depend: + $(MAKE) -f $(RULES_MAK) APP=YUV app=libyuv $@ + + -- cgit v1.2.3