Commit Graph

186 Commits

Author SHA1 Message Date
Bill Wendling
5e834c4cbc [svn-r4466]
Purpose:
    Feature Add
Description:
    Added "install-example" and "install-all" to the Makefile system.
    The behaviour of the "make install*" options:

        make install          - Installs binaries, libraries, include
                                files, and example programs.
        make install-examples - Installs only the example programs.
                                The directories are:

                            ${prefix}/doc/hdf5/examples/{c,c++,fortran}

        make install-all      - Install the binaries, libraries, include
                                files, example programs, and
                                documentation. The whole kit-n'-caboodle.
        make uninstall-examples - Get rid of those example files (but not
                                  the ${prefix}/doc/hdf5/examples/...
                                  directories)

    There's a new bin/ program which helps create directories which are
    deeply nested called "mkdirs". It's a simple shell script.
Platforms tested:
    Linux
2001-09-21 18:50:15 -05:00
Albert Cheng
15c3995e05 [svn-r4434] Purpose:
New feature.
Description:
    Test programs were assumed to be serial programs only.
    There was no provision to test parallel programs automatically.
Solution:
    Added $(TEST_PARA_PROGS) to hold parallel test programs and
    added appropriate action entry to test them if defined.
Platforms tested:
    Eirene (parallel).
2001-09-10 23:04:15 -05:00
Bill Wendling
1b89fa3640 [svn-r4408]
Purpose:
	Feature Addition
Description:
	Added support for gcc 3.0.x. GCC 3.0.x supports the C99
	specification. The "-std=c99" gets rid of those annoying "warning
	long long not supported by ANSI standard" messages.
Platforms tested:
	Linux and gcc 3.0.1
2001-08-23 12:14:06 -05:00
Bill Wendling
b5d11111b0 [svn-r4292]
Purpose:
    Bug Fix
Description:
    The way we were generating Dependencies and .depend files was broken.
    If the $srcdir or other macros began with a ".", then it would match
    anything and cause problems since it would then overwrite the
    beginning of the header file's path.
Solution:
    Wrote a Perl script which can handle this type of weirdness better.
    It's only used when the environment is a GNU one with a GCC
    compiler...
Platforms tested:
    Linux
2001-08-01 16:00:25 -05:00
Quincey Koziol
00f62b983a [svn-r4213] Purpose:
Bug fix... (sorta)
Description:
    Added --enable-linux-lfs configure flag to have better control over whether
    the enable large file support on Linux machines.  Also removed the
    -malign-double flag for gcc since it can potentially cause errors which
    are difficult to detect.
Platforms tested:
    Linix 2.2 & 2.4 (eirene and dangermouse)
2001-07-16 11:40:56 -05:00
Quincey Koziol
5f113eac84 [svn-r4016] Purpose:
Code cleanup
Description:
    Get ready for adding C99 extensions sometime in the future.
Solution:
    Added some comments to the gcc flags..
Platforms tested:
    Linux (eirene), FreeBSD 4.3 (hawkwind)
2001-06-19 11:19:34 -05:00
Bill Wendling
93129f271e [svn-r3892] Purpose:
Better Mouse Trap^W^WBug Fix
Description:
    Instead of having the large file support stuff be in the
    config/gnu-flags directory, I added it to the configure.in file so
    that it first checks for the syscall ``getdents64()''. If it finds
    it, then it removes the ``-malign-double'' flag if the GCC compiler
    is 2.95.x since this flag doesn't play well with the LFS stuff.
Solution:
    Added test for getdents64(), if found it removes the -malign-double
    flag if the compiler is 2.95.x. This is done in the configure.in
    file. The gnu-flags file is returned to normal. A new field is added
    to the H5config.h.in file because of the getdents64 check.
Platforms tested:
    Linux
2001-05-08 13:42:42 -05:00
Bill Wendling
4a72a04048 [svn-r3891] Purpose:
Bug Fix
Description:
    Linux does actually support 64 bit files (those greater than 2GB),
    you just have to defined a bunch of, seemingly meaningless, macros in
    order to coax glibc to work with you. 64 bit file support is in the
    2.3 and above kernels by default. For lower, well...upgrade or
    something. The one weird thing, the "-mdouble-align" flag was causing
    hdf5 to barf when the large file support was compiled in there. It
    has something to do with the structures and their alignment or
    something. Very weird.
Solution:
    Added a test to see if we're on a Linux boxen with kernel >2.3 and if
    so then specify the flags for LFS support. Removed the -mdouble-align
    flag if we do use LFS support since it causes damage.
Platforms tested:
    Linux (Dangermouse)
2001-05-07 19:04:50 -05:00
Quincey Koziol
ca9bdbdcbe [svn-r3827] Purpose:
Bug fix.
Description:
    'make distclean' is broken on FreeBSD 4.3, with some syntax errors.  I have
    a feeling that the make command is more picky in FBSD 4.3 than in 4.2 which
    is what is causing these errors to crop up now.
Solution:
    Add missing semicolon to line in 'clean' target and take out bogus '-'s
    in front of "$(RM)" commands which are already in if's
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-04-19 16:47:12 -05:00
Bill Wendling
7e05b02ab3 [svn-r3809] Purpose:
Bug Fix
Description:
    On the T3E, the hack about SUBDOCDIR macro didn't work cause it
    wanted an actual value to be in this macro. Well, it wasn't, so now I
    check that it actually has a value.
Solution:
    Check that DOCDIR and SUBDOCDIR have a value before trying to do
    anything with it.
2001-04-13 11:38:17 -05:00
Quincey Koziol
3dce3d49fd [svn-r3807] Purpose:
Portability changes
Description:
    Very quick port to Compaq (nee DEC) Alpha OSF5.
Solution:
    Added a new "dec-osf5.x" configuration file and changed configure.in
    to look for it.
    The local test machine is now passing all the tests, except I can't get
    the "-L<path>" stuff to work, so tools which depend on the HDF4 library
    around tested.
Platforms tested:
    Compaq Alpha 5.1 (compaq.ncsa.uiuc.edu)
2001-04-13 09:55:05 -05:00
Bill Wendling
ef461a8454 [svn-r3804] Purpose:
Bug Fix
Description:
    If we need to specify a -R flag for dynamic libraries (like, in the
    case when we specify --with-hdf4), then this flag needs to be added
    to the linking line so that it will show up in the generated library
    and other programs linking to that library will be able to find the
    relevant libraries.
Solution:
    Added the DYNAMIC_DIRS macro to the link line.
Platforms tested:
    Arabica
2001-04-12 14:39:13 -05:00
Bill Wendling
8bbacc3ae3 [svn-r3778] Purpose:
Update
Description:
    Changed the way .depend and Dependencies files were being generated.
    Instead of gathering all files which are ``#included'', we only pick
    out the ones which are local to us.
Solution:
    Changed -M flag to -MM and changed

        #include <hdf5_files.h>

    to

        #include "hdf5_files.h"

    in the source code.
Platforms tested:
    Linux
2001-04-05 12:04:07 -05:00
Bill Wendling
ee17f3731e [svn-r3586] Purpose:
Hack
Description:
    Need to install the files in the examples/java directory, however
    they include installing a Makefile. This was causing havoc with our
    Makefile/configure system.
Solution:
    Changed so that you can specify a "SUBDOCDIR" which will create a
    subdirectory for you and fill it with files specified in PUB_SUBDOCS.
Platforms tested:
    Linux
2001-03-09 17:30:51 -05:00
Bill Wendling
8910ca14c4 [svn-r3568] Purpose:
Bug Fix
Description:
    Added logic so that all the various make options would recursively be
    done in their subdirectories.
Solution:
    Added a for-loop to iterate through the subdirectories.
Platforms tested:
    Linux
2001-03-08 15:13:04 -05:00
Bill Wendling
241abf4931 [svn-r3452] Purpose:
Fix
Description:
    The "make *clean" options weren't recursing through the
    subdirectories (if they exist).
Solution:
    Force it to recurse through the subdirectories listed in SUBDIRS
Platforms tested:
    Linux
2001-02-19 14:04:32 -05:00
Albert Cheng
c6bcd9c7d2 [svn-r3431] Purpose:
Update
Description:
    Incorporated all the changes made to powerpc-ibm-aix4.2.1.0
    and powerpc-ibm-aix4.3.2.0 into powerpc-ibm-aix4.x.
    Removed the other two "sub-files" now that powerpc-ibm-aix4.x
    can cover them too.
Platforms tested:
    IBM SP2 at LLNL BLUE, both parallel and serial.
2001-02-16 15:54:04 -05:00
Quincey Koziol
d7b92c34eb [svn-r3400] Purpose:
Code cleaning
Description:
    Moved all gcc compiler flags into the config/gnu-flags file and re-added
    the warning flags removed during the beta testing.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-02-12 11:29:15 -05:00
Bill Wendling
6fbdd9f68b [svn-r3356] Purpose:
Formatting...
Platforms tested:
    Solaris
2001-02-05 15:09:33 -05:00
Bill Wendling
0c5cedfff9 [svn-r3354] Purpose:
Fix for install-doc feature
Description:
    I fixed the install-doc feature so that it actually works! (Imagine
    :-).
Solution:
    It manually checks if the DOCDIR exists. If not, then it mkdir's it.
    Then it does the install of the appropriate docs.
Platforms tested:
    Linux, Solaris
2001-02-05 15:05:48 -05:00
Quincey Koziol
c6da08f994 [svn-r3335] Purpose:
Config cleanup
Description:
    In production environments, the optimization flag for gcc was set to
    -O6, which has some code-generation problems in certain environments.
Solution:
    Turned optimizations down to -O2, which is still pretty bleeding edge.
Platforms tested:
    FreeBSD 4.2 (hawkwind)
2001-01-30 12:49:20 -05:00
Quincey Koziol
e30a28f2f0 [svn-r3323] Purpose:
New platform
Description:
    Support the Cray SV1 machine. (config file is identical to unicosmk file
    right now).
Platforms tested:
    Cray SV1 (killeen.nersc.gov)
2001-01-24 17:42:49 -05:00
Bill Wendling
c20d60058e [svn-r3314] Purpose:
Feature Fix
Description:
    This checks before printing the warning message about hsizet type if
    the user specified --disable-hsizet on the command line.
Platforms tested:
    Linux
2001-01-19 17:13:50 -05:00
Albert Cheng
27240a9031 [svn-r3200] Purpose:
Bug fix
Description:
    install method was cached as 'cp -r'.  It did not work
    in --srcdir option as the configure set the method to ../cp -r.
Solution:
    Removed the cached entry.  Let it look for install or use install-sh.
Platforms tested:
    LLNL Blue (found and used /usr/local/gnu/bin/install).
2000-12-23 15:43:10 -05:00
Albert Cheng
6d71c2cacc [svn-r3148] Purpose:
Bug fix
Description:
    TFLOPS was configured to use '-g' flag even when --enable-production
    option was used.  It was because configure hard set CFLAGS to '-g'
    if it is a valid C compiler option and if $CFLAGS is not set yet.
    This is not noticed in other platforms because the config/* files
    they all set CFLAGS in one form or another.
Solution:
    This is a bug in configure but it is risky to change it so close
    to code release.  Instead, just set CFLAGS in this file to bypass
    the configure bug which should be squashed after code release.
Platform tested:
    Tflops with parallel, both debug and production modes.
2000-12-18 08:31:21 -05:00
Bill Wendling
0df4d83cf7 [svn-r3127] Purpose:
New File
Description:
	T3E needs this file so that configure will find it. The name was
	changed.
Platforms tested:
	T3E
2000-12-13 11:47:56 -05:00
Albert Cheng
9f8b25422c [svn-r3062] Purpose:
Improvement
Description:
    During configure, it tries to find the size of various basic
    C data types (int, int8, fast_int8, ...) by running a small
    program for each data type.  But Pecific blue uses a batch queue
    system to launch all jobs and the whole process takes couple
    minutes.  With over 20 basic types to test, that takes "forever"
    for the configure to complete.
Solution:
    Let the configure complete, then save all those valid values in
    the config.cache file into the specific config file for Pac. Blue.
    With the values cached, configure does not need to run those little
    problems.
Platform Tested:
    Pacific blue with mpicc.
2000-12-01 18:47:18 -05:00
Thomas Radke
896558b27d [svn-r3060]
Purpose:
    Bugfix
Description:
    The gcc linker couldn't resolve any socket routine symbols
    if the Stream VFD was configure.
Solution:
    Add the socket library to the LIBS makefile variable not just
    when compiling with the native cc compiler
    but also if using GNU tools (such as on Solaris x86 systems).
Platforms tested:
    SunOS 5.5 with GNU cc (hatteras),
    SunOS 5.6 with native cc (thor.sistec.kp.dlr.de)
2000-12-01 17:08:03 -05:00
Quincey Koziol
81145c6bab [svn-r3043] Purpose:
Bug Fix
Description:
    configure on Cray T3E is looking for a differently named config file,
    so at it under that name.
Platforms tested:
    Cray T3E (mcurie)
2000-11-30 15:34:01 -05:00
Bill Wendling
b9fdce5fb4 [svn-r3042] Purpose:
Messed up
Description:
	The compile line doesn't like the -dlopen self flag...
Solution:
	removed
Platforms tested:
	Eirene
2000-11-30 15:33:13 -05:00
Bill Wendling
451ab02f4f [svn-r3038] Purpose:
Buglet
Description:
	If we compiled with -all-static, then the compiler could complain
	about not being able to find dlopen and friends.
Solution:
	Used the ``-dlopen self'' libtool command.
Platforms tested:
	Linux
2000-11-30 14:53:43 -05:00
Bill Wendling
89a7dcd400 [svn-r3030] Purpose:
Bug Fix
Description:
	Some platforms don't have support for dlopen and friends when the
	library is static.
Solution:
	This is part of the attempt to correct this "feature". libtool
	wants AC_LIBTOOL_DLOPEN in the configure.in file and -dlopen on
	this line...
Platforms tested:
	(untested)
2000-11-29 17:28:03 -05:00
Albert Cheng
687d3d3bc3 [svn-r2980] Purpose:
Bug fix
Description:
    make reconfigure complained syntax error.
Solution:
    The for loop previous added contained a typo.  Replaced $$test
    with $$sub.
Platforms tested:
    modi4-64.
2000-11-20 09:48:04 -05:00
Bill Wendling
6d4c58fb7d [svn-r2929] Purpose:
Fix
Description:
	Changed so that only *.c files are run through the tracing
	program. This is so the fortran stuff won't return spurious
	warnings.
Platforms tested:
	Linux
2000-11-15 12:48:48 -05:00
Thomas Radke
9c93282d1b [svn-r2749]
Purpose:
    Set compiler flag to force BSD compliance.
Description:
    In order to set a socket descriptor into non-blocking mode
    via ioctl(2) the Stream driver uses the FIONBIO constant.
    Under Solaris this is defined only when compiled as BSD code.
    I hope this doesn't break anything.
Platforms tested:
    Solaris 5.7
2000-10-28 14:07:32 -05:00
Bill Wendling
af17e1ee3f [svn-r2719] Purpose:
Bug fix
Description:
	During a `reconfigure', it wasn't traversing the
	subdirectories...
Solution:
	Added a loop to the reconfigure logic to do just that.
Platforms tested:
	NOT tested...
2000-10-23 17:58:09 -05:00
Bill Wendling
a2e49651af [svn-r2696] Purpose:
Bug Fix
Description:
	On some platforms, if you don't have . in your PATH, it won't
	find the test program it's supposed to run.
Solution:
	Changed instead to ./$$test so that it picks up the program in
	the current directory.
Platforms tested:
	Opus and Linux
2000-10-18 11:47:04 -05:00
Bill Wendling
3b4b7c6dbf [svn-r2628] Purpose:
Site specific configure files
Description:
	Some machines need to specify things during the configure
	but they aren't necessary for all machines of that type. Those
	site-specific changes should go here. The format of the filename
	is:

		host-$hostname

	where $hostname is the output from the `hostname' command.
	Needless to say, this is optional to those sites which don't need
	it.
2000-10-03 17:22:11 -05:00
Bill Wendling
3c789053eb [svn-r2577] Purpose:
Added support for compiling in subdirectories.
Platforms tested:
	Solaris, IRIX (O2K)
2000-09-19 15:33:18 -05:00
Robb Matzke
f2caef690b [svn-r2573] Purpose:
Fix Irix pmake bugs
Description:
	Build fails on Irix when builddir != srcdir
Solution:
	* acconfig.h
	* src/H5config.h.in			[REGENERATED]
		Added definition for HAVE_STREAM

	* config/conclude.in
	* config/depend1.in
	* config/depend2.in
	* config/depend3.in
	* config/depend4.in
		The `Dependencies' file is located in the source
		tree. This fixes bugs for Irix pmake when compiling
		outside the source tree.  Hopefully it still preserves
		Albert's changes which allow concurrent compilations
		to not stomp on each other's Dependencies files.


	* examples/Dependencies			[REGENERATED]
	* src/Dependencies			[REGENERATED]
	* test/Dependencies			[REGENERATED]
	* tools/Dependencies			[REGENERATED]
		Regenerated for testing purposes.
Platforms:
	i686-pc-linux
	mips-sgi-irix6.5
	sparc-sun-solaris2.6
2000-09-19 12:04:46 -05:00
Albert Cheng
7c1e888bde [svn-r2572] Purpose:
Feature
Description:
    Most tests are done inside a for-loop.  Whenever a test exits
    with error, the for-loop does a "exit 1" to exit the make.
    "make -i" could not catch and ignore the error status.
Solution:
    Replaced "exit 1" with break.  At the end of the for-loop,
    test if all tests have been run.  If not, the for-loop is
    ended by the break command, thus raise an error.  Now,
    'make -i' can catch and ignor it.
    Also added the test of variable HDF5_Make_Ignore inside the
    for-loop to indicate the desire to ignore errors when the
    HDF5_Make_Ignore is set to a non-null/blank string.
Platforms:
    Tested on modi4 and eirene.
2000-09-19 11:53:34 -05:00
Thomas Radke
55bd85f6e5 [svn-r2554] Purpose:
Add the socket library to make's LIBS variable.

Description:
        The socket library is needed to build HDF5 with the Stream VFD.

Platforms:
        Solaris
2000-09-15 06:17:07 -05:00
Bill Wendling
bb533a9879 [svn-r2538] Added DYNAMIC_DIRS macro. This is derived from the LDFLAGS macro created
in the configure script, basically replacing all -L/<path> constructs
with -R/<path> ones so that libtools will pass it along to the compiler
correctly.
2000-09-12 02:54:54 -05:00
Bill Wendling
e9164bb70c [svn-r2527] Added ability for user to compile executables as all-static... 2000-09-08 17:57:40 -05:00
Albert Cheng
ff5aa653b2 [svn-r2418] Added the variable, PUB_PROGS, which holds the public programs
that are to be installed.
2000-06-27 14:01:03 -05:00
Bill Wendling
0f97875bc3 [svn-r2391] Adding the HPUX 11.00 file which is a copy of the HPUX 10.20 config file. 2000-06-19 09:55:02 -05:00
Albert Cheng
7a3ddc546a [svn-r2271] Document the changes I made of renaming Makefile target as
reconfigure.
2000-05-19 09:34:38 -05:00
Quincey Koziol
b92ef0f7d0 [svn-r1999] Correctly detect gcc 2.95.x and Pentium Pro|Pentium II|etc. processors. 2000-03-04 13:45:58 -05:00
Albert Cheng
0f91b587f4 [svn-r1979] Purpose:
Feature "improvement".
Problem:
    The Makefile target triggers gmake to redo the whole auto-configure
    process if it sees any autoconfigure related files changed.  It causes
    couple problems.  One is that when multiple machines using --srcdir
    are running make, they may detect the changes and launch the autoconf
    at the same time.  These end up as multiple hosts updating the same
    srcdir area together--bad things can happen.  Another one is that
    when one modifies some Makefile.in, then try "make distclean" before
    launching the configure process.  Instead of cleaning things, it
    started a configure, recreate all Makefiles and other files, then
    finally come around to do the distclean--who knows what it cleans
    by now since the Makefile is changed too.  Last problem was that
    this auto-process will launch even for command "gmake -n ...".
Solution:
    Renamed Makefile target to reconfigure so that the auto-checking
    is still available but must be launched explicitedly.  If one
    wishes to have the auto-checking as default, one may do
    alias gmake "\gmake -i reconfigure; gmake \!* ".
2000-02-18 21:39:46 -05:00
Albert Cheng
9ca6cfa0aa [svn-r1975] Purpose:
Configuration improvement

Problem:
Arabica has a zlib library that is a dynamic lib in /usr/ncsa/lib.
Binary generated would fail to run with a missig libz.so complain
if /usr/ncsa/lib is not in $LD_LIBRARY_PATH.  This exposed the
problem that if the binary is linked with -L$mylibpath -lxyz
where libxyz is a dynamic type, the binary can't run if $mylibpath
is not in $LD_LIBRARY_PATH (or equivalent) or as part of the
system default library paths (e.g., /usr/lib, /usr/local/lib).
This problem also caused failures during configure (when trying
to see what format to print long long) and during H5detect.
The base cause is because libtool does not "transfer" the
knowledge of -L$mylibpath to the wrapper file its mode=link
generates.

Solution:
bin/ltmain.sh:
    Changed it so that it transfers the libpaths from -Llibpaths
    to the wrapper generated.  I used the already defined variable
    finalize_shlibpath.  Not sure it is correct to use it this way.
    Need to check on this.
configure.in:
    Put in a patch to transfer information from LDFLAGS to LD_LIBRARY_PATH
    right before the AC_TRY_RUN.  The above fix for ltmain.sh does not
    work here because libtool is generated later than this point.
    There should be a cleaner way to do this.
    Removed the hardcode of NCSA_LT_LINK_EXE because it is no longer
    needed.
commence.in:
    Removed the hardcode of NCSA_LT_LINK_EXE because it is no longer
    needed.
Makefile.in:
    Another patch of LDFLAGS to LD_LIBRARY_PATH because I could not
    make it to generate H5detect in the wrapper form of libtool.
    Need to make it to use the libtool correctly. Later.

Platform tested:
arabica (solaris 2.7)
baldric (solaris 2.6)
2000-02-18 07:53:32 -05:00