From 1062513f7ecb912a50aef9559270a8218c0bacde Mon Sep 17 00:00:00 2001 From: Thomas White Date: Fri, 19 Jun 2015 12:33:51 +0200 Subject: Compile asdf only if FFTW is available --- configure.ac | 1 + libcrystfel/Makefile.am | 3 ++- libcrystfel/src/asdf.c | 30 +++++++++++++++++++++++++ libcrystfel/src/asdf.h | 60 +++++++++++++++++++++++++++++++++++++++++++++---- 4 files changed, 89 insertions(+), 5 deletions(-) diff --git a/configure.ac b/configure.ac index d475d6e0..5086459c 100644 --- a/configure.ac +++ b/configure.ac @@ -282,6 +282,7 @@ PKG_CHECK_MODULES([FFTW], [fftw3], have_fftw=true AC_DEFINE([HAVE_FFTW], [1], [Define to 1 if FFTW is available]) ], [ + AC_MSG_WARN([asdf indexing wil not be available.]) have_fftw=false ]) diff --git a/libcrystfel/Makefile.am b/libcrystfel/Makefile.am index be7a2556..8e5acaaf 100644 --- a/libcrystfel/Makefile.am +++ b/libcrystfel/Makefile.am @@ -10,9 +10,10 @@ libcrystfel_la_SOURCES = src/reflist.c src/utils.c src/cell.c src/detector.c \ src/render.c src/index.c src/dirax.c src/mosflm.c \ src/cell-utils.c src/integer_matrix.c src/crystal.c \ src/xds.c src/integration.c \ - src/histogram.c src/events.c src/asdf.c + src/histogram.c src/events.c if HAVE_FFTW +libcrystfel_la_SOURCES += src/asdf.c endif libcrystfel_la_includedir=$(includedir)/crystfel/ diff --git a/libcrystfel/src/asdf.c b/libcrystfel/src/asdf.c index 345bd32c..b5436f7f 100644 --- a/libcrystfel/src/asdf.c +++ b/libcrystfel/src/asdf.c @@ -1,3 +1,33 @@ +/* + * asdf.c + * + * Alexandra's Superior Direction Finder, or + * Algorithm Similar to DirAx, FFT-based + * + * Copyright © 2014-2015 Deutsches Elektronen-Synchrotron DESY, + * a research centre of the Helmholtz Association. + * + * Authors: + * 2014-2015 Alexandra Tolstikova + * 2015 Thomas White + * + * This file is part of CrystFEL. + * + * CrystFEL is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * CrystFEL is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with CrystFEL. If not, see . + * + */ + #include #include #include diff --git a/libcrystfel/src/asdf.h b/libcrystfel/src/asdf.h index 402636d1..2c070d79 100644 --- a/libcrystfel/src/asdf.h +++ b/libcrystfel/src/asdf.h @@ -1,4 +1,32 @@ - +/* + * asdf.h + * + * Alexandra's Superior Direction Finder, or + * Algorithm Similar to DirAx, FFT-based + * + * Copyright © 2014-2015 Deutsches Elektronen-Synchrotron DESY, + * a research centre of the Helmholtz Association. + * + * Authors: + * 2014-2015 Alexandra Tolstikova + * 2015 Thomas White + * + * This file is part of CrystFEL. + * + * CrystFEL is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * CrystFEL is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with CrystFEL. If not, see . + * + */ #ifndef ASDF_H #define ASDF_H @@ -13,16 +41,40 @@ extern "C" { #endif +#ifdef HAVE_FFTW + extern int run_asdf(struct image *image, IndexingPrivate *ipriv); extern IndexingPrivate *asdf_prepare(IndexingMethod *indm, - UnitCell *cell, struct detector *det, - float *ltl); + UnitCell *cell, struct detector *det, + float *ltl); extern void asdf_cleanup(IndexingPrivate *pp); +#else /* HAVE_FFTW */ + +int run_asdf(struct image *image, IndexingPrivate *ipriv) +{ +} + + +IndexingPrivate *asdf_prepare(IndexingMethod *indm, + UnitCell *cell, struct detector *det, + float *ltl) +{ + return NULL; +} + +void asdf_cleanup(IndexingPrivate *pp) +{ +} + + +#endif /* HAVE_FFTW */ + + #ifdef __cplusplus } #endif -#endif /* DIRAX_H */ +#endif /* ASDF_H */ -- cgit v1.2.3