File: fix_libs.sh

package info (click to toggle)
cloudcompare 2.10.1-2
  • links: PTS
  • area: main
  • in suites: buster
  • size: 55,916 kB
  • sloc: cpp: 219,837; ansic: 29,944; makefile: 67; sh: 45
file content (56 lines) | stat: -rwxr-xr-x 3,144 bytes parent folder | download
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#!/bin/bash

# Use install_name_tool to change paths for some libraries so they can be found

FRAMEWORK_DIR=$1

# This is specific to my (Andy's) build setup because I install all my homebrew stuff here.
# If you are trying to package things yourself for general deployment, you'll have to change this path.
HOMEBREW_PATH_PREFIX=${HOME}/dev

if [ -f "${FRAMEWORK_DIR}/libCGAL_Core.13.dylib" ]; then
   echo "  fixing: ${FRAMEWORK_DIR}/libCGAL_Core.13.dylib"
   install_name_tool -change "${HOMEBREW_PATH_PREFIX}/lib/libCGAL.13.dylib" "@executable_path/../Frameworks/libCGAL.13.dylib" "${FRAMEWORK_DIR}/libCGAL_Core.13.dylib"
else
   echo "  error: could not find ${FRAMEWORK_DIR}/libCGAL_Core.13.dylib - check versions in fix_libs.sh"
fi

echo "  fixing: ${FRAMEWORK_DIR}/libboost_chrono-mt.dylib"
install_name_tool -change "@loader_path/libboost_system-mt.dylib" "@executable_path/../Frameworks/libboost_system-mt.dylib" "${FRAMEWORK_DIR}/libboost_chrono-mt.dylib"

echo "  fixing: ${FRAMEWORK_DIR}/libboost_thread-mt.dylib"
install_name_tool -change "@loader_path/libboost_system-mt.dylib" "@executable_path/../Frameworks/libboost_system-mt.dylib" "${FRAMEWORK_DIR}/libboost_thread-mt.dylib"

## FFMPEG from homebrew is problematic since it puts the "Cellar" paths directly in the libs
## Again, these paths need to be modified if you are shipping the version of CC you are installing...

if test -n "$(find ${FRAMEWORK_DIR} -maxdepth 1 -name 'libavcodec.*.dylib*' -print -quit)"; then
  FFMPEG_VERSION=$(ffmpeg -version | head -n1 | sed "s/^.*version \([0-9.]*\) Copyright.*/\1/")
  FFMPEG_DIR="${HOMEBREW_PATH_PREFIX}/Cellar/ffmpeg/${FFMPEG_VERSION}/lib"

  if [ ! -d "$FFMPEG_DIR" ]; then
    echo "  error: could not find FFMPEG directory: ${FFMPEG_DIR} - check versions in fix_libs.sh"
  else
    AV_CODEC="libavcodec.58.dylib"
    AV_FORMAT="libavformat.58.dylib"
    AV_UTIL="libavutil.56.dylib"

    SW_RESAMPLE="libswresample.3.dylib"
    SW_SCALE="libswscale.5.dylib"

    echo "  fixing: ${FRAMEWORK_DIR}/${AV_CODEC}"
    install_name_tool -change "${FFMPEG_DIR}/${AV_UTIL}" "@executable_path/../Frameworks/${AV_UTIL}" "${FRAMEWORK_DIR}/${AV_CODEC}"
    install_name_tool -change "${FFMPEG_DIR}/${SW_RESAMPLE}" "@executable_path/../Frameworks/${SW_RESAMPLE}" "${FRAMEWORK_DIR}/${AV_CODEC}"

    echo "  fixing: ${FRAMEWORK_DIR}/${AV_FORMAT}"
    install_name_tool -change "${FFMPEG_DIR}/${AV_CODEC}" "@executable_path/../Frameworks/${AV_CODEC}" "${FRAMEWORK_DIR}/${AV_FORMAT}"
    install_name_tool -change "${FFMPEG_DIR}/${AV_UTIL}" "@executable_path/../Frameworks/${AV_UTIL}" "${FRAMEWORK_DIR}/${AV_FORMAT}"
    install_name_tool -change "${FFMPEG_DIR}/${SW_RESAMPLE}" "@executable_path/../Frameworks/${SW_RESAMPLE}" "${FRAMEWORK_DIR}/${AV_FORMAT}"

    echo "  fixing: ${FRAMEWORK_DIR}/${SW_RESAMPLE}"
    install_name_tool -change "${FFMPEG_DIR}/${AV_UTIL}" "@executable_path/../Frameworks/${AV_UTIL}" "${FRAMEWORK_DIR}/${SW_RESAMPLE}"

    echo "  fixing: ${FRAMEWORK_DIR}/${SW_SCALE}"
    install_name_tool -change "${FFMPEG_DIR}/${AV_UTIL}" "@executable_path/../Frameworks/${AV_UTIL}" "${FRAMEWORK_DIR}/${SW_SCALE}"
  fi
fi