1,847
edits
(initial edit) |
(Mark as outdated.) |
||
(5 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{Warning|This page is outdated (October 2019). For more recent information, see [[Octave for macOS]].}} | |||
The script below is intended to be part of a [[Create_a_MacOS_X_App_Bundle_Using_MacPorts|MacOS X App bundle for Octave]]. This script is called by the [[MacOS_X_App_Launcher_Script|App launcher script]]. The script is responsible for initializing the shell environment and running Octave. | |||
The scripts name is "octave" and its location in the App bundle is {{Codeline|<nowiki>Octave-x.y.z.app/Contents/Resources/bin/octave</nowiki>}}. Where {{Codeline|<nowiki>x.y.z</nowiki>}} refers to the version of the bundled Octave. | |||
<nowiki>#!/bin/sh | <nowiki>#!/bin/sh | ||
# Copyright (C) 2007-2008, Thomas Treichl and Paul Kienzle | # Copyright (C) 2007-2008, Thomas Treichl and Paul Kienzle | ||
Line 21: | Line 26: | ||
VER="3.7.0+" | VER="3.7.0+" | ||
if [ -L "$0" ] ; then | if [ -L "$0" ] ; then | ||
ROOT="$(dirname $(readlink - | ROOT="$(dirname $(readlink -n "$0"))" | ||
else | else | ||
ROOT="$(cd "$(dirname "$0")" 2>/dev/null && pwd)" | ROOT="$(cd "$(dirname "$0")" 2>/dev/null && pwd)" | ||
Line 82: | Line 87: | ||
# Ghostscript stuff | # Ghostscript stuff | ||
GS_LIB="${ROOT}/share/ghostscript/9.05/Resource/Init | GS_LIB="${ROOT}/share/ghostscript/9.05/Resource/Init:${ROOT}/share/ghostscript/9.05/Resource:${ROOT}/share/ghostscript/9.05/iccprofiles:${ROOT}/lib" | ||
if [ -z ${GS_FONTPATH} ]; then | if [ -z ${GS_FONTPATH} ]; then | ||
GS_FONTPATH="${GS_LIB}:${ROOT}/share/ghostscript/fonts:${ROOT}/share/ghostscript/Resource/Font" | GS_FONTPATH="${GS_LIB}:${ROOT}/share/ghostscript/fonts:${ROOT}/share/ghostscript/9.05/Resource/Font:${ROOT}/share/fonts" | ||
else | else | ||
GS_FONTPATH="${GS_LIB}:${ROOT}/share/ghostscript/fonts:${ROOT}/share/ghostscript/Resource/Font:${GS_FONTPATH}" | GS_FONTPATH="${GS_LIB}:${ROOT}/share/ghostscript/fonts:${ROOT}/share/ghostscript/9.05/Resource/Font:$ROOT/share/fonts:${GS_FONTPATH}" | ||
fi | fi | ||
# Add /usr/X11/share/fonts to GS_FONTPATH | # Add /usr/X11/share/fonts to GS_FONTPATH | ||
GS_FONTPATH="${GS_FONTPATH}:/usr/X11/share/fonts" | |||
GS_OPTIONS="-sGenericResourceDir=\"${ROOT}/share/ghostscript/9.05/Resource/\"" | GS_OPTIONS="-sGenericResourceDir=\"${ROOT}/share/ghostscript/9.05/Resource/\"" | ||
GS_OPTIONS="${GS_OPTIONS} -sFontResourceDir=\"${ROOT}/share/ghostscript/9.05/Resource/Font/\"" | GS_OPTIONS="${GS_OPTIONS} -sFontResourceDir=\"${ROOT}/share/ghostscript/9.05/Resource/Font/\"" | ||
GS_OPTIONS="${GS_OPTIONS} -sICCProfilesDir=\"${ROOT}/share/ghostscript/9.05/iccprofiles/\"" | |||
# Gnuplot stuff | # Gnuplot stuff | ||
GNUPLOT_HOME="${ROOT}" | |||
GNUHELP="${ROOT}/share/gnuplot/4.6/gnuplot.gih" | |||
GNUPLOT_DRIVER_DIR="${ROOT}/libexec/gnuplot/4.6" | |||
GNUPLOT_FONTPATH="${ROOT}/share/fonts/urw-fonts" | |||
# Add /usr/X11/share/fonts to GNUPLOT_FONTPATH | |||
GNUPLOT_FONTPATH="${GNUPLOT_FONTPATH}:/usr/X11/share/fonts/TTF" | |||
GNUPLOT_FONTPATH="${GNUPLOT_FONTPATH}:/usr/X11/share/fonts/Type1" | |||
GNUPLOT_PS_DIR="${ROOT}/share/gnuplot/4.6/PostScript" | |||
GNUPLOT_DEFAULT_GDFONT=Helvetica | |||
GDFONTPATH="${ROOT}/Resources/share/ghostscript/fonts" | |||
GNUTERM=aqua | GNUTERM=aqua | ||
GNUTERMAPP="${ROOT}/Applications/AquaTerm.app" | GNUTERMAPP="${ROOT}/Applications/AquaTerm.app" | ||
Line 100: | Line 116: | ||
# If AquaTerm is running, use AppleScript to tell it to quit. This is done to ensure | # If AquaTerm is running, use AppleScript to tell it to quit. This is done to ensure | ||
# the AquaTerm which is running is part of the app bundle. | # the AquaTerm which is running is part of the app bundle. | ||
export DYLD_FRAMEWORK_PATH | |||
osascript 2>&1>/dev/null <<EOF | osascript 2>&1>/dev/null <<EOF | ||
tell application "System Events" to set ProcessList to get name of every process | tell application "System Events" to set ProcessList to get name of every process | ||
Line 110: | Line 127: | ||
# Invoke Octave, preserving spaces in all the input arguments. | # Invoke Octave, preserving spaces in all the input arguments. | ||
OCTAVE_HOME="${OCTAVE_HOME}" PATH="${PATH}" \ | OCTAVE_HOME="${OCTAVE_HOME}" \ | ||
PATH="${PATH}" \ | |||
DYLD_FALLBACK_LIBRARY_PATH="${DYLD_FALLBACK_LIBRARY_PATH}" \ | DYLD_FALLBACK_LIBRARY_PATH="${DYLD_FALLBACK_LIBRARY_PATH}" \ | ||
CC="${CC}" CXX="${CXX}" F77="${F77}" \ | CC="${CC}" \ | ||
LD_CXX="${CXX}" DL_LD="${CXX}" \ | CXX="${CXX}" \ | ||
CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" \ | F77="${F77}" \ | ||
CXXFLAGS="${CXXFLAGS}" XTRA_CXXFLAGS="${XTRA_CXXFLAGS}" \ | LD_CXX="${CXX}" \ | ||
FFLAGS="${FFLAGS}" LDFLAGS="${LDFLAGS}" FLIBS="${FLIBS}" \ | DL_LD="${CXX}" \ | ||
CFLAGS="${CFLAGS}" \ | |||
CPPFLAGS="${CPPFLAGS}" \ | |||
CXXFLAGS="${CXXFLAGS}" \ | |||
XTRA_CXXFLAGS="${XTRA_CXXFLAGS}" \ | |||
FFLAGS="${FFLAGS}" \ | |||
LDFLAGS="${LDFLAGS}" \ | |||
FLIBS="${FLIBS}" \ | |||
DL_LDFLAGS="${DL_LDFLAGS}" \ | DL_LDFLAGS="${DL_LDFLAGS}" \ | ||
INCLUDEDIR="${INCLUDEDIR}" LIBDIR="${LIBDIR}" \ | INCLUDEDIR="${INCLUDEDIR}" \ | ||
OCTINCLUDEDIR="${OCTINCLUDEDIR}" OCTLIBDIR="${OCTLIBDIR}" \ | LIBDIR="${LIBDIR}" \ | ||
OCTINCLUDEDIR="${OCTINCLUDEDIR}" \ | |||
OCTLIBDIR="${OCTLIBDIR}" \ | |||
OCT_LINK_OPTS="${OCT_LINK_OPTS}" \ | OCT_LINK_OPTS="${OCT_LINK_OPTS}" \ | ||
SED="$SED" MAGICK_HOME="${ROOT}" \ | SED="$SED" MAGICK_HOME="${ROOT}" \ | ||
FONTCONFIG_PATH="${ROOT}/etc/fonts" \ | FONTCONFIG_PATH="${ROOT}/etc/fonts" \ | ||
GS_FONTPATH="${GS_FONTPATH}" GS_LIB="${GS_LIB}" GS_OPTIONS="${GS_OPTIONS}" \ | GS_FONTPATH="${GS_FONTPATH}" \ | ||
GS_LIB="${GS_LIB}" \ | |||
GS_OPTIONS="${GS_OPTIONS}" \ | |||
DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}" \ | DYLD_FRAMEWORK_PATH="${DYLD_FRAMEWORK_PATH}" \ | ||
AQUATERM_PATH="${AQUATERM_PATH}" \ | AQUATERM_PATH="${AQUATERM_PATH}" \ | ||
GNUTERM="${GNUTERM}" \ | GNUTERM="${GNUTERM}" \ | ||
GNUTERMAPP="${GNUTERMAPP}" \ | GNUTERMAPP="${GNUTERMAPP}" \ | ||
GNUPLOT_HOME="${GNUPLOT_HOME}" \ | |||
GNUHELP="${GNUHELP}" \ | |||
GNUPLOT_DRIVER_DIR="${GNUPLOT_DRIVER_DIR}" \ | |||
GNUPLOT_FONTPATH="${GNUPLOT_FONTPATH}" \ | |||
GNUPLOT_PS_DIR="${GNUPLOT_PS_DIR}" \ | |||
GNUPLOT_DEFAULT_GDFONT="${GNUPLOT_DEFAULT_GDFONT}" \ | |||
GDFONTPATH="${GDFONTPATH}" \ | |||
"${ROOT}/bin/octave-$VER" "$@" | "${ROOT}/bin/octave-$VER" "$@" | ||
Line 137: | Line 173: | ||
end tell | end tell | ||
EOF</nowiki> | EOF</nowiki> | ||
[[Category:Outdated pages]] |