mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-07 22:02:12 +08:00
configure.ac: Do not set user variables.
The CFLAGS, CXXFLAGS, LDFLAGS and other variables intended to be overridden by the user should not directly be set by the package. This change uses one of the approaches recommended by the Autoconf and Automake manuals, which is to use custom variables to accumulate flags in the configure script and add them to the make targets they apply to. This has the benefit of not cluttering the flags used during the Autoconf tests, which has proved problematic (see the previous commit for a demonstration). * configure.ac: Replace CFLAGS, CXXFLAGS, CPPFLAGS and LDFLAGS by DAEMONCFLAGS, DAEMONCXXFLAGS, DAEMONCPPFLAGS and DAEMONLDFLAGS, respectively. Use these custom variables as the default values of AM_CFLAGS, AM_CXXFLAGS, AM_CPPFLAGS and AM_LDFLAGS, respectively. Remove an extraneous check on jsoncpp. * bin/Makefile.am (ringcli_CXXFLAGS): Honor the the AM_CXXFLAGS variable. globals.mk: Extend rather than override the AM_CPPFLAGS variable. * src/Makefile.am (libring_la_LDFLAGS): Honor AM_LDFLAGS. (libring_la_CFLAGS): Honor AM_CFLAGS. (libring_la_CXXFLAGS): Honor AM_CXXFLAGS. * src/client/Makefile.am (libclient_la_CXXFLAGS): Honor AM_CXXFLAGS. * src/im/Makefile.am (libim_la_CXXFLAGS): Remove variable. * src/jamidht/Makefile.am (libringacc_la_CXXFLAGS): Likewise. * src/media/audio/Makefile.am (libaudio_la_CXXFLAGS): Honor AM_CXXFLAGS. (libaudio_la_LDFLAGS): Honor the AM_CXXFLAGS variable. * src/media/audio/coreaudio/Makefile.am (libcoreaudiolayer_la_CXXFLAGS): Likewise. * src/media/video/Makefile.am (libvideo_la_CFLAGS): Honor the AM_CFLAGS variable. (libvideo_la_CXXFLAGS): Honor the AM_CXXFLAGS variable. * src/media/video/v4l2/Makefile.am (AM_CXXFLAGS): Extend rather than override. * src/plugin/Makefile.am (libplugin_la_CXXFLAGS): Honor the AM_CXXFLAGS variable. * src/security/Makefile.am (libsecurity_la_CXXFLAGS): Likewise. * src/sip/Makefile.am (libsiplink_la_CXXFLAGS): Likewise. * src/upnp/Makefile.am (libupnpcontrol_la_CXXFLAGS): Remove variable. * src/upnp/protocol/Makefile.am (libupnpprotocol_la_CXXFLAGS): Likewise. * src/upnp/protocol/natpmp/Makefile.am (libnat_pmp_la_CXXFLAGS): Likewise. * src/upnp/protocol/pupnp/Makefile.am (libpupnp_la_CXXFLAGS): Likewise. * test/sip/Makefile.am (AM_CXXFLAGS, AM_LDFLAGS): Extend rather than override. * test/unitTest/Makefile.am (AM_CXXFLAGS, AM_LDFLAGS): Likewise. GitLab: #487 Change-Id: I18be9d812159f8156efb9f7849e7eac6d4c6b3ca squash! configure.ac: Do not set user variables. Change-Id: I1146ea15d6fb75fe53d3cbdd782e981c933e82a6
This commit is contained in:

committed by
Adrien Béraud

parent
5cca262551
commit
bfe7a84454
175
configure.ac
175
configure.ac
@ -22,14 +22,17 @@ AC_CONFIG_HEADERS([config.h])
|
||||
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
|
||||
|
||||
dnl debug mode is default-disabled
|
||||
AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug], [Build in debug mode, adds stricter warnings, disables optimization]))
|
||||
AS_IF([test "x$enable_debug" = "xyes"], [
|
||||
CFLAGS="${CFLAGS} -g -fno-omit-frame-pointer -Wall -Wextra -Wnon-virtual-dtor -Wno-unknown-pragmas -Wformat=2 -O0"
|
||||
CXXFLAGS="${CXXFLAGS} -g -fno-omit-frame-pointer -Wall -Wextra -Wnon-virtual-dtor -Wno-unknown-pragmas -Wformat=2 -O0"
|
||||
], [
|
||||
CFLAGS="${CFLAGS} -DNDEBUG=1 -O3"
|
||||
CXXFLAGS="${CXXFLAGS} -DNDEBUG=1 -O3"
|
||||
])
|
||||
AC_ARG_ENABLE([debug],
|
||||
AS_HELP_STRING([--enable-debug],
|
||||
[Build in debug mode, adds stricter warnings, disables optimization]))
|
||||
|
||||
AS_IF([test "x$enable_debug" = "xyes"],
|
||||
[DAEMONCFLAGS+=" -g -fno-omit-frame-pointer -Wall -Wextra -Wnon-virtual-dtor \
|
||||
-Wno-unknown-pragmas -Wformat=2 -O0"
|
||||
DAEMONCXXFLAGS+=" -g -fno-omit-frame-pointer -Wall -Wextra -Wnon-virtual-dtor \
|
||||
-Wno-unknown-pragmas -Wformat=2 -O0"],
|
||||
[DAEMONCFLAGS+=" -DNDEBUG=1 -O3"
|
||||
DAEMONCXXFLAGS+=" -DNDEBUG=1 -O3"])
|
||||
|
||||
dnl Check for programs
|
||||
AC_PROG_CC
|
||||
@ -55,9 +58,9 @@ case "${host_os}" in
|
||||
linux*)
|
||||
SYS=linux
|
||||
# Necessary for linking .a to a .so
|
||||
LDFLAGS+=" -Wl,-Bsymbolic"
|
||||
DAEMONLDFLAGS+=" -Wl,-Bsymbolic"
|
||||
# Needed for plugin system
|
||||
LDFLAGS+=" -ldl"
|
||||
DAEMONLDFLAGS+=" -ldl"
|
||||
;;
|
||||
darwin*)
|
||||
SYS=darwin
|
||||
@ -87,8 +90,8 @@ case "${host_os}" in
|
||||
|
||||
AC_DEFINE([WIN32_LEAN_AND_MEAN],[1], [Define to limit the scope of <windows.h>.])
|
||||
|
||||
CPPFLAGS+="-D_WIN32_WINNT=0x0601 -DWINVER=0x0601 -D__USE_MINGW_ANSI_STDIO=1"
|
||||
LDFLAGS+="-Wl,--nxcompat -Wl,--dynamicbase"
|
||||
DAEMONCPPFLAGS+=" -D_WIN32_WINNT=0x0601 -DWINVER=0x0601 -D__USE_MINGW_ANSI_STDIO=1"
|
||||
DAEMONLDFLAGS+=" -Wl,--nxcompat -Wl,--dynamicbase"
|
||||
LIBS+=" -lws2_32 -lwsock32 -lshlwapi"
|
||||
ac_default_prefix="`pwd`/_win32"
|
||||
DESTDIR="`pwd`/_win32/"
|
||||
@ -134,11 +137,9 @@ AS_IF([test "$SYS" = linux],[
|
||||
])
|
||||
AM_CONDITIONAL(HAVE_ANDROID, test "${HAVE_ANDROID}" = "1")
|
||||
|
||||
AS_IF([test "$SYS" = linux && test "${HAVE_ANDROID}" != "1"],[
|
||||
CFLAGS="${CFLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
CXXFLAGS="${CXXFLAGS} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
|
||||
],[
|
||||
])
|
||||
AS_IF([test "$SYS" = linux && test "${HAVE_ANDROID}" != "1"],
|
||||
[DAEMONCPPFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"]
|
||||
[])
|
||||
|
||||
dnl override platform specific check for dependent libraries
|
||||
dnl otherwise libtool linking of shared libraries will
|
||||
@ -198,91 +199,67 @@ AC_MSG_RESULT([$CLANG])
|
||||
dnl define DRING_BUILD because we are building libring, not using it
|
||||
dnl if building shared library, define dring_EXPORTS
|
||||
AC_MSG_CHECKING([if compiling shared library])
|
||||
CPPFLAGS="${CPPFLAGS} -fvisibility=hidden -DDRING_BUILD "
|
||||
AS_IF([test "x$enable_shared" == "xyes"], [
|
||||
RING_SHARED=yes
|
||||
CPPFLAGS="${CPPFLAGS} -Ddring_EXPORTS "
|
||||
],[
|
||||
RING_SHARED=no
|
||||
])
|
||||
DAEMONCPPFLAGS+=" -fvisibility=hidden -DDRING_BUILD"
|
||||
AS_IF([test "x$enable_shared" == "xyes"],
|
||||
[RING_SHARED=yes
|
||||
DAEMONCPPFLAGS+=" -Ddring_EXPORTS"],
|
||||
[RING_SHARED=no])
|
||||
AC_MSG_RESULT([$RING_SHARED])
|
||||
|
||||
CPPFLAGS="${CPPFLAGS} -DASIO_STANDALONE"
|
||||
DAEMONCPPFLAGS+=" -DASIO_STANDALONE"
|
||||
|
||||
dnl
|
||||
dnl Check for the contrib directory
|
||||
dnl
|
||||
AC_ARG_WITH(contrib,
|
||||
[AS_HELP_STRING([--with-contrib[=DIR]],
|
||||
[search for 3rd party libraries in DIR/include and DIR/lib])
|
||||
])
|
||||
[search for 3rd party libraries in DIR/include and DIR/lib])])
|
||||
AC_MSG_CHECKING([for 3rd party libraries path])
|
||||
AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"], [
|
||||
CONTRIB_DIR="${srcdir}/contrib/${host}"
|
||||
AS_IF([test ! -d "${CONTRIB_DIR}"], [
|
||||
echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
|
||||
CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
|
||||
AS_IF([test ! -d "${CONTRIB_DIR}"], [
|
||||
echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
|
||||
CONTRIB_DIR=""
|
||||
AC_MSG_RESULT([not found])
|
||||
])
|
||||
])
|
||||
], [
|
||||
AS_IF([test "${with_contrib}" != "no"], [
|
||||
CONTRIB_DIR="${with_contrib}"
|
||||
], [
|
||||
CONTRIB_DIR=""
|
||||
AC_MSG_RESULT([disabled])
|
||||
])
|
||||
])
|
||||
AS_IF([test -z "${with_contrib}" || test "${with_contrib}" = "yes"],
|
||||
[CONTRIB_DIR="${srcdir}/contrib/${host}"
|
||||
AS_IF([test ! -d "${CONTRIB_DIR}"],
|
||||
[echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
|
||||
CONTRIB_DIR="${srcdir}/contrib/`$CC -dumpmachine`"
|
||||
AS_IF([test ! -d "${CONTRIB_DIR}"],
|
||||
[echo "${CONTRIB_DIR} not found" >&AS_MESSAGE_LOG_FD
|
||||
CONTRIB_DIR=""
|
||||
AC_MSG_RESULT([not found])])])],
|
||||
[AS_IF([test "${with_contrib}" != "no"],
|
||||
[CONTRIB_DIR="${with_contrib}"],
|
||||
[CONTRIB_DIR=""
|
||||
AC_MSG_RESULT([disabled])])])
|
||||
|
||||
AS_IF([test -n "${CONTRIB_DIR}"], [
|
||||
AS_IF([test -d "${CONTRIB_DIR}/lib"],[
|
||||
CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`
|
||||
], [
|
||||
echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
|
||||
CONTRIB_DIR=""
|
||||
AC_MSG_RESULT([not usable])
|
||||
])
|
||||
])
|
||||
AS_IF([test -n "${CONTRIB_DIR}"],
|
||||
[AS_IF([test -d "${CONTRIB_DIR}/lib"],
|
||||
[CONTRIB_DIR=`cd "${CONTRIB_DIR}" && pwd`],
|
||||
[echo "${CONTRIB_DIR}/lib not found" >&AS_MESSAGE_LOG_FD
|
||||
CONTRIB_DIR=""
|
||||
AC_MSG_RESULT([not usable])])])
|
||||
|
||||
AS_IF([test -n "${CONTRIB_DIR}"], [
|
||||
AC_MSG_RESULT([${CONTRIB_DIR}])
|
||||
export PATH=${CONTRIB_DIR}/bin:$PATH
|
||||
CPPFLAGS="${CPPFLAGS} -I${CONTRIB_DIR}/include"
|
||||
AS_IF([test -n "${CONTRIB_DIR}"],
|
||||
[AC_MSG_RESULT([${CONTRIB_DIR}])
|
||||
export PATH=${CONTRIB_DIR}/bin:$PATH
|
||||
|
||||
CFLAGS="${CFLAGS} -DPJ_AUTOCONF=1 "
|
||||
CXXFLAGS="${CXXFLAGS} -DPJ_AUTOCONF=1 "
|
||||
AS_IF([test "${HAVE_WIN64}" = "1"],[
|
||||
CFLAGS+=" -DPJ_WIN64=1"
|
||||
CXXFLAGS+=" -DPJ_WIN64=1"
|
||||
])
|
||||
CFLAGS+=" -I${CONTRIB_DIR}/include"
|
||||
CXXFLAGS+=" -I${CONTRIB_DIR}/include"
|
||||
DAEMONCPPFLAGS+=" -I${CONTRIB_DIR}/include -DPJ_AUTOCONF=1"
|
||||
|
||||
OBJCFLAGS="${OBJCFLAGS} -I${CONTRIB_DIR}/include"
|
||||
AS_IF([test "${SYS}" = "mingw32"],[
|
||||
PKG_CONFIG_PATH_CUSTOM="${CONTRIB_DIR}/lib/pkgconfig:${CONTRIB_DIR}/lib64/pkgconfig"
|
||||
AC_SUBST(PKG_CONFIG_PATH_CUSTOM)
|
||||
export PKG_CONFIG_PATH_CUSTOM
|
||||
])
|
||||
export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:${CONTRIB_DIR}/lib64/pkgconfig:$PKG_CONFIG_PATH"
|
||||
LDFLAGS="${LDFLAGS} -L${CONTRIB_DIR}/lib"
|
||||
AS_IF([test "${HAVE_WIN64}" = "1"],
|
||||
[DAEMONCPPFLAGS+=" -DPJ_WIN64=1"])
|
||||
|
||||
AS_IF([test "${SYS}" = "darwin"], [
|
||||
export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
|
||||
export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"
|
||||
], [
|
||||
PKG_CHECK_MODULES([Jsoncpp], [jsoncpp >= 1.6.5])
|
||||
CPPFLAGS="${CPPFLAGS} ${Jsoncpp_CFLAGS}"
|
||||
LDFLAGS="${LDFLAGS} ${Jsoncpp_LIBS}"
|
||||
])
|
||||
], [
|
||||
AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"], [
|
||||
AC_MSG_ERROR([Third party libraries not found!])
|
||||
])
|
||||
])
|
||||
AS_IF([test "${SYS}" = "mingw32"],
|
||||
[PKG_CONFIG_PATH_CUSTOM="${CONTRIB_DIR}/lib/pkgconfig:\
|
||||
${CONTRIB_DIR}/lib64/pkgconfig"
|
||||
AC_SUBST(PKG_CONFIG_PATH_CUSTOM)
|
||||
export PKG_CONFIG_PATH_CUSTOM])
|
||||
|
||||
export PKG_CONFIG_PATH="${CONTRIB_DIR}/lib/pkgconfig:\
|
||||
${CONTRIB_DIR}/lib64/pkgconfig:$PKG_CONFIG_PATH"
|
||||
DAEMONLDFLAGS+=" -L${CONTRIB_DIR}/lib"
|
||||
|
||||
AS_IF([test "${SYS}" = "darwin"],
|
||||
[export LD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$LD_LIBRARY_PATH"
|
||||
export DYLD_LIBRARY_PATH="${CONTRIB_DIR}/lib:$DYLD_LIBRARY_PATH"])],
|
||||
[AS_IF([test -n "${with_contrib}" && test "${with_contrib}" != "no"],
|
||||
[AC_MSG_ERROR([Third party libraries not found!])])])
|
||||
AC_SUBST(CONTRIB_DIR)
|
||||
|
||||
dnl Add extras/tools to the PATH
|
||||
@ -298,8 +275,13 @@ PKG_CHECK_MODULES(ZLIB, zlib,, AC_MSG_ERROR([zlib not found]))
|
||||
dnl Check for pjproject
|
||||
PKG_CHECK_MODULES(PJPROJECT, libpjproject,, AC_MSG_ERROR([Missing pjproject files]))
|
||||
|
||||
PKG_CHECK_MODULES([YAMLCPP], [yaml-cpp >= 0.5.1],, AC_MSG_ERROR([yaml-cpp not found]))
|
||||
PKG_CHECK_MODULES([JSONCPP], [jsoncpp >= 1.6.5],, AC_MSG_ERROR([jsoncpp not found]))
|
||||
PKG_CHECK_MODULES([YAMLCPP], [yaml-cpp >= 0.5.1],,
|
||||
AC_MSG_ERROR([yaml-cpp not found]))
|
||||
|
||||
PKG_CHECK_MODULES([JSONCPP], [jsoncpp >= 1.6.5],
|
||||
[DAEMONCPPFLAGS+=" ${JSONCPP_CFLAGS}"
|
||||
DAEMONLDFLAGS+=" ${JSONCPP_LIBS}"],
|
||||
AC_MSG_ERROR([jsoncpp not found]))
|
||||
|
||||
if test "${HAVE_ANDROID}" = "1"; then
|
||||
dnl Check for OpenSL
|
||||
@ -382,9 +364,9 @@ AM_CONDITIONAL(BUILD_JACK, test "x$have_jack" = "xyes")
|
||||
dnl Coverage is default-disabled
|
||||
AC_ARG_ENABLE([coverage], AS_HELP_STRING([--enable-coverage], [Enable coverage]))
|
||||
|
||||
AS_IF([test "x$enable_coverage" = "xyes"], [
|
||||
CXXFLAGS="${CXXFLAGS} --coverage"
|
||||
LDFLAGS="${LDFLAGS} --coverage"])
|
||||
AS_IF([test "x$enable_coverage" = "xyes"],
|
||||
[DAEMONCXXFLAGS+=" --coverage"
|
||||
DAEMONLDFLAGS+=" --coverage"])
|
||||
|
||||
# DBUSCPP
|
||||
dnl Check for dbuscpp, the C++ bindings for D-Bus
|
||||
@ -660,5 +642,12 @@ AC_CONFIG_FILES([Makefile \
|
||||
doc/Makefile \
|
||||
doc/doxygen/Makefile])
|
||||
|
||||
dnl Transfer the Automake variables set here to Makefile.in.
|
||||
echo DAEMONCPPFLAGS=$DAEMONCPPFLAGS
|
||||
AC_SUBST([AM_CPPFLAGS], [$DAEMONCPPFLAGS])
|
||||
AC_SUBST([AM_CFLAGS], [$DAEMONCFLAGS])
|
||||
AC_SUBST([AM_CXXFLAGS], [$DAEMONCXXFLAGS])
|
||||
AC_SUBST([AM_LDFLAGS], [$DAEMONLDFLAGS])
|
||||
|
||||
# Go!
|
||||
AC_OUTPUT
|
||||
|
Reference in New Issue
Block a user