]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Makefile(s): fix libmfx support
authorlekma <lekmalek@gmail.com>
Wed, 30 Sep 2015 14:02:44 +0000 (16:02 +0200)
committerJaroslav Kysela <perex@perex.cz>
Thu, 1 Oct 2015 13:06:50 +0000 (15:06 +0200)
Makefile
Makefile.ffmpeg
configure

index 87afe178e28991467eeb393a516f06b1a9593923..41a00b368193742e3aff2f2d36b580c60cea33b3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -85,12 +85,21 @@ LDFLAGS += -lx265
 endif
 endif
 LDFLAGS += ${LDFLAGS_FFDIR}/libvpx.a
+CONFIG_LIBMFX_VA_LIBS =
 ifeq ($(CONFIG_LIBMFX),yes)
+CONFIG_LIBMFX_VA_LIBS += -lva
+ifeq ($(CONFIG_VA_DRM),yes)
+CONFIG_LIBMFX_VA_LIBS += -lva-drm
+endif
+ifeq ($(CONFIG_VA_X11),yes)
+CONFIG_LIBMFX_VA_LIBS += -lva-x11
+endif
 ifeq ($(CONFIG_LIBMFX_STATIC),yes)
-LDFLAGS += ${LDFLAGS_FFDIR}/libmfx.a -lstdc++ -lva-drm -lva
+LDFLAGS += ${LDFLAGS_FFDIR}/libmfx.a -lstdc++
 else
 LDFLAGS += -lmfx
 endif
+LDFLAGS += ${CONFIG_LIBMFX_VA_LIBS}
 endif
 endif
 
@@ -660,6 +669,7 @@ ${ROOTDIR}/libav_static/build/ffmpeg/lib/libavcodec.a: Makefile.ffmpeg
        CONFIG_LIBX265_STATIC=$(CONFIG_LIBX265_STATIC) \
        CONFIG_LIBMFX=$(CONFIG_LIBMFX) \
        CONFIG_LIBMFX_STATIC=$(CONFIG_LIBMFX_STATIC) \
+       CONFIG_LIBMFX_VA_LIBS="$(CONFIG_LIBMFX_VA_LIBS)" \
          $(MAKE) -f Makefile.ffmpeg build
 
 # Static HDHOMERUN library
index fd04d4ccfd03d60585c4b6d6a1cf1e4f5cdc60b6..5753c043f873c15b72d5e2f638bbe942e7cf5954 100644 (file)
@@ -53,7 +53,7 @@ ECFLAGS         = -I$(LIBAVDIR)/build/ffmpeg/include
 ELIBS           = -L$(LIBAVDIR)/build/ffmpeg/lib -ldl
 
 EXTRAENV        =
-CONFIGURE       = TVHEADEND_LIBAV_BUILD=$(LIBAVDIR)/ffmpeg \
+CONFIGURE       = TVHEADEND_LIBAV_BUILD=$(LIBAVDIR)/build/ffmpeg \
                   PKG_CONFIG=$(ROOTDIR)/support/pkg-config.ffmpeg ./configure
 
 FFMPEG          = ffmpeg-2.8
@@ -136,6 +136,8 @@ EXTLIBS  += libmfx
 DECODERS += mpeg2_qsv h264_qsv hevc_qsv
 ENCODERS += mpeg2_qsv h264_qsv hevc_qsv
 
+ELIBS += $(CONFIG_LIBMFX_VA_LIBS)
+
 endif
 
 ifeq (yes,$(CONFIG_LIBMFX_STATIC))
@@ -149,8 +151,9 @@ $(LIBAVDIR)/$(LIBMFX)/.tvh_build: \
                $(LIBAVDIR)/$(LIBMFX)/.tvh_download
        cd $(LIBAVDIR)/$(LIBMFX) && autoreconf -i
        cd $(LIBAVDIR)/$(LIBMFX) && ./configure \
-                --with-libva_drm \
-                --prefix=/ffmpeg
+               --prefix=/ffmpeg \
+               --enable-static \
+               --disable-shared
        DESTDIR=$(LIBAVDIR)/build \
                $(MAKE) -C $(LIBAVDIR)/$(LIBMFX) install
        @touch $@
@@ -185,7 +188,7 @@ $(LIBAVDIR)/$(LIBOGG)/.tvh_build: \
                $(LIBAVDIR)/$(YASM)/.tvh_build \
                $(LIBAVDIR)/$(LIBOGG)/.tvh_download
        cd $(LIBAVDIR)/$(LIBOGG) && $(CONFIGURE) \
-                --prefix=/ffmpeg \
+               --prefix=/ffmpeg \
                --enable-static \
                --disable-shared
        DESTDIR=$(LIBAVDIR)/build \
@@ -267,8 +270,6 @@ endif
 
 ifeq (yes,$(CONFIG_LIBX265_STATIC))
 
-ELIBS += -lva-drm -lva
-
 $(LIBAVDIR)/$(LIBX265)/.tvh_download:
        $(call DOWNLOAD,$(LIBX265_URL),$(LIBAVDIR)/$(LIBX265_TB),$(LIBX265_SHA1))
        $(call UNTAR,$(LIBX265_TB),z)
index f6c0e02fc62c2cffb263ea6048855eec63919cd2..5bd995722083ee3a10743234c964fa44f3136bd8 100755 (executable)
--- a/configure
+++ b/configure
@@ -39,7 +39,7 @@ OPTIONS=(
   "libx265:no"
   "libx265_static:yes"
   "libmfx:no"
-  "libmfx_static:no"
+  "libmfx_static:yes"
   "inotify:auto"
   "epoll:auto"
   "uriparser:auto"
@@ -400,9 +400,27 @@ if enabled libffmpeg_static; then
   fi
 
   # libmfx
-  if enabled libmfxdis; then
-    check_cc_lib libva-drm || die "libva-drm not found"
-    check_cc_lib mfx || die "libmfx not found"
+  if enabled libmfx; then
+    check_cc_lib va || die "libva not found"
+    check_cc_lib va-drm va_drm || disable va_drm
+    check_cc_lib va-x11 va_x11 || disable va_x11
+    if disabled va_drm && disabled va_x11; then
+      die "neither libva-drm nor libva-x11 was found"
+    fi
+    if enabled libmfx_static; then
+      check_bin autoreconf ||\
+        die "autoreconf not found (needed for building libmfx)"
+      check_bin libtool ||\
+        die "libtool not found (needed for building libmfx)"
+      check_bin libtoolize ||\
+        die "libtoolize not found (needed for building libmfx)"
+      check_cc_lib stdc++ stdcpp ||\
+        die "libstdc++ not found (needed for building libmfx)"
+    else
+      check_cc_lib mfx || die "libmfx not found"
+    fi
+  else
+    disable libmfx_static
   fi
 
 else