Move the script from Makefile to the separate file to easier debugging.
        archlib:=lib64
 endif   
 
-MYSQL_SONAME:=$(shell lib=""; for dir in ${archlib} ${archlib}/mysql lib lib/mysql; do l=`find ${mysql-devel_prefix}/$$dir -maxdepth 1 -name libmysqlclient.so* | head -n 1`; if [ -f "$$l" ]; then lib=$$l; break; fi ; done; if [ x != x$$lib ]; then readelf -d $$lib | grep SONAME | sed 's/.*\(libmysqlclient.so.[0-9]\{1,\}\).*/\1/'; else echo notfound; fi )
+MYSQL_SONAME:=$(shell ../project/get_soname.sh ${mysql-devel_prefix}/${archlib} ${mysql_prefix}/${archlib} ${mysql-devel_prefix}/lib ${mysql_prefix}/lib)
 
 MYSQL_CPPFLAGS:=-I${mysql-devel_prefix}/include -I${mysql-devel_prefix}/include/mysql -DMYSQL_SONAME=\"${MYSQL_SONAME}\"
 MYSQL_LIBS=-lz
 
--- /dev/null
+#! /bin/sh
+
+lib=""
+for prefix in $@; do
+       for dir in "$prefix" "$prefix/mysql"; do
+               l=`find $dir -maxdepth 1 -name libmysqlclient.so* | head -n 1`
+               if [ -f "$l" ]; then
+                       lib=$l
+                       break
+               fi
+       done
+       if [ x"" != x"$lib" ]; then
+               break
+       fi
+done
+
+if [ x"" != x"$lib" ]; then
+       readelf -d $lib | grep SONAME | sed 's/.*\(libmysqlclient.so.[0-9]\{1,\}\).*/\1/'
+else
+       echo notfound
+fi