diff options
author | Caolán McNamara <caolanm@redhat.com> | 2013-02-15 12:17:05 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2013-02-15 12:23:13 +0000 |
commit | 158aee9ad3e8d7dbb58381fc260ebdb53466ce22 (patch) | |
tree | a0af424fcae3a44fa73716503f3961f753be7a1a /bin | |
parent | eaf189abf2a3aa9d64a77ec866204203b51f52a8 (diff) |
Resolves: fdo#60627 wrong lib names for some custom widgets
Under Linux dlsym will search other locations and find them if they exist
elsewhere, but not under windows, so its easy to put the wrong lib name in if
developing under Linux because it'll generally work anyway.
So add a script: bin/verify-custom-widgets-libs which can be used under Linux
to verify that the required factory methods exist in the right lib.
Change-Id: Ic30f8da5acc4712684a7a25fbfb003e8b21cb867
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/verify-custom-widgets-libs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/bin/verify-custom-widgets-libs b/bin/verify-custom-widgets-libs new file mode 100755 index 000000000000..6a04702fa4cc --- /dev/null +++ b/bin/verify-custom-widgets-libs @@ -0,0 +1,29 @@ +#!/bin/sh +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# Run this from the source root dir of a completed build to +# verify that all customwidgets used in our .ui files have +# their factory method in the library they claim to be in +# +# Under Linux dlsym will search other locations and find +# them if they exist elsewhere, but not under windows, so +# its easy to put the wrong lib name in if developing +# under Linux + +FOO=`grep -h -r lo: */uiconfig | sed -e "s/<object class=\"//g" | sed -e "s/\".*$//"| sed 's/^[ \t]*//;s/[ \t]*$//'|sort|uniq` +for foo in $FOO; do + lib=$(echo $foo | cut -f1 -d:) + symbol=$(echo $foo | cut -f2 -d:) + echo testing if lib$lib.so contains make$symbol + nm -D solver/unxlng*/lib/lib$lib.so | grep make$symbol > /dev/null + if [ $? != 0 ]; then + echo "MISSING. Windows will crash" + else + echo "OK"; + fi +done |