From 495b241fa6b03345baf2b2f39aa8c06c735fccc2 Mon Sep 17 00:00:00 2001 From: James Zern Date: Mon, 25 Jul 2011 15:40:36 -0700 Subject: [PATCH] configure: add --enable-static option Fixes issue #62. Change-Id: I0567cf7897c0942666c19b3231c8c3b8e9c3e7cc --- configure | 4 ++++ examples.mk | 4 +++- libs.mk | 22 ++++++++++++++++------ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/configure b/configure index 7596d11..3e1e0e5 100755 --- a/configure +++ b/configure @@ -40,6 +40,7 @@ Advanced options: ${toggle_error_concealment} enable this option to get a decoder which is able to conceal losses ${toggle_runtime_cpu_detect} runtime cpu detection ${toggle_shared} shared library support + ${toggle_static} static library support ${toggle_small} favor smaller size over speed ${toggle_postproc_visualizer} macro block / block level visualizers @@ -153,6 +154,7 @@ enabled doxygen && php -v >/dev/null 2>&1 && enable install_docs enable install_bins enable install_libs +enable static enable optimizations enable fast_unaligned #allow unaligned accesses, if supported by hw enable md5 @@ -252,6 +254,7 @@ CONFIG_LIST=" realtime_only error_concealment shared + static small postproc_visualizer os_support @@ -293,6 +296,7 @@ CMDLINE_SELECT=" realtime_only error_concealment shared + static small postproc_visualizer " diff --git a/examples.mk b/examples.mk index ad56ff0..4ebb035 100644 --- a/examples.mk +++ b/examples.mk @@ -167,8 +167,10 @@ BINS-$(NOT_MSVS) += $(addprefix $(BUILD_PFX),$(ALL_EXAMPLES:.c=)) # Instantiate linker template for all examples. CODEC_LIB=$(if $(CONFIG_DEBUG_LIBS),vpx_g,vpx) +CODEC_LIB_SUF=$(if $(CONFIG_SHARED),.so,.a) $(foreach bin,$(BINS-yes),\ - $(if $(BUILD_OBJS),$(eval $(bin): $(LIB_PATH)/lib$(CODEC_LIB).a))\ + $(if $(BUILD_OBJS),$(eval $(bin):\ + $(LIB_PATH)/lib$(CODEC_LIB)$(CODEC_LIB_SUF)))\ $(if $(BUILD_OBJS),$(eval $(call linker_template,$(bin),\ $(call objs,$($(notdir $(bin)).SRCS)) \ -l$(CODEC_LIB) $(addprefix -l,$(CODEC_EXTRA_LIBS))\ diff --git a/libs.mk b/libs.mk index ae86fbd..47709ba 100644 --- a/libs.mk +++ b/libs.mk @@ -121,7 +121,7 @@ INSTALL-LIBS-$(CONFIG_SHARED) += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/v INSTALL-LIBS-$(CONFIG_SHARED) += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/vpx.exp) endif else -INSTALL-LIBS-yes += $(LIBSUBDIR)/libvpx.a +INSTALL-LIBS-$(CONFIG_STATIC) += $(LIBSUBDIR)/libvpx.a INSTALL-LIBS-$(CONFIG_DEBUG_LIBS) += $(LIBSUBDIR)/libvpx_g.a endif @@ -177,12 +177,13 @@ endif else LIBVPX_OBJS=$(call objs,$(CODEC_SRCS)) OBJS-$(BUILD_LIBVPX) += $(LIBVPX_OBJS) -LIBS-$(BUILD_LIBVPX) += $(BUILD_PFX)libvpx.a $(BUILD_PFX)libvpx_g.a +LIBS-$(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)) LIBVPX_SO := libvpx.so.$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH) -LIBS-$(BUILD_LIBVPX_SO) += $(BUILD_PFX)$(LIBVPX_SO) +LIBS-$(BUILD_LIBVPX_SO) += $(BUILD_PFX)$(LIBVPX_SO)\ + $(notdir $(LIBVPX_SO_SYMLINKS)) $(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) libvpx.ver $(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm $(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.so.$(VERSION_MAJOR) @@ -198,9 +199,18 @@ libvpx.ver: $(call enabled,CODEC_EXPORTS) $(qexec)echo "local: *; };" >> $@ CLEAN-OBJS += libvpx.ver -$(addprefix $(DIST_DIR)/,$(LIBVPX_SO_SYMLINKS)): $(DIST_DIR)/$(LIBSUBDIR)/$(LIBVPX_SO) - @echo " [LN] $@" - $(qexec)ln -sf $(LIBVPX_SO) $@ +define libvpx_symlink_template +$(1): $(2) + @echo " [LN] $$@" + $(qexec)ln -sf $(LIBVPX_SO) $$@ +endef + +$(eval $(call libvpx_symlink_template,\ + $(addprefix $(BUILD_PFX),$(notdir $(LIBVPX_SO_SYMLINKS))),\ + $(BUILD_PFX)$(LIBVPX_SO))) +$(eval $(call libvpx_symlink_template,\ + $(addprefix $(DIST_DIR)/,$(LIBVPX_SO_SYMLINKS)),\ + $(DIST_DIR)/$(LIBSUBDIR)/$(LIBVPX_SO))) INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBVPX_SO_SYMLINKS) INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBSUBDIR)/$(LIBVPX_SO) -- 2.7.4