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 <[email protected]>
This commit is contained in:
X512
2020-01-30 00:32:32 +00:00
committed by waddlesplash
parent aa7ac127f8
commit 958d3f4375
4 changed files with 25 additions and 22 deletions
+5 -1
View File
@@ -78,7 +78,11 @@
#define _PACKED __attribute__((packed)) #define _PACKED __attribute__((packed))
#define _PRINTFLIKE(_format_, _args_) \ #define _PRINTFLIKE(_format_, _args_) \
__attribute__((format(__printf__, _format_, _args_))) __attribute__((format(__printf__, _format_, _args_)))
#define _EXPORT #if __GNUC__ >= 4
# define _EXPORT __attribute__((visibility("default")))
#else
# define _EXPORT
#endif
#define _IMPORT #define _IMPORT
#define B_DEFINE_SYMBOL_VERSION(function, versionedSymbol) \ #define B_DEFINE_SYMBOL_VERSION(function, versionedSymbol) \
@@ -18,7 +18,7 @@
// sequence of bit testing logics to do on a uint32. // sequence of bit testing logics to do on a uint32.
// The abstract base class. Defines the interface. // The abstract base class. Defines the interface.
_EXPORT class BitFieldTester; class _EXPORT BitFieldTester;
class BitFieldTester : public BArchivable { class BitFieldTester : public BArchivable {
public: public:
BitFieldTester(); BitFieldTester();
@@ -31,7 +31,7 @@ public:
// This version always returns the value specified in the constructor. // This version always returns the value specified in the constructor.
_EXPORT class ConstantFieldTester; class _EXPORT ConstantFieldTester;
class ConstantFieldTester : public BitFieldTester { class ConstantFieldTester : public BitFieldTester {
public: public:
ConstantFieldTester(bool result); ConstantFieldTester(bool result);
@@ -49,7 +49,7 @@ private:
// This version matches if all requiredBits are found in the field, // This version matches if all requiredBits are found in the field,
// and no forbiddenBits are found. // and no forbiddenBits are found.
_EXPORT class HasBitsFieldTester; class _EXPORT HasBitsFieldTester;
class HasBitsFieldTester : public BitFieldTester { class HasBitsFieldTester : public BitFieldTester {
public: public:
HasBitsFieldTester(uint32 requiredBits, HasBitsFieldTester(uint32 requiredBits,
@@ -68,7 +68,7 @@ private:
// This one negates the tester it holds. // This one negates the tester it holds.
_EXPORT class NotFieldTester; class _EXPORT NotFieldTester;
class NotFieldTester : public BitFieldTester { class NotFieldTester : public BitFieldTester {
public: public:
// (slave) should be allocated with new, becomes property of this object. // (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 // 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 // its slaves return true. It can be used for OR (i.e. minNum==1), AND
// (i.e. minNum==numberofchildren), or anything in between! // (i.e. minNum==numberofchildren), or anything in between!
_EXPORT class MinMatchFieldTester; class _EXPORT MinMatchFieldTester;
class MinMatchFieldTester : public BitFieldTester { class MinMatchFieldTester : public BitFieldTester {
public: public:
MinMatchFieldTester(int32 minNum, MinMatchFieldTester(int32 minNum,
@@ -31,7 +31,7 @@ extern CommandActuator* CreateCommandActuator(const char* command);
// when that key combo is detected. // when that key combo is detected.
// The abstract base class. Defines the interface. // The abstract base class. Defines the interface.
_EXPORT class CommandActuator; class _EXPORT CommandActuator;
class CommandActuator : public BArchivable { class CommandActuator : public BArchivable {
public: public:
CommandActuator(int32 argc, char** argv); CommandActuator(int32 argc, char** argv);
@@ -61,7 +61,7 @@ public:
// This is the most common thing to do--launch a process. // This is the most common thing to do--launch a process.
_EXPORT class LaunchCommandActuator; class _EXPORT LaunchCommandActuator;
class LaunchCommandActuator : public CommandActuator { class LaunchCommandActuator : public CommandActuator {
public: public:
LaunchCommandActuator(int32 argc, char** argv); LaunchCommandActuator(int32 argc, char** argv);
@@ -87,7 +87,7 @@ private:
// Stupid actuator--just calls beep(). // Stupid actuator--just calls beep().
_EXPORT class BeepCommandActuator; class _EXPORT BeepCommandActuator;
class BeepCommandActuator : public CommandActuator { class BeepCommandActuator : public CommandActuator {
public: public:
BeepCommandActuator(int32 argc, char** argv); BeepCommandActuator(int32 argc, char** argv);
@@ -104,7 +104,7 @@ public:
// This class will insert a string of keystrokes into the input stream. // This class will insert a string of keystrokes into the input stream.
_EXPORT class KeyStrokeSequenceCommandActuator; class _EXPORT KeyStrokeSequenceCommandActuator;
class KeyStrokeSequenceCommandActuator : public CommandActuator { class KeyStrokeSequenceCommandActuator : public CommandActuator {
public: public:
KeyStrokeSequenceCommandActuator(int32 argc, KeyStrokeSequenceCommandActuator(int32 argc,
@@ -141,7 +141,7 @@ private:
// This class will insert a string of keystrokes into the input stream. // This class will insert a string of keystrokes into the input stream.
_EXPORT class MIMEHandlerCommandActuator; class _EXPORT MIMEHandlerCommandActuator;
class MIMEHandlerCommandActuator : public CommandActuator { class MIMEHandlerCommandActuator : public CommandActuator {
public: public:
MIMEHandlerCommandActuator(int32 argc, MIMEHandlerCommandActuator(int32 argc,
@@ -164,7 +164,7 @@ private:
// Abstract base class for actuators that affect mouse buttons // Abstract base class for actuators that affect mouse buttons
_EXPORT class MouseCommandActuator; class _EXPORT MouseCommandActuator;
class MouseCommandActuator : public CommandActuator { class MouseCommandActuator : public CommandActuator {
public: public:
MouseCommandActuator(int32 argc, char** argv); MouseCommandActuator(int32 argc, char** argv);
@@ -187,7 +187,7 @@ private:
// This class sends a single mouse down event when activated, causing the mouse // 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). // pointer to enter a "sticky down" state. Good for some things(like dragging).
_EXPORT class MouseDownCommandActuator; class _EXPORT MouseDownCommandActuator;
class MouseDownCommandActuator : public MouseCommandActuator { class MouseDownCommandActuator : public MouseCommandActuator {
public: public:
MouseDownCommandActuator(int32 argc, MouseDownCommandActuator(int32 argc,
@@ -206,7 +206,7 @@ public:
// This class sends a single mouse down up when activated, releasing any // This class sends a single mouse down up when activated, releasing any
// previously set "sticky down" state. Good for some things (like dragging). // previously set "sticky down" state. Good for some things (like dragging).
_EXPORT class MouseUpCommandActuator; class _EXPORT MouseUpCommandActuator;
class MouseUpCommandActuator : public MouseCommandActuator { class MouseUpCommandActuator : public MouseCommandActuator {
public: public:
MouseUpCommandActuator(int32 argc, 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 // 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 // B_KEY_DOWN events are detected for its key This way a key can act sort of
// like a mouse button. // like a mouse button.
_EXPORT class MouseButtonCommandActuator; class _EXPORT MouseButtonCommandActuator;
class MouseButtonCommandActuator : public MouseCommandActuator { class MouseButtonCommandActuator : public MouseCommandActuator {
public: public:
MouseButtonCommandActuator(int32 argc, MouseButtonCommandActuator(int32 argc,
@@ -249,7 +249,7 @@ private:
// Base class for some actuators that control the position of the mouse pointer // Base class for some actuators that control the position of the mouse pointer
_EXPORT class MoveMouseCommandActuator; class _EXPORT MoveMouseCommandActuator;
class MoveMouseCommandActuator : public CommandActuator { class MoveMouseCommandActuator : public CommandActuator {
public: public:
MoveMouseCommandActuator(int32 argc, MoveMouseCommandActuator(int32 argc,
@@ -277,7 +277,7 @@ private:
// Actuator that specifies multiple sub-actuators to be executed in series // Actuator that specifies multiple sub-actuators to be executed in series
_EXPORT class MultiCommandActuator; class _EXPORT MultiCommandActuator;
class MultiCommandActuator : public CommandActuator { class MultiCommandActuator : public CommandActuator {
public: public:
MultiCommandActuator(int32 argc, char** argv); MultiCommandActuator(int32 argc, char** argv);
@@ -298,7 +298,7 @@ private:
// Actuator for moving a mouse relative to its current position // Actuator for moving a mouse relative to its current position
_EXPORT class MoveMouseToCommandActuator; class _EXPORT MoveMouseToCommandActuator;
class MoveMouseToCommandActuator : public MoveMouseCommandActuator { class MoveMouseToCommandActuator : public MoveMouseCommandActuator {
public: public:
MoveMouseToCommandActuator(int32 argc, MoveMouseToCommandActuator(int32 argc,
@@ -317,7 +317,7 @@ public:
// Actuator for moving a mouse relative to its current position // Actuator for moving a mouse relative to its current position
_EXPORT class MoveMouseByCommandActuator; class _EXPORT MoveMouseByCommandActuator;
class MoveMouseByCommandActuator : public MoveMouseCommandActuator { class MoveMouseByCommandActuator : public MoveMouseCommandActuator {
public: public:
MoveMouseByCommandActuator(int32 argc, MoveMouseByCommandActuator(int32 argc,
@@ -335,7 +335,7 @@ public:
// Actuator to send BMessage to an application - written by Daniel Wesslen // Actuator to send BMessage to an application - written by Daniel Wesslen
_EXPORT class SendMessageCommandActuator; class _EXPORT SendMessageCommandActuator;
class SendMessageCommandActuator : public CommandActuator { class SendMessageCommandActuator : public CommandActuator {
public: public:
SendMessageCommandActuator(int32 argc, SendMessageCommandActuator(int32 argc,
+1 -2
View File
@@ -40,8 +40,7 @@ struct CalcOptions;
class CalcOptionsWindow; class CalcOptionsWindow;
class ExpressionTextView; class ExpressionTextView;
_EXPORT class _EXPORT CalcView : public BView {
class CalcView : public BView {
public: public:
static CalcView* Instantiate(BMessage* archive); static CalcView* Instantiate(BMessage* archive);