Blame SOURCES/0219-Add-DLOPEN_LIBS-to-configure-for-some-cases-where-ld.patch

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