#!/bin/sh

# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "MPL"); you may not use this file
# except in compliance with the MPL. You may obtain a copy of
# the MPL at http://www.mozilla.org/MPL/
# 
# Software distributed under the MPL is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the MPL for the specific language governing
# rights and limitations under the MPL.
# 
# The Original Code is Enigmail.
# 
# The Initial Developer of the Original Code is Patrick Brunschwig.
# Portions created by Patrick Brunschwig <patrick.brunschwig@gmx.net> are
# Copyright (C) 2004 Patrick Brunschwig. All Rights Reserved.
# 
# Contributor(s):
# 
# Alternatively, the contents of this file may be used under the
# terms of the GNU General Public License (the "GPL"), in which case
# the provisions of the GPL are applicable instead of
# those above. If you wish to allow use of your version of this
# file only under the terms of the GPL and not to allow
# others to use your version of this file under the MPL, indicate
# your decision by deleting the provisions above and replace them
# with the notice and other provisions required by the GPL.
# If you do not delete the provisions above, a recipient
# may use your version of this file under either the MPL or the
# GPL.

#
# This script generates the Enigmail XPI
#

echo "genxpi: Generating $1 in $4"

if [ $# -lt 7 ]; then
  echo "Wrong number of parameters"
  exit 1
fi

xpiFile=$1
platform=$2
mozApp=$3
srcDir=$5
xpiModule=$6
dllSuffix=$7
libPrefix=$8
cwd=`pwd`
cd "$4"
targetDir=`pwd`
cd "$cwd"

cd ${srcDir}/package

zip -r ${targetDir}/${xpiFile} chrome.manifest \
               install.js \
               ${xpiModule}.spec

sed 's/<!-- targetPlatform placeholder -->/<em:targetPlatform>'${platform}'<\/em:targetPlatform>/' < install.rdf >"$targetDir/install.rdf"
cd "$targetDir"

enigmimeDll=${libPrefix}enigmime${dllSuffix}
dllFile=platform/${platform}/components/${enigmimeDll}

mkdir -p platform/${platform}/components
cp components/${enigmimeDll} ${dllFile}


zip -g ${xpiFile} \
               components/${xpiModule}.xpt \
               components/${xpiModule}.js \
               components/enigprefs-service.js \
               defaults/preferences/enigmail.js \
               defaults/pref/enigmail.js \
               chrome/${xpiModule}.jar \
               chrome/${xpiModule}-skin.jar \
               chrome/${xpiModule}-skin-tbird.jar \
               components/ipc.xpt \
               components/enigmime.xpt \
               ${dllFile} \
               install.rdf \
               chrome/${xpiModule}.jar

rm install.rdf
