Commit Graph

40 Commits

Author SHA1 Message Date
Mohamad Chaarawi
c4044e0c85 [svn-r26303] remove files with .clog2 extension generated by MPE when doing make clean. 2015-02-25 13:48:31 -05:00
Allen Byrne
1f8fb63581 [svn-r22709] HDFFV-8129: reconfigured on jam, Remove overloading of autotools TESTS var, rename configure.in to configure.ac, convert test scripts from hard *.sh to configure managed *sh.in files.
Tested: h5committest
2012-08-23 11:07:43 -05:00
Mike McGreevy
98362b664c [svn-r20504] Purpose:
General shared library improvements for CYGWIN / AIX

Description:

    Shared libraries are disabled on both CYGWIN and AIX due
    to inability to build them correctly. Part of the problem
    in both of these situations is the lack of the libtool
    flag -no-undefined, which tells libtool that all needed
    symbols are defined at link time (a requirement on these
    systems) and that it's okay to build shared libraries.

    Another problem are lack of dependencies between wrapper
    libraries and core C HDF5 library.

    This patch addresses both of these by fixing configure to
    add in -no-undefined flag for libtool during linking and
    adds automake dependencies in the Makefile.am files.

    After testing, both CYGWIN and AIX now generate shared
    libraries, but there are still some test failures in each.
    (cache_api, dt_arith, and testerror.sh on CYGWIN, and
    fortran tests on AIX).

    Even though the shared libraries are not quite perfect,
    this is a general improvement to what we had before, so
    I'm applying the patch anyways. Note that default behavior
    of shared libraries on these systems being disabled has
    NOT been changed and requires the use of the
    --enable-unsupported to attempt to build them.

    We will need to address the test failures in each
    architecture prior to formally supporting shared
    libraries on each.

Tested:

    h5committested & CYGWIN tested (on bangan)
    (AIX tested by Albert on bp-login2)
2011-04-14 16:21:59 -05:00
Larry Knox
155b00d8ff [svn-r19506] Bring changes from revisions 19408, 19421, and 19442 from branches/hdf5_1_8 to trunk. These revisions reorganize the compile scripts using h5cc.in, h5fc.in, and h5c++.in, add checks for installed examples to the scripts that run them after installation, and add DESTDIR for install as needed for RPMs.
Tested on amani, heiwa and jam by h5committest and with CYGWIN.
2010-10-04 12:15:30 -05:00
Larry Knox
47c792faa0 [svn-r19366] Updated autoconf to version 2.6.7, libtool to version 2.2.10, and m4 to version 1.4.14. Also added m4 directory for m4 macros according to autoconf suggestion.
Tested with h5committest on amani, jam, and heiwa, and on linew.
2010-09-10 10:45:07 -05:00
Albert Cheng
22da4232a4 [svn-r18107] bug 1673:
The mixed use of RUNTEST (original) and RUNTESTS (new) caused
confusion. E.g., the timings in test/ was still using the old
$RUNTEST.  It made more sense to use $RUNTEST which is used
by the dejagnu feature of automake.  So, I changed all
$RUNTEST or $RUNTESTS to $RUNEXEC.

config/commence.am & config/conclude.am are the two files
that got changes. Also fixed an error in test/Makefile.am.
The rest are changed by bin/reconfigure.

Tested: h5committested.
2010-01-12 18:58:30 -05:00
Mike McGreevy
7ec079a515 [svn-r17616] Purpose:
CFLAGS overhaul

Description:

    Modified the way configure handles CFLAGS.

    (note: all changes also apply to FCFLAGS, CXXFLAGS, CPPFLAGS, and LDFLAGS).

    1. The configure process will now always preserve a user's CFLAGS
    environment variable setup. Any additional flags necessary for compilation
    added at configure time will be passed into the Makefiles as AM_CFLAGS,
    which is an automake construct to be used in addition to CFLAGS.

    This will allow a user to have the final say, as CFLAGS will always appear
    later in the compile line than AM_CFLAGS. Additionally, setting CFLAGS
    during make will no longer completely erase all flags set by configure,
    since they're maintained in AM_CFLAGS.

    2. Additionally, where possible, flags previously being assigned directly
    into CFLAGS (and thus propagating into h5cc) have now been redirected into
    H5_CFLAGS, so they're used ONLY for compiling hdf5, and not embedded into
    the h5cc wrapper script as well.

    *Note that H5_CFLAGS ultimately is assigned into AM_CFLAGS for use in the
    Makefiles. Complete description of changes and build process will be
    included in a Configure Document that Elena and I are working on.

    3. Removed unsupported config files. This includes:

       config/dec-osf*
       config/hpux11.00
       config/irix5.x
       config/powerpc-ibm-aix4.x
       config/rs6000-ibm-aix5.x
       config/unicos*

     4. Modified configure summary to display additional values. Specifically,
     appropriate AM_* variables are being shown, as well as H5_FCFLAGS and
     H5_CXXFLAGS, which were for some reason not already present.

Tested:

    - H5committest
    - Tested on all THG / NCSA machines, using several combinations of the more
      prominent configure options (c++, fortran, szip, threadsafe, parallel,
      et cetera). (Thanks to Quincey for rysnc testing setup!)
    - With regards to new automated testing, anything *necessary* for
      compilation will be caught by the daily tests as it stands now. (i.e.,
      if LDFLAGS is not properly set when szip is used, linking will fail).
      Additionally, with regards to which flags get into h5cc, if any
      *necessary* flags have been improperly removed, then daily tests should
      fail during make installcheck. Additional machine-specific desired
      behaviors and/or checks may have to be set up separately within the
      daily tests, so this is something to work on.
2009-10-08 10:17:30 -05:00
Mike McGreevy
893b8bffee [svn-r16561] Purpose:
Bug Fix

Description:

    Fixing BZ #1381. The --includedir=DIR configure option, which is used
    to specify the installation location of C header files, did not work
    correctly as the path was hard-coded in config/commence.am. I'm presuming
    this is because an older version of automake didn't know where to put
    c header files. In any case, removing this line now defaults the includedir
    to the same directory that it is currently hard-coded to, and also fixes
    the configure flag to allow customization of this value.

Tested:

    jam, liberty
2009-03-10 16:01:50 -05:00
Mike McGreevy
a664274624 [svn-r15942] Purpose: Bug Fixes and Libtool Upgrade
Description:
     - Remove need to set LD_LIBRARY_PATH when using shared szip library.

     - Libtool 2.2.6a is now used to generate libraries.

     - 'make check install' dependency bug is fixed, and should no longer
       break the build. 
  
     - removed hard coding of shell in config/commence.am, as this causes
       problems on Solaris with the new version of libtool.
   
     - RELEASE.txt with appropriate changes.

Tested:
     - kagiso, smirom, linew (merged from 1.8, pretty quick tests)
2008-10-24 12:19:34 -05:00
James Laird
b94776f418 [svn-r13418] Cleaned up some old paths in config/commence.am and removed some comments in the
template file config/Makefile.am.blank.

This is just a cleanup checkin.  Tested on kagiso.
2007-02-27 12:26:25 -05:00
James Laird
0d86163705 [svn-r13379] Added 'make help' target. This actually runs a script, bin/makehelp (formatting
the output in the makefile was pretty hard).

Tested that make still works on kagiso; no code changes at all.
2007-02-23 14:14:11 -05:00
Albert Cheng
1b98fd4dbe [svn-r13365] Bug fix.
Description: Multiple copies of Copyright appeared in Makefile.in.  This was
due to automake copying the copyright right in the included files such as
config/commence.am.

Solution: Automake treats double hashes as comments and does not copy them
to Makefile.in.  Changed all the copyright notices in config/*.am to use
double hashes for the Copyright right notice.

Tested: kagiso via bin/reconfigure.
2007-02-21 10:43:35 -05:00
James Laird
c64266b78e [svn-r13359] Fixed a bug where the -shlib flag for h5cc would end up on the Dependency line
in the Makefile.

Makefile change only.  Tested on kagiso, to be used to test on cobalt.
2007-02-20 18:39:44 -05:00
Albert Cheng
914fbdcc67 [svn-r13312] Updated copyright notice. 2007-02-14 17:29:52 -05:00
James Laird
59eccdaf69 [svn-r13181] Added a configure check to prevent a failure on Cygwin.
It seems that while Cygwin supports the time command, it has trouble with
the syntax
srcdir="../../hdf5/test" time ./testhdf5
and complains.
The solution is to test the above case in configure and not to use the time
command if it fails; Cygwin is fine with
srcdir="../../hdf5/test"  ./testhdf5

Tested on Cygwin and kagiso.  This feature shouldn't be a major compatibility
problem since every platform but Cygwin is already fine with the current
syntax.
2007-01-23 12:29:45 -05:00
James Laird
64b5d95251 [svn-r12431] Purpose:
Configuration feature

Description:
'make install' now tests both static and shared libraries if both are installed.

Solution:
Previously, shared libraries were only tested when static libraries were not installed.
Also cleaned up line in commence.am that was including HL library in all Makefiles.

Platforms tested:
mir (Makefile change only)
2006-06-21 18:15:08 -05:00
James Laird
91e56dc68d [svn-r12295] Purpose:
Several bug fixes

Description:
Added config file for Cray X1 (previous file was misnamed)
Simplified some code in hyperslab.c test that seemed to have been
confusing compiler on Cray X1.
Fixed typo in config/commence.am
Cleaned up hl/src/Makefile.am

Solution:
All four fixes should be straightforward.  The failure on Cray was
very difficult to debug, but involved arithmetic errors.
This change seems to fix it.

Platforms tested:
heping, copper, sol, some Cray X1 (more testing when system comes back up)
2006-04-21 14:21:24 -05:00
Pedro Vicente Nunes
bc66efc788 [svn-r12229] Purpose:
new feature

Description:
1) separated the HL library into "public" and "private" header files, with the same caracteristics as the basic library
2) added the public headers to hdf5.h (with a conditional include macro, defined in configure.in)
3) added the path to HL in all Makefile.am 's , because of the inclusion in hdf5.h

Solution:

Platforms tested:
linux 32, 64
AIX
solaris
with fortran and c++

(one packet table example fails)

Misc. update:
2006-04-12 16:21:38 -05:00
James Laird
93aa12407f [svn-r12149] Purpose:
Bug fix

Description:
Previous checkin did a bad thing; 'make clean' failed in example directories.

Solution:
Fixed commence.am so that examples no longer break, and fixed a mistake
in conclude.am.

Platforms tested:
heping (minor makefile change)

Misc. update:
2006-03-23 16:26:17 -05:00
James Laird
4f8ca8e026 [svn-r11738] Purpose:
Configure feature

Description:
Added 'make trace' target.

Solution:
Added tracing to 1.7.  This was done automatically in 1.6, but left out
of 1.7 until now (oops!).
Tracing in 1.7 only happens manually, when the user types 'make trace.'
Tracing automatically requires more framework than it's worth.
I also fixed a couple of tracing bugs and ran trace.

Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-11-18 10:55:22 -05:00
James Laird
75ea10e5f5 [svn-r11737] Purpose:
Bug fix

Description:
Before this checkin, 'gmake check-s' would fail if there was a file in
the current directory named 'check-s'.
This is fixed under gmake (not sure how to fix for other makes).

Solution:
check, progs, install, etc. are what gmake calls "phony" targets,
which means that no file should be created.  These targets can be
specified by a line of the form
.PHONY: check progs install ...
Automake adds this line for targets it knows about, but HDF5 has a
lot of custom rules.  This checkin adds a .PHONY line for those rules.
I believe that only gmake recognizes the .PHONY line (at least, pmake
doesn't seem to), but a partial solution is better than none.
This error should occur very rarely anyway (the user has to manually
create files with names like 'build-check-s' or '_test').

Platforms tested:
mir, sleipnir, modi4
2005-11-17 13:49:28 -05:00
James Laird
617522e467 [svn-r11646] Purpose:
Bug fix/feature

Description:
Added support for -shlib in h5fc and h5c++.
Made check-install use -shlib when only shared libraries have been installed.

Solution:
h5fc and h5c++ didn't recognize -shlib.  Stole code from h5cc to link against
shared libraries.
When static libraries are disabled, the examples Makefiles will automatically
use the -shlib option to link against shared libraries.  Thus,
--disable-static and make check-install should work together.

Platforms tested:
heping(disable-static, enable-static, fortran, c++), modi4 (disable-static, fortran, c++, parallel, enable-static)
2005-10-31 16:35:49 -05:00
Frank Baker
25733372e4 [svn-r11614]
Description:
    Correct typo in copyright notice.
Platforms tested:
    Ran hdf5/bin/chkcopyright without errors.
2005-10-28 15:28:20 -05:00
Frank Baker
155d762b9c [svn-r11592]
Description:
    Add source code copyright notice; comment symbols vary by type of file.
Platforms tested:
    No changes that should cause any problems.  Nonetheless, the tree will
    be checked out fresh and tests run immediately post-commit.
2005-10-21 09:54:41 -05:00
Albert Cheng
c0e83899c3 [svn-r11431] Purpose:
New feature.

Description:
Added the time command to the make check target to report time usage
of the execute of each test and test scripts.  This gives us some idea
how long each test takes and some vague idea it is compute bound or
not.

powerpc-ibm-aix5.x:
Change $RUNPARALLEL default setting to allow it being invoked by the
time command.

Platforms tested:
h5committested.
2005-09-17 22:04:28 -05:00
James Laird
ae2a313b5b [svn-r11421] Purpose:
Feature

Description:
Added H5_CFLAGS, etc. to 1.7 branch.
Now compilation flags can be put in H5_*FLAGS and they'll be used when
building hdf5 but not in h5cc.


Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-09-16 16:26:17 -05:00
Albert Cheng
6d3715e537 [svn-r11323] Purpose:
tidy up.

Description:
MPE option created *.clog file whenever it is executed in MPI.
The cleanup of *.clog files were done in individual Makefile.in.
Often, it is forgotten.

Solution:
Moved the cleaning of *.clog files to CHECK_CLEANFILES in commence.am
so that it is applied whenever check-clean is called.

Platforms tested:
heping pp using MPE.
2005-08-31 15:03:52 -05:00
Albert Cheng
538d37a1bc [svn-r11303] Purpose:
minor tidy up.

Description:
Changed both test programs and test scripts to use the same suffixes
(.chkexe and .chklog).  Changed from .log to .chklog to avoid running
into potential conflicts by other "things" (e.g., config.log).

Tested:
Heping.
2005-08-26 17:24:27 -05:00
James Laird
e75a185eca [svn-r11185] Purpose:
Makefile feature

Description:
'make check-clean' now cleans *.h5 files created by tests as well as
.log and .chkexe files.

Solution:
check-clean is now a separate target in its own right, which cleans less
than mostlyclean (check-clean < mostlyclean < clean < distclean).

Platforms tested:
mir, heping, modi4 (serial and parallel)
2005-08-02 12:59:03 -05:00
James Laird
c63ef2cba2 [svn-r11179] Purpose:
Feature: check-clean target

Description:
'make check-clean' cleans up output files from tests.

Solution:
Tests create foo.chkexe and foo.log files.  Scripts create foo.chksh and
foo.logsh files.  'make check-clean' will clean these files up so that
the tests can be re-run.
Also suppressed some not-very-useful output of Makefiles when it would
echo commands.

Platforms tested:
mir, sleipnir, modi4

Misc. update:
2005-08-01 17:22:55 -05:00
James Laird
7236935a9d [svn-r11095] Purpose:
Configuration feature

Description:
Serial test output is now stored in log files and printed when all tests
in a directory complete, or when a test fails.  This should make test output
more readable and useful.
Also made changes to clean up ii_files directories that are created by some
C++ compilers/linkers.
Also fixed a few minor Makefile bugs.

Solution:
When serial tests run, their output is saved in *.log or *.logsh.  While
running, tests only print when they begin and when they complete; their
more specific output (from the log file) is printed if the test fails or
when all tests have completed.
Comments welcome.

Platforms tested:
mir, modi4 (parallel and serial), copper, shanti
2005-07-21 14:28:11 -05:00
James Laird
43f091f462 [svn-r11008] Purpose:
Feature: tests now use parallel make and only run once

Description:
When make is invoked in parallel (using the -j option), several tests will
now be run simultaneously.  This should speed up testing on a number of
systems.
When a test passes, it creates a foo.chkexe or foo.chksh file, which prevents
the test from running again unless the test or library changes.

Solution:
Most of the changes live in config/conclude.am.  Added *.chkexe and *.chksh
files to the list of files to be cleaned at "make mostlyclean" time.
Parallel tests still run one at a time, but use the same make instructions
as serial tests.

Platforms tested:
mir, eirene, sleipnir, pommier, copper, modi4 (some errors occurred, probably
due to the test being run before updating hdf5.  Will re-run tests after
checkin.)
2005-06-30 18:35:32 -05:00
James Laird
59ec5b3d66 [svn-r10517] Purpose:
Bug fix

Description:
On some machines, $RUNSERIAL variable needs to be used to run
tests.  Set $RUNTESTS (which is used for non-parallel tests) to
be $RUNSERIAL in configure.am.

Also, since I was updating all Makefiles.in anyway, I updated
commence.am to point to autotools installs in AFS instead of
those on heping.

Platforms tested:
mir, sleipnir, modi4, copper
2005-03-31 13:26:17 -05:00
James Laird
14e06e81cb [svn-r10511]
Purpose:
"Bug fix"

Description:
Hardcoded Makefiles to use /bin/sh instead of letting configure
detect shell automatically.  This is what v1.6 does, and avoids
problems on janus.

Platforms tested:
sleipnir, copper, modi4, mir
2005-03-30 16:14:48 -05:00
James Laird
9452992c09 [svn-r10459]
Purpose:
Added C++ wrapper for Packet Table API.

Description:
Added macro for high-level C++ library (LIBH5CPP_HL), which changes every
Makefile.in.
Added directories for high-level C++ library (though currently only Packet
Table API is supported).
Added both C++ source and tests.

Platforms tested:
sleipnir, mir, modi4

Misc. update:
2005-03-28 11:32:20 -05:00
James Laird
3f0a35a4ea [svn-r9988] Purpose:
Bug fix

Description:
pmake (on modi4, for instance) complains about undefined variables
if it is run without the -V flag, which turns those errors to warnings.

Solution:
Added test to configure.in to see if $MAKE will allow Makefiles
with undefined variables.  If not, sets -V flag in AM_MAKEFLAGS.
Ensured that all custom make targets use AM_MAKEFLAGS.
Also defined all variables that caused errors in top-level Makefile.am.
This means that pmake can be used to build hdf5 *from the top level
only*.  To run make from a subdirectory, still need to use -V flag
(or use make or gmake).

Platforms tested:
modi4, heping, copper, sleipnir
2005-02-11 12:40:52 -05:00
James Laird
ed8685acd2 [svn-r9915] Purpose:
Bug fix

Description:
Configuration files' timestamps were incorrect.

Solution:
Update Makefiles.in.  Also added correct paths to autotools on heping,
so heping build should be able to re-generate configuration files even
if they are still broken.

Platforms tested:
sleipnir
2005-02-02 11:00:36 -05:00
James Laird
e3dacb31be [svn-r9912] Purpose:
Bug fix

Description:
Dependencies between configure files (aclocal, configure.in, configure,
Makefiles.am and .in) are still causing Makefiles to try to run autotools
during build.

Solution:
Committed all Makefiles.in to update their timestamps.
As a temporary measure, forcibly prevented automake from running
autotools during build by redefining the variables it uses.

Platforms tested:
sleipnir (No changes to Makefile content)
2005-02-01 16:05:33 -05:00
James Laird
30bfb1e0ea [svn-r9907] Purpose:
Bug fix

Description:
Different compilers use different flags to include Fortran module files

Solution:
Changed boilerplate to use configure variable rather than hardcoded -M flag.

Platforms tested:
sleipnir, sol, copper
2005-02-01 10:27:37 -05:00
James Laird
26303241fe [svn-r9902] Purpose:
Configuration feature

Description:
HDF5 now uses automake to generate Makefiles

Solution:
Makefile.in files are now generated from Makefile.am files.
To reconfigure (after chaning a Makefile.am or configure.in):
/bin/sh bin/reconfigure.sh

Platforms tested:
Many
2005-01-31 22:17:02 -05:00