Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| b1aa655b22 | |||
| efb1e39233 | |||
| 5b611ab155 | |||
| 66449ee44d | |||
| d368a60202 | |||
| 6b4b556ff1 | |||
| 0857443617 |
@@ -18,6 +18,9 @@ doc/Doxyfile -text
|
|||||||
doc/H5X_File_Format.txt -text
|
doc/H5X_File_Format.txt -text
|
||||||
doc/Makefile.am -text
|
doc/Makefile.am -text
|
||||||
doc/doxyfooter -text
|
doc/doxyfooter -text
|
||||||
|
examples/core_vfd.c -text
|
||||||
|
examples/fields.c -text
|
||||||
|
examples/particles.c -text
|
||||||
examples/simplef.F90 -text
|
examples/simplef.F90 -text
|
||||||
examples/stridedf.F90 -text
|
examples/stridedf.F90 -text
|
||||||
examples/write_setview.c -text
|
examples/write_setview.c -text
|
||||||
|
|||||||
+1
-2
@@ -1,5 +1,6 @@
|
|||||||
# Trial by Antino Kim
|
# Trial by Antino Kim
|
||||||
# Top level Makefile.am
|
# Top level Makefile.am
|
||||||
|
ACLOCAL_AMFLAGS=-I m4
|
||||||
|
|
||||||
SUBDIRS = \
|
SUBDIRS = \
|
||||||
doc \
|
doc \
|
||||||
@@ -7,8 +8,6 @@ SUBDIRS = \
|
|||||||
test \
|
test \
|
||||||
tools
|
tools
|
||||||
|
|
||||||
EXTRA_DIST = configure-crayxt
|
|
||||||
|
|
||||||
MAINTAINERCLEANFILES = \
|
MAINTAINERCLEANFILES = \
|
||||||
config.h \
|
config.h \
|
||||||
config.log \
|
config.log \
|
||||||
|
|||||||
@@ -1,3 +1,29 @@
|
|||||||
|
#### H5PART 1.6.3 ############################################################
|
||||||
|
|
||||||
|
New build system uses libtool and can build shared libraries.
|
||||||
|
|
||||||
|
Fixed a bug that incorrectly identifies the number of selected points in a view
|
||||||
|
when using H5PartSetViewIndices.
|
||||||
|
|
||||||
|
Fixed bug in Fortran test reported by several people, as well as several
|
||||||
|
incorrect views set in the C test that were causing segfaults.
|
||||||
|
|
||||||
|
Fixed name mismatches in the Fortran interface, and an off-by-one indexing
|
||||||
|
problem.
|
||||||
|
|
||||||
|
#### H5PART 1.6.2 ############################################################
|
||||||
|
|
||||||
|
Removed H5PartSetViewEmpty
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
An empty view can now be selected with:
|
||||||
|
H5PartSetNumParticles(file, 0);
|
||||||
|
|
||||||
|
Bug Fixes to Attribute Calls in Fortran API
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
Fixed a problem where attribute values were reverting to zero.
|
||||||
|
|
||||||
#### H5PART 1.6.1 ############################################################
|
#### H5PART 1.6.1 ############################################################
|
||||||
|
|
||||||
Chunking in the H5Part API
|
Chunking in the H5Part API
|
||||||
@@ -12,7 +38,7 @@ on disk.
|
|||||||
All Steps Available on Write
|
All Steps Available on Write
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
Previously, existing steps in a file were only accessable in read-only mode.
|
Previously, existing steps in a file were only accessible in read-only mode.
|
||||||
Now, all steps are available in all modes, including write-truncate and
|
Now, all steps are available in all modes, including write-truncate and
|
||||||
write-append. Thus, it is now possible to overwrite existing data in write
|
write-append. Thus, it is now possible to overwrite existing data in write
|
||||||
mode. To help alert the user to this possibility, a warning is issued every
|
mode. To help alert the user to this possibility, a warning is issued every
|
||||||
@@ -23,9 +49,9 @@ New Throttling Routine
|
|||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
Previously, a throttle factor of N meant that for P processors, the total
|
Previously, a throttle factor of N meant that for P processors, the total
|
||||||
number of P writes were divided into N batchs of P/N writes.
|
number of P writes were divided into N batches of P/N writes.
|
||||||
|
|
||||||
To better accomodate round-robin lustre striping, the new policy is to
|
To better accommodate round-robin lustre striping, the new policy is to
|
||||||
execute P/N batches of N writes. Thus, matching N to the number of stripes
|
execute P/N batches of N writes. Thus, matching N to the number of stripes
|
||||||
results in the desirable 1-1 matching of writers to stripes.
|
results in the desirable 1-1 matching of writers to stripes.
|
||||||
|
|
||||||
@@ -160,7 +186,7 @@ calls.
|
|||||||
Previously, a user could overrun internal buffers for dataset names. Now, a
|
Previously, a user could overrun internal buffers for dataset names. Now, a
|
||||||
fixed limit of 64 chars is imposed. Dataset names that are longer than this are
|
fixed limit of 64 chars is imposed. Dataset names that are longer than this are
|
||||||
truncated and a warning is printed. We expect that most users are using
|
truncated and a warning is printed. We expect that most users are using
|
||||||
short canoncical names like x, px, id, etc.
|
short canonical names like x, px, id, etc.
|
||||||
|
|
||||||
Changes to Existing API
|
Changes to Existing API
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|||||||
+9
-1
@@ -15,7 +15,6 @@ aclocal $ACLOCAL_FLAGS || {
|
|||||||
echo
|
echo
|
||||||
echo
|
echo
|
||||||
echo
|
echo
|
||||||
echo
|
|
||||||
echo "+ running autoheader ... "
|
echo "+ running autoheader ... "
|
||||||
autoheader || {
|
autoheader || {
|
||||||
echo
|
echo
|
||||||
@@ -25,6 +24,15 @@ autoheader || {
|
|||||||
echo
|
echo
|
||||||
echo
|
echo
|
||||||
echo
|
echo
|
||||||
|
echo "+ running libtoolize ... "
|
||||||
|
libtoolize --force || {
|
||||||
|
echo
|
||||||
|
echo "libtoolize failed"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
echo
|
||||||
|
echo
|
||||||
|
echo
|
||||||
echo "+ running autoconf ... "
|
echo "+ running autoconf ... "
|
||||||
autoconf || {
|
autoconf || {
|
||||||
echo
|
echo
|
||||||
|
|||||||
Vendored
+408
-316
File diff suppressed because it is too large
Load Diff
Vendored
+178
-55
@@ -1,9 +1,10 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Configuration validation subroutine script.
|
# Configuration validation subroutine script.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
# 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
|
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
||||||
|
# Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2005-02-10'
|
timestamp='2009-04-17'
|
||||||
|
|
||||||
# This file is (in principle) common to ALL GNU software.
|
# This file is (in principle) common to ALL GNU software.
|
||||||
# The presence of a machine in this file suggests that SOME GNU software
|
# The presence of a machine in this file suggests that SOME GNU software
|
||||||
@@ -21,14 +22,15 @@ timestamp='2005-02-10'
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 59 Temple Place - Suite 330,
|
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
|
||||||
# Boston, MA 02111-1307, USA.
|
# 02110-1301, USA.
|
||||||
|
#
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
# configuration script generated by Autoconf, you may include it under
|
# configuration script generated by Autoconf, you may include it under
|
||||||
# the same distribution terms that you use for the rest of that program.
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
|
||||||
# Please send patches to <config-patches@gnu.org>. Submit a context
|
# Please send patches to <config-patches@gnu.org>. Submit a context
|
||||||
# diff and a properly formatted ChangeLog entry.
|
# diff and a properly formatted ChangeLog entry.
|
||||||
#
|
#
|
||||||
@@ -70,8 +72,8 @@ Report bugs and patches to <config-patches@gnu.org>."
|
|||||||
version="\
|
version="\
|
||||||
GNU config.sub ($timestamp)
|
GNU config.sub ($timestamp)
|
||||||
|
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
||||||
Free Software Foundation, Inc.
|
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
@@ -83,11 +85,11 @@ Try \`$me --help' for more information."
|
|||||||
while test $# -gt 0 ; do
|
while test $# -gt 0 ; do
|
||||||
case $1 in
|
case $1 in
|
||||||
--time-stamp | --time* | -t )
|
--time-stamp | --time* | -t )
|
||||||
echo "$timestamp" ; exit 0 ;;
|
echo "$timestamp" ; exit ;;
|
||||||
--version | -v )
|
--version | -v )
|
||||||
echo "$version" ; exit 0 ;;
|
echo "$version" ; exit ;;
|
||||||
--help | --h* | -h )
|
--help | --h* | -h )
|
||||||
echo "$usage"; exit 0 ;;
|
echo "$usage"; exit ;;
|
||||||
-- ) # Stop option processing
|
-- ) # Stop option processing
|
||||||
shift; break ;;
|
shift; break ;;
|
||||||
- ) # Use stdin as input.
|
- ) # Use stdin as input.
|
||||||
@@ -99,7 +101,7 @@ while test $# -gt 0 ; do
|
|||||||
*local*)
|
*local*)
|
||||||
# First pass through any local machine types.
|
# First pass through any local machine types.
|
||||||
echo $1
|
echo $1
|
||||||
exit 0;;
|
exit ;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
break ;;
|
break ;;
|
||||||
@@ -118,8 +120,10 @@ esac
|
|||||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||||
case $maybe_os in
|
case $maybe_os in
|
||||||
nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
|
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
|
||||||
kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
|
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
|
||||||
|
kopensolaris*-gnu* | \
|
||||||
|
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||||
os=-$maybe_os
|
os=-$maybe_os
|
||||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||||
;;
|
;;
|
||||||
@@ -170,6 +174,10 @@ case $os in
|
|||||||
-hiux*)
|
-hiux*)
|
||||||
os=-hiuxwe2
|
os=-hiuxwe2
|
||||||
;;
|
;;
|
||||||
|
-sco6)
|
||||||
|
os=-sco5v6
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
|
;;
|
||||||
-sco5)
|
-sco5)
|
||||||
os=-sco3.2v5
|
os=-sco3.2v5
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
@@ -186,6 +194,10 @@ case $os in
|
|||||||
# Don't forget version if it is 3.2v4 or newer.
|
# Don't forget version if it is 3.2v4 or newer.
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
|
-sco5v6*)
|
||||||
|
# Don't forget version if it is 3.2v4 or newer.
|
||||||
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
|
;;
|
||||||
-sco*)
|
-sco*)
|
||||||
os=-sco3.2v2
|
os=-sco3.2v2
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
||||||
@@ -230,22 +242,28 @@ case $basic_machine in
|
|||||||
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
|
||||||
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
|
||||||
| am33_2.0 \
|
| am33_2.0 \
|
||||||
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
|
| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
|
||||||
|
| bfin \
|
||||||
| c4x | clipper \
|
| c4x | clipper \
|
||||||
| d10v | d30v | dlx | dsp16xx \
|
| d10v | d30v | dlx | dsp16xx \
|
||||||
| fr30 | frv \
|
| fido | fr30 | frv \
|
||||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||||
| i370 | i860 | i960 | ia64 \
|
| i370 | i860 | i960 | ia64 \
|
||||||
| ip2k | iq2000 \
|
| ip2k | iq2000 \
|
||||||
| m32r | m32rle | m68000 | m68k | m88k | maxq | mcore \
|
| lm32 \
|
||||||
|
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||||
|
| maxq | mb | microblaze | mcore | mep | metag \
|
||||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||||
| mips16 \
|
| mips16 \
|
||||||
| mips64 | mips64el \
|
| mips64 | mips64el \
|
||||||
| mips64vr | mips64vrel \
|
| mips64octeon | mips64octeonel \
|
||||||
| mips64orion | mips64orionel \
|
| mips64orion | mips64orionel \
|
||||||
|
| mips64r5900 | mips64r5900el \
|
||||||
|
| mips64vr | mips64vrel \
|
||||||
| mips64vr4100 | mips64vr4100el \
|
| mips64vr4100 | mips64vr4100el \
|
||||||
| mips64vr4300 | mips64vr4300el \
|
| mips64vr4300 | mips64vr4300el \
|
||||||
| mips64vr5000 | mips64vr5000el \
|
| mips64vr5000 | mips64vr5000el \
|
||||||
|
| mips64vr5900 | mips64vr5900el \
|
||||||
| mipsisa32 | mipsisa32el \
|
| mipsisa32 | mipsisa32el \
|
||||||
| mipsisa32r2 | mipsisa32r2el \
|
| mipsisa32r2 | mipsisa32r2el \
|
||||||
| mipsisa64 | mipsisa64el \
|
| mipsisa64 | mipsisa64el \
|
||||||
@@ -254,21 +272,26 @@ case $basic_machine in
|
|||||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||||
| mipstx39 | mipstx39el \
|
| mipstx39 | mipstx39el \
|
||||||
| mn10200 | mn10300 \
|
| mn10200 | mn10300 \
|
||||||
|
| moxie \
|
||||||
|
| mt \
|
||||||
| msp430 \
|
| msp430 \
|
||||||
|
| nios | nios2 \
|
||||||
| ns16k | ns32k \
|
| ns16k | ns32k \
|
||||||
| openrisc | or32 \
|
| or32 \
|
||||||
| pdp10 | pdp11 | pj | pjl \
|
| pdp10 | pdp11 | pj | pjl \
|
||||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||||
| pyramid \
|
| pyramid \
|
||||||
| sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
|
| score \
|
||||||
|
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||||
| sh64 | sh64le \
|
| sh64 | sh64le \
|
||||||
| sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
|
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||||
| strongarm \
|
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||||
|
| spu | strongarm \
|
||||||
| tahoe | thumb | tic4x | tic80 | tron \
|
| tahoe | thumb | tic4x | tic80 | tron \
|
||||||
| v850 | v850e \
|
| v850 | v850e \
|
||||||
| we32k \
|
| we32k \
|
||||||
| x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
|
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||||
| z8k)
|
| z8k | z80)
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
;;
|
;;
|
||||||
m6811 | m68hc11 | m6812 | m68hc12)
|
m6811 | m68hc11 | m6812 | m68hc12)
|
||||||
@@ -278,6 +301,9 @@ case $basic_machine in
|
|||||||
;;
|
;;
|
||||||
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
|
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
|
||||||
;;
|
;;
|
||||||
|
ms1)
|
||||||
|
basic_machine=mt-unknown
|
||||||
|
;;
|
||||||
|
|
||||||
# We use `pc' rather than `unknown'
|
# We use `pc' rather than `unknown'
|
||||||
# because (1) that's what they normally are, and
|
# because (1) that's what they normally are, and
|
||||||
@@ -297,28 +323,32 @@ case $basic_machine in
|
|||||||
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
|
||||||
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
|
||||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||||
| avr-* \
|
| avr-* | avr32-* \
|
||||||
| bs2000-* \
|
| bfin-* | bs2000-* \
|
||||||
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
|
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
|
||||||
| clipper-* | craynv-* | cydra-* \
|
| clipper-* | craynv-* | cydra-* \
|
||||||
| d10v-* | d30v-* | dlx-* \
|
| d10v-* | d30v-* | dlx-* \
|
||||||
| elxsi-* \
|
| elxsi-* \
|
||||||
| f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
|
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
|
||||||
| h8300-* | h8500-* \
|
| h8300-* | h8500-* \
|
||||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||||
| i*86-* | i860-* | i960-* | ia64-* \
|
| i*86-* | i860-* | i960-* | ia64-* \
|
||||||
| ip2k-* | iq2000-* \
|
| ip2k-* | iq2000-* \
|
||||||
| m32r-* | m32rle-* \
|
| lm32-* \
|
||||||
|
| m32c-* | m32r-* | m32rle-* \
|
||||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||||
| m88110-* | m88k-* | maxq-* | mcore-* \
|
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
|
||||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||||
| mips16-* \
|
| mips16-* \
|
||||||
| mips64-* | mips64el-* \
|
| mips64-* | mips64el-* \
|
||||||
| mips64vr-* | mips64vrel-* \
|
| mips64octeon-* | mips64octeonel-* \
|
||||||
| mips64orion-* | mips64orionel-* \
|
| mips64orion-* | mips64orionel-* \
|
||||||
|
| mips64r5900-* | mips64r5900el-* \
|
||||||
|
| mips64vr-* | mips64vrel-* \
|
||||||
| mips64vr4100-* | mips64vr4100el-* \
|
| mips64vr4100-* | mips64vr4100el-* \
|
||||||
| mips64vr4300-* | mips64vr4300el-* \
|
| mips64vr4300-* | mips64vr4300el-* \
|
||||||
| mips64vr5000-* | mips64vr5000el-* \
|
| mips64vr5000-* | mips64vr5000el-* \
|
||||||
|
| mips64vr5900-* | mips64vr5900el-* \
|
||||||
| mipsisa32-* | mipsisa32el-* \
|
| mipsisa32-* | mipsisa32el-* \
|
||||||
| mipsisa32r2-* | mipsisa32r2el-* \
|
| mipsisa32r2-* | mipsisa32r2el-* \
|
||||||
| mipsisa64-* | mipsisa64el-* \
|
| mipsisa64-* | mipsisa64el-* \
|
||||||
@@ -327,26 +357,33 @@ case $basic_machine in
|
|||||||
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
||||||
| mipstx39-* | mipstx39el-* \
|
| mipstx39-* | mipstx39el-* \
|
||||||
| mmix-* \
|
| mmix-* \
|
||||||
|
| mt-* \
|
||||||
| msp430-* \
|
| msp430-* \
|
||||||
|
| nios-* | nios2-* \
|
||||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||||
| orion-* \
|
| orion-* \
|
||||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||||
| pyramid-* \
|
| pyramid-* \
|
||||||
| romp-* | rs6000-* \
|
| romp-* | rs6000-* \
|
||||||
| sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
|
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||||
| sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
|
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||||
| sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
|
| sparclite-* \
|
||||||
|
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
||||||
| tahoe-* | thumb-* \
|
| tahoe-* | thumb-* \
|
||||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
|
||||||
| tron-* \
|
| tron-* \
|
||||||
| v850-* | v850e-* | vax-* \
|
| v850-* | v850e-* | vax-* \
|
||||||
| we32k-* \
|
| we32k-* \
|
||||||
| x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
|
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||||
| xstormy16-* | xtensa-* \
|
| xstormy16-* | xtensa*-* \
|
||||||
| ymp-* \
|
| ymp-* \
|
||||||
| z8k-*)
|
| z8k-* | z80-*)
|
||||||
|
;;
|
||||||
|
# Recognize the basic CPU types without company name, with glob match.
|
||||||
|
xtensa*)
|
||||||
|
basic_machine=$basic_machine-unknown
|
||||||
;;
|
;;
|
||||||
# Recognize the various machine names and aliases which stand
|
# Recognize the various machine names and aliases which stand
|
||||||
# for a CPU type and a company and sometimes even an OS.
|
# for a CPU type and a company and sometimes even an OS.
|
||||||
@@ -410,6 +447,10 @@ case $basic_machine in
|
|||||||
basic_machine=m68k-apollo
|
basic_machine=m68k-apollo
|
||||||
os=-bsd
|
os=-bsd
|
||||||
;;
|
;;
|
||||||
|
aros)
|
||||||
|
basic_machine=i386-pc
|
||||||
|
os=-aros
|
||||||
|
;;
|
||||||
aux)
|
aux)
|
||||||
basic_machine=m68k-apple
|
basic_machine=m68k-apple
|
||||||
os=-aux
|
os=-aux
|
||||||
@@ -418,10 +459,22 @@ case $basic_machine in
|
|||||||
basic_machine=ns32k-sequent
|
basic_machine=ns32k-sequent
|
||||||
os=-dynix
|
os=-dynix
|
||||||
;;
|
;;
|
||||||
|
blackfin)
|
||||||
|
basic_machine=bfin-unknown
|
||||||
|
os=-linux
|
||||||
|
;;
|
||||||
|
blackfin-*)
|
||||||
|
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
os=-linux
|
||||||
|
;;
|
||||||
c90)
|
c90)
|
||||||
basic_machine=c90-cray
|
basic_machine=c90-cray
|
||||||
os=-unicos
|
os=-unicos
|
||||||
;;
|
;;
|
||||||
|
cegcc)
|
||||||
|
basic_machine=arm-unknown
|
||||||
|
os=-cegcc
|
||||||
|
;;
|
||||||
convex-c1)
|
convex-c1)
|
||||||
basic_machine=c1-convex
|
basic_machine=c1-convex
|
||||||
os=-bsd
|
os=-bsd
|
||||||
@@ -450,8 +503,8 @@ case $basic_machine in
|
|||||||
basic_machine=craynv-cray
|
basic_machine=craynv-cray
|
||||||
os=-unicosmp
|
os=-unicosmp
|
||||||
;;
|
;;
|
||||||
cr16c)
|
cr16)
|
||||||
basic_machine=cr16c-unknown
|
basic_machine=cr16-unknown
|
||||||
os=-elf
|
os=-elf
|
||||||
;;
|
;;
|
||||||
crds | unos)
|
crds | unos)
|
||||||
@@ -489,6 +542,10 @@ case $basic_machine in
|
|||||||
basic_machine=m88k-motorola
|
basic_machine=m88k-motorola
|
||||||
os=-sysv3
|
os=-sysv3
|
||||||
;;
|
;;
|
||||||
|
dicos)
|
||||||
|
basic_machine=i686-pc
|
||||||
|
os=-dicos
|
||||||
|
;;
|
||||||
djgpp)
|
djgpp)
|
||||||
basic_machine=i586-pc
|
basic_machine=i586-pc
|
||||||
os=-msdosdjgpp
|
os=-msdosdjgpp
|
||||||
@@ -643,6 +700,14 @@ case $basic_machine in
|
|||||||
basic_machine=m68k-isi
|
basic_machine=m68k-isi
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
|
m68knommu)
|
||||||
|
basic_machine=m68k-unknown
|
||||||
|
os=-linux
|
||||||
|
;;
|
||||||
|
m68knommu-*)
|
||||||
|
basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
os=-linux
|
||||||
|
;;
|
||||||
m88k-omron*)
|
m88k-omron*)
|
||||||
basic_machine=m88k-omron
|
basic_machine=m88k-omron
|
||||||
;;
|
;;
|
||||||
@@ -658,6 +723,10 @@ case $basic_machine in
|
|||||||
basic_machine=i386-pc
|
basic_machine=i386-pc
|
||||||
os=-mingw32
|
os=-mingw32
|
||||||
;;
|
;;
|
||||||
|
mingw32ce)
|
||||||
|
basic_machine=arm-unknown
|
||||||
|
os=-mingw32ce
|
||||||
|
;;
|
||||||
miniframe)
|
miniframe)
|
||||||
basic_machine=m68000-convergent
|
basic_machine=m68000-convergent
|
||||||
;;
|
;;
|
||||||
@@ -683,6 +752,9 @@ case $basic_machine in
|
|||||||
basic_machine=i386-pc
|
basic_machine=i386-pc
|
||||||
os=-msdos
|
os=-msdos
|
||||||
;;
|
;;
|
||||||
|
ms1-*)
|
||||||
|
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
||||||
|
;;
|
||||||
mvs)
|
mvs)
|
||||||
basic_machine=i370-ibm
|
basic_machine=i370-ibm
|
||||||
os=-mvs
|
os=-mvs
|
||||||
@@ -758,9 +830,8 @@ case $basic_machine in
|
|||||||
basic_machine=hppa1.1-oki
|
basic_machine=hppa1.1-oki
|
||||||
os=-proelf
|
os=-proelf
|
||||||
;;
|
;;
|
||||||
or32 | or32-*)
|
openrisc | openrisc-*)
|
||||||
basic_machine=or32-unknown
|
basic_machine=or32-unknown
|
||||||
os=-coff
|
|
||||||
;;
|
;;
|
||||||
os400)
|
os400)
|
||||||
basic_machine=powerpc-ibm
|
basic_machine=powerpc-ibm
|
||||||
@@ -782,6 +853,14 @@ case $basic_machine in
|
|||||||
basic_machine=i860-intel
|
basic_machine=i860-intel
|
||||||
os=-osf
|
os=-osf
|
||||||
;;
|
;;
|
||||||
|
parisc)
|
||||||
|
basic_machine=hppa-unknown
|
||||||
|
os=-linux
|
||||||
|
;;
|
||||||
|
parisc-*)
|
||||||
|
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
os=-linux
|
||||||
|
;;
|
||||||
pbd)
|
pbd)
|
||||||
basic_machine=sparc-tti
|
basic_machine=sparc-tti
|
||||||
;;
|
;;
|
||||||
@@ -791,6 +870,12 @@ case $basic_machine in
|
|||||||
pc532 | pc532-*)
|
pc532 | pc532-*)
|
||||||
basic_machine=ns32k-pc532
|
basic_machine=ns32k-pc532
|
||||||
;;
|
;;
|
||||||
|
pc98)
|
||||||
|
basic_machine=i386-pc
|
||||||
|
;;
|
||||||
|
pc98-*)
|
||||||
|
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
;;
|
||||||
pentium | p5 | k5 | k6 | nexgen | viac3)
|
pentium | p5 | k5 | k6 | nexgen | viac3)
|
||||||
basic_machine=i586-pc
|
basic_machine=i586-pc
|
||||||
;;
|
;;
|
||||||
@@ -847,6 +932,10 @@ case $basic_machine in
|
|||||||
basic_machine=i586-unknown
|
basic_machine=i586-unknown
|
||||||
os=-pw32
|
os=-pw32
|
||||||
;;
|
;;
|
||||||
|
rdos)
|
||||||
|
basic_machine=i386-pc
|
||||||
|
os=-rdos
|
||||||
|
;;
|
||||||
rom68k)
|
rom68k)
|
||||||
basic_machine=m68k-rom68k
|
basic_machine=m68k-rom68k
|
||||||
os=-coff
|
os=-coff
|
||||||
@@ -873,6 +962,10 @@ case $basic_machine in
|
|||||||
sb1el)
|
sb1el)
|
||||||
basic_machine=mipsisa64sb1el-unknown
|
basic_machine=mipsisa64sb1el-unknown
|
||||||
;;
|
;;
|
||||||
|
sde)
|
||||||
|
basic_machine=mipsisa32-sde
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
sei)
|
sei)
|
||||||
basic_machine=mips-sei
|
basic_machine=mips-sei
|
||||||
os=-seiux
|
os=-seiux
|
||||||
@@ -884,6 +977,9 @@ case $basic_machine in
|
|||||||
basic_machine=sh-hitachi
|
basic_machine=sh-hitachi
|
||||||
os=-hms
|
os=-hms
|
||||||
;;
|
;;
|
||||||
|
sh5el)
|
||||||
|
basic_machine=sh5le-unknown
|
||||||
|
;;
|
||||||
sh64)
|
sh64)
|
||||||
basic_machine=sh64-unknown
|
basic_machine=sh64-unknown
|
||||||
;;
|
;;
|
||||||
@@ -973,6 +1069,10 @@ case $basic_machine in
|
|||||||
basic_machine=tic6x-unknown
|
basic_machine=tic6x-unknown
|
||||||
os=-coff
|
os=-coff
|
||||||
;;
|
;;
|
||||||
|
tile*)
|
||||||
|
basic_machine=tile-unknown
|
||||||
|
os=-linux-gnu
|
||||||
|
;;
|
||||||
tx39)
|
tx39)
|
||||||
basic_machine=mipstx39-unknown
|
basic_machine=mipstx39-unknown
|
||||||
;;
|
;;
|
||||||
@@ -1048,6 +1148,10 @@ case $basic_machine in
|
|||||||
basic_machine=z8k-unknown
|
basic_machine=z8k-unknown
|
||||||
os=-sim
|
os=-sim
|
||||||
;;
|
;;
|
||||||
|
z80-*-coff)
|
||||||
|
basic_machine=z80-unknown
|
||||||
|
os=-sim
|
||||||
|
;;
|
||||||
none)
|
none)
|
||||||
basic_machine=none-none
|
basic_machine=none-none
|
||||||
os=-none
|
os=-none
|
||||||
@@ -1086,13 +1190,10 @@ case $basic_machine in
|
|||||||
we32k)
|
we32k)
|
||||||
basic_machine=we32k-att
|
basic_machine=we32k-att
|
||||||
;;
|
;;
|
||||||
sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
|
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||||
basic_machine=sh-unknown
|
basic_machine=sh-unknown
|
||||||
;;
|
;;
|
||||||
sh64)
|
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
||||||
basic_machine=sh64-unknown
|
|
||||||
;;
|
|
||||||
sparc | sparcv8 | sparcv9 | sparcv9b)
|
|
||||||
basic_machine=sparc-sun
|
basic_machine=sparc-sun
|
||||||
;;
|
;;
|
||||||
cydra)
|
cydra)
|
||||||
@@ -1161,24 +1262,28 @@ case $os in
|
|||||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
||||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
||||||
|
| -kopensolaris* \
|
||||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||||
| -aos* \
|
| -aos* | -aros* \
|
||||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
|
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||||
|
| -openbsd* | -solidbsd* \
|
||||||
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
||||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||||
| -chorusos* | -chorusrdb* \
|
| -chorusos* | -chorusrdb* | -cegcc* \
|
||||||
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||||
| -mingw32* | -linux* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
|
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
|
||||||
|
| -uxpv* | -beos* | -mpeix* | -udk* \
|
||||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
|
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||||
|
| -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
|
||||||
# Remember, each alternative MUST END IN *, to match a version number.
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
;;
|
;;
|
||||||
-qnx*)
|
-qnx*)
|
||||||
@@ -1196,7 +1301,7 @@ case $os in
|
|||||||
os=`echo $os | sed -e 's|nto|nto-qnx|'`
|
os=`echo $os | sed -e 's|nto|nto-qnx|'`
|
||||||
;;
|
;;
|
||||||
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
|
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
|
||||||
| -windows* | -osx | -abug | -netware* | -os9* | -beos* \
|
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
|
||||||
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
|
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
|
||||||
;;
|
;;
|
||||||
-mac*)
|
-mac*)
|
||||||
@@ -1205,6 +1310,9 @@ case $os in
|
|||||||
-linux-dietlibc)
|
-linux-dietlibc)
|
||||||
os=-linux-dietlibc
|
os=-linux-dietlibc
|
||||||
;;
|
;;
|
||||||
|
-linux*)
|
||||||
|
os=`echo $os | sed -e 's|linux|linux-gnu|'`
|
||||||
|
;;
|
||||||
-sunos5*)
|
-sunos5*)
|
||||||
os=`echo $os | sed -e 's|sunos5|solaris2|'`
|
os=`echo $os | sed -e 's|sunos5|solaris2|'`
|
||||||
;;
|
;;
|
||||||
@@ -1305,6 +1413,9 @@ case $os in
|
|||||||
-zvmoe)
|
-zvmoe)
|
||||||
os=-zvmoe
|
os=-zvmoe
|
||||||
;;
|
;;
|
||||||
|
-dicos*)
|
||||||
|
os=-dicos
|
||||||
|
;;
|
||||||
-none)
|
-none)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@@ -1327,6 +1438,12 @@ else
|
|||||||
# system, and we'll never get to this point.
|
# system, and we'll never get to this point.
|
||||||
|
|
||||||
case $basic_machine in
|
case $basic_machine in
|
||||||
|
score-*)
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
|
spu-*)
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
*-acorn)
|
*-acorn)
|
||||||
os=-riscix1.2
|
os=-riscix1.2
|
||||||
;;
|
;;
|
||||||
@@ -1336,9 +1453,9 @@ case $basic_machine in
|
|||||||
arm*-semi)
|
arm*-semi)
|
||||||
os=-aout
|
os=-aout
|
||||||
;;
|
;;
|
||||||
c4x-* | tic4x-*)
|
c4x-* | tic4x-*)
|
||||||
os=-coff
|
os=-coff
|
||||||
;;
|
;;
|
||||||
# This must come before the *-dec entry.
|
# This must come before the *-dec entry.
|
||||||
pdp10-*)
|
pdp10-*)
|
||||||
os=-tops20
|
os=-tops20
|
||||||
@@ -1364,6 +1481,9 @@ case $basic_machine in
|
|||||||
m68*-cisco)
|
m68*-cisco)
|
||||||
os=-aout
|
os=-aout
|
||||||
;;
|
;;
|
||||||
|
mep-*)
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
mips*-cisco)
|
mips*-cisco)
|
||||||
os=-elf
|
os=-elf
|
||||||
;;
|
;;
|
||||||
@@ -1382,6 +1502,9 @@ case $basic_machine in
|
|||||||
*-be)
|
*-be)
|
||||||
os=-beos
|
os=-beos
|
||||||
;;
|
;;
|
||||||
|
*-haiku)
|
||||||
|
os=-haiku
|
||||||
|
;;
|
||||||
*-ibm)
|
*-ibm)
|
||||||
os=-aix
|
os=-aix
|
||||||
;;
|
;;
|
||||||
@@ -1553,7 +1676,7 @@ case $basic_machine in
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
echo $basic_machine$os
|
echo $basic_machine$os
|
||||||
exit 0
|
exit
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
|
|||||||
+7
-5
@@ -1,18 +1,20 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
F90=gfortran
|
||||||
|
|
||||||
./configure \
|
./configure \
|
||||||
$@ \
|
$@ \
|
||||||
--enable-parallel \
|
--enable-parallel \
|
||||||
--enable-fortran \
|
--enable-fortran \
|
||||||
--enable-tools \
|
--enable-tools \
|
||||||
CC=cc CXX=CC FC=pgf90 \
|
CC=cc CXX=CC FC=$F90 \
|
||||||
MPICC=cc MPICXX=CC MPIFC=ftn
|
MPICC=cc MPICXX=CC MPIFC=ftn
|
||||||
sed -e 's/pgf90/ftn/g' <Makefile > newMakefile
|
sed -e 's/$F90/ftn/g' <Makefile > newMakefile
|
||||||
mv newMakefile Makefile
|
mv newMakefile Makefile
|
||||||
sed -e 's/pgf90/ftn/g' <src/Makefile > newMakefile
|
sed -e 's/$F90/ftn/g' <src/Makefile > newMakefile
|
||||||
mv newMakefile src/Makefile
|
mv newMakefile src/Makefile
|
||||||
sed -e 's/pgf90/ftn/g' <test/Makefile > newMakefile
|
sed -e 's/$F90/ftn/g' <test/Makefile > newMakefile
|
||||||
mv newMakefile test/Makefile
|
mv newMakefile test/Makefile
|
||||||
sed -e 's/pgf90/ftn/g' <tools/Makefile > newMakefile
|
sed -e 's/$F90/ftn/g' <tools/Makefile > newMakefile
|
||||||
mv newMakefile tools/Makefile
|
mv newMakefile tools/Makefile
|
||||||
|
|
||||||
|
|||||||
+205
-437
@@ -1,18 +1,24 @@
|
|||||||
# Every configure script must call AC_INIT before doing anything else.
|
# Every configure script must call AC_INIT before doing anything else.
|
||||||
# AC_INIT (package, version, [bug-report], [tarname])
|
# AC_INIT (package, version, [bug-report], [tarname])
|
||||||
AC_INIT([H5Part], [1.6.1], [h5part@lists.psi.ch], H5Part)
|
AC_INIT([H5Part], [1.6.3], [h5part@lists.psi.ch], H5Part)
|
||||||
|
|
||||||
|
|
||||||
# Ensure that a recent enough version of Autoconf is being used.
|
# Ensure that a recent enough version of Autoconf is being used.
|
||||||
# If the version of Autoconf being used to create configure is earlier than version,
|
# If the version of Autoconf being used to create configure is earlier than version,
|
||||||
# print an error message to the standard error output and do not create configure.
|
# print an error message to the standard error output and do not create configure.
|
||||||
#AC_PREREQ(2.59)
|
AC_PREREQ(2.59)
|
||||||
|
|
||||||
|
|
||||||
# should be called right after AC_INIT.
|
# should be called right after AC_INIT.
|
||||||
# configure scripts can create a C header file containing `#define' directives.
|
# configure scripts can create a C header file containing `#define' directives.
|
||||||
# The AC_CONFIG_HEADERS macro selects this kind of output.
|
# The AC_CONFIG_HEADERS macro selects this kind of output.
|
||||||
AC_CONFIG_HEADER(config.h)
|
AC_CONFIG_HEADERS(config.h)
|
||||||
|
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
|
||||||
|
# AM_INIT_AUTOMAKE is required to use autoconf with automake
|
||||||
|
AM_INIT_AUTOMAKE
|
||||||
|
|
||||||
|
BUILD_LIBS='libH5Part'
|
||||||
|
BUILD_TESTS='test'
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
################# --enable-xxx and --with-xxx Argument ########################
|
################# --enable-xxx and --with-xxx Argument ########################
|
||||||
@@ -21,32 +27,20 @@ AC_CONFIG_HEADER(config.h)
|
|||||||
AC_ARG_ENABLE(
|
AC_ARG_ENABLE(
|
||||||
[debug],
|
[debug],
|
||||||
[AC_HELP_STRING([--enable-debug],
|
[AC_HELP_STRING([--enable-debug],
|
||||||
[Compile with debug support [default=no]])],
|
[Compile with debug flags [default=no]])],
|
||||||
[USE_DEBUG=$enableval])
|
[USE_DEBUG=$enableval])
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
|
||||||
[shared],
|
|
||||||
[AC_HELP_STRING([--enable-shared],
|
|
||||||
[Compile with shared library support [default=no]])],
|
|
||||||
[USE_SHARED=$enableval])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
|
||||||
[64],
|
|
||||||
[AC_HELP_STRING([--enable-64],
|
|
||||||
[Compile using 64-bit flags [default=no]])],
|
|
||||||
[USE_64=$enableval])
|
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
AC_ARG_ENABLE(
|
||||||
[fortran],
|
[fortran],
|
||||||
[AC_HELP_STRING([--enable-fortran],
|
[AC_HELP_STRING([--enable-fortran],
|
||||||
[Compile the Fortran interface [default=no]])],
|
[Compile the Fortran interface [default=no]])],
|
||||||
[USE_FORTRAN=$enableval])
|
[USE_FORTRAN=$enableval])
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
AC_ARG_ENABLE(
|
||||||
[parallel],
|
[parallel],
|
||||||
[AC_HELP_STRING([--enable-parallel],
|
[AC_HELP_STRING([--enable-parallel],
|
||||||
[Compile the MPI/IO interface [default=no]])],
|
[Compile the MPI/IO interface [default=no]])],
|
||||||
[USE_PARALLEL=$enableval])
|
[USE_PARALLEL=$enableval])
|
||||||
|
|
||||||
AC_ARG_ENABLE(
|
AC_ARG_ENABLE(
|
||||||
[tools],
|
[tools],
|
||||||
@@ -55,14 +49,8 @@ AC_ARG_ENABLE(
|
|||||||
[USE_TOOLS=$enableval])
|
[USE_TOOLS=$enableval])
|
||||||
|
|
||||||
AC_ARG_WITH(
|
AC_ARG_WITH(
|
||||||
[mpipath],
|
[hdf5],
|
||||||
[AC_HELP_STRING([--with-mpipath],
|
[AC_HELP_STRING([--with-hdf5],
|
||||||
[path to MPI installation [default=""]])],
|
|
||||||
[MPIPATH=$withval], [MPIPATH=""])
|
|
||||||
|
|
||||||
AC_ARG_WITH(
|
|
||||||
[hdf5path],
|
|
||||||
[AC_HELP_STRING([--with-hdf5path],
|
|
||||||
[path to HDF5 installation [default=""]])],
|
[path to HDF5 installation [default=""]])],
|
||||||
[HDF5PATH=$withval], [HDF5PATH=""])
|
[HDF5PATH=$withval], [HDF5PATH=""])
|
||||||
|
|
||||||
@@ -73,16 +61,12 @@ AC_ARG_WITH(
|
|||||||
SAVE_CC=$CC
|
SAVE_CC=$CC
|
||||||
SAVE_CXX=$CXX
|
SAVE_CXX=$CXX
|
||||||
SAVE_FC=$FC
|
SAVE_FC=$FC
|
||||||
SAVE_MPICC=$MPICC
|
|
||||||
SAVE_MPICXX=$MPICXX
|
|
||||||
SAVE_MPIFC=$MPIFC
|
|
||||||
SAVE_MPILIB=$MPILIB
|
|
||||||
SAVE_MPIINC=$MPIINC
|
|
||||||
SAVE_CFLAGS=$CFLAGS
|
SAVE_CFLAGS=$CFLAGS
|
||||||
|
SAVE_CXXFLAGS=$CXXFLAGS
|
||||||
SAVE_FFLAGS=$FFLAGS
|
SAVE_FFLAGS=$FFLAGS
|
||||||
SAVE_MPIROOT=$MPIROOT
|
SAVE_INCLUDES=$INCLUDES
|
||||||
SAVE_HDF5ROOT=$HDF5ROOT
|
|
||||||
SAVE_LDFLAGS=$LDFLAGS
|
SAVE_LDFLAGS=$LDFLAGS
|
||||||
|
SAVE_LIBS=$LIBS
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
############### PATH SERACH FUNCTION - to be used later... ####################
|
############### PATH SERACH FUNCTION - to be used later... ####################
|
||||||
@@ -96,35 +80,26 @@ SAVE_LDFLAGS=$LDFLAGS
|
|||||||
# @enddesc
|
# @enddesc
|
||||||
#@@*/
|
#@@*/
|
||||||
|
|
||||||
PATH_Search()
|
PATH_Search() {
|
||||||
{
|
eval $1=""
|
||||||
eval $1=""
|
if test $# -lt 4 ; then
|
||||||
if test $# -lt 4 ; then
|
h5part_basedir=""
|
||||||
h5part_basedir=""
|
else
|
||||||
else
|
h5part_basedir="$4/"
|
||||||
h5part_basedir="$4/"
|
fi
|
||||||
fi
|
for h5part_place in $2; do
|
||||||
for h5part_place in $2
|
AC_MSG_CHECKING([looking in $h5part_place ... ])
|
||||||
do
|
if test -r "$h5part_basedir$h5part_place/$3" ; then
|
||||||
echo -n "looking in $h5part_place ... $ac_c" #1>&6
|
AC_MSG_RESULT([found])
|
||||||
if test -r "$h5part_basedir$h5part_place/$3" ; then
|
eval $1="$h5part_place"
|
||||||
echo "$ac_t"" found" #1>&6
|
break
|
||||||
eval $1="$h5part_place"
|
fi
|
||||||
break
|
AC_MSG_RESULT([no])
|
||||||
fi
|
done
|
||||||
if test -d "$h5part_basedir$h5part_place/$3" ; then
|
return
|
||||||
echo "$ac_t"" found" #1>&6
|
|
||||||
eval $1="$h5part_place"
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
echo "$ac_t"" no" #1>&6
|
|
||||||
done
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
############# MISC SETTINGS INCLUDING C & C++ COMPILER SETTING ################
|
############# MISC SETTINGS INCLUDING C & C++ COMPILER SETTING ################
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@@ -132,82 +107,37 @@ PATH_Search()
|
|||||||
# individual parts host_cpu, host_vendor, and host_os.
|
# individual parts host_cpu, host_vendor, and host_os.
|
||||||
AC_CANONICAL_HOST
|
AC_CANONICAL_HOST
|
||||||
|
|
||||||
|
AC_PROG_MAKE_SET
|
||||||
|
|
||||||
uname=`uname -s`
|
# Determine a C/C++ compiler to use.
|
||||||
if test $uname = "AIX"; then
|
|
||||||
AC_MSG_CHECKING([if system is AIX])
|
|
||||||
AC_MSG_RESULT([OK])
|
|
||||||
|
|
||||||
# If on AIX, define _ALL_SOURCE. Allows the use of some BSD functions.
|
|
||||||
# Should be called before any macros that run the C compiler.
|
|
||||||
AC_AIX
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# DAVINCI SPECIFIC!!!
|
|
||||||
if test `uname -n` = "davinci"; then
|
|
||||||
echo "DAVINCI SPECIFIC TESTING FOR STDC++ LIBRARY!"
|
|
||||||
PATH_Search STDCXX_CHECK '/usr/lib64 /usr/lib' libstdc++.a
|
|
||||||
|
|
||||||
# if STDCXX_CHECK is set...
|
|
||||||
if test "$STDCXX_CHECK" = "/usr/lib64"; then
|
|
||||||
echo "STDCXX setting ..."
|
|
||||||
echo "STDCXX_CHECK = $STDCXX_CHECK ..."
|
|
||||||
STDCXX="-L/usr/lib64 -lstdc++"
|
|
||||||
echo "STDCXX = $STDCXX ..."
|
|
||||||
elif test "$STDCXX_CHECK" = "/usr/lib"; then
|
|
||||||
echo "STDCXX setting ..."
|
|
||||||
echo "STDCXX_CHECK = $STDCXX_CHECK ..."
|
|
||||||
STDCXX="-L/usr/lib -lstdc++"
|
|
||||||
echo "STDCXX = $STDCXX ..."
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Determine a C compiler to use.
|
|
||||||
# If CC is not already set in the environment, check for gcc and cc, then
|
# If CC is not already set in the environment, check for gcc and cc, then
|
||||||
# for other C compilers.
|
# for other C compilers.
|
||||||
# Set output variable CC to the name of the compiler found.
|
# Set output variable CC to the name of the compiler found.
|
||||||
AC_PROG_CC(pgcc pathcc icc cc_r gcc cc)
|
if test "x$USE_PARALLEL" = "xyes"; then
|
||||||
|
CCOMPILERS="mpicc cc"
|
||||||
|
CXXCOMPILERS="mpic++ mpicxx CC"
|
||||||
|
else
|
||||||
|
CCOMPILERS="pgcc pathcc icc gcc cc_r cc"
|
||||||
|
CXXCOMPILERS="pgCC pathCC icpc g++"
|
||||||
|
fi
|
||||||
|
|
||||||
# AC_PROG_CC doesn't pick up cc_r in Bassi. The following AC_PATH_PROGS
|
AC_PROG_CC($CCOMPILERS)
|
||||||
# is the fix.
|
|
||||||
AC_PATH_PROGS([BAS_CC], [cc_r], [], [$PATH])
|
|
||||||
|
|
||||||
# if BAS_CC not empty
|
|
||||||
if test -n "$BAS_CC"; then
|
|
||||||
echo "CC setting for Bassi ..."
|
|
||||||
CC=$BAS_CC
|
|
||||||
echo "CC = $CC ..."
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Determine a C++ compiler to use.
|
|
||||||
# Check if the environment variable CXX or CCC (in that order) is set;
|
|
||||||
# if so, then set output variable CXX to its value.
|
|
||||||
# Otherwise, if the macro is invoked without an argument,
|
|
||||||
# then search for a C++ compiler under the likely names (first g++ and c++
|
|
||||||
# then other names).
|
|
||||||
# If none of those checks succeed, then as a last resort set CXX to g++.
|
|
||||||
AC_PROG_CXX(pgCC pathCC icc cc_r g++ gcc cc)
|
|
||||||
|
|
||||||
|
# Only need C++ for some of the tools
|
||||||
|
#if test "x$USE_TOOLS" = "xyes"; then
|
||||||
|
AC_PROG_CXX($CXXCOMPILERS)
|
||||||
|
#fi
|
||||||
|
|
||||||
# Set output variable INSTALL to the path of a BSD-compatible install program,
|
# Set output variable INSTALL to the path of a BSD-compatible install program,
|
||||||
# if one is found in the current PATH.
|
# if one is found in the current PATH.
|
||||||
# Otherwise, set INSTALL to `dir/install-sh -c`
|
# Otherwise, set INSTALL to `dir/install-sh -c`
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
|
|
||||||
|
AC_PROG_AWK
|
||||||
# AM_INIT_AUTOMAKE is required to use autoconf with automake
|
|
||||||
AM_INIT_AUTOMAKE()
|
|
||||||
|
|
||||||
|
|
||||||
AC_PROG_RANLIB
|
|
||||||
|
|
||||||
# Default prefix for bindir, etc... (eg >> ./build/bin)
|
# Default prefix for bindir, etc... (eg >> ./build/bin)
|
||||||
AC_PREFIX_DEFAULT(`pwd`/build)
|
AC_PREFIX_DEFAULT(`pwd`/build)
|
||||||
|
|
||||||
|
|
||||||
# AC_DEFINE_UNQUOTED (variable, value, [description])
|
# AC_DEFINE_UNQUOTED (variable, value, [description])
|
||||||
# Define the C preprocessor variable variable to value
|
# Define the C preprocessor variable variable to value
|
||||||
# Use this macro instead of AC_DEFINE when variable or value is a shell variable.
|
# Use this macro instead of AC_DEFINE when variable or value is a shell variable.
|
||||||
@@ -218,7 +148,6 @@ AC_DEFINE_UNQUOTED(MY_GNUNAME, "${host_cpu}-${host_vendor}-${host_os}", "")
|
|||||||
AC_DEFINE_UNQUOTED(MY_UNAME, "$uname", "")
|
AC_DEFINE_UNQUOTED(MY_UNAME, "$uname", "")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
######################## CONFIGURE LINE OPTIONS ###############################
|
######################## CONFIGURE LINE OPTIONS ###############################
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@@ -228,216 +157,92 @@ AC_MSG_CHECKING([if debug is enabled])
|
|||||||
if test "X$USE_DEBUG" = "Xyes"; then
|
if test "X$USE_DEBUG" = "Xyes"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
CFLAGS="$CFLAGS -g"
|
CFLAGS="$CFLAGS -g"
|
||||||
|
CXXFLAGS="$CXXFLAGS -g"
|
||||||
|
FFLAGS="$FFLAGS -g"
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# shared library
|
|
||||||
AC_MSG_CHECKING([if shared libraries are enabled])
|
|
||||||
|
|
||||||
if test "X$USE_SHARED" = "Xyes"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
CFLAGS="$CFLAGS -fPIC"
|
|
||||||
FFLAGS="$FFLAGS -fPIC"
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
fi
|
|
||||||
|
|
||||||
###################### 64-bit compilation enabled #############################
|
|
||||||
AC_MSG_CHECKING([if 64-bit compilation is enabled])
|
|
||||||
|
|
||||||
|
|
||||||
# If --enable-64 is set in the configure line
|
|
||||||
if test "X$USE_64:/f90
|
|
||||||
" = "Xyes"; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
if test $uname = "AIX"; then
|
|
||||||
CFLAGS="$CFLAGS -q64"
|
|
||||||
FFLAGS="$FFLAGS -q64"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test $uname = "IRIX64"; then
|
|
||||||
CFLAGS="$CFLAGS -64"
|
|
||||||
FFLAGS="$FFLAGS -64 -fPIC -fno-second-underscore"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
############################ fortran enabled ##################################
|
############################ fortran enabled ##################################
|
||||||
AC_MSG_CHECKING([if fortran interface enabled])
|
AC_MSG_CHECKING([if fortran interface enabled])
|
||||||
if test "X$USE_FORTRAN" = "Xyes"; then
|
if test "X$USE_FORTRAN" = "Xyes"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
|
LIB_FORTRAN="libH5PartF.la"
|
||||||
|
BUILD_LIBS="$BUILD_LIBS libH5PartF"
|
||||||
|
BUILD_TESTS="$BUILD_TESTS testf"
|
||||||
|
|
||||||
AC_PROG_FC(pgf90 ifort xlf_r pathf90 g95 g90 ftn gfortran)
|
if test "X$USE_PARALLEL" = "Xyes"; then
|
||||||
if test -z "$FC" ; then
|
AC_PROG_FC(mpif90 mpif77 ftn)
|
||||||
AC_MSG_ERROR([Cannot find a fortran compiler!!!])
|
else
|
||||||
exit 1
|
AC_PROG_FC(pgf90 pathf90 ifort ftn xlf_r g95 g90 gfortran)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test ! $uname = "AIX"; then
|
if test -z "$FC" ; then
|
||||||
FFLAGS="${FFLAGS} -fPIC"
|
AC_MSG_ERROR([Cannot find a Fortran compiler!])
|
||||||
fi
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if test $FC = "g90"; then
|
if test $FC = "g90"; then
|
||||||
FFLAGS="${FFLAGS} -fno-second-underscore"
|
FFLAGS="${FFLAGS} -fno-second-underscore"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test $FC = "g95"; then
|
if test $FC = "g95"; then
|
||||||
FFLAGS="${FFLAGS} -fno-second-underscore"
|
FFLAGS="${FFLAGS} -fno-second-underscore"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test $FC = "gfortran"; then
|
AC_MSG_CHECKING([symbol convention in object files])
|
||||||
FFLAGS="${FFLAGS} -DHAVE_GFORTRAN"
|
`cd src && rm -f TestUnderscore.o TestUnderscoreC.o TestUnderscore`
|
||||||
fi
|
`cd src && ${FC} ${FFLAGS} -c TestUnderscore.f`
|
||||||
|
`cd src && ${CC} ${CFLAGS} -c TestUnderscoreC.c`
|
||||||
|
`cd src && ${FC} ${FFLAGS} -o TestUnderscore TestUnderscore.o TestUnderscoreC.o`
|
||||||
|
|
||||||
AC_MSG_CHECKING([symbol convention in object files])
|
if test -f src/TestUnderscore ; then
|
||||||
`cd src && rm -f TestUnderscore.o TestUnderscoreC.o TestUnderscore`
|
UNDERSCORE_H=Underscore.h
|
||||||
`cd src && ${FC} ${FFLAGS} -c TestUnderscore.f`
|
`cd src && ./TestUnderscore > Underscore.h`
|
||||||
`cd src && ${CC} ${CFLAGS} -c TestUnderscoreC.c`
|
AC_MSG_RESULT([ok])
|
||||||
`cd src && ${FC} ${FFLAGS} -o TestUnderscore TestUnderscore.o TestUnderscoreC.o -lc`
|
else
|
||||||
|
AC_MSG_RESULT([nok])
|
||||||
|
AC_MSG_ERROR([Cannot determine the symbon convention for Fortran object files!])
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
if test -f src/TestUnderscore ; then
|
|
||||||
UNDERSCORE_H=Underscore.h
|
|
||||||
`cd src && ./TestUnderscore > Underscore.h`
|
|
||||||
AC_MSG_RESULT([ok])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([nok])
|
|
||||||
AC_MSG_ERROR([Cannot build fortran executables!!!])
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# Disable shared libraries by default: can be enabled with --enable-shared
|
||||||
|
LT_INIT([disable-shared])
|
||||||
|
AC_PROG_LIBTOOL
|
||||||
|
|
||||||
|
|
||||||
######################## parallel interface enabled ###########################
|
######################## parallel interface enabled ###########################
|
||||||
AC_MSG_CHECKING([if parallel interface enabled])
|
AC_MSG_CHECKING([if parallel interface enabled])
|
||||||
if test "X$USE_PARALLEL" = "Xyes"; then
|
if test "X$USE_PARALLEL" = "Xyes"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
|
|
||||||
CFLAGS="${CFLAGS} -DPARALLEL_IO -DH5_HAVE_PARALLEL -DMPICH_IGNORE_CXX_SEEK"
|
CFLAGS="${CFLAGS} -DPARALLEL_IO -DMPICH_IGNORE_CXX_SEEK"
|
||||||
|
CXXFLAGS="${CXXFLAGS} -DPARALLEL_IO -DMPICH_IGNORE_CXX_SEEK"
|
||||||
|
FFLAGS="${FFLAGS} -DPARALLEL_IO"
|
||||||
|
|
||||||
AC_MSG_CHECKING([if we can compile MPI code without setting flags])
|
AC_MSG_CHECKING([if we can compile MPI code without setting flags])
|
||||||
AC_TRY_LINK([#include "mpi.h"], [
|
AC_TRY_LINK([#include "mpi.h"], [
|
||||||
MPI_Comm comm;
|
MPI_Comm comm;
|
||||||
int n;
|
int n;
|
||||||
MPI_Comm_size( comm, &n ); ],
|
MPI_Comm_size( comm, &n ); ],
|
||||||
[echo 'yes'; r='yes'], [echo "no"; r='no'] )
|
[AC_MSG_RESULT([yes]); r='yes'], [AC_MSG_RESULT([no]); r='no'] )
|
||||||
|
|
||||||
if test "X$r" = "Xno"; then
|
if test "X$r" = "Xno"; then
|
||||||
AC_PATH_PROGS([MPICC], [mpicc mpcc_r], [], [$PATH])
|
AC_MSG_ERROR([MPI wrapper can't compile or link MPI program! Please set the INCLUDE and LIBS variables manually.])
|
||||||
AC_PATH_PROGS([MPICXX], [mpicxx mpcc_r], [], [$PATH])
|
exit 1
|
||||||
if test -z "$MPICC" -o -z "$MPICXX"; then
|
|
||||||
AC_MSG_CHECKING([for MPI root ])
|
|
||||||
AC_MSG_RESULT([])
|
|
||||||
if test -n "$MPIROOT"; then
|
|
||||||
P=${MPIROOT}
|
|
||||||
elif test -n "$MPIHOME"; then
|
|
||||||
P=${MPIHOME}
|
|
||||||
elif test -n "$MPIPATH"; then
|
|
||||||
P=${MPIPATH}
|
|
||||||
else
|
|
||||||
P=''
|
|
||||||
P="$P /usr"
|
|
||||||
P="$P /usr/local"
|
|
||||||
P="$P /usr/local/mpi"
|
|
||||||
P="$P /usr/local/packages/mpi"
|
|
||||||
P="$P /usr/local/mpich2"
|
|
||||||
P="$P /usr/local/mpich"
|
|
||||||
P="$P /opt/xt-mpt/default/mpich2-64/P2"
|
|
||||||
fi
|
|
||||||
PATH_Search MPIROOT "$P" include/mpi.h
|
|
||||||
if test ! -n "$MPIROOT"; then
|
|
||||||
AC_MSG_ERROR([Cannot determine MPI root!!!])
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -e "${MPIROOT}/bin/mpicc"; then
|
|
||||||
MPICC=${MPIROOT}/bin/mpicc
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -e "${MPIROOT}/bin/mpicxx"; then
|
|
||||||
MPICXX=${MPIROOT}/bin/mpicxx
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -z "$MPICC" -o -z "$MPICXX"; then
|
|
||||||
MPIINC="${MPIINC} -I${MPIROOT}/include"
|
|
||||||
FFLAGS="${FFLAGS} -I${MPIROOT}/include"
|
|
||||||
AC_MSG_CHECKING([for name of MPI lib ])
|
|
||||||
if test -e ${MPIROOT}/lib/libmpi.a; then
|
|
||||||
MPILIB="-L${MPIROOT}/lib -lmpi"
|
|
||||||
elif test -e ${MPIROOT}/lib/libmpi.so; then
|
|
||||||
MPILIB="-L${MPIROOT}/lib -lmpi"
|
|
||||||
elif test -e ${MPIROOT}/lib/libmpich.a; then
|
|
||||||
MPILIB="-L${MPIROOT}/lib -lmpich"
|
|
||||||
elif test -e ${MPIROOT}/lib/libmpich.so; then
|
|
||||||
MPILIB="-L${MPIROOT}/lib -lmpich"
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([not found])
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
AC_MSG_RESULT([${MPILIB}])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$MPICC"; then
|
|
||||||
CC=${MPICC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$MPICXX"; then
|
|
||||||
CXX=${MPICXX}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
H5P_LIB_NAME="-lpH5Part"
|
|
||||||
MTARGET="libpH5Part.a"
|
|
||||||
TTARGET="test"
|
|
||||||
|
|
||||||
|
|
||||||
# parallel + fortran
|
|
||||||
if test "X$USE_FORTRAN" = "Xyes"; then
|
|
||||||
AC_PATH_PROGS([MPIFC], [mpxlf_r mpif90], [], [$PATH])
|
|
||||||
|
|
||||||
FFLAGS="${FFLAGS} -DPARALLEL_IO"
|
|
||||||
|
|
||||||
if test -z "${MPIFC}" ; then
|
|
||||||
if test -e "${MPIROOT}/bin/mpif90"; then
|
|
||||||
MPIFC=${MPIROOT}/bin/mpif90
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# if MPIFC empty
|
|
||||||
if test ! -n "$MPIFC"; then
|
|
||||||
AC_MSG_CHECKING([ No MPIFC detected. Setting MPIFC to FC.])
|
|
||||||
MPIFC=$FC
|
|
||||||
echo "MPIFC = $MPIFC ..."
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$MPIFC"; then
|
|
||||||
FC=${MPIFC}
|
|
||||||
fi
|
|
||||||
|
|
||||||
H5P_LIB_NAME="-lpH5PartF"
|
|
||||||
MTARGET="${MTARGET} libpH5PartF.a"
|
|
||||||
TTARGET="${TTARGET} testf"
|
|
||||||
fi
|
|
||||||
|
|
||||||
else # --enable-parallel=no
|
else # --enable-parallel=no
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
|
|
||||||
H5P_LIB_NAME="-lH5Part"
|
|
||||||
MTARGET="libH5Part.a"
|
|
||||||
TTARGET="test"
|
|
||||||
|
|
||||||
if test "X$USE_FORTRAN" = "Xyes"; then
|
|
||||||
H5P_LIB_NAME="-lH5PartF"
|
|
||||||
MTARGET="${MTARGET} libH5PartF.a"
|
|
||||||
TTARGET="${TTARGET} testf"
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
######################## tools enabled ###########################
|
||||||
AC_MSG_CHECKING([whether tools are enabled])
|
AC_MSG_CHECKING([whether tools are enabled])
|
||||||
if test "X$USE_TOOLS" = "Xyes"; then
|
if test "X$USE_TOOLS" = "Xyes"; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
@@ -450,76 +255,67 @@ else
|
|||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
######################### PATH CHECKING & SETTING #############################
|
######################### PATH CHECKING & SETTING #############################
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
AC_MSG_CHECKING([for HDF5 root ])
|
AC_MSG_CHECKING([for HDF5 root ])
|
||||||
AC_MSG_RESULT([])
|
AC_MSG_RESULT([])
|
||||||
if test -n "${HDF5ROOT}"; then
|
if test -n "${HDF5PATH}" ; then
|
||||||
P=${HDF5ROOT}
|
P=${HDF5PATH}
|
||||||
|
elif test -n "${HDF5ROOT}"; then
|
||||||
|
P=${HDF5ROOT}
|
||||||
elif test -n "${HDF5HOME}" ; then
|
elif test -n "${HDF5HOME}" ; then
|
||||||
P=${HDF5HOME}
|
P=${HDF5HOME}
|
||||||
elif test -n "${HDF5PATH}" ; then
|
elif test -n "${HDF5_DIR}" ; then
|
||||||
P=${HDF5PATH}
|
P=${HDF5_DIR}
|
||||||
else
|
else
|
||||||
P=''
|
P=''
|
||||||
P="$P /usr"
|
P="$P /usr"
|
||||||
P="$P /usr/local"
|
P="$P /usr/local"
|
||||||
P="$P /usr/local/hdf5"
|
P="$P /usr/local/hdf5"
|
||||||
P="$P /usr/local/packages/hdf5"
|
P="$P /usr/local/packages/hdf5"
|
||||||
P="$P /apps/hdf5"
|
P="$P /apps/hdf5"
|
||||||
|
P="$P /opt/hdf5"
|
||||||
if test "X$USE_PARALLEL" = "Xyes"; then
|
|
||||||
P="$P /usr/local/phdf5"
|
|
||||||
P="$P /usr/local/hdf5/hdf5_par"
|
|
||||||
if test "X$USE_64" = "Xyes"; then
|
|
||||||
P="$P /usr/common/usg/hdf5/64/default/parallel"
|
|
||||||
else
|
|
||||||
P="$P /usr/common/usg/hdf5/32/default/parallel"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
P="$P /usr/local/hdf5/hdf5_serial"
|
|
||||||
if test "X$USE_64" = "Xyes"; then
|
|
||||||
P="$P /usr/common/usg/hdf5/64/default/serial"
|
|
||||||
else
|
|
||||||
P="$P /usr/common/usg/hdf5/32/default/serial"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
PATH_Search HDF5ROOT "$P" include/hdf5.h
|
PATH_Search HDF5ROOT "$P" include/hdf5.h
|
||||||
if test -z "$HDF5ROOT"; then
|
if test -z "$HDF5ROOT"; then
|
||||||
AC_MSG_ERROR([Cannot determine HDF5 root!!!])
|
AC_MSG_ERROR([Cannot find an HDF5 library!])
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
INCLUDES="$INCLUDES -I$HDF5ROOT/include"
|
||||||
|
LDFLAGS="$LDFLAGS -L$HDF5ROOT/lib"
|
||||||
|
LIBS="$LIBS -lhdf5"
|
||||||
|
|
||||||
AC_MSG_CHECKING([if we need to link to libsz ])
|
AC_MSG_CHECKING([if we need to link to libsz ])
|
||||||
if test -n "$HDF5ROOT"; then
|
if test -n "$HDF5ROOT"; then
|
||||||
if test -f $HDF5ROOT/lib/libsz.a; then
|
if test -f $HDF5ROOT/lib/libsz.a; then
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
SZLIB="-L$HDF5ROOT/lib/ -lsz"
|
LDFLAGS="$LDFLAGS -L$HDF5ROOT/lib"
|
||||||
else
|
LIBS="$LIBS -lsz"
|
||||||
AC_MSG_RESULT([no])
|
else
|
||||||
SZLIB=""
|
AC_MSG_RESULT([no])
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AC_MSG_CHECKING([for static zlib root ])
|
LIBS="$LIBS -lz -lm"
|
||||||
echo
|
|
||||||
PATH_Search ZLIBROOT '/apps/zlib' lib/libz.a
|
|
||||||
if test -n "$ZLIBROOT"; then
|
|
||||||
LDFLAGS="$LDFLAGS -L$ZLIBROOT/lib"
|
|
||||||
fi
|
|
||||||
|
|
||||||
FCFLAGS=${FFLAGS}
|
|
||||||
CXXFLAGS=${CFLAGS}
|
|
||||||
|
|
||||||
|
|
||||||
###############################################################################
|
# Checks for header files.
|
||||||
#################### MISC SETTINGS - path, flags, etc #########################
|
AC_CHECK_HEADERS([fcntl.h stdlib.h string.h unistd.h])
|
||||||
###############################################################################
|
|
||||||
|
# Checks for typedefs, structures, and compiler characteristics.
|
||||||
|
AC_HEADER_STDBOOL
|
||||||
|
AC_TYPE_INT64_T
|
||||||
|
AC_TYPE_SIZE_T
|
||||||
|
AC_TYPE_SSIZE_T
|
||||||
|
|
||||||
|
# Checks for library functions.
|
||||||
|
AC_FUNC_MALLOC
|
||||||
|
AC_CHECK_FUNCS([memset pow strchr strdup])
|
||||||
|
|
||||||
H5P_LIB_LOC=`pwd`/src
|
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
################# A SIMPLE WORK AROUND TO USE ENV. VARS #######################
|
################# A SIMPLE WORK AROUND TO USE ENV. VARS #######################
|
||||||
@@ -527,94 +323,70 @@ H5P_LIB_LOC=`pwd`/src
|
|||||||
|
|
||||||
#if there was an external input for the variable...
|
#if there was an external input for the variable...
|
||||||
if test -n "$SAVE_CC"; then
|
if test -n "$SAVE_CC"; then
|
||||||
CC=$SAVE_CC
|
CC="$SAVE_CC"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$SAVE_CXX"; then
|
if test -n "$SAVE_CXX"; then
|
||||||
CXX=$SAVE_CXX
|
CXX="$SAVE_CXX"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$SAVE_FC"; then
|
if test -n "$SAVE_FC"; then
|
||||||
FC=$SAVE_FC
|
FC="$SAVE_FC"
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$SAVE_MPICC"; then
|
|
||||||
MPICC=$SAVE_MPICC
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$SAVE_MPICXX"; then
|
|
||||||
MPICXX=$SAVE_MPICXX
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$SAVE_MPIFC"; then
|
|
||||||
MPIFC=$SAVE_MPIFC
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$SAVE_MPILIB"; then
|
|
||||||
MPILIB=$SAVE_MPILIB
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$SAVE_MPIINC"; then
|
|
||||||
MPIINC=$SAVE_MPIINC
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$SAVE_CFLAGS"; then
|
if test -n "$SAVE_CFLAGS"; then
|
||||||
CFLAGS="$SAVE_CFLAGS ${CFLAGS}"
|
CFLAGS="$SAVE_CFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$SAVE_CXXFLAGS"; then
|
||||||
|
CFLAGS="$SAVE_CXXFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$SAVE_FFLAGS"; then
|
if test -n "$SAVE_FFLAGS"; then
|
||||||
FFLAGS=$SAVE_FFLAGS
|
FFLAGS="$SAVE_FFLAGS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$SAVE_MPIROOT"; then
|
if test -n "$SAVE_INCLUDES"; then
|
||||||
MPIROOT=$SAVE_MPIROOT
|
INCLUDES="$SAVE_INCLUDES"
|
||||||
fi
|
|
||||||
|
|
||||||
if test -n "$SAVE_HDF5ROOT"; then
|
|
||||||
HDF5ROOT=$SAVE_HDF5ROOT
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$SAVE_LDFLAGS"; then
|
if test -n "$SAVE_LDFLAGS"; then
|
||||||
LDFLAGS=$SAVE_LDFLAGS
|
LDFLAGS="$SAVE_LDFLAGS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -n "$SAVE_LIBS"; then
|
||||||
|
LIBS="$SAVE_LIBS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
############## EXPORTING VARIABLES & CREATING OUTPUT FILES ####################
|
############## EXPORTING VARIABLES & CREATING OUTPUT FILES ####################
|
||||||
###############################################################################
|
###############################################################################
|
||||||
# AC_SUBST (variable, [value])
|
# AC_SUBST (variable, [value])
|
||||||
# Create an output variable from a shell variable.
|
# Create an output variable from a shell variable. Make AC_OUTPUT substitute
|
||||||
# Make AC_OUTPUT substitute the variable variable into output files (typically one or more `Makefile's).
|
# the variable variable into output files (typically one or more `Makefile's).
|
||||||
# This means that AC_OUTPUT will replace instances of `@variable@' in input files with the value that
|
# This means that AC_OUTPUT will replace instances of `@variable@' in input
|
||||||
# the shell variable variable has when AC_OUTPUT is called.
|
# files with the value that the shell variable variable has when AC_OUTPUT is
|
||||||
# This value of variable should not contain literal newlines.
|
# called. This value of variable should not contain literal newlines. If
|
||||||
# If value is given, in addition assign it to variable.
|
# value is given, in addition assign it to variable.
|
||||||
AC_SUBST(MPIROOT)
|
|
||||||
AC_SUBST(HDF5ROOT)
|
|
||||||
AC_SUBST(MPIINC)
|
|
||||||
AC_SUBST(MPILIB)
|
|
||||||
AC_SUBST(MPICC)
|
|
||||||
AC_SUBST(MPICXX)
|
|
||||||
AC_SUBST(MPIFC)
|
|
||||||
AC_SUBST(MTARGET)
|
|
||||||
AC_SUBST(TTARGET)
|
|
||||||
AC_SUBST(SZLIB)
|
|
||||||
AC_SUBST(CFLAGS)
|
AC_SUBST(CFLAGS)
|
||||||
|
AC_SUBST(CXXFLAGS)
|
||||||
AC_SUBST(FFLAGS)
|
AC_SUBST(FFLAGS)
|
||||||
AC_SUBST(STDCXX)
|
AC_SUBST(INCLUDES)
|
||||||
AC_SUBST(H5P_LIB_LOC)
|
|
||||||
AC_SUBST(H5P_LIB_NAME)
|
|
||||||
AC_SUBST(UNDERSCORE_H)
|
|
||||||
AC_SUBST(BUILD_TOOLS)
|
|
||||||
AC_SUBST(LDFLAGS)
|
AC_SUBST(LDFLAGS)
|
||||||
|
AC_SUBST(LIBS)
|
||||||
|
AC_SUBST(UNDERSCORE_H)
|
||||||
|
AC_SUBST(LIB_FORTRAN)
|
||||||
|
AC_SUBST(BUILD_TESTS)
|
||||||
|
AC_SUBST(BUILD_TOOLS)
|
||||||
|
|
||||||
# Make AC_OUTPUT create each `file' by copying an input file (by default `file.in'),
|
# Make AC_OUTPUT create each `file' by copying an input file (by default `file.in'),
|
||||||
# substituting the output variable values.
|
# substituting the output variable values.
|
||||||
AC_CONFIG_FILES([
|
AC_CONFIG_FILES([
|
||||||
Makefile
|
Makefile
|
||||||
doc/Makefile
|
src/Makefile
|
||||||
src/Makefile
|
doc/Makefile
|
||||||
test/Makefile
|
test/Makefile
|
||||||
tools/Makefile
|
tools/Makefile
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
@@ -622,27 +394,23 @@ AC_OUTPUT
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
########################## PRINTING SUMMARY ###################################
|
########################## PRINTING SUMMARY ###################################
|
||||||
###############################################################################
|
###############################################################################
|
||||||
echo
|
AC_MSG_RESULT([ ])
|
||||||
echo
|
AC_MSG_RESULT([Summary:])
|
||||||
echo "Summary for `(hostname || uname -n) 2>/dev/null | sed 1q`:"
|
AC_MSG_RESULT([ ])
|
||||||
echo
|
AC_MSG_RESULT([Host OS: $host_os])
|
||||||
echo "Host OS: $host_os"
|
AC_MSG_RESULT([Host CPU: $host_cpu])
|
||||||
echo "Host CPU: $host_cpu"
|
AC_MSG_RESULT([Host vendor: $host_vendor])
|
||||||
echo "Host vendor: $host_vendor"
|
AC_MSG_RESULT([Build libraries: $BUILD_LIBS])
|
||||||
echo "Build libraries: $MTARGET"
|
AC_MSG_RESULT([Build test programs: $BUILD_TESTS])
|
||||||
echo "Build test programs: $TTARGET"
|
AC_MSG_RESULT([Build tools: $BUILD_TOOLS])
|
||||||
echo "Build tools: $BUILD_TOOLS"
|
AC_MSG_RESULT([CC = $CC])
|
||||||
echo "CC = $CC"
|
AC_MSG_RESULT([CXX = $CXX])
|
||||||
echo "CXX = $CXX"
|
AC_MSG_RESULT([FC = $FC])
|
||||||
echo "FC = $FC"
|
AC_MSG_RESULT([CFLAGS = $CFLAGS])
|
||||||
echo "MPICC = $MPICC"
|
AC_MSG_RESULT([CXXFLAGS = $CXXFLAGS])
|
||||||
echo "MPICXX = $MPICXX"
|
AC_MSG_RESULT([FFLAGS = $FFLAGS])
|
||||||
echo "MPIFC = $MPIFC"
|
AC_MSG_RESULT([INCLUDES = $INCLUDES])
|
||||||
echo "CFLAGS = $CFLAGS"
|
AC_MSG_RESULT([LDFLAGS = $LDFLAGS])
|
||||||
echo "FFLAGS = $FFLAGS"
|
AC_MSG_RESULT([LIBS = $LIBS])
|
||||||
echo "MPILIB = $MPILIB"
|
AC_MSG_RESULT([HDF5ROOT = $HDF5ROOT])
|
||||||
echo "MPIINC = $MPIINC"
|
AC_MSG_RESULT([ ])
|
||||||
echo "MPIROOT = $MPIROOT"
|
|
||||||
echo "HDF5ROOT = $HDF5ROOT"
|
|
||||||
echo "LDFLAGS = $LDFLAGS"
|
|
||||||
echo
|
|
||||||
|
|||||||
@@ -0,0 +1,51 @@
|
|||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include <mpi.h>
|
||||||
|
#include <H5Part.h>
|
||||||
|
|
||||||
|
#define DATASIZE 32
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
int i, rank, nprocs;
|
||||||
|
h5part_int32_t data[DATASIZE];
|
||||||
|
h5part_int64_t stat;
|
||||||
|
H5PartFile *file;
|
||||||
|
|
||||||
|
// initialize MPI
|
||||||
|
MPI_Init (&argc, &argv);
|
||||||
|
MPI_Comm_rank (MPI_COMM_WORLD, &rank);
|
||||||
|
MPI_Comm_size (MPI_COMM_WORLD, &nprocs);
|
||||||
|
|
||||||
|
H5PartSetVerbosityLevel(H5PART_VERB_DEBUG);
|
||||||
|
|
||||||
|
char filename[8];
|
||||||
|
sprintf (filename, "%d.h5", rank);
|
||||||
|
|
||||||
|
file = H5PartOpenFileParallel(
|
||||||
|
filename,
|
||||||
|
H5PART_WRITE | H5PART_VFD_CORE,
|
||||||
|
MPI_COMM_SELF);
|
||||||
|
assert (file != NULL);
|
||||||
|
|
||||||
|
stat = H5PartSetStep(file, 0);
|
||||||
|
assert (stat == H5PART_SUCCESS);
|
||||||
|
|
||||||
|
stat = H5PartSetNumParticles(file, DATASIZE);
|
||||||
|
assert (stat == H5PART_SUCCESS);
|
||||||
|
|
||||||
|
// create fake data
|
||||||
|
for (i=0; i<DATASIZE; i++) {
|
||||||
|
data[i] = i + rank * DATASIZE;
|
||||||
|
}
|
||||||
|
|
||||||
|
// write the data
|
||||||
|
stat = H5PartWriteDataInt32(file, "data", data);
|
||||||
|
assert (stat == H5PART_SUCCESS);
|
||||||
|
|
||||||
|
H5PartCloseFile(file);
|
||||||
|
|
||||||
|
MPI_Finalize();
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,45 @@
|
|||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include <mpi.h>
|
||||||
|
#include <H5Part.h>
|
||||||
|
|
||||||
|
#define XSIZE 8
|
||||||
|
#define YSIZE 8
|
||||||
|
#define ZSIZE 8
|
||||||
|
#define DATASIZE XSIZE*YSIZE*ZSIZE
|
||||||
|
#define H5OpenFileParallel H5PartOpenFileParallel
|
||||||
|
#define H5SetStep H5PartSetStep
|
||||||
|
#define H5Block3dSetLayout H5BlockDefine3DFieldLayout
|
||||||
|
#define H5CloseFile H5PartCloseFile
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
int rank, nprocs;
|
||||||
|
h5part_float64_t ex[DATASIZE];
|
||||||
|
h5part_float64_t ey[DATASIZE];
|
||||||
|
h5part_float64_t ez[DATASIZE];
|
||||||
|
h5part_float64_t q[DATASIZE];
|
||||||
|
h5part_int64_t nparticles = DATASIZE;
|
||||||
|
H5PartFile *file;
|
||||||
|
|
||||||
|
// initialize MPI
|
||||||
|
MPI_Init (&argc, &argv);
|
||||||
|
MPI_Comm_rank (MPI_COMM_WORLD, &rank);
|
||||||
|
MPI_Comm_size (MPI_COMM_WORLD, &nprocs);
|
||||||
|
|
||||||
|
H5PartSetVerbosityLevel(H5PART_VERB_DEBUG);
|
||||||
|
|
||||||
|
file = H5OpenFileParallel("fields.h5", H5PART_WRITE, MPI_COMM_WORLD);
|
||||||
|
H5SetStep(file, 0);
|
||||||
|
H5Block3dSetLayout(file,
|
||||||
|
rank*XSIZE, (rank+1)*XSIZE - 1,
|
||||||
|
0, YSIZE - 1,
|
||||||
|
0, ZSIZE - 1);
|
||||||
|
H5Block3dWriteScalarFieldFloat64(file, "Q", q);
|
||||||
|
H5Block3dWrite3dVectorFieldFloat64(file, "E", ex, ez, ey);
|
||||||
|
H5CloseFile(file);
|
||||||
|
|
||||||
|
MPI_Finalize();
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
#include <stdlib.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include <mpi.h>
|
||||||
|
#include <H5Part.h>
|
||||||
|
|
||||||
|
#define DATASIZE 32
|
||||||
|
|
||||||
|
int main(int argc, char** argv)
|
||||||
|
{
|
||||||
|
int rank, nprocs;
|
||||||
|
h5part_float64_t x[DATASIZE];
|
||||||
|
h5part_float64_t y[DATASIZE];
|
||||||
|
h5part_float64_t z[DATASIZE];
|
||||||
|
h5part_float64_t px[DATASIZE];
|
||||||
|
h5part_float64_t py[DATASIZE];
|
||||||
|
h5part_float64_t pz[DATASIZE];
|
||||||
|
h5part_int64_t nparticles = DATASIZE;
|
||||||
|
H5PartFile *file;
|
||||||
|
|
||||||
|
// initialize MPI
|
||||||
|
MPI_Init (&argc, &argv);
|
||||||
|
MPI_Comm_rank (MPI_COMM_WORLD, &rank);
|
||||||
|
MPI_Comm_size (MPI_COMM_WORLD, &nprocs);
|
||||||
|
|
||||||
|
H5PartSetVerbosityLevel(H5PART_VERB_DEBUG);
|
||||||
|
|
||||||
|
file = H5PartOpenFileParallel("particles.h5", H5PART_WRITE, MPI_COMM_WORLD);
|
||||||
|
H5PartSetStep(file, 0);
|
||||||
|
H5PartSetNumParticles(file, nparticles);
|
||||||
|
H5PartWriteDataFloat64(file, "x", x);
|
||||||
|
H5PartWriteDataFloat64(file, "y", y);
|
||||||
|
H5PartWriteDataFloat64(file, "z", z);
|
||||||
|
H5PartWriteDataFloat64(file, "px", px);
|
||||||
|
H5PartWriteDataFloat64(file, "py", py);
|
||||||
|
H5PartWriteDataFloat64(file, "pz", pz);
|
||||||
|
H5PartCloseFile(file);
|
||||||
|
|
||||||
|
MPI_Finalize();
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -8,12 +8,15 @@ program H5PartTest
|
|||||||
integer*8 :: file_id, status, npoints, i
|
integer*8 :: file_id, status, npoints, i
|
||||||
real*8, allocatable :: particles(:)
|
real*8, allocatable :: particles(:)
|
||||||
integer*8, allocatable :: id(:)
|
integer*8, allocatable :: id(:)
|
||||||
|
real*8 :: r8val
|
||||||
|
integer*8 :: i8val
|
||||||
|
|
||||||
comm = MPI_COMM_WORLD
|
comm = MPI_COMM_WORLD
|
||||||
call mpi_init(ierr)
|
call mpi_init(ierr)
|
||||||
call mpi_comm_rank(comm, rank, ierr)
|
call mpi_comm_rank(comm, rank, ierr)
|
||||||
|
|
||||||
! open the a file for parallel writing
|
! open the a file for parallel writing
|
||||||
|
file_id = h5pt_set_verbosity_level(5)
|
||||||
file_id = h5pt_openw_par('test.h5', comm)
|
file_id = h5pt_openw_par('test.h5', comm)
|
||||||
|
|
||||||
! in the Fortran API, time steps start at 1
|
! in the Fortran API, time steps start at 1
|
||||||
@@ -22,6 +25,10 @@ program H5PartTest
|
|||||||
! write an attribute to the file
|
! write an attribute to the file
|
||||||
status = h5pt_writefileattrib_string(file_id, 'desc', 'This is a test.')
|
status = h5pt_writefileattrib_string(file_id, 'desc', 'This is a test.')
|
||||||
|
|
||||||
|
r8val = 0.5
|
||||||
|
i8val = 1
|
||||||
|
status = h5pt_writefileattrib_r8(file_id, 'double', r8val, i8val)
|
||||||
|
|
||||||
! create fake data
|
! create fake data
|
||||||
npoints = 99
|
npoints = 99
|
||||||
allocate(particles(npoints), id(npoints))
|
allocate(particles(npoints), id(npoints))
|
||||||
|
|||||||
+4
-4
@@ -365,7 +365,7 @@ h5bl_has_fielddata (
|
|||||||
}
|
}
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
h5b_3d_get_field_spacing (
|
h5bl_3d_get_field_spacing (
|
||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *field_name,
|
const char *field_name,
|
||||||
h5part_float64_t *x,
|
h5part_float64_t *x,
|
||||||
@@ -386,7 +386,7 @@ h5b_3d_get_field_spacing (
|
|||||||
}
|
}
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
h5b_3d_set_field_spacing (
|
h5bl_3d_set_field_spacing (
|
||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *field_name,
|
const char *field_name,
|
||||||
const h5part_float64_t *x,
|
const h5part_float64_t *x,
|
||||||
@@ -407,7 +407,7 @@ h5b_3d_set_field_spacing (
|
|||||||
}
|
}
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
h5b_3d_get_field_origin (
|
h5bl_3d_get_field_origin (
|
||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *field_name,
|
const char *field_name,
|
||||||
h5part_float64_t *x,
|
h5part_float64_t *x,
|
||||||
@@ -428,7 +428,7 @@ h5b_3d_get_field_origin (
|
|||||||
}
|
}
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
h5b_3d_set_field_origin (
|
h5bl_3d_set_field_origin (
|
||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *field_name,
|
const char *field_name,
|
||||||
const h5part_float64_t *x,
|
const h5part_float64_t *x,
|
||||||
|
|||||||
+68
-92
@@ -199,7 +199,7 @@ _H5Part_open_file (
|
|||||||
{
|
{
|
||||||
/* extend the btree size so that metadata pieces are
|
/* extend the btree size so that metadata pieces are
|
||||||
* close to the alignment value */
|
* close to the alignment value */
|
||||||
if ( align > 0 )
|
if ( align > 16384 )
|
||||||
{
|
{
|
||||||
unsigned int btree_ik = (align - 4096) / 96;
|
unsigned int btree_ik = (align - 4096) / 96;
|
||||||
unsigned int btree_bytes = 64 + 96*btree_ik;
|
unsigned int btree_bytes = 64 + 96*btree_ik;
|
||||||
@@ -252,7 +252,7 @@ _H5Part_open_file (
|
|||||||
}
|
}
|
||||||
} else if (flags & H5PART_VFD_CORE) {
|
} else if (flags & H5PART_VFD_CORE) {
|
||||||
_H5Part_print_info ( "Selecting CORE VFD" );
|
_H5Part_print_info ( "Selecting CORE VFD" );
|
||||||
if (H5Pset_fapl_core ( f->access_prop, comm, 0 ) < 0) {
|
if (H5Pset_fapl_core ( f->access_prop, align, 1 ) < 0) {
|
||||||
HANDLE_H5P_SET_FAPL_ERR;
|
HANDLE_H5P_SET_FAPL_ERR;
|
||||||
goto error_cleanup;
|
goto error_cleanup;
|
||||||
}
|
}
|
||||||
@@ -713,7 +713,11 @@ _set_num_particles (
|
|||||||
register int i;
|
register int i;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef PARALLEL_IO
|
||||||
|
if ( nparticles < 0 )
|
||||||
|
#else
|
||||||
if ( nparticles <= 0 )
|
if ( nparticles <= 0 )
|
||||||
|
#endif
|
||||||
return HANDLE_H5PART_INVALID_ERR ( "nparticles", nparticles );
|
return HANDLE_H5PART_INVALID_ERR ( "nparticles", nparticles );
|
||||||
|
|
||||||
/* prevent invalid stride value */
|
/* prevent invalid stride value */
|
||||||
@@ -726,6 +730,8 @@ _set_num_particles (
|
|||||||
stride = (hsize_t) _stride;
|
stride = (hsize_t) _stride;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( nparticles == 0 ) stride = 1;
|
||||||
|
|
||||||
#ifndef PARALLEL_IO
|
#ifndef PARALLEL_IO
|
||||||
/*
|
/*
|
||||||
if we are not using parallel-IO, there is enough information
|
if we are not using parallel-IO, there is enough information
|
||||||
@@ -751,11 +757,14 @@ _set_num_particles (
|
|||||||
|
|
||||||
f->nparticles = (hsize_t) nparticles;
|
f->nparticles = (hsize_t) nparticles;
|
||||||
|
|
||||||
/* declare local memory datasize with striding */
|
if ( f->nparticles > 0 )
|
||||||
count = f->nparticles * stride;
|
{
|
||||||
f->memshape = H5Screate_simple ( 1, &count, &dmax );
|
/* declare local memory datasize with striding */
|
||||||
if ( f->memshape < 0 )
|
count = f->nparticles * stride;
|
||||||
return HANDLE_H5S_CREATE_SIMPLE_ERR ( f->nparticles );
|
f->memshape = H5Screate_simple ( 1, &count, &dmax );
|
||||||
|
if ( f->memshape < 0 )
|
||||||
|
return HANDLE_H5S_CREATE_SIMPLE_ERR ( f->nparticles );
|
||||||
|
}
|
||||||
|
|
||||||
/* we need a hyperslab selection if there is striding
|
/* we need a hyperslab selection if there is striding
|
||||||
* (otherwise, the default H5S_ALL selection is ok)
|
* (otherwise, the default H5S_ALL selection is ok)
|
||||||
@@ -796,7 +805,7 @@ _set_num_particles (
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
ret = MPI_Allgather (
|
ret = MPI_Allgather (
|
||||||
&nparticles, 1, MPI_LONG_LONG,
|
(void*)&nparticles, 1, MPI_LONG_LONG,
|
||||||
f->pnparticles, 1, MPI_LONG_LONG,
|
f->pnparticles, 1, MPI_LONG_LONG,
|
||||||
f->comm );
|
f->comm );
|
||||||
if ( ret != MPI_SUCCESS) return HANDLE_MPI_ALLGATHER_ERR;
|
if ( ret != MPI_SUCCESS) return HANDLE_MPI_ALLGATHER_ERR;
|
||||||
@@ -833,12 +842,16 @@ _set_num_particles (
|
|||||||
|
|
||||||
count = nparticles;
|
count = nparticles;
|
||||||
stride = 1;
|
stride = 1;
|
||||||
herr = H5Sselect_hyperslab (
|
if ( count > 0 ) {
|
||||||
f->diskshape,
|
herr = H5Sselect_hyperslab (
|
||||||
H5S_SELECT_SET,
|
f->diskshape,
|
||||||
&start,
|
H5S_SELECT_SET,
|
||||||
&stride,
|
&start,
|
||||||
&count, NULL );
|
&stride,
|
||||||
|
&count, NULL );
|
||||||
|
} else {
|
||||||
|
herr = H5Sselect_none ( f->diskshape );
|
||||||
|
}
|
||||||
if ( herr < 0 ) return HANDLE_H5S_SELECT_HYPERSLAB_ERR;
|
if ( herr < 0 ) return HANDLE_H5S_SELECT_HYPERSLAB_ERR;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1634,9 +1647,9 @@ H5PartWriteStepAttrib (
|
|||||||
h5part_int64_t herr = _H5Part_write_step_attrib (
|
h5part_int64_t herr = _H5Part_write_step_attrib (
|
||||||
f,
|
f,
|
||||||
name,
|
name,
|
||||||
(const hid_t)type,
|
(hid_t)type,
|
||||||
data,
|
data,
|
||||||
nelem );
|
(hsize_t)nelem );
|
||||||
if ( herr < 0 ) return herr;
|
if ( herr < 0 ) return herr;
|
||||||
|
|
||||||
return H5PART_SUCCESS;
|
return H5PART_SUCCESS;
|
||||||
@@ -1678,9 +1691,9 @@ H5PartWriteFileAttrib (
|
|||||||
h5part_int64_t herr = _H5Part_write_file_attrib (
|
h5part_int64_t herr = _H5Part_write_file_attrib (
|
||||||
f,
|
f,
|
||||||
name,
|
name,
|
||||||
(const hid_t)type,
|
(hid_t)type,
|
||||||
data,
|
data,
|
||||||
nelem );
|
(hsize_t)nelem );
|
||||||
if ( herr < 0 ) return herr;
|
if ( herr < 0 ) return herr;
|
||||||
|
|
||||||
return H5PART_SUCCESS;
|
return H5PART_SUCCESS;
|
||||||
@@ -2269,7 +2282,12 @@ _H5Part_get_num_objects_matching_pattern (
|
|||||||
data.pattern = pattern;
|
data.pattern = pattern;
|
||||||
|
|
||||||
#ifdef H5PART_HAVE_HDF5_18
|
#ifdef H5PART_HAVE_HDF5_18
|
||||||
hid_t child_id = H5Gopen( group_id, group_name, H5P_DEFAULT );
|
hid_t child_id = H5Gopen( group_id, group_name
|
||||||
|
#ifndef H5_USE_16_API
|
||||||
|
, H5P_DEFAULT
|
||||||
|
#endif
|
||||||
|
);
|
||||||
|
|
||||||
if ( child_id < 0 ) return child_id;
|
if ( child_id < 0 ) return child_id;
|
||||||
herr = H5Literate( child_id, H5_INDEX_NAME, H5_ITER_INC, 0,
|
herr = H5Literate( child_id, H5_INDEX_NAME, H5_ITER_INC, 0,
|
||||||
_H5Part_iteration_operator2, &data );
|
_H5Part_iteration_operator2, &data );
|
||||||
@@ -2567,7 +2585,30 @@ _H5Part_get_num_particles (
|
|||||||
0,
|
0,
|
||||||
dataset_name, H5PART_DATANAME_LEN );
|
dataset_name, H5PART_DATANAME_LEN );
|
||||||
if ( herr < 0 ) return herr;
|
if ( herr < 0 ) return herr;
|
||||||
/* returns 0 if there are no datasets on disk */
|
|
||||||
|
/* if a view exists, use its size as the number of particles */
|
||||||
|
if ( _H5Part_has_view ( f ) )
|
||||||
|
{
|
||||||
|
nparticles = H5Sget_select_npoints ( f->diskshape );
|
||||||
|
if ( nparticles < 0 ) return HANDLE_H5S_GET_SELECT_NPOINTS_ERR;
|
||||||
|
|
||||||
|
_H5Part_print_debug (
|
||||||
|
"Found %lld points with H5Sget_select_npoints",
|
||||||
|
(long long)nparticles );
|
||||||
|
|
||||||
|
#if 0 // this does not work for indices
|
||||||
|
/* double check that the size of the diskshape agrees with
|
||||||
|
* the size of the view */
|
||||||
|
if ( nparticles != f->viewend - f->viewstart + 1 ) {
|
||||||
|
_H5Part_print_warn (
|
||||||
|
"Number of particles (%lld) does not agree "
|
||||||
|
"with view range.", (long long)nparticles );
|
||||||
|
return HANDLE_H5PART_BAD_VIEW_ERR (
|
||||||
|
f->viewstart, f->viewend);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
/* herr is 0 if there are no datasets on disk */
|
||||||
else if ( herr == 0 )
|
else if ( herr == 0 )
|
||||||
{
|
{
|
||||||
/* try to recover number of particles from a previous
|
/* try to recover number of particles from a previous
|
||||||
@@ -2596,29 +2637,6 @@ _H5Part_get_num_particles (
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* if a view exists, use its size as the number of particles */
|
|
||||||
if ( _H5Part_has_view ( f ) )
|
|
||||||
{
|
|
||||||
nparticles = H5Sget_select_npoints ( f->diskshape );
|
|
||||||
if ( nparticles < 0 ) return HANDLE_H5S_GET_SELECT_NPOINTS_ERR;
|
|
||||||
|
|
||||||
_H5Part_print_debug (
|
|
||||||
"Found %lld points with H5Sget_select_npoints",
|
|
||||||
(long long)nparticles );
|
|
||||||
|
|
||||||
#if 0 // this does not work for indices
|
|
||||||
/* double check that the size of the diskshape agrees with
|
|
||||||
* the size of the view */
|
|
||||||
if ( nparticles != f->viewend - f->viewstart + 1 ) {
|
|
||||||
_H5Part_print_warn (
|
|
||||||
"Number of particles (%lld) does not agree "
|
|
||||||
"with view range.", (long long)nparticles );
|
|
||||||
return HANDLE_H5PART_BAD_VIEW_ERR (
|
|
||||||
f->viewstart, f->viewend);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
/* otherwise, report all particles on disk in the first dataset
|
/* otherwise, report all particles on disk in the first dataset
|
||||||
* for this timestep */
|
* for this timestep */
|
||||||
else
|
else
|
||||||
@@ -2772,10 +2790,7 @@ _set_view (
|
|||||||
end==-1 to mean end of file
|
end==-1 to mean end of file
|
||||||
*/
|
*/
|
||||||
total = (hsize_t) _H5Part_get_num_particles ( f );
|
total = (hsize_t) _H5Part_get_num_particles ( f );
|
||||||
if ( total < 0 ) {
|
if ( total == 0 ) {
|
||||||
return HANDLE_H5PART_GET_NUM_PARTICLES_ERR ( total );
|
|
||||||
}
|
|
||||||
else if ( total == 0 ) {
|
|
||||||
/* No datasets have been created yet and no veiws are set.
|
/* No datasets have been created yet and no veiws are set.
|
||||||
* We have to leave the view empty because we don't know how
|
* We have to leave the view empty because we don't know how
|
||||||
* many particles there should be! */
|
* many particles there should be! */
|
||||||
@@ -2840,9 +2855,9 @@ _set_view_indices (
|
|||||||
herr = _reset_view ( f );
|
herr = _reset_view ( f );
|
||||||
if ( herr < 0 ) return herr;
|
if ( herr < 0 ) return herr;
|
||||||
|
|
||||||
if ( indices == NULL ) {
|
if ( indices == NULL || nelems <= 0 ) {
|
||||||
_H5Part_print_warn (
|
_H5Part_print_warn (
|
||||||
"View indices array is null: reseting view." );
|
"View indices array is null or size is <= 0: reseting view." );
|
||||||
return H5PART_SUCCESS;
|
return H5PART_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2854,10 +2869,7 @@ _set_view_indices (
|
|||||||
end==-1 to mean end of file
|
end==-1 to mean end of file
|
||||||
*/
|
*/
|
||||||
total = (hsize_t) _H5Part_get_num_particles ( f );
|
total = (hsize_t) _H5Part_get_num_particles ( f );
|
||||||
if ( total < 0 ) {
|
if ( total == 0 ) {
|
||||||
return HANDLE_H5PART_GET_NUM_PARTICLES_ERR ( total );
|
|
||||||
}
|
|
||||||
else if ( total == 0 ) {
|
|
||||||
/* No datasets have been created yet and no veiws are set.
|
/* No datasets have been created yet and no veiws are set.
|
||||||
* We have to leave the view empty because we don't know how
|
* We have to leave the view empty because we don't know how
|
||||||
* many particles there should be! */
|
* many particles there should be! */
|
||||||
@@ -2868,15 +2880,7 @@ _set_view_indices (
|
|||||||
|
|
||||||
if ( total == 0 ) return H5PART_SUCCESS;
|
if ( total == 0 ) return H5PART_SUCCESS;
|
||||||
|
|
||||||
/* check length of list */
|
f->nparticles = (hsize_t) nelems;
|
||||||
if ( nelems < 0 ) {
|
|
||||||
_H5Part_print_warn (
|
|
||||||
"Array of view indices has length < 0: "
|
|
||||||
"resetting view.");
|
|
||||||
f->nparticles = 0;
|
|
||||||
} else {
|
|
||||||
f->nparticles = (hsize_t) nelems;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* declare overall data size but then will select a subset */
|
/* declare overall data size but then will select a subset */
|
||||||
f->diskshape = H5Screate_simple ( 1, &total, NULL );
|
f->diskshape = H5Screate_simple ( 1, &total, NULL );
|
||||||
@@ -2982,34 +2986,6 @@ H5PartSetViewIndices (
|
|||||||
return _set_view_indices ( f, indices, nelems );
|
return _set_view_indices ( f, indices, nelems );
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
|
||||||
\ingroup h5part_model
|
|
||||||
|
|
||||||
In MPI-IO collective mode, all MPI tasks must participate in I/O
|
|
||||||
operations. \c H5PartSetViewEmpty() allows a task to participate
|
|
||||||
but with an empty view of the file, so that it contributes no data
|
|
||||||
to the I/O operation.
|
|
||||||
|
|
||||||
\return \c H5PART_SUCCESS or error code
|
|
||||||
*/
|
|
||||||
h5part_int64_t
|
|
||||||
H5PartSetViewEmpty (
|
|
||||||
H5PartFile *f /*!< [in] Handle to open file */
|
|
||||||
) {
|
|
||||||
|
|
||||||
SET_FNAME ( "H5PartSetViewEmpty" );
|
|
||||||
|
|
||||||
CHECK_FILEHANDLE( f );
|
|
||||||
|
|
||||||
if ( f->timegroup < 0 ) {
|
|
||||||
h5part_int64_t herr = _H5Part_set_step ( f, 0 );
|
|
||||||
if ( herr < 0 ) return herr;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* using a null indices list will set an empty view */
|
|
||||||
return _set_view_indices ( f, NULL, 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\ingroup h5part_model
|
\ingroup h5part_model
|
||||||
|
|
||||||
@@ -3157,7 +3133,7 @@ _read_data (
|
|||||||
) {
|
) {
|
||||||
|
|
||||||
h5part_int64_t herr;
|
h5part_int64_t herr;
|
||||||
hsize_t ndisk, nread, nmem;
|
hssize_t ndisk, nread, nmem;
|
||||||
hid_t dataset_id;
|
hid_t dataset_id;
|
||||||
hid_t space_id;
|
hid_t space_id;
|
||||||
hid_t memspace_id;
|
hid_t memspace_id;
|
||||||
@@ -3219,7 +3195,7 @@ _read_data (
|
|||||||
|
|
||||||
if ( f->memshape != H5S_ALL )
|
if ( f->memshape != H5S_ALL )
|
||||||
{
|
{
|
||||||
nmem = H5Sget_select_npoints ( f->memshape );
|
nmem = H5Sget_simple_extent_npoints ( f->memshape );
|
||||||
if ( nmem < 0 ) return HANDLE_H5S_GET_SELECT_NPOINTS_ERR;
|
if ( nmem < 0 ) return HANDLE_H5S_GET_SELECT_NPOINTS_ERR;
|
||||||
|
|
||||||
/* make sure the memory space selected by the view has
|
/* make sure the memory space selected by the view has
|
||||||
|
|||||||
@@ -265,14 +265,6 @@ INTEGER*8 FUNCTION h5pt_setview_indices (filehandle,indices,nelem)
|
|||||||
INTEGER*8, INTENT(IN) :: nelem !< number of particles in the list
|
INTEGER*8, INTENT(IN) :: nelem !< number of particles in the list
|
||||||
END FUNCTION
|
END FUNCTION
|
||||||
|
|
||||||
!> \ingroup h5partf_model
|
|
||||||
!! See \ref H5PartSetViewEmpty
|
|
||||||
!! \return 0 on success or error code
|
|
||||||
!<
|
|
||||||
INTEGER*8 FUNCTION h5pt_setview_empty (filehandle)
|
|
||||||
INTEGER*8, INTENT(IN) :: filehandle !< the handle returned during file open
|
|
||||||
END FUNCTION
|
|
||||||
|
|
||||||
!> \ingroup h5partf_model
|
!> \ingroup h5partf_model
|
||||||
!! See \ref H5PartResetView
|
!! See \ref H5PartResetView
|
||||||
!! \return 0 on success or error code
|
!! \return 0 on success or error code
|
||||||
|
|||||||
+2
-7
@@ -16,10 +16,10 @@ extern "C" {
|
|||||||
#include "H5MultiBlock.h"
|
#include "H5MultiBlock.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define H5PART_VER_STRING "1.6.2"
|
#define H5PART_VER_STRING "1.6.3"
|
||||||
#define H5PART_VER_MAJOR 1
|
#define H5PART_VER_MAJOR 1
|
||||||
#define H5PART_VER_MINOR 6
|
#define H5PART_VER_MINOR 6
|
||||||
#define H5PART_VER_RELEASE 2
|
#define H5PART_VER_RELEASE 3
|
||||||
|
|
||||||
/* error values */
|
/* error values */
|
||||||
#define H5PART_SUCCESS 0
|
#define H5PART_SUCCESS 0
|
||||||
@@ -220,11 +220,6 @@ H5PartSetViewIndices (
|
|||||||
h5part_int64_t nelems /*!< [in] Size of list */
|
h5part_int64_t nelems /*!< [in] Size of list */
|
||||||
);
|
);
|
||||||
|
|
||||||
h5part_int64_t
|
|
||||||
H5PartSetViewEmpty (
|
|
||||||
H5PartFile *f
|
|
||||||
);
|
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
H5PartGetView (
|
H5PartGetView (
|
||||||
H5PartFile *f,
|
H5PartFile *f,
|
||||||
|
|||||||
+30
-30
@@ -23,7 +23,7 @@ h5pt_writefileattrib_r8 (
|
|||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *name,
|
const char *name,
|
||||||
const h5part_float64_t *data,
|
const h5part_float64_t *data,
|
||||||
const h5part_float64_t *nelem,
|
const h5part_int64_t *nelem,
|
||||||
const int l_name
|
const int l_name
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@@ -39,9 +39,9 @@ h5pt_writefileattrib_r8 (
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if ! defined(F77_NO_UNDERSCORE)
|
#if ! defined(F77_NO_UNDERSCORE)
|
||||||
#define h5pt_writefileattrib_r8 F77NAME ( \
|
#define h5pt_readfileattrib_r8 F77NAME ( \
|
||||||
h5pt_writefileattrib_r8_, \
|
h5pt_readfileattrib_r8_, \
|
||||||
H5PT_WRITEFILEATTRIB_R8 )
|
H5PT_READFILEATTRIB_R8 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
@@ -74,7 +74,7 @@ h5pt_writefileattrib_r4 (
|
|||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *name,
|
const char *name,
|
||||||
const h5part_float32_t *data,
|
const h5part_float32_t *data,
|
||||||
const h5part_float32_t *nelem,
|
const h5part_int64_t *nelem,
|
||||||
const int l_name
|
const int l_name
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@@ -90,9 +90,9 @@ h5pt_writefileattrib_r4 (
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if ! defined(F77_NO_UNDERSCORE)
|
#if ! defined(F77_NO_UNDERSCORE)
|
||||||
#define h5pt_writefileattrib_r4 F77NAME ( \
|
#define h5pt_readfileattrib_r4 F77NAME ( \
|
||||||
h5pt_writefileattrib_r4_, \
|
h5pt_readfileattrib_r4_, \
|
||||||
H5PT_WRITEFILEATTRIB_R4 )
|
H5PT_READFILEATTRIB_R4 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
@@ -141,9 +141,9 @@ h5pt_writefileattrib_i8 (
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if ! defined(F77_NO_UNDERSCORE)
|
#if ! defined(F77_NO_UNDERSCORE)
|
||||||
#define h5pt_writefileattrib_i8 F77NAME ( \
|
#define h5pt_readfileattrib_i8 F77NAME ( \
|
||||||
h5pt_writefileattrib_i8_, \
|
h5pt_readfileattrib_i8_, \
|
||||||
H5PT_WRITEFILEATTRIB_I8 )
|
H5PT_READFILEATTRIB_I8 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
@@ -176,7 +176,7 @@ h5pt_writefileattrib_i4 (
|
|||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *name,
|
const char *name,
|
||||||
const h5part_int32_t *data,
|
const h5part_int32_t *data,
|
||||||
const h5part_int32_t *nelem,
|
const h5part_int64_t *nelem,
|
||||||
const int l_name
|
const int l_name
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@@ -192,9 +192,9 @@ h5pt_writefileattrib_i4 (
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if ! defined(F77_NO_UNDERSCORE)
|
#if ! defined(F77_NO_UNDERSCORE)
|
||||||
#define h5pt_writefileattrib_i4 F77NAME ( \
|
#define h5pt_readfileattrib_i4 F77NAME ( \
|
||||||
h5pt_writefileattrib_i4_, \
|
h5pt_readfileattrib_i4_, \
|
||||||
H5PT_WRITEFILEATTRIB_I4 )
|
H5PT_READFILEATTRIB_I4 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
@@ -227,7 +227,7 @@ h5pt_writestepattrib_r8 (
|
|||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *name,
|
const char *name,
|
||||||
const h5part_float64_t *data,
|
const h5part_float64_t *data,
|
||||||
const h5part_float64_t *nelem,
|
const h5part_int64_t *nelem,
|
||||||
const int l_name
|
const int l_name
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@@ -243,9 +243,9 @@ h5pt_writestepattrib_r8 (
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if ! defined(F77_NO_UNDERSCORE)
|
#if ! defined(F77_NO_UNDERSCORE)
|
||||||
#define h5pt_writestepattrib_r8 F77NAME ( \
|
#define h5pt_readstepattrib_r8 F77NAME ( \
|
||||||
h5pt_writestepattrib_r8_, \
|
h5pt_readstepattrib_r8_, \
|
||||||
H5PT_WRITESTEPATTRIB_R8 )
|
H5PT_READSTEPATTRIB_R8 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
@@ -278,7 +278,7 @@ h5pt_writestepattrib_r4 (
|
|||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *name,
|
const char *name,
|
||||||
const h5part_float32_t *data,
|
const h5part_float32_t *data,
|
||||||
const h5part_float32_t *nelem,
|
const h5part_int64_t *nelem,
|
||||||
const int l_name
|
const int l_name
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@@ -294,9 +294,9 @@ h5pt_writestepattrib_r4 (
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if ! defined(F77_NO_UNDERSCORE)
|
#if ! defined(F77_NO_UNDERSCORE)
|
||||||
#define h5pt_writestepattrib_r4 F77NAME ( \
|
#define h5pt_readstepattrib_r4 F77NAME ( \
|
||||||
h5pt_writestepattrib_r4_, \
|
h5pt_readstepattrib_r4_, \
|
||||||
H5PT_WRITESTEPATTRIB_R4 )
|
H5PT_READSTEPATTRIB_R4 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
@@ -345,9 +345,9 @@ h5pt_writestepattrib_i8 (
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if ! defined(F77_NO_UNDERSCORE)
|
#if ! defined(F77_NO_UNDERSCORE)
|
||||||
#define h5pt_writestepattrib_i8 F77NAME ( \
|
#define h5pt_readstepattrib_i8 F77NAME ( \
|
||||||
h5pt_writestepattrib_i8_, \
|
h5pt_readstepattrib_i8_, \
|
||||||
H5PT_WRITESTEPATTRIB_I8 )
|
H5PT_READSTEPATTRIB_I8 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
@@ -380,7 +380,7 @@ h5pt_writestepattrib_i4 (
|
|||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *name,
|
const char *name,
|
||||||
const h5part_int32_t *data,
|
const h5part_int32_t *data,
|
||||||
const h5part_int32_t *nelem,
|
const h5part_int64_t *nelem,
|
||||||
const int l_name
|
const int l_name
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@@ -396,9 +396,9 @@ h5pt_writestepattrib_i4 (
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if ! defined(F77_NO_UNDERSCORE)
|
#if ! defined(F77_NO_UNDERSCORE)
|
||||||
#define h5pt_writestepattrib_i4 F77NAME ( \
|
#define h5pt_readstepattrib_i4 F77NAME ( \
|
||||||
h5pt_writestepattrib_i4_, \
|
h5pt_readstepattrib_i4_, \
|
||||||
H5PT_WRITESTEPATTRIB_I4 )
|
H5PT_READSTEPATTRIB_I4 )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
|
|||||||
+1
-14
@@ -100,9 +100,6 @@
|
|||||||
#define h5pt_setview_indices F77NAME ( \
|
#define h5pt_setview_indices F77NAME ( \
|
||||||
h5pt_setview_indices_, \
|
h5pt_setview_indices_, \
|
||||||
H5PT_SETVIEW_INDICES )
|
H5PT_SETVIEW_INDICES )
|
||||||
#define h5pt_setview_empty F77NAME ( \
|
|
||||||
h5pt_setview_empty_, \
|
|
||||||
H5PT_SETVIEW_EMPTY )
|
|
||||||
#define h5pt_resetview F77NAME ( \
|
#define h5pt_resetview F77NAME ( \
|
||||||
h5pt_resetview_, \
|
h5pt_resetview_, \
|
||||||
H5PT_RESETVIEW )
|
H5PT_RESETVIEW )
|
||||||
@@ -626,7 +623,7 @@ h5pt_setview (
|
|||||||
|
|
||||||
H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
|
H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
|
||||||
|
|
||||||
return H5PartSetView ( filehandle, *start, *end );
|
return H5PartSetView ( filehandle, (*start)-1, (*end)-1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
@@ -641,16 +638,6 @@ h5pt_setview_indices (
|
|||||||
return H5PartSetViewIndices ( filehandle, indices, *nelem );
|
return H5PartSetViewIndices ( filehandle, indices, *nelem );
|
||||||
}
|
}
|
||||||
|
|
||||||
h5part_int64_t
|
|
||||||
h5pt_setview_empty (
|
|
||||||
const h5part_int64_t *f
|
|
||||||
) {
|
|
||||||
|
|
||||||
H5PartFile *filehandle = (H5PartFile*)(size_t)*f;
|
|
||||||
|
|
||||||
return H5PartSetViewEmpty ( filehandle );
|
|
||||||
}
|
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
h5pt_resetview (
|
h5pt_resetview (
|
||||||
const h5part_int64_t *f
|
const h5part_int64_t *f
|
||||||
|
|||||||
+1
-3
@@ -19,11 +19,9 @@ __attribute__ ((format (printf, 3, 4)))
|
|||||||
#endif
|
#endif
|
||||||
;
|
;
|
||||||
|
|
||||||
#ifndef MPI_INCLUDED
|
#ifndef PARALLEL_IO
|
||||||
#ifndef OPEN_MPI
|
|
||||||
typedef unsigned long MPI_Comm;
|
typedef unsigned long MPI_Comm;
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#define H5PART_STEPNAME_LEN 64
|
#define H5PART_STEPNAME_LEN 64
|
||||||
#define H5PART_DATANAME_LEN 64
|
#define H5PART_DATANAME_LEN 64
|
||||||
|
|||||||
+13
-14
@@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
OBJEXT=o
|
OBJEXT=o
|
||||||
|
|
||||||
INCLUDES = -I@HDF5ROOT@/include @MPIINC@
|
|
||||||
|
|
||||||
EXTRA_HEADERS = H5PartPrivate.h \
|
EXTRA_HEADERS = H5PartPrivate.h \
|
||||||
H5BlockPrivate.h \
|
H5BlockPrivate.h \
|
||||||
H5MultiBlockPrivate.h \
|
H5MultiBlockPrivate.h \
|
||||||
@@ -25,10 +23,10 @@ EXTRA_DIST = TestUnderscoreC.c \
|
|||||||
nodist_include_HEADERS = H5PartF.h @UNDERSCORE_H@
|
nodist_include_HEADERS = H5PartF.h @UNDERSCORE_H@
|
||||||
|
|
||||||
# What to build... Will be determined by configure script.
|
# What to build... Will be determined by configure script.
|
||||||
lib_LIBRARIES = @MTARGET@
|
lib_LTLIBRARIES = libH5Part.la @LIB_FORTRAN@
|
||||||
|
|
||||||
# Listing of all possible targets that I may build.
|
# Listing of all possible targets that I may build.
|
||||||
EXTRA_LIBRARIES = libH5Part.a libH5PartF.a
|
EXTRA_LTLIBRARIES = libH5PartF.la
|
||||||
|
|
||||||
# Header files that I wish to install in $(prefix)/include
|
# Header files that I wish to install in $(prefix)/include
|
||||||
include_HEADERS = H5Part.h \
|
include_HEADERS = H5Part.h \
|
||||||
@@ -47,27 +45,28 @@ include_HEADERS = H5Part.h \
|
|||||||
@UNDERSCORE_H@
|
@UNDERSCORE_H@
|
||||||
|
|
||||||
# Listing of sources
|
# Listing of sources
|
||||||
libH5Part_a_SOURCES = H5Part.c \
|
libH5Part_la_SOURCES = H5Part.c \
|
||||||
H5PartAttrib.c \
|
H5PartAttrib.c \
|
||||||
H5Block.c \
|
H5Block.c \
|
||||||
H5BlockReadWrite.c \
|
H5BlockReadWrite.c \
|
||||||
H5MultiBlock.c \
|
H5MultiBlock.c \
|
||||||
H5MultiBlockReadWrite.c
|
H5MultiBlockReadWrite.c
|
||||||
|
|
||||||
libH5PartF_a_SOURCES = $(libH5Part_a_SOURCES) \
|
libH5Part_la_LDFLAGS = -version-info 0:0:0
|
||||||
|
|
||||||
|
libH5PartF_la_SOURCES = H5Part.c \
|
||||||
|
H5PartAttrib.c \
|
||||||
|
H5Block.c \
|
||||||
|
H5BlockReadWrite.c \
|
||||||
|
H5MultiBlock.c \
|
||||||
|
H5MultiBlockReadWrite.c \
|
||||||
H5PartF.c \
|
H5PartF.c \
|
||||||
H5PartAttribF.c \
|
H5PartAttribF.c \
|
||||||
H5BlockF.c \
|
H5BlockF.c \
|
||||||
H5BlockReadWriteF.c
|
H5BlockReadWriteF.c
|
||||||
|
|
||||||
|
libH5PartF_la_LDFLAGS = -version-info 0:0:0 -rpath '$(libdir)'
|
||||||
|
|
||||||
H5PartF.h: H5Part.f90 H5PartAttrib.f90 H5Block.f90 H5BlockReadWrite.f90
|
H5PartF.h: H5Part.f90 H5PartAttrib.f90 H5Block.f90 H5BlockReadWrite.f90
|
||||||
awk '/INTEGER\*8 FUNCTION/{print "\t" $$1 " " $$3}' $^ >$@
|
awk '/INTEGER\*8 FUNCTION/{print "\t" $$1 " " $$3}' $^ >$@
|
||||||
|
|
||||||
libpH5Part.a: libH5Part.a
|
|
||||||
$(RM) $@
|
|
||||||
ln -s $^ $@
|
|
||||||
|
|
||||||
libpH5PartF.a: libH5PartF.a
|
|
||||||
$(RM) $@
|
|
||||||
ln -s $^ $@
|
|
||||||
|
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ h5pt_write#LEVELLC#attrib_#TYPE_F90_ABV# (
|
|||||||
h5part_int64_t *f,
|
h5part_int64_t *f,
|
||||||
const char *name,
|
const char *name,
|
||||||
const h5part_#TYPE_H5P#_t *data,
|
const h5part_#TYPE_H5P#_t *data,
|
||||||
const h5part_#TYPE_H5P#_t *nelem,
|
const h5part_int64_t *nelem,
|
||||||
const int l_name
|
const int l_name
|
||||||
) {
|
) {
|
||||||
|
|
||||||
@@ -143,9 +143,9 @@ END FUNCTION
|
|||||||
|
|
||||||
read_attr_fc = """
|
read_attr_fc = """
|
||||||
#if ! defined(F77_NO_UNDERSCORE)
|
#if ! defined(F77_NO_UNDERSCORE)
|
||||||
#define h5pt_write#LEVELLC#attrib_#TYPE_F90_ABV# F77NAME ( \\
|
#define h5pt_read#LEVELLC#attrib_#TYPE_F90_ABV# F77NAME ( \\
|
||||||
h5pt_write#LEVELLC#attrib_#TYPE_F90_ABV#_, \\
|
h5pt_read#LEVELLC#attrib_#TYPE_F90_ABV#_, \\
|
||||||
H5PT_WRITE#LEVELUC#ATTRIB_#TYPE_F90_ABVC# )
|
H5PT_READ#LEVELUC#ATTRIB_#TYPE_F90_ABVC# )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
h5part_int64_t
|
h5part_int64_t
|
||||||
|
|||||||
+5
-6
@@ -2,15 +2,12 @@
|
|||||||
|
|
||||||
OBJEXT=o
|
OBJEXT=o
|
||||||
|
|
||||||
HDFLIB = -L@HDF5ROOT@/lib -lhdf5 -lz @SZLIB@
|
INCLUDES = -I../src @INCLUDES@
|
||||||
LIBS = -L@H5P_LIB_LOC@ @H5P_LIB_NAME@ $(HDFLIB) -lm
|
|
||||||
|
|
||||||
INCLUDES = -I@H5P_LIB_LOC@ -I@HDF5ROOT@/include @MPIINC@
|
noinst_PROGRAMS = @BUILD_TESTS@
|
||||||
|
|
||||||
noinst_PROGRAMS = @TTARGET@
|
|
||||||
|
|
||||||
TESTS_ENVIRONMENT = env LD_LIBRARY_PATH=@HDF5ROOT@/lib:$(LD_LIBRARY_PATH)
|
TESTS_ENVIRONMENT = env LD_LIBRARY_PATH=@HDF5ROOT@/lib:$(LD_LIBRARY_PATH)
|
||||||
TESTS = @TTARGET@
|
TESTS = @BUILD_TESTS@
|
||||||
|
|
||||||
EXTRA_PROGRAMS = test testf
|
EXTRA_PROGRAMS = test testf
|
||||||
|
|
||||||
@@ -20,8 +17,10 @@ test_SOURCES = test.c \
|
|||||||
read.c \
|
read.c \
|
||||||
testframe.h \
|
testframe.h \
|
||||||
params.h
|
params.h
|
||||||
|
test_LDADD = ../src/libH5Part.la
|
||||||
|
|
||||||
testf_SOURCES = testf.F90
|
testf_SOURCES = testf.F90
|
||||||
|
testf_LDADD = ../src/libH5PartF.la
|
||||||
|
|
||||||
clean: clean-am
|
clean: clean-am
|
||||||
rm -f *.h5
|
rm -f *.h5
|
||||||
|
|||||||
+27
-22
@@ -175,10 +175,6 @@ test_read_data64(H5PartFile *file, int nparticles, int step)
|
|||||||
status = H5PartSetView(file, start, end);
|
status = H5PartSetView(file, start, end);
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartSetView");
|
RETURN(status, H5PART_SUCCESS, "H5PartSetView");
|
||||||
|
|
||||||
status = H5PartReadDataFloat64(file, "x", x);
|
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartReadDataFloat64");
|
|
||||||
FVALUE(x[rank], (double)(start+rank+nparticles*t), "x data");
|
|
||||||
|
|
||||||
val = H5PartGetView(file, &start, &end);
|
val = H5PartGetView(file, &start, &end);
|
||||||
IVALUE(val, nprocs*nparticles-start, "particle count");
|
IVALUE(val, nprocs*nparticles-start, "particle count");
|
||||||
IVALUE(start, rank, "view start");
|
IVALUE(start, rank, "view start");
|
||||||
@@ -187,51 +183,60 @@ test_read_data64(H5PartFile *file, int nparticles, int step)
|
|||||||
status = H5PartSetView(file, -1, -1);
|
status = H5PartSetView(file, -1, -1);
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartSetView");
|
RETURN(status, H5PART_SUCCESS, "H5PartSetView");
|
||||||
|
|
||||||
|
status = H5PartSetView(file, 0, nparticles-1);
|
||||||
|
RETURN(status, H5PART_SUCCESS, "H5PartSetView");
|
||||||
|
|
||||||
|
val = H5PartGetNumParticles(file);
|
||||||
|
IVALUE(val, nparticles, "particle count");
|
||||||
|
|
||||||
status = H5PartReadDataFloat64(file, "x", x);
|
status = H5PartReadDataFloat64(file, "x", x);
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartReadDataFloat64");
|
RETURN(status, H5PART_SUCCESS, "H5PartReadDataFloat64");
|
||||||
IVALUE(x[rank], (double)(rank+nparticles*t), "x data");
|
IVALUE(x[rank], (double)(rank+nparticles*t), "x data");
|
||||||
|
|
||||||
|
status = H5PartResetView(file);
|
||||||
|
RETURN(status, H5PART_SUCCESS, "H5PartResetView");
|
||||||
|
|
||||||
|
val = H5PartGetNumParticles(file);
|
||||||
|
IVALUE(val, nprocs*nparticles, "particle count");
|
||||||
|
|
||||||
indices[0] = rank*2 + 0;
|
indices[0] = rank*2 + 0;
|
||||||
indices[1] = rank*2 + 3;
|
indices[1] = rank*2 + 3;
|
||||||
indices[2] = rank*2 + 9;
|
indices[2] = rank*2 + 9;
|
||||||
indices[3] = rank*2 + 7;
|
indices[3] = rank*2 + 7;
|
||||||
|
|
||||||
status = H5PartSetViewIndices(file, indices, -1);
|
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartSetViewIndices");
|
|
||||||
|
|
||||||
status = H5PartReadDataFloat64(file, "x", x);
|
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartReadDataFloat64");
|
|
||||||
FVALUE(x[2*rank], (double)(2*rank+nparticles*t), "x data");
|
|
||||||
|
|
||||||
status = H5PartResetView(file);
|
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartResetView");
|
|
||||||
|
|
||||||
status = H5PartSetViewIndices(file, indices, 4);
|
status = H5PartSetViewIndices(file, indices, 4);
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartSetViewIndices");
|
RETURN(status, H5PART_SUCCESS, "H5PartSetViewIndices");
|
||||||
|
|
||||||
val = H5PartGetNumParticles(file);
|
val = H5PartGetNumParticles(file);
|
||||||
IVALUE(val, 4, "particle count");
|
IVALUE(val, 4, "particle count");
|
||||||
|
|
||||||
status = H5PartReadDataFloat64(file, "x", x);
|
double x2[4];
|
||||||
|
status = H5PartReadDataFloat64(file, "x", x2);
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartReadDataFloat64");
|
RETURN(status, H5PART_SUCCESS, "H5PartReadDataFloat64");
|
||||||
FVALUE(x[2], (double)(rank*2+9+nparticles*t), "x data");
|
FVALUE(x2[0], (double)(2*rank+0+nparticles*t), "x data");
|
||||||
|
FVALUE(x2[1], (double)(2*rank+3+nparticles*t), "x data");
|
||||||
|
FVALUE(x2[2], (double)(2*rank+9+nparticles*t), "x data");
|
||||||
|
FVALUE(x2[3], (double)(2*rank+7+nparticles*t), "x data");
|
||||||
|
|
||||||
val = H5PartGetNumParticles(file);
|
status = H5PartSetViewIndices(file, indices, -1);
|
||||||
IVALUE(val, 4, "particle count");
|
|
||||||
|
|
||||||
status = H5PartSetViewIndices(file, NULL, 4);
|
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartSetViewIndices");
|
RETURN(status, H5PART_SUCCESS, "H5PartSetViewIndices");
|
||||||
|
|
||||||
status = H5PartReadDataFloat64(file, "x", x);
|
val = H5PartGetNumParticles(file);
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartReadDataFloat64");
|
IVALUE(val, nprocs*nparticles, "particle count");
|
||||||
|
|
||||||
status = H5PartSetCanonicalView(file);
|
status = H5PartSetCanonicalView(file);
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartSetCanonicalView");
|
RETURN(status, H5PART_SUCCESS, "H5PartSetCanonicalView");
|
||||||
|
|
||||||
|
val = H5PartGetNumParticles(file);
|
||||||
|
IVALUE(val, nparticles, "particle count");
|
||||||
|
|
||||||
status = H5PartReadParticleStep (
|
status = H5PartReadParticleStep (
|
||||||
file, t, x, y, z, px, py, pz, id);
|
file, t, x, y, z, px, py, pz, id);
|
||||||
RETURN(status, H5PART_SUCCESS, "H5PartReadParticleStep");
|
RETURN(status, H5PART_SUCCESS, "H5PartReadParticleStep");
|
||||||
|
|
||||||
|
status = H5PartSetViewIndices(file, NULL, 4);
|
||||||
|
RETURN(status, H5PART_SUCCESS, "H5PartSetViewIndices");
|
||||||
|
|
||||||
for (i=0; i<nparticles; i++)
|
for (i=0; i<nparticles; i++)
|
||||||
{
|
{
|
||||||
FVALUE(x[i] , 0.0 + (double)(i+nparticles*t), " x data");
|
FVALUE(x[i] , 0.0 + (double)(i+nparticles*t), " x data");
|
||||||
|
|||||||
+5
-5
@@ -7,9 +7,9 @@ program H5PartTest
|
|||||||
include 'H5PartF.h'
|
include 'H5PartF.h'
|
||||||
|
|
||||||
#ifdef PARALLEL_IO
|
#ifdef PARALLEL_IO
|
||||||
integer :: comm, ierr, i
|
integer :: comm, ierr
|
||||||
integer*8 :: file_id, status, npoints
|
|
||||||
#endif
|
#endif
|
||||||
|
integer*8 :: file_id, status, npoints, i
|
||||||
real*8, allocatable :: x(:),y(:),z(:),px(:),py(:),pz(:)
|
real*8, allocatable :: x(:),y(:),z(:),px(:),py(:),pz(:)
|
||||||
integer*8, allocatable :: id(:)
|
integer*8, allocatable :: id(:)
|
||||||
|
|
||||||
@@ -18,10 +18,10 @@ program H5PartTest
|
|||||||
comm = MPI_COMM_WORLD
|
comm = MPI_COMM_WORLD
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
! this enables level 3 ("info") messages to be
|
! this enables level 4 ("debug") messages to be
|
||||||
! printed by the H5Part library
|
! printed by the H5Part library
|
||||||
! (3_8 is the literal for an integer*8 with value 3)
|
! (4_8 is the literal for an integer*8 with value 4)
|
||||||
status = h5pt_set_verbosity_level (3_8)
|
status = h5pt_set_verbosity_level (4_8)
|
||||||
|
|
||||||
! open the a file called 'test.h5' in parallel for writing
|
! open the a file called 'test.h5' in parallel for writing
|
||||||
#ifdef PARALLEL_IO
|
#ifdef PARALLEL_IO
|
||||||
|
|||||||
+14
-8
@@ -2,10 +2,7 @@
|
|||||||
|
|
||||||
OBJEXT=o
|
OBJEXT=o
|
||||||
|
|
||||||
HDFLIB = -L@HDF5ROOT@/lib -lhdf5 -lz @SZLIB@
|
INCLUDES = -I../src @INCLUDES@
|
||||||
LIBS = -L@H5P_LIB_LOC@ @H5P_LIB_NAME@ $(HDFLIB) -lm @STDCXX@
|
|
||||||
|
|
||||||
INCLUDES = -I@H5P_LIB_LOC@ -I@HDF5ROOT@/include @MPIINC@
|
|
||||||
|
|
||||||
# What to build... make install will place these files in the $(prefix)/bin directory.
|
# What to build... make install will place these files in the $(prefix)/bin directory.
|
||||||
bin_PROGRAMS = @BUILD_TOOLS@
|
bin_PROGRAMS = @BUILD_TOOLS@
|
||||||
@@ -19,8 +16,17 @@ EXTRA_PROGRAMS = h5pAttrib \
|
|||||||
|
|
||||||
# Listing of sources
|
# Listing of sources
|
||||||
h5pAttrib_SOURCES = h5pAttrib.cc
|
h5pAttrib_SOURCES = h5pAttrib.cc
|
||||||
h5pToGNUplot_SOURCES = h5pToGNUplot.cc
|
h5pAttrib_LDADD = ../src/libH5Part.la
|
||||||
homdynToH5p_SOURCES = homdynToH5p.cc
|
|
||||||
H5PartBench_SOURCES = H5PartBench.c
|
h5pToGNUplot_SOURCES = h5pToGNUplot.cc
|
||||||
H5BlockBench_SOURCES = H5BlockBench.c
|
h5pToGNUplot_LDADD = ../src/libH5Part.la
|
||||||
|
|
||||||
|
homdynToH5p_SOURCES = homdynToH5p.cc
|
||||||
|
homdynToH5p_LDADD = ../src/libH5Part.la
|
||||||
|
|
||||||
|
H5PartBench_SOURCES = H5PartBench.c
|
||||||
|
H5PartBench_LDADD = ../src/libH5Part.la
|
||||||
|
|
||||||
|
H5BlockBench_SOURCES = H5BlockBench.c
|
||||||
|
H5BlockBench_LDADD = ../src/libH5Part.la
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user