started to improve compiler
This commit is contained in:
@@ -22,7 +22,6 @@ class CClangCompiler : public ICCompiler
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
virtual LinkProject_t Compile( CProject_t *pProject ) override;
|
virtual LinkProject_t Compile( CProject_t *pProject ) override;
|
||||||
virtual void GenerateLinterData( void ) override;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
EXPOSE_INTERFACE(CClangCompiler, ICCompiler, CLANG_C_COMPILER_INTERFACE_NAME);
|
EXPOSE_INTERFACE(CClangCompiler, ICCompiler, CLANG_C_COMPILER_INTERFACE_NAME);
|
||||||
|
|||||||
0
fpc/library/clang/c_clang_cl.cpp
Normal file
0
fpc/library/clang/c_clang_cl.cpp
Normal file
@@ -55,8 +55,7 @@ LinkProject_t CMSVCCompiler::Compile( CProject_t *pProject )
|
|||||||
if (!pSection)
|
if (!pSection)
|
||||||
Plat_FatalErrorFunc("MSVC_C_COMPILER_INTERFACE_NAME was not found in .fpccfg\n");
|
Plat_FatalErrorFunc("MSVC_C_COMPILER_INTERFACE_NAME was not found in .fpccfg\n");
|
||||||
CUtlString szExePath = pSection->GetStringValue("exe");
|
CUtlString szExePath = pSection->GetStringValue("exe");
|
||||||
if (!pSection)
|
bool bUseClangCL = pSection->GetStringValue("exe");
|
||||||
Plat_FatalErrorFunc("exe was not found in MSVC_C_COMPILER_INTERFACE_NAME\n");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
0
fpc/library/windows/c.h
Normal file
0
fpc/library/windows/c.h
Normal file
@@ -83,6 +83,7 @@ public:
|
|||||||
// Target C++ version
|
// Target C++ version
|
||||||
ECPPVersion cppVersion;
|
ECPPVersion cppVersion;
|
||||||
|
|
||||||
|
// TODO: rework manifests
|
||||||
// Android manifest
|
// Android manifest
|
||||||
AndroidManifest_t m_androidmanifest;
|
AndroidManifest_t m_androidmanifest;
|
||||||
};
|
};
|
||||||
@@ -99,11 +100,26 @@ public:
|
|||||||
|
|
||||||
// Compiles all files into objects, returns linker project,
|
// Compiles all files into objects, returns linker project,
|
||||||
// which can be linked into executable or library.
|
// which can be linked into executable or library.
|
||||||
virtual LinkProject_t Compile( CProject_t *pProject ) = 0;
|
virtual LinkProject_t Compile( CProject_t *pProject );
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
// Compiler internals
|
||||||
|
|
||||||
|
// Returns file name of the
|
||||||
|
CUtlString GetOutputObjectName( CUtlString szFileName );
|
||||||
|
|
||||||
|
virtual CUtlVector<CUtlString> BuildCommandLine( CProject_t *pProject );
|
||||||
|
|
||||||
|
// Returns executable which should the OS run
|
||||||
|
virtual CUtlString GetCompilerExecutable( CProject_t *pProject ) = 0;
|
||||||
|
|
||||||
|
virtual const char *GetOutputObjectFormat() = 0;
|
||||||
|
virtual bool IncludeDirectory( CUtlVector<CUtlString> &cmd ) = 0;
|
||||||
|
virtual bool IncludeFile( CUtlVector<CUtlString> &cmd ) = 0;
|
||||||
|
virtual void Macro( const char *szName ) = 0;
|
||||||
|
virtual void Macro( const char *szName, const char *szValue ) = 0;
|
||||||
|
|
||||||
// Generates linter data
|
|
||||||
// Handled by the fpc automatically
|
|
||||||
virtual void GenerateLinterData( void ) = 0;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern ICCompiler *ccompiler;
|
extern ICCompiler *ccompiler;
|
||||||
|
|||||||
Reference in New Issue
Block a user