From f36a230aac5725fd223e13323900fd1261871dad Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Tue, 24 Dec 2024 09:59:27 +0100 Subject: [PATCH] Remove outdated stuff, not directly linked to ngspice --- INSTALL | 205 +++++++++----------------------------------------------- 1 file changed, 32 insertions(+), 173 deletions(-) diff --git a/INSTALL b/INSTALL index c0f082586..fb3d5bf5a 100644 --- a/INSTALL +++ b/INSTALL @@ -21,23 +21,17 @@ Table of contents 1.5.3 Options Useful for Debugging Ngspice 1.6 Installation on Red Hat, Oracle or CentOS Linux 2 Compilers and Options - 3 Compiling For Multiple Architectures - 4 Installation Names - 5 Optional Features - 6 Specifying the System Type - 7 Sharing Defaults - 8 Operation Controls - 9 NGSPICE COMPILATION UNDER WINDOWS OS - 9.1 How to make ngspice with MINGW and MSYS - 9.2 make ngspice with MS Visual Studio 2022 - 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.1 Use precompiled binary package - 10.2 Compile NGSPICE manually from a tarball - 10.3 Compile NGSPICE manually from git - 10.4 About compilers + 3 NGSPICE COMPILATION UNDER WINDOWS OS + 3.1 How to make ngspice with MINGW and MSYS + 3.2 make ngspice with MS Visual Studio 2022 + 3.3 make ngspice with pure CYGWIN + 3.4 ngspice console app with MINGW or CYGWIN + 3.5 cross compiling ngspice for Windows from LINUX + 4 NGSPICE COMPILATION UNDER macOS + 4.1 Use precompiled binary package + 4.2 Compile NGSPICE manually from a tarball + 4.3 Compile NGSPICE manually from git + 4.4 About compilers This file describes the procedures to install ngspice from sources. @@ -340,146 +334,14 @@ This file describes the procedures to install ngspice from sources. 2 Compilers and Options ===================== - Some systems require unusual options for compilation or linking that - the `configure' script does not know about. You can give `configure' - initial values for variables by setting them in the environment. Using - a Bourne-compatible shell, you can do that on the command line like - this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure - - Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure - On CentOS with older GCC it might be necessary to add -std=c99 to the CFLAGS in ./compile_linux.sh . -3 Compiling For Multiple Architectures + +3 NGSPICE COMPILATION UNDER WINDOWS OS ==================================== - You can compile the package for more than one kind of computer at the - same time, by placing the object files for each architecture in their - own directory. To do this, you must use a version of `make' that - supports the `VPATH' variable, such as GNU `make'. `cd' to the - directory where you want the object files and executables to go and run - the `configure' script. `configure' automatically checks for the - source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not supports the `VPATH' - variable, you have to compile the package for one architecture at a time - in the source code directory. After you have installed the package for - one architecture, use `make distclean' before reconfiguring for another - architecture. - -4 Installation Names - ================== - - By default, `make install' will install the package's files in - `/usr/local/bin', `/usr/local/man', etc. You can specify an - installation prefix other than `/usr/local' by giving `configure' the - option `--prefix=PATH'. - - You can specify separate installation prefixes for - architecture-specific files and architecture-independent files. If you - give `configure' the option `--exec-prefix=PATH', the package will use - PATH as the prefix for installing programs and libraries. - Documentation and other data files will still use the regular prefix. - - In addition, if you use an unusual directory layout you can give - options like `--bindir=PATH' to specify different values for particular - kinds of files. Run `configure --help' for a list of the directories - you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed - with an extra prefix or suffix on their names by giving `configure' the - option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - - When installed on MinGW with MSYS alternative paths are not fully supported. - See 'How to make ngspice with MINGW and MSYS' below for details. - - -5 Optional Features - ================= - - Some packages pay attention to `--enable-FEATURE' options to - `configure', where FEATURE indicates an optional part of the package. - They may also pay attention to `--with-PACKAGE' options, where PACKAGE - is something like `gnu-as' or `x' (for the X Window System). The - `README' should mention any `--enable-' and `--with-' options that the - package recognizes. - - For packages that use the X Window System, `configure' can usually - find the X include and library files automatically, but if it doesn't, - you can use the `configure' options `--x-includes=DIR' and - `--x-libraries=DIR' to specify their locations. - -6 Specifying the System Type - ========================== - - There may be some features `configure' can not figure out - automatically, but needs to determine by the type of host the package - will run on. Usually `configure' can figure that out, but if it prints - a message saying it can not guess the host type, give it the - `--host=TYPE' option. TYPE can either be a short name for the system - type, such as `sun4', or a canonical name with three fields: - CPU-COMPANY-SYSTEM - - See the file `config.sub' for the possible values of each field. If - `config.sub' isn't included in this package, then this package doesn't - need to know the host type. - - If you are building compiler tools for cross-compiling, you can also - use the `--target=TYPE' option to select the type of system they will - produce code for and the `--build=TYPE' option to select the type of - system on which you are compiling the package. - -7 Sharing Defaults - ================ - - If you want to set default values for `configure' scripts to share, - you can create a site shell script called `config.site' that gives - default values for variables like `CC', `cache_file', and `prefix'. - `configure' looks for `PREFIX/share/config.site' if it exists, then - `PREFIX/etc/config.site' if it exists. Or, you can set the - `CONFIG_SITE' environment variable to the location of the site script. - A warning: not all `configure' scripts look for a site script. - -8 Operation Controls - ================== - - `configure' recognizes the following options to control how it - operates. - - `--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - - `--help' - Print a summary of the options to `configure', and exit. - - `--quiet' - `--silent' - `-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - - `--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - - `--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - - `configure' also accepts some other, not widely useful, options. - - - -9 NGSPICE COMPILATION UNDER WINDOWS OS - ==================================== - -9.1 How to make ngspice with MINGW and MSYS2 +3.1 How to make ngspice with MINGW and MSYS2 Creating ngspice with MINGW is a straight forward procedure, if you have MSYS2/MINGW installed properly. A modern environment is @@ -592,7 +454,7 @@ This file describes the procedures to install ngspice from sources. script compile_min_shared.sh. -9.2 make ngspice with MS Visual Studio 2022 +3.2 make ngspice with MS Visual Studio 2022 ngspice may be compiled with MS Visual Studio 2022 or newer. @@ -671,8 +533,7 @@ This file describes the procedures to install ngspice from sources. ngspice\visualc\sharedspice\ReleaseOMP.x64. - -9.3 make ngspice with pure CYGWIN +3.3 make ngspice with pure CYGWIN If you don't have libdl.a you may need to link libcygwin.a to libdl.a symbolically. @@ -685,7 +546,7 @@ This file describes the procedures to install ngspice from sources. The procedure of compiling is the same as Linux. -9.4 ngspice console app with MINGW or CYGWIN +3.4 ngspice console app with MINGW or CYGWIN Omitting the configure flag --with-wingui will yield a console ngspice. You then will not have any graphics interface. In CYGWIN you may add --with-x @@ -695,25 +556,24 @@ This file describes the procedures to install ngspice from sources. --disable-debug CFLAGS=-m64 LDFLAGS=-m64 prefix=C:/Spice64 -9.5 cross compiling ngspice for Windows from LINUX +3.5 cross compiling ngspice for Windows from LINUX -Two scripts are available in the ngspice directory that allow cross -compiling for NMS Windows, if you are running LINUX. ngspice.exe or -ngspice.dll may be made. For details please see cross-compile.sh or -cross-compile-shared.sh. + Two scripts are available in the ngspice directory that allow cross + compiling for NMS Windows, if you are running LINUX. ngspice.exe or + ngspice.dll may be made. For details please see cross-compile.sh or + cross-compile-shared.sh. - -10 NGSPICE COMPILATION UNDER macOS +4 NGSPICE COMPILATION UNDER macOS ================================== -10.1 Use precompiled binary package +4.1 Use precompiled binary package 1. Install an X11 interface (like Xquartz) 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 +4.2 Compile NGSPICE manually from a tarball 1. Install an X11 interface (like Xquartz) 2. Install MacPorts from https://www.macports.org 3. Execute this command: @@ -728,7 +588,7 @@ cross-compile-shared.sh. 6. Compile NGSPICE invoking "make -j4" 7. Install NGSPICE invoking "make install" or "sudo make install" -10.3 Compile NGSPICE manually from git +4.3 Compile NGSPICE manually from git 1. Install an X11 interface (like Xquartz) 2. Install MacPorts from https://www.macports.org 3. Execute this command: @@ -760,10 +620,9 @@ Resulting dependencies of ngspice /usr/lib/libSystem.B.dylib /usr/local/lib/gcc/11/libgcc_s.1.dylib - 10.4 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. - +4.4 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.