AC_INIT AC_CONFIG_SRCDIR([src/gui/nova.cc]) AM_INIT_AUTOMAKE(nova, 0.4) AM_CONFIG_HEADER(config.h) # Is the system sane for C++ build AC_PROG_CXX AC_PROG_CXXCPP AC_LANG_CPLUSPLUS AC_PROG_INSTALL AM_PROG_LIBTOOL AC_LANG_CPLUSPLUS # check for libnova dnl dnl AC_LIB_LIBNOVA (MINIMUM-VERSION) dnl dnl Check for availability of libnova. dnl Abort if not found or if current version is not up to par. dnl AC_DEFUN([AC_LIB_LIBNOVA],[ AC_PATH_PROG(LIBNOVA, libnovaconfig, no) if test "$LIBNOVA" = no; then AC_MSG_ERROR(Could not find libnovaconfig. Is libnova installed ?) fi min_libnova_version=ifelse([$1], ,0.1,$1) AC_MSG_CHECKING(for libnova - version >= $min_libnova_version) libnova_major_version=`$LIBNOVA --version | \ sed 's/libnova \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` libnova_minor_version=`$LIBNOVA --version | \ sed 's/libnova \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` libnova_micro_version=`$LIBNOVA --version | \ sed 's/libnova \([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` no_libnova="" dnl dnl Now check if the installed libnova is sufficiently new. dnl AC_TRY_RUN([ #include #include #include #include static char* my_strdup (char *str) { char *new_str; if (str) { new_str = (char*) malloc ((strlen (str) + 1) * sizeof(char)); strcpy (new_str, str); } else new_str = NULL; return new_str; } int main () { char *tmp_version; int major; int minor; int micro; /* HP/UX 9 (%@#!) writes to sscanf strings */ tmp_version = my_strdup("$min_libnova_version"); if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { printf ("%s, bad version string\n", "$min_libnova_version"); exit (1); } if (($libnova_major_version > major) || (($libnova_major_version == major) && ($libnova_minor_version > minor)) || (($libnova_major_version == major) && ($libnova_minor_version == minor)) && ($libnova_micro_version >= micro)) { return 0; } else { printf ("\n"); printf ("*** An old version of libnova ($libnova_major_version.$libnova_minor_version.$libnova_micro_version) was found.\n"); printf ("*** You need a version of libnova newer than or equal to %d.%d.%d. The latest version of\n", major, minor, micro); printf ("*** libnova is always available from http://libnova.sf.net.\n"); printf ("***\n"); return 1; } } ],,no_libnova=yes,[/bin/true]) if test "x$no_libnova" = x ; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) AC_MSG_ERROR([libnova is required to compile Nova. Please check config.log.]) fi ]) AC_LIB_LIBNOVA(0.8.0) LIBNOVA_LIBS="-lnova" AC_SUBST(LIBNOVA_LIBS) # Check for C++ GNOME bindings GTKMM_VERSION_NEEDED=2.2.7 AC_SUBST(GTKMM_VERSION_NEEDED) LIBGNOMEMM_VERSION_NEEDED=1.3.10 AC_SUBST(LIBGNOMEMM_VERSION_NEEDED) GCONFMM_VERSION_NEEDED=2.0.1 AC_SUBST(GCONFMM_VERSION_NEEDED) LIBGNOMECANVASMM_VERSION_NEEDED=2.0.1 AC_SUBST(LIBGNOMECANVASMM_VERSION_NEEDED) LIBGLADEMM_VERSION_NEEDED=2.1.1 AC_SUBST(LIBGLADEMM_VERSION_NEEDED) LIBGNOMEUIMM_VERSION_NEEDED=2.0.0 AC_SUBST(LIBGNOMEUIMM_VERSION_NEEDED) LIBXMLMM_VERSION_NEEDED=1.0.0 AC_SUBST(LIBXMLMM_VERSION_NEEDED) PKG_CHECK_MODULES(NOVA, gtkmm-2.0 >= $GTKMM_VERSION_NEEDED libgnomemm-2.0 >= $LIBGNOMEMM_VERSION_NEEDED libgnomecanvasmm-2.0 >= $LIBGNOMECANVASMM_VERSION_NEEDED gconfmm-2.0 >= $GCONFMM_VERSION_NEEDED libglademm-2.0 >= $LIBGLADEMM_VERSION_NEEDED libgnomeuimm-2.0 >= $LIBGNOMEUIMM_VERSION_NEEDED libxml++-1.0 >= $LIBXMLMM_VERSION_NEEDED ) AC_SUBST(NOVA_CFLAGS) AC_SUBST(NOVA_LIBS) # Add the languages which your application supports here. #ALL_LINGUAS="" #AM_GNOME_GETTEXT # Set NOVA_PIXMAP_DIR in config.h. if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(NOVA_PIXMAP_DIR, "${ac_default_prefix}/nova/pixmaps") NOVA_PIXMAP_DIR=${ac_default_prefix}/nova/pixmaps AC_SUBST(NOVA_PIXMAP_DIR) else AC_DEFINE_UNQUOTED(NOVA_PIXMAP_DIR, "${prefix}/nova/pixmaps") NOVA_PIXMAP_DIR=${prefix}/nova/pixmaps AC_SUBST(NOVA_PIXMAP_DIR) fi # Set NOVA_CATALOG_DIR in config.h. if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(NOVA_CATALOG_DIR, "${ac_default_prefix}/nova/catalogs") NOVA_CATALOG_DIR=${ac_default_prefix}/nova/catalogs AC_SUBST(NOVA_CATALOG_DIR) else AC_DEFINE_UNQUOTED(NOVA_CATALOG_DIR, "${prefix}/nova/catalogs") NOVA_CATALOG_DIR=${prefix}/nova/catalogs AC_SUBST(NOVA_CATALOG_DIR) fi # Set PACKAGE_DATA_DIR in config.h. if test "x${prefix}" = "xNONE"; then AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${ac_default_prefix}/") else AC_DEFINE_UNQUOTED(PACKAGE_DATA_DIR, "${prefix}/") fi # build makefiles AC_CONFIG_FILES([ Makefile src/Makefile src/polaris/Makefile src/vega/Makefile src/rigel/Makefile src/sirius/Makefile src/castor/Makefile src/pollux/Makefile src/gui/Makefile pixmaps/Makefile doc/Makefile src/utils/Makefile ]) AC_OUTPUT()