pandabase: Introduce BUILDING_ defines for each component

This reverses the relationship between EXPCL_PANDA_COMPONENT
and BUILDING_PANDA, where BUILDING_PANDA is just shorthand for
BUILDING_PANDA_COMPONENT and BUILDING_PANDA_COMPONENT itself
sets the EXPCL_PANDA_COMPONENT defines.

Also removes EXPCL_PANDA.
This commit is contained in:
Sam Edwards 2018-03-15 12:48:19 -06:00
parent 9739923593
commit 98797d0090

View File

@ -69,12 +69,296 @@
#define EXPTP_OPENAL_AUDIO IMPORT_TEMPL
#endif
/* BUILDING_PANDA is just a buildsystem shortcut for all of these: */
#ifdef BUILDING_PANDA
#define EXPCL_PANDA EXPORT_CLASS
#define EXPTP_PANDA EXPORT_TEMPL
#define BUILDING_LIBPANDA
#define BUILDING_PANDA_AUDIO
#define BUILDING_PANDA_CHAN
#define BUILDING_PANDA_CHAR
#define BUILDING_PANDA_COLLIDE
#define BUILDING_PANDA_CULL
#define BUILDING_PANDA_DEVICE
#define BUILDING_PANDA_DGRAPH
#define BUILDING_PANDA_DISPLAY
#define BUILDING_PANDA_DXML
#define BUILDING_PANDA_EVENT
#define BUILDING_PANDA_GOBJ
#define BUILDING_PANDA_GRUTIL
#define BUILDING_PANDA_GSGBASE
#define BUILDING_PANDA_LINMATH
#define BUILDING_PANDA_MATHUTIL
#define BUILDING_PANDA_MOVIES
#define BUILDING_PANDA_NATIVENET
#define BUILDING_PANDA_NET
#define BUILDING_PANDA_PARAMETRICS
#define BUILDING_PANDA_PGRAPH
#define BUILDING_PANDA_PGRAPHNODES
#define BUILDING_PANDA_PGUI
#define BUILDING_PANDA_PIPELINE
#define BUILDING_PANDA_PNMIMAGE
#define BUILDING_PANDA_PNMIMAGETYPES
#define BUILDING_PANDA_PNMTEXT
#define BUILDING_PANDA_PSTATCLIENT
#define BUILDING_PANDA_PUTIL
#define BUILDING_PANDA_RECORDER
#define BUILDING_PANDA_TEXT
#define BUILDING_PANDA_TFORM
#endif
#ifdef BUILDING_LIBPANDA
#define EXPCL_LIBPANDA EXPORT_CLASS
#define EXPTP_LIBPANDA EXPORT_TEMPL
#else
#define EXPCL_PANDA IMPORT_CLASS
#define EXPTP_PANDA IMPORT_TEMPL
#define EXPCL_LIBPANDA IMPORT_CLASS
#define EXPTP_LIBPANDA IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_AUDIO
#define EXPCL_PANDA_AUDIO EXPORT_CLASS
#define EXPTP_PANDA_AUDIO EXPORT_TEMPL
#else
#define EXPCL_PANDA_AUDIO IMPORT_CLASS
#define EXPTP_PANDA_AUDIO IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_CHAN
#define EXPCL_PANDA_CHAN EXPORT_CLASS
#define EXPTP_PANDA_CHAN EXPORT_TEMPL
#else
#define EXPCL_PANDA_CHAN IMPORT_CLASS
#define EXPTP_PANDA_CHAN IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_CHAR
#define EXPCL_PANDA_CHAR EXPORT_CLASS
#define EXPTP_PANDA_CHAR EXPORT_TEMPL
#else
#define EXPCL_PANDA_CHAR IMPORT_CLASS
#define EXPTP_PANDA_CHAR IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_COLLIDE
#define EXPCL_PANDA_COLLIDE EXPORT_CLASS
#define EXPTP_PANDA_COLLIDE EXPORT_TEMPL
#else
#define EXPCL_PANDA_COLLIDE IMPORT_CLASS
#define EXPTP_PANDA_COLLIDE IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_CULL
#define EXPCL_PANDA_CULL EXPORT_CLASS
#define EXPTP_PANDA_CULL EXPORT_TEMPL
#else
#define EXPCL_PANDA_CULL IMPORT_CLASS
#define EXPTP_PANDA_CULL IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_DEVICE
#define EXPCL_PANDA_DEVICE EXPORT_CLASS
#define EXPTP_PANDA_DEVICE EXPORT_TEMPL
#else
#define EXPCL_PANDA_DEVICE IMPORT_CLASS
#define EXPTP_PANDA_DEVICE IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_DGRAPH
#define EXPCL_PANDA_DGRAPH EXPORT_CLASS
#define EXPTP_PANDA_DGRAPH EXPORT_TEMPL
#else
#define EXPCL_PANDA_DGRAPH IMPORT_CLASS
#define EXPTP_PANDA_DGRAPH IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_DISPLAY
#define EXPCL_PANDA_DISPLAY EXPORT_CLASS
#define EXPTP_PANDA_DISPLAY EXPORT_TEMPL
#else
#define EXPCL_PANDA_DISPLAY IMPORT_CLASS
#define EXPTP_PANDA_DISPLAY IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_DXML
#define EXPCL_PANDA_DXML EXPORT_CLASS
#define EXPTP_PANDA_DXML EXPORT_TEMPL
#else
#define EXPCL_PANDA_DXML IMPORT_CLASS
#define EXPTP_PANDA_DXML IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_EVENT
#define EXPCL_PANDA_EVENT EXPORT_CLASS
#define EXPTP_PANDA_EVENT EXPORT_TEMPL
#else
#define EXPCL_PANDA_EVENT IMPORT_CLASS
#define EXPTP_PANDA_EVENT IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_GOBJ
#define EXPCL_PANDA_GOBJ EXPORT_CLASS
#define EXPTP_PANDA_GOBJ EXPORT_TEMPL
#else
#define EXPCL_PANDA_GOBJ IMPORT_CLASS
#define EXPTP_PANDA_GOBJ IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_GRUTIL
#define EXPCL_PANDA_GRUTIL EXPORT_CLASS
#define EXPTP_PANDA_GRUTIL EXPORT_TEMPL
#else
#define EXPCL_PANDA_GRUTIL IMPORT_CLASS
#define EXPTP_PANDA_GRUTIL IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_GSGBASE
#define EXPCL_PANDA_GSGBASE EXPORT_CLASS
#define EXPTP_PANDA_GSGBASE EXPORT_TEMPL
#else
#define EXPCL_PANDA_GSGBASE IMPORT_CLASS
#define EXPTP_PANDA_GSGBASE IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_LINMATH
#define EXPCL_PANDA_LINMATH EXPORT_CLASS
#define EXPTP_PANDA_LINMATH EXPORT_TEMPL
#else
#define EXPCL_PANDA_LINMATH IMPORT_CLASS
#define EXPTP_PANDA_LINMATH IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_MATHUTIL
#define EXPCL_PANDA_MATHUTIL EXPORT_CLASS
#define EXPTP_PANDA_MATHUTIL EXPORT_TEMPL
#else
#define EXPCL_PANDA_MATHUTIL IMPORT_CLASS
#define EXPTP_PANDA_MATHUTIL IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_MOVIES
#define EXPCL_PANDA_MOVIES EXPORT_CLASS
#define EXPTP_PANDA_MOVIES EXPORT_TEMPL
#else
#define EXPCL_PANDA_MOVIES IMPORT_CLASS
#define EXPTP_PANDA_MOVIES IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_NATIVENET
#define EXPCL_PANDA_NATIVENET EXPORT_CLASS
#define EXPTP_PANDA_NATIVENET EXPORT_TEMPL
#else
#define EXPCL_PANDA_NATIVENET IMPORT_CLASS
#define EXPTP_PANDA_NATIVENET IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_NET
#define EXPCL_PANDA_NET EXPORT_CLASS
#define EXPTP_PANDA_NET EXPORT_TEMPL
#else
#define EXPCL_PANDA_NET IMPORT_CLASS
#define EXPTP_PANDA_NET IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_PARAMETRICS
#define EXPCL_PANDA_PARAMETRICS EXPORT_CLASS
#define EXPTP_PANDA_PARAMETRICS EXPORT_TEMPL
#else
#define EXPCL_PANDA_PARAMETRICS IMPORT_CLASS
#define EXPTP_PANDA_PARAMETRICS IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_PGRAPH
#define EXPCL_PANDA_PGRAPH EXPORT_CLASS
#define EXPTP_PANDA_PGRAPH EXPORT_TEMPL
#else
#define EXPCL_PANDA_PGRAPH IMPORT_CLASS
#define EXPTP_PANDA_PGRAPH IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_PGRAPHNODES
#define EXPCL_PANDA_PGRAPHNODES EXPORT_CLASS
#define EXPTP_PANDA_PGRAPHNODES EXPORT_TEMPL
#else
#define EXPCL_PANDA_PGRAPHNODES IMPORT_CLASS
#define EXPTP_PANDA_PGRAPHNODES IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_PGUI
#define EXPCL_PANDA_PGUI EXPORT_CLASS
#define EXPTP_PANDA_PGUI EXPORT_TEMPL
#else
#define EXPCL_PANDA_PGUI IMPORT_CLASS
#define EXPTP_PANDA_PGUI IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_PIPELINE
#define EXPCL_PANDA_PIPELINE EXPORT_CLASS
#define EXPTP_PANDA_PIPELINE EXPORT_TEMPL
#else
#define EXPCL_PANDA_PIPELINE IMPORT_CLASS
#define EXPTP_PANDA_PIPELINE IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_PNMIMAGE
#define EXPCL_PANDA_PNMIMAGE EXPORT_CLASS
#define EXPTP_PANDA_PNMIMAGE EXPORT_TEMPL
#else
#define EXPCL_PANDA_PNMIMAGE IMPORT_CLASS
#define EXPTP_PANDA_PNMIMAGE IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_PNMIMAGETYPES
#define EXPCL_PANDA_PNMIMAGETYPES EXPORT_CLASS
#define EXPTP_PANDA_PNMIMAGETYPES EXPORT_TEMPL
#else
#define EXPCL_PANDA_PNMIMAGETYPES IMPORT_CLASS
#define EXPTP_PANDA_PNMIMAGETYPES IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_PNMTEXT
#define EXPCL_PANDA_PNMTEXT EXPORT_CLASS
#define EXPTP_PANDA_PNMTEXT EXPORT_TEMPL
#else
#define EXPCL_PANDA_PNMTEXT IMPORT_CLASS
#define EXPTP_PANDA_PNMTEXT IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_PSTATCLIENT
#define EXPCL_PANDA_PSTATCLIENT EXPORT_CLASS
#define EXPTP_PANDA_PSTATCLIENT EXPORT_TEMPL
#else
#define EXPCL_PANDA_PSTATCLIENT IMPORT_CLASS
#define EXPTP_PANDA_PSTATCLIENT IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_PUTIL
#define EXPCL_PANDA_PUTIL EXPORT_CLASS
#define EXPTP_PANDA_PUTIL EXPORT_TEMPL
#else
#define EXPCL_PANDA_PUTIL IMPORT_CLASS
#define EXPTP_PANDA_PUTIL IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_RECORDER
#define EXPCL_PANDA_RECORDER EXPORT_CLASS
#define EXPTP_PANDA_RECORDER EXPORT_TEMPL
#else
#define EXPCL_PANDA_RECORDER IMPORT_CLASS
#define EXPTP_PANDA_RECORDER IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_TEXT
#define EXPCL_PANDA_TEXT EXPORT_CLASS
#define EXPTP_PANDA_TEXT EXPORT_TEMPL
#else
#define EXPCL_PANDA_TEXT IMPORT_CLASS
#define EXPTP_PANDA_TEXT IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDA_TFORM
#define EXPCL_PANDA_TFORM EXPORT_CLASS
#define EXPTP_PANDA_TFORM EXPORT_TEMPL
#else
#define EXPCL_PANDA_TFORM IMPORT_CLASS
#define EXPTP_PANDA_TFORM IMPORT_TEMPL
#endif
#ifdef BUILDING_PANDAAWESOMIUM
@ -246,101 +530,4 @@
#define INLINE_MATHUTIL INLINE
#endif
#define EXPCL_LIBPANDA EXPCL_PANDA
#define EXPTP_LIBPANDA EXPTP_PANDA
#define EXPCL_PANDA_AUDIO EXPCL_PANDA
#define EXPTP_PANDA_AUDIO EXPTP_PANDA
#define EXPCL_PANDA_CHAN EXPCL_PANDA
#define EXPTP_PANDA_CHAN EXPTP_PANDA
#define EXPCL_PANDA_CHAR EXPCL_PANDA
#define EXPTP_PANDA_CHAR EXPTP_PANDA
#define EXPCL_PANDA_COLLIDE EXPCL_PANDA
#define EXPTP_PANDA_COLLIDE EXPTP_PANDA
#define EXPCL_PANDA_CULL EXPCL_PANDA
#define EXPTP_PANDA_CULL EXPTP_PANDA
#define EXPCL_PANDA_DEVICE EXPCL_PANDA
#define EXPTP_PANDA_DEVICE EXPTP_PANDA
#define EXPCL_PANDA_DGRAPH EXPCL_PANDA
#define EXPTP_PANDA_DGRAPH EXPTP_PANDA
#define EXPCL_PANDA_DISPLAY EXPCL_PANDA
#define EXPTP_PANDA_DISPLAY EXPTP_PANDA
#define EXPCL_PANDA_DXML EXPCL_PANDA
#define EXPTP_PANDA_DXML EXPTP_PANDA
#define EXPCL_PANDA_EVENT EXPCL_PANDA
#define EXPTP_PANDA_EVENT EXPTP_PANDA
#define EXPCL_PANDA_GOBJ EXPCL_PANDA
#define EXPTP_PANDA_GOBJ EXPTP_PANDA
#define EXPCL_PANDA_GRUTIL EXPCL_PANDA
#define EXPTP_PANDA_GRUTIL EXPTP_PANDA
#define EXPCL_PANDA_GSGBASE EXPCL_PANDA
#define EXPTP_PANDA_GSGBASE EXPTP_PANDA
#define EXPCL_PANDA_LINMATH EXPCL_PANDA
#define EXPTP_PANDA_LINMATH EXPTP_PANDA
#define EXPCL_PANDA_MATHUTIL EXPCL_PANDA
#define EXPTP_PANDA_MATHUTIL EXPTP_PANDA
#define EXPCL_PANDA_MOVIES EXPCL_PANDA
#define EXPTP_PANDA_MOVIES EXPTP_PANDA
#define EXPCL_PANDA_NATIVENET EXPCL_PANDA
#define EXPTP_PANDA_NATIVENET EXPTP_PANDA
#define EXPCL_PANDA_NET EXPCL_PANDA
#define EXPTP_PANDA_NET EXPTP_PANDA
#define EXPCL_PANDA_PARAMETRICS EXPCL_PANDA
#define EXPTP_PANDA_PARAMETRICS EXPTP_PANDA
#define EXPCL_PANDA_PGRAPH EXPCL_PANDA
#define EXPTP_PANDA_PGRAPH EXPTP_PANDA
#define EXPCL_PANDA_PGRAPHNODES EXPCL_PANDA
#define EXPTP_PANDA_PGRAPHNODES EXPTP_PANDA
#define EXPCL_PANDA_PGUI EXPCL_PANDA
#define EXPTP_PANDA_PGUI EXPTP_PANDA
#define EXPCL_PANDA_PIPELINE EXPCL_PANDA
#define EXPTP_PANDA_PIPELINE EXPTP_PANDA
#define EXPCL_PANDA_PNMIMAGE EXPCL_PANDA
#define EXPTP_PANDA_PNMIMAGE EXPTP_PANDA
#define EXPCL_PANDA_PNMIMAGETYPES EXPCL_PANDA
#define EXPTP_PANDA_PNMIMAGETYPES EXPTP_PANDA
#define EXPCL_PANDA_PNMTEXT EXPCL_PANDA
#define EXPTP_PANDA_PNMTEXT EXPTP_PANDA
#define EXPCL_PANDA_PSTATCLIENT EXPCL_PANDA
#define EXPTP_PANDA_PSTATCLIENT EXPTP_PANDA
#define EXPCL_PANDA_PUTIL EXPCL_PANDA
#define EXPTP_PANDA_PUTIL EXPTP_PANDA
#define EXPCL_PANDA_RECORDER EXPCL_PANDA
#define EXPTP_PANDA_RECORDER EXPTP_PANDA
#define EXPCL_PANDA_TEXT EXPCL_PANDA
#define EXPTP_PANDA_TEXT EXPTP_PANDA
#define EXPCL_PANDA_TFORM EXPCL_PANDA
#define EXPTP_PANDA_TFORM EXPTP_PANDA
#endif