From: James Zern Date: Thu, 30 Apr 2020 17:28:43 +0000 (-0700) Subject: libs.mk,msvc: add missing vp9rc project X-Git-Tag: v1.9.0-rc1~22^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=36187e607dce3ae49cf9a78f908614cfd4568081;p=libvpx libs.mk,msvc: add missing vp9rc project + fix some test_rc_interface issues: add a space before $^ in the vcproj rule to add sources to the target, one between the -I's, and make the guid unique; fixes build / link errors. Change-Id: Ia9c99f6a4482a001d993affbc3b3903c2a4e366a --- diff --git a/libs.mk b/libs.mk index ffb8dee48..d73578be9 100644 --- a/libs.mk +++ b/libs.mk @@ -91,6 +91,13 @@ ifeq ($(CONFIG_VP9_ENCODER),yes) INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/$(VP9_PREFIX)/% CODEC_DOC_SRCS += vpx/vp8.h vpx/vp8cx.h CODEC_DOC_SECTIONS += vp9 vp9_encoder + + RC_RTC_SRCS := $(addprefix $(VP9_PREFIX),$(call enabled,VP9_CX_SRCS)) + RC_RTC_SRCS += $(VP9_PREFIX)vp9cx.mk vpx/vp8.h vpx/vp8cx.h + RC_RTC_SRCS += $(VP9_PREFIX)ratectrl_rtc.cc + RC_RTC_SRCS += $(VP9_PREFIX)ratectrl_rtc.h + INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(VP9_PREFIX)ratectrl_rtc.cc + INSTALL-SRCS-$(CONFIG_CODEC_SRCS) += $(VP9_PREFIX)ratectrl_rtc.h endif ifeq ($(CONFIG_VP9_DECODER),yes) @@ -115,6 +122,7 @@ endif ifeq ($(CONFIG_MSVS),yes) CODEC_LIB=$(if $(CONFIG_STATIC_MSVCRT),vpxmt,vpxmd) GTEST_LIB=$(if $(CONFIG_STATIC_MSVCRT),gtestmt,gtestmd) +RC_RTC_LIB=$(if $(CONFIG_STATIC_MSVCRT),vp9rcmt,vp9rcmd) # This variable uses deferred expansion intentionally, since the results of # $(wildcard) may change during the course of the Make. VS_PLATFORMS = $(foreach d,$(wildcard */Release/$(CODEC_LIB).lib),$(word 1,$(subst /, ,$(d)))) @@ -225,6 +233,36 @@ PROJECTS-yes += vpx.$(VCPROJ_SFX) vpx.$(VCPROJ_SFX): vpx_config.asm vpx.$(VCPROJ_SFX): $(RTCD) +vp9rc.$(VCPROJ_SFX): \ + VCPROJ_SRCS=$(filter-out $(addprefix %, $(ASM_INCLUDES)), $^) + +vp9rc.$(VCPROJ_SFX): $(RC_RTC_SRCS) + @echo " [CREATE] $@" + $(qexec)$(GEN_VCPROJ) \ + $(if $(CONFIG_SHARED),--dll,--lib) \ + --target=$(TOOLCHAIN) \ + $(if $(CONFIG_STATIC_MSVCRT),--static-crt) \ + --name=vp9rc \ + --proj-guid=C26FF952-9494-4838-9A3F-7F3D4F613385 \ + --ver=$(CONFIG_VS_VERSION) \ + --src-path-bare="$(SRC_PATH_BARE)" \ + --out=$@ $(CFLAGS) \ + $(filter $(SRC_PATH_BARE)/vp9/%.c, $(VCPROJ_SRCS)) \ + $(filter $(SRC_PATH_BARE)/vp9/%.cc, $(VCPROJ_SRCS)) \ + $(filter $(SRC_PATH_BARE)/vp9/%.h, $(VCPROJ_SRCS)) \ + $(filter $(SRC_PATH_BARE)/vpx/%, $(VCPROJ_SRCS)) \ + $(filter $(SRC_PATH_BARE)/vpx_dsp/%, $(VCPROJ_SRCS)) \ + $(filter-out $(addprefix $(SRC_PATH_BARE)/, \ + vp8/%.c vp8/%.h vp9/%.c vp9/%.cc vp9/%.h vpx/% \ + vpx_dsp/%), \ + $(VCPROJ_SRCS)) \ + --src-path-bare="$(SRC_PATH_BARE)" \ + +PROJECTS-yes += vp9rc.$(VCPROJ_SFX) + +vp9rc.$(VCPROJ_SFX): vpx_config.asm +vp9rc.$(VCPROJ_SFX): $(RTCD) + endif else LIBVPX_OBJS=$(call objs, $(filter-out $(ASM_INCLUDES), $(CODEC_SRCS))) @@ -330,6 +368,15 @@ endif INSTALL-LIBS-yes += $(LIBSUBDIR)/pkgconfig/vpx.pc INSTALL_MAPS += $(LIBSUBDIR)/pkgconfig/%.pc %.pc CLEAN-OBJS += vpx.pc + +ifeq ($(CONFIG_VP9_ENCODER),yes) + RC_RTC_OBJS=$(call objs,$(RC_RTC_SRCS)) + RC_RTC_OBJS=$(call objs,$(RC_RTC_SRCS)) + OBJS-yes += $(RC_RTC_OBJS) + LIBS-yes += $(BUILD_PFX)libvp9rc.a $(BUILD_PFX)libvp9rc_g.a + $(BUILD_PFX)libvp9rc_g.a: $(RC_RTC_OBJS) +endif + endif libvpx.ver: $(call enabled,CODEC_EXPORTS) @@ -493,21 +540,21 @@ endif # TEST_INTRA_PRED_SPEED ifneq ($(strip $(RC_INTERFACE_TEST_OBJS)),) PROJECTS-$(CONFIG_MSVS) += test_rc_interface.$(VCPROJ_SFX) -test_rc_interface.$(VCPROJ_SFX): \ - $(RC_INTERFACE_TEST_SRCS) vpx.$(VCPROJ_SFX) gtest.$(VCPROJ_SFX) +test_rc_interface.$(VCPROJ_SFX): $(RC_INTERFACE_TEST_SRCS) vpx.$(VCPROJ_SFX) \ + vp9rc.$(VCPROJ_SFX) gtest.$(VCPROJ_SFX) @echo " [CREATE] $@" $(qexec)$(GEN_VCPROJ) \ --exe \ --target=$(TOOLCHAIN) \ --name=test_rc_interface \ -D_VARIADIC_MAX=10 \ - --proj-guid=CD837F5F-52D8-4314-A370-895D614166A7 \ + --proj-guid=30458F88-1BC6-4689-B41C-50F3737AAB27 \ --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) -lvp9rc$^ + -I. -I"$(SRC_PATH_BARE)/third_party/googletest/src/include" \ + -L. -l$(CODEC_LIB) -l$(RC_RTC_LIB) -l$(GTEST_LIB) $^ endif # RC_INTERFACE_TEST endif else @@ -526,21 +573,6 @@ OBJS-yes += $(GTEST_OBJS) LIBS-yes += $(BUILD_PFX)libgtest.a $(BUILD_PFX)libgtest_g.a $(BUILD_PFX)libgtest_g.a: $(GTEST_OBJS) -ifeq ($(CONFIG_VP9_ENCODER),yes) - VP9_PREFIX=vp9/ - include $(SRC_PATH_BARE)/$(VP9_PREFIX)vp9cx.mk - RC_RTC_SRCS := $(addprefix $(VP9_PREFIX),$(call enabled,VP9_CX_SRCS)) - RC_RTC_SRCS += $(VP9_PREFIX)vp9cx.mk vpx/vp8.h vpx/vp8cx.h - RC_RTC_SRCS += $(VP9_PREFIX)ratectrl_rtc.cc - RC_RTC_SRCS += $(VP9_PREFIX)ratectrl_rtc.h - VP9_CX_SRCS-$(CONFIG_VP9_ENCODER) += ratectrl_rtc.cc - VP9_CX_SRCS-$(CONFIG_VP9_ENCODER) += ratectrl_rtc.h - RC_RTC_OBJS=$(call objs,$(RC_RTC_SRCS)) - OBJS-yes += $(RC_RTC_OBJS) - LIBS-yes += $(BUILD_PFX)libvp9rc.a $(BUILD_PFX)libvp9rc_g.a - $(BUILD_PFX)libvp9rc_g.a: $(RC_RTC_OBJS) -endif - LIBVPX_TEST_OBJS=$(sort $(call objs,$(LIBVPX_TEST_SRCS))) $(LIBVPX_TEST_OBJS) $(LIBVPX_TEST_OBJS:.o=.d): CXXFLAGS += $(GTEST_INCLUDES) OBJS-yes += $(LIBVPX_TEST_OBJS)