From 957f8141195f0faaa98f2934298475cba54ba865 Mon Sep 17 00:00:00 2001 From: pnenzi Date: Thu, 6 Nov 2008 09:22:54 +0000 Subject: [PATCH] Updated installation instruction. --- INSTALL | 727 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 387 insertions(+), 340 deletions(-) diff --git a/INSTALL b/INSTALL index f5b87dba0..4ddadfb21 100644 --- a/INSTALL +++ b/INSTALL @@ -1,458 +1,505 @@ -Install from CVS -================ +Ngspice installation instructions +================================= -This section describes how to install from source code taken direct -from CVS. It is intended more for developers than for users as the code -in CVS may be unstable. For user install instructions using source from -released distributions, please see the sections titled 'Basic Install' -and 'Advanced Install'. +Table of contents -Download source from CVS as described on the sourceforge project page -(see http://sourceforge.net/projects/ngspice/ and click on the CVS link) + 1 Ngspice installation + 1.1 Prerequisites + 1.2 Install from CVS + 1.3 Basic Install + 1.4 Advanced Install + 1.4.1 Options Specific to Using Ngspice + 1.4.2 Options Useful for Debugging Ngspice + 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 make ngspice with CYGWIN and external MINGW32 + 9.2 make ngspice with CYGWIN and internal MINGW32 (use config.h made above) + 9.3 make ngspice with pure CYGWIN + 9.4 How to make ngspice with MINGW and MSYS + -Now change directories in to the top-level source directory (where this -INSTALL file can be found). +This file describes the procedures to install ngspice from sources. -The project uses the GNU build process. This is still very crude and needs -work, but basically you should be able to do the following: -$ ./autogen.sh -$ ./configure --enable-maintainer-mode -$ make -$ sudo make install +1 Ngspice Installation + ==================== -At present it is normal for there to be some warning generated during this -process. - -See the section titled 'Advanced Install' for instructions about arguments -that can be passed to ./configure to customise the build and installation. +1.1 Prerequisites + + Ngspice is written in C and thus a complete C compilation environment is + needed. Almost any UNIX comes with a complete C development environment. + Ngspice is developed on GNU/Linux with gcc and GNU make. + + The following software must be installed in your system to compile ngspice: + bison, flex and X11. + + If you want to compile the CVS source you need additional software: + autoconf, automake, libtool, texinfo. + + The following software may be needed when enabling additional features: + editline, tcl/tk -If a problem is found with the build proccess, please submit a report to -the NGSpice development team. Please provide information about you system -and any ./configure arguments you are using, together with any error -messages. Ideally you would have tried to fix the problem yourself first, -and details about this and any thought you may has as to the cause of the -problem should also be provided. If you have fixed the problem then the -development team will love to hear from you. +1.2 Install from CVS + This section describes how to install from source code taken direct + from CVS. It is intended more for developers than for users as the code + in CVS may be unstable. For user install instructions using source from + released distributions, please see the sections titled 'Basic Install' + and 'Advanced Install'. -Basic Installation -================== + Download source from CVS as described on the sourceforge project page + (see http://sourceforge.net/projects/ngspice/ and click on the CVS link) -This covers installation from a tar-ball (for example ngspice-rework-15.tgz). + Now change directories in to the top-level source directory (where this + INSTALL file can be found). -After downloading the tar ball to a local directory unpack it using: + The project uses the GNU build process. This is still very crude and needs + work, but basically you should be able to do the following: -$ tar -zxvf ngspice-rework-15.tgz + $ ./autogen.sh + $ ./configure --enable-maintainer-mode + $ make + $ sudo make install + + At present it is normal for there to be some warning generated during this + process. -Now change directories in to the top-level source directory (where this -INSTALL file can be found). + See the section titled 'Advanced Install' for instructions about arguments + that can be passed to ./configure to customise the build and installation. + + If a problem is found with the build proccess, please submit a report to + the Ngspice development team. Please provide information about your system + and any ./configure arguments you are using, together with any error + messages. Ideally you would have tried to fix the problem yourself first. + If you have fixed the problem then the development team will love to hear + from you. + +1.3 Basic Install -You should be able to do: + This covers installation from a tarball (for example ngspice-rework-18.tgz). + After downloading the tar ball to a local directory unpack it using: -$ ./configure -$ make -$ sudo make install + $ tar -zxvf ngspice-rework-18.tgz + + Now change directories in to the top-level source directory (where this + INSTALL file can be found). + + You should be able to do: + + $ ./autogen.sh + $ ./configure + $ make + $ sudo make install -The default install dir is /usr/local/bin + The default install dir is /usr/local/bin + + See the section titled 'Advanced Install' for instructions about arguments + that can be passed to ./configure to customise the build and installation. -See the section titled 'Advanced Install' for instructions about arguments -that can be passed to ./configure to customise the build and installation. -Advanced Install -================ +1.4 Advanced Install -Some extra options can be provided to './configure'. To get all available -options do: + Some extra options can be provided to './configure'. To get all available + options do: -$ ./configure --help + $ ./configure --help -Some of these options are generic to the GNU build process that is used by -NGSpice, other are specific to NGSpice. + Some of these options are generic to the GNU build process that is used by + Ngspice, other are specific to Ngspice. -The following sections provide some guidance and descriptions for many, -but not all, of these options. + The following sections provide some guidance and descriptions for many, + but not all, of these options. -Options Specific to Using NGSpice -================================= +1.4.1 Options Specific to Using Ngspice ---enable-experimental - This enables some experimental code. Specifically it enables: - * support for altering options in interactive mode - by adding the interactive keyword 'options' - * The ability to save and load snapshots: adds - interactive keywords 'savesnap' and 'loadsnap' + --enable-adms + ADMS is an experimental model compiler that translates + Verilog-A compact models into C code that can be compiled into + ngspice. This is (as of rework.18 )still experimental and not + completely working. If you want to use it, please refer to the + ADMS section on ngspice web site. ---enable-nosqrt - Use always log/exp for non-linear capacitances - ---enable-nobypass - Don't bypass recalculations of slowly changing variables - ---enable-capbypass + --enable-capbypass Bypass calculation of cbd/cbs in the mosfets if the vbs/vbd - voltages are unchanged + voltages are unchanged. ---enable-capzerobypass - Bypass all the cbd/cbs calculations if Czero is zero - ---enable-nodelimiting - Experimental damping scheme - ---enable-predictor - Enable a predictor method for convergence - ---enable-newtrunc - Enable the newtrunc option - ---enable-sense2 - Use spice2 sensitivity analysis + --enable-capzerobypass + Bypass all the cbd/cbs calculations if Czero is zero. This is + enabled by default since rework-18. ---enable-intnoise - Enable noise integration in noise analysis - ---enable-ekv - Enable ekv model support. - The source code for the this must be obtained from EKV web - site (see DEVICE for more info). To enable EKV support you - have to obtain the code first and then use this configure - switch. - ---enable-xspice - Enable XSpice enhancements, (experimental) - A mixed signal simulator built upon spice3 with codemodel - dynamic loading support. See src/xspice/README for details - ---enable-cider - Enable CIDER enhancements, (experimental) - A mixed level simulator built upon spice3. + --enable-cider + Cider is a mixed-level simulator that couples Spice3 and DSIM + to simulate devices from their technological parameters. This + part of the simulator is not compiled by default. + + --enable-cluster + Clustering code for distributed simulation. This is a + contribution never tested. This code comes from TCLspice + implementation and is implemented for transient analysis only. + + --enable-expdevices + Enable experimental devices. This option is used by developers + to mask devices under development. Almost useless for users. + + --enable-experimental + This enables some experimental code. Specifically it enables: + * support for altering options in interactive mode + by adding the interactive keyword 'options'. + * The ability to save and load snapshots: adds + interactive keywords 'savesnap' and 'loadsnap'. + + --enable-help + Force building nghelp. This is deprecated. ---enable-ndev + --enable-ndev Enable NDEV interface, (experimental) A TCP/IP interface to external device simulator such as GSS. For more information, please visit the homepage of GSS at http://gss-tcad.sourceforge.net + + --enable-newpred + Enable the NEWPRED symbol in the code. ---enable-cluster - Enable cluster support, (experimental) - ---enable-numparam - Enable numparams library support, (experimental) - A library that allows for parameter substitution at netlist - level. + --enable-newtrunc + Enable the newtrunc option + + --enable-nodelimiting + Experimental damping scheme + + --enable-nobypass + Don't bypass recalculations of slowly changing variables + + --enable-nosqrt + Use always log/exp for non-linear capacitances + + --enable-predictor + Enable a predictor method for convergence ---enable-xgraph + --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. ---enable-dot-global - Allows the use of the .global keyword. - ---with-readline=yes - Enable GNU readline support for the command line interface. - This requires linking against the GNU readline library and - is discouraged. + --enable-xspice + Enable XSpice enhancements, (experimental) + A mixed signal simulator built upon spice3 with codemodel + dynamic loading support. See src/xspice/README for details. ---with-editline=yes + --with-editline=yes Enables the use of the BSD editline library (libedit). See http://www.thrysoee.dk/editline/ This is preferred over GNU readline due to licensing issues. + --with-readline=yes + Enable GNU readline support for the command line interface. + This requires linking against the GNU readline library and + is discouraged. + + --with-tcl=tcldir + When configured with this option the tcl module + "tclspice" is compiled and installed instead of + plain ngspice. + -Options Useful for Debugging NGSpice -==================================== +1.4.2 Options Useful for Debugging Ngspice ---disable-debug + --enable-ansi + Configure will try to find an option for your compiler so that + it expects ansi-C. + +--enable-asdebug + Debug sensitivity code *ASDEBUG*. + + --enable-blktmsdebug + Debug distortion code *BLOCKTIMES* + + --enable-checkergcc + Option for compilation with checkergcc. + + --enable-cpdebug + Enable ngspice shell code debug. + + --disable-debug This option will remove the '-g' option passed to the compiler. This speeds up compilation a *lot*, and is recommended for normal use. ---enable-ansi - Configure will try to find an option for your compiler so that - it expects ansi-C - ---enable-checkergcc - Option for compilation with checkergcc - ---enable-gc - Enable the Boehm-Weiser Conservative Garbage Collector + --enable-ftedebug + Enable ngspice frontend debug. ---enable-ftedebug - Enable ngspice frontend debug + --enable-gc + Enable the Boehm-Weiser Conservative Garbage Collector. ---enable-sensdebug ---enable-asdebug - Debug sensitivity code - ---enable-cpdebug - Enable ngspice shell debug + --enable-pzdebug + Debug pole/zero code. ---enable-stepdebug + --enable-sensdebug + Debug sensitivity code *SENSDEBUG*. + + --enable-smltmsdebug + Debug distortion code *SMALLTIMES* + + --enable-smoketest + Enable smoketest compile. + + --enable-stepdebug Turns on debugging of convergence stepping?? ---enable-pzdebug - Debug pole/zero code - ---enable-blktmsdebug ---enable-smltmsdebug - Debug distortion code - ---enable-smoketest - Enable smoketest compile - ---enable-expdevices - Enable experimental devices (may not compile) +2 Compilers and Options + ===================== -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 - 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: + Or on systems that have the `env' program, you can do it like this: env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure -Compiling For Multiple Architectures -==================================== - - 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. - -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. +3 Compiling For Multiple Architectures + ==================================== + + 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. - 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'. + 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. -When installed on MinGW with MSYS alternative paths are not fully supported. -See 'How to make ngspice with MINGW and MSYS' below for details. + 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. -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. +5 Optional Features + ================= - 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. + 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. -Specifying the System Type -========================== + 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. - 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 +6 Specifying the System Type + ========================== -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. + 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 - 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. + 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. -Sharing Defaults -================ + 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. - 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. +7 Sharing Defaults + ================ -Operation Controls -================== + 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. - `configure' recognizes the following options to control how it -operates. +8 Operation Controls + ================== -`--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'. + `configure' recognizes the following options to control how it + operates. -`--help' - Print a summary of the options to `configure', and exit. + `--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'. -`--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). + `--help' + Print a summary of the options to `configure', and exit. -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. + `--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). -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. + `--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. -`configure' also accepts some other, not widely useful, options. + `--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + `configure' also accepts some other, not widely useful, options. -NGSPICE COMPILATION UNDER WINDOWS OS -==================================== +9 NGSPICE COMPILATION UNDER WINDOWS OS + ==================================== -make ngspice with CYGWIN and external MINGW32 -according to http://www.geocrawler.com/lists/3/SourceForge/6013/0/7321042/ + 9.1 make ngspice with CYGWIN and external MINGW32 + according to http://www.geocrawler.com/lists/3/SourceForge/6013/0/7321042/ -$ cd ng-spice-rework-14 -$ export PATH="/cygdrive/g/gcc_mingw/bin:$PATH" -$ autoconf -$ rm config.cache -$ ./configure --with-windows --prefix="/cygdrive/g/gcc_mingw/bin" -$ make clean -$ make 2> make.err -$ cp config.h config_ming.h + $ cd ng-spice-rework-18 + $ export PATH="/cygdrive/g/gcc_mingw/bin:$PATH" + $ autoconf + $ rm config.cache + $ ./configure --with-windows --prefix="/cygdrive/g/gcc_mingw/bin" + $ make clean + $ make 2> make.err -ngspice.exe is o.k.,but make tests does not work (cannot direct console -output into file). Needs to add .save "what" "where.test" to every input -(*.cir) file. Also all given output files have to be adapted to WINDOWS (CR/LF -instead of only LF at each line ending) for allowing proper comparison. + $ cp config.h config_ming.h + ngspice.exe is o.k.,but make tests does not work (cannot direct console + output into file). Needs to add .save "what" "where.test" to every input + (*.cir) file. Also all given output files have to be adapted to WINDOWS + (CR/LF instead of only LF at each line ending) for allowing proper comparison. -make ngspice with CYGWIN and internal MINGW32 (use config.h made above) ------------------------------------------------------------------------ + 9.2 make ngspice with CYGWIN and internal MINGW32 (use config.h made above) -$ cd ng-spice-rework-14 -$ rm config.cache -$ export CFLAGS="-mno-cygwin -g -O2" -$ export LDFLAGS="-L/lib/mingw" -$ export CPPFLAGS="-I/usr/include/mingw" -$ ./configure --with-windows -$ cp config_ming.h config.h -$ make clean -$ make 2> make.err + $ cd ng-spice-rework-18 + $ rm config.cache + $ export CFLAGS="-mno-cygwin -g -O2" + $ export LDFLAGS="-L/lib/mingw" + $ export CPPFLAGS="-I/usr/include/mingw" + $ ./configure --with-windows + $ cp config_ming.h config.h + $ make clean + $ make 2> make.err -./configure does not work correctly: It finds headers and libs which are not -really available in the -mno-cygwin port of MINGW32. Therefore config.h is -not o.k. + ./configure does not work correctly: It finds headers and libs which are not + really available in the -mno-cygwin port of MINGW32. Therefore config.h is + not o.k. -ToDo: find appropriate presets for variables ? - rewrite tests for headers and libs (search exclusively in mingw - directories) + ToDo: find appropriate presets for variables ? + rewrite tests for headers and libs (search exclusively in mingw + directories) -make ngspice with pure CYGWIN ------------------------------ + 9.3 make ngspice with pure CYGWIN -If you don't have libdl.a you may need to link libcygwin.a -to libdl.a symbolically. + If you don't have libdl.a you may need to link libcygwin.a + to libdl.a symbolically. -for example: + for example: -$ cd /lib -$ ln -s libcygwin.a libdl.a. + $ cd /lib + $ ln -s libcygwin.a libdl.a. -The procedure of compiling is the same as Linux. + The procedure of compiling is the same as Linux. -How to make ngspice with MINGW and MSYS ---------------------------------------- + 9.4 How to make ngspice with MINGW and MSYS -The default installation location is the Windows path C:\msys\1.0\local -Normally the install path can be altered by passing --prefix=NEWPATH as an -argument to ./configure during the build process but when using MinGW and MSYS -this process is not fully supported. + The default installation location is the Windows path C:\msys\1.0\local + Normally the install path can be altered by passing --prefix=NEWPATH as an + argument to ./configure during the build process but when using MinGW and MSYS + this process is not fully supported. -If you do need to change the install path then you first need to modify the -following lines in src/conf.h. + If you do need to change the install path then you first need to modify the + following lines in src/conf.h. -#ifdef __MINGW32__ -#define NGSPICEBINDIR "C:\\msys\\1.0\\local\\bin" -#define NGSPICEDATADIR "C:\\msys\\1.0\\local\\share\\ng-spice-rework" -#endif + #ifdef __MINGW32__ + #define NGSPICEBINDIR "C:\\msys\\1.0\\local\\bin" + #define NGSPICEDATADIR "C:\\msys\\1.0\\local\\share\\ng-spice-rework" + #endif -Put the install path you desire inside "", and then use the unix-style -equivalent with --prefix=NEWPATH as an argument to ./configure in the normal way. + Put the install path you desire inside "", and then use the unix-style + equivalent with --prefix=NEWPATH as an argument to ./configure in the + normal way. -Next, the line feed code in src/ngspice.txt must be changed from LF to CR/LF. + Next, the line feed code in src/ngspice.txt must be changed from LF to CR/LF. -The procedure of compiling a distribution (for example, a tarball from the -ngspice website), is as follows: + The procedure of compiling a distribution (for example, a tarball from the + ngspice website), is as follows: -$ cd ng-spice-rework-17 -$ ./configure --with-windows ...and other options -$ make -$ make install + $ cd ng-spice-rework-18 + $ ./configure --with-windows ...and other options + $ make + $ make install -However, to compile code extracted from the CVS repository the procedure is -a little different, thus: + However, to compile code extracted from the CVS repository the procedure is + a little different, thus: -$ cd ng-spice-rework-17 -$ ./autogen.sh -$ ./configure --enable-maintainer-mode --with-windows ...and other options -$ make -$ make install + $ cd ng-spice-rework-18 + $ ./autogen.sh + $ ./configure --enable-maintainer-mode --with-windows ...and other options + $ make + $ make install -Finally, if you use xspice (ie. if to ran ./configure with --enable-xspice) -then the directory of each "code model" referenced in the "spinit" file must -be modified from UNIX form to DOS form. + Finally, if you use xspice (ie. if to ran ./configure with --enable- + xspice) then the directory of each "code model" referenced in the "spinit" + file must be modified from UNIX form to DOS form. -For example: -Change - codemodel /msys/1.0/local/lib/spice/spice2poly.cm -to - codemodel C:\msys\1.0\local\lib\spice\spice2poly.cm + For example: + Change + codemodel /msys/1.0/local/lib/spice/spice2poly.cm + to + codemodel C:\msys\1.0\local\lib\spice\spice2poly.cm -The "spinit" file is in C:\msys\1.0\local\share\ng-spice-rework -if you did the same setting as the above. + The "spinit" file is in C:\msys\1.0\local\share\ng-spice-rework + if you did the same setting as the above. -MINGW and MSYS can be downloaded from http://www.mingw.org/. + MINGW and MSYS can be downloaded from http://www.mingw.org/.