From 861d43c98a5c80ee406b131054f709fcdf689784 Mon Sep 17 00:00:00 2001 From: Robb Matzke Date: Fri, 10 Apr 1998 13:30:19 -0500 Subject: [svn-r341] Changes since 19980409 ---------------------- ./INSTALL ./INSTALL_MAINT Updated installation instructions. ./html/Big.html [NEW] A guide to using big datasets on small machines. ./MANIFEST Added Big.html and INSTALL.ascired. ./html/Datasets.html ./html/Dataspaces.html ./html/Datatypes.html ./html/Files.html ./html/H5.api.html ./html/H5.intro.html ./html/H5.sample_code.html ./html/H5.user.html Updated documentation by changing lots of `size_t' arguments to `hsize_t'. Added line numbers to some examples. ./html/H5.intro.html Perhaps someone want's to volunteer to make this file human-readable? --- INSTALL | 62 ++++++++++++++++++++++++++--------------------------------- INSTALL_MAINT | 21 ++++++++++---------- MANIFEST | 2 ++ src/H5.c | 10 +++++----- 4 files changed, 44 insertions(+), 51 deletions(-) diff --git a/INSTALL b/INSTALL index a161af0..353d42d 100644 --- a/INSTALL +++ b/INSTALL @@ -35,16 +35,28 @@ Step 2. Configure makefiles. Note: you may need to say `sh configure'. * By default libraries, include files, programs, and documentation - are installed under /usr/local/lib, /usr/local/include, - /usr/local/bin, and /usr/local/man. However, if you want them - in some other location you can specify a prefix to use instead - of /usr/local. For instance, to install in /usr/lib, - /usr/include, /usr/bin, and /usr/man one would say + are installed (when one says `make install') under + /usr/local/lib, /usr/local/include, /usr/local/bin, and + /usr/local/man. However, if you want them in some other + location you can specify a prefix to use instead of /usr/local. + For instance, to install in /usr/lib, /usr/include, /usr/bin, + and /usr/man one would say $ ./configure --prefix=/usr Note: HDF5 can be used without installing it. + * Early releases of the library will be compiled with some + debugging features enabled (see output from configure). The + debugging can be turned off by specifying `--disable-debug' as a + configure switch. Also, to compile an optimized version of the + library one can say `--enable-production'. + + * Old versions of gcc (<2.8.0) may experience register allocation + problems on some architectures. If this happens then the + `--disable-hsizet' can be given but the resulting library will + be unable to handle datasets larger than 4GB. + * You can also override detection of certain things with environment variables: @@ -59,33 +71,10 @@ Step 2. Configure makefiles. $ CC=gcc CPPFLAGS=-DNDEBUG CFLAGS="-Wall -O3" ./configure - * The HDF team recommends the following C flags for this prototype - release of the library. - - o Full warnings, usually `-fullwarn' or `-Wall' depending on - the compiler. With GCC you may optionally add: - -Wpointer-arith -Wwrite-strings -Wstrict-prototypes - -Wmissing-prototypes -Wmissing-declarations -Wnested-externs - - o Symbol table, usually with `-g' - - o Turn on debugging code in the various packages. Some - packages just produce extra output while others traverse - data structures looking for things that seem to be wrong. - - -DH5AC_DEBUG - cache debugging - -DH5B_DEBUG - B-link-tree debugging - -DH5F_DEBUG - File debugging - -DH5G_DEBUG - Group debugging - -UH5O_DEBUG - Open/Close debugging (produces lots of output) - -DH5T_DEBUG - Data type conversion statistics - - o The default low level driver can be chosen with - - -DH5F_LOW_DFLT=H5F_LOW_STDIO - Use libc stdio.h functions - -DH5F_LOW_DFLT=H5F_LOW_SEC2 - Use system calls directly - - the default is to use stdio functions. + * Settings for compiler flags (and a few other things) can also be + specified in config files located in the config directory. The + name of the file is the result of running ./bin/config.guess. + Use config/BlankForm as a template. * You can see a list of other configuration options by saying @@ -109,8 +98,9 @@ Step 3. Compile library, tests, and programs. information yet. Note: When using GNU make you can add `-j -l6' to the make - command to compile in parallel on SMP machines. - + command to compile in parallel on SMP machines. Do not give a + number after the `-j' since GNU make will turn it off for + recursive invocations of make. Step 4. Run confidence tests. @@ -134,7 +124,9 @@ Step 5. Install public files. This step will fail unless you have permission to write to the installation directories. Of course, you can use the header files, library, and programs directly out of the source tree if - you like, skipping this step. + you like, skipping this step. The directory specified for the + --prefix switch (or "/usr/local") must exist, but the directories + under it are created automatically by make. Step 6. Subscribe to mailing lists. diff --git a/INSTALL_MAINT b/INSTALL_MAINT index 2f42cf0..2d4c5c9 100644 --- a/INSTALL_MAINT +++ b/INSTALL_MAINT @@ -35,20 +35,14 @@ Information for HDF5 maintainers: CPU-VENDOR-OS VENDOR-OS + CPU-VENDOR OS + VENDOR + CPU 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. Run bin/config.guess to see what we think your - CPU, VENDOR, and OS values are. + the behavior of the rest of configure. See config/BlankForm for the + template. * If you use GNU make along with gcc the Makefile will contain targets that automatically maintain a list of source interdependencies; you @@ -64,6 +58,11 @@ Information for HDF5 maintainers: $ find . -name .depend -exec rm {} \; $ make + If you're not using GNU make and gcc then dependencies come from + ".distdep" files in each directory. Those files are generated on + GNU systems and inserted into the Makefile's by running + config.status (which happens near the end of configure). + * 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 three-fold: diff --git a/MANIFEST b/MANIFEST index 28a7e71..7b95534 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1,4 +1,5 @@ ./INSTALL +./INSTALL.ascired ./INSTALL.ibm.sp.parallel ./INSTALL_MAINT ./INSTALL_parallel @@ -38,6 +39,7 @@ ./examples/h5_group.c ./examples/h5_read.c ./examples/h5_write.c +./html/Big.html ./html/CodeReview.html ./html/Coding.html ./html/Datasets.html diff --git a/src/H5.c b/src/H5.c index 64363e4..4d7896c 100644 --- a/src/H5.c +++ b/src/H5.c @@ -463,7 +463,7 @@ HDfprintf (FILE *stream, const char *fmt, ...) /* Field width */ if (isdigit (*s)) { zerofill = ('0'==*s); - fwidth = strtol (s, &rest, 10); + fwidth = (int)strtol (s, &rest, 10); s = rest; } else if ('*'==*s) { fwidth = va_arg (ap, int); @@ -478,7 +478,7 @@ HDfprintf (FILE *stream, const char *fmt, ...) if ('.'==*s) { s++; if (isdigit (*s)) { - prec = strtol (s+1, &rest, 10); + prec = (int)strtol (s+1, &rest, 10); s = rest; } else if ('*'==*s) { prec = va_arg (ap, int); @@ -609,7 +609,7 @@ HDfprintf (FILE *stream, const char *fmt, ...) default: fputs (template, stream); - n = strlen (template); + n = (int)strlen (template); break; } nout += n; @@ -689,8 +689,8 @@ HDstrtoll (const char *s, const char **rest, int base) s++; } else if ('-'==*s) { sign = -1; - s++; - } + s++; + } /* Zero base prefix */ if (0==base && '0'==*s && ('x'==s[1] || 'X'==s[1])) { -- cgit v0.12