build-system: Allow building with static pjproject
[asterisk/asterisk.git] / third-party / pjproject / apply_patches
1 #!/bin/bash
2
3 if [ "$1" = "-q" ] ; then
4         quiet=1
5         shift
6 fi
7
8 patchdir=${1:?You must supply a patches directory}
9 sourcedir=${2?:You must supply a source directory}
10
11 patchdir=`readlink -f $patchdir`
12 sourcedir=`readlink -f $sourcedir`
13
14 if [ ! -d "$patchdir" ] ; then
15         echo "$patchdir is not a directory" >&2
16         exit 1
17 fi
18
19 if [ ! -d "$sourcedir" ] ; then
20         echo "$sourcedir is not a directory"  >&2
21         exit 1
22 fi
23
24 if [ ! "$(ls -A $patchdir/*.patch 2>/dev/null)" ] ; then
25         echo "No patches in $patchdir"  >&2
26         exit 0
27 fi
28
29 for patchfile in $patchdir/*.patch ; do
30         patch -d $sourcedir -p1 -s -r- -f -N --dry-run -i "$patchfile" || (echo "Patchfile $(basename $patchfile) failed to apply >&2" ; exit 1) || exit 1
31 done
32
33 for patchfile in "$patchdir"/*.patch ; do
34         [ -z $quiet ] && echo "Applying patch $(basename $patchfile)"
35         patch -d "$sourcedir" -p1 -s -i "$patchfile" || exit 1
36 done
37
38 exit 0
39