hrev53794 adds 1 changeset to branch 'master'
old head: aa7ac127f80b67b3b4fa0efae312f39f782e00a2
new head: 958d3f437574cefaf8831b29430b2cfa9e508052
overview:
https://git.haiku-os.org/haiku/log/?qt=range&q=958d3f437574+%5Eaa7ac127f80b
----------------------------------------------------------------------------
958d3f437574: BeBuild: set default visibility for _EXPORT
This is required for building shared libraries with hidden by default symbol
visiblility such as mesa.
Change-Id: I7150629aaea61d7c9b6e641d32913c5cc7c96543
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2159
Reviewed-by: Adrien Destugues <pulkomandy@xxxxxxxxx>
[ X512 <danger_mail@xxxxxxx> ]
----------------------------------------------------------------------------
Revision: hrev53794
Commit: 958d3f437574cefaf8831b29430b2cfa9e508052
URL: https://git.haiku-os.org/haiku/commit/?id=958d3f437574
Author: X512 <danger_mail@xxxxxxx>
Date: Mon Jan 27 06:01:25 2020 UTC
Committer: waddlesplash <waddlesplash@xxxxxxxxx>
Commit-Date: Thu Jan 30 00:32:32 2020 UTC
----------------------------------------------------------------------------
4 files changed, 25 insertions(+), 22 deletions(-)
headers/os/BeBuild.h | 6 ++++-
.../filters/shortcut_catcher/BitFieldTesters.h | 10 +++----
.../filters/shortcut_catcher/CommandActuators.h | 28 ++++++++++----------
src/apps/deskcalc/CalcView.h | 3 +--
----------------------------------------------------------------------------
diff --git a/headers/os/BeBuild.h b/headers/os/BeBuild.h
index c09d8cdd97..8e1432aa2a 100644
--- a/headers/os/BeBuild.h
+++ b/headers/os/BeBuild.h
@@ -78,7 +78,11 @@
#define _PACKED __attribute__((packed))
#define _PRINTFLIKE(_format_, _args_) \
__attribute__((format(__printf__, _format_, _args_)))
-#define _EXPORT
+#if __GNUC__ >= 4
+# define _EXPORT __attribute__((visibility("default")))
+#else
+# define _EXPORT
+#endif
#define _IMPORT
#define B_DEFINE_SYMBOL_VERSION(function, versionedSymbol) \
diff --git
a/src/add-ons/input_server/filters/shortcut_catcher/BitFieldTesters.h
b/src/add-ons/input_server/filters/shortcut_catcher/BitFieldTesters.h
index 1170cff332..c93211d250 100644
--- a/src/add-ons/input_server/filters/shortcut_catcher/BitFieldTesters.h
+++ b/src/add-ons/input_server/filters/shortcut_catcher/BitFieldTesters.h
@@ -18,7 +18,7 @@
// sequence of bit testing logics to do on a uint32.
// The abstract base class. Defines the interface.
-_EXPORT class BitFieldTester;
+class _EXPORT BitFieldTester;
class BitFieldTester : public BArchivable {
public:
BitFieldTester();
@@ -31,7 +31,7 @@ public:
// This version always returns the value specified in the constructor.
-_EXPORT class ConstantFieldTester;
+class _EXPORT ConstantFieldTester;
class ConstantFieldTester : public BitFieldTester {
public:
ConstantFieldTester(bool result);
@@ -49,7 +49,7 @@ private:
// This version matches if all requiredBits are found in the field,
// and no forbiddenBits are found.
-_EXPORT class HasBitsFieldTester;
+class _EXPORT HasBitsFieldTester;
class HasBitsFieldTester : public BitFieldTester {
public:
HasBitsFieldTester(uint32 requiredBits,
@@ -68,7 +68,7 @@ private:
// This one negates the tester it holds.
-_EXPORT class NotFieldTester;
+class _EXPORT NotFieldTester;
class NotFieldTester : public BitFieldTester {
public:
// (slave) should be allocated with new, becomes property of this
object.
@@ -89,7 +89,7 @@ private:
// The most interesting class: This one returns true if at least (minNum) of
// its slaves return true. It can be used for OR (i.e. minNum==1), AND
// (i.e. minNum==numberofchildren), or anything in between!
-_EXPORT class MinMatchFieldTester;
+class _EXPORT MinMatchFieldTester;
class MinMatchFieldTester : public BitFieldTester {
public:
MinMatchFieldTester(int32 minNum,
diff --git
a/src/add-ons/input_server/filters/shortcut_catcher/CommandActuators.h
b/src/add-ons/input_server/filters/shortcut_catcher/CommandActuators.h
index fe8a4810c9..45d3c38061 100644
--- a/src/add-ons/input_server/filters/shortcut_catcher/CommandActuators.h
+++ b/src/add-ons/input_server/filters/shortcut_catcher/CommandActuators.h
@@ -31,7 +31,7 @@ extern CommandActuator* CreateCommandActuator(const char*
command);
// when that key combo is detected.
// The abstract base class. Defines the interface.
-_EXPORT class CommandActuator;
+class _EXPORT CommandActuator;
class CommandActuator : public BArchivable {
public:
CommandActuator(int32 argc, char** argv);
@@ -61,7 +61,7 @@ public:
// This is the most common thing to do--launch a process.
-_EXPORT class LaunchCommandActuator;
+class _EXPORT LaunchCommandActuator;
class LaunchCommandActuator : public CommandActuator {
public:
LaunchCommandActuator(int32 argc, char** argv);
@@ -87,7 +87,7 @@ private:
// Stupid actuator--just calls beep().
-_EXPORT class BeepCommandActuator;
+class _EXPORT BeepCommandActuator;
class BeepCommandActuator : public CommandActuator {
public:
BeepCommandActuator(int32 argc, char** argv);
@@ -104,7 +104,7 @@ public:
// This class will insert a string of keystrokes into the input stream.
-_EXPORT class KeyStrokeSequenceCommandActuator;
+class _EXPORT KeyStrokeSequenceCommandActuator;
class KeyStrokeSequenceCommandActuator : public CommandActuator {
public:
KeyStrokeSequenceCommandActuator(int32 argc,
@@ -141,7 +141,7 @@ private:
// This class will insert a string of keystrokes into the input stream.
-_EXPORT class MIMEHandlerCommandActuator;
+class _EXPORT MIMEHandlerCommandActuator;
class MIMEHandlerCommandActuator : public CommandActuator {
public:
MIMEHandlerCommandActuator(int32 argc,
@@ -164,7 +164,7 @@ private:
// Abstract base class for actuators that affect mouse buttons
-_EXPORT class MouseCommandActuator;
+class _EXPORT MouseCommandActuator;
class MouseCommandActuator : public CommandActuator {
public:
MouseCommandActuator(int32 argc, char** argv);
@@ -187,7 +187,7 @@ private:
// This class sends a single mouse down event when activated, causing the mouse
// pointer to enter a "sticky down" state. Good for some things(like dragging).
-_EXPORT class MouseDownCommandActuator;
+class _EXPORT MouseDownCommandActuator;
class MouseDownCommandActuator : public MouseCommandActuator {
public:
MouseDownCommandActuator(int32 argc,
@@ -206,7 +206,7 @@ public:
// This class sends a single mouse down up when activated, releasing any
// previously set "sticky down" state. Good for some things (like dragging).
-_EXPORT class MouseUpCommandActuator;
+class _EXPORT MouseUpCommandActuator;
class MouseUpCommandActuator : public MouseCommandActuator {
public:
MouseUpCommandActuator(int32 argc,
@@ -227,7 +227,7 @@ public:
// This class will send B_MOUSE_UP and B_MOUSE_DOWN events whenever B_KEY_UP or
// B_KEY_DOWN events are detected for its key This way a key can act sort of
// like a mouse button.
-_EXPORT class MouseButtonCommandActuator;
+class _EXPORT MouseButtonCommandActuator;
class MouseButtonCommandActuator : public MouseCommandActuator {
public:
MouseButtonCommandActuator(int32 argc,
@@ -249,7 +249,7 @@ private:
// Base class for some actuators that control the position of the mouse pointer
-_EXPORT class MoveMouseCommandActuator;
+class _EXPORT MoveMouseCommandActuator;
class MoveMouseCommandActuator : public CommandActuator {
public:
MoveMouseCommandActuator(int32 argc,
@@ -277,7 +277,7 @@ private:
// Actuator that specifies multiple sub-actuators to be executed in series
-_EXPORT class MultiCommandActuator;
+class _EXPORT MultiCommandActuator;
class MultiCommandActuator : public CommandActuator {
public:
MultiCommandActuator(int32 argc, char** argv);
@@ -298,7 +298,7 @@ private:
// Actuator for moving a mouse relative to its current position
-_EXPORT class MoveMouseToCommandActuator;
+class _EXPORT MoveMouseToCommandActuator;
class MoveMouseToCommandActuator : public MoveMouseCommandActuator {
public:
MoveMouseToCommandActuator(int32 argc,
@@ -317,7 +317,7 @@ public:
// Actuator for moving a mouse relative to its current position
-_EXPORT class MoveMouseByCommandActuator;
+class _EXPORT MoveMouseByCommandActuator;
class MoveMouseByCommandActuator : public MoveMouseCommandActuator {
public:
MoveMouseByCommandActuator(int32 argc,
@@ -335,7 +335,7 @@ public:
// Actuator to send BMessage to an application - written by Daniel Wesslen
-_EXPORT class SendMessageCommandActuator;
+class _EXPORT SendMessageCommandActuator;
class SendMessageCommandActuator : public CommandActuator {
public:
SendMessageCommandActuator(int32 argc,
diff --git a/src/apps/deskcalc/CalcView.h b/src/apps/deskcalc/CalcView.h
index 391d38a649..52c3fcdbb9 100644
--- a/src/apps/deskcalc/CalcView.h
+++ b/src/apps/deskcalc/CalcView.h
@@ -40,8 +40,7 @@ struct CalcOptions;
class CalcOptionsWindow;
class ExpressionTextView;
-_EXPORT
-class CalcView : public BView {
+class _EXPORT CalcView : public BView {
public:
static CalcView* Instantiate(BMessage* archive);