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:
parent
fdb45fa4fa
commit
8ec38c06f4
54
INSTALL
Normal file
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
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
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
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.
|
136
configure.in
Normal file
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)
|
Loading…
x
Reference in New Issue
Block a user