1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 20:42:21 +02:00

Added preprocessor BF_DEPENDS_<ProjectName>

This commit is contained in:
Brian Fiete 2024-10-13 10:43:37 -04:00
parent 0e6ad7304e
commit 4cee66b1f8
2 changed files with 15 additions and 1 deletions

View file

@ -387,11 +387,12 @@ BfParser::BfParser(BfSystem* bfSystem, BfProject* bfProject) : BfSource(bfSystem
mInAsmBlock = false;
mPreprocessorIgnoredSectionNode = NULL;
mPreprocessorIgnoreDepth = 0;
mAddedDependsDefines = false;
if (bfProject != NULL)
{
for (auto macro : bfProject->mPreprocessorMacros)
mPreprocessorDefines[macro] = BfDefineState_FromProject;
mPreprocessorDefines[macro] = BfDefineState_FromProject;
}
}
@ -927,6 +928,18 @@ void BfParser::HandleUndefine(const StringImpl& name)
MaybeBool BfParser::HandleIfDef(const StringImpl& name)
{
if ((!mAddedDependsDefines) && (mProject != NULL) && (name.StartsWith("BF_DEPENDS_")))
{
for (auto project : mProject->mDependencies)
{
StringT<64> def = "BF_DEPENDS_";
def.Append(project->mName);
MakeUpper(def);
mPreprocessorDefines[def] = BfDefineState_FromProject;
}
mAddedDependsDefines = true;
}
BfDefineState defineState;
if (mPreprocessorDefines.TryGetValue(name, &defineState))
{

View file

@ -173,6 +173,7 @@ public:
int mJumpTableSize;
int mOrigSrcLength;
int mDataId;
bool mAddedDependsDefines;
int mSrcIdx;
int mLineStart;