AC_PREREQ(2.67) AC_INIT([TilEm], [2.0], [tilem-devel@lists.sourceforge.net], [tilem], [http://tilem.sourceforge.net/]) AC_CONFIG_SRCDIR([emu/tilem.h]) # Checks for programs AC_PROG_CC AC_PROG_CPP AC_ARG_VAR(OPT_CFLAGS, [Additional C compiler flags used for optimizing critical areas of the code (default: -O3 if using GCC)]) if test "x$GCC" = "xyes" ; then CFLAGS="$CFLAGS -W -Wall -Wwrite-strings" if test "x$OPT_CFLAGS" = "x" ; then OPT_CFLAGS="-O3" fi fi AC_CHECK_TOOL(AR, [ar], [false]) AC_ARG_VAR(AR, [Static library archiver]) AC_ARG_VAR(AR_FLAGS, [Flags to pass to ar to build a static library]) if test "x$AR_FLAGS" = "x" ; then AR_FLAGS=cru fi AC_PROG_RANLIB AC_ARG_VAR(RANLIB, [Program to make a static library linkable]) AC_PROG_INSTALL AC_PROG_MAKE_SET AC_CHECK_PROG([UPDATE_DESKTOP_DATABASE], [update-desktop-database], [update-desktop-database], [:]) AC_CHECK_PROG([UPDATE_MIME_DATABASE], [update-mime-database], [update-mime-database], [:]) # Checks for libraries m4_define(with_flags, [ save_cflags="$CFLAGS" save_libs="$LIBS" CFLAGS="$CFLAGS $$1_CFLAGS" LIBS="$LIBS $$1_LIBS" $2 CFLAGS="$save_cflags" LIBS="$save_libs" ]) # GLib and GTK+ PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.6.0 glib-2.0 >= 2.12.0 gthread-2.0) AC_ARG_ENABLE([gtk-deprecated], AS_HELP_STRING([--disable-gtk-deprecated], [Disable deprecated GTK+ API]), [ enable_gtk_deprecated=$enableval ], [ enable_gtk_deprecated=yes ]) if test "x$enable_gtk_deprecated" = "xno" ; then GTK_CFLAGS="$GTK_CFLAGS -DG_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGSEAL_ENABLE" fi # If using the native Windows version of GTK+, be sure to use # -mms-bitfields for all compilation. Also, use -mwindows for linking # GUI programs. # (If not using pkg-config, you're on your own) if test "x$PKG_CONFIG" != "x" ; then gtk_target=`$PKG_CONFIG --variable=target gtk+-2.0` fi if test "x$gtk_target" = "xwin32" && test "x$GCC" = "xyes" ; then CFLAGS="$CFLAGS -mms-bitfields" GUI_LDFLAGS="-mwindows" LIBS="-lcomdlg32 -lshell32 -lole32 $LIBS" gui_extra_objects="tilem2rc.o" else GUI_LDFLAGS="" gui_extra_objects="" fi AC_SUBST(GUI_LDFLAGS) AC_SUBST(gui_extra_objects) with_flags(GTK, [ AC_CHECK_FUNC(gtk_init, [ have_gtk=yes ], [ have_gtk=no ]) ]) if test "x$have_gtk" != "xyes" ; then AC_MSG_ERROR([GTK+ 2.x libraries not found or not usable. You must install a recent version of GTK+ 2.x, including the -dev/-devel packages if appropriate.]) fi # Libticalcs2 and related libraries PKG_CHECK_MODULES(TICALCS, ticalcs2 ticables2 tifiles2 ticonv, [ have_ticalcs=maybe ], [ have_ticalcs=no ]) if test "x$have_ticalcs" = "xmaybe" ; then with_flags(TICALCS, [ AC_CHECK_FUNC(ticalcs_library_init, [ have_ticalcs=yes ], [ have_ticalcs=no ]) ]) fi if test "x$have_ticalcs" != "xyes" ; then AC_MSG_ERROR([libticalcs2 not found or not usable. $TICALCS_PKG_ERRORS You must install libticalcs2, libticables2, libtifiles2, and libticonv (including the -dev/-devel packages if appropriate.) These libraries are available from . If you have installed the libraries in a non-standard location (or if you're cross-compiling), you will need to add the location of ticalcs2.pc to your PKG_CONFIG_PATH environment variable, or set the TICALCS_CFLAGS and TICALCS_LIBS environment variables by hand.]) fi # Tools used for building the Windows installer if test "x$gtk_target" = "xwin32" ; then AC_CHECK_TOOL([STRIP], [strip], [:]) AC_CHECK_TOOL([OBJDUMP], [objdump], [objdump]) AC_CHECK_TOOL([WINDRES], [windres], [windres]) AC_CHECK_PROG([MAKENSIS], [makensis], [makensis]) AC_PROG_LN_S AC_MSG_CHECKING([where to find GTK+ runtime libraries]) if test "x$GTK_BINDIR" = "x" ; then prefix=`$PKG_CONFIG --variable=exec_prefix gtk+-2.0` test "x$prefix" != "x" && GTK_BINDIR="$prefix/bin" fi AC_MSG_RESULT([$GTK_BINDIR]) AC_MSG_CHECKING([where to find ticalcs2 runtime libraries]) if test "x$TICALCS_BINDIR" = "x" ; then prefix=`$PKG_CONFIG --variable=exec_prefix ticalcs2` test "x$prefix" != "x" && TICALCS_BINDIR="$prefix/bin" fi AC_MSG_RESULT([$TICALCS_BINDIR]) if test "x$DLLPATH" = "x" ; then DLLPATH='${GTK_BINDIR}'$PATH_SEPARATOR'${TICALCS_BINDIR}' fi AC_SUBST(GTK_BINDIR) AC_SUBST(TICALCS_BINDIR) AC_SUBST(DLLPATH) fi # Checks for header files AC_HEADER_STDC # Checks for system and compiler characteristics AC_C_BIGENDIAN AC_C_INLINE AC_C_RESTRICT AC_TYPE_UINTPTR_T # Output AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile emu/Makefile db/Makefile data/Makefile gui/Makefile gui/tilem2.rc installer/win32/Makefile installer/win32/installer.nsi]) AC_OUTPUT