From d09ca66a26e1c7cd57d40fa3fc34f2b7b4c40986 Mon Sep 17 00:00:00 2001 From: Pedro Vicente Nunes Date: Wed, 21 Sep 2005 08:41:09 -0500 Subject: [svn-r11448] Purpose: new features Description: add support for compiling the library and testphdf5 in Windows Solution: Platforms tested: Linux AIX Solaris Windows VC6 Misc. update: --- src/H5FDmpiposix.c | 8 ++++++-- test/h5test.h | 7 ++++++- testpar/t_mdset.c | 6 +++--- testpar/testphdf5.c | 10 ++++++++-- windows/src/H5pubconf.h | 3 +++ 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/src/H5FDmpiposix.c b/src/H5FDmpiposix.c index bce6abb..0a7a20e 100644 --- a/src/H5FDmpiposix.c +++ b/src/H5FDmpiposix.c @@ -130,7 +130,6 @@ typedef struct H5FD_mpiposix_t { * either lseek() or lseek64(). */ /* adding for windows NT file system support. */ -/* pvn: added __MWERKS__ support. */ #ifdef H5_HAVE_LSEEK64 # define file_offset_t off64_t @@ -751,7 +750,12 @@ H5FD_mpiposix_open(const char *name, unsigned flags, hid_t fapl_id, /* Set the general file information */ file->fd = fd; file->eof = sb.st_size; + + /* for WIN32 support. WIN32 'stat' does not have st_blksize and st_blksize + is only used for the H5_HAVE_GPFS case */ +#ifdef H5_HAVE_GPFS file->blksize = sb.st_blksize; +#endif /* Set this field in the H5FD_mpiposix_t struct for later use */ file->use_gpfs = fa->use_gpfs; @@ -1372,7 +1376,7 @@ H5FD_mpiposix_flush(H5FD_t *_file, hid_t UNUSED dxpl_id, unsigned UNUSED closing if(file->mpi_rank == H5_PAR_META_WRITE) { #ifdef WIN32 /* Map the posix file handle to a Windows file handle */ - filehandle = _get_osfhandle(fd); + filehandle = _get_osfhandle(file->fd); /* Translate 64-bit integers into form Windows wants */ /* [This algorithm is from the Windows documentation for SetFilePointer()] */ diff --git a/test/h5test.h b/test/h5test.h index be5e769..235360a 100644 --- a/test/h5test.h +++ b/test/h5test.h @@ -77,7 +77,7 @@ * This contains the filename prefix specificied as command line option for * the parallel test files. */ -extern char *paraprefix; +H5_DLLVAR char *paraprefix; #ifdef H5_HAVE_PARALLEL extern MPI_Info h5_io_info_g; /* MPI INFO object for IO */ #endif @@ -111,8 +111,13 @@ extern MPI_Info h5_io_info_g; /* MPI INFO object for IO */ * Alarm definitions to wait up (terminate) a test that runs too long. */ #define alarm_seconds 1200 /* default is 20 minutes */ +#ifndef WIN32 #define ALARM_ON HDalarm(alarm_seconds) #define ALARM_OFF HDalarm(0) +#else +#define ALARM_ON +#define ALARM_OFF +#endif /* set alarms to N seconds if N > 0, else use default alarm_seconds. */ #define ALARM_SET(N) HDalarm((N)>0 ? N : alarm_seconds) diff --git a/testpar/t_mdset.c b/testpar/t_mdset.c index df2a9a6..7818539 100644 --- a/testpar/t_mdset.c +++ b/testpar/t_mdset.c @@ -438,7 +438,7 @@ void big_dataset(void) /* Check that file of the correct size was created */ file_size=h5_mpi_get_file_size(filename, MPI_COMM_WORLD, MPI_INFO_NULL); - VRFY((file_size == 2147485696ULL), "File is correct size"); + VRFY((file_size == 2147485696 /*ULL*/), "File is correct size"); /* * Create >4GB HDF5 file @@ -467,7 +467,7 @@ void big_dataset(void) /* Check that file of the correct size was created */ file_size=h5_mpi_get_file_size(filename, MPI_COMM_WORLD, MPI_INFO_NULL); - VRFY((file_size == 4294969344ULL), "File is correct size"); + VRFY((file_size == 4294969344 /*ULL*/), "File is correct size"); /* * Create >8GB HDF5 file @@ -496,7 +496,7 @@ void big_dataset(void) /* Check that file of the correct size was created */ file_size=h5_mpi_get_file_size(filename, MPI_COMM_WORLD, MPI_INFO_NULL); - VRFY((file_size == 8589936640ULL), "File is correct size"); + VRFY((file_size == 8589936640 /*ULL*/), "File is correct size"); /* Close fapl */ ret=H5Pclose (fapl); diff --git a/testpar/testphdf5.c b/testpar/testphdf5.c index 811981e..0d7b38f 100644 --- a/testpar/testphdf5.c +++ b/testpar/testphdf5.c @@ -410,8 +410,14 @@ int main(int argc, char **argv) "collective group and dataset write", &collngroups_params); AddTest("ingrpr", independent_group_read, NULL, "independent group and dataset read", &collngroups_params); - AddTest("bigdset", big_dataset, NULL, - "big dataset test", PARATESTFILE); + /* By default, do not run big dataset on WIN32. */ +#ifdef WIN32 + AddTest("-bigdset", big_dataset, NULL, + "big dataset test", PARATESTFILE); +#else + AddTest("bigdset", big_dataset, NULL, + "big dataset test", PARATESTFILE); +#endif AddTest("fill", dataset_fillvalue, NULL, "dataset fill value", PARATESTFILE); diff --git a/windows/src/H5pubconf.h b/windows/src/H5pubconf.h index 02af03f..546d6b4 100755 --- a/windows/src/H5pubconf.h +++ b/windows/src/H5pubconf.h @@ -138,3 +138,6 @@ in the file file_io.win32.c and including it on the projects /* Check exception handling functions during data conversions */ #define H5_WANT_DCONV_EXCEPTION 1 + +/* uncomment the following line if we want parallel HDF5 support */ +/* #define H5_HAVE_PARALLEL */ \ No newline at end of file -- cgit v0.12