1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-10 16:43:33 +02:00

Use automake for libwidgetextra.

Replace the custom Makefile by automake. In addition drop the hacky
libwidgetextra-uninstalled.pc and configure the library like every other
optional library, but check if the library is not disabled.
This commit is contained in:
benjamin.drung@gmail.com
2013-11-07 21:00:56 +00:00
parent 0d30aad773
commit 6619f23305
7 changed files with 82 additions and 95 deletions

View File

@@ -1,37 +1,50 @@
dnl Add Audacity/WX license?
dnl Please increment the serial number below whenever you alter this macro
dnl for the benefit of automatic macro update systems
# audacity_checklib_widgetextra.m4 serial 1
# audacity_checklib_widgetextra.m4 serial 2
dnl A function to check for the correct presence of lib-widget-extra in the
dnl lib-src tree. Note that this is a mandatory library, and
dnl that because we maintain it, we don't support system copies.
dnl You would have thought you could use pkg-config for this. But the
dnl pkg-config file doesn't exist until configure has been run for
dnl lib-widget-extra. Using AC_CONFIG_SUBDIRS, that doesn't happen until
dnl after everything in the main configure script has happened, so
dnl we can't detect anything about the configured library, because it isn't
dnl configured when this runs.
dnl To get round this we have created our own subdirectory configuration
dnl function, AX_CONFIG_DIR based on a subset of the code that implements
dnl AC_CONFIG_SUBDIRS.
AC_DEFUN([AUDACITY_CHECKLIB_WIDGETEXTRA], [
dnl we always need to configure libwidgetextra, so just call the script
dnl regardless.
AX_CONFIG_DIR(["${srcdir}/lib-src/lib-widget-extra"])
dnl having done that we get a pkg-config file we can use
dnl add the directory with lib-widget-extra in to the pkg-config search path
PKG_CONFIG_PATH="${srcdir}/lib-src/lib-widget-extra/:$PKG_CONFIG_PATH"
export PKG_CONFIG_PATH
PKG_CHECK_MODULES(WIDGETEXTRA, libwidgetextra,
widgetextra_available="yes",
widgetextra_available="no")
AC_ARG_WITH(widgetextra,
[AS_HELP_STRING([--with-widgetextra],
[which libwidgetextra to use (required): [system,local]])],
WIDGETEXTRA_ARGUMENT=$withval,
WIDGETEXTRA_ARGUMENT="unspecified")
if test "x$widgetextra_available" != "xyes" ; then
AC_MSG_ERROR([lib-widget-extra is required to build audacity. A copy is included in the audacity source distribution at lib-src/lib-widget-extra/.])
dnl see if libwidgetextra is installed on the system
PKG_CHECK_MODULES(WIDGETEXTRA, libwidgetextra,
WIDGETEXTRA_SYSTEM_AVAILABLE="yes",
WIDGETEXTRA_SYSTEM_AVAILABLE="no")
if test "$WIDGETEXTRA_SYSTEM_AVAILABLE" = "yes"; then
WIDGETEXTRA_SYSTEM_LIBS=$WIDGETEXTRA_LIBS
WIDGETEXTRA_SYSTEM_CXXFLAGS=$WIDGETEXTRA_CFLAGS
AC_MSG_NOTICE([libwidgetextra library is available as system library.])
else
AC_MSG_NOTICE([libwidgetextra library is NOT available as system library.])
fi
dnl see if libwidgetextra is available locally
AC_CHECK_FILE(${srcdir}/lib-src/lib-widget-extra/NonGuiThread.h,
WIDGETEXTRA_LOCAL_AVAILABLE="yes",
WIDGETEXTRA_LOCAL_AVAILABLE="no")
if test "$WIDGETEXTRA_LOCAL_AVAILABLE" = "yes"; then
WIDGETEXTRA_LOCAL_LIBS="libwidgetextra.a"
WIDGETEXTRA_LOCAL_CXXFLAGS='-I$(top_srcdir)/lib-src/lib-widget-extra'
AC_MSG_NOTICE([libwidgetextra library is available in the local tree])
else
AC_MSG_NOTICE([libwidgetextra library is NOT available in the local tree])
fi
])
AC_DEFUN([AUDACITY_CONFIG_SUBDIRS_WIDGETEXTRA], [
if test "$WIDGETEXTRA_USE_LOCAL" = yes; then
AC_CONFIG_SUBDIRS([lib-src/lib-widget-extra])
fi
dnl otherwise good - got it. Flags will be available for use in
dnl WIDGETEXTRA_LIBS and friends
])