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:
@@ -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
|
||||
])
|
||||
|
Reference in New Issue
Block a user