Update MacOS instructions
* Update README to reflect that bison fails to generate correct code on newer MacOS as well and bison 3.6+ works fine as well * macos.txt removed because it contains outdated instructions
This commit is contained in:
parent
6d8dea8d05
commit
e5ca8c4fa4
|
|
@ -46,9 +46,10 @@ on a UNIX-like system:
|
||||||
to work. MSVC++ 5 and 6 are known to definitely *not* work.
|
to work. MSVC++ 5 and 6 are known to definitely *not* work.
|
||||||
|
|
||||||
- bison and flex
|
- bison and flex
|
||||||
It has been reported that bison 2.3 on MacOS generates broken
|
OSX note: bison 2.3 shipped with MacOS including Catalina generates
|
||||||
code, but bison 3.0.4 works. We recommend using the Fink
|
broken code, but bison 3+ works. We recommend using the Fink
|
||||||
project version of bison and flex (finkproject.org).
|
project version of bison and flex (finkproject.org), brew version
|
||||||
|
works fine either.
|
||||||
|
|
||||||
- gperf 3.0 or later
|
- gperf 3.0 or later
|
||||||
The lexical analyzer doesn't recognize keywords directly,
|
The lexical analyzer doesn't recognize keywords directly,
|
||||||
|
|
|
||||||
88
macosx.txt
88
macosx.txt
|
|
@ -1,88 +0,0 @@
|
||||||
|
|
||||||
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.
|
|
||||||
Loading…
Reference in New Issue