windows build foo

This commit is contained in:
Joey Hess 2013-12-05 20:40:28 -04:00
parent b2e56dab52
commit 4d3c134b4a
3 changed files with 36 additions and 3 deletions

1
build.bat Normal file
View file

@ -0,0 +1 @@
C:\MINGW\MSYS\1.0\BIN\SH.EXE standalone/windows/build-simple.sh

View file

@ -29,6 +29,7 @@ the Haskell Platform, Mingw, and Cygwin. Use Cygwin to install
gcc, rsync, git, wget, ssh, and gnupg. To build the git-annex installer,
you also need to install the NulSoft installer system.
There is a shell script `standalone/windows/build.sh` that can be
used to build git-annex. Note that this shell script cannot be run
in Cygwin; run it with the Mingw sh.
cabal update
cabal unpack git-annex -d gitannex
cd gitannex
build

View file

@ -0,0 +1,31 @@
#!/bin/sh
# Script to build git-annex on windows. Run by build.bat
set -e
# Path to the Haskell Platform.
HP="/c/Program Files (x86)/Haskell Platform/2012.4.0.0"
PATH="$HP/bin:$HP/lib/extralibs/bin:/c/Program Files (x86)/NSIS:$PATH"
# Run a command with the cygwin environment available.
# However, programs not from cygwin are preferred.
withcyg () {
PATH="$PATH:/c/cygwin/bin" "$@"
}
# Install haskell dependencies.
# cabal install is not run in cygwin, because we don't want configure scripts
# for haskell libraries to link them with the cygwin library.
cabal install --only-dependencies || true
# Build git-annex
withcyg cabal configure
withcyg cabal build || true
# Works around link failure https://ghc.haskell.org/trac/ghc/ticket/8596
# using a response file.
rm -f build.log gcc.opt
withcyg cabal build --ghc-options='-v -keep-tmp-files' > build.log 2>&1
grep '"dist\\build\\git-annex\\git-annex.exe"' build.log | sed -e 's/^"[^"]*" //' -e 's/\\/\//g' > gcc.opt
"$HP/mingw/bin/gcc.exe" @gcc.opt