Hi Alan,

> In the various ImportExport.h headers we #define 
> dllimport/dllexport macros for 
> windows based on the following conditionals:
> 
> ./include/qpid/console/ConsoleImportExport.h:24:#if 
> defined(CONSOLE_EXPORT) || 
> defined (qmfconsole_EXPORTS) 
> ./include/qpid/client/ClientImportExport.h:24:#if 
> defined(CLIENT_EXPORT) || 
> defined (qpidclient_EXPORTS) 
> ./include/qpid/messaging/ImportExport.h:24:#if 
> defined(CLIENT_EXPORT) || defined 
> (qpidmessaging_EXPORTS) 
> ./include/qpid/CommonImportExport.h:24:#if 
> defined(COMMON_EXPORT) || defined 
> (qpidcommon_EXPORTS) 
> ./include/qmf/engine/QmfEngineImportExport.h:24:#  if 
> defined(QMF_EXPORT) || 
> defined (qmfengine_EXPORTS) 
> ./include/qmf/QmfImportExport.h:24:#  if defined(QMF_EXPORT) 
> || defined 
> (qmfcommon_EXPORTS) 
> ./src/qpid/broker/BrokerImportExport.h:24:#if 
> defined(BROKER_EXPORT) || defined 
> (qpidbroker_EXPORTS)

Right.

> As far as I can tell, the first symbol in each case (CONSOLE_EXPORT, 
> CLIENT_EXPORT etc.) is never defined anywhere in the cmake or 
> the automake build 
> system. The second symbol (qpidcommon_EXPORTS etc.) is 
> defined in the cmake generated makefiles.

Right. The former (that aren't referenced) were defined in the original
MPC-generated projects. They're not used any longer.

> So does the first symbol actually have a purpose? If not can 
> I remove it and just make the tests:
>   #if defined (qmfconsole_EXPORTS)
> etc.

It no longer serves a purpose - yes, you can remove them at will. Sorry
for the confusion.

> I'm trying to understand the setup so I can introduce some visibility 
> declarations for gcc, don't want to step on anything.

Sounds good!

-Steve


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to