Added exppp dll import/export scheme for MSVC.

* Added SCL_EXPPP_EXPORT flag for all global variables in headers.
* Added SCL_EXPPP_EXPORT flag for all function prototypes in headers.
* Added SCL_EXPRESS_DLL_IMPORTS flag for exppp CMakeLists.txt
* Added SCL_EXPPP_DLL_EXPORTS flag for exppp CMakeLists.txt

Signed-off-by: davyw <davy.wouters@gmail.com>
This commit is contained in:
davyw
2011-12-07 18:45:42 -05:00
committed by Mark Pictor
parent ba12196a88
commit f853b997d7
2 changed files with 54 additions and 48 deletions
+49 -48
View File
@@ -1,57 +1,58 @@
extern int exppp_nesting_indent; /* default nesting indent */
extern int exppp_continuation_indent; /* default nesting indent for */
#include <scl_export.h>
extern SCL_EXPPP_EXPORT int exppp_nesting_indent; /* default nesting indent */
extern SCL_EXPPP_EXPORT int exppp_continuation_indent; /* default nesting indent for */
/* continuation lines */
extern int exppp_linelength; /* leave some slop for closing */
extern SCL_EXPPP_EXPORT int exppp_linelength; /* leave some slop for closing */
/* parens. \n is not included in */
/* this count either */
extern bool exppp_rmpp; /* if true, create rmpp */
extern bool exppp_alphabetize; /* if true, alphabetize */
extern bool exppp_terse; /* don't describe action to stdout */
extern bool exppp_reference_info; /* if true, add commentary */
extern SCL_EXPPP_EXPORT bool exppp_rmpp; /* if true, create rmpp */
extern SCL_EXPPP_EXPORT bool exppp_alphabetize; /* if true, alphabetize */
extern SCL_EXPPP_EXPORT bool exppp_terse; /* don't describe action to stdout */
extern SCL_EXPPP_EXPORT bool exppp_reference_info; /* if true, add commentary */
/* about where things came from */
extern bool exppp_preserve_comments; /* if true, preserve comments where */
extern SCL_EXPPP_EXPORT bool exppp_preserve_comments; /* if true, preserve comments where */
/* possible */
extern char * exppp_output_filename; /* force output filename */
extern bool exppp_output_filename_reset; /* if true, force output filename */
extern SCL_EXPPP_EXPORT char * exppp_output_filename; /* force output filename */
void EXPRESSout( Express e );
SCL_EXPPP_EXPORT void EXPRESSout( Express e );
void ENTITYout( Entity e );
void EXPRout( Expression expr );
void FUNCout( Function f );
void PROCout( Procedure p );
void RULEout( Rule r );
char * SCHEMAout( Schema s );
void SCHEMAref_out( Schema s );
void STMTout( Statement s );
void TYPEout( Type t );
void TYPEhead_out( Type t );
void TYPEbody_out( Type t );
void WHEREout( Linked_List w );
SCL_EXPPP_EXPORT void ENTITYout( Entity e );
SCL_EXPPP_EXPORT void EXPRout( Expression expr );
SCL_EXPPP_EXPORT void FUNCout( Function f );
SCL_EXPPP_EXPORT void PROCout( Procedure p );
SCL_EXPPP_EXPORT void RULEout( Rule r );
SCL_EXPPP_EXPORT char * SCHEMAout( Schema s );
SCL_EXPPP_EXPORT void SCHEMAref_out( Schema s );
SCL_EXPPP_EXPORT void STMTout( Statement s );
SCL_EXPPP_EXPORT void TYPEout( Type t );
SCL_EXPPP_EXPORT void TYPEhead_out( Type t );
SCL_EXPPP_EXPORT void TYPEbody_out( Type t );
SCL_EXPPP_EXPORT void WHEREout( Linked_List w );
char * REFto_string( Dictionary refdict, Linked_List reflist, char * type, int level );
char * ENTITYto_string( Entity e );
char * SUBTYPEto_string( Expression e );
char * EXPRto_string( Expression expr );
char * FUNCto_string( Function f );
char * PROCto_string( Procedure p );
char * RULEto_string( Rule r );
char * SCHEMAref_to_string( Schema s );
char * STMTto_string( Statement s );
char * TYPEto_string( Type t );
char * TYPEhead_to_string( Type t );
char * TYPEbody_to_string( Type t );
char * WHEREto_string( Linked_List w );
SCL_EXPPP_EXPORT char * REFto_string( Dictionary refdict, Linked_List reflist, char * type, int level );
SCL_EXPPP_EXPORT char * ENTITYto_string( Entity e );
SCL_EXPPP_EXPORT char * SUBTYPEto_string( Expression e );
SCL_EXPPP_EXPORT char * EXPRto_string( Expression expr );
SCL_EXPPP_EXPORT char * FUNCto_string( Function f );
SCL_EXPPP_EXPORT char * PROCto_string( Procedure p );
SCL_EXPPP_EXPORT char * RULEto_string( Rule r );
SCL_EXPPP_EXPORT char * SCHEMAref_to_string( Schema s );
SCL_EXPPP_EXPORT char * STMTto_string( Statement s );
SCL_EXPPP_EXPORT char * TYPEto_string( Type t );
SCL_EXPPP_EXPORT char * TYPEhead_to_string( Type t );
SCL_EXPPP_EXPORT char * TYPEbody_to_string( Type t );
SCL_EXPPP_EXPORT char * WHEREto_string( Linked_List w );
int REFto_buffer( Dictionary refdict, Linked_List reflist, char * type, int level, char * buffer, int length );
int ENTITYto_buffer( Entity e, char * buffer, int length );
int EXPRto_buffer( Expression e, char * buffer, int length );
int FUNCto_buffer( Function e, char * buffer, int length );
int PROCto_buffer( Procedure e, char * buffer, int length );
int RULEto_buffer( Rule e, char * buffer, int length );
int SCHEMAref_to_buffer( Schema s, char * buffer, int length );
int STMTto_buffer( Statement s, char * buffer, int length );
int TYPEto_buffer( Type t, char * buffer, int length );
int TYPEhead_to_buffer( Type t, char * buffer, int length );
int TYPEbody_to_buffer( Type t, char * buffer, int length );
int WHEREto_buffer( Linked_List w, char * buffer, int length );
SCL_EXPPP_EXPORT int REFto_buffer( Dictionary refdict, Linked_List reflist, char * type, int level, char * buffer, int length );
SCL_EXPPP_EXPORT int ENTITYto_buffer( Entity e, char * buffer, int length );
SCL_EXPPP_EXPORT int EXPRto_buffer( Expression e, char * buffer, int length );
SCL_EXPPP_EXPORT int FUNCto_buffer( Function e, char * buffer, int length );
SCL_EXPPP_EXPORT int PROCto_buffer( Procedure e, char * buffer, int length );
SCL_EXPPP_EXPORT int RULEto_buffer( Rule e, char * buffer, int length );
SCL_EXPPP_EXPORT int SCHEMAref_to_buffer( Schema s, char * buffer, int length );
SCL_EXPPP_EXPORT int STMTto_buffer( Statement s, char * buffer, int length );
SCL_EXPPP_EXPORT int TYPEto_buffer( Type t, char * buffer, int length );
SCL_EXPPP_EXPORT int TYPEhead_to_buffer( Type t, char * buffer, int length );
SCL_EXPPP_EXPORT int TYPEbody_to_buffer( Type t, char * buffer, int length );
SCL_EXPPP_EXPORT int WHEREto_buffer( Linked_List w, char * buffer, int length );
+5
View File
@@ -12,6 +12,11 @@ include_directories(
${SCL_SOURCE_DIR}/include/exppp
)
if(MSVC)
add_definitions( -DSCL_EXPPP_DLL_EXPORTS )
add_definitions( -DSCL_EXPRESS_DLL_IMPORTS )
endif(MSVC)
SCL_ADDLIB(libexppp "${LIBEXPPP_SOURCES}" express)
set_target_properties(libexppp PROPERTIES PREFIX "")