File: fix_demo_libnrnmech.sh

package info (click to toggle)
neuron 8.2.6-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 34,768 kB
  • sloc: cpp: 149,571; python: 58,449; ansic: 50,329; sh: 3,510; xml: 213; pascal: 51; makefile: 35; sed: 5
file content (28 lines) | stat: -rwxr-xr-x 924 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env bash
set -ex

# On Mac, update neurondemo libnrnmech to point to relative libnrniv.
# neurondemo dlopens ..../release/x86_64/.libs/libnrnmech.so
# Remove the libnrnmech.so if it is a symbolic link
#  and copy ..../release/x86_64/libnrnmech.dylib to ...../lib/libnrnmech.so
# Rewrite @rpath/libnrniv.dylib to @loader_path/...../lib/libnrniv.dylib

instdir=$1
REL_RPATH=$2
if [[ `uname -m` == 'arm64' ]]; then
  libnrnmech_dir=$instdir/share/nrn/demo/release/arm64
else
  libnrnmech_dir=$instdir/share/nrn/demo/release/x86_64
fi

if test "`uname -s`" = "Darwin" ; then
  if test -h "$libnrnmech_dir/.libs/libnrnmech.so" ; then
    rm -f $libnrnmech_dir/.libs/libnrnmech.so
    mv $libnrnmech_dir/libnrnmech.dylib $libnrnmech_dir/.libs/libnrnmech.so
  fi
  install_name_tool -change '@rpath/libnrniv.dylib' \
    '@loader_path/../../../../../../lib/libnrniv.dylib' \
    $libnrnmech_dir/.libs/libnrnmech.so
fi