diff --git a/common.mak b/common.mak
index 41cac95ca1b85bf36600a524e9871065593d284f..2748e5ed466b372caf2010e68cc4cf2bb5afe119 100644
--- a/common.mak
+++ b/common.mak
@@ -22,9 +22,7 @@ $(SLIBNAME): $(SLIBNAME_WITH_MAJOR)
 
 $(SLIBNAME_WITH_MAJOR): $(SHARED_OBJS)
 	$(CC) $(SHFLAGS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) $(EXTRAOBJS)
-ifeq ($(CONFIG_MINGW),yes)
-	-lib /machine:i386 /def:$(@:.dll=.def)
-endif
+	$(SLIB_EXTRA_CMD)
 
 %.o: %.c
 	$(CC) $(CFLAGS) $(LIBOBJFLAGS) -c -o $@ $<
diff --git a/configure b/configure
index d281267a70b812fc64b275c14e2e57405521049d..30ce3d51c89e3d96a8396ec10a1d5e6b1c4670c8 100755
--- a/configure
+++ b/configure
@@ -884,6 +884,7 @@ EOF
     EXESUF=".exe"
     SLIBNAME_WITH_VERSION='$(SLIBPREF)$(NAME)-$(LIBVERSION)$(SLIBSUF)'
     SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(NAME)-$(LIBMAJOR)$(SLIBSUF)'
+    SLIB_EXTRA_CMD='-lib /machine:i386 /def:$(@:.dll=.def)'
     if test "$force_prefix" != yes; then PREFIX="$PROGRAMFILES/FFmpeg"; fi
     if test "$force_libdir" != yes; then bindir="$PREFIX"; fi
 fi
@@ -1739,6 +1740,7 @@ if test "$lshared" = "yes" ; then
   echo "SLIBNAME=${SLIBNAME}" >> config.mak
   echo "SLIBNAME_WITH_VERSION=${SLIBNAME_WITH_VERSION}" >> config.mak
   echo "SLIBNAME_WITH_MAJOR=${SLIBNAME_WITH_MAJOR}" >> config.mak
+  echo "SLIB_EXTRA_CMD=${SLIB_EXTRA_CMD}" >> config.mak
 fi
 echo "EXTRALIBS=$extralibs" >> config.mak