Imported Upstream version 20011021

parent ce7d4575
gwave was written by Steve Tell <tell@cs.unc.edu> gwave was written by Steve Tell <tell@cs.unc.edu> or <steve@telltronics.org>
20010327
Completed the basics of having two displayed measurements by adding
a guile function and some menu code to flip between the
built-in "val(cursor1)" and "val(cursor1)-val(cursor0)" functions
for the second measurement.
20010822
Enhance file-reading to handle the spice3raw variant produced by
Silvaco's SmartSpice.
Handle log scales properly for plotting with GNU Graph.
20010911
Better handling of logscale-X, zooming and scrollbar due to a
patch from Paul Maurer
20010927
configure now rejects non-GNU versions of "graph" even if they're
earlier in $PATH
20011020
Clean abort with better error message if we can't find the scheme
files or they're fouled up
Some installation notes for gwave.
Prerequesites:
Gtk-1.2 (http://www.gtk.org/)
Guile (http://www.gnu.org/software/guile/guile.html)
Guile-Gtk (http://www.ping.de/sites/zagadka/guile-gtk/)
GNU Plotutils-2.2 or later (optional, only used for ploting/exporting)
On Red Hat 6.2 Linux, I use these RPMs:
gtk+-1.2.6-7 (included in RH6.2)
gtk+-devel-1.2.6-7 (included in RH6.2)
glib-1.2.6-7 (included in RH6.2)
glib-devel-1.2.6-7 (included in RH6.2)
guile-gtk-0.19-1
http://www.ping.de/sites/zagadka/guile-gtk/download/guile-gtk-0.19.tar.gz
guile-1.4-2sgt
http://www.telltronics.org/~tell/dist/guile-1.4-2sgt.i386.rpm
http://www.telltronics.org/~tell/dist/guile-1.4-2sgt.src.rpm
An ancient version of guile shipped with RedHat 6.2.
It is unusable with gwave.
On RedHat 7.1, I use:
gtk+-1.2.9-4 (included in RH7.1)
gtk+-devel-1.2.9-4 (included in RH7.1)
glib-1.2.9-1 (included in RH7.1)
glib-devel-1.2.9-1 (included in RH7.1)
guile-gtk-0.19-1
guile-1.4-3sgt
On RedHat 7.1, you can also use the guile-1.3.4 that comes standard.
In that case, use guile-gtk 0.18
The guile-1.4 RPMs listed above are of my own construction (you've
been warned).
CAUTION: Use only a guile-gtk known to work with whatever version of
guile you have. Here are combinations known to work:
guile guile-gtk
1.4 0.19
1.3.4 0.18
1.3.4 0.17
Mixing guile-gtk 0.19 with guile-1.3.4 definitely fails,
as does guile-gtk 0.18 with guile-1.4.
I don't yet know of any guile-gtk for the guile-1.5.x prereleases or
the upcomming new guile-1.6 release.
Gwave may work with earlier versions of guile too, but I haven't
tested this recently. The Guile and guile-gtk shipped with RedHat
Linux even as late as release 6.2 are of this ancient category, and I
haven't tried building gwave with them recently.
I recommend verifying that guile, gtk, and guile-gtk all work
individualy before trying to build gwave using them. Gtk and
guile-gtk both come with "test-gtk" programs in their respective
examples directories which are ideal for this purpose.
** Please try this before reporting guile-gtk related problems with gwave.
In order to generate postscript or PNM file output, gwave requires GNU
graph, from the GNU plotutils package. The old berkely/sysv "graph"
program sometimes found on commercial unixes doesn't work. Configure
attempts to locate GNU graph and ignore other programs named "graph"
that may be found in $PATH. If the automatic detection doesn't work,
try somthing like this:
GRAPH="/path/to/gnu/graph" ./configure ...
Then, run configure as described below.
Running gwave without installing it.
------------------------------------
After compiling, you may wish to test gwave before doing a "make install."
Gwave normally looks for its guile support files beneath
$PREFIX/share/guile in the standard guile module structure; the
complete pathnames would be somthing like
$PREFIX/share/guile/app/gwave/cmds.scm
If gwave can't find any of its startup guile code, it aborts with a
moderately useful error message.
The GWAVE_GUILE_DIR environment variable can be used to make gwave
look in an alternate directory for these guile files. Set
GWAVE_GUILE_DIR to the full pathname of the src directory in this
distribution, for example if this file is called
/home/tell/build/gwave-20000301/INSTALL, set
GWAVE_GUILE_DIR=/home/tell/build/gwave-20000301/src
Basic Installation Basic Installation
================== ==================
......
# -*- mode: Makefile -*- # -*- mode: Makefile -*-
## Process this file with automake to produce Makefile.in ## Process this file with automake to produce Makefile.in
SUBDIRS=spicefile SUBDIRS=spicefile utilities src scheme doc remote
INCLUDES=-I$(srcdir)/spicefile EXTRA_DIST=autogen.sh gwave.spec TODO
bin_PROGRAMS = gwave
gwave_SOURCES = cmd.c gtkmisc.h wavewin.c draw.c \
gwave.c event.c gwave.h gtkmisc.c pixmaps.c wavelist.c dnd.c print.c
gwave_LDADD = $(srcdir)/spicefile/libspicefile.a
gwave_LDFLAGS = @GTK_LIBS@
CFLAGS = @CFLAGS@ @GTK_CFLAGS@
# TODO: get autoconf/automake to compile/link with these if we don't
# HAVE_POSIX_REGEXP: regexp.h regexp.c regerror.c regmagic.h
MOSTLYCLEANFILES = core *~
CLEANFILES = core *~
DISTCLEANFILES = core *~
MAINTAINERCLEANFILES = core *~
EXTRA_DIST=regexp.tar.gz gwave.gtkrc autogen.sh
# distribute some extra directories that don't have anything to build # distribute some extra directories that don't have anything to build
# or install in them # or install in them
dist-hook: dist-hook:
mkdir $(distdir)/doc
cp -p doc/* $(distdir)/doc
mkdir $(distdir)/examples mkdir $(distdir)/examples
cp -p examples/* $(distdir)/examples rsync -C -p examples/* $(distdir)/examples
mkdir $(distdir)/iconwork mkdir $(distdir)/icons
cp -p iconwork/* $(distdir)/iconwork rsync -C -p icons/* $(distdir)/icons
...@@ -59,71 +59,48 @@ POST_INSTALL = : ...@@ -59,71 +59,48 @@ POST_INSTALL = :
NORMAL_UNINSTALL = : NORMAL_UNINSTALL = :
PRE_UNINSTALL = : PRE_UNINSTALL = :
POST_UNINSTALL = : POST_UNINSTALL = :
AWK = @AWK@
CC = @CC@ CC = @CC@
GRAPH = @GRAPH@
GTK_CFLAGS = @GTK_CFLAGS@ GTK_CFLAGS = @GTK_CFLAGS@
GTK_CONFIG = @GTK_CONFIG@ GTK_CONFIG = @GTK_CONFIG@
GTK_LIBS = @GTK_LIBS@ GTK_LIBS = @GTK_LIBS@
GUILEGTK_CFLAGS = @GUILEGTK_CFLAGS@
GUILEGTK_LIBS = @GUILEGTK_LIBS@
GUILE_CFLAGS = @GUILE_CFLAGS@
GUILE_LDFLAGS = @GUILE_LDFLAGS@
LN_S = @LN_S@
MAINT = @MAINT@ MAINT = @MAINT@
MAKEINFO = @MAKEINFO@ MAKEINFO = @MAKEINFO@
PACKAGE = @PACKAGE@ PACKAGE = @PACKAGE@
PERL = @PERL@
RANLIB = @RANLIB@ RANLIB = @RANLIB@
READLINE_LIB = @READLINE_LIB@
VERSION = @VERSION@ VERSION = @VERSION@
bggtk = @bggtk@
ggtk_extra_loadpath = @ggtk_extra_loadpath@
ggtk_hack_cflags = @ggtk_hack_cflags@
ggtk_hack_dir = @ggtk_hack_dir@
ggtkhack_files = @ggtkhack_files@
SUBDIRS = spicefile SUBDIRS = spicefile utilities src scheme doc remote
INCLUDES = -I$(srcdir)/spicefile EXTRA_DIST = autogen.sh gwave.spec TODO
bin_PROGRAMS = gwave
gwave_SOURCES = cmd.c gtkmisc.h wavewin.c draw.c gwave.c event.c gwave.h gtkmisc.c pixmaps.c wavelist.c dnd.c print.c
gwave_LDADD = $(srcdir)/spicefile/libspicefile.a
gwave_LDFLAGS = @GTK_LIBS@
CFLAGS = @CFLAGS@ @GTK_CFLAGS@
# TODO: get autoconf/automake to compile/link with these if we don't
# HAVE_POSIX_REGEXP: regexp.h regexp.c regerror.c regmagic.h
MOSTLYCLEANFILES = core *~
CLEANFILES = core *~
DISTCLEANFILES = core *~
MAINTAINERCLEANFILES = core *~
EXTRA_DIST = regexp.tar.gz gwave.gtkrc autogen.sh
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = CONFIG_CLEAN_FILES = gwave.spec
PROGRAMS = $(bin_PROGRAMS)
DEFS = @DEFS@ -I. -I$(srcdir) -I.
CPPFLAGS = @CPPFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
gwave_OBJECTS = cmd.o wavewin.o draw.o gwave.o event.o gtkmisc.o \
pixmaps.o wavelist.o dnd.o print.o
gwave_DEPENDENCIES = $(srcdir)/spicefile/libspicefile.a
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \ DIST_COMMON = README ./stamp-h.in AUTHORS COPYING ChangeLog INSTALL \
Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 config.h.in \ Makefile.am Makefile.in NEWS TODO acconfig.h acinclude.m4 aclocal.m4 \
configure configure.in install-sh missing mkinstalldirs config.h.in configure configure.in gwave.spec.in install-sh missing \
mkinstalldirs
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = gtar TAR = gtar
GZIP_ENV = --best GZIP_ENV = --best
SOURCES = $(gwave_SOURCES)
OBJECTS = $(gwave_OBJECTS)
all: all-redirect all: all-redirect
.SUFFIXES: .SUFFIXES:
.SUFFIXES: .S .c .o .s
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile
...@@ -131,7 +108,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status ...@@ -131,7 +108,7 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
cd $(top_builddir) \ cd $(top_builddir) \
&& CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in $(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
cd $(srcdir) && $(ACLOCAL) cd $(srcdir) && $(ACLOCAL)
config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
...@@ -166,54 +143,8 @@ distclean-hdr: ...@@ -166,54 +143,8 @@ distclean-hdr:
-rm -f config.h -rm -f config.h
maintainer-clean-hdr: maintainer-clean-hdr:
gwave.spec: $(top_builddir)/config.status gwave.spec.in
mostlyclean-binPROGRAMS: cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
distclean-binPROGRAMS:
maintainer-clean-binPROGRAMS:
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
$(mkinstalldirs) $(DESTDIR)$(bindir)
@list='$(bin_PROGRAMS)'; for p in $$list; do \
if test -f $$p; then \
echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
$(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
else :; fi; \
done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
list='$(bin_PROGRAMS)'; for p in $$list; do \
rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
done
.c.o:
$(COMPILE) -c $<
.s.o:
$(COMPILE) -c $<
.S.o:
$(COMPILE) -c $<
mostlyclean-compile:
-rm -f *.o core *.core
clean-compile:
distclean-compile:
-rm -f *.tab.c
maintainer-clean-compile:
gwave: $(gwave_OBJECTS) $(gwave_DEPENDENCIES)
@rm -f gwave
$(LINK) $(gwave_LDFLAGS) $(gwave_OBJECTS) $(gwave_LDADD) $(LIBS)
# This directory's subdirectories are mostly independent; you can cd # This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile. # into them and run `make' without going through this Makefile.
...@@ -345,7 +276,7 @@ distdir: $(DISTFILES) ...@@ -345,7 +276,7 @@ distdir: $(DISTFILES)
@for file in $(DISTFILES); do \ @for file in $(DISTFILES); do \
d=$(srcdir); \ d=$(srcdir); \
if test -d $$d/$$file; then \ if test -d $$d/$$file; then \
cp -pr $$/$$file $(distdir)/$$file; \ cp -pr $$d/$$file $(distdir)/$$file; \
else \ else \
test -f $(distdir)/$$file \ test -f $(distdir)/$$file \
|| ln $$d/$$file $(distdir)/$$file 2> /dev/null \ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
...@@ -363,22 +294,6 @@ distdir: $(DISTFILES) ...@@ -363,22 +294,6 @@ distdir: $(DISTFILES)
fi; \ fi; \
done done
$(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
cmd.o: cmd.c gwave.h spicefile/wavefile.h spicefile/spicestream.h
dnd.o: dnd.c config.h gwave.h spicefile/wavefile.h \
spicefile/spicestream.h gtkmisc.h
draw.o: draw.c gwave.h spicefile/wavefile.h spicefile/spicestream.h
event.o: event.c gwave.h spicefile/wavefile.h spicefile/spicestream.h
gtkmisc.o: gtkmisc.c
gwave.o: gwave.c config.h gwave.h spicefile/wavefile.h \
spicefile/spicestream.h
pixmaps.o: pixmaps.c
print.o: print.c config.h gwave.h spicefile/wavefile.h \
spicefile/spicestream.h
wavelist.o: wavelist.c config.h gwave.h spicefile/wavefile.h \
spicefile/spicestream.h
wavewin.o: wavewin.c config.h gwave.h spicefile/wavefile.h \
spicefile/spicestream.h
info-am: info-am:
info: info-recursive info: info-recursive
dvi-am: dvi-am:
...@@ -390,7 +305,7 @@ installcheck: installcheck-recursive ...@@ -390,7 +305,7 @@ installcheck: installcheck-recursive
all-recursive-am: config.h all-recursive-am: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive $(MAKE) $(AM_MAKEFLAGS) all-recursive
install-exec-am: install-binPROGRAMS install-exec-am:
install-exec: install-exec-recursive install-exec: install-exec-recursive
install-data-am: install-data-am:
...@@ -399,49 +314,39 @@ install-data: install-data-recursive ...@@ -399,49 +314,39 @@ install-data: install-data-recursive
install-am: all-am install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-recursive install: install-recursive
uninstall-am: uninstall-binPROGRAMS uninstall-am:
uninstall: uninstall-recursive uninstall: uninstall-recursive
all-am: Makefile $(PROGRAMS) config.h all-am: Makefile config.h
all-redirect: all-recursive-am all-redirect: all-recursive-am
install-strip: install-strip:
$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs-recursive installdirs: installdirs-recursive
installdirs-am: installdirs-am:
$(mkinstalldirs) $(DESTDIR)$(bindir)
mostlyclean-generic: mostlyclean-generic:
-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic: clean-generic:
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic: distclean-generic:
-rm -f Makefile $(CONFIG_CLEAN_FILES) -rm -f Makefile $(CONFIG_CLEAN_FILES)
-rm -f config.cache config.log stamp-h stamp-h[0-9]* -rm -f config.cache config.log stamp-h stamp-h[0-9]*
-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
maintainer-clean-generic: maintainer-clean-generic:
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) mostlyclean-am: mostlyclean-hdr mostlyclean-tags mostlyclean-generic
mostlyclean-am: mostlyclean-hdr mostlyclean-binPROGRAMS \
mostlyclean-compile mostlyclean-tags \
mostlyclean-generic
mostlyclean: mostlyclean-recursive mostlyclean: mostlyclean-recursive
clean-am: clean-hdr clean-binPROGRAMS clean-compile clean-tags \ clean-am: clean-hdr clean-tags clean-generic mostlyclean-am
clean-generic mostlyclean-am
clean: clean-recursive clean: clean-recursive
distclean-am: distclean-hdr distclean-binPROGRAMS distclean-compile \ distclean-am: distclean-hdr distclean-tags distclean-generic clean-am
distclean-tags distclean-generic clean-am
distclean: distclean-recursive distclean: distclean-recursive
-rm -f config.status -rm -f config.status
maintainer-clean-am: maintainer-clean-hdr maintainer-clean-binPROGRAMS \ maintainer-clean-am: maintainer-clean-hdr maintainer-clean-tags \
maintainer-clean-compile maintainer-clean-tags \
maintainer-clean-generic distclean-am maintainer-clean-generic distclean-am
@echo "This command is intended for maintainers to use;" @echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild." @echo "it deletes files that may require special tools to rebuild."
...@@ -450,11 +355,7 @@ maintainer-clean: maintainer-clean-recursive ...@@ -450,11 +355,7 @@ maintainer-clean: maintainer-clean-recursive
-rm -f config.status -rm -f config.status
.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \ .PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
mostlyclean-binPROGRAMS distclean-binPROGRAMS clean-binPROGRAMS \ install-data-recursive uninstall-data-recursive install-exec-recursive \
maintainer-clean-binPROGRAMS uninstall-binPROGRAMS install-binPROGRAMS \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile install-data-recursive \
uninstall-data-recursive install-exec-recursive \
uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \ uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
all-recursive check-recursive installcheck-recursive info-recursive \ all-recursive check-recursive installcheck-recursive info-recursive \
dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \ dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
...@@ -470,12 +371,10 @@ maintainer-clean-generic clean mostlyclean distclean maintainer-clean ...@@ -470,12 +371,10 @@ maintainer-clean-generic clean mostlyclean distclean maintainer-clean
# distribute some extra directories that don't have anything to build # distribute some extra directories that don't have anything to build
# or install in them # or install in them
dist-hook: dist-hook:
mkdir $(distdir)/doc
cp -p doc/* $(distdir)/doc
mkdir $(distdir)/examples mkdir $(distdir)/examples
cp -p examples/* $(distdir)/examples rsync -C -p examples/* $(distdir)/examples
mkdir $(distdir)/iconwork mkdir $(distdir)/icons
cp -p iconwork/* $(distdir)/iconwork rsync -C -p icons/* $(distdir)/icons
# Tell versions [3.59,3.63) of GNU make to not export all variables. # Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded. # Otherwise a system limit (for SysV at least) may be exceeded.
......
Gwave NEWS --- history of user-visible changes. -*- text -*- Gwave NEWS --- history of user-visible changes. -*- text -*-
New in 20011020:
- better measurement: value at both cursors or difference in values at cursors
- enhanced handling of log scales
- yet more file-reading improvements and general bug fixes
New in 20001123:
- Saving wave and panel configuration as guile scripts.
- Executing guile scripts from menu or command line (-s <script> option)
- Remote control using the gwave-exec and gwaverepl utilities
New in 20001004:
- Spice3/Ngspice rawfile improvements: binary files now work!
- Other minor file-reading improvements.
- spice source code to examples for which I could still find it.
New in 20001004:
- Major improvements to handling of binary files produced by HSPICE.
- Overhaul of input of spice3/ngspice raw files; more robust and tolerant
of complex numbers.
- User interface improvements: tooltips added. User's .gwaverc no longer
required to do lots of standard setup. system.gwaverc can be copied
to $HOME/.gwaverc and edited to taste.
- sp2sp utility included for converting any spice file readable by gwave into
a convenient tabular ascii format.
New in 20000518:
- Logarithmic scales working on both X and Y axis.
New in 20000509:
- First public guile/guile-gtk release.
- Popup menu on visible-wave button can activate per-waveform dialog box
- Logarithmic scale on Y axis working; on X axis it isn't quite there yet.
New in 20000108:
- Merged in guile and guile-gtk; the GUI is mostly written in guile now.
- Some additional improvements to reading of HSPICE input. Reading partial
files from simulations still in progress works for ascii .tr0 files.
New in 1990716: New in 1990716:
Improved handling of HSPICE ascii format in libspicefile - tested on files Improved handling of HSPICE ascii format in libspicefile - tested on files
from 98.4 on HP-UX and Solaris. from 98.4 on HP-UX and Solaris.
......
This diff is collapsed.
ability to get wave data from guile
(wavevar-value x) - return value at x-coord.
survey existing guile primitives and add new ones to fill out a useful set
for scripting in general, not just what the GUI offers at the moment.
custom measurements
Y zoom methods:
manual: type in min and max for panel
automatic-global: what we do now
automatic-window: alway show min, max in current window zoom extents
oneshot-global: compute min,max when clicked, not continually.
oneshot-window:
plotting quick-fix
make log-scale work in plots
overhaul plotting
move mostly into scheme
keep "wave data export" function in C
dialog box for options
documentation
docstring extraction from guile
get reference-manual auto-generation working
write some introductory text to hold the auto-generated parts together
example guile scripts for useful functions
draw a real graticule in wave panels
move to top, move to bottom to select drawing order for visiblewaves in panel
"envelope" drawing algorithm (that doesn't alias when too many
datapoints for current zoom)
Add an indication that there may be too many points on screen (simply
look at number of ivar points vs. number of pixels)
additional drawing styles
linestyles - dashed, etc.
symbols showing actual datapoints
...@@ -17,6 +17,9 @@ ...@@ -17,6 +17,9 @@
/* do we have Gtk+? */ /* do we have Gtk+? */
#undef HAVE_GTK #undef HAVE_GTK
/* do we have sys/types.h? */
#undef HAVE_SYS_TYPES_H
/* does the Gtk+ we found have the new drag-and-drop stuff? /* does the Gtk+ we found have the new drag-and-drop stuff?
* do we need to use gtk_scrolled_window_add_with_viewport()? * do we need to use gtk_scrolled_window_add_with_viewport()?
*/ */
...@@ -26,3 +29,85 @@ ...@@ -26,3 +29,85 @@
*/ */
#undef PROG_GRAPH #undef PROG_GRAPH
/* Define this if your libguile has a scm_eval_string that is safe against
re-entry by continuations. This should be true of snapshots newer than
970928. */
#undef HAVE_SAFE_SCM_EVAL_STRING
/* Define this if your libguile exports scm_puts, meaning that
scm_gen_puts should no longer be used. This should be true of
snapshots newer than 971014. */
#undef HAVE_SCM_PUTS
/* Define this if your libguile has gh_vector_ref instead of gh_vref,
meaning that gh_vref should no longer be used. This should be
true of snapshots newer than 971012. */
#undef HAVE_GH_VECTOR_REF
/* Define this if your libguile has gh_vector_set_x instead of gh_vset,
meaning that gh_vset should no longer be used. This should be
true of snapshots newer than 971020. */
#undef HAVE_GH_VECTOR_SET_X
/* Define this if your libguile has readline support. This should be
true of snapshots newer than 971023. */
#undef HAVE_SCM_READLINE
/* Define this if your libguile has gh_length and not
gh_list_length. This should be true of snapshots newer than 970915. */
#undef HAVE_GH_LENGTH
/* Define this if your libguile has scm_parse_path. */
#undef HAVE_SCM_PARSE_PATH
/* Define this if your libguile has scm_internal_select. */
#undef HAVE_SCM_INTERNAL_SELECT
/* Define this if your libguile has scm_the_last_stack_fluid instead
of scm_the_last_stack_var. */
#undef HAVE_SCM_THE_LAST_STACK_FLUID
/* Define this if your libguile has scm_internal_cwdr. */
#undef HAVE_SCM_INTERNAL_CWDR
/* Define this if your libguile has scm_internal_stack_catch. */
#undef HAVE_SCM_INTERNAL_STACK_CATCH
/* Define this if your libguile has scm_internal_parse_path,
which should be used instead of scm_parse_path from C. */
#undef HAVE_SCM_INTERNAL_PARSE_PATH
/* Define this if your libguile has a scm_make_vector, which needs
three arguments. This should be true only of older versions. */
#undef HAVE_SCM_MAKE_VECTOR_3_ARGS
/* Define this if your libguile has scm_load_startup_files,
which means the hack to get boot-9.scm to be loaded is unnecessary
and even dangerous. */
#undef HAVE_SCM_LOAD_STARTUP_FILES
/* Define this if your libguile has scm_make_hook, indicating
C-level support for hooks. */
#undef HAVE_SCM_MAKE_HOOK
/* Define this if your libguile has scm_create_hook, which replaces
the deprecated scm_make_named_hook. */
#undef HAVE_SCM_CREATE_HOOK
/* Define this if your libguile has the scm_hook_empty_p primitive */
#undef HAVE_SCM_HOOK_EMPTY_P
/* Define this if your libguile has scm_make_smob_type_mfpe,
the new-style SMOB interface (>= guile-1.3.2 */
#undef HAVE_SCM_MAKE_SMOB_TYPE_MFPE
/* Define this if your libguile has scm_strport_to_string
(added sometime after guile-1.3) */