forked from imr/ngspice
-
Notifications
You must be signed in to change notification settings - Fork 1
/
cross-compile.sh
executable file
·53 lines (44 loc) · 1.31 KB
/
cross-compile.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
# This script can be used to cross compile ngspice
# for windows on a linux machine.
# The result is a zip file,
# which is intended to be unziped to c:\
#
# You can invoke this script with no argument,
# whereupon it will compile a 32 bit windows executable
# or with argument "64"
# to compile a 64 bit windows executable
#
# On debian gnu/linux you will need these packages:
# mingw-64 make automake libtool bison flex
#
# (compile "time ./cross-compile.sh")
# (compile "time ./cross-compile.sh 64")
set -e
if test "$1" = "64"; then
release="release-mingw-64"
dstzip="ngspice-mingw-64.zip"
host="x86_64-w64-mingw32"
dst="C:/Spice64"
else
release="release-mingw-32"
dstzip="ngspice-mingw-32.zip"
host="i686-w64-mingw32"
dst="C:/Spice"
fi
./autogen.sh
rm -rf "./$release"
mkdir -p "./$release"
(
cd "./$release" && \
../configure \
--build=$(../config.guess) \
--host="$host" \
--prefix="$dst" \
--exec-prefix="$dst" \
--with-wingui --enable-xspice --enable-cider --disable-debug
)
make -C "./$release" -k -j6
make -C "./$release" -k -j6 DESTDIR="$(pwd)/$release/" install
( cd "./$release/C:/" && zip -r - . ) > "./$release/$dstzip"
echo "unzip this ./$release/$dstzip to the destination directory c:\\"