2
0
mirror of https://github.com/HDFGroup/hdf5.git synced 2025-03-25 17:00:45 +08:00

[svn-r32] ./INSTALL NEW

Instructions for end users.

./INSTALL_MAINT	        NEW
	Instructions and hints for maintainers.

./MANIFEST		NEW
        A list of names of files that are part of the HDF5
        distribution.

./Makefile.in		NEW
	Top-level makefile template.  See INSTALL and/or INSTALL_MAINT
	for instructions on how to generate the Makefile from this
	file.

./configure		NEW
./configure.in		NEW
	Configuration shell script generated from configure.in.

./Makefile
	Removed from CVS.  This file is now generated by running
	configure.
This commit is contained in:
Robb Matzke 1997-08-15 11:35:53 -05:00
parent fdb45fa4fa
commit 8ec38c06f4
6 changed files with 2099 additions and 0 deletions

54
INSTALL Normal file

@ -0,0 +1,54 @@
To build/install HDF5 on Unix systems from the root of the
distribution directory:
* Build the ./src/H5config.h file and Makefiles by saying:
./configure
You can say `./configure --help' to see a list of options. On
common option is to specify the prefix directory where the
libraries, header files, and programs are installed. The default
is to install them in /usr/local/lib, /usr/local/include, and
/usr/local/bin, but you can specify some other path instead of
/usr/local by saying:
./configure --prefix=/usr
You can also override detection of certain things with
environment variables:
CC Name of the C compiler to use.
CFLAGS Alternate C compiler flags.
CPPFLAGS Alternate C preprocessor flags.
MAKE Name of the make(1) program.
For instance (assuming /bin/sh), it is common to say:
CPPFLAGS=-DNDEBUG CC=gcc CFLAGS=-O3 ./configure
* Build library targets by saying:
make
If you ran configure like (assuming /bin/sh):
MAKE=gmake ./configure
then you'll want to be sure to use `gmake' also when you build
the library. If you're re-building the library after changing
some files and you're not using GNU make and gcc, then you should
say `make clean' from the top directory between each build
attempt.
* Install the library, header files, and programs by saying:
make install
This step will fail unless you have permission to write to the
installation directories.
To build/install HDF5 on non-Unix systems from the root of the
distribution directory:
* To be written later.

76
INSTALL_MAINT Normal file

@ -0,0 +1,76 @@
Information for HDF5 maintainers:
* You can run make from any directory. However, running in a
subdirectory only knows how to build things in that directory and
below. However, all makefiles know when their target depends on
something outside the local directory tree:
$ cd test
$ make
make: *** No rule to make target ../src/libhdf5.a
* All Makefiles understand the following targets:
all -- build locally.
install -- install libs, headers, progs.
uninstall -- removed installed files.
mostlyclean -- remove temp files (eg, *.o but not *.a).
clean -- mostlyclean plus libs and progs.
distclean -- all non-distributed files.
maintainer-clean -- all but H5config.h.in and configure.
* Most Makefiles also understand:
TAGS -- build a tags table
dep depend -- recalculate source dependencies
lib -- build just the libraries w/o programs
* If you have personal preferences for which make, compiler, compiler
flags, preprocessor flags, etc., that you use and you don't want to
set environment variables, then use a site configuration file.
When configure starts, it looks in the config directory for files
whose name is some combination of the CPU name, vendor, and
operating system in this order:
CPU-VENDOR-OS
VENDOR-OS
OS
The first file which is found is sourced and can therefore affect
the behavior of the rest of configure. For example, the linux
configuration file might contain:
# Site configuration -- do not distribute this file.
if test "X$CFLAGS" = "X"; then
CFLAGS="-g -Wall"
fi
Site configuration files are for personal preferences and should
not be distributed.
* If you use GNU make along with gcc the Makefile will contain targets
that automatically maintain a list of source interdependencies; you
seldom have to say `make clean'. I say `seldom' because if you
change how one `*.h' file includes other `*.h' files you'll have
to force an update.
To force an update of all dependency information remove the
`.depend' file from each directory and type `make depend'. For
instance:
$ find . -name .depend -exec rm {} \;
$ make depend
* Object files stay in the directory and are added to the library as a
final step instead of placing the file in the library immediately
and removing it from the directory. The reason is two-fold:
1. Most versions of make don't allow `$(LIB)($(SRC:.c=.o))'
which makes it necessary to have two lists of files, one
that ends with `.c' and the other that has the library
name wrapped around each `.o' file.
2. Some versions of make/ar have problems with modifications
times of archive members.

90
MANIFEST Normal file

@ -0,0 +1,90 @@
./Changes
./Makefile.in
./bin/config.guess
./bin/config.sub
./bin/install-sh
./config/commence.in
./config/conclude.in
./config/depend.in
./config/freebsd2.2.1
./config/linux
./configure
./configure.in
./html/H5.api_map.html
./html/H5.apiv2.html
./html/H5.coding_standard.html
./html/H5.format.html
./html/H5.sample_code.html
./html/MemoryManagement.html
./html/ObjectHeader.txt
./html/heap.txt
./html/move.html
./src/H5.c
./src/H5private.h
./src/H5public.h
./src/H5A.c
./src/H5Aprivate.h
./src/H5Apublic.h
./src/H5AC.c
./src/H5ACprivate.h
./src/H5ACpublic.h
./src/H5B.c
./src/H5Bprivate.h
./src/H5Bpublic.h
./src/H5C.c
./src/H5Cprivate.h
./src/H5Cpublic.h
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
./src/H5E.c
./src/H5Eprivate.h
./src/H5Epublic.h
./src/H5F.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gprivate.h
./src/H5Gpublic.h
./src/H5H.c
./src/H5Hprivate.h
./src/H5Hpublic.h
./src/H5M.c
./src/H5Mprivate.h
./src/H5Mpublic.h
./src/H5MF.c
./src/H5MFprivate.h
./src/H5MFpublic.h
./src/H5MM.c
./src/H5MMprivate.h
./src/H5MMpublic.h
./src/H5O.c
./src/H5Ocont.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Ostab.c
./src/H5Oprivate.h
./src/H5Opublic.h
./src/H5P.c
./src/H5Pprivate.h
./src/H5Ppublic.h
./src/H5T.c
./src/H5Tprivate.h
./src/H5Tpublic.h
./src/H5config.h.in
./src/Makefile.in
./src/Naming-Conventions
./src/debug.c
./src/hdf5.h
./test/Makefile.in
./test/testhdf5.c
./test/testhdf5.h
./test/tfile.c
./test/theap.c
./test/tmeta.c
./test/tohdr.c
./test/tstab.c
./tgif/APIGrammar.obj
./tgif/FileGrammar.obj
./tgif/UserView.obj

87
Makefile.in Normal file

@ -0,0 +1,87 @@
# Top-level HDF5 Makefile(.in) -*- makefile -*-
#
# Copyright (C) 1997 National Center for Supercomputing Applications.
# All rights reserved.
#
#
# This makefile mostly just reinvokes make in the various subdirectories
# but does so in the correct order. You can alternatively invoke make from
# each subdirectory manually.
#
@COMMENCE@
# Subdirectories in build-order
SUBDIRS=src test
##############################################################################
# T A R G E T S
#
# all: Build libraries, header files, and programs in the various
# subdirectories but do not install them.
#
# install: Installs libraries, header files, programs, and documentation
# in the various directories under the prefix directory (lib,
# include, bin, man, info). Use the `--prefix=PATH' option
# to `configure' (or `config.status') or say `--help' for
# other alternatives. The default prefix is `/usr/local'.
#
# uninstall: Delete all the installed files that the `install' target
# created (but not the noninstalled files such as `make all'
# created).
#
# clean: Removes temporary files except those that record the
# configuration and those that are part of the distribution.
#
# mostlyclean: Like `clean' except it doesn't delete a few files like
# libraries, programs, and/or generated header files because
# regenerating them is rarely necessary and takes a lot of time.
#
# distclean: Deletes all files that are created by configuring or building
# HDF5. If you have unpacked the source and built HDF5 without
# creating any other files, then `make distclean' will leave
# only the files that were in the distrubution.
#
# maintainer-clean:
# Like `distclean' except it deletes more files. It deletes
# all generated files. This target is not intended for normal
# users; it deletes files that may require special tools to
# rebuild.
#
# TAGS: Updates the tags table for this program.
#
# dep depend: Builds dependencies in all subdirectories. These targets
# might not be available on certain combinations of make
# programs and C compilers. At the other extreme, the GNU
# make used in combination with gcc will maintain dependency
# information automatically.
#
all install uninstall TAGS dep depend:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
clean mostlyclean:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
distclean:
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
$(RM) config/commence config/conclude config/depend
$(RM) config.cache config.log config.status src/config.h
$(RM) Makefile
maintainer-clean:
@echo "This command is intented for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
@@SETX@; for d in $(SUBDIRS); do \
(cd $$d && $(MAKE) $@) || exit 1; \
done
$(RM) config.cache config.log config.status src/config.h
$(RM) configure src/config.h.in
# This file does not end with the `CONCLUDE' statement since it has
# redefined all the standard targets anyway.

1656
configure vendored Executable file

File diff suppressed because it is too large Load Diff

136
configure.in Normal file

@ -0,0 +1,136 @@
dnl Process this file with autoconf to produce configure. -*-indented-text-*-
dnl
dnl Copyright (C) 1997 National Center for Supercomputing Applications.
dnl All rights reserved.
dnl ----------------------------------------------------------------------
dnl Initialize configure.
dnl
AC_REVISION($Id$)
AC_INIT(src/H5.c)
AC_CONFIG_HEADER(src/H5config.h)
AC_CONFIG_AUX_DIR(bin)
AC_CANONICAL_HOST
dnl ----------------------------------------------------------------------
dnl Check that the cache file was build on the same host as what we're
dnl running on now.
dnl
AC_CACHE_CHECK(for cached host,hdf5_cv_host,hdf5_cv_host="none");
if test $hdf5_cv_host = "none"; then
hdf5_cv_host=$host
elif test $hdf5_cv_host != $host; then
echo "The config.cache file was generated on $hdf5_cv_host but"
echo "this is $host. Please remove that file and try again."
AC_MSG_ERROR(config.cache file is invalid)
fi
dnl ----------------------------------------------------------------------
dnl Source any special files that we need. These files normally aren't
dnl present but can be used by the maintainers to fine tune things like
dnl turning on debug or profiling flags for the compiler.
dnl
AC_MSG_CHECKING(for site config file)
site_config="none"
for f in $host $host_vendor-$host_os $host_os; do
if test -f config/$f; then
site_config=config/$f
break
fi
done
AC_MSG_RESULT($site_config)
if test $site_config != "none"; then
. $site_config
fi
dnl ----------------------------------------------------------------------
dnl Check for programs.
dnl
AC_PROG_CC
AC_PROG_MAKE_SET
AC_PROG_INSTALL
AC_PROG_RANLIB
AC_MSG_CHECKING(for GNU Make)
if test "`${MAKE-make} --version -f /dev/null 2>/dev/null |\
sed -n 1p|cut -c1-8`" = "GNU Make"; then
AC_MSG_RESULT(yes)
GMAKE=yes
else
AC_MSG_RESULT(no)
fi
dnl ----------------------------------------------------------------------
dnl Check for libraries. (none required yet)
dnl
dnl ----------------------------------------------------------------------
dnl Check for header files.
dnl
AC_HEADER_STDC
dnl ----------------------------------------------------------------------
dnl Data types.
dnl
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
dnl ----------------------------------------------------------------------
dnl Check sizes of various integral data types.
dnl
AC_C_BIGENDIAN
AC_CHECK_SIZEOF(short, 2)
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(long, 4)
AC_CHECK_SIZEOF(long long, 8)
AC_CHECK_SIZEOF(float, 4)
AC_CHECK_SIZEOF(double, 8)
dnl ----------------------------------------------------------------------
dnl AC_FUNC_MEMCMP
dnl AC_C_CONST
dnl AC_C_INLINE
dnl ----------------------------------------------------------------------
dnl Build the Makefiles. Almost every Makefile.in will begin with the line
dnl `@COMMENCE@' and end with the line `@CONCLUDE@'. These lines insert
dnl various files from the config directory into the Makefile.
dnl
AC_SUBST_FILE(COMMENCE) COMMENCE=config/commence
AC_SUBST_FILE(CONCLUDE) CONCLUDE=config/conclude
if test "X$GCC" = "Xyes" && test "X$GMAKE" = "Xyes"; then
AC_SUBST_FILE(DEPEND) DEPEND=config/depend
else
AC_SUBST(DEPEND) DEPEND='# Use GNU make/GCC if you want auto dependencies'
fi
dnl We don't need to say when we're entering directories if we're using
dnl GNU make becuase make does it for us.
if test "X$GMAKE" = "Xyes"; then
AC_SUBST(SETX) SETX=":"
else
AC_SUBST(SETX) SETX="set -x"
fi
AC_OUTPUT(config/depend config/commence config/conclude Makefile src/Makefile test/Makefile)