mirror of
https://github.com/fish-shell/fish-shell.git
synced 2025-02-16 02:02:45 +08:00
![Kurtis Rader](/assets/img/avatar_default.png)
First step in fixing issue #3157 is to check-in the source code and hook it into our build system. The inclusion of the MuParser source adds the MIT License to those that apply to fish. Update our documentation to reflect that fact. The MuParser documentation is at http://beltoforion.de/article.php?a=muparser. The source was downloaded from https://github.com/beltoforion/muparser/releases. It is also hosted on Github, https://github.com/beltoforion/muparser/. I did not download it from Github because that source contained just a couple of cleanup changes which don't affect its behavior.
101 lines
2.0 KiB
Bash
Executable File
101 lines
2.0 KiB
Bash
Executable File
#!/bin/sh
|
|
#-----------------------------------------------------------------------------
|
|
#-- Name: distrib/mac/shared-ld-sh
|
|
#-- Purpose: Link a mach-o dynamic shared library for Darwin / Mac OS X
|
|
#-- Author: Gilles Depeyrot
|
|
#-- Copyright: (c) 2002 Gilles Depeyrot
|
|
#-- Licence: any use permitted
|
|
#-----------------------------------------------------------------------------
|
|
|
|
verbose=0
|
|
args=""
|
|
objects=""
|
|
linking_flag="-dynamiclib"
|
|
ldargs="-r -keep_private_externs -nostdlib"
|
|
|
|
if test "x$CXX" = "x"; then
|
|
CXX="c++"
|
|
fi
|
|
|
|
while test $# -gt 0; do
|
|
case $1 in
|
|
|
|
-v)
|
|
verbose=1
|
|
;;
|
|
|
|
-o|-compatibility_version|-current_version|-framework|-undefined|-install_name)
|
|
# collect these options and values
|
|
args="${args} $1 $2"
|
|
shift
|
|
;;
|
|
|
|
-arch|-isysroot)
|
|
# collect these options and values
|
|
ldargs="${ldargs} $1 $2"
|
|
shift
|
|
;;
|
|
|
|
-s|-Wl,*)
|
|
# collect these load args
|
|
ldargs="${ldargs} $1"
|
|
;;
|
|
|
|
-l*|-L*|-flat_namespace|-headerpad_max_install_names)
|
|
# collect these options
|
|
args="${args} $1"
|
|
;;
|
|
|
|
-dynamiclib|-bundle)
|
|
linking_flag="$1"
|
|
;;
|
|
|
|
-*)
|
|
echo "shared-ld: unhandled option '$1'"
|
|
exit 1
|
|
;;
|
|
|
|
*.o | *.a | *.dylib)
|
|
# collect object files
|
|
objects="${objects} $1"
|
|
;;
|
|
|
|
*)
|
|
echo "shared-ld: unhandled argument '$1'"
|
|
exit 1
|
|
;;
|
|
|
|
esac
|
|
shift
|
|
done
|
|
|
|
status=0
|
|
|
|
#
|
|
# Link one module containing all the others
|
|
#
|
|
if test ${verbose} = 1; then
|
|
echo "$CXX ${ldargs} ${objects} -o master.$$.o"
|
|
fi
|
|
$CXX ${ldargs} ${objects} -o master.$$.o
|
|
status=$?
|
|
|
|
#
|
|
# Link the shared library from the single module created, but only if the
|
|
# previous command didn't fail:
|
|
#
|
|
if test ${status} = 0; then
|
|
if test ${verbose} = 1; then
|
|
echo "$CXX ${linking_flag} master.$$.o ${args}"
|
|
fi
|
|
$CXX ${linking_flag} master.$$.o ${args}
|
|
status=$?
|
|
fi
|
|
|
|
#
|
|
# Remove intermediate module
|
|
#
|
|
rm -f master.$$.o
|
|
|
|
exit $status
|