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);