#ifndef LD_H #define LD_H #include "runner.h" #include "helper.h" #include "obj.h" #include "tier0/platform.h" #include "tier1/utlstring.h" enum ELinkType { ELINK_EXECUTABLE, ELINK_DYNAMIC_LIBRARY, ELINK_STATIC_LIBRARY, }; struct LinkProject_t: public CPUProject_t { public: void AddObject( Object_t& object ); ELinkType linkType; CUtlVector objects = {}; CUtlVector libraries ={}; CUtlVector libraryDirectories = {}; CUtlVector libraryObjects = {}; CUtlVector frameworkDirectories = {}; CUtlVector frameworks = {}; AndroidManifest_t m_androidmanifest; bool bNoStdLib; }; #define LINKER_INTERFACE_NAME "Linker001" #define CLANG_LINKER_INTERFACE_NAME "ClangLinker001" abstract_class ILinker { public: virtual CUtlString Link( LinkProject_t *pProject ) = 0; }; extern ILinker *linker; #endif