1#! /bin/sh
2
3# Copyright (c) 1994-2015 by Marc Feeley, All Rights Reserved.
4
5herefromroot="prebuilt/windows"
6rootfromhere="../.."
7
8PACKAGE_SHORTNAME="@PACKAGE_SHORTNAME@"
9PACKAGE_NAME="@PACKAGE_NAME@"
10PACKAGE_VERSION="@PACKAGE_VERSION@"
11PACKAGE_STRING="@PACKAGE_STRING@"
12PACKAGE_BUGREPORT="@PACKAGE_BUGREPORT@"
13PACKAGE_TARNAME="@PACKAGE_TARNAME@"
14PACKAGE_SUBDIR="@PACKAGE_SUBDIR@"
15
16MAKENSIS="/c/Program Files (x86)/NSIS/makensis.exe"
17#MAKENSIS="/c/Program Files/NSIS/makensis.exe"
18
19VARIANT="$1"
20RUN_TESTS="$2"
21
22SOURCE_DIR="$INSTALL_PREFIX"
23DOS_SOURCE_DIR="`echo \"$INSTALL_PREFIX\" | sed -e \"s|/|\\\\\\\\\\\\\\\\|g\"`"
24VERSION="`echo $PACKAGE_VERSION | sed -e s/^v//g`"
25EXE_FILE="$PACKAGE_TARNAME-windows-$VARIANT.exe"
26ICON_FILE="gambit.ico"
27UNICON_FILE="gambit.ico"
28NSI_FILE="gambit.nsi"
29
30instantiate_file() # input, output
31{
32  sed -e "s|@SOURCE_DIR@|$SOURCE_DIR|g" -e "s|@DOS_SOURCE_DIR@|$DOS_SOURCE_DIR|g" -e "s|@VERSION@|$VERSION|g" -e "s|@EXE_FILE@|$EXE_FILE|g" -e "s|@ICON_FILE@|$ICON_FILE|g" -e "s|@UNICON_FILE@|$UNICON_FILE|g" -e "s|@NAME@|$PACKAGE_NAME|g" -e "s|@TARNAME@|$PACKAGE_TARNAME|g" -e "s|@VARIANT@|$VARIANT|g" "$1" > "$2"
33}
34
35cleanup()
36{
37  rm -rf "$NSI_FILE" "$SOURCE_DIR/$PACKAGE_VERSION"
38}
39
40install_gambit()
41{
42  cd "$rootfromhere"
43  make clean
44  make -j 2
45  make install
46
47  if [ "$RUN_TESTS" == "0" ] ; then
48    echo "************ TESTS SKIPPED ($VARIANT variant)"
49  else
50
51    TESTS_SUCCESS=0
52
53    make check > build-phase2-tests.out
54
55    cat build-phase2-tests.out
56
57    if fgrep "============ ALL TESTS SUCCESSFUL" build-phase2-tests.out > /dev/null; then
58      TESTS_SUCCESS=1
59    fi
60
61    rm -f build-phase2-tests.out
62
63    if [ "$TESTS_SUCCESS" == "1" ] ; then
64      echo "************ TESTS SUCCESSFUL ($VARIANT variant)"
65    else
66      echo "************ TESTS FAILED ($VARIANT variant)"
67      cleanup
68      exit 1
69    fi
70
71  fi
72
73  cd "$herefromroot"
74}
75
76uninstall_gambit()
77{
78  "$SOURCE_DIR/$PACKAGE_VERSION/bin/uninstall-gambit"
79}
80
81create_nsi()
82{
83  for file in "$NSI_FILE" ; do
84    instantiate_file "$file.in" "$file"
85  done
86}
87
88create_exe()
89{
90  "$MAKENSIS" "$NSI_FILE"
91}
92
93cd "`dirname $0`"
94
95cleanup
96rm -f "$EXE_FILE"
97install_gambit
98create_nsi
99create_exe
100mv "$EXE_FILE" "$rootfromhere"
101cleanup
102