about summary refs log tree commit diff
path: root/Config/installfns.sh
blob: de7a52bcea558c5ca17a2215f5449c4569598122 (plain) (blame)
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
#!/bin/sh

if test -d $fndir.old; then
  add_old=1
fi

$sdir_top/mkinstalldirs $fndir || exit 1;

# If the source directory is somewhere else, we need to force
# the shell to expand it in that directory, then strip it off.
install=
for file in $FUNCTIONS_INSTALL; do
  if test -f "$sdir/$file"; then
    install="$install $file"
  else
    install="$install `echo $sdir/$file | sed -e \"s%$sdir/%%g\"`"
  fi
done

for file in $install; do
  if test -f $sdir/$file; then
    if test x$FUNCTIONS_SUBDIRS != x -a x$FUNCTIONS_SUBDIRS != xno; then
      subfile="$file"
      subdir="`echo $file | sed -e 's%/[^/]*$%%'`"
      olddir="$fndir.old/$subdir"
      instdir="$fndir/$subdir"
    else
      subfile="`echo $file | sed -e 's%^.*/%%'`"
      olddir="$fndir.old"
      instdir="$fndir"
    fi
    if test -f $fndir/$subfile; then
      if cmp $fndir/$subfile $sdir/$file >/dev/null; then :; else
	$sdir_top/mkinstalldirs $olddir
        mv $fndir/$subfile $olddir
        : ${add_old:=1}
      fi
    fi
    $sdir_top/mkinstalldirs $instdir || exit 1
    $INSTALL_DATA $sdir/$file $instdir || exit 1
  fi
done

if test x$add_old != x1; then
  rm -rf $fndir.old
fi

exit 0