Commit Graph

27 Commits

Author SHA1 Message Date
Raymond Lu
bd4312d049 [svn-r11311] Purpose: New features.
Description:  Added 2 new configure options, --enable-exception and --enable-accuracy.

--enable-exception lets the library check whether user's exception handling
functions are present during compiler data conversions and use them if they are.
When it's disabled, this step is skipped to improve conversion speed.  This
step isn't implemented yet for soft conversions because there would be little
gain in speed.

--enable-accuracy guarantees data accuracy during data conversions.  It means
the library will choose compiler conversions only if the accurate data is
secured.  Otherwise, the library will go for the library's own conversions.  If
this option is disabled, the library uses compiler conversions in favor of
their speed as long as they work even if data can be incorrect.


Platforms tested: h5committest and fuss.  Some systems may fail after this
checkin.
2005-08-29 10:21:58 -05:00
Albert Cheng
aa048ea6ff [svn-r10839] Purpose:
improvement.

Description:
hdf5_mpi_complex_derived_datatype_works is hardset to no but
newer IRIX64 systems have it working.  Changed the code to
detect the compiler version and set hdf5_mpi_complex_derived_datatype_works
to no for older compilers only.

Platforms tested:
modi4 for the no effect.

Misc. update:
2005-06-01 18:20:22 -05:00
MuQun Yang
baffe3d733 [svn-r10600]
Purpose:
Fix the daily test failure of collective irregular test in modi4.

Description:
The original test passed with new SGI compiler. Albert verified this from
the SGI machine at DOE. The compiler version number at modi4 is 7.3.1.3m, the compiler version number at DOE  is 7.4.2m. compiler at modi4 is old and SGI may fix some bugs during the updating of their compiler.


Solution:
At configuration file IRIX.6.x, set the macro MPI_COMPLEX_DERIVED_DATATYPE to no. In that way, HDF5 library won't call derived datatype routine in the test.

Platforms tested:
modi4

Misc. update:
2005-04-13 17:29:17 -05:00
James Laird
25df1908bc [svn-r10158] Purpose:
Automake version upgrade

Description:
Upgraded automake version from 1.6.2 to 1.9.5.
Changed bin/reconfigure script to use automake 1.9.5.
Changed configure.in and Makefiles to use new FCFLAGS and FC variables
instead of FFLAGS and F9X.
Automake and configure should now do the lion's share of the work
supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will
be cleaned later).
Altered how configure handles pmake; now root-level Makefile.in is
processed by bin/reconfigure to have a .MAKEFLAGS target, since
automake no longer allows us to define unused variables.
Configure now always checks for C++ compiler even if it is not
used, since automake thinks this is the Right Thing To Do and
will break otherwise.

Platforms tested:
Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
2005-03-07 12:57:27 -05:00
James Laird
081ac87fed [svn-r10064] Purpose:
Bug fix

Description:
This checkin addresses two bugs.
Firstly, I used the wrong semantics when detecting if $MAKE is defined to
the empty string or undefined.
Secondly, pmake on IRIX does not work well with automake's dependency tracking
if the build is not an in-place build.

Solution:
Fixed semantics in configure.in.
Disabled automatic dependency tracking automatically on IRIX.  This is not
the optimal fix, but it should work fine as long as no one is doing HDF5
development on IRIX, and it is much easier than trying to detect the exact
situations in which dependency tracking fails (or than trying to fix dependency
tracking!).

Platforms tested:
heping, modi4 (pmake and gmake)
2005-02-22 12:42:48 -05:00
Quincey Koziol
c04b612eb4 [svn-r9801] Purpose:
Bug fix

Description:
    Belatedly chase change of hobj_ref_t in C APIs.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/backward compatibility turned on
    IRIX64 6.5 (modi4) w/FORTRAN
    h5committest
2005-01-10 17:56:20 -05:00
Raymond Lu
7faa297ea6 [svn-r9783] Purpose: Bug fix
Description: For HP-UX 11.00, the compiler generates 'floating exception'
when converting 'long double' to most of integer types.

Solution: Define a macro for all other systems except HP-UX 11.00.  Hard set
this macro to 'no' in config/hpux11.00 to skip this test for HP-UX 11.00.

Platforms tested:  modi4, kelgia, fuss
2005-01-08 15:56:12 -05:00
Raymond Lu
82f6a72ec9 [svn-r9755] Purpose: New feature
Description:  Start to support software conversion between long double and
all integers.

Solution:  No major changes to the algorithm.  Changes to configure is to
exclude SGI for long double to integers test because there're too many problems
in their compiler.

Platforms tested:  h5committest, modi4, fuss, Teragrid, arabica

Misc. update:  RELEASE.txt
2005-01-06 13:17:59 -05:00
Albert Cheng
2d2522f666 [svn-r9662] Purpose:
Bug fix.

Description:
MIPSpro Compiler 7.4.x starts to support C99 features
but stdint.h has a "guard" in it that will #error if
cc is invoked without asking for C99 standard.  But it
does not result with a non-zero compiler exit code, thus
configure thought it is okay to use header file stdint.h.
This causes problems later.

Solution:
Default to use the C99 compiler if available.

Platforms tested:
Tested in Sandia tesla machine which is a new SGI machine.
2004-12-13 17:29:45 -05:00
Quincey Koziol
6fc0bffac6 [svn-r8732] Purpose:
Code cleanup

Description:
    Reduce compiler warnings on SGI IRIX

Platforms tested:
    FreeBSD 4.10 (sleipnir)
    SGI IRIX6 (Cheryl's machine)
    Too minor to require full h5committest
2004-06-23 12:56:57 -05:00
Quincey Koziol
12ba2eed6a [svn-r8425] Purpose:
Bug fix (sorta)

Description:
    The SGI machines have problems accurately (and consistently) converting
unsigned long values to float and double values, so put in a bit of a hack in
the datatype conversion test code to allow them to get "close enough".  This
hack is enabled at configure time by a flag which should only be set on machines
with this problem.

Platforms tested:
    FreeBSD 4.9 (sleipnir)
    h5committest
2004-04-28 12:02:12 -05:00
Bill Wendling
b303888f43 [svn-r7854] Purpose:
Bug Fix

Description:
    The FFLAGS, CXXFLAGS, and CPPFLAGS variables weren't carrying
    user-defined values into the Makefiles.

Solution:
    Changed the flags from FOO="..." to FOO="$FOO ..."

Platforms tested:
    Copper
    Verbena
    Arabica

Misc. update:
2003-11-14 15:36:53 -05:00
Bill Wendling
0603e2db00 [svn-r7269] Purpose:
Update

Description:
    Revamped the configuration system. The configurations for the Fortran
    and C++ libraries are no longer separate from the "main"
    configuration system. This involved removing the "configure*" and
    "aclocal.m4" files from the fortran/ and c++/ subdirectories. Also
    merging settings in the config/ subdirectories into the main config/
    subdirectory.

    Fortran header files had to be modified a little for Linux. It was
    checking if it was a Linux machine by some #defines, however with the
    -std=c99 switch, these defines weren't there. I added a check for
    some other ones which should be there whether the -std=c99 switch is
    used or not.

Platforms tested:
    Verbena (Fortran & C++)
    Sol (Fortran & C++)
    Copper (Fortran & C++)
    Modi4 (Parallel, Fortran, & C++)

Misc. update:
2003-07-28 16:38:04 -05:00
Albert Cheng
e5865cbf35 [svn-r6904] Description:
Replaced the individual setting of gcc flags with the combined
gnu-flags file.

Platforms tested:
Tested in modi4 with different combinations of gcc.  No needed to
run three platforms tests since this is for irix machines only.

Misc. update:
2003-05-20 00:17:09 -05:00
Quincey Koziol
aefc39ac32 [svn-r5667] Purpose:
Code cleanup

Description:
    Turn on more warnings in the IRIX builds and clean them up.

Platforms tested:
    IRIX64 6.5 (modi4) w/parallel
2002-06-19 07:54:53 -05:00
Albert Cheng
27f237f4c0 [svn-r5072] Purpose:
Bug fix
Description:
    Old config assume compiler is the SGI compiler if it is not gcc.
    It would apply all SGI cc options to the $CFLAGS.  This would cause
    problem if a non-cc non-gcc compiler is used.
Solution:
    Verify the compiler is indeed the SGI compiler before applying all those
    cc specific options to the $CFLAGS.
Platforms tested:
    modi4, both parallel serial, gcc or cc, -64 or n32.
2002-03-19 23:45:55 -05:00
Quincey Koziol
ef4c6e6bc8 [svn-r1834] Blocked remark # 3201 (parameter unused) since the SGI compiler doesn't
recognize our "UNUSED" macro and whines a lot about the unused parameters.
1999-11-17 16:58:25 -05:00
Albert Cheng
4c93f8deb4 [svn-r1763] Shared mode works fine now with IRIX64. Removed the special disable-shared. 1999-10-15 16:16:02 -05:00
Albert Cheng
aeb5116600 [svn-r1645] conclude.in:
Problems:
    libtool generated compiler linking commands with dependency_libs
    appended to any dynamic library used but only "-lz -lmfhdf ..." were
    appended but "-L...", if used, are not appended.  So, the "-lz ..."
    information is incomplete and solaris cc does not allow even if the
    "-L..." information is provide in later part of the command.
    Solution:
    Included $LDFLAGS in the building of $(LIB).

irix5.x:
irix6.x:
    Added "-s" to PROD_CFLAGS so that production code are striped for
    smaller sizes.

Platform Tested:
    Solaris 2.6
1999-09-22 13:02:27 -05:00
Robb Matzke
cbf68fc824 [svn-r1568] Changes since 19990730
----------------------

This extensive change is the virtual file layer implementation. I've
ported and tested the sec2, family, and core drivers and only ported
the mpio driver (Albert will test it).  So if you need MPIO I would
recommend sticking with the previous version for a while.

You will get a few compile warnings about split and stdio drivers not
being implemented and possibly tracing information not inserted in
some of the drivers. You can safely ignore them but I plan to fix
them.

I'm still working on the split driver because I just realized that it
needs a part of the VFL that isn't written yet.

Documentation is being updated also because there were some minor
changes (mostly just name changes). It should be available on my web
site later this week.

./MANIFEST
./src/Makefile.in
./src/hdf5.h
./src/H5Flow.c			[REMOVED]
./src/H5Fstdio.c		[REMOVED]
./src/H5Fsec2.c			[REMOVED]
./src/H5Fsplit.c		[REMOVED]
./src/H5Fmpio.c			[REMOVED]
./src/H5Ffamily.c		[REMOVED]
./src/H5Fcore.c			[REMOVED]
./src/H5MFpublic.h		[REMOVED]
./src/H5FD.c			[NEW]
./src/H5FDcore.c		[NEW]
./src/H5FDcore.h		[NEW]
./src/H5FDfamily.c		[NEW]
./src/H5FDfamily.h		[NEW]
./src/H5FDmpio.c		[NEW]
./src/H5FDmpio.h		[NEW]
./src/H5FDprivate.h		[NEW]
./src/H5FDpublic.h		[NEW]
./src/H5FDsec2.c		[NEW]
./src/H5FDsec2.h		[NEW]
	Removed/added files for virtual file layer.

./bin/trace
./src/H5.c
	Removed unused public datatypes and added new VFL public
	datatypes.

	Changed an error message.

./config/BlankForm
./config/dec-flags
./config/gnu-flags
./config/hpux10.20
./config/hpux9.03
./config/irix5.x
./config/irix6.x
./config/solaris2.x
./config/unicosmk
	Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the
	configuration since they're no longer applicable. The default
	file driver is always the sec2 driver and it always optimizes
	calls to lseek() or lseek64().

./config/depend.in
	C preprocessor errors generated during automatic dependency
	building are sent to /dev/null to prevent them from appearing
	twice in the make output.

./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Oshared.c
./src/H5T.c
./src/H5detect.c
./test/ohdr.c
	Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent
	with the `haddr_t' datatype which is now a public type.

./src/H5D.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5Tconv.c
./test/cmpd_dset.c
./test/dsets.c
./test/overhead.c
./test/tselect.c
./test/tvltypes.c
	The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER
	because the properties apply to all types of I/O operations,
	not just datasets.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./test/big.c
./test/h5test.c
./test/istore.c
./testpar/t_dset.c
./testpar/t_file.c
./tools/h5debug.c
./tools/h5ls.c
	Modified to work with the virtual file layer by calling H5FD_*
	functions instead of H5F_low_* functions and by passing file
	access and data transfer properties by object ID instead of
	pointer.

	Changed H5D_transfer_t to H5FD_mpio_xfer_t since the
	COLLECTIVE vs. INDEPENDENT transfer mode is specific to the
	MPIO file driver.

	Moved MPIO-specific stuff into the MPIO driver.

./src/H5B.c
./src/H5D.c
./src/H5Fprivate.h
	The H5F_mpio_* private functions were renamed and placed in
	the H5FDmpio driver except those which appeared in H5Smpio.c.

./src/H5E.c
./src/H5Epublic.h
	Added major error number H5E_VFL for virtual file layer
	related errors.

./src/H5F.c
./src/H5Fprivate.h
	Changed the logic that controls whether the boot block is
	written. Instead of assuming that the first call to write the
	boot block is only to allocate space, I've added a function
	argument which makes this explicit.

	Changed the way files are compared so that a driver-defined
	comparison function can be called.  Files which belong to
	different drivers are always considered different.

	Removed H5F_driver_t since file drivers are now identified by
	object ID instead of a special non-user-extendible datatype.

	Removed all the hard-coded low-level file properties which
	have been replaced by the various file drivers.

./src/H5I.c
./src/H5Iprivate.h
	Added the H5I_inc_ref() which was removed a few months ago
	since we finally have a use for it.

./src/H5Ipublic.h
	Added the H5I_VFL object ID type to identify file drivers in
	the virtual file layer.

./src/H5MF.c
./src/H5MFprivate.h
	Moved all the allocation/deallocation code into the virtual
	file layer which allows file drivers to override much of it.

./src/H5P.c
./src/H5Ppublic.h
	Moved file driver-specific code into the various file driver
	files.

	The H5Pcopy() and H5Pclose() functions make calls into the
	virtual file driver to manage the memory for driver-specific
	file access and data transfer properties.

./src/H5private.h
./src/H5public.h
	The `haddr_t' type is now public.

./test/tfile.c
	Added a few more comments.
1999-08-10 15:21:32 -05:00
Albert Cheng
aa8fd173a8 [svn-r1372] Set enable-shared to no by default for TFLOPS and IRIX64 systems.
Shared lib and libtool are not working for them yet.
Users can still force enable-shared on by "configure -enable-shared ..."
1999-06-23 18:24:17 -05:00
Albert Cheng
362894fbb1 [svn-r1127] Removed -64 from default setting. Irix workstations running 32 bit
OS cannot handle the 64 bit instruction sets.  Let the local system
default takes care of preferred machine code.

Tested on both IRIX and IRIX64 platforms.
1999-03-09 17:52:57 -05:00
Robb Matzke
116491f0d6 [svn-r1112] Changes since 19990301
----------------------

./INSTALL
	Reorganized and added some additional examples.

./MANIFEST
./aclocal.m4			[NEW]
./configure.in
./configure			[REGENERATED]
./src/H5config.h.in		[REGENERATED]
./bin/ltconfig			[NEW]
./bin/ltmain.sh			[NEW]
	Added tests to determine how to compile shared libraries and
	how to link programs with them before the libraries are
	installed.  Also how to install and uninstall shared
	libraries. The configure step also prints the names of the
	config files it's trying to load for easier debugging.

./bin/config.guess
./bin/config.sub
	Replaced with a newer version from GNU.  The changes we made
	to that file to report `irix6.x' and `FreeBSD' without version
	numbers have been incorporated into configure.in instead.  In
	the future, do not change these two files (see the top of
	configure.in instead). By the way, this update was required to
	get shared libraries working.

./config/linux			[REMOVED]
./config/linux-gnulibc1		[NEW]
./config/linux-gnu		[NEW]
./config/alpha-dec		[REMOVED]
./config/alpha-dec-osf4.0	[REMOVED]
./config/dec-osf4.x		[NEW]
./config/irix5.3		[REMOVED]
./config/irix5.x		[NEW]
./config/irix64			[REMOVED]
./config/freebsd
	Moved config files around to agree with output from the new
	config.guess.  The linux file was split into gnu (RedHat),
	gnulibc1, and gnulibc2 versions. The alpha-dec file was
	removed (I think it was unused) and the alpha-dec-osf4.0 was
	changed to dec-osf4.x. The irix5.3 file renamed to irix5.x and
	the irix64 file was renamed to irix6.x. The freebsd file was
	changed to point to linux-gnulibc1. These changes were tested
	on:

		Linux 2.0
		Linux 2.1
		FreeBSD 3.2
		Irix 5.3
		Irix64 6.2
		Irix64 6.4
		HP/UX 10.20
		OSF1 4.0

./config/alphaev56-dec-osf4.x
./config/irix64
	Added warnings similar to linux/freebsd about using compilers
	with known bugs.

./config/commence.in
./config/conclude.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
	Added definitions for shared libraries. This has been tested
	on the following systems:

		Linux 2.0
		Linux 2.1
		FreeBSD 3.2
		Irix 5.3
		Irix64 6.2
		Irix64 6.4
		HP/UX 10.20		static only
		OSF1 4.0

	If you want to disable use of shared libraries (you probably
	do for development purposes since it takes a lot longer to
	compile and because you have to run dynamically linked
	programs in a special way if the library hasn't been
	installed) then add `--disable-shared' to the configure
	command line.  This is all documented in the INSTALL file.

./bin/release
	Temprarily commented out the MANIFEST checking when running
	under svf since svf is about to be replaced by a newer
	version.  This change only affects error checking during the
	release process.

./Makefile.dist
./Makefile.in
	Added `make check' which does the same thing as `make _test'
	since the former is endorsed by the GNU coding style and
	people are used to it.  The old `make _test' still works too
	(and so does `make test' if you use GNU make).
1999-03-02 12:15:35 -05:00
Robb Matzke
b3ddd2cc54 [svn-r1110] Changes since 19990226
----------------------

./INSTALL
	Added instructions for using other compilers on Irix platforms.

./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./src/H5private.h
	The presence of <sys/sysinfo.h> and <sys/proc.h> is only
	checked on DEC/Alpha because there are too many problems
	including these headers on other systems.

./config/irix6.x
./config/irix64
	Removed `-ansi' and added a comment. Converting an ASCII UTC date
	and time to a time_t value is not defined by ANSI or Posix but
	is available if we don't use `-ansi'.  This allows the dataset
	modification time messages to be read properly by
	H5Gget_objinfo().

./src/H5Tconv.c
	Fixed a compiler warning.

./test/dtypes.c
./test/hyperslab.c
./test/istore.c
	Fixed compiler warnings in printf() statements.
1999-03-01 14:44:32 -05:00
Robb Matzke
912c5a0874 [svn-r1108] Changes since 19990225
----------------------

./INSTALL
	Added warnings and a disclaimer about GNU, DEC, Irix64, and NT
	compilers that generate incorrect machine code.

./configure.in
./src/H5private.h
	Detects and includes <sys/param.h> which is needed on FreeBSD
	before <sys/proc.h> even though we only really using anything
	from <sys/proc.h> on the DEC Alpha.

./config/irix64
	Turned off warnings for duplicate definitions from the linker
	because -lnsl on irix has the same stuff in it as -lc.

./config/irix6.x
	Split up the CC and CFLAGS settings like with irix64 so that
	compilers besides `-n32' can be used.

./bin/snapshot
	The snapshots are tagged with names like hdf5-1_1_52 which is
	similar to the way the releases are tagged (cvs doesn't allow
	dots in tags).

./test/dtypes.c
./src/H5private.h
./src/H5Tconv.c
	Fixed some alignment violations on the DEC when using high
	optimization levels. The DEC incorrectly optimizes certain
	memcpy() and memmove() calls when the source argument is not
	word aligned if the call looks like it's copying an atomic
	data type.

./test/hyperslab
	Worked around code generation bugs in the Irix64 Mongoose 7.00
	compiler by casting some `unsigned long' values to `unsigned'
	in an expression.

./src/H5Ocomp.c
	Fixed a place where %d was used to print a size_t.
1999-02-26 14:58:14 -05:00
Paul Harten
9da0d56695 [svn-r1083] Purpose:
Bug fix

Problem:
    Currently, when --enable_preduction --disable-debug modes are
    selected during configure, the optimization level scheduled is
    -O (-O2).  Unfortunately, this level of optimization relaxes
    too much the alignments necesary for the building, and testing
    of the hdf5 library.

Solution:
    Lower the level of optimiztion to -O1.  This still maintains
    required alignments.

Platform tested:
    Irix6.5(fuga)
1999-02-19 13:03:05 -05:00
Albert Cheng
ee2b36ad7b [svn-r1037] All IRIX (old 32bit OS) version 6.x can use the same configuration.
Replaced irix6.2 by irix6.x.
1999-01-28 19:16:36 -05:00