summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2013-02-15 12:17:05 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-02-15 12:23:13 +0000
commit158aee9ad3e8d7dbb58381fc260ebdb53466ce22 (patch)
treea0af424fcae3a44fa73716503f3961f753be7a1a /bin
parenteaf189abf2a3aa9d64a77ec866204203b51f52a8 (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-xbin/verify-custom-widgets-libs29
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