X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2FLyX-Mac-binary-release.sh;h=15eda536b4af88e34ce0396a4125830d64c0b28a;hb=71b4fd04314c3ac71da699022d731b8655d4d370;hp=50b2b5335f7c66bdb9f8590640184a35c71ccf92;hpb=c4d02133010200bf43f2f8b2ac35be3a8d7f0555;p=lyx.git diff --git a/development/LyX-Mac-binary-release.sh b/development/LyX-Mac-binary-release.sh index 50b2b5335f..15eda536b4 100644 --- a/development/LyX-Mac-binary-release.sh +++ b/development/LyX-Mac-binary-release.sh @@ -9,26 +9,90 @@ # Prerequisite: # * a decent checkout of LyX sources (probably you have it already) -# * Qt4 - build with static libraries for the used platforms (i386 and ppc) +# * Qt4 - build with shared or static libraries for the used platforms (i386 and ppc) # * for aspell support: # the aspell sources placed in a sibling directory (variable ASpellSourceVersion) +ConfigureOptions="--enable-warnings --enable-optimization=-Os --with-included-gettext" +dict_deployment="yes" +qt4_deployment="yes" +MACOSX_DEPLOYMENT_TARGET="10.4" # Tiger support is default + +usage() { + echo Build script for LyX on Mac OS X + echo + echo Optional arguments: + echo " --tiger-support=yes|no ....." default yes + echo " --dict-deployment=yes|no ..." default yes + echo " --qt4-deployment=yes|no ...." default yes + 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 + exit 0 +} + +while [ $# -gt 0 ]; do + case "${1}" in + --with-qt4-dir=*) + QTDIR=`echo ${1}|cut -d= -f2` + shift + ;; + --tiger-support=[Nn][Oo]) + MACOSX_DEPLOYMENT_TARGET="" + MYCFLAGS="" + shift + ;; + --dict-deployment=*) + dict_deployment=`echo ${1}|cut -d= -f2` + shift + ;; + --qt4-deployment=*) + qt4_deployment=`echo ${1}|cut -d= -f2` + shift + ;; + --with-arch=*) + ARCH=`echo ${1}|cut -d= -f2|tr ',' ' '` + ARCH_LIST="${ARCH_LIST} ${ARCH}" + shift + ;; + --with-dmg-location=*) + DMGLocation=`echo ${1}|cut -d= -f2` + shift + ;; + --with-build-path=*) + LyxBuildDir=`echo ${1}|cut -d= -f2` + shift + ;; + --help) + usage + ;; + --*) + ConfigureOptions="${ConfigureOptions} ${1}" + shift + ;; + *) + break + ;; + esac +done + # Set these variables -- to -# (1) the location of your Qt4 installation and optionally +# (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"} -DMGLocation=.. # one level above LyxSourceDir +QtFrameworkVersion="4" ASpellSourceVersion="aspell-0.60.6" -ARCH_LIST="ppc i386" - -GetText="--with-included-gettext" -ConfigureOptions="--enable-warnings --enable-optimization=-Os" +ARCH_LIST=${ARCH_LIST:-"ppc i386"} -# strip="-strip" +strip="-strip" # detection of script home LyxSourceDir=${1:-`dirname "$0"`} @@ -51,8 +115,11 @@ case "${LyxSourceDir}" in ;; esac -ASpellSourceDir=${ASpellSourceDir:-`dirname "${LyxSourceDir}"`/${ASpellSourceVersion}} -ASpellInstallDir=${ASpellInstallDir:-`dirname "${LyxSourceDir}"`/${ASpellSourceVersion}.lib} +LyxBuildDir=${LyxBuildDir:-`dirname "${LyxSourceDir}"`/lyx-build} +DMGLocation=${DMGLocation:-"${LyxBuildDir}"} + +ASpellSourceDir=${ASPELLDIR:-`dirname "${LyxSourceDir}"`/${ASpellSourceVersion}} +ASpellInstallDir=${ASpellInstallDir:-"${LyxBuildDir}"/${ASpellSourceVersion}.lib} if [ ! -f "${LyxSourceDir}"/configure ]; then ( cd "${LyxSourceDir}" && sh autogen.sh ) @@ -64,7 +131,7 @@ fi LyxName="LyX" LyxBase="${LyxName}-${LyXVersion}" LyxApp="${LyxBase}.app" -LyxAppDir=`dirname "${LyxSourceDir}"`/"${LyxBase}" +LyxAppDir="${LyxBuildDir}"/"${LyxBase}" LyxBuildDir="${LyxAppDir}.build" LyxAppPrefix="${LyxAppDir}.app" # if zip file is needed... remove the comment sign @@ -84,13 +151,27 @@ BuildSystem=`"${LyxSourceDir}/config/config.guess"` HostSystem_i386="i686-apple-darwin8" HostSystem_ppc="powerpc-apple-darwin8" +DMGNAME="${LyxBase}-Uncompressed.dmg" +DMGSIZE="550m" +COMPRESSEDDMGNAME="${LyxBase}.dmg" +BACKGROUND="${LyxAppDir}.app/Contents/Resources/images/banner.png" + # Check for existing SDKs -# 10.6 cannot be used for 10.4 currently SDKs=`echo /Developer/SDKs/MacOSX10*sdk` case "$SDKs" in *10.6*) - MACOSX_DEPLOYMENT_TARGET="10.5"; export MACOSX_DEPLOYMENT_TARGET - SDKROOT="/Developer/SDKs/MacOSX10.5.sdk"; export SDKROOT + 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.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 + ;; + esac ;; *10.5*) MACOSX_DEPLOYMENT_TARGET="10.4"; export MACOSX_DEPLOYMENT_TARGET @@ -101,6 +182,7 @@ case "$SDKs" in exit 1 ;; esac +MYCFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET}" if [ -d "${ASpellSourceDir}" -a ! -d "${ASpellInstallDir}" ]; then # we have a private ASpell source tree at hand... @@ -111,13 +193,12 @@ if [ -d "${ASpellSourceDir}" -a ! -d "${ASpellInstallDir}" ]; then ASpellName="Aspell" ASpellBase="${ASpellName}-${ASpellVersion}" - ASpellLib="${ASpellBase}.lib" - ASpellLibDir=`dirname "${ASpellSourceDir}"`/"${ASpellBase}" - ASpellLibPrefix="${ASpellInstallDir:-${ASpellLibDir}.lib}" + + echo Build aspell library ${ASpellBase} # Clear Output if [ -n "${ASpellLibZip}" -a -f "${ASpellLibZip}" ]; then rm "${ASpellLibZip}"; fi - if [ -d "${ASpellLibPrefix}" ]; then rm -r "${ASpellLibPrefix}"; fi + if [ -d "${ASpellInstallDir}" ]; then rm -r "${ASpellInstallDir}"; fi # ASpell builds inplace only :( cd "${ASpellSourceDir}" && make distclean @@ -128,18 +209,18 @@ if [ -d "${ASpellSourceDir}" -a ! -d "${ASpellInstallDir}" ]; then FILE_LIST="libaspell.15.dylib libpspell.15.dylib" for arch in ${ARCH_LIST} ; do + CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"; export CPPFLAGS LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch}"; export LDFLAGS - LDFLAGS="${CPPFLAGS}"; export LDFLAGS HOSTSYSTEM=`eval "echo \\$HostSystem_$arch"` "${ASpellSourceDir}/configure"\ - --prefix="${ASpellLibPrefix}"\ + --prefix="${ASpellInstallDir}"\ ${ConfigureOptions}\ - ${GetText} --host="${HOSTSYSTEM}" ${BuildSystem:+"--build=${BuildSystem}"} --enable-build-type=rel + --host="${HOSTSYSTEM}" ${BuildSystem:+"--build=${BuildSystem}"} --enable-build-type=rel make && make install${strip} for file in ${FILE_LIST} ; do - if [ -f "${ASpellLibPrefix}"/lib/${file} ]; then - mv "${ASpellLibPrefix}"/lib/${file}\ - "${ASpellLibPrefix}"/lib/${file}-${arch} + if [ -f "${ASpellInstallDir}"/lib/${file} ]; then + mv "${ASpellInstallDir}"/lib/${file}\ + "${ASpellInstallDir}"/lib/${file}-${arch} else echo Cannot build and install ASpell for ${arch}. exit 1 @@ -156,7 +237,7 @@ if [ -d "${ASpellSourceDir}" -a ! -d "${ASpellInstallDir}" ]; then OBJ_LIST="${OBJ_LIST} lib/${file}-${arch}" done ( - cd "${ASpellLibPrefix}" + cd "${ASpellInstallDir}" lipo -create ${OBJ_LIST} -o lib/${file} ) done @@ -164,108 +245,186 @@ if [ -d "${ASpellSourceDir}" -a ! -d "${ASpellInstallDir}" ]; then # Clean up # -------- for arch in ${ARCH_LIST} ; do - rm -f "${ASpellLibPrefix}"/lib/*-${arch} + rm -f "${ASpellInstallDir}"/lib/*-${arch} done fi -# Clear Output -if [ -n "${LyxAppZip}" -a -f "${LyxAppZip}" ]; then rm "${LyxAppZip}"; fi -if [ -d "${LyxAppPrefix}" ]; then rm -r "${LyxAppPrefix}"; fi +framework_name() { + echo "Frameworks/${1}.framework" +} -# ------------------------------------- -# Build LyX for different architectures -# ------------------------------------- FILE_LIST="lyx lyxclient tex2lyx" +BUNDLE_PATH="Contents/MacOS" +LYX_BUNDLE_PATH="${LyxAppPrefix}/${BUNDLE_PATH}" +build_lyx() { + # Clear Output + if [ -n "${LyxAppZip}" -a -f "${LyxAppZip}" ]; then rm "${LyxAppZip}"; fi + if [ -d "${LyxAppPrefix}" ]; then rm -rf "${LyxAppPrefix}"; fi -if [ -d "${ASpellInstallDir}" ]; then - ConfigureOptions="${ConfigureOptions} --with-extra-inc=${ASpellInstallDir}/include" - ConfigureOptions="${ConfigureOptions} --with-extra-lib=${ASpellInstallDir}/lib" -fi + # ------------------------------------- + # Build LyX for different architectures + # ------------------------------------- -for arch in ${ARCH_LIST} ; do + 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}" + fi - if [ -d "${LyxBuildDir}" ]; then rm -r "${LyxBuildDir}"; fi - mkdir "${LyxBuildDir}" && cd "${LyxBuildDir}" + for arch in ${ARCH_LIST} ; do - CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch}"; export CPPFLAGS - LDFLAGS="${CPPFLAGS}"; export LDFLAGS - HOSTSYSTEM=`eval "echo \\$HostSystem_$arch"` + if [ -d "${LyxBuildDir}" ]; then rm -r "${LyxBuildDir}"; fi + mkdir "${LyxBuildDir}" && cd "${LyxBuildDir}" - echo LDFLAGS="${LDFLAGS}" - echo CPPFLAGS="${CPPFLAGS}" - "${LyxSourceDir}/configure"\ - --prefix="${LyxAppPrefix}" --with-version-suffix="-${LyXVersion}"\ - ${QtInstallDir:+"--with-qt4-dir=${QtInstallDir}"} \ - ${ConfigureOptions}\ - ${GetText} --host="${HOSTSYSTEM}" --build="${BuildSystem}" --enable-build-type=rel - make && make install${strip} - for file in ${FILE_LIST} ; do - if [ -f "${LyxAppPrefix}"/Contents/MacOS/${file} ]; then - mv "${LyxAppPrefix}"/Contents/MacOS/${file}\ - "${LyxAppPrefix}"/Contents/MacOS/${file}-${arch} - else - echo Cannot build and install LyX for ${arch}. - exit 1 - fi + CPPFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch} ${MYCFLAGS}"; export CPPFLAGS + LDFLAGS="${SDKROOT:+-isysroot ${SDKROOT}} -arch ${arch}"; export LDFLAGS + HOSTSYSTEM=`eval "echo \\$HostSystem_$arch"` + + echo LDFLAGS="${LDFLAGS}" + echo CPPFLAGS="${CPPFLAGS}" + echo CONFIGURE_OPTIONS="${ConfigureOptions}" + "${LyxSourceDir}/configure"\ + --prefix="${LyxAppPrefix}" --with-version-suffix="-${LyXVersion}"\ + ${QtInstallDir:+"--with-qt4-dir=${QtInstallDir}"} \ + ${ConfigureOptions}\ + --host="${HOSTSYSTEM}" --build="${BuildSystem}" --enable-build-type=rel + make && make install${strip} + for file in ${FILE_LIST} ; do + if [ -f "${LYX_BUNDLE_PATH}/${file}" ]; then + mv "${LYX_BUNDLE_PATH}/${file}"\ + "${LYX_BUNDLE_PATH}/${file}-${arch}" + else + echo ERROR: Cannot build and install LyX for ${arch}. + exit 1 + fi + done done -done +} + +content_directory() { + target="$1" + content=`dirname "${target}"` + content=`dirname "${content}"` + echo "${content}" +} + +private_framework() { + fwdir=`framework_name "$1"` + source="$2" + target="$3" + condir=`content_directory "${target}"` + libnm=`basename "${source}"` + mkdir -p "${condir}/${fwdir}" + if [ ! -f "${condir}/${fwdir}/${libnm}" ]; then + cp -p "${source}" "${condir}/${fwdir}" + echo Set library id in "${condir}/${fwdir}/${libnm}" + install_name_tool -id "@executable_path/../${fwdir}/${libnm}" "${condir}/${fwdir}/${libnm}" + fi + echo Correct library id reference to "${libnm}" in "${target}" + install_name_tool -change "${source}" "@executable_path/../${fwdir}/${libnm}" "${target}" +} + +deploy_qtlibs() { + source="${QtInstallDir}" + target="$1" + version="Versions/${QtFrameworkVersion}/" + condir=`content_directory "${target}"` + mkdir -p "${condir}/Resources" + test -f "${condir}/Resources/qt.conf" || cat - > "${condir}/Resources/qt.conf" <<-EOF +[Paths] +Plugins = PlugIns +EOF + if [ ! -d "${condir}/PlugIns" ]; then + mkdir -p "${condir}/PlugIns" + find "${source}/plugins" -name \*.dylib -print | while read libname ; do + echo Copy plugin "${libname}" + dylib=`basename "${libname}"` + dirname=`dirname "${libname}"` + dirname=`basename "${dirname}"` + mkdir -p "${condir}/PlugIns/${dirname}" + cp -p "${libname}" "${condir}/PlugIns/${dirname}" + done + fi + # don't change order here... + for libnm in QtSvg QtXml QtGui QtNetwork QtCore ; do + fwdir=`framework_name "$libnm"` + dirname=`basename "${fwdir}"` + test -d "${condir}/${fwdir}" || ( + echo Copy framework "${source}/lib/"`basename "${fwdir}"` + cp -pR "${source}/lib/"`basename "${fwdir}"` "${condir}/${fwdir}" + 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 + done + ) + echo Correct library id reference to "${libnm}" in "${target}" + install_name_tool -change\ + "${source}/lib/${dirname}/${version}${libnm}"\ + "@executable_path/../${fwdir}/${version}${libnm}"\ + "${target}" + done +} # ------------------------- # Create universal binaries # ------------------------- - -ASpellFramework="Frameworks/Aspell.framework" -if [ -d "${ASpellInstallDir}" ]; then - ASpellDyLib=`basename "${ASpellInstallDir}/lib/"libaspell.*.dylib` - mkdir -p "${LyxAppPrefix}"/Contents/${ASpellFramework}/lib - cp -p "${ASpellInstallDir}/lib/${ASpellDyLib}" "${LyxAppPrefix}"/Contents/${ASpellFramework}/lib - install_name_tool -id "@executable_path/../${ASpellFramework}/lib/${ASpellDyLib}" "${LyxAppPrefix}"/Contents/${ASpellFramework}/lib/"${ASpellDyLib}" -fi - -for file in ${FILE_LIST} ; do - OBJ_LIST= +convert_universal() { + cd "${LyxAppPrefix}" + for file in ${FILE_LIST} ; do + OBJ_LIST= + for arch in ${ARCH_LIST} ; do + if [ -f "${BUNDLE_PATH}/${file}-${arch}" ]; then + OBJ_LIST="${OBJ_LIST} ${BUNDLE_PATH}/${file}-${arch}" + fi + done + if [ -n "${OBJ_LIST}" ]; then + lipo -create ${OBJ_LIST} -o "${BUNDLE_PATH}/${file}" + fi + if [ -d "${ASpellInstallDir}" ]; then + private_framework Aspell "${ASpellInstallDir}/lib/libaspell.15.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 + otool -L "${BUNDLE_PATH}/${file}" | while read reference ; do + case "${reference}" in + *"${LyxBuildDir}"*"("*")") + echo ERROR: Bad reference to "${reference}" found!! + ;; + esac + done + done for arch in ${ARCH_LIST} ; do - OBJ_LIST="${OBJ_LIST} Contents/MacOS/${file}-${arch}" + rm -f ${BUNDLE_PATH}/*-${arch} done - ( - cd "${LyxAppPrefix}" && - lipo -create ${OBJ_LIST} -o "${LyxAppPrefix}"/Contents/MacOS/${file} - ) - if [ -d "${ASpellInstallDir}" ]; then - install_name_tool -change \ - "${ASpellInstallDir}/lib/${ASpellDyLib}" "@executable_path/../${ASpellFramework}/${ASpellDyLib}" \ - "${LyxAppPrefix}"/Contents/MacOS/${file} - fi -done - -if [ -d "${ASpellInstallDir}" ]; then - if [ -d /opt/local/lib/aspell-0.60 ]; then ASpellInstallDir=/opt/local ; fi - mkdir -p "${LyxAppPrefix}"/Contents/${ASpellFramework}/lib - cp -p -r "${ASpellInstallDir}/lib/aspell-0.60" "${LyxAppPrefix}"/Contents/${ASpellFramework}/lib - mkdir -p "${LyxAppPrefix}"/Contents/${ASpellFramework}/share - cp -p -r "${ASpellInstallDir}/share/aspell" "${LyxAppPrefix}"/Contents/${ASpellFramework}/share -fi - -# -------- -# Clean up -# -------- - -for arch in ${ARCH_LIST} ; do - rm -f "${LyxAppPrefix}"/Contents/MacOS/*-${arch} -done - -# ------------------------------ -# Building distribution packages -# ------------------------------ - -test -n "${LyxAppZip}" && ( - cd "${LyxAppPrefix}" && zip -r "${LyxAppZip}" . -) +} -DMGNAME="${LyxBase}-Uncompressed.dmg" -DMGSIZE="350m" -COMPRESSEDDMGNAME="${LyxBase}.dmg" -BACKGROUND="${LyxBase}.app/Contents/Resources/images/banner.png" +copy_dictionaries() { + if [ -d "${ASpellInstallDir}" -a "yes" = "${dict_deployment}" ]; then + ASpellFramework=`framework_name Aspell` + ASpellResources="${LyxAppPrefix}/Contents/${ASpellFramework}/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}" + cp -p -r "${ASpellInstallDir}/lib/aspell-0.60" "${ASpellResources}"/data + cp -p -r "${ASpellInstallDir}/share/aspell" "${ASpellResources}"/dict + fi +} function set_bundle_display_options() { osascript <<-EOF @@ -295,11 +454,10 @@ function set_bundle_display_options() { delay 5 -- sync end tell EOF - } -test -n "${DMGLocation}" && ( - cd "${DMGLocation}" +function make_dmg() { + cd "${1}" BGSIZE=`file "$BACKGROUND" | awk -F , '/PNG/{print $2 }' | tr x ' '` BG_W=`echo ${BGSIZE} | awk '{print $1 }'` @@ -309,20 +467,20 @@ test -n "${DMGLocation}" && ( rm -f ${DMGNAME} rm -f ${COMPRESSEDDMGNAME} - hdiutil create -size ${DMGSIZE:-"250m"} -fs HFS+ -volname "${LyxBase}" "${DMGNAME}" + 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} + hdiutil attach ${DMGNAME}.sparseimage # Obtain device information - DEVS=$(hdiutil attach ${DMGNAME} | 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 - cp -Rp ${LyxBase}.app ${VOLUME}/${LyxName}.app + cp -Rp ${LyxAppDir}.app ${VOLUME}/${LyxName}.app # copy in background image mkdir -p ${VOLUME}/Pictures @@ -336,6 +494,20 @@ test -n "${DMGLocation}" && ( hdiutil detach ${DEV} # Convert the disk image to read-only - hdiutil convert ${DMGNAME} -format UDBZ -o ${COMPRESSEDDMGNAME} - rm -f ${DMGNAME} + hdiutil convert ${DMGNAME}.sparseimage -format UDBZ -o ${COMPRESSEDDMGNAME} + rm -f ${DMGNAME}.sparseimage +} + +build_lyx +convert_universal +copy_dictionaries + +# ------------------------------ +# Building distribution packages +# ------------------------------ + +test -n "${LyxAppZip}" && ( + cd "${LyxAppPrefix}" && zip -r "${LyxAppZip}" . ) + +test -n "${DMGLocation}" && make_dmg "${DMGLocation}"