[Pkg-voip-commits] [pjproject] 08/18: Reduce linkage of unused libraries
Bernhard Schmidt
berni at moszumanska.debian.org
Tue Nov 1 22:12:02 UTC 2016
This is an automated email from the git hooks/post-receive script.
berni pushed a commit to branch master
in repository pjproject.
commit 3285ca07efc2314d9d01c3bcb791a1f38fc625c3
Author: Tzafrir Cohen <tzafrir at debian.org>
Date: Thu Aug 13 17:49:57 2015 +0200
Reduce linkage of unused libraries
The following libraries: ffmpeg, v4l, opencore-amr and SDL are linked
with all the libraries. But are only needed for a small part of them.
Have them linked with the relevant ones explicitly.
---
aconfigure.ac | 24 +++++++++++++++++++-----
build.mak.in | 5 +++++
pjlib-util/build/Makefile | 2 +-
pjmedia/build/Makefile | 1 +
pjnath/build/Makefile | 3 ++-
5 files changed, 28 insertions(+), 7 deletions(-)
diff --git a/aconfigure.ac b/aconfigure.ac
index 8990936..1f847fa 100644
--- a/aconfigure.ac
+++ b/aconfigure.ac
@@ -114,6 +114,11 @@ AC_CHECK_LIB(socket,puts)
AC_CHECK_LIB(rt,puts)
AC_CHECK_LIB(m,sin)
AC_SUBST(PJLIB_EXT)
+AC_SUBST(PJLIB_UTIL_EXT)
+AC_SUBST(PJMEDIA_EXT)
+AC_SUBST(PJMEDIA_CODEC_EXT)
+AC_SUBST(PJMEDIA_VIDEODEV_EXT)
+AC_SUBST(PJNATH_EXT)
AC_CHECK_LIB(uuid,uuid_generate,[PJLIB_EXT="-luuid $PJLIB_EXT"])
AC_CHECK_LIB(uuid,uuid_generate,[ac_has_uuid_lib=1])
AC_SEARCH_LIBS(gethostbyname,nsl)
@@ -1002,7 +1007,9 @@ AC_ARG_ENABLE(sdl,
ac_sdl_cflags=`$SDL_CONFIG --cflags`
ac_sdl_cflags="-DPJMEDIA_VIDEO_DEV_HAS_SDL=1 $ac_sdl_cflags"
ac_sdl_ldflags=`$SDL_CONFIG --libs`
- LIBS="$LIBS $ac_sdl_ldflags"
+ PJLIB_UTIL_EXT="$PJLIB_UTIL_EXT $ac_sdl_ldflags"
+ PJMEDIA_VIDEODEV_EXT="$PJMEDIA_VIDEODEV_EXT $ac_sdl_ldflags"
+ PJNATH_EXT="$PJNATH_EXT $ac_sdl_ldflags"
else
AC_MSG_RESULT([Unsupported SDL version])
fi
@@ -1141,7 +1148,11 @@ AC_ARG_ENABLE(ffmpeg,
[[#include <libavformat/avformat.h>]]
)
- LIBS="$LIBS $ac_ffmpeg_ldflags"
+ PJLIB_UTIL_EXT="$PJLIB_UTIL_EXT $ac_ffmpeg_ldflags"
+ PJMEDIA_EXT="$PJMEDIA_EXT $ac_ffmpeg_ldflags"
+ PJMEDIA_CODEC_EXT="$PJMEDIA_CODEC_EXT $ac_ffmpeg_ldflags"
+ # FIXME: only needs libavutil
+ PJNATH_EXT="$PJNATH_EXT $ac_ffmpeg_ldflags"
export PKG_CONFIG_PATH=$SAVED_PKG_CONFIG_PATH
]
)
@@ -1162,7 +1173,10 @@ AC_ARG_ENABLE(v4l2,
v4l2_open,
[ac_v4l2_cflags="-DPJMEDIA_VIDEO_DEV_HAS_V4L2=1"
ac_v4l2_ldflags="-lv4l2"
- LIBS="$LIBS -lv4l2"
+ PJLIB_UTIL_EXT="$PJLIB_UTIL_EXT -lv4l2"
+ PJMEDIA_VIDEODEV_EXT="$PJMEDIA_VIDEODEV_EXT -lv4l2"
+ PJNATH_EXT="$PJNATH_EXT -lv4l2"
+
]
)
])
@@ -1664,7 +1678,7 @@ AC_ARG_ENABLE(opencore_amr,
AC_SUBST(opencore_amrnb_h_present)
AC_SUBST(opencore_amrnb_present)
AC_CHECK_HEADER(opencore-amrnb/interf_enc.h,[opencore_amrnb_h_present=1])
- AC_CHECK_LIB(opencore-amrnb,Encoder_Interface_init,[opencore_amrnb_present=1 && LIBS="$LIBS -lopencore-amrnb"])
+ AC_CHECK_LIB(opencore-amrnb,Encoder_Interface_init,[opencore_amrnb_present=1 && PJLIB_UTIL_EXT="$PJLIB_UTIL_EXT -lopencore-amrnb" && PJNATH_EXT="$PJNATH_EXT -lopencore-amrnb" ])
if test "x$opencore_amrnb_h_present" = "x1" -a "x$opencore_amrnb_present" = "x1"; then
AC_MSG_RESULT([OpenCORE AMR-NB library found, AMR-NB support enabled])
AC_DEFINE(PJMEDIA_HAS_OPENCORE_AMRNB_CODEC,1)
@@ -1678,7 +1692,7 @@ AC_ARG_ENABLE(opencore_amr,
AC_SUBST(opencore_amrwb_dec_present)
AC_CHECK_HEADER(vo-amrwbenc/enc_if.h,[opencore_amrwb_enc_h_present=1])
AC_CHECK_HEADER(opencore-amrwb/dec_if.h,[opencore_amrwb_dec_h_present=1])
- AC_CHECK_LIB(opencore-amrwb,D_IF_init,[opencore_amrwb_dec_present=1 && LIBS="$LIBS -lopencore-amrwb"])
+ AC_CHECK_LIB(opencore-amrwb,D_IF_init,[opencore_amrwb_dec_present=1 && PJLIB_UTIL_EXT="$PJLIB_UTIL_EXT -lopencore-amrnb" && PJNATH_EXT="$PJNATH_EXT -lopencore-amrwb" ])
AC_CHECK_LIB(vo-amrwbenc,E_IF_init,[opencore_amrwb_enc_present=1 && LIBS="$LIBS -lvo-amrwbenc"])
if test "x$opencore_amrwb_enc_h_present" = "x1" -a "x$opencore_amrwb_dec_h_present" = "x1" -a "x$opencore_amrwb_enc_present" = "x1" -a "x$opencore_amrwb_dec_present" = "x1"; then
AC_MSG_RESULT([OpenCORE AMR-WB library found, AMR-WB support enabled])
diff --git a/build.mak.in b/build.mak.in
index 9cd01b1..27d1517 100644
--- a/build.mak.in
+++ b/build.mak.in
@@ -29,6 +29,11 @@ export APP_THIRD_PARTY_LIBS :=
export APP_THIRD_PARTY_LIB_FILES :=
PJLIB_EXT = @PJLIB_EXT@
+PJLIB_UTIL_EXT = @PJLIB_UTIL_EXT@
+PJMEDIA_EXT = @PJMEDIA_EXT@
+PJMEDIA_CODEC_EXT = @PJMEDIA_CODEC_EXT@
+PJMEDIA_VIDEODEV_EXT = @PJMEDIA_VIDEODEV_EXT@
+PJNATH_EXT = @PJNATH_EXT@
ifeq (@ac_external_srtp@,1)
# External SRTP library
diff --git a/pjlib-util/build/Makefile b/pjlib-util/build/Makefile
index a03a558..56bc055 100644
--- a/pjlib-util/build/Makefile
+++ b/pjlib-util/build/Makefile
@@ -43,7 +43,7 @@ export PJLIB_UTIL_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
stun_simple_client.o xml.o
export PJLIB_UTIL_CFLAGS += $(_CFLAGS)
export PJLIB_UTIL_CXXFLAGS += $(_CXXFLAGS)
-export PJLIB_UTIL_LDFLAGS += $(PJLIB_LDLIB) $(_LDFLAGS)
+export PJLIB_UTIL_LDFLAGS += $(PJLIB_LDLIB) $(PJLIB_UTIL_EXT) $(_LDFLAGS)
###############################################################################
# Defines for building test application
diff --git a/pjmedia/build/Makefile b/pjmedia/build/Makefile
index f7ad4cd..4d24cf9 100644
--- a/pjmedia/build/Makefile
+++ b/pjmedia/build/Makefile
@@ -83,6 +83,7 @@ export PJMEDIA_LDFLAGS += $(PJLIB_LDLIB) \
$(PJLIB_UTIL_LDLIB) \
$(PJNATH_LDLIB) \
$(PJMEDIA_EXT) \
+ $(PJMEDIA_VIDEODEV_EXT) \
$(_LDFLAGS)
diff --git a/pjnath/build/Makefile b/pjnath/build/Makefile
index 5f08a8a..8fb976d 100644
--- a/pjnath/build/Makefile
+++ b/pjnath/build/Makefile
@@ -43,7 +43,8 @@ export PJNATH_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
stun_transaction.o turn_session.o turn_sock.o
export PJNATH_CFLAGS += $(_CFLAGS)
export PJNATH_CXXFLAGS += $(_CXXFLAGS)
-export PJNATH_LDFLAGS += $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(_LDFLAGS)
+export PJNATH_LDFLAGS += $(PJLIB_UTIL_LDLIB) $(PJLIB_LDLIB) $(PJNATH_EXT) \
+ $(_LDFLAGS)
###############################################################################
# Defines for building test application
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-voip/pjproject.git
More information about the Pkg-voip-commits
mailing list