summaryrefslogtreecommitdiff
path: root/libavutil
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2006-01-30 00:22:41 +0000
committerDiego Biurrun <diego@biurrun.de>2006-01-30 00:22:41 +0000
commit320d060ae94eea9018ee4292cd18b506c333d377 (patch)
treecc5f4cb5a457f7781b3b3a30038ebeea6dbb173c /libavutil
parent53862e0fa6be8a0a0d750f9e8897934068dbe6d0 (diff)
On MinGW it is not possible to build shared and static libraries at once.
Add means to disable building the static libraries and fix a few issues with the MinGW build. All the hard work done by Alexander Strasser, minor changes by myself. Originally committed as revision 4909 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavutil')
-rw-r--r--libavutil/Makefile7
-rw-r--r--libavutil/common.h11
2 files changed, 13 insertions, 5 deletions
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 9d02aab4ef..4dcb7e3b19 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -6,11 +6,11 @@ include ../config.mak
VPATH=$(SRC_PATH)/libavutil
# NOTE: -I.. is needed to include config.h
-CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
+CFLAGS=$(OPTFLAGS) -DHAVE_AV_CONFIG_H -DBUILD_AVUTIL -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE
#FIXME: This should be in configure/config.mak
ifeq ($(CONFIG_WIN32),yes)
- LDFLAGS=-Wl,--output-def,$(@:.dll=.def)
+ LDFLAGS=-Wl,--output-def,$(@:.dll=.def),--out-implib,lib$(SLIBNAME:$(SLIBSUF)=.dll.a)
endif
OBJS= mathematics.o \
@@ -53,7 +53,8 @@ depend: $(SRCS)
dep: depend
clean:
- rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll
+ rm -f *.o *.d *~ *.a *.lib *.so *.dylib *.dll \
+ *.lib *.def *.dll.a *.exp
distclean: clean
rm -f .depend
diff --git a/libavutil/common.h b/libavutil/common.h
index 09638c39e7..f4dcf310b0 100644
--- a/libavutil/common.h
+++ b/libavutil/common.h
@@ -247,6 +247,13 @@ static inline float floorf(float f) {
#ifdef HAVE_AV_CONFIG_H
+#if defined(__MINGW32__) && !defined(BUILD_AVUTIL) && defined(BUILD_SHARED_AV)
+# define FF_IMPORT_ATTR __declspec(dllimport)
+#else
+# define FF_IMPORT_ATTR
+#endif
+
+
# include "bswap.h"
// Use rip-relative addressing if compiling PIC code on x86-64.
@@ -345,7 +352,7 @@ void print_stats(void);
#endif
/* misc math functions */
-extern const uint8_t ff_log2_tab[256];
+extern FF_IMPORT_ATTR const uint8_t ff_log2_tab[256];
static inline int av_log2(unsigned int v)
{
@@ -423,7 +430,7 @@ static inline int clip_uint8(int a)
}
/* math */
-extern const uint8_t ff_sqrt_tab[128];
+extern FF_IMPORT_ATTR const uint8_t ff_sqrt_tab[128];
int64_t ff_gcd(int64_t a, int64_t b);