This is the README for hippoplotamus.2.0.s.tar.gz [Download] [Browse] [Up]
Copyright (C) 1992 The Board of Trustees of The Leland Stanford Junior University. All Rights Reserved. Disclaimer Notice The items furnished herewith were developed under the sponsorship of the U.S. Government. Neither the U.S., nor the U.S. D.O.E., nor the Leland Stanford Junior University, nor their employees, makes any war- ranty, express or implied, or assumes any liability or responsibility for accuracy, completeness or usefulness of any information, apparatus, product or process disclosed, or represents that its use will not in- fringe privately-owned rights. Mention of any product, its manufactur- er, or suppliers shall not, nor is it intended to, imply approval, dis- approval, or fitness for any particular use. The U.S. and the Univer- sity at all times retain the right to use and disseminate the furnished items for any purpose whatsoever. Notice 91 02 01 Hippoplotamus ============= Hippoplotamus (hippo) is a histogramming library based on n-tuples. The original implementation was by Jonas Karlsson. It is being written at SLAC by Paul Rensing, Paul Kunz, Mike Gravina, plus contributions from Tom Pavel and others. It is designed to be used as an n-tuple collection library and as the guts of an interactive application to view n-tuples. Building hippo ============== We have provided some ways of building hippo. You can also make it yourself. A minimum set of files which provide support for collecting n-tuples only is: hippontuple.c hippoio.c hippoxdr.c hippoutil.c ntuple-parse.c hippo.h hippostruct.h hippoxdr.h hippoutil.h There are three utility programs: nt2text.c text2nt.c hb2hippo.f UNIX ==== This package includes a makefile for UNIX machines. The file is built with machine independent parts (Makefile and make.common) and a machine dependent part (make.<machine>). The machine architecture is determined by the script "architecture" and is set when make.common is called from Makefile. Architectures on which we have tested hippo are sun, next, ultrix, sgi and aix (rs6000). If you are adding a new machine, check that architecture gives a sensible answer. Because there are a number of plot drivers available, and one may want more than one driver available on a given architecture, we have designed the make file to build different libraries for the different (major) drivers. For example, on a NeXT, you would build only libhippoNext.a, while on a Sun, you might build libhippoX11.a and libhippoXIV.a (the Interviews driver). If you don't have any of these packages to link to, you could build a library (make target "hippo") which only contains the PostScript and line printer drivers, no screen drivers. There are a number of macros which may need to be tailored to your system. The machine dependency file is included late so that it can override any macro defined in Makefile. in make.common: SRC_DIR - this is the directory containing the source code LIB_INSTALLDIR - directory in which to install the libraries INC_INSTALLDIR - directory in which to install the header files LIB_DIR - directory in which the libraries are built. Is include as a -L option when linking, so it should be defined ("." means current directory). in make.<flavor>: CC, CPLUSPLUS - your compiler commands FC - your FORTRAN compiler FBINDINGS - the Fortran binding files. Set to blank here if you don't have a Fortran compiler. LIB_LIST - list of libraries to build for this machine DEBUGLIB_LIST - list of debug libraries to build FORTRAN ------- We have provided a set of FORTRAN bindings for some of the function calls in hippo. If you don't have FORTRAN, comment out the macro FBINDINGS, or override the definition (set it to blank) in the machine dependent file. Plot Drivers ------------ Hippo provides a number of plot drivers, which can be select for compilation in any combination. See make.next or make.sun4 for examples. DrvrName CodeFile IncludeFile C_Define Description ------------------------------------------------------------------------------- LPR (none) (none) (none) line printer driver PS (none) (none) (none) PostScript to file NEXT hippoplotNeXT.c hippoplotNeXT.h _NEXT_PLOT_ NeXT DPS driver hippowrapsps.c hippowrapsps.h (from hippowraps.psw) UNIXPLOT hippoplotUP.c hippoplotUP.h _UNIXPLOT_PLOT_ UNIXPlot driver XIVPLOT hippoplotXIV.cc hippoplotXIV.h _XIVPLOT_ Interviews driver X11PLOT hippoplotX11.cc hippoplotX11.h _X11PLOT_ X-11 driver (R4) By default, one of the screen drivers is included in each library, eg. libhippoX11.a is built using the X11PLOT driver. If you wish to have a combination of drivers, you could build your own library. A driver must be selected at compile time in order to be able to use it in a program. To select a driver: 1) add the codefile to MACH_DEP_MEMS in the form "$(LIBRARY)(<codefile>.o)", where <codefile>.o is the compiled object file of the files listed above. 2) add the include file to DRVR_INCS 3) add the C macro definition for C_Define (above) to PLOTCFLAGS, eg. -D_NEXT_PLOT_ Finally, you should choose one default plot driver by defining the C macro DEF_PLOT_DRVR; eg. -DDEF_PLOT_DRVR=NEXT (use the DrvrName from above). LPR and PS are always defined and one should be used as a default if you don't want any other driver defined. Make Targets ------------ all - build the regular and debug libraries and utilities libs - (default) build the standard libraries debuglibs - build the debug libraries <name> - build library lib<name>.a, eg. hippoX11, hippoNext.debug, hippoXIV.profile util - build the text/hippo converter programs clean - delete backup files install - copy libraries and certain include files to specified place hb2hippo - an HBOOK to hippo converter. Needs CERN's PackLib. test - run a few tests to see that hippo is working. VMS === We have included an MMS file for VMS under the name make.vms (this does not need the file Makefile). The file is written to compile with the X11 driver. You may need to change the logicals defined under .First to point to the correct directories (this is for RPC include files). Otherwise, many of the macro are the same as for the UNIX makefile. We do not change the name of the the Fortran file hippof.f. When linking a program with hippo on VMS, you will need the RPC and Multinet libraries. On my system, they are located at multinet_root:[multinet.library]rpc.olb multinet_root:[multinet]multinet_socket_library.exe (The socket library is really only needed to resolve bcopy and bset, something that Multinet should have put in the RPC library). The file hippo.opt is used to specify these libraries. The C macro GLOB_QUAL is defined to be "noshare" on VMS. This should allow one to build a sharable library. Miscellaneous Files =================== architecture - determine machine type on UNIX. example.hippo - example hippo ntuple in binary format (used for make test). example.hiptxt - example hippo ntuple in text format (used in make test). fhippo.c, hippof.f - the FORTRAN binding files. getarg.c - provide proper version of FORTRAN callable getarg() for NeXT. Used only in hb2hippo. hippo.opt - options file for VAX/VMS linker. hshrtnm.h - header file with short names for most of the hippo functions. (necessary on IBM VM) h_test.c - program to test basic display functions. h_test.out - reference output of h_test h_testX11.c - program to exercise the X11 driver. Problems, Changes and Bug Reports ================================= We are very interested in hearing about bugs and improvements. If you find a bug, please send mail to "hippo_bug@ebnextk.slac.stanford.edu" and we will do our best. Please try to be as specific as possible. If you have any suggestions or wish to make some contribution (eg. a new plot driver), please contact the authors. Send mail to "hippo_comment@ebnextk.slac.stanford.edu". Registration ============ It is recommended that if you are using hippo, you send mail to hippo_comment to "register" your copy. This will allow us to inform you about major updates and bug fixes.
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.