
This file describes the procedure to build and install Icarus Verilog
on Mac OS X.  I assume that you have experience with Unix and
Terminal.app and a basic knowledge of how to download, compile and
install software from source form.

Yasuhisa Kato wrote another set of instructions that has also been
known to work: <http://adwis.com/verilog/index.html>. You may try
those instructions instead of these, although they are essentially
quite similar.

1)  Obtain and install a libdl compatibility library.

  If you don't already have /usr/local/lib/libdl.{a,dylib} and
  /usr/local/include/dlfcn.h, you can obtain the source for a
  compatibility layer from at least one of two places:

  http://download.sourceforge.net/fink/dlcompat-20010831.tar.gz
  http://www.omnigroup.com/~bungi/dlcompat-20010831.tar.gz

  Unpack this tar file and read the README and Makefile.  Install the
  library according to the instructions.  Installation in /usr/local
  is strongly recommended since otherwise autoconf very likely won't
  be able to find it.

2) Make sure you have a copy of the 'gperf' tool.  This does not come
   with the Mac OS X 10.1 developer tools, so you probably don't.  You
   can check with:

     %  which gperf

  If not found, grab a gperf source package and install it. See "GPERF
   FOR MACOSX" below.

  Snapshots of Icarus Verilog source now come with the
  lexor_keyword.cc file pre-made, so if you have trouble with gperf,
  then just make sure the distributed lexor_keyword.cc is newer than
  lexor_keyword.gperf, and use that.

3) If working with source from git, you must run autoconf in the top
   directory.  This is simplified by the 'autoconf.sh' script at the
   top of the source tree:

   sh ./autoconf.sh

   This will also run the gperf command, so make sure you've completed
   step #2 first.

4)  Configure, build and install the Icarus Verilog sources as normal.

  The only change you need to make here is to use a configure command like:

    % CC="cc -no-cpp-precomp" ./configure

  This assumes you are using 'sh', 'zsh', or 'bash'.  If you are using
  'csh' or 'tcsh', then you'll want something like:

    % setenv CC "cc -no-cpp-precomp"
    % ./configure

  You can, of course, add other configure options.

6) NOTE: 'make check' will not work until after 'make install' has been run
   since dynamically loaded code is searched for in the install location
   rather than the build location.  The dlopen emulation library doesn't
   support a search path option.

   If you are worried about overwriting a working installation with a new,
   potentially broken one, you can always configure using --prefix="/some/path",
   and install there to make sure everything is working and then re-configure
   with the real path you want to install at, make clean, and make install.

5) Done!


GPERF FOR MACOSX

  Get version 2.7.2 of gperf from here:

    <ftp://ftp.gnu.org/gnu/gperf/gperf-2.7.2.tar.gz>

  Get a MacosX patch from here:

    http://www.eternal.nest.or.jp/~shiro/binaries/gperf-2.7.2-macosx-patch.gz

  Apply the patch to the gperf-2.7.2 source that you previously
  downloaded, then follow the remaining gperf installation
  instructions.
