1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-02 08:39:46 +02:00
benjamin.drung@gmail.com 6619f23305 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.
2013-11-07 21:00:56 +00:00

165 lines
5.0 KiB
Plaintext

dnl
dnl libwidgetextra configure.ac script
dnl
dnl Joshua Haberman
dnl Dominic Mazzoni
dnl Richard Ash
dnl
dnl
dnl Instructions: to create "configure" from "configure.ac", run: autoreconf
dnl
dnl Require autoconf >= 2.60
AC_PREREQ([2.60])
dnl Init autoconf
AC_INIT([libwidgetextra], [1.0])
dnl check we have some source (are in the right directory)
AC_CONFIG_SRCDIR([NonGuiThread.h])
AC_CONFIG_AUX_DIR([autotools])
dnl we have some extra macros in m4/
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([1.11 dist-xz foreign no-dist-gzip -Wall])
AM_MAINTAINER_MODE([disable])
AM_PROG_AR
LT_INIT
dnl -------------------------------------------------------
dnl Checks for programs.
dnl -------------------------------------------------------
dnl save $CFLAGS etc. since AC_PROG_CC likes to insert "-g -O2"
dnl if $CFLAGS is blank and it finds GCC
cflags_save="$CFLAGS"
cppflags_save="$CPPFLAGS"
cxxflags_save="$CXXFLAGS"
AC_PROG_CC
AC_LANG([C++])
AC_PROG_CXX
AC_PROG_CXXCPP
CFLAGS="$cflags_save"
CPPFLAGS="$cppflags_save"
CXXFLAGS="$cxxflags_save"
dnl Build Options
AC_ARG_ENABLE(static-wx,
[AS_HELP_STRING([--enable-static-wx],
[link wx statically [default=no]])],
static_wx_preference="--static=$enableval",
static_wx_preference="")
AC_ARG_ENABLE(unicode,
[AS_HELP_STRING([--enable-unicode],
[enable unicode support [default=yes]])],
unicode_preference="--unicode=$enableval",
unicode_preference="--unicode=yes")
AC_ARG_ENABLE(debug,
[AS_HELP_STRING([--enable-debug],
[enable debug support [default=no]])],
debug_preference="$enableval",
debug_preference="no")
dnl AC_ARG_WITH(wx-version,
dnl [AS_HELP_STRING([--with-wx-version],
dnl [select wxWidgets version (if both installed) [2.8,]])],
dnl wx_preference="--version=$withval",
dnl wx_preference="")
dnl Right now only support wx 2.8
dnl ----------------------------------------------------
dnl If user asked for debug, put debug in compiler flags
dnl ----------------------------------------------------
if test "$debug_preference" = "yes"; then
dnl we want debuging on
AC_MSG_NOTICE([Adding -g for debugging to CFLAGS and CXXFLAGS ...])
CFLAGS="${CFLAGS} -g "
CXXFLAGS="${CXXFLAGS} -g "
fi
dnl --------------------------------------------------------------------------
dnl We would like warnings enabled on the builds, but different compilers need
dnl different options for these. This bit tries to work out what flags we
dnl should add to the compiler we are using.
dnl --------------------------------------------------------------------------
dnl Strict prototypes flags for C (only C because doesn't work for C++)
AX_CFLAGS_STRICT_PROTOTYPES(CFLAGS)
dnl Sensible warnings for C
AX_CFLAGS_WARN_ALL(wall_flags)
CFLAGS="${CFLAGS} $wall_flags"
dnl try and use it on C++ as well
AX_CXX_CHECK_FLAG([$wall_flags], [[int foo;]], [[foo = 1;]], cxx_does_wall="yes", cxx_does_wall="no")
if test "x$cxx_does_wall" = "xyes" ; then
dnl can use all warnings flag on the C++ compiler
CXXFLAGS="${CXXFLAGS} $wall_flags"
fi
AX_CXXCPP_CHECK_FLAG([$wall_flags], [[int foo;]], [[foo = 1;]], cpp_does_wall="yes", cpp_does_wall="no")
if test "x$cpp_does_wall" = "xyes" ; then
dnl can use all warnings flag on the C++ pre-processor
CPPFLAGS="${CPPFLAGS} $wall_flags"
fi
dnl --- check for required libraries ---
dnl wxWidgets -- we assume that if wx-config is found, wxWidgets is successfully installed.
AC_PATH_PROG(WX_CONFIG, wx-config, no, $PATH:/usr/local/bin )
if [[ "$WX_CONFIG" = "no" ]] ; then
AC_MSG_ERROR("Could not find wx-config: is wxWidgets installed? is wx-config in your path?")
fi
dnl --- Check that the wx version is at least 2.8.x ---
if test "x$debug_preference" = "xyes"; then
dnl want debug wx as well
wxconfigargs="--debug=yes"
else
dnl normal wx
wxconfigargs=""
fi
dnl more things we always pass to wx-config
wxconfigargs="$static_wx_preference $unicode_preference $wxconfigargs $wx_preference"
wx_version=`${WX_CONFIG} $wxconfigargs --version`
AC_MSG_NOTICE([Checking that the chosen version of wxWidgets is 2.8.x])
case "${wx_version}" in
2.8.*)
echo "Great, you're using wxWidgets ${wx_version}!"
;;
*)
wx_list=`${WX_CONFIG} --list`
AC_MSG_ERROR([Unable to locate a suitable configuration of wxWidgets v2.8.x or higher.
The currently available configurations are listed below. If necessary, either
install the package for your distribution or download the latest version of
wxWidgets
from http://wxwidgets.org.
${wx_list}])
esac
dnl Gather wx arguments
WX_CXXFLAGS=$($WX_CONFIG $wxconfigargs --cxxflags)
WX_LIBS=$($WX_CONFIG $wxconfigargs --libs)
AC_SUBST([WX_CXXFLAGS])
AC_SUBST([WX_LIBS])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIZE_T
AC_CONFIG_FILES([libwidgetextra.pc Makefile])
AC_OUTPUT
echo ""
echo "Run 'configure --help' for an explanation of the possible options,"
echo "otherwise run 'make' to build libwidgetextra."