Commit ad3d797087c8f36cf1dd8c4182ff0da705a2cfcc
1 parent
e0e5b18c
initial version
Showing
5 changed files
with
160 additions
and
0 deletions
pyext/Makefile.am
0 → 100755
| 1 | +## Process this file with automake to produce Makefile.in | ||
| 2 | + | ||
| 3 | +if HAVE_SWIG | ||
| 4 | +if HAVE_PYTHON | ||
| 5 | +if ENABLE_PYTHON_BINDING | ||
| 6 | + | ||
| 7 | +SWIG_INTERFACE = ctatools.i | ||
| 8 | +BUILT_SOURCES = ctatools_wrap.cpp ctatools.py | ||
| 9 | +CLEANFILES = ctatools_wrap.cpp ctatools.py | ||
| 10 | + | ||
| 11 | +all-local: ctatools_wrap.cpp ctatools.py | ||
| 12 | + $(PYTHON) setup.py build | ||
| 13 | + | ||
| 14 | +install-exec-local: | ||
| 15 | + $(PYTHON) setup.py install --prefix=$(prefix) | ||
| 16 | + | ||
| 17 | +clean-local: | ||
| 18 | + rm -rf build | ||
| 19 | + | ||
| 20 | +ctatools_wrap.cpp ctatools.py: $(SWIG_INTERFACE) | ||
| 21 | + $(SWIG) -c++ -python -Wall -includeall -I$(prefix)/share/gammalib/swig -o ctatools_wrap.cpp -outdir . $(srcdir)/$(SWIG_INTERFACE) | ||
| 22 | + @if test "x`uname`" = "xCygwin"; then \ | ||
| 23 | + echo "WARNING: working around bug in SWIG on Windows/Cygwin platforms ONLY"; \ | ||
| 24 | + sed -i.bak -f $(srcdir)/fix_wrapper.sed ctatools_wrap.cpp; \ | ||
| 25 | + fi | ||
| 26 | + | ||
| 27 | +endif # ENABLE_PYTHON_BINDING | ||
| 28 | +endif # HAVE_PYTHON | ||
| 29 | +endif # HAVE_SWIG |
pyext/ctatools.i
0 → 100755
| 1 | +/*************************************************************************** | ||
| 2 | + * ctatools - SWIG file * | ||
| 3 | + * ----------------------------------------------------------------------- * | ||
| 4 | + * copyright (C) 2010 by Jurgen Knodlseder * | ||
| 5 | + * ----------------------------------------------------------------------- * | ||
| 6 | + * * | ||
| 7 | + * This program is free software; you can redistribute it and/or modify * | ||
| 8 | + * it under the terms of the GNU General Public License as published by * | ||
| 9 | + * the Free Software Foundation; either version 2 of the License, or * | ||
| 10 | + * (at your option) any later version. * | ||
| 11 | + * * | ||
| 12 | + * ----------------------------------------------------------------------- * | ||
| 13 | + * Usage: * | ||
| 14 | + * swig -c++ -python -Wall -includeall ctatools.i * | ||
| 15 | + ***************************************************************************/ | ||
| 16 | +%module ctatools | ||
| 17 | + | ||
| 18 | +/***********************************************************************//** | ||
| 19 | + * @brief Include all CTA tools | ||
| 20 | + ***************************************************************************/ | ||
| 21 | +#include "ctselect.i" | ||
| 22 | +#include "ctbin.i" | ||
| 23 | +#include "ctlike.i" |
pyext/ctbin.i
0 → 100644
| 1 | +/*************************************************************************** | ||
| 2 | + * ctbin - CTA data binning tool * | ||
| 3 | + * ----------------------------------------------------------------------- * | ||
| 4 | + * copyright (C) 2010 by Jurgen Knodlseder * | ||
| 5 | + * ----------------------------------------------------------------------- * | ||
| 6 | + * * | ||
| 7 | + * This program is free software; you can redistribute it and/or modify * | ||
| 8 | + * it under the terms of the GNU General Public License as published by * | ||
| 9 | + * the Free Software Foundation; either version 2 of the License, or * | ||
| 10 | + * (at your option) any later version. * | ||
| 11 | + * * | ||
| 12 | + ***************************************************************************/ | ||
| 13 | +/** | ||
| 14 | + * @file ctbin.i | ||
| 15 | + * @brief CTA data binning tool SWIG definition | ||
| 16 | + * @author J. Knodlseder | ||
| 17 | + */ | ||
| 18 | +%{ | ||
| 19 | +/* Put headers and other declarations here that are needed for compilation */ | ||
| 20 | +#include "ctbin.hpp" | ||
| 21 | +%} | ||
| 22 | +%include gammalib.i | ||
| 23 | + | ||
| 24 | + | ||
| 25 | +/***********************************************************************//** | ||
| 26 | + * @class ctbin | ||
| 27 | + * | ||
| 28 | + * @brief CTA data binning tool SWIG interface defintion. | ||
| 29 | + ***************************************************************************/ | ||
| 30 | +class ctbin : public GApplication { | ||
| 31 | +public: | ||
| 32 | + // Constructors and destructors | ||
| 33 | + ctbin(void) : GApplication(CTBIN_NAME, CTBIN_VERSION) { return; } | ||
| 34 | + | ||
| 35 | + // Methods | ||
| 36 | + int run(void); | ||
| 37 | +}; | ||
| 38 | + | ||
| 39 | + | ||
| 40 | +/***********************************************************************//** | ||
| 41 | + * @brief CTA data binning tool SWIG extension | ||
| 42 | + ***************************************************************************/ | ||
| 43 | +%extend ctbin { | ||
| 44 | + ctbin copy() { | ||
| 45 | + return (*self); | ||
| 46 | + } | ||
| 47 | +} |
pyext/ctselect.i
0 → 100644
| 1 | +/*************************************************************************** | ||
| 2 | + * ctselect - CTA data selection tool * | ||
| 3 | + * ----------------------------------------------------------------------- * | ||
| 4 | + * copyright (C) 2010 by Jurgen Knodlseder * | ||
| 5 | + * ----------------------------------------------------------------------- * | ||
| 6 | + * * | ||
| 7 | + * This program is free software; you can redistribute it and/or modify * | ||
| 8 | + * it under the terms of the GNU General Public License as published by * | ||
| 9 | + * the Free Software Foundation; either version 2 of the License, or * | ||
| 10 | + * (at your option) any later version. * | ||
| 11 | + * * | ||
| 12 | + ***************************************************************************/ | ||
| 13 | +/** | ||
| 14 | + * @file ctselect.i | ||
| 15 | + * @brief CTA data selection tool SWIG definition | ||
| 16 | + * @author J. Knodlseder | ||
| 17 | + */ | ||
| 18 | +%{ | ||
| 19 | +/* Put headers and other declarations here that are needed for compilation */ | ||
| 20 | +#include "ctselect.hpp" | ||
| 21 | +%} | ||
| 22 | +%include gammalib.i | ||
| 23 | + | ||
| 24 | + | ||
| 25 | +/***********************************************************************//** | ||
| 26 | + * @class ctselect | ||
| 27 | + * | ||
| 28 | + * @brief CTA data selection tool SWIG interface defintion. | ||
| 29 | + ***************************************************************************/ | ||
| 30 | +class ctselect : public GApplication { | ||
| 31 | +public: | ||
| 32 | + // Constructors and destructors | ||
| 33 | + ctselect(void) : GApplication(CTSELECT_NAME, CTSELECT_VERSION) { return; } | ||
| 34 | + | ||
| 35 | + // Methods | ||
| 36 | + int run(void); | ||
| 37 | +}; | ||
| 38 | + | ||
| 39 | + | ||
| 40 | +/***********************************************************************//** | ||
| 41 | + * @brief CTA data selection tool SWIG extension | ||
| 42 | + ***************************************************************************/ | ||
| 43 | +%extend ctselect { | ||
| 44 | + ctselect copy() { | ||
| 45 | + return (*self); | ||
| 46 | + } | ||
| 47 | +} |
pyext/setup.py.in
0 → 100644
| 1 | +from distutils.core import setup, Extension | ||
| 2 | +setup(name='@PACKAGE_NAME@', | ||
| 3 | + version='@PACKAGE_VERSION@', | ||
| 4 | + description='ctatools Python binding', | ||
| 5 | + author='Jurgen Knodlseder', | ||
| 6 | + author_email='@PACKAGE_BUGREPORT@', | ||
| 7 | + url='http://gammalib.sourceforge.net/', | ||
| 8 | + py_modules=['ctatools'], | ||
| 9 | + ext_modules=[Extension('_ctatools', ['ctatools_wrap.cpp'], | ||
| 10 | + include_dirs=['@prefix@/include/gammalib', '@top_srcdir@/src/ctbin', '@top_srcdir@/src/ctselect'], | ||
| 11 | + library_dirs=['@prefix@/lib'], | ||
| 12 | + libraries=['ctatools','gamma','cfitsio'], | ||
| 13 | + runtime_library_dirs=['@prefix@/lib'])], | ||
| 14 | + ) |