From 4629fb797a55374f9424696ab2bd6309efa0387f Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sun, 3 May 2020 11:47:03 +0200 Subject: [PATCH] Update to recent install procedures --- INSTALL | 117 ++++++++++++++++++-------------------------------------- 1 file changed, 38 insertions(+), 79 deletions(-) diff --git a/INSTALL b/INSTALL index 84d30b4a3..eaf913c5f 100644 --- a/INSTALL +++ b/INSTALL @@ -217,7 +217,8 @@ This file describes the procedures to install ngspice from sources. 1.4.3 Options Specific to Using Ngspice -Most of the options now following are not well maintained, are not tested or even maybe obsolete. +Most of the options now following are not well maintained, are not tested or even maybe + obsolete and dangerous. --enable-capbypass Bypass calculation of cbd/cbs in the mosfets if the vbs/vbd @@ -263,10 +264,6 @@ Most of the options now following are not well maintained, are not tested or eve --enable-sense2 Use spice2 sensitivity analysis - --enable-xgraph - Compile the Xgraph plotting program. - Xgraph is a plotting package for X11 and was once very popular. - --with-editline=yes Enables the use of the BSD editline library (libedit). See http://www.thrysoee.dk/editline/ @@ -453,15 +450,19 @@ Most of the options now following are not well maintained, are not tested or eve 9 NGSPICE COMPILATION UNDER WINDOWS OS ==================================== -9.1 How to make ngspice with MINGW and MSYS +9.1 How to make ngspice with MINGW and MSYS2 Creating ngspice with MINGW is a straight forward procedure, - if you have MSYS/MINGW installed properly. You will need some enhancements - to the standard install (FLEX and BISON have to be made available in MSYS). + if you have MSYS2/MINGW installed properly. A modern environment is + offered by MSYS2 (https://www.msys2.org/). An installation procedure for + gcc in MSYS2 is decribed in + https://github.com/orlp/dev-on-windows/wiki/Installing-GCC--&-MSYS2 + You will need some enhancements to the standard install (git, autoconf, + automake, libtool, FLEX and BISON, all available with pacman in MSYSS2). Some links are given below which describe the procedures. - Installing from the tarball, e.g. ngspice-31.tar.gz, is now simple: After - expanding, you may just run ./compile_min.sh from the ngspice-31 directory. + Installing from the tarball, e.g. ngspice-32.tar.gz, is now simple: After + expanding, you may just run ./compile_min.sh from the ngspice-32 directory. The default installation location of ngspice is the Windows path C:\spice. The install path can be altered by passing --prefix=NEWPATH @@ -473,9 +474,10 @@ Most of the options now following are not well maintained, are not tested or eve ./configure in the normal way. The procedure of compiling a distribution (for example, a tarball from - the ngspice website), is as follows: + the ngspice website), if you don't want to use the script named above + is as follows: - $ cd ngspice-31 + $ cd ngspice-32 $ mkdir release $ cd release $ ../configure --with-wingui ...and other options @@ -528,42 +530,11 @@ Most of the options now following are not well maintained, are not tested or eve $ make $ make install - MINGW and MSYS can be downloaded from http://www.mingw.org/. The making of - ngspice and the code models *.cm for XSpice requires installation of BISON - and FLEX to MSYS. A typical installation was tested with: - - bison-2.0-MSYS.tar.gz - flex-2.5.4a-1-bin.zip - libiconv-1.9.2-1-bin.zip - libintl-0.14.4-bin.zip - - Bison 2.0 is now superseeded by newer releases (Bison 2.3, see - http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879) - - The last three are from - http://sourceforge.net/project/showfiles.php?group_id=23617. - - Installing from git needs more packages to MSYS in advance: - git, automake, autoconf, libtool - - You may also look at - http://www.mingw.org/wiki/HOWTO_Install_the_MinGW_GCC_Compiler_Suite - http://www.mingw.org/wiki/MSYS - http://www.mingw.org/wiki/HOWTO_Create_an_MSYS_Build_Environment. - - An alternative compiler setup is available at - http://tdm-gcc.tdragon.net/ - - A modern environment is offered by MSYS2 (https://www.msys2.org/). - The install tree generated during 'make install' is: - C:\Spice\ + C:\Spice64\ bin\ ngspice.exe - nghelp.exe - ngmakeidx.exe - ngnutmeg.exe cmpp.exe lib\ spice\ @@ -573,25 +544,11 @@ Most of the options now following are not well maintained, are not tested or eve extradev.cm extravt.cm share\ - info\ - dir - ngspice.info - ngspice.info-1 - .. - ngspice.info-10 man\ man1\ cmpp.1 - ngmakeidx.1 - ngmultidec.1 - ngnutmeg.1 - ngproc2mod.1 - ngsconvert.1 ngspice.1 ngspice\ - helpdir\ - ngspice.idx - ngspice.txt scripts\ ciderinit devaxis @@ -600,12 +557,14 @@ Most of the options now following are not well maintained, are not tested or eve spectrum spinit +The scripts in directory ngspice/scripts are outdated +(except for spinit, the basic ngspice initialization script), +but may give some hints how to use the ngspice control language. +9.2 make ngspice with MS Visual Studio 2019 -9.2 make ngspice with MS Visual Studio 2015/17/19 - - ngspice may be compiled with MS Visual Studio 2015 or newer. + ngspice may be compiled with MS Visual Studio 2019 or newer. CIDER and XSPICE are included, the code models for XSPICE (*.cm) are made as well. @@ -614,14 +573,10 @@ Most of the options now following are not well maintained, are not tested or eve however install the executable manually as described in the installation tree below. - The directory (visualc) with its files + The directory (visualc) with its files vngspice.sln (project starter) and vngspice.vcproj (project contents) - allows to compile and link ngspice with MS Visual Studio 2015. - Newer Visual Studio versions will translate the project files - into their compatible format (tested with MS Visual Studio 2017). - You may however deny the translation and compile in a VS 2015 - compatibility mode. + allows to compile and link ngspice with MS Visual Studio 2019. /visualc/include contains a dedicated config.h file. It contains the preprocessor definitions required to properly compile the code. @@ -636,10 +591,10 @@ Most of the options now following are not well maintained, are not tested or eve Start MS Visual Studio 2019 by double click onto vngspice.sln. After MS Visual Studio has opened up, select debug or release version - by checking 'Erstellen' , 'Konfigurations-Manager' 'Debug' or 'Release'. + by checking 'Build' , 'Configuration Manager', 'Debug' or 'ReleaseOmp'. - Start making ngspice (called vngspice.exe) by selecting 'Erstellen' and - 'vngspice neu erstellen'. + Start making ngspice (called vngspice.exe) by selecting 'Build' and + 'Rebuild vngspice'. Object files will be created and stored in visualc/debug or visualc/release. The executable will be stored to visualc/debug/bin or visualc/release/bin. @@ -695,8 +650,7 @@ Most of the options now following are not well maintained, are not tested or eve for the X11 graphics (not available in mingw). A typical configure command may look like ./configure --enable-adms --enable-xspice --enable-cider --enable-openmp - --disable-debug CFLAGS=-m32 LDFLAGS=-m32 prefix=C:/Spice - tested with TDM mingw. + --disable-debug CFLAGS=-m64 LDFLAGS=-m64 prefix=C:/Spice64 9.5 cross compiling ngspice for Windows from LINUX @@ -719,21 +673,26 @@ cross-compile-shared.sh. 1. Install an X11 interface (like Xquartz) 2. Install MacPorts from http://www.macports.org 3. Execute this command: - sudo port install bison flex ncurses xorg-libXaw - 4. Configure NGSPICE invoking "./configure". A complete set of feature is: + sudo port install autoconf automake libtool bison flex ncurses + readline fontconfig freetype libomp xorg-libXaw + 4. Use one of the scripts provided: compile_macos.sh or build-for-mac-os.sh + 5. Or run the commands manually: Configure NGSPICE invoking "./configure". + A complete set of features is: ./configure --enable-cider --enable-xspice --enable-openmp --enable-pss --enable-debug=no - 5. Compile NGSPICE invoking "make" - 6. Install NGSPICE invoking "make install" or "sudo make install" + 6. Compile NGSPICE invoking "make -j4" + 7. Install NGSPICE invoking "make install" or "sudo make install" 10.3 Compile NGSPICE manually from git 1. Install an X11 interface (like Xquartz) 2. Install MacPorts from http://www.macports.org 3. Execute this command: sudo port install automake autoconf libtool bison flex ncurses xorg-libXaw + readline fontconfig freetype libomp 4. Execute this command: ./autogen.sh or ./autogen.sh --adms (if you want to enable ADMS) 5. Configure NGSPICE invoking "./configure". A complete set of feature is: - ./configure --enable-cider --enable-xspice --enable-openmp --enable-pss --enable-debug=no - ./configure --enable-adms --enable-cider --enable-xspice --enable-openmp --enable-pss --enable-debug=no (if you want to enable ADMS) - 6. Compile NGSPICE invoking "make" + ./configure --enable-cider --enable-xspice --enable-openmp --enable-pss --with-readline=yes --enable-debug=no + or (if you want to enable ADMS) + ./configure --enable-adms --enable-cider --enable-xspice --enable-openmp --enable-pss --with-readline=yes --enable-debug=no + 6. Compile NGSPICE invoking "make -j4" 7. Install NGSPICE invoking "make install" or "sudo make install"