Update on macOS, prepare ngspice-36

This commit is contained in:
Holger Vogt 2021-11-01 14:48:21 +01:00
parent acc84b47f7
commit a457a83e66
1 changed files with 41 additions and 11 deletions

52
INSTALL
View File

@ -1,7 +1,7 @@
Ngspice installation instructions
=================================
Important notice: with ngspice-35 there has been an update
Important notice: since ngspice-35 there has been an update
to the XSPICE code models (analog.cm etc.). Therefore it
is not sufficient to only re-make the main executable,
you will have to compile and install the code models as well,
@ -11,7 +11,7 @@ Table of contents
1 Ngspice installation (LINUX)
1.1 Prerequisites
1.2 Install from tarball (e.g. ngspice-35.tar.gz)
1.2 Install from tarball (e.g. ngspice-36.tar.gz)
1.3 Install from git repository
1.4 ngspice as a shared library
1.5 Advanced Install
@ -31,7 +31,11 @@ Table of contents
9.3 make ngspice with pure CYGWIN
9.4 ngspice console app with MINGW or CYGWIN
9.5 cross compiling ngspice for Windows from LINUX
10 NGSPICE COMPILATION UNDER macOS
10 NGSPICE COMPILATION UNDER macOS
10.1 Use precompiled binary package
10.2 Compile NGSPICE manually from a tarball
10.3 Compile NGSPICE manually from git
10.4 About compilers
This file describes the procedures to install ngspice from sources.
@ -60,7 +64,7 @@ This file describes the procedures to install ngspice from sources.
will need bison and flex only.
If libfftw is detected on your system, it will be used instead of the
internal fft procedure.
internal fft algorithms.
If you want to compile the source from the git repository you need
additional software: autoconf, automake, libtool.
@ -75,14 +79,14 @@ This file describes the procedures to install ngspice from sources.
For compiling ngspice as a shared library, see section 1.4.
1.2 Install from tarball (e.g. ngspice-35.tar.gz)
1.2 Install from tarball (e.g. ngspice-36.tar.gz)
This covers installation from a release distribution (for example
ngspice-35.tar.gz, the so called tar ball).
ngspice-36.tar.gz, the so called tar ball).
After downloading the tar ball to a local directory unpack it using:
$ tar -zxvf ngspice-35.tar.gz
$ tar -zxvf ngspice-36.tar.gz
Now change directories in to the top-level source directory (where this
INSTALL file can be found).
@ -456,7 +460,7 @@ This file describes the procedures to install ngspice from sources.
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-35.tar.gz, is simple: After
Installing from the tarball, e.g. ngspice-36.tar.gz, is simple: After
expanding, you may just run ./compile_min.sh from the ngspice directory.
The default installation location of ngspice is the Windows path
@ -680,7 +684,9 @@ cross-compile-shared.sh.
10.1 Use precompiled binary package
1. Install an X11 interface (like Xquartz)
2. Install the downloaded NGSPICE package
2. Packages are available from Homebrew or MacPorts
Install the downloaded NGSPICE package
It may happen though that a package has been compiled without graphics support
3. Open a terminal window and start using NGSPICE
10.2 Compile NGSPICE manually from a tarball
@ -701,7 +707,7 @@ cross-compile-shared.sh.
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
readline fontconfig freetype libomp SM ICE
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:
@ -710,6 +716,30 @@ cross-compile-shared.sh.
./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"
Resulting dependencies of ngspice
/usr/local/opt/ncurses/lib/libncursesw.6.dylib
/usr/local/opt/gcc/lib/gcc/11/libstdc++.6.dylib
/usr/local/opt/fftw/lib/fftw3.3.dylib
/usr/local/opt/readline/lib/libreadline.8.dylib
/opt/local/lib/libXaw.7.dylib
/opt/local/lib/libXmu.6.dylib
/opt/local/lib/libXt.6.dylib
/opt/local/lib/libXext.6.dylib
/opt/local/lib/libX11.6.dylib
/opt/local/lib/libfontconfig.1.dylib
/opt/local/lib/libXrender.1.dylib
/opt/local/lib/libfreetype.6.dylib
/opt/local/lib/libSM.6.dylib
/opt/local/lib/libICE.6.dylib
/usr/local/opt/gcc/lib/gcc/11/libgomp.1.dylib
/usr/lib/libSystem.B.dylib
/usr/local/lib/gcc/11/libgcc_s.1.dylib
A compile script compile_macos.sh contains all necessary steps.
10.5 About compilers
A compile script compile_macos_clang.sh contains all necessary steps for compiling
with the Xcode clang/llvm compiler. This compiler however does not support -fopenmp.
Therefore you may download and install gcc, e.g. from Homebrew and run the new
compile script compile_macos_gcc.sh. OpenMp enables parallel processing of
BSIM3/4 model evaluation, thus speeding up simulation.