HDF5 as a module

Marcus G. Daniels mgd@swarm.org
28 Jan 2000 16:40:09 -0800


--=-=-=


Included below are:

  1) Diffs to to remove HDF5 from R

  2) Diffs to pass thru --with-* options to a module's configure
     script during "R INSTALL".  (To reiterate a plea for this
     capability...)  This applies only to Unix, the Windows (mingw32 in
     my case) build approach of passing in make variables like
     *-CFLAGS and *-LDFLAGS works fine.  The only hitch with the
     Windows install is that I had to drop the `bundle' wrapper, which
     was useful for Unix in order to give the package a recognizable
     name with version number (Rhdf5-0.0), but the installed package
     with R a minimal name (hdf5).

  3) The module itself, as an attachment.


Index: aclocal.m4
===================================================================
RCS file: /home/rcvs/src/R/aclocal.m4,v
retrieving revision 1.30
diff -c -r1.30 aclocal.m4
*** aclocal.m4	2000/01/21 07:49:19	1.30
--- aclocal.m4	2000/01/29 00:22:35
***************
*** 543,570 ****
      AC_MSG_WARN([I found f2c but not libf2c, or libF77 and libI77])
    fi])
  dnl
- dnl R_LIB_HDF5
- dnl
- AC_DEFUN(R_LIB_HDF5,
-   [ AC_CHECK_LIB(hdf5, main,
-       [ ac_save_LIBS="${LIBS}"
- 	LIBS="-lhdf5 ${LIBS}"
- 	AC_CACHE_CHECK([for HDF5 version >= 1.2],
- 	  r_cv_lib_hdf5,
- 	  AC_TRY_LINK(
- 	    [#include <hdf5.h>],
- 	    [ H5T_pers_t convtype = H5T_PERS_SOFT;
- 	      H5Tclose ((hid_t) 0);],
- 	    r_cv_lib_hdf5=yes,
- 	    r_cv_lib_hdf5=no))
- 	if test "${r_cv_lib_hdf5}" = yes; then
- 	  AC_DEFINE(HAVE_HDF5)
- 	else
- 	  LIBS=${ac_save_LIBS}
- 	fi
-       ])
-   ])
- dnl
  dnl R_FUNC___SETFPUCW
  dnl
  AC_DEFUN(R_FUNC___SETFPUCW,
--- 543,548 ----
Index: configure.in
===================================================================
RCS file: /home/rcvs/src/R/configure.in,v
retrieving revision 1.159
diff -c -r1.159 configure.in
*** configure.in	2000/01/21 16:49:18	1.159
--- configure.in	2000/01/29 00:22:50
***************
*** 342,348 ****
  ))
  AC_CHECK_LIB(dl, dlopen)
  AC_CHECK_LIB(z, main)
- R_LIB_HDF5
  BLAS="blas.o"
  if ${use_dxml}; then
    AC_CHECK_LIB(dxml, main, FLIBS="-ldxml ${FLIBS}" BLAS="")
--- 342,347 ----
***************
*** 394,400 ****
  AC_HEADER_DIRENT
  AC_HEADER_SYS_WAIT
  AC_CHECK_HEADERS(dl.h dlfcn.h elf.h floatingpoint.h fpu_control.h \
!   hdf5.h ieee754.h ieeefp.h readline/history.h readline/readline.h \
    rpc/rpc.h rpc/xdr.h sys/param.h sys/stat.h sys/time.h sys/times.h \
    unistd.h locale.h)
  case "${host}" in
--- 393,399 ----
  AC_HEADER_DIRENT
  AC_HEADER_SYS_WAIT
  AC_CHECK_HEADERS(dl.h dlfcn.h elf.h floatingpoint.h fpu_control.h \
!   ieee754.h ieeefp.h readline/history.h readline/readline.h \
    rpc/rpc.h rpc/xdr.h sys/param.h sys/stat.h sys/time.h sys/times.h \
    unistd.h locale.h)
  case "${host}" in
Index: src/main/Makefile.in
===================================================================
RCS file: /home/rcvs/src/R/src/main/Makefile.in,v
retrieving revision 1.51
diff -c -r1.51 Makefile.in
*** src/main/Makefile.in	2000/01/27 05:42:06	1.51
--- src/main/Makefile.in	2000/01/29 00:23:10
***************
*** 45,51 ****
  	gram.c \
  	gram-ex.c \
  	graphics.c \
- 	hdf5.c \
  	iosupport.c \
  	list.c \
  	logic.c \
--- 45,50 ----
Index: src/main/names.c
===================================================================
RCS file: /home/rcvs/src/R/src/main/names.c,v
retrieving revision 1.119
diff -c -r1.119 names.c
*** src/main/names.c	2000/01/27 05:41:22	1.119
--- src/main/names.c	2000/01/29 00:23:18
***************
*** 515,522 ****
  {"parse",	do_parse,	0,	11,	4,	PP_FUNCALL},
  {"save",	do_save,	0,	111,	4,	PP_FUNCALL},
  {"load",	do_load,	0,	111,	2,	PP_FUNCALL},
- {"hdf5save",	do_hdf5save,	0,	0,	-1,	PP_FUNCALL},
- {"hdf5load",	do_hdf5load,	0,	11,	 2,	PP_FUNCALL},
  {"deparse",	do_deparse,	0,	11,	2,	PP_FUNCALL},
  {"dput",	do_dput,	0,	111,	2,	PP_FUNCALL},
  {"dump",	do_dump,	0,	111,	2,	PP_FUNCALL},
--- 515,520 ----
Index: src/main/names.h
===================================================================
RCS file: /home/rcvs/src/R/src/main/names.h,v
retrieving revision 1.51
diff -c -r1.51 names.h
*** src/main/names.h	2000/01/21 17:54:06	1.51
--- src/main/names.h	2000/01/29 00:23:19
***************
*** 181,188 ****
  SEXP do_gray(SEXP, SEXP, SEXP, SEXP);
  SEXP do_grep(SEXP, SEXP, SEXP, SEXP);
  SEXP do_gsub(SEXP, SEXP, SEXP, SEXP);
- SEXP do_hdf5save (SEXP, SEXP, SEXP, SEXP);
- SEXP do_hdf5load (SEXP, SEXP, SEXP, SEXP);
  SEXP do_hsv(SEXP, SEXP, SEXP, SEXP);
  SEXP do_identify(SEXP, SEXP, SEXP, SEXP);
  SEXP do_if(SEXP, SEXP, SEXP, SEXP);
--- 181,186 ----

Index: src/scripts/INSTALL.in
===================================================================
RCS file: /home/rcvs/src/R/src/scripts/INSTALL.in,v
retrieving revision 1.29
diff -c -r1.29 INSTALL.in
*** src/scripts/INSTALL.in	2000/01/24 19:48:48	1.29
--- src/scripts/INSTALL.in	2000/01/29 00:23:21
***************
*** 107,112 ****
--- 107,116 ----
        lib=${2}; shift ;;
      --library=*)
        lib=`echo "${1}" | sed -e 's/[^=]*=//'` ;;
+     --with-*=*)
+       configure_args="$configure_args $1";;
+     --with-*)
+       configure_args="$configure_args $1=$2"; shift ;;
      *)
        if test -f "${1}"; then
          mkdir -p ${tmpdir}
***************
*** 181,187 ****
    echo "Installing package \`${pkg}' ..."
  
    if test -x ./configure ; then
!     ./configure
    fi
  
    if test -d src; then
--- 185,191 ----
    echo "Installing package \`${pkg}' ..."
  
    if test -x ./configure ; then
!     ./configure $configure_args
    fi
  
    if test -d src; then


--=-=-=
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=Rhdf5-0.1.tar.gz
Content-Transfer-Encoding: base64
Content-Description: HDF5 module for R

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
f/Hv/wH51ZhiAGgBAA==
--=-=-=--
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._