Commit b9c78f38 authored by Axel Beckert's avatar Axel Beckert

Imported Upstream version 0.9.1

parent 7b811526
This diff is collapsed.
find_library(FFTW_LIBRARY NAMES fftw3)
find_library(FFTWF_LIBRARY NAMES fftw3f)
set(FFTW_LIBRARIES ${FFTW_LIBRARY} ${FFTWF_LIBRARY})
find_path(FFTW_INCLUDE_DIR NAMES fftw3.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(FFTW DEFAULT_MSG FFTW_LIBRARIES FFTW_INCLUDE_DIR)
mark_as_advanced(
FFTW_LIBRARY
FFTWF_LIBRARY
FFTW_LIBRARIES
FFTW_INCLUDE_DIR
)
find_library(GSL_LIBRARY NAMES gsl)
find_library(GSLCBLAS_LIBRARY NAMES gslcblas)
set(GSL_LIBRARIES ${GSL_LIBRARY} ${GSLCBLAS_LIBRARY})
find_path(GSL_INCLUDE_DIR NAMES gsl/gsl_math.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GSL DEFAULT_MSG GSL_LIBRARIES GSL_INCLUDE_DIR)
mark_as_advanced(
GSL_LIBRARY
GSLCBLAS_LIBRARY
GSL_LIBRARIES
GSL_INCLUDE_DIR
)
find_library(GRIB_LIBRARIES NAMES grib_api)
find_path(GRIB_INCLUDE_DIR NAMES grib_api.h)
include(FindPackageHandleStandardArgs)
# since there's no grib_api.pc let's check if this installation of grib required jasper and jpeg
include(CheckLibraryExists)
set(CMAKE_REQUIRED_LIBRARIES m)
check_library_exists(${GRIB_LIBRARIES} grib_index_new_from_file "" GRIB_COMPILES)
if(GRIB_COMPILES)
find_package_handle_standard_args(GRIB DEFAULT_MSG GRIB_LIBRARIES GRIB_INCLUDE_DIR)
else(GRIB_COMPILES)
find_package(Jasper)
if(JASPER_FOUND)
set(CMAKE_REQUIRED_LIBRARIES ${JASPER_LIBRARIES} m)
check_library_exists(${GRIB_LIBRARIES} grib_index_new_from_file "" GRIB_COMPILES_JASPER)
if(GRIB_COMPILES_JASPER)
set(GRIB_LIBRARIES ${GRIB_LIBRARIES} ${JASPER_LIBRARIES})
set(GRIB_INCLUDE_DIR ${GRIB_INCLUDE_DIR} ${JASPER_INCLUDE_DIR})
find_package_handle_standard_args(GRIB DEFAULT_MSG GRIB_LIBRARIES GRIB_INCLUDE_DIR)
endif(GRIB_COMPILES_JASPER)
endif(JASPER_FOUND)
endif(GRIB_COMPILES)
set(CMAKE_REQUIRED_LIBRARIES)
mark_as_advanced(
GRIB_LIBRARIES
GRIB_INCLUDE_DIR
GRIB_COMPILES
GRIB_COMPILES_JASPER
)
# HDF_LIBRARIES
# HDF_EXTRA_LIBRARIES
find_package(JPEG)
find_library(HDF_LIBRARY NAMES df dfalt PATH_SUFFIXES hdf)
find_library(MFHDF_LIBRARY NAMES mfhdf mfhdfalt PATH_SUFFIXES hdf)
set(HDF_LIBRARIES ${MFHDF_LIBRARY} ${HDF_LIBRARY})
find_path(HDF_INCLUDE_DIR NAMES hdf.h PATH_SUFFIXES hdf)
include(CheckLibraryExists)
include(FindPackageHandleStandardArgs)
if(HDF_LIBRARIES)
set(CMAKE_REQUIRED_LIBRARIES z ${JPEG_LIBRARIES})
check_library_exists("${HDF_LIBRARIES}" Hopen "" HDF_WO_SZIP)
if(HDF_WO_SZIP)
set(HDF_EXTRA_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
find_package_handle_standard_args(HDF DEFAULT_MSG HDF_LIBRARIES HDF_EXTRA_LIBRARIES HDF_INCLUDE_DIR)
else(HDF_WO_SZIP)
find_library(SZIP_LIBRARIES NAMES sz szip)
if(SZIP_LIBRARIES)
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${SZIP_LIBRARIES})
check_library_exists("${HDF_LIBRARIES}" Hopen "" HDF_W_SZIP)
if(HDF_W_SZIP)
set(HDF_EXTRA_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
find_package_handle_standard_args(HDF DEFAULT_MSG HDF_LIBRARIES HDF_EXTRA_LIBRARIES HDF_INCLUDE_DIR)
endif(HDF_W_SZIP)
endif(SZIP_LIBRARIES)
endif(HDF_WO_SZIP)
set(CMAKE_REQUIRED_LIBRARIES)
endif(HDF_LIBRARIES)
mark_as_advanced(
HDF_LIBRARY
MFHDF_LIBRARY
HDF_LIBRARIES
HDF_INCLUDE_DIR
HDF_WO_SZIP
HDF_EXTRA_LIBRARIES
SZIP_LIBRARIES
HDF_W_SZIP
)
find_library(LIBPROJ4_LIBRARIES NAMES proj4)
find_path(LIBPROJ4_INCLUDE_DIR NAMES lib_proj.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LIBPROJ4 DEFAULT_MSG LIBPROJ4_LIBRARIES LIBPROJ4_INCLUDE_DIR)
mark_as_advanced(
LIBPROJ4_LIBRARIES
LIBPROJ4_INCLUDE_DIR
)
find_path(NETCDFPKG netcdf.pc PATH_SUFFIXES lib lib/pkgconfig)
include(FindPackageHandleStandardArgs)
if(NETCDFPKG)
set(ENV{PKG_CONFIG_PATH} ${NETCDFPKG}) # pkg search path
include(FindPkgConfig)
pkg_check_modules(NETCDF netcdf)
if(NETCDF_FOUND)
set(NETCDF_INCLUDE_DIR ${NETCDF_INCLUDE_DIRS})
find_package_handle_standard_args(NETCDF DEFAULT_MSG NETCDF_LIBRARIES)
endif(NETCDF_FOUND)
else(NETCDFPKG) # no netcdf.pc file
find_library(NETCDF_LIBRARIES NAMES netcdf)
find_path(NETCDF_INCLUDE_DIR NAMES netcdfcpp.h)
find_package_handle_standard_args(NETCDF DEFAULT_MSG NETCDF_LIBRARIES NETCDF_INCLUDE_DIR)
endif(NETCDFPKG)
mark_as_advanced(
NETCDFPKG
NETCDF
NETCDF_INCLUDE_DIR
NETCDF_LIBRARIES
)
find_library(PLPLOT_LIBRARY NAMES plplotd)
find_library(PLPLOTCXX_LIBRARY NAMES plplotcxxd)
set(PLPLOT_LIBRARIES ${PLPLOT_LIBRARY} ${PLPLOTCXX_LIBRARY})
find_path(PLPLOT_INCLUDE_DIR NAMES plplot/plplot.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(PLPLOT DEFAULT_MSG PLPLOT_LIBRARIES PLPLOT_INCLUDE_DIR)
mark_as_advanced(
PLPLOT_LIBRARY
PLPLOTCXX_LIBRARY
PLPLOT_LIBRARIES
PLPLOT_INCLUDE_DIR
)
# - Find python libraries
# This module finds if Python is installed and determines where the
# include files and libraries are. It also determines what the name of
# the library is. This code sets the following variables:
#
# PYTHONLIBS_FOUND - have the Python libs been found
# PYTHON_LIBRARIES - path to the python library
# PYTHON_INCLUDE_PATH - path to where Python.h is found (deprecated)
# PYTHON_INCLUDE_DIRS - path to where Python.h is found
# PYTHON_DEBUG_LIBRARIES - path to the debug library
#
#=============================================================================
# Copyright 2001-2009 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
# (To distributed this file outside of CMake, substitute the full
# License text for the above reference.)
include(FindPackageHandleStandardArgs)
INCLUDE(CMakeFindFrameworks)
# Search for the python framework on Apple.
CMAKE_FIND_FRAMEWORKS(Python)
# add version support
if(PythonLibs_FIND_VERSION_EXACT)
set(VERSIONS ${PythonLibs_FIND_VERSION})
else(PythonLibs_FIND_VERSION_EXACT)
set(VERSIONS ${PythonLibs_FIND_VERSION} 3.1 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5)
endif(PythonLibs_FIND_VERSION_EXACT)
FOREACH(_CURRENT_VERSION ${VERSIONS})
STRING(REPLACE "." "" _CURRENT_VERSION_NO_DOTS ${_CURRENT_VERSION})
IF(WIN32)
FIND_LIBRARY(PYTHON_DEBUG_LIBRARY
NAMES python${_CURRENT_VERSION_NO_DOTS}_d python
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs/Debug
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs )
ENDIF(WIN32)
FIND_LIBRARY(PYTHON_LIBRARY
NAMES python${_CURRENT_VERSION_NO_DOTS} python${_CURRENT_VERSION}
PATHS
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/libs
# Avoid finding the .dll in the PATH. We want the .lib.
NO_SYSTEM_ENVIRONMENT_PATH
)
# Look for the static library in the Python config directory
FIND_LIBRARY(PYTHON_LIBRARY
NAMES python${_CURRENT_VERSION_NO_DOTS} python${_CURRENT_VERSION}
# Avoid finding the .dll in the PATH. We want the .lib.
NO_SYSTEM_ENVIRONMENT_PATH
# This is where the static library is usually located
PATH_SUFFIXES python${_CURRENT_VERSION}/config
)
# For backward compatibility, honour value of PYTHON_INCLUDE_PATH, if
# PYTHON_INCLUDE_DIR is not set.
IF(DEFINED PYTHON_INCLUDE_PATH AND NOT DEFINED PYTHON_INCLUDE_DIR)
SET(PYTHON_INCLUDE_DIR "${PYTHON_INCLUDE_PATH}" CACHE PATH
"Path to where Python.h is found" FORCE)
ENDIF(DEFINED PYTHON_INCLUDE_PATH AND NOT DEFINED PYTHON_INCLUDE_DIR)
SET(PYTHON_FRAMEWORK_INCLUDES)
IF(Python_FRAMEWORKS AND NOT PYTHON_INCLUDE_DIR)
FOREACH(dir ${Python_FRAMEWORKS})
SET(PYTHON_FRAMEWORK_INCLUDES ${PYTHON_FRAMEWORK_INCLUDES}
${dir}/Versions/${_CURRENT_VERSION}/include/python${_CURRENT_VERSION})
ENDFOREACH(dir)
ENDIF(Python_FRAMEWORKS AND NOT PYTHON_INCLUDE_DIR)
FIND_PATH(PYTHON_INCLUDE_DIR
NAMES Python.h
PATHS
${PYTHON_FRAMEWORK_INCLUDES}
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]/include
PATH_SUFFIXES
python${_CURRENT_VERSION}
)
# For backward compatibility, set PYTHON_INCLUDE_PATH, but make it internal.
SET(PYTHON_INCLUDE_PATH "${PYTHON_INCLUDE_DIR}" CACHE INTERNAL
"Path to where Python.h is found (deprecated)")
ENDFOREACH(_CURRENT_VERSION)
MARK_AS_ADVANCED(
PYTHON_DEBUG_LIBRARY
PYTHON_LIBRARY
PYTHON_INCLUDE_DIR
)
# We use PYTHON_INCLUDE_DIR, PYTHON_LIBRARY and PYTHON_DEBUG_LIBRARY for the
# cache entries because they are meant to specify the location of a single
# library. We now set the variables listed by the documentation for this
# module.
SET(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
SET(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
SET(PYTHON_DEBUG_LIBRARIES "${PYTHON_DEBUG_LIBRARY}")
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibs DEFAULT_MSG PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
# PYTHON_ADD_MODULE(<name> src1 src2 ... srcN) is used to build modules for python.
# PYTHON_WRITE_MODULES_HEADER(<filename>) writes a header file you can include
# in your sources to initialize the static python modules
GET_PROPERTY(_TARGET_SUPPORTS_SHARED_LIBS
GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS)
FUNCTION(PYTHON_ADD_MODULE _NAME )
OPTION(PYTHON_ENABLE_MODULE_${_NAME} "Add module ${_NAME}" TRUE)
OPTION(PYTHON_MODULE_${_NAME}_BUILD_SHARED
"Add module ${_NAME} shared" ${_TARGET_SUPPORTS_SHARED_LIBS})
# Mark these options as advanced
MARK_AS_ADVANCED(PYTHON_ENABLE_MODULE_${_NAME}
PYTHON_MODULE_${_NAME}_BUILD_SHARED)
IF(PYTHON_ENABLE_MODULE_${_NAME})
IF(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
SET(PY_MODULE_TYPE MODULE)
ELSE(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
SET(PY_MODULE_TYPE STATIC)
SET_PROPERTY(GLOBAL APPEND PROPERTY PY_STATIC_MODULES_LIST ${_NAME})
ENDIF(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
SET_PROPERTY(GLOBAL APPEND PROPERTY PY_MODULES_LIST ${_NAME})
ADD_LIBRARY(${_NAME} ${PY_MODULE_TYPE} ${ARGN})
# TARGET_LINK_LIBRARIES(${_NAME} ${PYTHON_LIBRARIES})
ENDIF(PYTHON_ENABLE_MODULE_${_NAME})
ENDFUNCTION(PYTHON_ADD_MODULE)
FUNCTION(PYTHON_WRITE_MODULES_HEADER _filename)
GET_PROPERTY(PY_STATIC_MODULES_LIST GLOBAL PROPERTY PY_STATIC_MODULES_LIST)
GET_FILENAME_COMPONENT(_name "${_filename}" NAME)
STRING(REPLACE "." "_" _name "${_name}")
STRING(TOUPPER ${_name} _nameUpper)
SET(_filenameTmp "${_filename}.in")
FILE(WRITE ${_filenameTmp} "/*Created by cmake, do not edit, changes will be lost*/\n")
FILE(APPEND ${_filenameTmp}
"#ifndef ${_nameUpper}
#define ${_nameUpper}
#include <Python.h>
#ifdef __cplusplus
extern \"C\" {
#endif /* __cplusplus */
")
FOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
FILE(APPEND ${_filenameTmp} "extern void init${PYTHON_MODULE_PREFIX}${_currentModule}(void);\n\n")
ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
FILE(APPEND ${_filenameTmp}
"#ifdef __cplusplus
}
#endif /* __cplusplus */
")
FOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
FILE(APPEND ${_filenameTmp} "int ${_name}_${_currentModule}(void) \n{\n static char name[]=\"${PYTHON_MODULE_PREFIX}${_currentModule}\"; return PyImport_AppendInittab(name, init${PYTHON_MODULE_PREFIX}${_currentModule});\n}\n\n")
ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
FILE(APPEND ${_filenameTmp} "void ${_name}_LoadAllPythonModules(void)\n{\n")
FOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
FILE(APPEND ${_filenameTmp} " ${_name}_${_currentModule}();\n")
ENDFOREACH(_currentModule ${PY_STATIC_MODULES_LIST})
FILE(APPEND ${_filenameTmp} "}\n\n")
FILE(APPEND ${_filenameTmp} "#ifndef EXCLUDE_LOAD_ALL_FUNCTION\nvoid CMakeLoadAllPythonModules(void)\n{\n ${_name}_LoadAllPythonModules();\n}\n#endif\n\n#endif\n")
# with CONFIGURE_FILE() cmake complains that you may not use a file created using FILE(WRITE) as input file for CONFIGURE_FILE()
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_filenameTmp}" "${_filename}" OUTPUT_QUIET ERROR_QUIET)
ENDFUNCTION(PYTHON_WRITE_MODULES_HEADER)
find_library(READLINE_LIBRARY NAMES readline)
find_library(HISTORY_LIBRARY NAMES history)
set(READLINE_LIBRARIES ${READLINE_LIBRARY} ${HISTORY_LIBRARY})
find_path(READLINE_INCLUDE_DIR NAMES readline/readline.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Readline DEFAULT_MSG READLINE_LIBRARIES READLINE_INCLUDE_DIR)
mark_as_advanced(
READLINE_LIBRARY
HISTORY_LIBRARY
READLINE_LIBRARIES
READLINE_INCLUDE_DIR
)
find_library(UDUNITS_LIBRARIES NAMES udunits2)
find_path(UDUNITS_INCLUDE_DIR NAMES udunits2.h)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(UDUNITS DEFAULT_MSG UDUNITS_LIBRARIES UDUNITS_INCLUDE_DIR)
mark_as_advanced(
UDUNITS_LIBRARIES
UDUNITS_INCLUDE_DIR
)
This diff is collapsed.
Be sure that you have at least cmake v. 2.6 (cmake --version)
Create a new directory where the objets and executables will be built.
e.g. `mkdir build; cd !$'
Then you can run cmake on the root directory of gdl.
e.g. `cmake ..'
You can also specify an install directory `cmake .. -DCMAKE_INSTALL_PREFIX=$PWD/../install'
The default buid mode is "Release", to use the "Debug" mode try `cmake ... -DCMAKE_BUILD_TYPE=Debug'
You can choose to pass parameters to cmake in the manner of configure.
For each non-mandatory module, you can choose to enable/disable it
(default values are the same than in configure)
e.g. `cmake .. -DREADLINE=OFF' to disable readline.
The following lists the parameters that can be used as boolean values
(ON,YES,Y,OFF,NO,N, case insensitive)
FFTW
GRIB
GSHHS
HDF5
HDF
LIBPROJ4
MAGICK
MPICH
NETCDF
OPENMP
PYTHON
PYTHON_MODULE
READLINE
UDUNITS
WXWIDGETS
You can also specify a path to different libraries :
FFTWDIR
GRIBDIR
GSHHSDIR
HDF5DIR
HDFDIR
LIBPROJ4DIR
MAGICKDIR
MPICHDIR
NETCDFDIR
PYTHONDIR
READLINEDIR
UDUNITSDIR
WXWIDGETSDIR
Few other options are available in order to help cmake to find
(extra) libraries (if you don't know what these libraries are,
then you probably don't have to care about it)
JASPERDIR
JPEGDIR
SZIPDIR
PYTHONVERSION
OLDPLPLOT
Results are cached. So if you need to specify a new libraries that have already been
found you have to delete CMakeCache.txt and rerun cmake.
If you are on a Unix system, you can run `make'
For other systems, a native project file should be produced.
To launch the tests, run `make test'.
To install, type `make install'.
Usefull commands :
`make help' to view different targets.
`make edit_cache' to edit cache results (variables defined in advanced mode shouldn't be edited)
......@@ -193,6 +193,11 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
......@@ -243,9 +248,13 @@ mkdir_p = @mkdir_p@
nc_config = @nc_config@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
......
......@@ -502,3 +502,18 @@
- SPL_INIT: now y0= and yn_1= ready
- Compressed files should be well processed now (readf, printf, fstat, point_lun, ...). See test_zip.pro
0.9.1:
- fixes/improveents in: CONTOUR, DIALOG_PICKFILE, EXECUTE, EXIT, FIX (TYPE=7 and /PRINT),
FFT, FSTAT, HEAP_GC, MOMENT, NCDF_ATTNAME, NCDF_DIMDEF, NCDF_VARID, NCDF_VARPUT, INTERPOL,
PLOTS, POINT_LUN (64-bit addressing), POLYFILL (support for LINE_FILL, SPACING, LINESTYLE,
ORIENTATION and THICK), PRINT, PRINTF, SAVE/RESTORE, SPL_INIT (mem leak), STRSPLIT,
SURFACE (added AX,AZ), WAIT, XYOUTS (support for the WIDTH kw), DEVICE (WINDOW_STATE kw)
- other improvements: fixed reading of (big) compressed files, decomposed colours with PostScript,
gdlffdicom update (v20100309), new test routines, improved cmake configuration (still experimental),
fixed behaviour with non-comma locale-defined decimal separators
- early draft of GDL User's & Developer's guide: source files in doc/udg, current pdf version at:
http://gnudatalanguage.sf.net/gdl.pdf
- Python bridge: Numarray -> NumPy transition (several known bugs still exist)
- the .STEP command
- new routines: CALL_EXTERNAL (by Christoph Fuch), DIALOG_MESSAGE, ROBERTS, SWAP_ENDIAN_INPLACE,
CORRELATE
......@@ -33,12 +33,10 @@ python_function the python function to call. If this paramter is not
arg1,...,argN arguments to be passed to the python function
scalars and one dimensional arrays are passed
as python scalars, an array is passed as a python
numarray.
Numpy array.
Numarray is a popular extension to python. Using it let python be
integrated in GDL quite seamlessly. See:
http://www.stsci.edu/resources/software_hardware/numarray
for details.
Numpy is a popular extension to python. Using it let python be integrated
in GDL quite seamlessly. See: http://numpy.scipy.org/ for details.
ARGV set this keyword to a string or string array
which is set to the command line options for python.
......@@ -109,9 +107,9 @@ if an arg or a keyword is a tuple, they are NOT copied back
when the GDL subroutine returns. This is done to save
resources. (Only the first item of each tuple is passed to GDL).
GDL arrays are passed to/from GDL as python numarrays.
Numarray is a popular extension to python. See:
http://www.stsci.edu/resources/software_hardware/numarray
GDL arrays are passed to/from GDL as python Numpy arrays.
Numpy is a popular extension to python. See:
http://numpy.scipy.org/
for details.
Example:
......
......@@ -32,7 +32,7 @@ Supported IDL 8.0 language elements:
FOREACH loop
negative array indices
garbage collection pointers and objects
call methods on an object using "." (e. g. res=object.aMemberFunction(arg1))
call methods on an object using "." (e. g. object.aMemberProcedure,arg1)
Not yet supported:
......@@ -53,8 +53,9 @@ netCDF files are fully supported.
HDF4 files are supported.
Basic support for HDF5 files.
DICOM files are supported via the GDLffDICOM object
(src/pro/dicom subdirectory).
DICOM files are supported via the GDLffDICOM object (http://idl.barnett.id.au/idl-projects)
(files in the src/pro/dicom subdirectory).
Overall more than 380 library routines are implemented.
For a list enter HELP,/LIB at the command prompt and look for
......@@ -89,20 +90,19 @@ zlib http://www.zlib.net/
Optional libraries:
ImageMagick http://www.imagemagick.org/www/download.html
netCDF *) ftp://ftp.unidata.ucar.edu/pub/netcdf
HDF4 *) ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF_Current
HDF5 ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current
FFTW http://www.fftw.org/download.html
python http://www.python.org
libproj4 (consult the MAP_INSTALL file)
UDUNITS-2 http://www.unidata.ucar.edu/software/udunits/
GRIB API http://www.ecmwf.int/products/data/software/grib_api.html
GSHHS (consult the MAP_INSTALL file)
netCDF *) ftp://ftp.unidata.ucar.edu/pub/netcdf
HDF4 *) ftp://ftp.ncsa.uiuc.edu/HDF/HDF/HDF_Current
HDF5 ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current
FFTW http://www.fftw.org/download.html
python http://www.python.org
libproj4 (consult the MAP_INSTALL file)
UDUNITS-2 http://www.unidata.ucar.edu/software/udunits/
GRIB API http://www.ecmwf.int/products/data/software/grib_api.html
GSHHS (consult the MAP_INSTALL file)
wxWidgets http://www.wxwidgets.org/
Only with python:
numarray http://www.stsci.edu/resources/software_hardware/numarray
matplotlib http://matplotlib.sourceforge.net
numpy http://numpy.scipy.org/
*) please see below for potential problems using netCDF and HDF4
......@@ -248,9 +248,8 @@ use is optional for now but required by default. If you don't want to use
it, use
--with-python=no
as a command line option to 'configure'.
If you want to use it you need python 2.3 or 2.4 and the python package
'numarray' version 0.9 or later
(http://www.stsci.edu/resources/software_hardware/numarray).
If you want to use it you need python and the python package Numpy.
(http://numpy.scipy.org/).
The GDL configure script will determine the installed python version
automatically. For this the python executable must be installed.
The python version can be explictely set with
......@@ -298,7 +297,7 @@ CONTRIBUTIONS:
==============
GDL 0.9 is actively developed, but due to the vast amount of subroutines
to implement still in beta state as of August 2010.
to implement still in beta state as of December 2010.
Even though it can already be used for several tasks, there are many
things to be done.
Bug reports, feedback in general and interested people who would
......
To use the for now optional installation with CMake
first extract the necessary files.
In the GDL root directory do:
tar xfvz CMake.tar.gz
Then follow the instructions in INSTALL.CMake.
......@@ -8699,6 +8699,211 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications,