diff options
author | Diego Biurrun <diego@biurrun.de> | 2006-01-30 00:22:41 +0000 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2006-01-30 00:22:41 +0000 |
commit | 320d060ae94eea9018ee4292cd18b506c333d377 (patch) | |
tree | cc5f4cb5a457f7781b3b3a30038ebeea6dbb173c /libavutil | |
parent | 53862e0fa6be8a0a0d750f9e8897934068dbe6d0 (diff) | |
download | ffmpeg-320d060ae94eea9018ee4292cd18b506c333d377.tar.gz |
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/Makefile | 7 | ||||
-rw-r--r-- | libavutil/common.h | 11 |
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); |