Added info on compilation for mingw msys.

This commit is contained in:
pnenzi 2005-08-25 19:35:02 +00:00
parent f1d51ab2aa
commit ba30810b3f
1 changed files with 89 additions and 33 deletions

122
INSTALL
View File

@ -2,10 +2,10 @@ Install from CVS
================ ================
This section describes how to install from source code taken direct 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 from CVS. It is intended more for developers than for users as the code
may be unstable. For user install instructions using source from released in CVS may be unstable. For user install instructions using source from
distributions, please see the sections titled 'Basic Install' and 'Advanced released distributions, please see the sections titled 'Basic Install'
Install'. and 'Advanced Install'.
Download source from CVS as described on the sourceforge project page Download source from CVS as described on the sourceforge project page
(see http://sourceforge.net/projects/ngspice/ and click on the CVS link) (see http://sourceforge.net/projects/ngspice/ and click on the CVS link)
@ -24,16 +24,16 @@ $ sudo make install
At present it is normal for there to be some warning generated during this At present it is normal for there to be some warning generated during this
process. process.
See the section titled 'Advanced Install' for instructions about arguments that See the section titled 'Advanced Install' for instructions about arguments
can be passed to ./configure to customise the build and installation. 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 If a problem is found with the build proccess, please submit a report to
NGSpice development team. Please provide information about you system and any the NGSpice development team. Please provide information about you system
./configure arguments you are using, together with any error messages. Ideally and any ./configure arguments you are using, together with any error
you would have tried to fix the problem yourself first, and details about this messages. Ideally you would have tried to fix the problem yourself first,
and any thought you may has as to the cause of the problem should also be and details about this and any thought you may has as to the cause of the
provided. If you have fixed the problem then the development team will love to problem should also be provided. If you have fixed the problem then the
hear from you. development team will love to hear from you.
Basic Installation Basic Installation
@ -56,8 +56,8 @@ $ 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 See the section titled 'Advanced Install' for instructions about arguments
can be passed to ./configure to customise the build and installation. that can be passed to ./configure to customise the build and installation.
Advanced Install Advanced Install
================ ================
@ -79,10 +79,10 @@ Options Specific to Using NGSpice
--enable-experimental --enable-experimental
This enables some experimental code. Specifically it enables: This enables some experimental code. Specifically it enables:
* support for altering options in interactive mod by adding the * support for altering options in interactive mode
interactive keyword 'options' by adding the interactive keyword 'options'
* The ability to save and load snapshots: adds interactive keywords * The ability to save and load snapshots: adds
'savesnap' and 'loadsnap' interactive keywords 'savesnap' and 'loadsnap'
--enable-nosqrt --enable-nosqrt
Use always log/exp for non-linear capacitances Use always log/exp for non-linear capacitances
@ -91,8 +91,8 @@ Options Specific to Using NGSpice
Don't bypass recalculations of slowly changing variables 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 Bypass calculation of cbd/cbs in the mosfets if the vbs/vbd
are unchanged voltages are unchanged
--enable-capzerobypass --enable-capzerobypass
Bypass all the cbd/cbs calculations if Czero is zero Bypass all the cbd/cbs calculations if Czero is zero
@ -114,14 +114,15 @@ Options Specific to Using NGSpice
--enable-ekv --enable-ekv
Enable ekv model support. Enable ekv model support.
The source code for the this must be obtained from EKV web site The source code for the this must be obtained from EKV web
(see DEVICE for more info). To enable EKV support you have site (see DEVICE for more info). To enable EKV support you
to obtain the code first and then use this configure switch. have to obtain the code first and then use this configure
switch.
--enable-xspice --enable-xspice
Enable XSpice enhancements, (experimental) Enable XSpice enhancements, (experimental)
A mixed signal simulator built upon spice3 with codemodel dynamic loading A mixed signal simulator built upon spice3 with codemodel
support. See src/xspice/README for details dynamic loading support. See src/xspice/README for details
--enable-cider --enable-cider
Enable CIDER enhancements, (experimental) Enable CIDER enhancements, (experimental)
@ -132,7 +133,8 @@ Options Specific to Using NGSpice
--enable-numparam --enable-numparam
Enable numparams library support, (experimental) Enable numparams library support, (experimental)
A library that allows for parameter substitution at netlist level. A library that allows for parameter substitution at netlist
level.
--enable-xgraph --enable-xgraph
Compile the Xgraph plotting program. Compile the Xgraph plotting program.
@ -142,13 +144,14 @@ Options Specific to Using NGSpice
Allows the use of the .global keyword. Allows the use of the .global keyword.
--with-readline=yes --with-readline=yes
Enable GNU readline support for the command line interface. This requires Enable GNU readline support for the command line interface.
linking against the GNU readline library and is discouraged. This requires linking against the GNU readline library and
is discouraged.
--with-editline=yes --with-editline=yes
Enables the use of the BSD editline library (libedit). Enables the use of the BSD editline library (libedit).
See http://www.thrysoee.dk/editline/ See http://www.thrysoee.dk/editline/
This is preferred over BNU readline due to licensing issues. This is preferred over GNU readline due to licensing issues.
Options Useful for Debugging NGSpice Options Useful for Debugging NGSpice
@ -156,11 +159,12 @@ Options Useful for Debugging NGSpice
--disable-debug --disable-debug
This option will remove the '-g' option passed to the compiler. This option will remove the '-g' option passed to the compiler.
This speeds up compilation a *lot*, and is recommended for normal use. This speeds up compilation a *lot*, and is recommended for
normal use.
--enable-ansi --enable-ansi
Configure will try to find an option for your compiler so that it expects Configure will try to find an option for your compiler so that
ansi-C it expects ansi-C
--enable-checkergcc --enable-checkergcc
Option for compilation with checkergcc Option for compilation with checkergcc
@ -354,6 +358,7 @@ instead of only LF at each line ending) for allowing proper comparison.
make ngspice with CYGWIN and internal MINGW32 (use config.h made above) make ngspice with CYGWIN and internal MINGW32 (use config.h made above)
-----------------------------------------------------------------------
$ cd ng-spice-rework-14 $ cd ng-spice-rework-14
$ rm config.cache $ rm config.cache
@ -373,3 +378,54 @@ ToDo: find appropriate presets for variables ?
rewrite tests for headers and libs (search exclusively in mingw rewrite tests for headers and libs (search exclusively in mingw
directories) directories)
make ngspice with pure CYGWIN
-----------------------------
If you don't have libdl.a you may need to link libcygwin.a
to libdl.a symbolically.
for example:
$ cd /lib
$ ln -s libcygwin.a libdl.a.
The procedure of compiling is the same as Linux.
make ngspice with MINGW and MSYS
--------------------------------
At first, you need to add 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
You can put the directory which you desired inside "".
Next, the line feed code in src/ngspice.txt must be changed from LF to CR/LF.
The procedure of compiling is as follows:
$ ./autogen.sh
$ ./configure --with-windows ...and other options
$ make
$ make install
Next, the directory of the "code model" which is described
in the "spinit" file must be modified from UNIX form to DOS form.
(if you use --enable-xspice option.)
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.
MINGW and MSYS can be downloaded from http://www.mingw.org/.