]> git.lyx.org Git - lyx.git/blobdiff - development/LyX-Mac-binary-release.sh
installer: check for Gnumeric because we need this for our spreadsheet external inset...
[lyx.git] / development / LyX-Mac-binary-release.sh
index 15eda536b4af88e34ce0396a4125830d64c0b28a..18b7285ba306ebb2067af56c2bc83303eae96a2a 100644 (file)
 
 # This script automates creating universal binaries of LyX on Mac.
 # Author: Bennett Helm (and extended by Konrad Hofbauer)
 
 # This script automates creating universal binaries of LyX on Mac.
 # Author: Bennett Helm (and extended by Konrad Hofbauer)
-# modified by Stephan Witt
-# Last modified: 17 April 2010
+# latest changes by Stephan Witt
+# Last modified: January 2011
+
+MAC_API=-cocoa
+Qt4Version="4.6.3"
+Qt4SourceVersion="qt-everywhere-opensource-src-${Qt4Version}"
+Qt4BuildSubDir="qt-${Qt4Version}-build${MAC_API}"
 
 # Prerequisite:
 # * a decent checkout of LyX sources (probably you have it already)
 
 # Prerequisite:
 # * a decent checkout of LyX sources (probably you have it already)
-# * Qt4 - build with shared or static libraries for the used platforms (i386 and ppc)
+# * Qt4 - build with shared or static libraries for the used platforms (default: i386 and ppc)
+#    or - an unpacked source tree of Qt4 in $QT4SOURCEDIR or in the sibling directory (variable Qt4SourceVersion)
 # * for aspell support:
 #   the aspell sources placed in a sibling directory (variable ASpellSourceVersion)
 # * for aspell support:
 #   the aspell sources placed in a sibling directory (variable ASpellSourceVersion)
+# * for hunspell support:
+#   the hunspell sources placed in a sibling directory (variable HunSpellSourceVersion)
+# * for dictionary deployment (per default thesauri only):
+#   - aspell:   the dictionary files of macports (in /opt/local/share/aspell and /opt/local/lib/aspell-0.60)
+#   - hunspell: the dictionary files in the sibling directory dictionaries/dicts
+#   - mythes:   the data and idx files in the sibling directory dictionaries/thes
+
+LyXConfigureOptions="--enable-warnings --enable-optimization=-Os --with-included-gettext --with-x=no"
+AspellConfigureOptions="--enable-warnings --enable-optimization=-O0 --enable-debug --disable-nls --enable-compile-in-filters --disable-pspell-compatibility"
+HunspellConfigureOptions="--with-warnings --disable-nls --with-included-gettext --disable-static"
+Qt4ConfigureOptions="-opensource -silent -shared -release -fast -no-exceptions"
+Qt4ConfigureOptions="${Qt4ConfigureOptions} -no-webkit -no-qt3support -no-javascript-jit -no-dbus"
+Qt4ConfigureOptions="${Qt4ConfigureOptions} -nomake examples -nomake demos -nomake docs -nomake tools"
+Qt4ConfigureOptions="${Qt4ConfigureOptions} ${MAC_API}"
+
+aspell_dictionaries="no"
+hunspell_dictionaries="no"
+
+aspell_deployment="yes"
+hunspell_deployment="yes"
+thesaurus_deployment="yes"
 
 
-ConfigureOptions="--enable-warnings --enable-optimization=-Os --with-included-gettext"
-dict_deployment="yes"
 qt4_deployment="yes"
 qt4_deployment="yes"
+
 MACOSX_DEPLOYMENT_TARGET="10.4" # Tiger support is default
 MACOSX_DEPLOYMENT_TARGET="10.4" # Tiger support is default
+SDKROOT="/Developer/SDKs/MacOSX10.5.sdk" # Leopard build is default
+
+# detection of script home
+LyxSourceDir=`dirname "$0"`
+if [ ! -d "${LyxSourceDir}" ]; then
+       echo Missing LyX source directory.
+       exit 2
+fi
+case "${LyxSourceDir}" in
+/*/development)
+       LyxSourceDir=`dirname "${LyxSourceDir}"`
+       ;;
+/*)
+       ;;
+*/development|development)
+       LyxSourceDir=`dirname "${LyxSourceDir}"`
+       LyxSourceDir=`cd "${LyxSourceDir}";pwd`
+       ;;
+*)
+       LyxSourceDir=`cd "${LyxSourceDir}";pwd`
+       ;;
+esac
 
 usage() {
 
 usage() {
-       echo Build script for LyX on Mac OS X
+       echo "*" Build script for LyX on Mac OS X
        echo
        echo Optional arguments:
        echo
        echo Optional arguments:
-       echo " --tiger-support=yes|no ....." default yes
-       echo " --dict-deployment=yes|no ..." default yes
+       echo " --aspell-deployment=yes|no ." default yes
+       echo " --with-qt4-frameworks=yes|no" default no
        echo " --qt4-deployment=yes|no ...." default yes
        echo " --qt4-deployment=yes|no ...." default yes
+       echo " --with-macosx-target=TARGET " default 10.4 "(Tiger)"
+       echo " --with-sdkroot=SDKROOT ....." default 10.5 "(Leopard)"
        echo " --with-arch=ARCH ..........." default ppc,i386
        echo " --with-build-path=PATH ....." default \${lyx-src-dir}/../lyx-build
        echo " --with-dmg-location=PATH ..." default \${build-path}
        echo
        echo "All other arguments with -- are passed to configure"
        echo " --with-arch=ARCH ..........." default ppc,i386
        echo " --with-build-path=PATH ....." default \${lyx-src-dir}/../lyx-build
        echo " --with-dmg-location=PATH ..." default \${build-path}
        echo
        echo "All other arguments with -- are passed to configure"
-       echo "including the defaults: ${ConfigureOptions}"
-       echo
+       echo "including the defaults: ${LyXConfigureOptions}"
+       if [ -x "${LyxSourceDir}/configure" ]; then
+               echo
+               echo "*" Configure options of LyX
+               echo
+               "${LyxSourceDir}/configure" --help
+       fi
        exit 0
 }
 
 while [ $# -gt 0 ]; do
        case "${1}" in
        exit 0
 }
 
 while [ $# -gt 0 ]; do
        case "${1}" in
+       --with-qt4-frameworks=*)
+               configure_qt4_frameworks=`echo ${1}|cut -d= -f2`
+               if [ "$configure_qt4_frameworks" = "yes" ]; then
+                       unset QTDIR
+                       qt4_deployment="no"
+               fi
+               shift
+               ;;
        --with-qt4-dir=*)
                QTDIR=`echo ${1}|cut -d= -f2`
                shift
                ;;
        --with-qt4-dir=*)
                QTDIR=`echo ${1}|cut -d= -f2`
                shift
                ;;
-       --tiger-support=[Nn][Oo])
-               MACOSX_DEPLOYMENT_TARGET=""
-               MYCFLAGS=""
+       --with-macosx-target=*)
+               MACOSX_DEPLOYMENT_TARGET=`echo ${1}|cut -d= -f2`
+               shift
+               ;;
+       --with-sdkroot=*)
+               SDKROOT=`echo ${1}|cut -d= -f2`
+               case "${SDKROOT}" in
+               10.4)
+                       SDKROOT="/Developer/SDKs/MacOSX10.4u.sdk"
+                       export CC=gcc-4.0
+                       export OBJC=gcc-4.0
+                       export CXX=g++-4.0
+                       ;;
+               10.5|10.6)
+                       SDKROOT="/Developer/SDKs/MacOSX${SDKROOT}.sdk"
+                       ;;
+               *)
+                       usage
+                       ;;
+               esac
+               shift
+               ;;
+       --aspell-deployment=*)
+               aspell_deployment=`echo ${1}|cut -d= -f2`
+               aspell_dictionaries=$aspell_deployment
+               shift
+               ;;
+       --hunspell-deployment=*)
+               hunspell_deployment=`echo ${1}|cut -d= -f2`
+               hunspell_dictionaries=$hunspell_deployment
                shift
                ;;
                shift
                ;;
-       --dict-deployment=*)
-               dict_deployment=`echo ${1}|cut -d= -f2`
+       --thesaurus-deployment=*)
+               thesaurus_deployment=`echo ${1}|cut -d= -f2`
                shift
                ;;
        --qt4-deployment=*)
                shift
                ;;
        --qt4-deployment=*)
@@ -67,11 +157,25 @@ while [ $# -gt 0 ]; do
                LyxBuildDir=`echo ${1}|cut -d= -f2`
                shift
                ;;
                LyxBuildDir=`echo ${1}|cut -d= -f2`
                shift
                ;;
-       --help)
+       --help|--help=*)
                usage
                ;;
                usage
                ;;
+       --without-aspell)
+               LyXConfigureOptions="${LyXConfigureOptions} ${1}"
+               aspell_deployment="no"
+               shift
+               ;;
+       --without-hunspell)
+               LyXConfigureOptions="${LyXConfigureOptions} ${1}"
+               hunspell_deployment="no"
+               shift
+               ;;
+       --only-package=*)
+               LyxOnlyPackage=`echo ${1}|cut -d= -f2`
+               shift
+               ;;
        --*)
        --*)
-               ConfigureOptions="${ConfigureOptions} ${1}"
+               LyXConfigureOptions="${LyXConfigureOptions} ${1}"
                shift
                ;;
        *)
                shift
                ;;
        *)
@@ -80,53 +184,38 @@ while [ $# -gt 0 ]; do
        esac
 done
 
        esac
 done
 
-# Set these variables -- to
-# (1) the location of your Qt4 installation
-# (2) the location of resulting DMG
-# (3) the version of private aspell installation
-#     (to define the location assign ASpellSourceDir instead)
-# (4) the list of architectures to build for
-
-QtInstallDir=${QTDIR:-"/opt/qt4"}
+if [ "${configure_qt4_frameworks}" != "yes" ]; then
+       QtInstallDir=${QTDIR:-"/opt/qt4"}
+fi
 QtFrameworkVersion="4"
 ASpellSourceVersion="aspell-0.60.6"
 QtFrameworkVersion="4"
 ASpellSourceVersion="aspell-0.60.6"
+HunSpellSourceVersion="hunspell-1.2.12"
+
 ARCH_LIST=${ARCH_LIST:-"ppc i386"}
 
 strip="-strip"
 ARCH_LIST=${ARCH_LIST:-"ppc i386"}
 
 strip="-strip"
-
-# detection of script home
-LyxSourceDir=${1:-`dirname "$0"`}
-if [ ! -d "${LyxSourceDir}" ]; then
-       echo Missing LyX source directory.
-       exit 2
-fi
-case "${LyxSourceDir}" in
-/*/development)
-       LyxSourceDir=`dirname "${LyxSourceDir}"`
-       ;;
-/*)
-       ;;
-*/development|development)
-       LyxSourceDir=`dirname "${LyxSourceDir}"`
-       LyxSourceDir=`cd "${LyxSourceDir}";pwd`
-       ;;
-*)
-       LyxSourceDir=`cd "${LyxSourceDir}";pwd`
-       ;;
-esac
+aspellstrip=
 
 LyxBuildDir=${LyxBuildDir:-`dirname "${LyxSourceDir}"`/lyx-build}
 DMGLocation=${DMGLocation:-"${LyxBuildDir}"}
 
 ASpellSourceDir=${ASPELLDIR:-`dirname "${LyxSourceDir}"`/${ASpellSourceVersion}}
 
 LyxBuildDir=${LyxBuildDir:-`dirname "${LyxSourceDir}"`/lyx-build}
 DMGLocation=${DMGLocation:-"${LyxBuildDir}"}
 
 ASpellSourceDir=${ASPELLDIR:-`dirname "${LyxSourceDir}"`/${ASpellSourceVersion}}
-ASpellInstallDir=${ASpellInstallDir:-"${LyxBuildDir}"/${ASpellSourceVersion}.lib}
+ASpellInstallDir=${ASpellInstallDir:-"${LyxBuildDir}"/SpellChecker.lib}
+HunSpellSourceDir=${HUNSPELLDIR:-`dirname "${LyxSourceDir}"`/${HunSpellSourceVersion}}
+HunSpellInstallDir=${HunSpellInstallDir:-"${LyxBuildDir}"/SpellChecker.lib}
+Qt4SourceDir=${QT4SOURCEDIR:-`dirname "${LyxSourceDir}"`/${Qt4SourceVersion}}
+Qt4BuildDir=${Qt4BuildDir:-"${LyxBuildDir}"/${Qt4BuildSubDir:-"qt4-build"}}
+DictionarySourceDir=${DICTIONARYDIR:-`dirname "${LyxSourceDir}"`/dictionaries}
+DocumentationDir=`dirname "${LyxSourceDir}"`/Documents
+DmgBackground="${LyxSourceDir}"/development/MacOSX/dmg-background.png
+
+ASpellInstallHdr="${ASpellInstallDir}/include/aspell.h"
+HunSpellInstallHdr="${HunSpellInstallDir}/include/hunspell/hunspell.h"
 
 
-if [ ! -f "${LyxSourceDir}"/configure ]; then
-       ( cd "${LyxSourceDir}" && sh autogen.sh )
-fi
 if [ -z "${LyXVersion}" ]; then
        LyXVersion=`grep AC_INIT "${LyxSourceDir}"/configure.ac | cut -d, -f2 | tr -d " ()"`
 fi
 if [ -z "${LyXVersion}" ]; then
        LyXVersion=`grep AC_INIT "${LyxSourceDir}"/configure.ac | cut -d, -f2 | tr -d " ()"`
 fi
+LyXVersionSuffix=${LyXVersionSuffix:-`echo "${LyXVersion}" | cut -d. -f1-2`}
 
 LyxName="LyX"
 LyxBase="${LyxName}-${LyXVersion}"
 
 LyxName="LyX"
 LyxBase="${LyxName}-${LyXVersion}"
@@ -143,39 +232,31 @@ BuildSystem=`"${LyxSourceDir}/config/config.guess"`
 # DON'T MODIFY ANYTHING BELOW HERE!
 # ---------------------------------
 
 # DON'T MODIFY ANYTHING BELOW HERE!
 # ---------------------------------
 
-# These variables define the identifiers of the
-# system (both Intel and PowerPC) to compile for.
-# (Note: darwin8 is 10.4; darwin9 is 10.5.)
-# Only change these if necessary
-
-HostSystem_i386="i686-apple-darwin8"
-HostSystem_ppc="powerpc-apple-darwin8"
+# don't change order here...
+QtLibraries="QtSvg QtXml QtGui QtNetwork QtCore"
 
 
-DMGNAME="${LyxBase}-Uncompressed.dmg"
+DMGNAME="${LyxBase}"
 DMGSIZE="550m"
 DMGSIZE="550m"
-COMPRESSEDDMGNAME="${LyxBase}.dmg"
-BACKGROUND="${LyxAppDir}.app/Contents/Resources/images/banner.png"
 
 # Check for existing SDKs
 SDKs=`echo /Developer/SDKs/MacOSX10*sdk`
 case "$SDKs" in
 
 # Check for existing SDKs
 SDKs=`echo /Developer/SDKs/MacOSX10*sdk`
 case "$SDKs" in
+${SDKROOT})
+       ;;
 *10.6*)
        MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-"10.5"}; export MACOSX_DEPLOYMENT_TARGET
        case "${MACOSX_DEPLOYMENT_TARGET}" in
 *10.6*)
        MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-"10.5"}; export MACOSX_DEPLOYMENT_TARGET
        case "${MACOSX_DEPLOYMENT_TARGET}" in
-       10.5)
-               SDKROOT="/Developer/SDKs/MacOSX10.5.sdk"; export SDKROOT
+       10.6)
+               SDKROOT="/Developer/SDKs/MacOSX10.6.sdk"; export SDKROOT
                ;;
                ;;
-       10.4)
-               SDKROOT="/Developer/SDKs/MacOSX10.4u.sdk"; export SDKROOT
-               CC=gcc-4.0 ; export CC
-               CXX=g++-4.0 ; export CXX
-               OBJC=gcc-4.0 ; export OBJC
+       10.5|10.4)
+               SDKROOT=${SDKROOT:-"/Developer/SDKs/MacOSX10.5.sdk"}; export SDKROOT
                ;;
        esac
        ;;
 *10.5*)
                ;;
        esac
        ;;
 *10.5*)
-       MACOSX_DEPLOYMENT_TARGET="10.4"; export MACOSX_DEPLOYMENT_TARGET
-       SDKROOT="/Developer/SDKs/MacOSX10.4u.sdk"; export SDKROOT
+       MACOSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET:-"10.4"}; export MACOSX_DEPLOYMENT_TARGET
+       SDKROOT=${SDKROOT:-"/Developer/SDKs/MacOSX10.5.sdk"}; export SDKROOT
        ;;
 *)
        echo Unknown or missing SDK for Mac OS X.
        ;;
 *)
        echo Unknown or missing SDK for Mac OS X.
@@ -184,7 +265,105 @@ case "$SDKs" in
 esac
 MYCFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}"
 
 esac
 MYCFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}"
 
-if [ -d "${ASpellSourceDir}" -a ! -d "${ASpellInstallDir}" ]; then
+# These variables define the identifiers of the
+# system (both Intel and PowerPC) to compile for.
+# (Note: darwin8 is 10.4; darwin9 is 10.5.)
+# Only change these if necessary
+
+HostSystem_i386="i686-apple-darwin8"
+HostSystem_ppc="powerpc-apple-darwin8"
+
+if [ "${configure_qt4_frameworks}" != "yes" -a -d "${Qt4SourceDir}" -a ! \( -d "${Qt4BuildDir}" -a -d "${QtInstallDir}" \) ]; then
+       echo Build Qt4 library ${Qt4SourceDir}
+       if [ "${QtInstallDir}" = "${Qt4BuildDir}" ]; then
+               echo Bad install directory for Qt.
+               echo Must be different from build directory "${Qt4BuildDir}".
+               exit 1
+       fi
+       (
+               mkdir -p "${Qt4BuildDir}" && cd "${Qt4BuildDir}"
+               for arch in ${ARCH_LIST} ; do
+                       ARCHS="${ARCHS} -arch ${arch}"
+               done
+               echo configure options:
+               echo ${Qt4ConfigureOptions} ${ARCHS} -prefix "${QtInstallDir}"
+               echo yes | "${Qt4SourceDir}"/configure ${Qt4ConfigureOptions} ${ARCHS} -prefix "${QtInstallDir}"
+               make && make install
+       )
+       cd "${QtInstallDir}" && (
+               mkdir -p include
+               cd include
+               for libnm in ${QtLibraries} ; do
+                       test -d ${libnm} -o -L ${libnm} || ln -s ../lib/${libnm}.framework/Headers ${libnm}
+               done
+       )
+fi
+
+if [ -d "${HunSpellSourceDir}" -a ! -f "${HunSpellInstallHdr}" ]; then
+       # we have a private HunSpell source tree at hand...
+       # so let's build and install it
+       if [ -z "${HunSpellVersion}" ]; then
+               HunSpellVersion=`grep AC_INIT "${HunSpellSourceDir}"/configure.ac | cut -d, -f2|tr -d " ()"`
+       fi
+
+       HunSpellName="Hunspell"
+       HunSpellBase="${HunSpellName}-${HunSpellVersion}"
+
+       echo Build hunspell library ${HunSpellBase}
+       echo configure options:
+       echo --prefix="${HunSpellInstallDir}" ${HunspellConfigureOptions}
+
+       cd "${HunSpellSourceDir}"
+
+       # ----------------------------------------
+       # Build HunSpell for different architectures
+       # ----------------------------------------
+       FILE_LIST="libhunspell-1.2.0.dylib"
+
+       for arch in ${ARCH_LIST} ; do
+               make distclean
+               CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"; export CPPFLAGS
+               LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"; export LDFLAGS
+               HOSTSYSTEM=`eval "echo \\$HostSystem_$arch"`
+               "${HunSpellSourceDir}/configure"\
+                       --prefix="${HunSpellInstallDir}"\
+                       ${HunspellConfigureOptions}
+                       #--host="${HOSTSYSTEM}" ${BuildSystem:+"--build=${BuildSystem}"}
+               make && make install${strip}
+               for file in ${FILE_LIST} ; do
+                       if [ -f "${HunSpellInstallDir}"/lib/${file} ]; then
+                               mv "${HunSpellInstallDir}"/lib/${file}\
+                                       "${HunSpellInstallDir}"/lib/${file}-${arch} 
+                       else
+                               echo Cannot build and install HunSpell for ${arch}.
+                               exit 1
+                       fi
+               done
+       done
+       # -------------------------
+       # Create universal binaries
+       # -------------------------
+       for file in ${FILE_LIST} ; do
+               OBJ_LIST=
+               for arch in ${ARCH_LIST} ; do
+                       OBJ_LIST="${OBJ_LIST} lib/${file}-${arch}"
+               done
+               (
+                       cd "${HunSpellInstallDir}"
+                       lipo -create ${OBJ_LIST} -o lib/${file}
+                       # check for the "missing link"...
+                       test -f lib/libhunspell.dylib || (cd lib ; ln -s libhunspell-1.2.dylib libhunspell.dylib)
+               )
+       done
+       # --------
+       # Clean up
+       # --------
+       for arch in ${ARCH_LIST} ; do
+               rm -f "${HunSpellInstallDir}"/lib/*-${arch}
+       done
+fi
+
+if [ -d "${ASpellSourceDir}" -a ! -f "${ASpellInstallHdr}" -a "yes" = "${aspell_deployment}" ]; then
        # we have a private ASpell source tree at hand...
        # so let's build and install it
        if [ -z "${ASpellVersion}" ]; then
        # we have a private ASpell source tree at hand...
        # so let's build and install it
        if [ -z "${ASpellVersion}" ]; then
@@ -195,28 +374,26 @@ if [ -d "${ASpellSourceDir}" -a ! -d "${ASpellInstallDir}" ]; then
        ASpellBase="${ASpellName}-${ASpellVersion}"
 
        echo Build aspell library ${ASpellBase}
        ASpellBase="${ASpellName}-${ASpellVersion}"
 
        echo Build aspell library ${ASpellBase}
-
-       # Clear Output
-       if [ -n "${ASpellLibZip}" -a -f "${ASpellLibZip}" ]; then rm "${ASpellLibZip}"; fi
-       if [ -d "${ASpellInstallDir}" ]; then rm -r "${ASpellInstallDir}"; fi
+       echo configure options:
+       echo --prefix="${ASpellInstallDir}" ${AspellConfigureOptions}
 
        # ASpell builds inplace only :(
 
        # ASpell builds inplace only :(
-       cd "${ASpellSourceDir}" && make distclean
+       cd "${ASpellSourceDir}"
 
        # ----------------------------------------
        # Build ASpell for different architectures
        # ----------------------------------------
 
        # ----------------------------------------
        # Build ASpell for different architectures
        # ----------------------------------------
-       FILE_LIST="libaspell.15.dylib libpspell.15.dylib"
+       FILE_LIST="libaspell.15.dylib"
 
        for arch in ${ARCH_LIST} ; do
 
        for arch in ${ARCH_LIST} ; do
+               make distclean
                CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"; export CPPFLAGS
                CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"; export CPPFLAGS
-               LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch}"; export LDFLAGS
+               LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"; export LDFLAGS
                HOSTSYSTEM=`eval "echo \\$HostSystem_$arch"`
                HOSTSYSTEM=`eval "echo \\$HostSystem_$arch"`
-               "${ASpellSourceDir}/configure"\
+               CXXFLAGS=-g "${ASpellSourceDir}/configure"\
                        --prefix="${ASpellInstallDir}"\
                        --prefix="${ASpellInstallDir}"\
-                       ${ConfigureOptions}\
-                       --host="${HOSTSYSTEM}" ${BuildSystem:+"--build=${BuildSystem}"} --enable-build-type=rel
-               make && make install${strip}
+                       ${AspellConfigureOptions}
+               make && make install${aspellstrip}
                for file in ${FILE_LIST} ; do
                        if [ -f "${ASpellInstallDir}"/lib/${file} ]; then
                                mv "${ASpellInstallDir}"/lib/${file}\
                for file in ${FILE_LIST} ; do
                        if [ -f "${ASpellInstallDir}"/lib/${file} ]; then
                                mv "${ASpellInstallDir}"/lib/${file}\
@@ -226,7 +403,6 @@ if [ -d "${ASpellSourceDir}" -a ! -d "${ASpellInstallDir}" ]; then
                                exit 1
                        fi
                done
                                exit 1
                        fi
                done
-               make distclean
        done
        # -------------------------
        # Create universal binaries
        done
        # -------------------------
        # Create universal binaries
@@ -249,11 +425,12 @@ if [ -d "${ASpellSourceDir}" -a ! -d "${ASpellInstallDir}" ]; then
        done
 fi
 
        done
 fi
 
+
 framework_name() {
        echo "Frameworks/${1}.framework"
 }
 
 framework_name() {
        echo "Frameworks/${1}.framework"
 }
 
-FILE_LIST="lyx lyxclient tex2lyx"
+LYX_FILE_LIST="lyx lyxclient tex2lyx"
 BUNDLE_PATH="Contents/MacOS"
 LYX_BUNDLE_PATH="${LyxAppPrefix}/${BUNDLE_PATH}"
 build_lyx() {
 BUNDLE_PATH="Contents/MacOS"
 LYX_BUNDLE_PATH="${LyxAppPrefix}/${BUNDLE_PATH}"
 build_lyx() {
@@ -261,37 +438,70 @@ build_lyx() {
        if [ -n "${LyxAppZip}" -a -f "${LyxAppZip}" ]; then rm "${LyxAppZip}"; fi
        if [ -d "${LyxAppPrefix}" ]; then rm -rf "${LyxAppPrefix}"; fi
 
        if [ -n "${LyxAppZip}" -a -f "${LyxAppZip}" ]; then rm "${LyxAppZip}"; fi
        if [ -d "${LyxAppPrefix}" ]; then rm -rf "${LyxAppPrefix}"; fi
 
+       # -------------------------------------
+       # Automate configure check
+       # -------------------------------------
+       if [ ! -f "${LyxSourceDir}"/configure -o "${LyxSourceDir}"/configure -ot "${LyxSourceDir}"/configure.ac ]; then
+               ( cd "${LyxSourceDir}" && sh autogen.sh )
+       else
+               find "${LyxSourceDir}" -name Makefile.am -print | while read file ; do
+                       dname=`dirname "$file"`
+                       if [ -f "$dname/Makefile.in" -a "$dname/Makefile.in" -ot "$file" ]; then
+                               ( cd "${LyxSourceDir}" && sh autogen.sh )
+                               break
+                       fi
+               done
+       fi
        # -------------------------------------
        # Build LyX for different architectures
        # -------------------------------------
 
        # -------------------------------------
        # Build LyX for different architectures
        # -------------------------------------
 
-       if [ -d "${ASpellInstallDir}" ]; then
-               ASpellFramework=`framework_name Aspell`
-               ASpellFramework=`basename "${ASpellFramework}"`
-               ConfigureOptions="${ConfigureOptions} --with-extra-inc=${ASpellInstallDir}/include"
-               ConfigureOptions="${ConfigureOptions} --with-extra-lib=${ASpellInstallDir}/lib"
-               ConfigureOptions="${ConfigureOptions} --with-aspell-framework=${ASpellFramework}"
+       if [ -d "${ASpellInstallDir}" -a "yes" = "${aspell_deployment}" ]; then
+               ConfigureExtraInc="--with-extra-inc=${ASpellInstallDir}/include"
+               ConfigureExtraLib="--with-extra-lib=${ASpellInstallDir}/lib"
        fi
 
        fi
 
+       if [ -d "${HunSpellInstallDir}" -a "yes" = "${hunspell_deployment}" ]; then
+               HunSpellFramework=`framework_name Hunspell`
+               HunSpellFramework=`basename "${HunSpellFramework}"`
+               ConfigureExtraInc="--with-extra-inc=${HunSpellInstallDir}/include"
+               ConfigureExtraLib="--with-extra-lib=${HunSpellInstallDir}/lib"
+               # LyXConfigureOptions="${LyXConfigureOptions} --with-hunspell-framework=${HunSpellFramework}"
+       fi
+       LyXConfigureOptions="${LyXConfigureOptions} ${ConfigureExtraInc}"
+       LyXConfigureOptions="${LyXConfigureOptions} ${ConfigureExtraLib}"
+
        for arch in ${ARCH_LIST} ; do
 
                if [ -d "${LyxBuildDir}" ];  then rm -r "${LyxBuildDir}"; fi
        for arch in ${ARCH_LIST} ; do
 
                if [ -d "${LyxBuildDir}" ];  then rm -r "${LyxBuildDir}"; fi
-               mkdir "${LyxBuildDir}" && cd "${LyxBuildDir}"
+               mkdir -p "${LyxBuildDir}" && cd "${LyxBuildDir}"
 
 
-               CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"; export CPPFLAGS
-               LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch}"; export LDFLAGS
+               CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"
+               LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"
                HOSTSYSTEM=`eval "echo \\$HostSystem_$arch"`
 
                HOSTSYSTEM=`eval "echo \\$HostSystem_$arch"`
 
+               if [ "$configure_qt4_frameworks" = "yes" ]; then
+                       export QT4_CORE_CFLAGS="-FQtCore"
+                       export QT4_CORE_LIBS="-framework QtCore"
+                       export QT4_FRONTEND_CFLAGS="-FQtGui"
+                       export QT4_FRONTEND_LIBS="-framework QtGui"
+                       export PKG_CONFIG=""
+                       CPPFLAGS="${CPPFLAGS} -I${SDKROOT}/Library/Frameworks/QtCore.framework/Headers"
+                       CPPFLAGS="${CPPFLAGS} -I${SDKROOT}/Library/Frameworks/QtGui.framework/Headers"
+               fi
+
                echo LDFLAGS="${LDFLAGS}"
                echo LDFLAGS="${LDFLAGS}"
+               export LDFLAGS
                echo CPPFLAGS="${CPPFLAGS}"
                echo CPPFLAGS="${CPPFLAGS}"
-               echo CONFIGURE_OPTIONS="${ConfigureOptions}"
+               export CPPFLAGS
+               echo CONFIGURE_OPTIONS="${LyXConfigureOptions}" ${QtInstallDir:+"--with-qt4-dir=${QtInstallDir}"}
                "${LyxSourceDir}/configure"\
                "${LyxSourceDir}/configure"\
-                       --prefix="${LyxAppPrefix}" --with-version-suffix="-${LyXVersion}"\
+                       --prefix="${LyxAppPrefix}" --with-version-suffix="-${LyXVersionSuffix}"\
                        ${QtInstallDir:+"--with-qt4-dir=${QtInstallDir}"} \
                        ${QtInstallDir:+"--with-qt4-dir=${QtInstallDir}"} \
-                       ${ConfigureOptions}\
-                       --host="${HOSTSYSTEM}" --build="${BuildSystem}" --enable-build-type=rel
-               make && make install${strip}
-               for file in ${FILE_LIST} ; do
+                       ${LyXConfigureOptions}\
+                       --host="${HOSTSYSTEM}" --build="${BuildSystem}" --enable-build-type=rel && \
+               make -j2 && make install${strip}
+               for file in ${LYX_FILE_LIST} ; do
                        if [ -f "${LYX_BUNDLE_PATH}/${file}" ]; then
                                mv "${LYX_BUNDLE_PATH}/${file}"\
                                        "${LYX_BUNDLE_PATH}/${file}-${arch}" 
                        if [ -f "${LYX_BUNDLE_PATH}/${file}" ]; then
                                mv "${LYX_BUNDLE_PATH}/${file}"\
                                        "${LYX_BUNDLE_PATH}/${file}-${arch}" 
@@ -335,6 +545,7 @@ deploy_qtlibs() {
        test -f "${condir}/Resources/qt.conf" || cat - > "${condir}/Resources/qt.conf" <<-EOF
 [Paths]
 Plugins = PlugIns
        test -f "${condir}/Resources/qt.conf" || cat - > "${condir}/Resources/qt.conf" <<-EOF
 [Paths]
 Plugins = PlugIns
+Translations = translations
 EOF
        if [ ! -d "${condir}/PlugIns" ]; then
                mkdir -p "${condir}/PlugIns"
 EOF
        if [ ! -d "${condir}/PlugIns" ]; then
                mkdir -p "${condir}/PlugIns"
@@ -347,9 +558,10 @@ EOF
                        cp -p "${libname}" "${condir}/PlugIns/${dirname}"
                done
        fi
                        cp -p "${libname}" "${condir}/PlugIns/${dirname}"
                done
        fi
-       # don't change order here...
-       for libnm in QtSvg QtXml QtGui QtNetwork QtCore ; do
+       for libnm in ${QtLibraries} ; do
                fwdir=`framework_name "$libnm"`
                fwdir=`framework_name "$libnm"`
+               dirname=`dirname "${fwdir}"`
+               mkdir -p "${condir}/${dirname}"
                dirname=`basename "${fwdir}"`
                test -d "${condir}/${fwdir}" || (
                        echo Copy framework "${source}/lib/"`basename "${fwdir}"`
                dirname=`basename "${fwdir}"`
                test -d "${condir}/${fwdir}" || (
                        echo Copy framework "${source}/lib/"`basename "${fwdir}"`
@@ -357,18 +569,20 @@ EOF
                        echo Set library id in "${condir}/${fwdir}/${version}${libnm}"
                        install_name_tool -id "@executable_path/../${fwdir}/${version}${libnm}" "${condir}/${fwdir}/${version}${libnm}"
                        find "${condir}/PlugIns" "${condir}/"`dirname "${fwdir}"` -name Headers -prune -o -type f -print | while read filename ; do
                        echo Set library id in "${condir}/${fwdir}/${version}${libnm}"
                        install_name_tool -id "@executable_path/../${fwdir}/${version}${libnm}" "${condir}/${fwdir}/${version}${libnm}"
                        find "${condir}/PlugIns" "${condir}/"`dirname "${fwdir}"` -name Headers -prune -o -type f -print | while read filename ; do
-                               otool -L "${filename}" 2>/dev/null | while read library ; do
-                                       # pattern match for: /path/to/qt4/lib/QtGui.framework/Versions/4/QtGui (compatibility version 4.6.0, current version 4.6.2)
-                                       case "${library}" in
-                                       *"${libnm}"*"("*")"*)
-                                               echo Correct library id reference to "${libnm}" in "${filename}"
-                                               install_name_tool -change\
-                                                       "${source}/lib/${dirname}/${version}${libnm}"\
-                                                       "@executable_path/../${fwdir}/${version}${libnm}"\
-                                                       "${filename}"
-                                               ;;
-                                       esac
-                               done
+                               if [ "${filename}" != "${target}" ]; then
+                                       otool -L "${filename}" 2>/dev/null | sort -u | while read library ; do
+                                               # pattern match for: /path/to/qt4/lib/QtGui.framework/Versions/4/QtGui (compatibility version 4.6.0, current version 4.6.2)
+                                               case "${library}" in
+                                               *"${libnm}"*"("*version*")"*)
+                                                       echo Correct library id reference to "${libnm}" in "${filename}"
+                                                       install_name_tool -change\
+                                                               "${source}/lib/${dirname}/${version}${libnm}"\
+                                                               "@executable_path/../${fwdir}/${version}${libnm}"\
+                                                               "${filename}"
+                                                       ;;
+                                               esac
+                                       done
+                               fi
                        done
                )
                echo Correct library id reference to "${libnm}" in "${target}"
                        done
                )
                echo Correct library id reference to "${libnm}" in "${target}"
@@ -377,6 +591,11 @@ EOF
                        "@executable_path/../${fwdir}/${version}${libnm}"\
                        "${target}"
        done
                        "@executable_path/../${fwdir}/${version}${libnm}"\
                        "${target}"
        done
+       if [ ! -d "${condir}/translations" ]; then
+               mkdir -p "${condir}/translations"
+       fi
+       echo Copy Qt translations to "${condir}/translations"
+       cp -p "${source}"/translations/qt_*.qm "${condir}/translations"
 }
 
 # -------------------------
 }
 
 # -------------------------
@@ -384,7 +603,7 @@ EOF
 # -------------------------
 convert_universal() {
        cd "${LyxAppPrefix}"
 # -------------------------
 convert_universal() {
        cd "${LyxAppPrefix}"
-       for file in ${FILE_LIST} ; do
+       for file in ${LYX_FILE_LIST} ; do
                OBJ_LIST=
                for arch in ${ARCH_LIST} ; do
                        if [ -f "${BUNDLE_PATH}/${file}-${arch}" ]; then
                OBJ_LIST=
                for arch in ${ARCH_LIST} ; do
                        if [ -f "${BUNDLE_PATH}/${file}-${arch}" ]; then
@@ -394,9 +613,12 @@ convert_universal() {
                if [ -n "${OBJ_LIST}" ]; then
                        lipo -create ${OBJ_LIST} -o "${BUNDLE_PATH}/${file}"
                fi
                if [ -n "${OBJ_LIST}" ]; then
                        lipo -create ${OBJ_LIST} -o "${BUNDLE_PATH}/${file}"
                fi
-               if [ -d "${ASpellInstallDir}" ]; then
+               if [ -d "${ASpellInstallDir}" -a "yes" = "${aspell_deployment}" ]; then
                        private_framework Aspell "${ASpellInstallDir}/lib/libaspell.15.dylib" "${LYX_BUNDLE_PATH}/${file}"
                fi
                        private_framework Aspell "${ASpellInstallDir}/lib/libaspell.15.dylib" "${LYX_BUNDLE_PATH}/${file}"
                fi
+               if [ -d "${HunSpellInstallDir}" -a "yes" = "${hunspell_deployment}" ]; then
+                       private_framework Hunspell "${HunSpellInstallDir}/lib/libhunspell-1.2.0.dylib" "${LYX_BUNDLE_PATH}/${file}"
+               fi
                if [ -d "${QtInstallDir}/lib/QtCore.framework/Versions/${QtFrameworkVersion}" -a "yes" = "${qt4_deployment}" ]; then
                        deploy_qtlibs "${LYX_BUNDLE_PATH}/${file}"
                fi
                if [ -d "${QtInstallDir}/lib/QtCore.framework/Versions/${QtFrameworkVersion}" -a "yes" = "${qt4_deployment}" ]; then
                        deploy_qtlibs "${LYX_BUNDLE_PATH}/${file}"
                fi
@@ -414,21 +636,39 @@ convert_universal() {
 }
 
 copy_dictionaries() {
 }
 
 copy_dictionaries() {
-       if [ -d "${ASpellInstallDir}" -a "yes" = "${dict_deployment}" ]; then
-               ASpellFramework=`framework_name Aspell`
-               ASpellResources="${LyxAppPrefix}/Contents/${ASpellFramework}/Resources"
+       if [ -d "${ASpellInstallDir}" -a "yes" = "${aspell_dictionaries}" ]; then
+               ASpellResources="${LyxAppPrefix}/Contents/Resources"
                # try to reuse macports dictionaries for now
                if [ -d /opt/local/lib/aspell-0.60 ]; then ASpellInstallDir=/opt/local ; fi
                mkdir -p "${ASpellResources}"
                echo Copy Aspell dictionaries from "${ASpellInstallDir}"
                # try to reuse macports dictionaries for now
                if [ -d /opt/local/lib/aspell-0.60 ]; then ASpellInstallDir=/opt/local ; fi
                mkdir -p "${ASpellResources}"
                echo Copy Aspell dictionaries from "${ASpellInstallDir}"
-               cp -p -r "${ASpellInstallDir}/lib/aspell-0.60" "${ASpellResources}"/data
-               cp -p -r "${ASpellInstallDir}/share/aspell" "${ASpellResources}"/dict
+               mkdir -p "${ASpellResources}"/data "${ASpellResources}"/dicts
+               cp -p -r "${ASpellInstallDir}/lib/aspell-0.60"/* "${ASpellResources}"/data
+               cp -p -r "${ASpellInstallDir}/share/aspell"/* "${ASpellResources}"/dicts
+       fi
+       if [ -d "${HunSpellInstallDir}" -a "yes" = "${hunspell_dictionaries}" ]; then
+               HunSpellResources="${LyxAppPrefix}/Contents/Resources"
+               if [ -d "${DictionarySourceDir}" ]; then
+                       ( cd "${DictionarySourceDir}" && find dicts -name .svn -prune -o -type f -print | cpio -pmdv "${HunSpellResources}" )
+               fi
+       fi
+       if [ -d "${DictionarySourceDir}" -a "yes" = "${thesaurus_deployment}" ]; then
+               MyThesResources="${LyxAppPrefix}/Contents/Resources"
+               ( cd "${DictionarySourceDir}" && find thes -name .svn -prune -o -type f -print | cpio -pmdv "${MyThesResources}" )
        fi
 }
 
        fi
 }
 
-function set_bundle_display_options() {
+set_bundle_display_options() {
+       X_BOUNDS=$2
+       Y_BOUNDS=$3
+       Y_POSITION=$((Y_BOUNDS - 65))
+       Y_BOUNDS=$((Y_BOUNDS + 20))
+       LYX_X_POSITION=$((X_BOUNDS / 4))
+       LYX_Y_POSITION=$Y_POSITION
+       APP_X_POSITION=$((3 * X_BOUNDS / 4))
+       APP_Y_POSITION=$Y_POSITION
        osascript <<-EOF
        osascript <<-EOF
-    tell application "Finder"
+       tell application "Finder"
         set f to POSIX file ("${1}" as string) as alias
         tell folder f
             open
         set f to POSIX file ("${1}" as string) as alias
         tell folder f
             open
@@ -437,16 +677,17 @@ function set_bundle_display_options() {
                 set statusbar visible to false
                 set current view to icon view
                 delay 1 -- sync
                 set statusbar visible to false
                 set current view to icon view
                 delay 1 -- sync
-                set the bounds to {20, 50, $2, $3}
+                set the bounds to {20, 50, $X_BOUNDS, $Y_BOUNDS}
             end tell
             delay 1 -- sync
             set icon size of the icon view options of container window to 64
             set arrangement of the icon view options of container window to not arranged
             end tell
             delay 1 -- sync
             set icon size of the icon view options of container window to 64
             set arrangement of the icon view options of container window to not arranged
-            set position of item "${LyxName}.app" to {100,$4}
-            set position of item "Applications" to {280,$4}
+            set position of item "Documents" to {$LYX_X_POSITION,0}
+            set position of item "${LyxName}.app" to {$LYX_X_POSITION,$LYX_Y_POSITION}
+            set position of item "Applications" to {$APP_X_POSITION,$APP_Y_POSITION}
             set background picture of the icon view options\
                                        of container window to file "background.png" of folder "Pictures"
             set background picture of the icon view options\
                                        of container window to file "background.png" of folder "Pictures"
-            set the bounds of the container window to {0, 0, $2, $3}
+            set the bounds of the container window to {0, 0, $X_BOUNDS, $Y_BOUNDS}
             update without registering applications
             delay 5 -- sync
             close
             update without registering applications
             delay 5 -- sync
             close
@@ -456,58 +697,74 @@ function set_bundle_display_options() {
 EOF
 }
 
 EOF
 }
 
-function make_dmg() {
+make_dmg() {
        cd "${1}"
 
        cd "${1}"
 
-       BGSIZE=`file "$BACKGROUND" | awk -F , '/PNG/{print $2 }' | tr x ' '`
+       BGSIZE=`file "$DmgBackground" | awk -F , '/PNG/{print $2 }' | tr x ' '`
        BG_W=`echo ${BGSIZE} | awk '{print $1 }'`
        BG_W=`echo ${BGSIZE} | awk '{print $1 }'`
-       BG_H=`echo ${BGSIZE} | awk '{h = $2 + 20 ;print h }'`
-       BG_Y=`echo ${BGSIZE} | awk '{y = $2 - 60 ;print y }'`
+       BG_H=`echo ${BGSIZE} | awk '{print $2 }'`
 
 
-       rm -f ${DMGNAME}
-       rm -f ${COMPRESSEDDMGNAME}
+       rm -f "${DMGNAME}.sparseimage" "${DMGNAME}.dmg"
 
        hdiutil create -type SPARSE -size ${DMGSIZE:-"250m"} -fs HFS+ -volname "${LyxBase}" "${DMGNAME}"
        # Unmount currently mounted disk image
        test -d /Volumes/"${LyxBase}" && umount /Volumes/"${LyxBase}"
 
        # Mount the disk image
 
        hdiutil create -type SPARSE -size ${DMGSIZE:-"250m"} -fs HFS+ -volname "${LyxBase}" "${DMGNAME}"
        # Unmount currently mounted disk image
        test -d /Volumes/"${LyxBase}" && umount /Volumes/"${LyxBase}"
 
        # Mount the disk image
-       hdiutil attach ${DMGNAME}.sparseimage
+       hdiutil attach "${DMGNAME}.sparseimage"
 
        # Obtain device information
 
        # Obtain device information
-       DEVS=$(hdiutil attach ${DMGNAME}.sparseimage | cut -f 1)
+       DEVS=$(hdiutil attach "${DMGNAME}.sparseimage" | cut -f 1)
        DEV=$(echo $DEVS | cut -f 1 -d ' ')
        VOLUME=$(mount |grep ${DEV} | cut -f 3 -d ' ')
 
        # copy in the application bundle
        DEV=$(echo $DEVS | cut -f 1 -d ' ')
        VOLUME=$(mount |grep ${DEV} | cut -f 3 -d ' ')
 
        # copy in the application bundle
-       cp -Rp ${LyxAppDir}.app ${VOLUME}/${LyxName}.app
+       cp -Rp "${LyxAppDir}.app" "${VOLUME}/${LyxName}.app"
 
        # copy in background image
 
        # copy in background image
-       mkdir -p ${VOLUME}/Pictures
-       cp ${BACKGROUND} ${VOLUME}/Pictures/background.png
+       mkdir -p "${VOLUME}/Pictures"
+       cp "${DmgBackground}" "${VOLUME}/Pictures/background.png"
        # symlink applications
        # symlink applications
-       ln -s /Applications/ ${VOLUME}/Applications
-       set_bundle_display_options ${VOLUME} ${BG_W} ${BG_H} ${BG_Y}
-       mv ${VOLUME}/Pictures ${VOLUME}/.Pictures
+       ln -s /Applications/ "${VOLUME}"/Applications
+       test -d "${DocumentationDir}" && cp -r "${DocumentationDir}" "${VOLUME}"
+       set_bundle_display_options "${VOLUME}" ${BG_W} ${BG_H}
+       /Developer/Tools/SetFile -a C "${VOLUME}"
+       mv "${VOLUME}/Pictures" "${VOLUME}/.Pictures"
 
        # Unmount the disk image
        hdiutil detach ${DEV}
 
        # Convert the disk image to read-only
 
        # Unmount the disk image
        hdiutil detach ${DEV}
 
        # Convert the disk image to read-only
-       hdiutil convert ${DMGNAME}.sparseimage -format UDBZ -o ${COMPRESSEDDMGNAME}
-       rm -f ${DMGNAME}.sparseimage
+       hdiutil convert "${DMGNAME}.sparseimage" -format UDBZ -o "${DMGNAME}.dmg"
+       rm -f "${DMGNAME}.sparseimage"
 }
 
 }
 
-build_lyx
-convert_universal
-copy_dictionaries
-
 # ------------------------------
 # Building distribution packages
 # ------------------------------
 
 # ------------------------------
 # Building distribution packages
 # ------------------------------
 
-test -n "${LyxAppZip}" && (
-       cd "${LyxAppPrefix}" && zip -r "${LyxAppZip}" .
-)
+build_package() {
+       test -n "${LyxAppZip}" && (
+               cd "${LyxAppPrefix}" && zip -r "${LyxAppZip}" .
+       )
+
+       test -n "${DMGLocation}" && (
+               make_dmg "${DMGLocation}"
+               if [ -d "${QtInstallDir}/lib/QtCore.framework/Versions/${QtFrameworkVersion}" -a "yes" = "${qt4_deployment}" ]; then
+                       rm -f "${DMGLocation}/${DMGNAME}+qt4.dmg"
+                       echo move to "${DMGLocation}/${DMGNAME}+qt4${MAC_API}.dmg"
+                       mv "${DMGLocation}/${DMGNAME}.dmg" "${DMGLocation}/${DMGNAME}+qt4${MAC_API}.dmg"
+               fi
+       )
+}
 
 
-test -n "${DMGLocation}" && make_dmg "${DMGLocation}"
+# ------------------------------
+# main block
+# ------------------------------
+
+if [ ${LyxOnlyPackage:-"no"} = "no" ]; then
+       build_lyx
+       convert_universal
+       copy_dictionaries
+fi
+build_package