#!/bin/bash # This launcher script is not part of Emacs proper. It is from the # build-emacs-for-macos project (https://github.com/jimeh/build-emacs-for-macos) # and helps facilitate proper startup of Emacs with environment varibales set as # needed. # # Licensed under CC0 1.0 Universal: # https://creativecommons.org/publicdomain/zero/1.0/ # set -e resolve_link() { local file="$1" while [ -L "$file" ]; do file="$(readlink "$file")" done echo "$file" } realname() { local path="$1" local resolved local cwd cwd="$(pwd)" resolved="$(resolve_link "$path")" cd "$(dirname "$resolved")" echo "$(pwd)/$(basename "$resolved")" cd "$cwd" } join() { local IFS="$1" local parts=() shift for arg in "$@"; do if [ "$arg" != "" ]; then parts+=("$arg") fi done echo "${parts[*]}" } DIR="$(dirname "$(realname "$0")")" BIN="${DIR}/Emacs<%= bin_suffix %>" export PATH="${DIR}/bin:${DIR}/libexec:${PATH}" <% if library_paths.any? %> LIB_PATHS=( '<%= library_paths.map { |p| p.gsub('\'', "\"'\"") }.join("'\n '") %>' ) for lib in "${LIB_PATHS[@]}"; do if [ -d "${DIR}/<%= lib_dir_name %>/${lib}" ]; then libs="$(join : "$libs" "${DIR}/<%= lib_dir_name %>/${lib}")" fi done LIBRARY_PATH="$(join : "$libs" "$LIBRARY_PATH")" export LIBRARY_PATH <% end %> exec "$BIN" "$@"