From def4272a03456d043486fcefac883044e0312d7a Mon Sep 17 00:00:00 2001
From: Aurelien Jacobs <aurel@gnuage.org>
Date: Thu, 19 May 2005 00:17:50 +0000
Subject: [PATCH] install libav(codec|format).pc/libpostproc.pc for pkg-config
 (original patch from <j at v2v.cc>)

Originally committed as revision 4276 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 configure                       | 105 ++++++++++++++++++++++++++++++++
 libavcodec/Makefile             |   2 +
 libavcodec/libpostproc/Makefile |   2 +
 libavformat/Makefile            |   2 +
 4 files changed, 111 insertions(+)

diff --git a/configure b/configure
index eb198066e16..1831a5dbf87 100755
--- a/configure
+++ b/configure
@@ -1618,3 +1618,108 @@ else
 fi
 
 rm -f $TMPO $TMPC $TMPE $TMPS $TMPH
+
+
+# build pkg-config files libavcodec.pc, libavformat.pc and libpostproc.pc 
+
+lavc_build=`grep '#define LIBAVCODEC_BUILD' "$source_path/libavcodec/avcodec.h" | sed 's/[^0-9]//g'`
+lavf_build=`grep '#define LIBAVFORMAT_BUILD' "$source_path/libavformat/avformat.h" | sed 's/[^0-9]//g'`
+
+requires=
+test "$libogg" = "yes" && requires="$requires ogg >= 1.1"
+test "$vorbis" = "yes" && requires="$requires vorbis"
+test "$theora" = "yes" && requires="$requires theora"
+
+# libavcodec.pc
+cat <<EOF >libavcodec.pc
+prefix=$prefix
+exec_prefix=\${prefix}
+libdir=\${exec_prefix}/lib
+includedir=\${prefix}/include
+
+Name: libavcodec
+Description: FFmpeg codec library
+Version: $version-$lavc_build
+Requires: $requires
+Conflicts:
+Libs: -L\${libdir} -lavcodec $extralibs
+Cflags: -I\${includedir} -I\${includedir}/ffmpeg
+EOF
+
+cat <<EOF >libavcodec-uninstalled.pc
+prefix=
+exec_prefix=
+libdir=\${pcfiledir}/libavcodec
+includedir=\${pcfiledir}/libavcodec
+
+Name: libavcodec
+Description: FFmpeg codec library
+Version: $version-$lavc_build
+Requires: $requires
+Conflicts:
+Libs: \${libdir}/${LIBPREF}avcodec${LIBSUF} $extralibs
+Cflags: -I\${includedir}
+EOF
+
+# libavformat.pc
+cat <<EOF >libavformat.pc
+prefix=$prefix
+exec_prefix=\${prefix}
+libdir=\${exec_prefix}/lib
+includedir=\${prefix}/include
+
+Name: libavformat
+Description: FFmpeg container format library
+Version: $version-$lavf_build
+Requires: $requires libavcodec = $version-$lavc_build
+Conflicts:
+Libs: -L\${libdir} -lavformat $extralibs
+Cflags: -I\${includedir} -I\${includedir}/ffmpeg
+EOF
+
+cat <<EOF >libavformat-uninstalled.pc
+prefix=
+exec_prefix=
+libdir=\${pcfiledir}/libavformat
+includedir=\${pcfiledir}/libavformat
+
+Name: libavformat
+Description: FFmpeg container format library
+Version: $version-$lavf_build
+Requires: $requires libavcodec = $version-$lavc_build
+Conflicts:
+Libs: \${libdir}/${LIBPREF}avformat${LIBSUF} $extralibs
+Cflags: -I\${includedir}
+EOF
+
+
+# libpostproc.pc
+cat <<EOF >libpostproc.pc
+prefix=$prefix
+exec_prefix=\${prefix}
+libdir=\${exec_prefix}/lib
+includedir=\${prefix}/include
+
+Name: libpostproc
+Description: FFmpeg post processing library
+Version: $version
+Requires: 
+Conflicts:
+Libs: -L\${libdir} -lpostproc
+Cflags: -I\${includedir} -I\${includedir}/postproc
+EOF
+
+cat <<EOF >libpostproc-uninstalled.pc
+prefix=
+exec_prefix=
+libdir=\${pcfiledir}/libavcodec/libpostproc
+includedir=\${pcfiledir}/libavcodec/libpostproc
+
+Name: libpostproc
+Description: FFmpeg post processing library
+Version: $version
+Requires: 
+Conflicts:
+Libs: \${libdir}/${LIBPREF}postproc${LIBSUF}
+Cflags: -I\${includedir}
+EOF
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index ee36c0381f3..951eb0c6c4b 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -478,6 +478,8 @@ install-headers:
 	               $(SRC_PATH)/libavcodec/common.h \
 	               $(SRC_PATH)/libavcodec/rational.h \
                 "$(prefix)/include/ffmpeg"
+	install -d $(libdir)/pkgconfig
+	install -m 644 ../libavcodec.pc $(libdir)/pkgconfig
 
 #
 # include dependency files if they exist
diff --git a/libavcodec/libpostproc/Makefile b/libavcodec/libpostproc/Makefile
index 958be44a76c..60d01df9a45 100644
--- a/libavcodec/libpostproc/Makefile
+++ b/libavcodec/libpostproc/Makefile
@@ -59,6 +59,8 @@ else
 	install $(INSTALLSTRIP) -m 755 $(SPPLIB) $(libdir)/$(SPPLIB).$(SPPVERSION)
 	ln -sf $(SPPLIB).$(SPPVERSION) $(libdir)/$(SPPLIB)
 	ln -sf $(SPPLIB).$(SPPVERSION) $(libdir)/$(SPPLIB).$(SPPMAJOR)
+	install -d $(libdir)/pkgconfig
+	install -m 644 ../../libpostproc.pc $(libdir)/pkgconfig
 	ldconfig || true
 endif
 endif
diff --git a/libavformat/Makefile b/libavformat/Makefile
index a8bb6118753..3b1b1437d4e 100644
--- a/libavformat/Makefile
+++ b/libavformat/Makefile
@@ -126,6 +126,8 @@ install-headers:
                 $(SRC_PATH)/libavformat/rtp.h $(SRC_PATH)/libavformat/rtsp.h \
                 $(SRC_PATH)/libavformat/rtspcodes.h \
                 "$(prefix)/include/ffmpeg"
+	install -d $(libdir)/pkgconfig
+	install -m 644 ../libavformat.pc $(libdir)/pkgconfig
 
 %.o: %.c
 	$(CC) $(CFLAGS) -c -o $@ $< 
-- 
GitLab