Browse Source

prepare-release: Also search for libraries in CMake locations

With this change, the 'library' command looks for a library libX
in the directories: build/bin, */X, X.

This allows it to find the library when building with the
upcoming CMake backend, which places the libraries in a sub
directory of the build tree with the same name as the source
tree.

For example, if building in 'build/', the apt-pkg library
will be available at 'build/apt-pkg/libapt-pkg.so.5.0'.

In case there are multiple instances of a library,
the newest one will be used.

Gbp-Dch: ignore
Julian Andres Klode 7 years ago
parent
commit
cc1b834fe9
1 changed files with 7 additions and 0 deletions
  1. 7 0
      prepare-release

+ 7 - 0
prepare-release

@@ -127,7 +127,14 @@ elif [ "$1" = 'post-build' ]; then
 
 elif [ "$1" = 'library' ]; then
 	librarysymbols() {
+		local libname=$(echo "${1}" | cut -c 4-)
 		local buildlib="build/bin/${1}.so.${2}"
+		for dir in $libname */$libname; do
+			local new_buildlib="$dir/${1}.so.${2}"
+			if [  -r "${new_buildlib}" ] && [ ! -e "$buildlib" -o "$new_buildlib" -nt "$buildlib" ]; then
+				local buildlib="${new_buildlib}"
+			fi
+		done
 		if [ ! -r "$buildlib" ]; then
 			echo "ERROR: The library ${1} has to be built before symbols can be checked!"
 			return