Codebase list gtkwave / lintian-fixes/main

Tree @lintian-fixes/main (Download .tar.gz)

1) Type ./configure
2) make
3) make install (as root)

Make sure you copy the .gtkwaverc file to your home directory or to your
VCD project directory.  It contains the prefs for a good configuration
that most people find ergonomic.  It is not strictly necessary however.

[Note: for mingw builds with gtk+-1, you might need a fake gtk-config file like 
the following..]


if [ "$1" == "--libs" ]
        echo -L/home/bybell/libs -lgck -lgdk-1.3 -lgimp-1.2 -lgimpi -lgimpui-1.2 -lglib-1.3 -lgmodule-1.3 -lgnu-intl -lgobject-1.3 -lgthread-1.3 -lgtk-1.3 -liconv-1.3 -ljpeg -llibgplugin_a -llibgplugin_b -lpng -lpthread32 -ltiff-lzw -ltiff-nolzw -ltiff

if [ "$1" == "--cflags" ]
        echo " -mms-bitfields -I/home/bybell/src/glib -I/home/bybell/src/gtk+/gtk -I/home/bybell/src/gtk+/gdk -I/home/bybell/src/gtk+ " 

[Note2: for mingw with gtk+-2, you don't need to do anything except have
pkg-config in your PATH however the following note is from Thomas Uhle.]

Important to know is to compile with CFLAGS=-mms-bitfields in Windows in order to link correctly
to the GTK+ dlls. This is how I did configure GTKWave with additional optimisation switches:

./configure CFLAGS='-Wall -O3 -mcpu=i686 -mms-bitfields -ffast-math -fstrict-aliasing'

After that you may just call make the usual way.

Note that Ver Structural Verilog Compiler AET files are no longer supported. 
They have been superceded by LXT.  Also note that the AMULET group will be
taking over maintenance of the viewer effective immediately.


AMULET has ceased development of the 2.x branch of the viewer.  1.3
apparently is the only active version currently.


The 1.3 series has been promoted to 3.x in order to prevent confusion over
what version of the viewer is the latest.  Starting with 3.x, the viewer
supports source code annotation.


Add these flags to your compile for new warnings on AMD64:
-g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic

on i386:
-g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables


For cvs access to the experimental, pre-release sourcetree on Sourceforge:
cvs login
[press enter]
cvs -z3 co -P gtkwave3


CVS is no longer being updated, for SVN access:
svn co gtkwave



Note (1) For Ubuntu users:

I had to do the following to get it to install directly. Please
include in INSTALL .txt as an option for ubuntu users. Other linux
distributions might have other things to do.

sudo apt-get install libgtk2.0-dev
./configure --with-tcl=/usr/lib/tcl8.4 --with-tk=/usr/lib/tk8.4


Note (2) For Ubuntu users:

If your compile fails because gzopen64 cannot be found, you will either have
to fix your Ubuntu install or use the version of libz in gtkwave:

./configure --enable-local-libz


Note (3) For Ubuntu users (version 11.10):

sudo apt-get install libjudy-dev
sudo apt-get install libbz2-dev
sudo apt-get install liblzma-dev
sudo apt-get install libgconf2-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install tcl-dev
sudo apt-get install tk-dev
sudo apt-get install gperf
sudo apt-get install gtk2-engines-pixbuf

Configure then as:

./configure --enable-judy --enable-struct-pack --with-gconf



Notes for Mac OSX users:

Install MacPorts then

sudo port -v selfupdate
sudo port install Judy tcl tk xz-devel gtk2

If Quartz is used:
sudo port install gtk-osx-application

./configure --prefix=/opt/local --enable-judy --enable-struct-pack "CFLAGS=-I/opt/local/include -O2 -g" LDFLAGS=-L/opt/local/lib --no-create --no-recursion

Tcl works in the OSX version of gtkwave starting with version 3.3.26.  

At this point all features working on Linux should be functional on the Mac,
except that twinwave does not render to a single window when Quartz is used
instead of X11.

If you wish to use llvm, also add "CC=llvm-gcc" and change the "-O2" in CFLAGS
to "-O4".

At the current time Quartz support is experimental.  Please report any bugs
encountered as compared to X11 function.


Note that the preferred environment for Quartz builds is jhbuild.  To build
gtkwave as an app bundle (while in jhbuild shell):

./configure --enable-judy --enable-struct-pack --prefix=/Users/$USER/gtk/inst
make install
cd contrib/bundle_for_osx

This assumes that Judy arrays and XZ were both already compiled and installed.
If Judy arrays are not installed, do not add --enable-judy.
If XZ is not installed, add --disable-xz.

The current environment used is modulesets.  Bug 664894 has an interim fix in
the binary distribution by applying patches using the
contrib/bundle_for_osx/gtk_diff_against_modulesets.patch file.



MSYS2 notes for creating a working environment for compiling gtkwave:

pacman -Syuu 
[repeat "pacman -Syuu" multiple times until environment stabilizes]
pacman -S --needed base-devel mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain git subversion mercurial mingw-w64-i686-cmake mingw-w64-x86_64-cmake 
pacman -S base-devel mingw-w64-toolchain mingw-w64-i686-gtk2 
pacman -S mingw-w64-i686-gtk2 
pacman -S mingw-w64-x86_64-gtk2 
pacman -S mingw-w64-i686-gtk3 
pacman -S mingw-w64-x86_64-gtk3 



Add --enable-gtk3 to the ./configure invocation to build against GTK3.

  --enable-gtk3           Causes the GTK+ frontend to be built with gtk3
                          instead of gtk2.