File: lt_link_helper.sh.in

package info (click to toggle)
libsbml 5.13.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 161,112 kB
  • ctags: 108,318
  • sloc: cpp: 909,538; xml: 239,143; ansic: 58,510; cs: 56,683; java: 26,901; python: 25,599; sh: 10,133; perl: 8,784; makefile: 8,001; ruby: 4,760; php: 202; csh: 3
file content (86 lines) | stat: -rw-r--r-- 2,419 bytes parent folder | download | duplicates (7)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#!/bin/sh
#
# This is a wrapper script which is used when buliding a shared 
# library file of language bindings.
# This script was originally implemented by Moriyoshi Koizumi.
#

libdir=@prefix@/lib

progname=`basename "$0"`

dllibext=
out_dir=
out_file=
out_filename=
cygout_filename=
args=

TAG=CXX

if test -z "$1"; then
    echo "${progname}: linker executable must be specified." >&2
    exit
fi

linker_tmpdir=`mktemp -d $PWD/XXXXXXXX`
stage_dir="${linker_tmpdir}/stage"

LD="$1"
shift

while test -n "$1"; do
    case "$1" in
        --tag=*)
            TAG=`echo "$1" | sed -e 's/^--tag=//'`
            ;;
        -o)
            shift
            out_file="$1"
            dllibext=`echo "${out_file}" | sed -e 's/.*\(\.[^.]*\)$/\1/'`
            out_dir=`dirname "${out_file}"`
            out_filename=`basename "${out_file}" "${dllibext}"`
            cygout_filename=`echo ${out_filename} | sed 's/lib/cyg/'`
            ;;
        *.o)
            lt_obj=`echo "$1" | sed -e 's/\.o$/.lo/'`
            args="${args} \"${lt_obj}\""
            ;;
        --libdir)
            shift
            libdir="$1" 
            ;;
        lib*.la | */lib*.la)
            mkdir -p "${stage_dir}/${libdir}" && \
                eval "@abs_top_srcdir@/libtool --mode=install cp \"$1\" \"${stage_dir}/${libdir}\""
            libname=`basename "$1" | sed -e 's/lib\([^.]*\)\.la/\1/'`
            args="${args} \"$1\""
            ;; 
        *)
            args="${args} \"$1\""
            ;;
    esac
    shift
done

mkdir -p "${stage_dir}/${libdir}"

if test -z "$out_file"; then
    echo "${progname}: -o option not specified." >&2
    rm -rf "${linker_tmpdir}"
    exit 1
fi

eval "@abs_top_srcdir@/libtool --tag=\"$TAG\" --mode=link \"$LD\" -rpath \"${libdir}\" -inst-prefix-dir \"${stage_dir}\" -module -avoid-version -export-dynamic -shrext "${dllibext}" -o \"${out_dir}/${out_filename}.la\" $args" && \
    eval "@abs_top_srcdir@/libtool --mode=install cp \"${out_dir}/${out_filename}.la\" \"${stage_dir}/${libdir}/${out_filename}.la\"" 

  if [ -e "${stage_dir}${libdir}/${out_filename}${dllibext}" ]; then
    cp "${stage_dir}${libdir}/${out_filename}${dllibext}" "${out_dir}"
  fi

  # for cygwin
  if [ -e "${stage_dir}${libdir}/${cygout_filename}${dllibext}" ]; then
    cp "${stage_dir}${libdir}/${cygout_filename}${dllibext}" "${out_dir}/${out_filename}${dllibext}"
  fi

rm -rf "${linker_tmpdir}"