From 6f12d64c52776792604d9a7c7bc084f9d3044a84 Mon Sep 17 00:00:00 2001
From: Richard PALO <richard@NetBSD.org>
Date: Tue, 15 Sep 2015 15:58:51 +0200
Subject: [PATCH 219/398] Add DLOPEN_LIBS to configure for some cases where
-ldl is needed use std::sqrt in vcldemo.cxx
Change-Id: I24d8ba15ee267d0cad3b063df9b7cfd8d284f4ee
Reviewed-on: https://gerrit.libreoffice.org/18591
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
(cherry picked from commit fd612a144c0028972513a18167a13d29326a1798)
---
Repository.mk | 8 ++++----
config_host.mk.in | 1 +
configure.ac | 9 +++++++++
desktop/Library_sofficeapp.mk | 12 +++++-------
include/LibreOfficeKit/LibreOfficeKitInit.h | 4 +++-
libreofficekit/Executable_gtktiledviewer.mk | 5 ++---
libreofficekit/Executable_tilebench.mk | 3 +--
libreofficekit/Library_libreofficekitgtk.mk | 5 ++---
libreofficekit/Module_libreofficekit.mk | 4 ++--
svx/Executable_gengal.mk | 6 +++---
vcl/Executable_icontest.mk | 5 ++---
vcl/Executable_mtfdemo.mk | 5 ++---
vcl/Executable_ui-previewer.mk | 5 ++---
vcl/Executable_vcldemo.mk | 5 ++---
vcl/Library_desktop_detector.mk | 5 ++---
vcl/Library_vcl.mk | 7 +++----
vcl/Module_vcl.mk | 2 +-
vcl/workben/vcldemo.cxx | 6 +++---
18 files changed, 49 insertions(+), 48 deletions(-)
diff --git a/Repository.mk b/Repository.mk
index a84dc9a12211..dd0afca39b7a 100644
--- a/Repository.mk
+++ b/Repository.mk
@@ -67,13 +67,13 @@ $(eval $(call gb_Helper_register_executables,NONE, \
svptest \
svpclient \
pixelctl ) \
- $(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), tilebench) \
- $(if $(filter LINUX MACOSX WNT,$(OS)),icontest \
+ $(if $(and $(ENABLE_GTK), $(filter LINUX %BSD SOLARIS,$(OS))), tilebench) \
+ $(if $(filter LINUX MACOSX SOLARIS WNT %BSD,$(OS)),icontest \
outdevgrind) \
vcldemo \
tiledrendering \
mtfdemo \
- $(if $(and $(ENABLE_GTK), $(filter LINUX,$(OS))), gtktiledviewer) \
+ $(if $(and $(ENABLE_GTK), $(filter LINUX %BSD SOLARIS,$(OS))), gtktiledviewer) \
))
$(eval $(call gb_Helper_register_executables_for_install,SDK,sdk, \
@@ -582,7 +582,7 @@ $(eval $(call gb_Helper_register_libraries_for_install,PLAINLIBS_OOO,ooo, \
i18nlangtag \
i18nutil \
index_data \
- $(if $(and $(ENABLE_GTK3), $(filter LINUX,$(OS))), libreofficekitgtk) \
+ $(if $(and $(ENABLE_GTK3), $(filter LINUX %BSD SOLARIS,$(OS))), libreofficekitgtk) \
localedata_en \
localedata_es \
localedata_euro \
diff --git a/config_host.mk.in b/config_host.mk.in
index 5e5851e57da3..4ce14b085201 100644
--- a/config_host.mk.in
+++ b/config_host.mk.in
@@ -99,6 +99,7 @@ export DISABLE_DYNLOADING=@DISABLE_DYNLOADING@
export DISABLE_EXPORT=@DISABLE_EXPORT@
export DISABLE_OPENSSL=@DISABLE_OPENSSL@
export DISABLE_PYTHON=@DISABLE_PYTHON@
+export DLOPEN_LIBS=@DLOPEN_LIBS@
export DLLTOOL=@DLLTOOL@
export DOCDIR=@DOCDIR@
export DOXYGEN=@DOXYGEN@
diff --git a/configure.ac b/configure.ac
index 12983e074c7d..f3fe04da124b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -822,6 +822,15 @@ AC_SUBST(WITH_MINGW)
AC_SUBST(PTHREAD_CFLAGS)
AC_SUBST(PTHREAD_LIBS)
+if test $_os != "WINNT"; then
+ save_LIBS="$LIBS"
+ AC_SEARCH_LIBS([dlopen], [dl],
+ [case "$ac_cv_search_dlopen" in -l*) DLOPEN_LIBS="$ac_cv_search_dlopen";; esac],
+ [AC_MSG_ERROR([dlopen not found in either libc nor libdl])])
+ LIBS="$save_LIBS"
+fi
+AC_SUBST(DLOPEN_LIBS)
+
###############################################################################
# Extensions switches --enable/--disable
###############################################################################
diff --git a/desktop/Library_sofficeapp.mk b/desktop/Library_sofficeapp.mk
index ccad5a7ea5ca..2e3acb79b3c6 100644
--- a/desktop/Library_sofficeapp.mk
+++ b/desktop/Library_sofficeapp.mk
@@ -17,8 +17,8 @@ $(eval $(call gb_Library_set_include,sofficeapp,\
))
$(eval $(call gb_Library_add_libs,sofficeapp,\
- $(if $(filter $(OS),LINUX), \
- -ldl \
+ $(if $(filter LINUX %BSD SOLARIS, $(OS)), \
+ $(DLOPEN_LIBS) \
-lpthread \
) \
))
@@ -99,19 +99,17 @@ $(eval $(call gb_Library_add_exception_objects,sofficeapp,\
ifeq ($(ENABLE_HEADLESS),TRUE)
$(eval $(call gb_Library_add_libs,sofficeapp,\
- -lm \
- -ldl \
+ -lm $(DLOPEN_LIBS) \
-lpthread \
))
else
-ifeq ($(OS),LINUX)
+ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Library_use_static_libraries,sofficeapp,\
glxtest \
))
$(eval $(call gb_Library_add_libs,sofficeapp,\
- -lm \
- -ldl \
+ -lm $(DLOPEN_LIBS) \
-lpthread \
-lGL \
-lX11 \
diff --git a/include/LibreOfficeKit/LibreOfficeKitInit.h b/include/LibreOfficeKit/LibreOfficeKitInit.h
index c2f342661e31..f18e3ca3c8e4 100644
--- a/include/LibreOfficeKit/LibreOfficeKitInit.h
+++ b/include/LibreOfficeKit/LibreOfficeKitInit.h
@@ -17,7 +17,9 @@ extern "C"
{
#endif
-#if defined(__linux__) || defined (__FreeBSD_kernel__) || defined(_AIX) || defined(_WIN32) || defined(__APPLE__)
+#if defined(__linux__) || defined (__FreeBSD_kernel__) || defined(_AIX) ||\
+ defined(_WIN32) || defined(__APPLE__) || defined (__NetBSD__) ||\
+ defined (__sun)
#include <stdio.h>
#include <stdlib.h>
diff --git a/libreofficekit/Executable_gtktiledviewer.mk b/libreofficekit/Executable_gtktiledviewer.mk
index 31028a67fafb..f6e297b5dbfe 100644
--- a/libreofficekit/Executable_gtktiledviewer.mk
+++ b/libreofficekit/Executable_gtktiledviewer.mk
@@ -38,10 +38,9 @@ $(eval $(call gb_Executable_add_libs,gtktiledviewer,\
-lICE \
))
-ifeq ($(OS),LINUX)
+ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Executable_add_libs,gtktiledviewer,\
- -lm \
- -ldl \
+ -lm $(DLOPEN_LIBS) \
-lpthread \
))
endif
diff --git a/libreofficekit/Executable_tilebench.mk b/libreofficekit/Executable_tilebench.mk
index 11e73dead0bd..4da51d3ca686 100644
--- a/libreofficekit/Executable_tilebench.mk
+++ b/libreofficekit/Executable_tilebench.mk
@@ -20,8 +20,7 @@ $(eval $(call gb_Executable_use_libraries,tilebench,\
))
$(eval $(call gb_Executable_add_libs,tilebench,\
- -lm \
- -ldl \
+ -lm $(DLOPEN_LIBS) \
-lpthread \
))
diff --git a/libreofficekit/Library_libreofficekitgtk.mk b/libreofficekit/Library_libreofficekitgtk.mk
index 7d25abf944b1..3eba939ad56c 100644
--- a/libreofficekit/Library_libreofficekitgtk.mk
+++ b/libreofficekit/Library_libreofficekitgtk.mk
@@ -28,10 +28,9 @@ $(eval $(call gb_Library_add_libs,libreofficekitgtk,\
$(GTK3_LIBS) \
))
-ifeq ($(OS),LINUX)
+ifeq ($(OS),$(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Library_add_libs,libreofficekitgtk,\
- -ldl \
- -lm \
+ $(DLOPEN_LIBS) -lm \
))
endif
diff --git a/libreofficekit/Module_libreofficekit.mk b/libreofficekit/Module_libreofficekit.mk
index 0b2fd4ae103d..7d1c5ead764e 100644
--- a/libreofficekit/Module_libreofficekit.mk
+++ b/libreofficekit/Module_libreofficekit.mk
@@ -9,7 +9,7 @@
$(eval $(call gb_Module_Module,libreofficekit))
-ifeq ($(OS),LINUX)
+ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Module_add_subsequentcheck_targets,libreofficekit,\
CppunitTest_libreofficekit_tiledrendering \
@@ -23,6 +23,6 @@ $(eval $(call gb_Module_add_targets,libreofficekit,\
))
endif # ($(ENABLE_GTK3),)
-endif # ($(OS),LINUX)
+endif
# vim: set ts=4 sw=4 et:
diff --git a/svx/Executable_gengal.mk b/svx/Executable_gengal.mk
index 38d5697f32a2..e075b0522d2a 100644
--- a/svx/Executable_gengal.mk
+++ b/svx/Executable_gengal.mk
@@ -63,13 +63,13 @@ endif
ifeq ($(ENABLE_HEADLESS),TRUE)
$(eval $(call gb_Executable_add_libs,gengal,\
- -ldl \
+ $(DLOPEN_LIBS) \
-lpthread \
))
else
-ifeq ($(OS),LINUX)
+ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Executable_add_libs,gengal,\
- -ldl \
+ $(DLOPEN_LIBS) \
-lpthread \
-lGL \
-lX11 \
diff --git a/vcl/Executable_icontest.mk b/vcl/Executable_icontest.mk
index 11cc69d086fc..e9a30f8a2076 100644
--- a/vcl/Executable_icontest.mk
+++ b/vcl/Executable_icontest.mk
@@ -25,10 +25,9 @@ $(eval $(call gb_Executable_use_static_libraries,icontest,\
vclmain \
))
-ifeq ($(OS),LINUX)
+ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Executable_add_libs,icontest,\
- -lm \
- -ldl \
+ -lm $(DLOPEN_LIBS) \
-lpthread \
-lGL \
-lX11 \
diff --git a/vcl/Executable_mtfdemo.mk b/vcl/Executable_mtfdemo.mk
index 52af4a309040..01156f82296a 100644
--- a/vcl/Executable_mtfdemo.mk
+++ b/vcl/Executable_mtfdemo.mk
@@ -40,10 +40,9 @@ $(eval $(call gb_Executable_use_static_libraries,mtfdemo,\
vclmain \
))
-ifeq ($(OS),LINUX)
+ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Executable_add_libs,mtfdemo,\
- -lm \
- -ldl \
+ -lm $(DLOPEN_LIBS) \
-lpthread \
-lGL \
-lX11 \
diff --git a/vcl/Executable_ui-previewer.mk b/vcl/Executable_ui-previewer.mk
index 9aa4fa3bb0cb..4ef1b05c9fcb 100644
--- a/vcl/Executable_ui-previewer.mk
+++ b/vcl/Executable_ui-previewer.mk
@@ -34,10 +34,9 @@ $(eval $(call gb_Executable_add_exception_objects,ui-previewer,\
vcl/source/uipreviewer/previewer \
))
-ifeq ($(OS),LINUX)
+ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Executable_add_libs,ui-previewer,\
- -lm \
- -ldl \
+ -lm $(DLOPEN_LIBS) \
-lpthread \
-lGL \
-lX11 \
diff --git a/vcl/Executable_vcldemo.mk b/vcl/Executable_vcldemo.mk
index 3aee6ac11dc9..5dc630bcb5e7 100644
--- a/vcl/Executable_vcldemo.mk
+++ b/vcl/Executable_vcldemo.mk
@@ -46,10 +46,9 @@ $(eval $(call gb_Executable_use_static_libraries,vcldemo,\
vclmain \
))
-ifeq ($(OS),LINUX)
+ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Executable_add_libs,vcldemo,\
- -lm \
- -ldl \
+ -lm $(DLOPEN_LIBS) \
-lpthread \
-lGL \
-lX11 \
diff --git a/vcl/Library_desktop_detector.mk b/vcl/Library_desktop_detector.mk
index 6baf4abcb346..3edd0015e243 100644
--- a/vcl/Library_desktop_detector.mk
+++ b/vcl/Library_desktop_detector.mk
@@ -63,10 +63,9 @@ $(eval $(call gb_Library_add_exception_objects,desktop_detector,\
vcl/unx/generic/desktopdetect/desktopdetector \
))
-ifeq ($(OS),LINUX)
+ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Library_add_libs,desktop_detector,\
- -lm \
- -ldl \
+ -lm $(DLOPEN_LIBS) \
-lpthread \
))
endif
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk
index c6b33e64272d..7a9a6053ab32 100644
--- a/vcl/Library_vcl.mk
+++ b/vcl/Library_vcl.mk
@@ -58,7 +58,7 @@ $(eval $(call gb_Library_use_custom_headers,vcl,\
))
$(eval $(call gb_Library_use_externals,vcl,\
- $(if $(filter LINUX MACOSX,$(OS)), \
+ $(if $(filter LINUX MACOSX %BSD SOLARIS,$(OS)), \
curl) \
jpeg \
$(if $(filter-out WNT,$(OS)), \
@@ -718,10 +718,9 @@ $(eval $(call gb_Library_use_system_win32_libs,vcl,\
$(eval $(call gb_Library_add_nativeres,vcl,vcl/salsrc))
endif
-ifeq ($(OS),LINUX)
+ifeq ($(OS), $(filter LINUX %BSD SOLARIS, $(OS)))
$(eval $(call gb_Library_add_libs,vcl,\
- -lm \
- -ldl \
+ -lm $(DLOPEN_LIBS) \
-lpthread \
-lGL \
-lX11 \
diff --git a/vcl/Module_vcl.mk b/vcl/Module_vcl.mk
index 93a944605177..8a1dce995d19 100644
--- a/vcl/Module_vcl.mk
+++ b/vcl/Module_vcl.mk
@@ -27,7 +27,7 @@ $(eval $(call gb_Module_add_targets,vcl,\
StaticLibrary_vclmain \
$(if $(ENABLE_HEADLESS),, \
Executable_ui-previewer) \
- $(if $(filter LINUX MACOSX WNT,$(OS)), \
+ $(if $(filter LINUX MACOSX SOLARIS WNT %BSD,$(OS)), \
Executable_outdevgrind \
$(if $(ENABLE_HEADLESS),, \
Executable_vcldemo \
diff --git a/vcl/workben/vcldemo.cxx b/vcl/workben/vcldemo.cxx
index fd8c01f8ab57..82bb86998ce8 100644
--- a/vcl/workben/vcldemo.cxx
+++ b/vcl/workben/vcldemo.cxx
@@ -141,11 +141,11 @@ public:
maIntroBW.Filter(BMP_FILTER_EMBOSS_GREY);
InitRenderers();
- mnSegmentsX = rtl::math::round(sqrt(maRenderers.size()), 0,
+ mnSegmentsX = rtl::math::round(std::sqrt(maRenderers.size()), 0,
rtl_math_RoundingMode_Up);
- mnSegmentsY = rtl::math::round(sqrt(maRenderers.size()), 0,
+ mnSegmentsY = rtl::math::round(std::sqrt(maRenderers.size()), 0,
rtl_math_RoundingMode_Down);
- mnSegmentsY = floor(sqrt(maRenderers.size()));
+ mnSegmentsY = floor(std::sqrt(maRenderers.size()));
}
OUString getRendererList();
--
2.12.0