Mercurial > libavutil.hg
changeset 22:3b56407b3f96 libavutil
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.
author | diego |
---|---|
date | Mon, 30 Jan 2006 00:22:41 +0000 |
parents | 734ef282845e |
children | f70fdc881a24 |
files | Makefile common.h |
diffstat | 2 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/Makefile Sun Jan 29 18:32:55 2006 +0000 +++ b/Makefile Mon Jan 30 00:22:41 2006 +0000 @@ -6,11 +6,11 @@ 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 @@ 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
--- a/common.h Sun Jan 29 18:32:55 2006 +0000 +++ b/common.h Mon Jan 30 00:22:41 2006 +0000 @@ -247,6 +247,13 @@ #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 @@ #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 @@ } /* 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);