@@ -86,7 +86,7 @@ OPTIONS:
8686EOF
8787}
8888
89- function fix_prefix (){
89+ function correct_pc_file (){
9090 local fix_path=" $1 "
9191 local dir=${PWD}
9292
@@ -95,33 +95,17 @@ function fix_prefix(){
9595
9696 for pc in ` find . -type f -name " *.pc" ` ;
9797 do
98- echo " $pc "
99- local pc_dir=$( DIRNAME=$( dirname " $pc " ) ; cd " $DIRNAME " ; pwd)
100- local lib_dir=$( dirname " $pc_dir " )
101- local base_dir=$( dirname " $lib_dir " )
102-
103- base_dir=$( cd " $base_dir " ; pwd)
104- local escaped_base_dir=$( echo $base_dir | sed ' s/\//\\\//g' )
105- local escaped_lib_dir=$( echo " ${base_dir} /lib" | sed ' s/\//\\\//g' )
106- local escaped_include_dir=$( echo " ${base_dir} /include" | sed ' s/\//\\\//g' )
107-
108- sed -i " " " s/^prefix=.*/prefix=$escaped_base_dir /" " $pc "
109- sed -i " " " s/^libdir=.*/libdir=$escaped_lib_dir /" " $pc "
110- sed -i " " " s/^includedir=.*/includedir=$escaped_include_dir /" " $pc "
111-
112- # filte Libs using -L/ absolute path
113- local str=
114- for t in ` cat " $pc " | grep " Libs: " | grep " \-L/" ` ;
115- do
116- if [[ " $t " != -L /* ]]; then
117- if [[ $str ]]; then
118- str=" ${str} $t "
119- else
120- str=" $t "
121- fi
122- fi
123- done
124- [[ ! -z $str ]] && sed -i " " " s/^Libs:.*/$str /" " $pc "
98+ local pkgconfig=$( cd $( dirname " $pc " ) ; pwd)
99+ local lib_dir=$( cd $( dirname " $pkgconfig " ) ; pwd)
100+ local base_dir=$( cd $( dirname " $lib_dir " ) ; pwd)
101+ local include_dir=" ${base_dir} /include"
102+
103+ sed -i " " " s|^prefix=.*|prefix=$base_dir |" " $pc "
104+ sed -i " " " s|^libdir=/.*|libdir=$lib_dir |" " $pc "
105+ sed -i " " " s|^includedir=/.*|includedir=$include_dir |" " $pc "
106+ sed -i " " " s|-L/[^ ]*|-L$lib_dir |" " $pc "
107+ sed -i " " " s|-I/[^ ]*include|-I$include_dir |" " $pc "
108+
125109 done
126110
127111 cd " $dir "
@@ -181,7 +165,7 @@ case $1 in
181165 ;;
182166esac
183167
184- export -f fix_prefix
168+ export -f correct_pc_file
185169export MR_ACTION=$action
186170
187171while [[ $# -gt 0 ]]; do
@@ -228,7 +212,7 @@ while [[ $# -gt 0 ]]; do
228212 ;;
229213 -correct-pc)
230214 shift
231- fix_prefix " $1 "
215+ correct_pc_file " $1 "
232216 exit 0
233217 ;;
234218 ** )
0 commit comments