libdb/dist/s_winmsi
2011-09-13 13:44:24 -04:00

94 lines
2 KiB
Bash
Executable file

#!/bin/bash -
############################################################
# Build Windows Binary Distribution for BDB 11gR2
#
# Assumes current dir is db/dist inside a clean, unzipped
# tree from a source distribution package
#
# Usage: bash s_winmsi []
#
# Steps:
# 1. Build release and debug binaries (including java and php)
# 2. Build additional included languages (perl, python)
# 3. Build, or check .wxs file (uses Python)
# 4. Build .msi
#
# db-version.msi ends up in $PRODUCT_BLDDIR/wix
#
# Options:
# TBD -- add some
############################################################
#
# Get utility functions
#
. winmsi/s_winmsi.fcn
ERRORLOG=winmsi.log
SetupErrorLog
# Do this before parsing options, we need the version number
. ./RELEASE
dbver=db-$DB_VERSION
# Set variables used by functions to customize this installer
PRODUCT_NAME=`printf "Berkeley DB %d%sR%d" $DB_VERSION_FAMILY $DB_VERSION_LETTER $DB_VERSION_RELEASE`
PRODUCT_VERSION="$DB_VERSION"
PRODUCT_VERSION_MAJOR="$DB_VERSION_MAJOR"
PRODUCT_VERSION_MINOR="$DB_VERSION_MINOR"
PRODUCT_VERSION_PATCH="$DB_VERSION_PATCH"
PRODUCT_STAGE=`pwd`/..
PRODUCT_LICENSEDIR="${PRODUCT_STAGE}"
PRODUCT_BLDDIR="${PRODUCT_STAGE}"
REG_KEY_NAME="Berkeley DB"
REG_KEY_VERSION="$PRODUCT_VERSION_MAJOR.$PRODUCT_VERSION_MINOR.$PRODUCT_VERSION_PATCH"
DIST_DIR=`pwd`
MSI_DIR=winmsi
Progress "s_winmsi starting, errors to $ERRORLOG"
SetProductDir
Progress "Building from $PRODUCT_BLDDIR, $dbver is $PRODUCT_SUB_BLDDIR"
RequireCygwin
RequireJava
RequireWix
RequirePython
RequireXQilla
#
# Stage source files such as examples, etc *before*
# the build to avoid build artifacts.
#
StageSourceComponents
#
# Build from source
#
BuildProduct
#
# Stage runtime files in a directory tree that looks like
# bin, lib, include, etc
#
StageRuntimeComponents
#
# Build the license file as rtf
#
CreateLicenseRtf ../LICENSE License.rtf
#
# Build runtime .wxs files
#
CreateRuntimeComponents
#
# Create the .msi
#
CreateMsi
Progress "s_winmsi finished, $OPT_OUTFILE created."
exit 0