#!/bin/sh
#
# Copyright (C) 2000, 2001, 2002, 2004 Free Software Foundation, Inc.
#
# This file is free software; as a special exception the author gives
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


set -e

cd dist-w32

bindir=..

if [ -f ../README ]; then
    srcdir=..
elif [ -f ../../README ]; then
    srcdir=../..
    bindir=..
elif [ -f ../../gnupg-stable/README ]; then
    srcdir=../../gnupg-stable
elif [ -f ../../../gnupg-stable/README ]; then
    srcdir=../../../gnupg-stable
else
    echo "cannot figure out the source dir" >&2
    exit 1
fi

if i586-mingw32msvc-strip --version >/dev/null 2>&1 ; then
   STRIP=i586-mingw32msvc-strip
else
   STRIP="mingw32 strip"
fi


version=$(sed -n 's/^#[ ]*define[ ][ ]*VERSION[ ][ ]*\"\([0-9.a-z-]*\)\"/\1/p' $bindir/config.h)
echo "building version $version"

rm * 2>/dev/null || true

cp ${bindir}/g10/gpg.exe gpg.exe
$STRIP gpg.exe
cp ${bindir}/g10/gpgv.exe gpgv.exe
$STRIP gpgv.exe
for name in hkp http ldap finger; do 
  cp ${bindir}/keyserver/gpgkeys_$name.exe gpgkeys_$name.exe
  $STRIP gpgkeys_$name.exe
done
cp ${bindir}/tools/gpgsplit.exe gpgsplit.exe
$STRIP gpgsplit.exe

for i in FAQ; do
  cp ${bindir}/doc/$i .
  todos $i
done
man -Tlatin1 -l ${srcdir}/doc/gpg.1 | sed `printf "s/\b.//g"`  >gpg.man
todos gpg.man
man -Tlatin1 -l ${srcdir}/doc/gpgv.1 | sed `printf "s/\b.//g"`  >gpgv.man
todos gpgv.man
man -Tlatin1 -l ${srcdir}/doc/gnupg.7 | sed `printf "s/\b.//g"`  >gnupg.man
todos gnupg.man
for i in README COPYING; do
  cp ${srcdir}/$i .
  todos $i
done
for i in README.W32 gnupg-w32.reg; do
  cp ${srcdir}/doc/$i .
  todos $i
done

# We must distribute the MO files in UTF-8, the conmversion is done by
# gpg at runtime.
for i in ${srcdir}/po/*.po; do
   lang=$(basename $i .po)
   grep -s $lang ${srcdir}/po/LINGUAS >/dev/null || continue

   fromset=`sed -n '/^"Content-Type:/ s/.*charset=\([a-zA-Z0-9_-]*\).*/\1/p' $i`
   case "$fromset" in 
     utf8|utf-8|UTF8|UTF-8) 
       echo "$lang: keeping $fromset" >&2 
       msgfmt --output-file=$lang.mo $i
       ;;
     *)
       echo "$lang: converting from $fromset to utf-8" >&2 
       iconv --silent --from-code=$fromset --to-code=utf-8 < $i | \
         sed "/^\"Content-Type:/ s/charset=[a-zA-Z0-9_-]*/charset=utf-8/" | \
         msgfmt --output-file=$lang.mo -
       ;;
   esac
done
zip -9 "gnupg-w32cli-${version}.zip" *