| Index: source/libvpx/libs.mk
|
| diff --git a/source/libvpx/libs.mk b/source/libvpx/libs.mk
|
| index 6eee0039c296d5f20243fa91bd5377a8c5b37158..8ac4c3614c3d8b1288156e5d971e2dbc8937988d 100644
|
| --- a/source/libvpx/libs.mk
|
| +++ b/source/libvpx/libs.mk
|
| @@ -25,7 +25,7 @@ $$(BUILD_PFX)$(1).h: $$(SRC_PATH_BARE)/$(2)
|
| @echo " [CREATE] $$@"
|
| $$(qexec)$$(SRC_PATH_BARE)/build/make/rtcd.pl --arch=$$(TGT_ISA) \
|
| --sym=$(1) \
|
| - --config=$$(CONFIG_DIR)$$(target)$$(if $$(FAT_ARCHS),,-$$(TOOLCHAIN)).mk \
|
| + --config=$$(CONFIG_DIR)$$(target)-$$(TOOLCHAIN).mk \
|
| $$(RTCD_OPTIONS) $$^ > $$@
|
| CLEAN-OBJS += $$(BUILD_PFX)$(1).h
|
| RTCD += $$(BUILD_PFX)$(1).h
|
| @@ -34,13 +34,6 @@ endef
|
| CODEC_SRCS-yes += CHANGELOG
|
| CODEC_SRCS-yes += libs.mk
|
|
|
| -# If this is a universal (fat) binary, then all the subarchitectures have
|
| -# already been built and our job is to stitch them together. The
|
| -# BUILD_LIBVPX variable indicates whether we should be building
|
| -# (compiling, linking) the library. The LIPO_LIBVPX variable indicates
|
| -# that we're stitching.
|
| -$(eval $(if $(filter universal%,$(TOOLCHAIN)),LIPO_LIBVPX,BUILD_LIBVPX):=yes)
|
| -
|
| include $(SRC_PATH_BARE)/vpx/vpx_codec.mk
|
| CODEC_SRCS-yes += $(addprefix vpx/,$(call enabled,API_SRCS))
|
| CODEC_DOC_SRCS += $(addprefix vpx/,$(call enabled,API_DOC_SRCS))
|
| @@ -140,18 +133,18 @@ INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Release/%)
|
| INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Debug/%)
|
| endif
|
|
|
| -CODEC_SRCS-$(BUILD_LIBVPX) += build/make/version.sh
|
| -CODEC_SRCS-$(BUILD_LIBVPX) += build/make/rtcd.pl
|
| -CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/emmintrin_compat.h
|
| -CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/mem_ops.h
|
| -CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/mem_ops_aligned.h
|
| -CODEC_SRCS-$(BUILD_LIBVPX) += vpx_ports/vpx_once.h
|
| -CODEC_SRCS-$(BUILD_LIBVPX) += $(BUILD_PFX)vpx_config.c
|
| +CODEC_SRCS-yes += build/make/version.sh
|
| +CODEC_SRCS-yes += build/make/rtcd.pl
|
| +CODEC_SRCS-yes += vpx_ports/emmintrin_compat.h
|
| +CODEC_SRCS-yes += vpx_ports/mem_ops.h
|
| +CODEC_SRCS-yes += vpx_ports/mem_ops_aligned.h
|
| +CODEC_SRCS-yes += vpx_ports/vpx_once.h
|
| +CODEC_SRCS-yes += $(BUILD_PFX)vpx_config.c
|
| INSTALL-SRCS-no += $(BUILD_PFX)vpx_config.c
|
| ifeq ($(ARCH_X86)$(ARCH_X86_64),yes)
|
| INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += third_party/x86inc/x86inc.asm
|
| endif
|
| -CODEC_EXPORTS-$(BUILD_LIBVPX) += vpx/exports_com
|
| +CODEC_EXPORTS-yes += vpx/exports_com
|
| CODEC_EXPORTS-$(CONFIG_ENCODERS) += vpx/exports_enc
|
| CODEC_EXPORTS-$(CONFIG_DECODERS) += vpx/exports_dec
|
|
|
| @@ -218,7 +211,7 @@ vpx.$(VCPROJ_SFX): $(CODEC_SRCS) vpx.def
|
| $(filter-out $(addprefix %, $(ASM_INCLUDES)), $^) \
|
| --src-path-bare="$(SRC_PATH_BARE)" \
|
|
|
| -PROJECTS-$(BUILD_LIBVPX) += vpx.$(VCPROJ_SFX)
|
| +PROJECTS-yes += vpx.$(VCPROJ_SFX)
|
|
|
| vpx.$(VCPROJ_SFX): vpx_config.asm
|
| vpx.$(VCPROJ_SFX): $(RTCD)
|
| @@ -226,13 +219,10 @@ vpx.$(VCPROJ_SFX): $(RTCD)
|
| endif
|
| else
|
| LIBVPX_OBJS=$(call objs,$(CODEC_SRCS))
|
| -OBJS-$(BUILD_LIBVPX) += $(LIBVPX_OBJS)
|
| -LIBS-$(if $(BUILD_LIBVPX),$(CONFIG_STATIC)) += $(BUILD_PFX)libvpx.a $(BUILD_PFX)libvpx_g.a
|
| +OBJS-yes += $(LIBVPX_OBJS)
|
| +LIBS-$(if yes,$(CONFIG_STATIC)) += $(BUILD_PFX)libvpx.a $(BUILD_PFX)libvpx_g.a
|
| $(BUILD_PFX)libvpx_g.a: $(LIBVPX_OBJS)
|
|
|
| -
|
| -BUILD_LIBVPX_SO := $(if $(BUILD_LIBVPX),$(CONFIG_SHARED))
|
| -
|
| SO_VERSION_MAJOR := 2
|
| SO_VERSION_MINOR := 0
|
| SO_VERSION_PATCH := 0
|
| @@ -249,7 +239,7 @@ LIBVPX_SO_SYMLINKS := $(addprefix $(LIBSUBDIR)/, \
|
| libvpx.so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR))
|
| endif
|
|
|
| -LIBS-$(BUILD_LIBVPX_SO) += $(BUILD_PFX)$(LIBVPX_SO)\
|
| +LIBS-$(CONFIG_SHARED) += $(BUILD_PFX)$(LIBVPX_SO)\
|
| $(notdir $(LIBVPX_SO_SYMLINKS))
|
| $(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) $(EXPORT_FILE)
|
| $(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm
|
| @@ -283,11 +273,11 @@ $(eval $(call libvpx_symlink_template,\
|
| $(LIBVPX_SO)))
|
|
|
|
|
| -INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBVPX_SO_SYMLINKS)
|
| -INSTALL-LIBS-$(BUILD_LIBVPX_SO) += $(LIBSUBDIR)/$(LIBVPX_SO)
|
| +INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBVPX_SO_SYMLINKS)
|
| +INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBSUBDIR)/$(LIBVPX_SO)
|
|
|
|
|
| -LIBS-$(BUILD_LIBVPX) += vpx.pc
|
| +LIBS-yes += vpx.pc
|
| vpx.pc: config.mk libs.mk
|
| @echo " [CREATE] $@"
|
| $(qexec)echo '# pkg-config file from libvpx $(VERSION_STRING)' > $@
|
| @@ -313,9 +303,6 @@ INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc
|
| CLEAN-OBJS += vpx.pc
|
| endif
|
|
|
| -LIBS-$(LIPO_LIBVPX) += libvpx.a
|
| -$(eval $(if $(LIPO_LIBVPX),$(call lipo_lib_template,libvpx.a)))
|
| -
|
| #
|
| # Rule to make assembler configuration file from C configuration file
|
| #
|
| @@ -354,11 +341,14 @@ LIBVPX_TEST_DATA_PATH ?= .
|
|
|
| include $(SRC_PATH_BARE)/test/test.mk
|
| LIBVPX_TEST_SRCS=$(addprefix test/,$(call enabled,LIBVPX_TEST_SRCS))
|
| -LIBVPX_TEST_BINS=./test_libvpx$(EXE_SFX)
|
| +LIBVPX_TEST_BIN=./test_libvpx$(EXE_SFX)
|
| LIBVPX_TEST_DATA=$(addprefix $(LIBVPX_TEST_DATA_PATH)/,\
|
| $(call enabled,LIBVPX_TEST_DATA))
|
| libvpx_test_data_url=http://downloads.webmproject.org/test_data/libvpx/$(1)
|
|
|
| +TEST_INTRA_PRED_SPEED_BIN=./test_intra_pred_speed$(EXE_SFX)
|
| +TEST_INTRA_PRED_SPEED_SRCS=$(addprefix test/,$(call enabled,TEST_INTRA_PRED_SPEED_SRCS))
|
| +
|
| libvpx_test_srcs.txt:
|
| @echo " [CREATE] $@"
|
| @echo $(LIBVPX_TEST_SRCS) | xargs -n1 echo | LC_ALL=C sort -u > $@
|
| @@ -422,7 +412,25 @@ test_libvpx.$(VCPROJ_SFX): $(LIBVPX_TEST_SRCS) vpx.$(VCPROJ_SFX) gtest.$(VCPROJ_
|
|
|
| PROJECTS-$(CONFIG_MSVS) += test_libvpx.$(VCPROJ_SFX)
|
|
|
| -LIBVPX_TEST_BINS := $(addprefix $(TGT_OS:win64=x64)/Release/,$(notdir $(LIBVPX_TEST_BINS)))
|
| +LIBVPX_TEST_BIN := $(addprefix $(TGT_OS:win64=x64)/Release/,$(notdir $(LIBVPX_TEST_BIN)))
|
| +
|
| +ifneq ($(strip $(TEST_INTRA_PRED_SPEED_OBJS)),)
|
| +PROJECTS-$(CONFIG_MSVS) += test_intra_pred_speed.$(VCPROJ_SFX)
|
| +test_intra_pred_speed.$(VCPROJ_SFX): $(TEST_INTRA_PRED_SPEED_SRCS) vpx.$(VCPROJ_SFX) gtest.$(VCPROJ_SFX)
|
| + @echo " [CREATE] $@"
|
| + $(qexec)$(GEN_VCPROJ) \
|
| + --exe \
|
| + --target=$(TOOLCHAIN) \
|
| + --name=test_intra_pred_speed \
|
| + -D_VARIADIC_MAX=10 \
|
| + --proj-guid=CD837F5F-52D8-4314-A370-895D614166A7 \
|
| + --ver=$(CONFIG_VS_VERSION) \
|
| + --src-path-bare="$(SRC_PATH_BARE)" \
|
| + $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \
|
| + --out=$@ $(INTERNAL_CFLAGS) $(CFLAGS) \
|
| + -I. -I"$(SRC_PATH_BARE)/third_party/googletest/src/include" \
|
| + -L. -l$(CODEC_LIB) -l$(GTEST_LIB) $^
|
| +endif # TEST_INTRA_PRED_SPEED
|
| endif
|
| else
|
|
|
| @@ -433,45 +441,53 @@ ifeq ($(filter win%,$(TGT_OS)),$(TGT_OS))
|
| # Disabling pthreads globally will cause issues on darwin and possibly elsewhere
|
| $(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += -DGTEST_HAS_PTHREAD=0
|
| endif
|
| -$(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += -I$(SRC_PATH_BARE)/third_party/googletest/src
|
| -$(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += -I$(SRC_PATH_BARE)/third_party/googletest/src/include
|
| -OBJS-$(BUILD_LIBVPX) += $(GTEST_OBJS)
|
| -LIBS-$(BUILD_LIBVPX) += $(BUILD_PFX)libgtest.a $(BUILD_PFX)libgtest_g.a
|
| +GTEST_INCLUDES := -I$(SRC_PATH_BARE)/third_party/googletest/src
|
| +GTEST_INCLUDES += -I$(SRC_PATH_BARE)/third_party/googletest/src/include
|
| +$(GTEST_OBJS) $(GTEST_OBJS:.o=.d): CXXFLAGS += $(GTEST_INCLUDES)
|
| +OBJS-yes += $(GTEST_OBJS)
|
| +LIBS-yes += $(BUILD_PFX)libgtest.a $(BUILD_PFX)libgtest_g.a
|
| $(BUILD_PFX)libgtest_g.a: $(GTEST_OBJS)
|
|
|
| LIBVPX_TEST_OBJS=$(sort $(call objs,$(LIBVPX_TEST_SRCS)))
|
| -$(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += -I$(SRC_PATH_BARE)/third_party/googletest/src
|
| -$(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += -I$(SRC_PATH_BARE)/third_party/googletest/src/include
|
| -OBJS-$(BUILD_LIBVPX) += $(LIBVPX_TEST_OBJS)
|
| -BINS-$(BUILD_LIBVPX) += $(LIBVPX_TEST_BINS)
|
| +$(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += $(GTEST_INCLUDES)
|
| +OBJS-yes += $(LIBVPX_TEST_OBJS)
|
| +BINS-yes += $(LIBVPX_TEST_BIN)
|
|
|
| CODEC_LIB=$(if $(CONFIG_DEBUG_LIBS),vpx_g,vpx)
|
| CODEC_LIB_SUF=$(if $(CONFIG_SHARED),.so,.a)
|
| -$(foreach bin,$(LIBVPX_TEST_BINS),\
|
| - $(if $(BUILD_LIBVPX),$(eval $(bin): \
|
| - lib$(CODEC_LIB)$(CODEC_LIB_SUF) libgtest.a ))\
|
| - $(if $(BUILD_LIBVPX),$(eval $(call linkerxx_template,$(bin),\
|
| - $(LIBVPX_TEST_OBJS) \
|
| - -L. -lvpx -lgtest $(extralibs) -lm)\
|
| - )))\
|
| - $(if $(LIPO_LIBS),$(eval $(call lipo_bin_template,$(bin))))\
|
| -
|
| -endif
|
| +TEST_LIBS := lib$(CODEC_LIB)$(CODEC_LIB_SUF) libgtest.a
|
| +$(LIBVPX_TEST_BIN): $(TEST_LIBS)
|
| +$(eval $(call linkerxx_template,$(LIBVPX_TEST_BIN), \
|
| + $(LIBVPX_TEST_OBJS) \
|
| + -L. -lvpx -lgtest $(extralibs) -lm))
|
| +
|
| +TEST_INTRA_PRED_SPEED_OBJS := $(sort $(call objs,$(TEST_INTRA_PRED_SPEED_SRCS)))
|
| +ifneq ($(strip $(TEST_INTRA_PRED_SPEED_OBJS)),)
|
| +$(TEST_INTRA_PRED_SPEED_OBJS) $(TEST_INTRA_PRED_SPEED_OBJS:.o=.d): CXXFLAGS += $(GTEST_INCLUDES)
|
| +OBJS-yes += $(TEST_INTRA_PRED_SPEED_OBJS)
|
| +BINS-yes += $(TEST_INTRA_PRED_SPEED_BIN)
|
| +
|
| +$(TEST_INTRA_PRED_SPEED_BIN): $(TEST_LIBS)
|
| +$(eval $(call linkerxx_template,$(TEST_INTRA_PRED_SPEED_BIN), \
|
| + $(TEST_INTRA_PRED_SPEED_OBJS) \
|
| + -L. -lvpx -lgtest $(extralibs) -lm))
|
| +endif # TEST_INTRA_PRED_SPEED
|
| +
|
| +endif # CONFIG_UNIT_TESTS
|
|
|
| # Install test sources only if codec source is included
|
| INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(patsubst $(SRC_PATH_BARE)/%,%,\
|
| $(shell find $(SRC_PATH_BARE)/third_party/googletest -type f))
|
| INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(LIBVPX_TEST_SRCS)
|
| +INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(TEST_INTRA_PRED_SPEED_SRCS)
|
|
|
| define test_shard_template
|
| test:: test_shard.$(1)
|
| -test_shard.$(1): $(LIBVPX_TEST_BINS) testdata
|
| +test_shard.$(1): $(LIBVPX_TEST_BIN) testdata
|
| @set -e; \
|
| - for t in $(LIBVPX_TEST_BINS); do \
|
| - export GTEST_SHARD_INDEX=$(1); \
|
| - export GTEST_TOTAL_SHARDS=$(2); \
|
| - $$$$t; \
|
| - done
|
| + export GTEST_SHARD_INDEX=$(1); \
|
| + export GTEST_TOTAL_SHARDS=$(2); \
|
| + $(LIBVPX_TEST_BIN)
|
| .PHONY: test_shard.$(1)
|
| endef
|
|
|
|
|