dnl configure.in for Openbox dnl Initialize autoconf and automake AC_INIT(src/openbox.cc) AM_INIT_AUTOMAKE(openbox,1.2.0,no-define) dnl Determine default prefix test x$prefix = "xNONE" && prefix="$ac_default_prefix" dnl Check for various flavors of UNIX(r) dnl AC_AIX dnl AC_ISC_POSIX dnl Locate required external software AC_PROG_CC AC_PROG_CXX AC_PROG_INSTALL AC_CHECK_PROGS(regex_cmd, sed) if test x$regex_cmd = "x"; then AC_MSG_ERROR([error. sed is required to build the default menu file.]) fi dnl Check for system header files AC_CHECK_HEADERS(ctype.h dirent.h fcntl.h libgen.h locale.h nl_types.h process.h signal.h stdarg.h stdio.h string.h stdlib.h time.h unistd.h sys/param.h sys/select.h sys/signal.h sys/stat.h sys/time.h sys/types.h sys/wait.h) AC_HEADER_TIME dnl Check for existance of basename(), setlocale() and strftime() AC_CHECK_FUNCS(basename, , AC_CHECK_LIB(gen, basename, AC_DEFINE(HAVE_BASENAME) LIBS="$LIBS -lgen")) AC_CHECK_FUNCS(getpid setlocale sigaction strftime strcasestr snprintf vsnprintf catopen catgets catclose) AC_CHECK_LIB(nsl, t_open, LIBS="$LIBS -lnsl") AC_CHECK_LIB(socket, socket, LIBS="$LIBS -lsocket") dnl Check for X headers and libraries AC_PATH_X AC_PATH_XTRA test x$no_x = "xyes" && AC_MSG_ERROR([Openbox requires the X Window System libraries and headers.]) test x$x_includes = "x" && x_includes="/usr/include" test x$x_libraries = "x" && x_libraries="/usr/lib" CFLAGS="$CFLAGS $X_CFLAGS" CXXFLAGS="$CXXFLAGS $X_CFLAGS" LIBS="$LIBS $X_LIBS" LDFLAGS="$LDFLAGS $LIBS $X_PRE_LIBS" dnl Check for required functions in -lX11 AC_CHECK_LIB(X11, XOpenDisplay, LIBS="$LIBS -lX11", AC_MSG_ERROR([Could not find XOpenDisplay in -lX11.]) ) LIBS="$LIBS $X_EXTRA_LIBS" Xext_lib="" dnl Check for XShape extension support and proper library files. SHAPE="" AC_MSG_CHECKING([whether to build support for the XShape extension]) AC_ARG_ENABLE( shape, [ --enable-shape enable support of the XShape extension [default=yes]]) : ${enableval="yes"} if test x$enableval = "xyes"; then AC_MSG_RESULT([yes]) AC_CHECK_LIB(Xext, XShapeCombineShape, AC_MSG_CHECKING([for X11/extensions/shape.h]) AC_TRY_LINK( #include #include #include , long foo = ShapeSet, AC_MSG_RESULT([yes]) SHAPE="-DSHAPE"; Xext_lib="-lXext", AC_MSG_RESULT([no]) ) ) else AC_MSG_RESULT([no]) fi AC_SUBST(SHAPE) LIBS="$LIBS $Xext_lib" dnl Check for the Slit SLIT="" AC_MSG_CHECKING([whether to include the Slit]) AC_ARG_ENABLE( slit, [ --enable-slit include code for the Slit [default=yes]], if test x$enableval = "xyes"; then AC_MSG_RESULT([yes]) SLIT="-DSLIT" else AC_MSG_RESULT([no]) fi, AC_MSG_RESULT([yes]) SLIT="-DSLIT" ) AC_SUBST(SLIT) dnl Check for the new WM Spec NEWWMSPEC="" AC_MSG_CHECKING([whether to include the new WM Spec (DOES NOTHING)]) AC_ARG_ENABLE( newspec, [ --enable-newspec include code for the new WM Spec (DOES NOTHING) [default=no]], if test x$enableval = "xyes"; then AC_MSG_RESULT([yes]) NEWWMSPEC="-DNEWWMSPEC" else AC_MSG_RESULT([no]) fi, AC_MSG_RESULT([no]) ) AC_SUBST(NEWWMSPEC) dnl Check for Interlacing INTERLACE="" AC_MSG_CHECKING([whether to include interlacing image code]) AC_ARG_ENABLE( interlace, [ --enable-interlace include code for image interlacing [default=yes]], if test x$enableval = "xyes"; then AC_MSG_RESULT([yes]) INTERLACE="-DINTERLACE" else AC_MSG_RESULT([no]) fi, AC_MSG_RESULT([yes]) INTERLACE="-DINTERLACE" ) AC_SUBST(INTERLACE) dnl Check for ordered 8bpp dithering ORDEREDPSEUDO="" AC_MSG_CHECKING([whether to include Pseudocolor ordered dithering code]) AC_ARG_ENABLE(ordered-pseudo, [ --enable-ordered-pseudo include code for ordered pseudocolor (8bpp) dithering [default=no]], if test x$enableval = "xyes"; then AC_MSG_RESULT([yes]) ORDEREDPSEUDO="-DORDEREDPSEUDO" else AC_MSG_RESULT([no]) fi, AC_MSG_RESULT([no]) ) AC_SUBST(ORDEREDPSEUDO) dnl Check for event clobbering CLOBBER="" AC_MSG_CHECKING([whether to intercept mouse events to clients]) AC_ARG_ENABLE(clobber, [ --enable-clobber intercept mouse events to clients when num lock or scroll lock are on [default=yes]], if test x$enableval = "xno"; then AC_MSG_RESULT([no]) CLOBBER="-DNOCLOBBER" else AC_MSG_RESULT([yes]) fi, AC_MSG_RESULT([no]) ) AC_SUBST(CLOBBER) dnl Check whether to include debugging code DEBUG="" AC_MSG_CHECKING([whether to include verbose debugging code]) AC_ARG_ENABLE(debug, [ --enable-debug include verbose debugging code [default=no]], if test x$enableval = "xyes"; then AC_MSG_RESULT([yes]) DEBUG="-DDEBUG -Wall -W -pedantic" else AC_MSG_RESULT([no]) fi, AC_MSG_RESULT([no]) ) AC_SUBST(DEBUG) dnl Check whether to include natural language support (i18n) NLS="" AC_MSG_CHECKING([whether to include NLS support]) AC_ARG_ENABLE(nls, [ --enable-nls include natural language support [default=yes]], if test x$enableval = "xyes"; then AC_MSG_RESULT([yes]) NLS="-DNLS" else AC_MSG_RESULT([no]) fi, AC_MSG_RESULT([yes]) NLS="-DNLS" ) AC_SUBST(NLS) AC_CHECK_LIB(xpg4, setlocale, LIBS="$LIBS -lxpg4") AC_CHECK_PROGS(gencat_cmd, gencat) if test x$gencat_cmd = "x"; then NLS="" fi dnl Check for new timed pixmap cache TIMEDCACHE="" AC_MSG_CHECKING([whether to use the new timed pixmap cache]) AC_ARG_ENABLE( timed-cache, [ --enable-timed-cache use new timed pixmap cache [default=yes]], if test x$enableval = "xyes"; then AC_MSG_RESULT([yes]) TIMEDCACHE="-DTIMEDCACHE" else AC_MSG_RESULT([no]) fi, AC_MSG_RESULT([yes]) TIMEDCACHE="-DTIMEDCACHE" ) AC_SUBST(TIMEDCACHE) dnl Determine the return type of signal handlers AC_TYPE_SIGNAL dnl Determine if maintainer portions of the Makefiles should be included. AM_MAINTAINER_MODE dnl Print results AC_MSG_RESULT([]) AC_MSG_RESULT([ $PACKAGE version $VERSION configured successfully.]) AC_MSG_RESULT([]) AC_MSG_RESULT([Using '$prefix' for installation.]) AC_MSG_RESULT([Using '$CXX' for C++ compiler.]) AC_MSG_RESULT([Building with '$CXXFLAGS' for C++ compiler flags.]) AC_MSG_RESULT([Building with '$LIBS' for linker flags.]) AC_MSG_RESULT([]) dnl Output files AM_CONFIG_HEADER(config.h) AC_OUTPUT(Makefile src/Makefile util/Makefile data/Makefile data/styles/Makefile doc/Makefile dnl doc/ja_JP/Makefile dnl doc/nl_NL/Makefile dnl doc/sl_SI/Makefile nls/Makefile nls/C/Makefile nls/da_DK/Makefile nls/de_DE/Makefile nls/es_ES/Makefile nls/et_EE/Makefile nls/fr_FR/Makefile nls/it_IT/Makefile nls/ja_JP/Makefile nls/nl_NL/Makefile nls/pt_BR/Makefile nls/ru_RU/Makefile nls/sl_SI/Makefile nls/sv_SE/Makefile nls/tr_TR/Makefile nls/zh_CN/Makefile version.h)