173 lines
4.8 KiB
Plaintext
173 lines
4.8 KiB
Plaintext
|
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 <http://lpg.ticalc.org/prj_tilp/>.
|
||
|
|
||
|
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
|