diff options
-rw-r--r-- | configure.ac | 22 | ||||
-rw-r--r-- | src/Makefile.am | 12 | ||||
-rw-r--r-- | src/dirax.h | 11 | ||||
-rw-r--r-- | src/image.h | 5 |
4 files changed, 45 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac index fe58ccbd..6e984a2f 100644 --- a/configure.ac +++ b/configure.ac @@ -40,14 +40,30 @@ AC_ARG_ENABLE(opencl, have_opencl=true], [AC_MSG_RESULT([no])]) +haveglib=false havegtk=false -AM_PATH_GTK_2_0(2.0.0, havegtk=true, -AC_MSG_WARN([GTK not found. hdfsee will not be built.])) +AC_MSG_CHECKING([whether to use GTK/GLib]) +AC_ARG_ENABLE(gtk, + [AC_HELP_STRING([--disable-gtk], [Disable GTK+/GLib])], + [ + AC_MSG_RESULT([yes]) + AM_PATH_GTK_2_0(2.0.0, + [ + havegtk=true + haveglib=true + AC_DEFINE([HAVE_GLIB], [1], [Define to 1 if GLib is available]) + GTK_LIBS="$GTK_LIBS -lgthread-2.0 -lutil" + ], + AC_MSG_WARN([GTK not found. hdfsee will not be built.])) + ], + [AC_MSG_RESULT([no])] +) AM_CONDITIONAL([HAVE_GTK], test x$havegtk = xtrue) +AM_CONDITIONAL([HAVE_GLIB], test x$haveglib = xtrue) AM_CONDITIONAL([HAVE_OPENCL], test x$have_opencl = xtrue) CFLAGS="$CFLAGS $HDF5_CFLAGS $GTK_CFLAGS $GSL_CFLAGS $OPENCL_CFLAGS" -LIBS="$LIBS $HDF5_LIBS -lm -lz $GSL_LIBS $GTK_LIBS $OPENCL_LIBS -lgthread-2.0 -lutil" +LIBS="$LIBS $HDF5_LIBS -lm -lz $GSL_LIBS $GTK_LIBS $OPENCL_LIBS" AC_OUTPUT(Makefile src/Makefile data/Makefile) diff --git a/src/Makefile.am b/src/Makefile.am index 4142c40f..963c5373 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -21,11 +21,15 @@ process_hkl_SOURCES = process_hkl.c sfac.c statistics.c cell.c utils.c \ reflections.c process_hkl_LDADD = @LIBS@ -indexamajig_SOURCES = indexamajig.c hdf5-file.c utils.c dirax.c cell.c image.c \ +indexamajig_SOURCES = indexamajig.c hdf5-file.c utils.c cell.c image.c \ intensities.c peaks.c index.c filters.c \ diffraction.c detector.c sfac.c indexamajig_LDADD = @LIBS@ +if HAVE_GLIB +indexamajig_SOURCES += dirax.c +endif + if HAVE_GTK hdfsee_SOURCES = hdfsee.c displaywindow.c render.c hdf5-file.c utils.c image.c \ filters.c @@ -39,7 +43,11 @@ compare_hkl_SOURCES = compare_hkl.c sfac.c cell.c utils.c reflections.c compare_hkl_LDADD = @LIBS@ powder_plot_SOURCES = powder_plot.c cell.c utils.c image.c hdf5-file.c \ - detector.c index.c diffraction.c sfac.c dirax.c + detector.c index.c diffraction.c sfac.c powder_plot_LDADD = @LIBS@ +if HAVE_GLIB +powder_plot_SOURCES += dirax.c +endif + INCLUDES = "-I$(top_srcdir)/data" diff --git a/src/dirax.h b/src/dirax.h index b6b80488..530d2696 100644 --- a/src/dirax.h +++ b/src/dirax.h @@ -17,8 +17,19 @@ #include <config.h> #endif +#include "utils.h" + +#if HAVE_GLIB extern void run_dirax(struct image *image); +#else + +static void run_dirax(struct image *image) +{ + ERROR("Can't run DirAx without GLib.\n"); +} + +#endif #endif /* DIRAX_H */ diff --git a/src/image.h b/src/image.h index 326e70b7..1c3d2a89 100644 --- a/src/image.h +++ b/src/image.h @@ -19,7 +19,10 @@ #include <stdint.h> #include <complex.h> + +#if HAVE_GLIB #include <glib.h> +#endif #include "utils.h" #include "cell.h" @@ -86,6 +89,7 @@ struct image { ImageFeatureList *rflist; /* "Predicted" features */ /* DirAx auto-indexing low-level stuff */ +#if HAVE_GLIB GIOChannel *dirax; int dirax_pty; pid_t dirax_pid; @@ -97,6 +101,7 @@ struct image { /* DirAx auto-indexing high-level stuff */ int dirax_step; int dirax_read_cell; +#endif }; /* An opaque type representing a list of images */ |