]> begriffs open source - libderp/blob - install.sh
Library version stored in one place
[libderp] / install.sh
1 #!/bin/sh
2 set -eu
3
4 VER="$(cat VERSION)"
5 MAJOR_VER="$(cut -d . -f 1 VERSION)"
6
7 if [ "$(uname -s)" = Darwin ]
8 then
9         SO=dylib
10 else
11         SO=so
12 fi
13
14 if [ $# -lt 1 ]
15 then
16         if [ -d /opt ]
17         then
18                 DEST=/opt
19         else
20                 DEST=/usr/local
21         fi
22 else
23         DEST=$1
24 fi
25
26 if [ ! -d "$DEST" ]
27 then
28         printf "ERROR: Destination directory '%s' does not exist\n" "$DEST"
29         exit 1
30 fi
31 PREFIX="$DEST/libderp.$VER"
32 SYM="$DEST/libderp.$MAJOR_VER"
33
34 if [ -d "$PREFIX" ]
35 then
36         printf "ERROR: Directory already exists: %s\n" "$PREFIX"
37         echo Remove it and run script again to reinstall.
38         exit 1
39 fi
40
41 if [ ! -f "build/release/libderp.$SO" ] || [ ! -f build/release/libderp.a ]
42 then
43         echo ERROR: Run make first to build the shared library
44         exit 1
45 fi
46
47 mkdir -p "$PREFIX/include" "$PREFIX/lib/pkgconfig" "$PREFIX/man"
48 rm -f "$SYM"
49 ln -s "$PREFIX" "$SYM"
50
51 cp -R include/derp "$PREFIX/include"
52 cp build/release/*."$SO" build/release/*.a "$PREFIX/lib"
53
54 # m4 is not universally available...posix scofflaws
55 sed -e "s%PREFIX%$SYM%" -e "s%VERSION%$VER%" \
56         libderp.pc > "$PREFIX/lib/pkgconfig/libderp.pc"
57
58 echo "Libderp $VER installed."
59 echo
60 printf "To use with pkg-config\n\tadd %s/lib/pkgconfig to PKG_CONFIG_PATH\n" "$SYM"
61 printf "To view man pages\n\tadd %s/man to MANPATH\n" "$SYM"