dnl $Id: configure.in 757 2007-05-26 18:41:54Z $ AC_INIT(src/main.cc) AM_INIT_AUTOMAKE(mp3plot,[0.4.0a]) dnl Sets build and build_{cpu,vendor,os} dnl Used in Makefile.am to generate the static package name dnl Ref: AC_CANONICAL_BUILD AC_REVISION(SVN $Rev: 757 $) dnl Initial suggested values dnl FIXME: What's the equivalent to ":=" CPPFLAGS="-Wall $CPPFLAGS" dnl -Werror CXXFLAGS="-O2 $CXXFLAGS" dnl Calls to CXX should also include CPPFLAGS, no need to repeat LDFLAGS="-Wl,--as-needed $LDFLAGS" LIBS="$LIBS" AC_LANG_CPLUSPLUS AM_CONFIG_HEADER(src/config.h) AC_DEFINE(DESCRIPTION,"MP3 bitrate plot tool","Program description") AC_DEFINE(COPYRIGHT_YEAR,"2007","Year(s) of development") AC_DEFINE(AUTHOR,"Toni Corvera","The author's name") AC_DEFINE(UPSTREAM_URL, "http://p.outlyer.net/mp3plot", "Homepage") AC_DEFINE(PLOT_SYMBOL,".","This is the symbol used in the plot 'bar'") dnl Used by Makefile.am to tag the source tar package UPSTREAM_URL=http://p.outlyer.net/mp3plot AC_SUBST(UPSTREAM_URL) dnl Defines in the Makefiles dnl Autotools standard macro reference dnl Ref: AC_PROG_INSTALL AC_PROG_CXX AC_PROG_CXXCPP dnl Used in Makefile.am: AC_PROG_MAKE_SET AC_PROG_LN_S AC_PROG_MKDIR_P dnl Probably unneeded AC_TYPE_SIZE_T # Required headers AC_CHECK_HEADERS([errno.h sysexits.h arpa/inet.h], [], AC_MSG_ERROR([Missing required header]) ) # C++ STL sanity check, unneeded except for broken systems I guess AC_CHECK_HEADERS([algorithm fstream iostream memory ostream sstream string vector map], [], AC_MSG_ERROR([Missing STL header]) ) # C++ compatibility headers with C in C++ nomenclature AC_CHECK_HEADERS([cctype cassert], [], AC_MSG_ERROR([Missing C/C++ header])) # Spinner stuff AC_CHECK_HEADERS([sys/wait.h sys/types.h signal.h unistd.h], [], AC_MSG_ERROR([Missing required header]) ) dnl pkg-config: check for a Magick++ implementation (ImageMagick api for C++) # GraphicsMagick, a X11-licensed compatible alternative to ImageMagick dnl FIXME: Whats the standard way to define this? PKG_CHECK_MODULES(GraphicsMagick, [GraphicsMagick++], [ AC_DEFINE(HAVE_GRAPHICSMAGICK,1,Define to 1 if GraphicsMagick++ is available) HAVE_GRAPHICSMAGICK=1 ], AC_MSG_NOTICE([Optional package GraphicsMagick++ not available]) ) # ImageMagick, apparently GPL-compatible PKG_CHECK_MODULES(ImageMagick, [ImageMagick++], [ AC_DEFINE(HAVE_IMAGEMAGICK,1,Define to 1 if ImageMagick++ is available) HAVE_IMAGEMAGICK=1 ], AC_MSG_NOTICE([Optional package ImageMagick++ not available]) ) dnl TODO: Allow ther user choosing if test "$HAVE_GRAPHICSMAGICK" == "1" ; then AC_MSG_NOTICE([Using GraphicsMagick++ for graphics support]) MAGICK_LIBS="$GraphicsMagick_LIBS" MAGICK_CFLAGS="$GraphicsMagick_CFLAGS" AC_DEFINE(HAVE_MAGICK,1,[Magick++ available]) elif test "$HAVE_IMAGEMAGICK" == "1" ; then AC_MSG_NOTICE([Using ImageMagick++ for graphics support]) MAGICK_LIBS="$ImageMagick_LIBS" MAGICK_CFLAGS="$ImageMagick_CFLAGS" AC_DEFINE(HAVE_MAGICK,1,[Magick++ available]) else AC_MSG_WARN([No graphics output support is available, either GraphicsMagick++ or ImageMagick++ is required to get graphical output support]) fi dnl Reference: dnl http://randspringer.de/boost/ucl-sbs.html dnl http://autoconf-archive.cryp.to/ax_boost_base.html dnl At least 1.33 (not tested with anything below) dnl (and actually it's been awhile since I started using 1.34) AX_BOOST_BASE([1.33]) dnl http://autoconf-archive.cryp.to/ax_boost_program_options.html AX_BOOST_PROGRAM_OPTIONS dnl Extra values CPPFLAGS="$CPPFLAGS" CXXFLAGS="$CXXFLAGS $MAGICK_CFLAGS" LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" LIBS="$LIBS $BOOST_PROGRAM_OPTIONS_LIB $MAGICK_LIBS" AC_OUTPUT([Makefile src/Makefile ])