started working on ini parser

This commit is contained in:
2025-08-20 01:27:25 +03:00
parent 5635cd1d69
commit eff681ca33
47 changed files with 1465 additions and 112 deletions

BIN
fpc/fpc_temp Normal file

Binary file not shown.

View File

@@ -34,7 +34,6 @@ LinkProject_t CClangCompiler::Compile( CProject_t *pProject )
{
if (!clangbackend && CommandLine()->CheckParam("-experimental_header_include"))
clangbackend = (IClangBackend*)CreateInterface(CLANG_BACKEND_INTERFACE_NAME, NULL);
V_printf("CLANG: %p\n", clangbackend);
if (pProject->m_szName == 0)
{
@@ -121,11 +120,12 @@ LinkProject_t CClangCompiler::Compile( CProject_t *pProject )
}
if (clangbackend)
bAreDependenciesUpdated = clangbackend->AreFileDependenciesUpdated(file, szOutputFile, args);
bAreDependenciesUpdated = clangbackend->AreFileDependenciesUpdated(file, 0, szOutputFile, args);
if (!filesystem2->ShouldRecompile(file, szOutputFile) && !bAreDependenciesUpdated)
goto skipcompile;
args.AppendTail("-c");
args.AppendTail("-g");
args.AppendTail("-o");
args.AppendTail(szOutputFile);
args.AppendTail(file);
@@ -150,7 +150,7 @@ skipcompile:
if (pProject->m_target.kernel == TARGET_KERNEL_ANDROID)
{
if (!pProject->m_target.szSysroot)
Plat_FatalErrorFunc("-sysroot must be specified for android\n");
Plat_FatalErrorFunc("sysroot must be specified for android\n");
cfile.m_szArguments.AppendHead(CUtlString("%s/bin/clang",pProject->m_target.szSysroot));
}
else

View File

@@ -10,10 +10,11 @@
class CClangBackend: public IClangBackend
{
public:
virtual bool AreFileDependenciesUpdated( CUtlString szFile, CUtlString szOutputFile, CUtlVector<CUtlString> arguments ) override;
virtual bool AreFileDependenciesUpdated( CUtlString szFile, CUtlString szOutputFile, CUtlString szHashFile, CUtlVector<CUtlString> arguments ) override;
bool bAnyOutdated;
CUtlString szCurrentFile;
CUtlString szHashFile;
private:
static void InclusionVisitor( CXFile included_file, CXSourceLocation *include_stack, unsigned include_len, CXClientData client_data );
@@ -21,7 +22,7 @@ private:
EXPOSE_INTERFACE(CClangBackend, IClangBackend, CLANG_BACKEND_INTERFACE_NAME);
bool CClangBackend::AreFileDependenciesUpdated( CUtlString szFile, CUtlString szOutputFile, CUtlVector<CUtlString> arguments )
bool CClangBackend::AreFileDependenciesUpdated( CUtlString szFile, CUtlString szOutputFile, CUtlString szHashFile, CUtlVector<CUtlString> arguments )
{
szCurrentFile = szOutputFile;
bAnyOutdated = false;

View File

@@ -9,7 +9,7 @@
abstract_class IClangBackend
{
public:
virtual bool AreFileDependenciesUpdated( CUtlString szFile, CUtlString szOutputFile, CUtlVector<CUtlString> arguments ) = 0;
virtual bool AreFileDependenciesUpdated( CUtlString szFile, CUtlString szOutputFile, CUtlString szHashFile, CUtlVector<CUtlString> arguments ) = 0;
};
extern IClangBackend *clangbackend;

View File

@@ -53,7 +53,7 @@ CUtlString CClangLinker::Link( LinkProject_t *pProject )
filesystem2->MakeDirectory(szOutputDir);
if (pProject->linkType == ELINK_STATIC_LIBRARY)
{
V_printf(" AR %s\n", pProject->m_szName.GetString());
V_printf(" AR %s\n", pProject->m_szName.GetString());
bool shouldRecompile = false;
CUtlVector<CUtlString> args;
for (auto object: pProject->objects)