[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: [PATCH] -fvisibility problems
From:       Szombathelyi_György <gyurco () freemail ! hu>
Date:       2004-11-16 14:26:23
Message-ID: 419A0E0F.3050501 () freemail ! hu
[Download RAW message or body]

Dirk Mueller wrote:
> On Tuesday 16 November 2004 13:01, Szombathelyi György wrote:
> 
> 
>>especially in kdeprint). Oh, and what about arts?
> 
> 
> it would be nice if you could take care of arts since I don't use it. 
> 
Ok, I'll look into arts, and now I attached the missing exports from 
kdelibs. Also changed the compiler version checking to a feature test, 
since many patched gcc 3.4s now supports the -fvisibility option.

> Thanks,
> 
> Dirk
> 
Bye,
György


["kdelibs-visibility.diff" (text/plain)]

Index: admin/acinclude.m4.in
===================================================================
RCS file: /home/kde/kde-common/admin/acinclude.m4.in,v
retrieving revision 2.478
diff -u -3 -p -u -r2.478 acinclude.m4.in
--- admin/acinclude.m4.in	15 Nov 2004 02:30:26 -0000	2.478
+++ admin/acinclude.m4.in	16 Nov 2004 14:22:32 -0000
@@ -3048,11 +3048,17 @@ AC_DEFUN([AC_CHECK_COMPILERS],
     KDE_CHECK_COMPILER_FLAG(fno-exceptions,[CXXFLAGS="$CXXFLAGS -fno-exceptions"])
     KDE_CHECK_COMPILER_FLAG(fno-check-new, [CXXFLAGS="$CXXFLAGS -fno-check-new"])
     KDE_CHECK_COMPILER_FLAG(fno-common, [CXXFLAGS="$CXXFLAGS -fno-common"])
-    KDE_CHECK_COMPILER_FLAG(fvisibility=hidden, [CXXFLAGS="$CXXFLAGS \
-fvisibility=hidden"]) +    kde_have_hidden_visibility="no";
+    KDE_CHECK_COMPILER_FLAG(fvisibility=hidden, [kde_have_hidden_visibility="yes" ])
     KDE_CHECK_COMPILER_FLAG(fvisibility-inlines-hidden, [CXXFLAGS="$CXXFLAGS \
                -fvisibility-inlines-hidden"])
     KDE_CHECK_COMPILER_FLAG(fexceptions, [USE_EXCEPTIONS="-fexceptions"], \
USE_EXCEPTIONS=	)  ENABLE_PERMISSIVE_FLAG="-fpermissive"
 
+    if test $kde_have_hidden_visibility = yes; then
+	AC_DEFINE_UNQUOTED(HAVE_HIDDEN_VISIBILITY, 1, [Defines if your GNU compiler \
supports the -fvisibility=hidden flag]) +	CXXFLAGS="$CXXFLAGS -fvisibility=hidden"
+    fi
+
     if test "$kde_use_pch" = "yes"; then
         AC_MSG_CHECKING(whether gcc supports precompiling c header files)
         echo >conftest.h
Index: kdecore/kdemacros.h
===================================================================
RCS file: /home/kde/kdelibs/kdecore/kdemacros.h,v
retrieving revision 1.15
diff -u -3 -p -u -r1.15 kdemacros.h
--- kdecore/kdemacros.h	15 Sep 2004 15:37:28 -0000	1.15
+++ kdecore/kdemacros.h	16 Nov 2004 14:22:34 -0000
@@ -20,6 +20,8 @@
 #ifndef _KDE_MACROS_H_
 #define _KDE_MACROS_H_
 
+#include <config.h>
+
 /**
  * The KDE_NO_EXPORT macro marks the symbol of the given variable 
  * to be hidden. A hidden symbol is stripped during the linking step, 
@@ -34,7 +36,7 @@
  * \end
  */
 
-#if __GNUC__ - 0 > 3 || (__GNUC__ - 0 == 3 && __GNUC_MINOR__ - 0 > 4)
+#if defined __GNUC__ && defined(HAVE_HIDDEN_VISIBILITY)
 /* Visibility is available for GCC newer than 3.4.
  * See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=9283 
  */
Index: kdecore/svgicons/ksvgiconpainter.h
===================================================================
RCS file: /home/kde/kdelibs/kdecore/svgicons/ksvgiconpainter.h,v
retrieving revision 1.11
diff -u -3 -p -u -r1.11 ksvgiconpainter.h
--- kdecore/svgicons/ksvgiconpainter.h	25 Oct 2004 19:22:32 -0000	1.11
+++ kdecore/svgicons/ksvgiconpainter.h	16 Nov 2004 14:22:35 -0000
@@ -30,7 +30,7 @@ class QWMatrix;
 class QDomElement;
 class QPointArray;
 
-class KSVGIconPainter
+class KDECORE_EXPORT KSVGIconPainter
 {
 public:
 	KSVGIconPainter(int width, int height);
Index: kdeprint/kpcopiespage.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/kpcopiespage.h,v
retrieving revision 1.6
diff -u -3 -p -u -r1.6 kpcopiespage.h
--- kdeprint/kpcopiespage.h	15 Mar 2004 10:27:38 -0000	1.6
+++ kdeprint/kpcopiespage.h	16 Nov 2004 14:22:35 -0000
@@ -31,7 +31,7 @@ class QSpinBox;
 class QLabel;
 class KPrinter;
 
-class KPCopiesPage : public KPrintDialogPage, public KPReloadObject
+class KDEPRINT_EXPORT KPCopiesPage : public KPrintDialogPage, public KPReloadObject
 {
 	Q_OBJECT
 public:
Index: kdeprint/kpdriverpage.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/kpdriverpage.h,v
retrieving revision 1.4
diff -u -3 -p -u -r1.4 kpdriverpage.h
--- kdeprint/kpdriverpage.h	15 Mar 2004 10:27:38 -0000	1.4
+++ kdeprint/kpdriverpage.h	16 Nov 2004 14:22:35 -0000
@@ -24,7 +24,7 @@
 
 class DriverView;
 
-class KPDriverPage : public KPrintDialogPage
+class KDEPRINT_EXPORT KPDriverPage : public KPrintDialogPage
 {
 public:
 	KPDriverPage(KMPrinter *p, DrMain *d = 0, QWidget *parent = 0, const char *name = \
                0);
Index: kdeprint/kpgeneralpage.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/kpgeneralpage.h,v
retrieving revision 1.4
diff -u -3 -p -u -r1.4 kpgeneralpage.h
--- kdeprint/kpgeneralpage.h	15 Mar 2004 10:27:38 -0000	1.4
+++ kdeprint/kpgeneralpage.h	16 Nov 2004 14:22:35 -0000
@@ -28,7 +28,7 @@ class QButtonGroup;
 class QGroupBox;
 class QLabel;
 
-class KPGeneralPage : public KPrintDialogPage
+class KDEPRINT_EXPORT KPGeneralPage : public KPrintDialogPage
 {
 	Q_OBJECT
 public:
Index: kdeprint/marginwidget.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/marginwidget.h,v
retrieving revision 1.4
diff -u -3 -p -u -r1.4 marginwidget.h
--- kdeprint/marginwidget.h	15 Mar 2004 10:27:39 -0000	1.4
+++ kdeprint/marginwidget.h	16 Nov 2004 14:22:35 -0000
@@ -23,12 +23,14 @@
 #include <qwidget.h>
 #include <qvaluevector.h>
 
+#include <kdelibs_export.h>
+
 class MarginValueWidget;
 class MarginPreview;
 class QCheckBox;
 class QComboBox;
 
-class MarginWidget : public QWidget
+class KDEPRINT_EXPORT MarginWidget : public QWidget
 {
 	Q_OBJECT
 public:
Index: kdeprint/ppdloader.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/ppdloader.h,v
retrieving revision 1.4
diff -u -3 -p -u -r1.4 ppdloader.h
--- kdeprint/ppdloader.h	15 Mar 2004 10:27:39 -0000	1.4
+++ kdeprint/ppdloader.h	16 Nov 2004 14:22:35 -0000
@@ -26,12 +26,14 @@
 #include <qvariant.h>
 #include <qdict.h>
 
+#include <kdelibs_export.h>
+
 class DrGroup;
 class DrBase;
 class DrMain;
 struct PS_private;
 
-class PPDLoader
+class KDEPRINT_EXPORT PPDLoader
 {
 public:
 	PPDLoader();
Index: kdeprint/cups/cupsdconf2/main.cpp
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/cups/cupsdconf2/main.cpp,v
retrieving revision 1.6
diff -u -3 -p -u -r1.6 main.cpp
--- kdeprint/cups/cupsdconf2/main.cpp	15 Mar 2004 10:27:44 -0000	1.6
+++ kdeprint/cups/cupsdconf2/main.cpp	16 Nov 2004 14:22:35 -0000
@@ -30,7 +30,7 @@ static KCmdLineOptions options[] =
 	KCmdLineLastOption
 };
 
-extern "C" int kdemain(int argc, char *argv[])
+extern "C" KDEPRINT_EXPORT int kdemain(int argc, char *argv[])
 {
 	KCmdLineArgs::init(argc,argv,"cupsdconf",
 			   I18N_NOOP("A CUPS configuration tool"),
Index: kdeprint/management/kmpropmembers.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/management/kmpropmembers.h,v
retrieving revision 1.4
diff -u -3 -p -u -r1.4 kmpropmembers.h
--- kdeprint/management/kmpropmembers.h	15 Mar 2004 10:27:48 -0000	1.4
+++ kdeprint/management/kmpropmembers.h	16 Nov 2004 14:22:35 -0000
@@ -24,7 +24,7 @@
 
 class QTextView;
 
-class KMPropMembers : public KMPropWidget
+class KDEPRINT_EXPORT KMPropMembers : public KMPropWidget
 {
 public:
 	KMPropMembers(QWidget *parent = 0, const char *name = 0);
Index: kdeprint/management/kmwinfobase.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/management/kmwinfobase.h,v
retrieving revision 1.6
diff -u -3 -p -u -r1.6 kmwinfobase.h
--- kdeprint/management/kmwinfobase.h	15 Mar 2004 10:27:48 -0000	1.6
+++ kdeprint/management/kmwinfobase.h	16 Nov 2004 14:22:35 -0000
@@ -26,7 +26,7 @@
 class QLabel;
 class QLineEdit;
 
-class KMWInfoBase : public KMWizardPage
+class KDEPRINT_EXPORT KMWInfoBase : public KMWizardPage
 {
 public:
 	KMWInfoBase(int n = 1, QWidget *parent = 0, const char *name = 0);
Index: kdeprint/management/networkscanner.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/management/networkscanner.h,v
retrieving revision 1.3
diff -u -3 -p -u -r1.3 networkscanner.h
--- kdeprint/management/networkscanner.h	15 Mar 2004 10:27:48 -0000	1.3
+++ kdeprint/management/networkscanner.h	16 Nov 2004 14:22:35 -0000
@@ -24,7 +24,9 @@
 #include <kdialogbase.h>
 #include <qptrlist.h>
 
-class NetworkScanner : public QWidget
+#include <kdelibs_export.h>
+
+class KDEPRINT_EXPORT NetworkScanner : public QWidget
 {
 	Q_OBJECT
 
Index: kdeprint/management/pluginaction.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/management/pluginaction.h,v
retrieving revision 1.2
diff -u -3 -p -u -r1.2 pluginaction.h
--- kdeprint/management/pluginaction.h	15 Mar 2004 10:27:48 -0000	1.2
+++ kdeprint/management/pluginaction.h	16 Nov 2004 14:22:35 -0000
@@ -22,7 +22,7 @@
 
 #include <kaction.h>
 
-class PluginAction : public KAction
+class KDEPRINT_EXPORT PluginAction : public KAction
 {
 	Q_OBJECT
 
Index: kdeprint/management/sidepixmap.h
===================================================================
RCS file: /home/kde/kdelibs/kdeprint/management/sidepixmap.h,v
retrieving revision 1.2
diff -u -3 -p -u -r1.2 sidepixmap.h
--- kdeprint/management/sidepixmap.h	15 Mar 2004 10:27:48 -0000	1.2
+++ kdeprint/management/sidepixmap.h	16 Nov 2004 14:22:35 -0000
@@ -23,7 +23,9 @@
 #include <qframe.h>
 #include <qpixmap.h>
 
-class SidePixmap : public QFrame
+#include <kdelibs_export.h>
+
+class KDEPRINT_EXPORT SidePixmap : public QFrame
 {
 public:
 	SidePixmap(QWidget *parent = 0, const char *name = 0);
Index: kjs/global.h
===================================================================
RCS file: /home/kde/kdelibs/kjs/global.h,v
retrieving revision 1.10
diff -u -3 -p -u -r1.10 global.h
--- kjs/global.h	15 Nov 2004 02:31:24 -0000	1.10
+++ kjs/global.h	16 Nov 2004 14:22:41 -0000
@@ -23,6 +23,8 @@
 #ifndef KJS_GLOBAL_H
 #define KJS_GLOBAL_H
 
+#include <kdelibs_export.h>
+
 // maximum global call stack size. Protects against accidental or
 // malicious infinite recursions. Define to -1 if you want no limit.
 #define KJS_MAX_STACK 1000
@@ -34,11 +36,7 @@
 #define KJS_PACKED
 #endif
 
-#if __GNUC__ - 0 > 3 || (__GNUC__ - 0 == 3 && __GNUC_MINOR__ - 0 > 4)
-#define KJS_EXPORT __attribute__ ((visibility("default")))
-#else
-#define KJS_EXPORT
-#endif
+#define KJS_EXPORT KDE_EXPORT
 
 #ifndef NDEBUG // protection against problems if committing with KJS_VERBOSE on
 



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic