[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