Skip to content

Commit 5d37cc8

Browse files
committed
fix correct pc file logic
1 parent 4fab2c3 commit 5d37cc8

File tree

2 files changed

+15
-31
lines changed

2 files changed

+15
-31
lines changed

do-install/main.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@ do
3838
done
3939

4040
if [[ ! "$FORCE_XCFRAMEWORK" ]];then
41-
fix_prefix "$MR_WORKSPACE/product/$MR_PLAT"
41+
correct_pc_file "$MR_WORKSPACE/product/$MR_PLAT"
4242
fi
4343

tools/parse-arguments.sh

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ OPTIONS:
8686
EOF
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
;;
182166
esac
183167

184-
export -f fix_prefix
168+
export -f correct_pc_file
185169
export MR_ACTION=$action
186170

187171
while [[ $# -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

Comments
 (0)