mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 00:32:57 -04:00
makepanda: Update checkPandaVersion.h
This makes it possible to include it multiple times in a single translation unit, and/or multiple times in a single dynamic library (and without excess code bloat, too).
This commit is contained in:
parent
339e1ce4d8
commit
35ab16d38f
@ -2606,18 +2606,21 @@ PANDAVERSION_H_RUNTIME="""
|
||||
|
||||
CHECKPANDAVERSION_CXX="""
|
||||
# include "dtoolbase.h"
|
||||
EXPCL_DTOOL_DTOOLUTIL int panda_version_$VERSION1_$VERSION2 = 0;
|
||||
EXPCL_DTOOL_DTOOLBASE int panda_version_$VERSION1_$VERSION2 = 0;
|
||||
"""
|
||||
|
||||
CHECKPANDAVERSION_H="""
|
||||
# ifndef CHECKPANDAVERSION_H
|
||||
# define CHECKPANDAVERSION_H
|
||||
# include "dtoolbase.h"
|
||||
extern EXPCL_DTOOL_DTOOLUTIL int panda_version_$VERSION1_$VERSION2;
|
||||
# ifndef WIN32
|
||||
/* For Windows, exporting the symbol from the DLL is sufficient; the
|
||||
DLL will not load unless all expected public symbols are defined.
|
||||
Other systems may not mind if the symbol is absent unless we
|
||||
explictly write code that references it. */
|
||||
static int check_panda_version = panda_version_$VERSION1_$VERSION2;
|
||||
extern EXPCL_DTOOL_DTOOLBASE int panda_version_$VERSION1_$VERSION2;
|
||||
// Hack to forcibly depend on the check
|
||||
template<typename T>
|
||||
class CheckPandaVersion {
|
||||
public:
|
||||
int check() { return panda_version_$VERSION1_$VERSION2; }
|
||||
};
|
||||
template class CheckPandaVersion<void>;
|
||||
# endif
|
||||
"""
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user