diff --git a/Makefile b/Makefile index 09c6457fde..1d50fa7187 100644 --- a/Makefile +++ b/Makefile @@ -2,9 +2,8 @@ include config.mk TARGET = ssnes -OBJ = ssnes.o file.o driver.o conf/config_file.o settings.o dynamic.o record/ffemu.o +OBJ = ssnes.o file.o driver.o conf/config_file.o settings.o dynamic.o -LIBS = -lsamplerate -lavformat -lavutil -lavcodec -lswscale LIBS = -lsamplerate DEFINES = @@ -56,6 +55,12 @@ ifeq ($(HAVE_FILTER), 1) OBJ += hqflt/snes_ntsc/snes_ntsc.o endif +ifeq ($(HAVE_FFMPEG), 1) + OBJ += record/ffemu.o + LIBS += $(AVCODEC_LIBS) $(AVCORE_LIBS) $(AVFORMAT_LIBS) $(AVUTIL_LIBS) $(SWSCALE_LIBS) + DEFINES += $(AVCODEC_CFLAGS) $(AVCORE_CFLAGS) $(AVFORMAT_CFLAGS) $(AVUTIL_CFLAGS) $(SWSCALE_CFLAGS) +endif + ifeq ($(HAVE_DYNAMIC), 1) LIBS += -ldl else diff --git a/qb/config.libs.sh b/qb/config.libs.sh index cf0bfb0774..20ad85e671 100644 --- a/qb/config.libs.sh +++ b/qb/config.libs.sh @@ -22,12 +22,22 @@ check_critical GLFW "Cannot find GLFW library." check_lib CG -lCg cgCreateContext check_pkgconf XML libxml-2.0 +if [ $HAVE_FFMPEG != no ]; then + check_pkgconf AVCODEC libavcodec + check_pkgconf AVFORMAT libavformat + check_pkgconf AVCORE libavcore + check_pkgconf AVUTIL libavutil + check_pkgconf SWSCALE libswscale + + ( [ $HAVE_FFMPEG = auto ] && ( [ $HAVE_AVCODEC = no ] || [ $HAVE_AVFORMAT = no ] || [ $HAVE_AVCORE = no ] || [ $HAVE_AVUTIL = no ] || [ $HAVE_SWSCALE = no ] ) && HAVE_FFMPEG=no ) || HAVE_FFMPEG=yes +fi + check_lib SRC -lsamplerate src_callback_new check_lib DYNAMIC -ldl dlopen -# Creates config.mk. -VARS="ALSA OSS AL RSOUND ROAR JACK GLFW FILTER CG XML DYNAMIC" +# Creates config.mk and config.h. +VARS="ALSA OSS AL RSOUND ROAR JACK GLFW FILTER CG XML DYNAMIC FFMPEG AVCODEC AVFORMAT AVCORE AVUTIL SWSCALE" create_config_make config.mk $VARS create_config_header config.h $VARS diff --git a/qb/config.params.sh b/qb/config.params.sh index 9e3ea58c8d..20d930236f 100644 --- a/qb/config.params.sh +++ b/qb/config.params.sh @@ -9,6 +9,7 @@ PACKAGE_VERSION=0.1 # $3: Default arg. auto implies that HAVE_ALSA will be set according to library checks later on. add_command_line_enable DYNAMIC "Enable dynamic loading of libsnes library." no add_command_line_string LIBSNES "libsnes library used" "-lsnes" +add_command_line_enable FFMPEG "Enable FFmpeg recording support" auto add_command_line_enable FILTER "Disable CPU filter support" yes add_command_line_enable CG "Enable Cg shader support" auto add_command_line_enable XML "Enable bSNES-style XML shader support" auto