From 6069cbfc3c64cea8a137cd1c9245dca6315d4e73 Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sun, 10 May 2015 12:03:58 +0100 Subject: [PATCH] Remove outdated instructions in mingw.txt and point to the Wiki instead. --- mingw.txt | 284 +----------------------------------------------------- 1 file changed, 3 insertions(+), 281 deletions(-) diff --git a/mingw.txt b/mingw.txt index b5dc25307..5f65922a6 100644 --- a/mingw.txt +++ b/mingw.txt @@ -1,282 +1,4 @@ -Please NOTE: +Please see the Icarus Verilog Wiki for instruction on building and installing +Icarus Verilog as a native Windows application using the MinGW tools: -These directions are slightly outdated and need to be updated. -The plan is to rewrite all this using the latest MinGW at -some time in the not too distant future (CR Aug. 2009) - - -MINGW PORT OF ICARUS VERILOG - - Copyright 2006 Stephen Williams - - -Icarus Verilog source can be compiled with the mingw C/C++ compilers -to get a Windows binary that does not require the POSIX compatibility -cruft of the Cygwin.dll library. The resulting program can be run with -or without Cygwin, so this is the preferred Windows distribution form. -The configure scripts automatically detect that the compilers in use -are the mingw compilers and will configure the Makefiles appropriately. - -The mingw patch doesn't contain tools beyond the compiler, but there -is the "msys" package that the makers of Mingw publish that has enough -extra tools to get most everything else working. There are a few extra -packages needed beyond mingw and msys, and the following instructions -explain how to get them and install them. - -* Some Preliminary Comments -- PLEASE READ ME -- - -The Windows port of Icarus Verilog is the most difficult of all the -ports. The Windows system off the shelf is completely stripped, devoid -of any support for software development. Everything needed to compile -Icarus Verilog must be collected from various sources and stitched -together by hand. Normal human beings with a basic understanding of -software development can do this, but some patience (and access to the -Internet) is required. You may choose to print these instructions. FOR -BEST RESULTS, FOLLOW THESE INSTRUCTIONS CAREFULLY. - -NOTE that if you have Cygwin installed, it is best to not use a cygwin -window to do the build, as the Cygwin tools will intermix with the -mingw tools such that it is hard to be sure you are using the right -compiler. Thus, it is recommended that these steps be *not* done in a -Cygwin window. Use an MSYS window instead, and be careful that your -msys/mingw tools are not masked by paths that point to Cygwin binaries. - -I have no plans to intentionally support MSVC++ compilation. Don't ask. - -* Summary of Prerequisites - -This is a brief list of prerequisite packages, along with the URL -where each can be found. In most cases, the specific version is not -critical, but these are the versions I use. - - msys-1.0 - msysDTK-1.0 - Mingw32-5.x - ... including the sub-packages binutils, gcc-core and gcc-g++ - if you are given the option. - readline-5.0-1 - bzip2-1.0.3 - zlib-1.2.3 - gperf-3.0.1 - bison-2.1 - flex-2.5.4a - -The above table lists the packages required. It is convenient to -install them in the above order. Many of these packages are also -collected into the directory: - - - -Incidentally, besides Mingw32, none of these packages are needed after -installation of Icarus Verilog is complete. These are only needed to -build the compiler. The Mingw32 package can be used to compile VPI -modules if you choose. - -* Install MSYS and msysDTK - -The msys package is available from the mingw download site. This is -not the compiler but a collection of *nix tools ported to Windows and -wrapped in a convenient installer. The msys package is all the various -basic tools (shells, file utils, etc) and the msysDTK is extra -developer tools other than the compiler. - -Download the msys-1.x.x.exe and msysdtc-1.x.x.exe binaries. These are -self-installing packages. Install msys first, and then msysDTC. Most -likely, you want to install them in c:/msys. (The msysDTK is installed -in the same location, as it is an add-on.) - -This install should be easy and reliable. - -The installation will leave an "msys" icon on your desktop and in the -mingw sub-menu of your Start menu. This icon brings up a shell window -(a command line) that has paths all set up for executing msys and -mingw commands. This is what you will want to use while executing -commands below. - -* Install Mingw32 - -The obvious step 2, then, is install the mingw compilers. These can be -found at the web page . The Mingw-5.x.x package -is a convenient remote installer. Download this program and run -it. The installer will ask which components you want to install. You -need only the base C compiler and the C++ compiler. (You may install -other languages if you wish.) - -When I install Mingw32 (using the installer) I typically set a -destination directory of d:\mingw or the like. You will be using -that path later. - - NOTES: - If you intend to compile VPI modules for Icarus Verilog, you - need Mingw32, even if you are using a precompiled binary. VPI - modules only require Mingw32, and none of the other libraries. - -Finally, as part of installing the mingw32 compilers, remember to add -the mingw/bin directory to your path. You will need that to be able to -find the compilers later. - -* Install GnuWin32 Packages - -The GnuWin32 project is a collections of open source programs and -libraries ported to Windows. These also work well with the Mingw -compiler, and in fact Icarus Verilog uses a few pieces from this -collection. - -You will need these gnuwin32 packages to compile Icarus Verilog: - - - bzip2-1.0.3.exe - zlib-1.2.3.exe - gperf-3.0.1.exe - bison-2.1.exe - flex-2.5.4a.exe - readline-5.0-1.exe - -I suggest creating a common directory for holding all your gnuwin32 -packages. I use C:\gnuwin32. The download page at the gnuwin32 site -has a "setup" link for each of these packages. Click the setup to -download the installer for each of the desired programs, then execute -the downloaded .exe files to invoke the installer. Install into the -c:\gunwin32 directory. - - NOTES: - You need the binaries and the developer files, but you do not - need the source to these packages. The installer gives you the - choice. - -After you are done installing the gnuwin32 tools, you should add the -c:\gnuwin32\bin directory (assuming you installed in c:\gnuwin32) to -your Windows path. The msys shell will pick up your Windows path. - -* Unpack Icarus Verilog source - -Unpack the compressed tar file (.tar.gz) of the source with a command -like this: - - $ gunzip -d verilog-xxxxxxxx.tar.gz | tar xvf - - -This will create a directory "verilog-xxxxxxxx" that contains all the -source for Icarus Verilog. Descend into that directory, as that is -where we will work from now on. - - $ cd verilog-xxxxxxxx - - NOTES: - The exact name of the file will vary according to the - snapshot. The 20030303 name is only an example. - - Unpack the source into a directory that has no spaces. The - makefiles included in the source get confused by white space in - directory names. - -* Preconfigure Icarus Verilog (Not normally needed) - -Under certain cases, you may need to "preconfigure" the Icarus Verilog -source tree. You should only need to do this if you are getting the -Icarus Verilog source tree from git, or you are using an existing -source tree that you've patched to cause configure.in files to change. - - NOTE: If you are building from a fresh, bundled source tree that - you downloaded from an FTP site, then SKIP THIS STEP. Go on to - the "Configure Icarus Verilog" step below. - -First, remove any autom4te.cache directories that may exist in your -source tree. These can make a mess of autoconf runs. Then, generate -configure scripts with this command: - - $ sh autoconf.sh - -This script will run the "autoconf" command (part of the msysDTK) to -generate all the necessary "configure" scripts. This will take a few -minutes. This should go smoothly. - -* Configure Icarus Verilog - -Now we are all set to configure and compile Icarus Verilog. Choose a -destination path where you will want to install the binaries. I chose -on my system the directory "D:\iverilog". This choice is not -permanent, so don't get too much angst over it. Just choose a name -without white space. - -Now, configure the source to make the makefiles and configuration -details. Run these commands: - - $ CPPFLAGS="-Ic:/gnuwin32/include - $ LDFLAGS="-Lc:/gnuwin32/lib - $ export CPPFLAGS LDFLAGS - $ ./configure --prefix=c:/iverilog - - NOTES: - The CPPFLAGS and LDFLAGS variables tell configure where - the gnuwin32 packages are. The configure program will - write these values into the Makefiles, so you only need to - keep these variables long enough for the configure program - to work. - - Your PATH variable was set in the previous step. - - Use forward slashes as directory characters. All the various - tools prefer the forward slash. - -Substitute your chosen directory for the prefix. This will cause the -makefiles to build and the source code to configure. The configure -program will detect that this is a mingw environment and set things up -to build properly. - -(For a prefix, use the drive letter notation; the mingw compiled parts -require it, and the Cygwin tools should be able to handle it. You may -need to check or upgrade your Cygwin installation if this causes -problems for you.) - - -* Compile Icarus Verilog - -This, believe it or not, should be the easy part: - - $ make - -It could take a while. Now is a good time to go get some coffee or -take a tea break. - - -* Install Icarus Verilog - -If the compile ran OK, then next you install Icarus Verilog in the -directory you have chosen. When you are ready, install like this: - - $ make install - -This is part of what the configure program did for you. The Makefiles -now know to put the files under the D:\iverilog directory (or whatever -directory you chose) and away you go. - -You may find that you need to put some of the prerequisite DLLs into -the d:\iverilog\bin directory. These include: - - c:\mingw\bin\mingw10.dll - c:\gnuwin32\bin\readline.dll - c:\gnuwin32\bin\history.dll - c:\gnuwin32\bin\bzip2.dll - c:\gnuwin32\bin\zlib.dll - -If you already have these in your Windows path (i.e. your system32 -directory) then you do not need to copy them into the iverilog -directory. However, prepackaged Icarus Verilog binaries include these -files. - -* Running Icarus Verilog - -Finally, put the C:\iverilog\bin directory in your Windows path, and -you should be able to run the iverilog and vvp commands to your -heart's content. - -Currently, the iverilog.exe uses the path to itself to locate the -libraries and modules associated with itself. In other words, if you -execute the C:\iverilog\bin\iverilog.exe program, it will locate its -subparts in the C:\iverilog directory and subdirectories below -that. This means you can move the Icarus Verilog installation by -simply moving the root directory and all its contents. - -The vvp.pdf and iverilog.pdf files document the main commands. View -these with Acrobat reader, or any other viewer capable of displaying -PDF format files. + http://iverilog.wikia.com/wiki/Installation_Guide#Compiling_on_MS_Windows_.28MinGW.29