From 951bf3e681b3fe337e21abd0e5f80e974071f1a7 Mon Sep 17 00:00:00 2001 From: Fabrice Bellard Date: Mon, 15 Sep 2003 22:26:45 +0000 Subject: [PATCH] fixed windows build Originally committed as revision 2278 to svn://svn.ffmpeg.org/ffmpeg/trunk --- Makefile | 45 +++++++++++++++++++-------------------------- configure | 38 +++++++++++++++++++------------------- ffinstall.nsi | 6 +++--- 3 files changed, 41 insertions(+), 48 deletions(-) diff --git a/Makefile b/Makefile index d1c7a4bdb0..f198efcc58 100644 --- a/Makefile +++ b/Makefile @@ -14,25 +14,15 @@ CFLAGS+=-p LDFLAGS+=-p endif -ifeq ($(CONFIG_WIN32),yes) -EXE=.exe -else -ifeq ($(CONFIG_OS2),yes) -EXE=.exe -else -EXE= -endif -endif - -PROG=ffmpeg$(EXE) -PROGTEST=output_example$(EXE) +PROG=ffmpeg$(EXESUF) +PROGTEST=output_example$(EXESUF) ifeq ($(CONFIG_FFSERVER),yes) -PROG+=ffserver$(EXE) +PROG+=ffserver$(EXESUF) endif ifeq ($(CONFIG_FFPLAY),yes) -PROG+=ffplay$(EXE) +PROG+=ffplay$(EXESUF) endif ifeq ($(CONFIG_AUDIO_BEOS),yes) @@ -78,28 +68,28 @@ FFLIBS = -L./libavformat -lavformat -L./libavcodec -lavcodec all: lib $(PROG) $(PROGTEST) $(VHOOK) -lib: $(AMRLIBS) +lib: $(MAKE) -C libavcodec all $(MAKE) -C libavformat all -ffmpeg_g$(EXE): ffmpeg.o cmdutils.o .libs +ffmpeg_g$(EXESUF): ffmpeg.o cmdutils.o .libs $(CC) $(LDFLAGS) -o $@ ffmpeg.o cmdutils.o $(FFLIBS) $(EXTRALIBS) -ffmpeg$(EXE): ffmpeg_g$(EXE) +ffmpeg$(EXESUF): ffmpeg_g$(EXESUF) cp -p $< $@ $(STRIP) $@ -ffserver$(EXE): ffserver.o .libs +ffserver$(EXESUF): ffserver.o .libs $(CC) $(LDFLAGS) $(FFSLDFLAGS) -o $@ ffserver.o $(FFLIBS) $(EXTRALIBS) -ffplay_g$(EXE): ffplay.o cmdutils.o .libs +ffplay_g$(EXESUF): ffplay.o cmdutils.o .libs $(CC) $(LDFLAGS) -o $@ ffplay.o cmdutils.o $(FFLIBS) $(EXTRALIBS) $(SDL_LIBS) -ffplay$(EXE): ffplay_g$(EXE) +ffplay$(EXESUF): ffplay_g$(EXESUF) cp -p $< $@ $(STRIP) $@ -output_example$(EXE): output_example.o .libs +output_example$(EXESUF): output_example.o .libs $(CC) $(LDFLAGS) -o $@ output_example.o $(FFLIBS) $(EXTRALIBS) ffplay.o: ffplay.c @@ -116,8 +106,8 @@ videohook: .libs install: all install-man $(INSTALLVHOOK) $(MAKE) -C libavcodec install $(MAKE) -C libavformat install - install -d $(prefix)/bin - install -c -s -m 755 $(PROG) $(prefix)/bin + install -d "$(bindir)" + install -c -s -m 755 $(PROG) "$(bindir)" # create the window installer wininstaller: all install @@ -125,11 +115,13 @@ wininstaller: all install # install man from source dir if available install-man: +ifneq ($(CONFIG_WIN32),yes) if [ -f $(SRC_PATH)/doc/ffmpeg.1 ] ; then \ install -d $(mandir)/man1 ; \ install -m 644 $(SRC_PATH)/doc/ffmpeg.1 $(SRC_PATH)/doc/ffplay.1 \ $(SRC_PATH)/doc/ffserver.1 $(mandir)/man1 ; \ fi +endif install-vhook: $(prefix)/lib/vhook $(MAKE) -C vhook install INSTDIR=$(prefix)/lib/vhook @@ -161,7 +153,7 @@ clean: $(CLEANVHOOK) $(MAKE) -C libavcodec clean $(MAKE) -C libavformat clean $(MAKE) -C tests clean - rm -f *.o *.d *~ .libs .depend gmon.out TAGS ffmpeg_g$(EXE) ffplay_g$(EXE) $(PROG) + rm -f *.o *.d *~ .libs .depend gmon.out TAGS ffmpeg_g$(EXESUF) ffplay_g$(EXESUF) $(PROG) clean-vhook: $(MAKE) -C vhook clean @@ -175,11 +167,12 @@ TAGS: # regression tests -libavtest test mpeg4 mpeg test-server fulltest: ffmpeg$(EXE) +libavtest test mpeg4 mpeg test-server fulltest: ffmpeg$(EXESUF) $(MAKE) -C tests $@ # tar release (use 'make -k tar' on a checkouted tree) -FILE=ffmpeg-$(shell cat VERSION) +FILE=ffmpeg-$(shell grep "\#define FFMPEG_VERSION " libavcodec/avcodec.h | \ + cut -d "\"" -f 2 ) tar: rm -rf /tmp/$(FILE) diff --git a/configure b/configure index f986c92b61..13921937e0 100755 --- a/configure +++ b/configure @@ -20,6 +20,7 @@ TMPH="${TMPDIR1}/ffmpeg-conf-${RANDOM}-$$-${RANDOM}.h" # default parameters prefix="/usr/local" mandir="" +bindir="" cross_prefix="" cc="gcc" ar="ar" @@ -98,6 +99,7 @@ LIBPREF="lib" LIBSUF=".a" SLIBPREF="lib" SLIBSUF=".so" +EXESUF="" risky="yes" amr_nb="no" amr_nb_fixed="no" @@ -186,16 +188,9 @@ CFLAGS="-no-cpp-precomp -pipe -fomit-frame-pointer -mdynamic-no-pic" esac ;; MINGW32*) -v4l="no" -audio_oss="no" -dv1394="no" -ffserver="no" -network="no" +# Note: the rest of the mingw32 config is done afterwards as mingw32 +# can be forced on command line for linux cross compilation mingw32="yes" -LIBPREF="" -LIBSUF=".lib" -SLIBPREF="" -SLIBSUF=".dll" ;; CYGWIN*) v4l="no" @@ -224,6 +219,7 @@ LIBPREF="" LIBSUF=".lib" SLIBPREF="" SLIBSUF=".dll" +EXESUF=".exe" extralibs="" v4l="no" audio_oss="no" @@ -503,8 +499,15 @@ if test "$mingw32" = "yes" ; then v4l="no" audio_oss="no" dv1394="no" + ffserver="no" network="no" - prefix="/c/Progra~1/FFmpeg" + LIBPREF="" + LIBSUF=".lib" + SLIBPREF="" + SLIBSUF=".dll" + EXESUF=".exe" + prefix="/c/Program Files/FFmpeg" + bindir="$prefix" fi cc="${cross_prefix}${cc}" @@ -737,6 +740,10 @@ if test "$optimize" = "yes"; then CFLAGS="$CFLAGS -O3" fi +if test x"$bindir" = x""; then +bindir="${prefix}/bin" +fi + if test x"$mandir" = x""; then mandir="${prefix}/man" fi @@ -850,6 +857,7 @@ echo "# Automatically generated by configure - do not modify" > config.mak echo "/* Automatically generated by configure - do not modify */" > $TMPH echo "prefix=$prefix" >> config.mak +echo "bindir=$bindir" >> config.mak echo "mandir=$mandir" >> config.mak echo "MAKE=$make" >> config.mak echo "CC=$cc" >> config.mak @@ -864,6 +872,7 @@ echo "LIBPREF=$LIBPREF" >> config.mak echo "LIBSUF=$LIBSUF" >> config.mak echo "SLIBPREF=$SLIBPREF" >> config.mak echo "SLIBSUF=$SLIBSUF" >> config.mak +echo "EXESUF=$EXESUF" >> config.mak echo "TARGET_OS=$TARGET_OS" >> config.mak if test "$cpu" = "x86" ; then echo "TARGET_ARCH_X86=yes" >> config.mak @@ -900,9 +909,6 @@ if test "$mmx" = "yes" ; then echo "#define HAVE_MMX 1" >> $TMPH echo "#define __CPU__ 586" >> $TMPH fi -if test "$mingw32" = "yes" ; then - echo "TARGET_MINGW32=yes" >> config.mak -fi if test "$builtin_vector" = "yes" ; then echo "TARGET_BUILTIN_VECTOR=yes" >> config.mak echo "#define HAVE_BUILTIN_VECTOR 1" >> $TMPH @@ -1060,12 +1066,6 @@ if test "$mingw32" = "yes" ; then echo "#ifndef __MINGW32__" >> $TMPH echo "#define __MINGW32__ 1" >> $TMPH echo "#endif" >> $TMPH - echo "__MINGW32__=1" >> config.mak -fi - -if test "$cygwin" = "yes" ; then - # setup correct exesuffix - echo "CONFIG_WIN32=yes" >> config.mak fi if test "$os2" = "yes" ; then diff --git a/ffinstall.nsi b/ffinstall.nsi index 6082bb056b..f483b0174f 100644 --- a/ffinstall.nsi +++ b/ffinstall.nsi @@ -27,9 +27,9 @@ Section "Install" SetOutPath $INSTDIR SetCompress Auto SetOverwrite IfNewer - File "C:\Program Files\FFmpeg\bin\ffmpeg.exe" - File "C:\Program Files\FFmpeg\bin\SDL.dll" - File "C:\Program Files\FFmpeg\bin\ffplay.exe" + File ".\ffmpeg.exe" + File ".\SDL.dll" + File ".\ffplay.exe" File ".\COPYING" File ".\CREDITS"