From 9592bcf9dfdd9b64425cb6fd20351c05eb124079 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Sat, 8 Aug 2026 16:29:35 +0200 Subject: [PATCH] Various updates to prepare for ngspice-47 --- AUTHORS | 1 + COPYING | 2 +- FAQ | 2 +- INSTALL | 49 ++++++++++++++++++++++++++++++++++++++++++++----- NEWS | 2 +- README.wavsim | 3 +++ 6 files changed, 51 insertions(+), 8 deletions(-) diff --git a/AUTHORS b/AUTHORS index d0c747b5a..4763aa7b4 100644 --- a/AUTHORS +++ b/AUTHORS @@ -10,6 +10,7 @@ The following people have contributed in some way: Vera Albrecht, Cecil Aswell, Giles Atkinson, +Meisam Bahadori, Giles C. Billingsley, Phil Barker, Steven Borley, diff --git a/COPYING b/COPYING index d4b814217..6e04a67d8 100644 --- a/COPYING +++ b/COPYING @@ -1,6 +1,6 @@ Ngspice Licensing -Copyright (c) 2025 by ngspice team +Copyright (c) 2026 by ngspice team All rights reserved. license for this document: CC-BY-SA v4.0 diff --git a/FAQ b/FAQ index ef26a2f68..9cf44e52c 100644 --- a/FAQ +++ b/FAQ @@ -256,7 +256,7 @@ The latest version released is: - ngspice-46 (released on March 29, 2026) + ngspice-47 (released on August 9th, 2026) 2.2. What are the latest features in the current release? diff --git a/INSTALL b/INSTALL index 2cab4f65b..f52c31c4f 100644 --- a/INSTALL +++ b/INSTALL @@ -57,7 +57,8 @@ This file describes the procedures to install ngspice from sources. ngspice as a standard executable (command-line input, file and graphics output): bison, flex, X11 headers and libs, Xaw, Xmu, Xext, Xft, FontConfig, - Xrender, freetype headers and readline. + Xrender, freetype headers and readline. Soundfile (*.wav) support requires + libsndfile and libsamplerate. Typically one needs the headers (e.g. libX11-devel) and the libs (e.g. libX11-6) of the packages mentioned above. @@ -81,14 +82,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-46.tar.gz) +1.2 Install from tarball (e.g. ngspice-47.tar.gz) This covers installation from a release distribution (for example - ngspice-46.tar.gz, the so called tar ball). + ngspice-47.tar.gz, the so called tar ball). After downloading the tar ball to a local directory, unpack it by command: - $ tar -zxvf ngspice-46.tar.gz + $ tar -zxvf ngspice-47.tar.gz Now change directories in to the top-level source directory (where this INSTALL file can be found). @@ -535,6 +536,42 @@ This file describes the procedures to install ngspice from sources. ngspice/visualc. Code models are not made (see above how to generate them), and ngspice.dll is not installed to anywhere, but (for release) may be found in ngspice\visualc\sharedspice\ReleaseOMP.x64. + + Compiling with fftw support using vngspice-fftw.sln (or sharedspice.sln with + ReleaseOPM-fftw configuration) requires 64 bit fftw downloaded from + https://fftw.org/pub/fftw/fftw-3.3.5-dll64.zip and expanded into a directory + called fftw-3.3-dll64, which has to be at the same level as the ngspice directory. + + So a development tree for VS looks like: + + D:\Spice_dev\ + fftw-3.3-dll64\ + fftw3.h + ... + flex-bison\ + win_bison.exe + ... + libsamplerate\ + bin\ + ... + libsndfile\ + bin\ + ... + ngspice\ + src\ + ... + visualc\ + src\ + include\ + ngspice\ + config.h + ... + vngspice.sln + vngspice.vcxproj + ... + +Editing config.h will allow disabling of features, e.g. removing soundfile support by +undefining flags HAVE_LIBSNDFILE and HAVE_LIBSAMPLERATE. 3.3 make ngspice with pure CYGWIN @@ -581,6 +618,7 @@ This file describes the procedures to install ngspice from sources. 5. Install XQuartz, libtool, autoconf, automake, readline, ncurses 6. Install OpenMP from mac.r-project.org (a sufficiently modern OpenMP, required by the ngspice OSDI interface). + 7. You might also install libsndfile and libsamplerate from Homebrew. 4.2 Compile scripts for the bash terminal 1. standard ngspice executable @@ -607,7 +645,7 @@ This file describes the procedures to install ngspice from sources. sudo port install autoconf automake libtool bison flex ncurses readline fontconfig freetype libomp xorg-libXaw 4. Use one of the scripts provided: compile_macos_clang.sh or compile_macos_gcc.sh - gcc may be installed from Homebre at https://formulae.brew.sh/formula/gcc, with the + gcc may be installed from Homebrew at https://formulae.brew.sh/formula/gcc, with the advantage that it supports OpenMP. 5. Or run the commands manually: Configure NGSPICE invoking "./configure". A complete set of features is: @@ -647,6 +685,7 @@ Resulting dependencies of ngspice /usr/lib/libSystem.B.dylib /usr/local/lib/gcc/11/libgcc_s.1.dylib + 5.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. diff --git a/NEWS b/NEWS index 0d67bd514..f5f136c6d 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -Ngspice-47, June ??, 2026 +Ngspice-47, August 9th, 2026 ============ - New features: + Update periodic state sim (PSS) and examples diff --git a/README.wavsim b/README.wavsim index 8d5d8e490..ac7cdb0e4 100644 --- a/README.wavsim +++ b/README.wavsim @@ -36,3 +36,6 @@ to LDFLAGS Linux Ubuntu 24.04 has the libraries libsndfile0 and libsamplerate0 available automatically. You may need to install (with apt) the development header files libsndfile0-dev and libsamplerate0-dev. + +If libsndfile or libsamplerate are not available, ngspice will compile without wave support. ngspice +will emit an error message if soundfile handling is requested.