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 _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) \
@@ -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,
@@ -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,
+1 -2
View File
@@ -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);