blob: 9089fbe4f0777d1950bbc8d7dac98d1ec4be6b78 [file] [log] [blame] [edit]
diff -aur libvpx-1.6.0-orig/build/make/configure.sh libvpx-1.6.0/build/make/configure.sh
--- libvpx-1.6.0-orig/build/make/configure.sh 2016-07-21 04:15:41.000000000 +0300
+++ libvpx-1.6.0/build/make/configure.sh 2016-07-28 18:34:25.287546800 +0300
@@ -647,7 +647,10 @@
--libdir=*)
libdir="${optval}"
;;
- --libc|--as|--prefix|--libdir)
+ --bindir=*)
+ bindir="${optval}"
+ ;;
+ --libc|--as|--prefix|--libdir|--bindir)
die "Option ${opt} requires argument"
;;
--help|-h)
@@ -618,9 +621,14 @@
prefix="${prefix%/}"
libdir="${libdir:-${prefix}/lib}"
libdir="${libdir%/}"
+ bindir="${bindir:-${prefix}/bin}"
+ bindir="${bindir%/}"
if [ "${libdir#${prefix}}" = "${libdir}" ]; then
die "Libdir ${libdir} must be a subdirectory of ${prefix}"
fi
+ if [ "${bindir#${prefix}}" = "${bindir}" ]; then
+ die "Bindir ${bindir} must be a subdirectory of ${prefix}"
+ fi
}
post_process_cmdline() {
diff -aur libvpx-1.6.0-orig/build/make/Makefile libvpx-1.6.0/build/make/Makefile
--- libvpx-1.6.0-orig/build/make/Makefile 2016-07-21 04:15:41.000000000 +0300
+++ libvpx-1.6.0/build/make/Makefile 2016-07-28 18:34:25.287546800 +0300
@@ -300,6 +300,20 @@
$$(filter %.o,$$^) $$(extralibs)
endef
+define dll_gnu_template
+# Not using a pattern rule here because we don't want to generate empty
+# archives when they are listed as a dependency in files not responsible
+# for creating them.
+#
+# This needs further abstraction for dealing with non-GNU linkers.
+$(1):
+ $(if $(quiet),@echo " [LD] $$@")
+ $(qexec)$$(LD) -shared $$(LDFLAGS) \
+ -Wl,--no-undefined \
+ -o $$@ \
+ -Wl,--out-implib=$$(subst $(2),.dll.a,$(1)) $$(filter %.o,$$^) $$(extralibs)
+endef
+
define dl_template
# Not using a pattern rule here because we don't want to generate empty
# archives when they are listed as a dependency in files not responsible
@@ -383,6 +397,7 @@
$(foreach lib,$(filter %so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR).$(SO_VERSION_PATCH),$(LIBS)),$(eval $(call so_template,$(lib))))
$(foreach lib,$(filter %$(SO_VERSION_MAJOR).dylib,$(LIBS)),$(eval $(call dl_template,$(lib))))
$(foreach lib,$(filter %$(SO_VERSION_MAJOR).dll,$(LIBS)),$(eval $(call dll_template,$(lib))))
+$(foreach lib,$(filter %-$(VERSION_MAJOR).dll,$(LIBS)),$(eval $(call dll_gnu_template,$(lib),-$(VERSION_MAJOR).dll)))
INSTALL-LIBS=$(call cond_enabled,CONFIG_INSTALL_LIBS,INSTALL-LIBS)
ifeq ($(MAKECMDGOALS),dist)
Only in libvpx-1.6.0/build/make: Makefile.orig
diff -aur libvpx-1.6.0-orig/configure libvpx-1.6.0/configure
--- libvpx-1.6.0-orig/configure 2016-07-21 04:15:41.000000000 +0300
+++ libvpx-1.6.0/configure 2016-07-28 18:37:36.879364800 +0300
@@ -473,6 +473,7 @@
DIST_DIR?=\$(DESTDIR)${prefix}
endif
LIBSUBDIR=${libdir##${prefix}/}
+BINSUBDIR=${bindir##${prefix}/}
VERSION_STRING=${VERSION_STRING}
@@ -510,9 +511,13 @@
;;
*)
if enabled gnu; then
- echo "--enable-shared is only supported on ELF; assuming this is OK"
+ echo "--enable-shared is only supported on ELF and PE; assuming this is OK"
+ elif enabled win32; then
+ echo "--enable-shared is only supported on ELF and PE; assuming this is OK"
+ elif enabled win64; then
+ echo "--enable-shared is only supported on ELF and PE; assuming this is OK"
else
- die "--enable-shared only supported on ELF, OS/2, and Darwin for now"
+ die "--enable-shared only supported on ELF, OS/2, Darwin and PE for now"
fi
;;
esac
diff -aur libvpx-1.6.0-orig/examples.mk libvpx-1.6.0/examples.mk
--- libvpx-1.6.0-orig/examples.mk 2016-07-21 04:15:41.000000000 +0300
+++ libvpx-1.6.0/examples.mk 2016-07-28 18:34:25.303172800 +0300
@@ -302,9 +302,13 @@
ifneq ($(filter os2%,$(TGT_OS)),)
SHARED_LIB_SUF=_dll.a
else
+ifneq ($(filter win%,$(TGT_OS)),)
+SHARED_LIB_SUF=.dll.a
+else
SHARED_LIB_SUF=.so
endif
endif
+endif
CODEC_LIB_SUF=$(if $(CONFIG_SHARED),$(SHARED_LIB_SUF),.a)
$(foreach bin,$(BINS-yes),\
$(eval $(bin):$(LIB_PATH)/lib$(CODEC_LIB)$(CODEC_LIB_SUF))\
diff -aur libvpx-1.6.0-orig/libs.mk libvpx-1.6.0/libs.mk
--- libvpx-1.6.0-orig/libs.mk 2016-07-21 04:15:41.000000000 +0300
+++ libvpx-1.6.0/libs.mk 2016-07-28 18:34:25.303172800 +0300
@@ -130,6 +130,7 @@
INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx/%
INSTALL_MAPS += include/vpx/% $(SRC_PATH_BARE)/vpx_ports/%
INSTALL_MAPS += $(LIBSUBDIR)/% %
+INSTALL_MAPS += $(BINSUBDIR)/% %
INSTALL_MAPS += src/% $(SRC_PATH_BARE)/%
ifeq ($(CONFIG_MSVS),yes)
INSTALL_MAPS += $(foreach p,$(VS_PLATFORMS),$(LIBSUBDIR)/$(p)/% $(p)/Release/%)
@@ -252,6 +253,13 @@
LIBVPX_SO_SYMLINKS :=
LIBVPX_SO_IMPLIB := libvpx_dll.a
else
+ifeq ($(filter win%,$(TGT_OS)),$(TGT_OS))
+LIBVPX_SO := libvpx-$(VERSION_MAJOR).dll
+SHARED_LIB_SUF := .dll.a
+EXPORT_FILE :=
+LIBVPX_SO_SYMLINKS :=
+LIBVPX_SO_IMPLIB := libvpx.dll.a
+else
LIBVPX_SO := libvpx.so.$(SO_VERSION_MAJOR).$(SO_VERSION_MINOR).$(SO_VERSION_PATCH)
SHARED_LIB_SUF := .so
EXPORT_FILE := libvpx.ver
@@ -261,13 +269,14 @@
endif
endif
endif
+endif
LIBS-$(CONFIG_SHARED) += $(BUILD_PFX)$(LIBVPX_SO)\
$(notdir $(LIBVPX_SO_SYMLINKS)) \
$(if $(LIBVPX_SO_IMPLIB), $(BUILD_PFX)$(LIBVPX_SO_IMPLIB))
$(BUILD_PFX)$(LIBVPX_SO): $(LIBVPX_OBJS) $(EXPORT_FILE)
$(BUILD_PFX)$(LIBVPX_SO): extralibs += -lm
-$(BUILD_PFX)$(LIBVPX_SO): SONAME = libvpx.so.$(SO_VERSION_MAJOR)
+$(BUILD_PFX)$(LIBVPX_SO): SONAME = $(LIBVPX_SO)
$(BUILD_PFX)$(LIBVPX_SO): EXPORTS_FILE = $(EXPORT_FILE)
libvpx.ver: $(call enabled,CODEC_EXPORTS)
@@ -295,6 +304,10 @@
$(qexec)emximp -o $@ $<
CLEAN-OBJS += libvpx_dll.a
+libvpx.dll.a: $(LIBVPX_SO)
+ @echo " [IMPLIB] $@"
+CLEAN-OBJS += libvpx.dll.a
+
define libvpx_symlink_template
$(1): $(2)
@echo " [LN] $(2) $$@"
@@ -311,7 +324,7 @@
INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBVPX_SO_SYMLINKS)
-INSTALL-LIBS-$(CONFIG_SHARED) += $(LIBSUBDIR)/$(LIBVPX_SO)
+INSTALL-LIBS-$(CONFIG_SHARED) += $(BINSUBDIR)/$(LIBVPX_SO)
INSTALL-LIBS-$(CONFIG_SHARED) += $(if $(LIBVPX_SO_IMPLIB),$(LIBSUBDIR)/$(LIBVPX_SO_IMPLIB))