From patchwork Wed Oct 17 12:02:18 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Giulio Benetti X-Patchwork-Id: 10697 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 9E9D0446E56 for ; Wed, 17 Oct 2018 15:02:34 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1114D68A611; Wed, 17 Oct 2018 15:02:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail.micronovasrl.com (mail.micronovasrl.com [212.103.203.10]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 245C568A602 for ; Wed, 17 Oct 2018 15:02:08 +0300 (EEST) Received: from mail.micronovasrl.com (mail.micronovasrl.com [127.0.0.1]) by mail.micronovasrl.com (Postfix) with ESMTP id 773D3B01769 for ; Wed, 17 Oct 2018 14:02:33 +0200 (CEST) Authentication-Results: mail.micronovasrl.com (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=micronovasrl.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=micronovasrl.com; h=references:in-reply-to:x-mailer:message-id:date:date:subject :subject:to:from:from; s=dkim; t=1539777752; x=1540641753; bh=TK EUJCBu//oi5DMywgQQfaf7smHhaoNoHJmffqGASQg=; b=wQdwYzIbyt8qiBECyn NT9yN0/Ij5BQneVTl9ojxnGZc2Oc0mvxOnk780DjAHj42suIkFs8LRq21VhiGH21 7TXREjysLFbLafncCbFMIBmh2IXsTahA0/7/049hkd2LI2LAwyi+o3GVPpNFao+n /DKJFkhxkdZcLJ6IE2XXs9u3o= X-Virus-Scanned: Debian amavisd-new at mail.micronovasrl.com X-Spam-Flag: NO X-Spam-Score: -2.9 X-Spam-Level: X-Spam-Status: No, score=-2.9 tagged_above=-10 required=4.5 tests=[ALL_TRUSTED=-1, BAYES_00=-1.9] autolearn=ham autolearn_force=no Received: from mail.micronovasrl.com ([127.0.0.1]) by mail.micronovasrl.com (mail.micronovasrl.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id bMyDbrNzue9k for ; Wed, 17 Oct 2018 14:02:32 +0200 (CEST) Received: from localhost.localdomain (host128-8-dynamic.21-79-r.retail.telecomitalia.it [79.21.8.128]) by mail.micronovasrl.com (Postfix) with ESMTPSA id 6286DB01768; Wed, 17 Oct 2018 14:02:32 +0200 (CEST) From: Giulio Benetti To: ffmpeg-devel@ffmpeg.org Date: Wed, 17 Oct 2018 14:02:18 +0200 Message-Id: <20181017120218.20613-3-giulio.benetti@micronovasrl.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181017120218.20613-1-giulio.benetti@micronovasrl.com> References: <20181017120218.20613-1-giulio.benetti@micronovasrl.com> Subject: [FFmpeg-devel] [PATCH 3.4 2/2] configure: add LIBDRM to Libs.private introducing privatelibs_avutil X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Carl Eugen Hoyos , Giulio Benetti , James Almer MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" When static linking programs using ffmpeg libraries, if linking against libavutil, -ldrm is listed before -lavutil. This leads to linking failure due to undefined reference of drmGetVersion() and drmFreeVersion(). This is because when pkg-config creates libavutil.pc it doesn't append -ldrm to Libs.private:. - Create LIBDRM and add -ldrm to it in case libdrm is enabled. - Add privatelibs_avutil variable for explicit private libraries to be appended to Libs.private: in pkgconfig_generate.sh. - Add $LIBDRM to privatelibs_avutil. Signed-off-by: Giulio Benetti --- configure | 3 ++- ffbuild/pkgconfig_generate.sh | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/configure b/configure index 7377046d0a..0996d8a85d 100755 --- a/configure +++ b/configure @@ -5919,7 +5919,7 @@ enabled libcelt && require libcelt celt/celt.h celt_decode -lcelt0 && die "ERROR: libcelt must be installed and version must be >= 0.11.0."; } enabled libcaca && require_pkg_config libcaca caca caca.h caca_create_canvas enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new -enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion +enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion && LIBDRM="-ldrm" enabled libfdk_aac && { use_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen || { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac && warn "using libfdk without pkg-config"; } } @@ -7097,6 +7097,7 @@ LIBPREF=${LIBPREF} LIBSUF=${LIBSUF} extralibs_avutil="$LIBRT $LIBM" +privatelibs_avutil="$LIBDRM" extralibs_avcodec="$extralibs" extralibs_avformat="$extralibs" extralibs_avdevice="$extralibs" diff --git a/ffbuild/pkgconfig_generate.sh b/ffbuild/pkgconfig_generate.sh index e5de6716d2..b86486a107 100755 --- a/ffbuild/pkgconfig_generate.sh +++ b/ffbuild/pkgconfig_generate.sh @@ -13,6 +13,7 @@ name=lib${shortname} fullname=${name}${build_suffix} comment=$2 libs=$(eval echo \$extralibs_${shortname}) +privatelibs=$(eval echo \$privatelibs_${shortname}) deps=$(eval echo \$${shortname}_deps) for dep in $deps; do @@ -39,7 +40,7 @@ Requires: $($shared || echo $requires) Requires.private: $($shared && echo $requires) Conflicts: Libs: -L\${libdir} $rpath -l${fullname#lib} $($shared || echo $libs) -Libs.private: $($shared && echo $libs) +Libs.private: $($shared && echo $libs) ${privatelibs} Cflags: -I\${includedir} EOF