Selaa lähdekoodia

Merge pull request #13331 from ghalliday/issue23497

HPCC-23497 Move code generation templates from files into embedded strings

Reviewed-By: Shamser Ahmed <shamser.ahmed@lexisnexis.co.uk>
Reviewed-By: Richard Chapman <rchapman@hpccsystems.com>
Richard Chapman 5 vuotta sitten
vanhempi
commit
f8fa76052c

+ 1 - 8
ecl/eclcc/eclcc.cpp

@@ -305,9 +305,6 @@ protected:
     void setDebugOption(const char * name, bool value);
     void usage();
 
-    inline const char * queryTemplateDir() { return templatePath.length() ? templatePath.str() : NULL; }
-
-
 protected:
     Owned<IEclRepository> pluginsRepository;
     Owned<IEclRepository> libraryRepository;
@@ -322,7 +319,6 @@ protected:
     StringBuffer cppIncludePath;
     StringBuffer pluginsPath;
     StringBuffer hooksPath;
-    StringBuffer templatePath;
     StringBuffer eclLibraryPath;
     StringBuffer eclBundlePath;
     StringBuffer stdIncludeLibraryPath;
@@ -626,7 +622,6 @@ void EclCC::loadOptions()
             getAdditionalPluginsPath(libraryPath, syspath);
         }
         extractOption(hooksPath, globals, "HPCC_FILEHOOKS_PATH", "filehooks", syspath, "filehooks");
-        extractOption(templatePath, globals, "ECLCC_TPL_PATH", "templatePath", syspath, "componentfiles");
         extractOption(eclLibraryPath, globals, "ECLCC_ECLLIBRARY_PATH", "eclLibrariesPath", syspath, "share" PATHSEPSTR "ecllibrary" PATHSEPSTR);
         extractOption(eclBundlePath, globals, "ECLCC_ECLBUNDLE_PATH", "eclBundlesPath", homepath, PATHSEPSTR "bundles" PATHSEPSTR);
     }
@@ -797,12 +792,11 @@ void EclCC::instantECL(EclCompileInstance & instance, IWorkUnit *wu, const char
     {
         try
         {
-            const char * templateDir = queryTemplateDir();
             bool optSaveTemps = wu->getDebugValueBool("saveEclTempFiles", false);
             bool optSaveCpp = optSaveTemps || optNoCompile || wu->getDebugValueBool("saveCppTempFiles", false) || wu->getDebugValueBool("saveCpp", false);
             //New scope - testing things are linked correctly
             {
-                Owned<IHqlExprDllGenerator> generator = createDllGenerator(&errorProcessor, processName.str(), NULL, wu, templateDir, optTargetClusterType, &instance, false, false);
+                Owned<IHqlExprDllGenerator> generator = createDllGenerator(&errorProcessor, processName.str(), NULL, wu, optTargetClusterType, &instance, false, false);
 
                 setWorkunitHash(wu, instance.query);
                 if (!optShared)
@@ -2038,7 +2032,6 @@ bool EclCC::processFiles()
         printf("ECLCC_INCLUDE_PATH=%s\n", cppIncludePath.str());
         printf("ECLCC_LIBRARY_PATH=%s\n", libraryPath.str());
         printf("ECLCC_PLUGIN_PATH=%s\n", pluginsPath.str());
-        printf("ECLCC_TPL_PATH=%s\n", templatePath.str());
         printf("HPCC_FILEHOOKS_PATH=%s\n", hooksPath.str());
         return true;
     }

+ 105 - 17
ecl/hqlcpp/hqlecl.cpp

@@ -42,11 +42,102 @@
 #define IS_DEBUG_BUILD          false
 #endif
 
-#define MAIN_MODULE_TEMPLATE        "thortpl.cpp"
-#define HEADER_TEMPLATE             "thortpl.hpp"
-#define CHILD_MODULE_TEMPLATE       "childtpl.cpp"
+constexpr const char * headerTemplate = R"!!($?doNotIncludeInGeneratedCode$
+/*##############################################################################
+#    HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+############################################################################## */
+
+$?$/* Template for generating a header file for a multi-cpp file query */
+
+@mainprototypes@
+
+@parenthelpers@
+)!!";
+
+constexpr const char * mainTemplate = R"!!($?doNotIncludeInGeneratedCode$
+/*##############################################################################
+#    HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+############################################################################## */
+
+$?$/* Template for generating thor/hthor/roxie output */
+#if defined(__clang__) || (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
+#pragma GCC diagnostic ignored "-Wall"
+#pragma GCC diagnostic ignored "-Wextra"
+#endif
+#include "eclinclude4.hpp"
+@include@
+@prototype@
+$?multiFile$#include "$headerName$"
+$?$@literal@
+@declare@
+@helper@
+
+@go@
+
+extern "C" ECL_API IEclProcess* createProcess()
+{
+    @init@
+    return new MyEclProcess;
+}
+
+@userFunction@
+)!!";
+
+constexpr const char * childTemplate = R"!!($?doNotIncludeInGeneratedCode$
+/*##############################################################################
+#    HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
+#
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+##############################################################################*/
+
+$?$/* Template for generating a child module for query */
+#if defined(__clang__) || (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
+#pragma GCC diagnostic ignored "-Wall"
+#pragma GCC diagnostic ignored "-Wextra"
+#endif
+#include "eclinclude4.hpp"
+@include@
+@prototype@
+
+#include "$headerName$"
 
-#define PROTO_TEMPLATE "prototpl.cpp"
+@helper@
+@userFunction@
+)!!";
 
 class NullContextCallback : implements ICodegenContextCallback, public CInterface
 {
@@ -71,8 +162,8 @@ protected:
 class HqlDllGenerator : implements IHqlExprDllGenerator, implements IAbortRequestCallback, public CInterface
 {
 public:
-    HqlDllGenerator(IErrorReceiver * _errs, const char * _wuname, const char * _targetdir, IWorkUnit * _wu, const char * _template_dir, ClusterType _targetClusterType, ICodegenContextCallback * _ctxCallback, bool _checkForLocalFileUploads, bool _okToAbort) :
-        errs(_errs), wuname(_wuname), targetDir(_targetdir), wu(_wu), template_dir(_template_dir), targetClusterType(_targetClusterType), ctxCallback(_ctxCallback), checkForLocalFileUploads(_checkForLocalFileUploads), okToAbort(_okToAbort)
+    HqlDllGenerator(IErrorReceiver * _errs, const char * _wuname, const char * _targetdir, IWorkUnit * _wu, ClusterType _targetClusterType, ICodegenContextCallback * _ctxCallback, bool _checkForLocalFileUploads, bool _okToAbort) :
+        errs(_errs), wuname(_wuname), targetDir(_targetdir), wu(_wu), targetClusterType(_targetClusterType), ctxCallback(_ctxCallback), checkForLocalFileUploads(_checkForLocalFileUploads), okToAbort(_okToAbort)
     {
         if (!ctxCallback)
             ctxCallback.setown(new NullContextCallback(_wu));
@@ -121,7 +212,6 @@ protected:
     StringAttr targetDir;
     Linked<IWorkUnit> wu;
     Owned<IHqlCppInstance> code;
-    const char * template_dir;
     ClusterType targetClusterType;
     Linked<ICodegenContextCallback> ctxCallback;
     unsigned defaultMaxCompileThreads;
@@ -206,7 +296,7 @@ void HqlDllGenerator::addLibrariesToCompiler()
 }
 
 
-void HqlDllGenerator::expandCode(StringBuffer & filename, const char * templateName, bool isHeader, IHqlCppInstance * code, bool multiFile, unsigned pass, CompilerType compiler)
+void HqlDllGenerator::expandCode(StringBuffer & filename, const char * codeTemplate, bool isHeader, IHqlCppInstance * code, bool multiFile, unsigned pass, CompilerType compiler)
 {
     filename.clear().append(wuname);
     if (pass != 0)
@@ -218,9 +308,7 @@ void HqlDllGenerator::expandCode(StringBuffer & filename, const char * templateN
     addDirectoryPrefix(fullname, targetDir).append(filename);
 
     Owned<IFile> out = createIFile(fullname.str());
-    Owned<ITemplateExpander> expander = createTemplateExpander(out, templateName, template_dir);
-    if (!expander)
-        throwError2(HQLERR_CouldNotOpenTemplateXatY, templateName, template_dir ? template_dir : ".");
+    Owned<ITemplateExpander> expander = createTemplateExpander(out, codeTemplate);
 
     Owned<ISectionWriter> writer = createCppWriter(*code, compiler);
     Owned<IProperties> props = createProperties(true);
@@ -538,16 +626,16 @@ void HqlDllGenerator::doExpand(HqlCppTranslator & translator)
     CompilerType targetCompiler = translator.queryOptions().targetCompiler;
 
     StringBuffer fullname;
-    expandCode(fullname, MAIN_MODULE_TEMPLATE, false, code, isMultiFile, 0, targetCompiler);
+    expandCode(fullname, mainTemplate, false, code, isMultiFile, 0, targetCompiler);
     sourceFiles.append(fullname);
     sourceFlags.append(nullptr);
     sourceIsTemp.append(true);
     if (isMultiFile)
     {
-        expandCode(fullname, HEADER_TEMPLATE, true, code, true, 0, targetCompiler);
+        expandCode(fullname, headerTemplate, true, code, true, 0, targetCompiler);
         for (unsigned i= 0; i < translator.getNumExtraCppFiles(); i++)
         {
-            expandCode(fullname, CHILD_MODULE_TEMPLATE, false, code, true, i+1, targetCompiler);
+            expandCode(fullname, childTemplate, false, code, true, i+1, targetCompiler);
             sourceFiles.append(fullname);
             sourceFlags.append(nullptr);
             sourceIsTemp.append(true);
@@ -689,14 +777,14 @@ offset_t HqlDllGenerator::getGeneratedSize() const
 
 extern HQLCPP_API double getECLcomplexity(IHqlExpression * exprs, IErrorReceiver * errs, IWorkUnit *wu, ClusterType targetClusterType)
 {
-    HqlDllGenerator generator(errs, "unknown", NULL, wu, NULL, targetClusterType, NULL, false, false);
+    HqlDllGenerator generator(errs, "unknown", NULL, wu, targetClusterType, NULL, false, false);
     return generator.getECLcomplexity(exprs);
 }
 
 
-extern HQLCPP_API IHqlExprDllGenerator * createDllGenerator(IErrorReceiver * errs, const char *wuname, const char * targetdir, IWorkUnit *wu, const char * template_dir, ClusterType targetClusterType, ICodegenContextCallback *ctxCallback, bool checkForLocalFileUploads, bool okToAbort)
+extern HQLCPP_API IHqlExprDllGenerator * createDllGenerator(IErrorReceiver * errs, const char *wuname, const char * targetdir, IWorkUnit *wu, ClusterType targetClusterType, ICodegenContextCallback *ctxCallback, bool checkForLocalFileUploads, bool okToAbort)
 {
-    return new HqlDllGenerator(errs, wuname, targetdir, wu, template_dir, targetClusterType, ctxCallback, checkForLocalFileUploads, okToAbort);
+    return new HqlDllGenerator(errs, wuname, targetdir, wu, targetClusterType, ctxCallback, checkForLocalFileUploads, okToAbort);
 }
 
 /*

+ 1 - 1
ecl/hqlcpp/hqlecl.hpp

@@ -51,7 +51,7 @@ public:
     virtual void setSaveGeneratedFiles(bool value) = 0;
 };
 
-extern HQLCPP_API IHqlExprDllGenerator * createDllGenerator(IErrorReceiver * errs, const char *wuname, const char * targetdir, IWorkUnit *wu, const char * template_dir, ClusterType targetClusterType, ICodegenContextCallback * ctxCallback, bool checkForLocalFileUploads, bool okToAbort);
+extern HQLCPP_API IHqlExprDllGenerator * createDllGenerator(IErrorReceiver * errs, const char *wuname, const char * targetdir, IWorkUnit *wu, ClusterType targetClusterType, ICodegenContextCallback * ctxCallback, bool checkForLocalFileUploads, bool okToAbort);
 
 
 //Extract a single level of external libraries.

+ 10 - 33
ecl/hqlcpp/hqlwcpp.cpp

@@ -96,15 +96,9 @@ static StringBuffer & appendCapital(StringBuffer & s, StringBuffer & _name)
 
 //---------------------------------------------------------------------------
 
-CppWriterTemplate::CppWriterTemplate()
+CppWriterTemplate::CppWriterTemplate(const char * codeTemplate)
 {
-    text = NULL;
-    len = 0;
-}
-
-CppWriterTemplate::~CppWriterTemplate()
-{
-    free(text);
+    loadTemplate(codeTemplate);
 }
 
 void CppWriterTemplate::generate(ISectionWriter & writer, unsigned pass, IProperties * properties)
@@ -148,29 +142,17 @@ void CppWriterTemplate::generate(ISectionWriter & writer, unsigned pass, IProper
 
         finger = cur.position   + cur.len;
     }
-    char * end = text+len;
+    const char * end = text+len;
     if (output && (end > finger))
         outputQuoted(writer, end-finger, finger);
 
     writer.setOutput(NULL, NULL);
 }
 
-bool CppWriterTemplate::loadTemplate(const char * filename, const char *dir)
+void CppWriterTemplate::loadTemplate(const char * codeTemplate)
 {
-    StringBuffer tpl(dir);
-    if(tpl.length())
-        tpl.append(PATHSEPCHAR);
-    tpl.append(filename);
-
-    Owned<IFile> file = createIFile(tpl);
-    Owned<IFileIO> io = file->openShared(IFOread, IFSHread);
-    if (!io)
-        return false;
-    offset_t size = (size32_t)io->size();
-    if (size != (size32_t)size)
-        return false;
-    text = (char *)malloc((size_t)size);
-    len=io->read(0, (size32_t)size, text);
+    len = strlen(codeTemplate);
+    text = codeTemplate;
     
     unsigned index=0;
     unsigned startLine = 0;
@@ -233,7 +215,6 @@ bool CppWriterTemplate::loadTemplate(const char * filename, const char *dir)
             break;
         }
     }
-    return true;
 }
 
 //---------------------------------------------------------------------------
@@ -2271,15 +2252,11 @@ void HqlCppSectionWriter::generateSection(unsigned delta, IAtom * section, unsig
 
 //---------------------------------------------------------------------------
 
-ITemplateExpander * createTemplateExpander(IFile * output, const char * filename, const char *dir)
+ITemplateExpander * createTemplateExpander(IFile * output, const char * codeTemplate)
 {
-    Owned<CppWriterTemplate> expander = new CppWriterTemplate;
-    if (expander->loadTemplate(filename, dir) || expander->loadTemplate(filename, ""))
-    {
-        expander->setOutput(output);
-        return expander.getClear();
-    }
-    return NULL;
+    Owned<CppWriterTemplate> expander = new CppWriterTemplate(codeTemplate);
+    expander->setOutput(output);
+    return expander.getClear();
 }
 
 ISectionWriter * createCppWriter(IHqlCppInstance & _instance, CompilerType compiler)

+ 1 - 1
ecl/hqlcpp/hqlwcpp.hpp

@@ -43,7 +43,7 @@ extern HQLCPP_API StringBuffer & generateTypeCpp(StringBuffer & out, ITypeInfo *
 bool generateFunctionPrototype(StringBuffer & out, IHqlExpression * funcdef, CompilerType compiler);
 void generateFunctionReturnType(StringBuffer & prefix, StringBuffer & params, ITypeInfo * retType, IHqlExpression * attrs, CompilerType compiler);
 
-extern HQLCPP_API ITemplateExpander * createTemplateExpander(IFile * output, const char * filename, const char *dir);
+extern HQLCPP_API ITemplateExpander * createTemplateExpander(IFile * output, const char * codeTemplate);
 extern HQLCPP_API ISectionWriter * createCppWriter(IHqlCppInstance & _instance, CompilerType compiler);
 extern bool isTypePassedByAddress(ITypeInfo * type);
 

+ 4 - 5
ecl/hqlcpp/hqlwcpp.ipp

@@ -20,12 +20,10 @@
 class HQLCPP_API CppWriterTemplate : public CInterface, public ITemplateExpander
 {
 public:
-    CppWriterTemplate();
-    ~CppWriterTemplate();
+    CppWriterTemplate(const char * codeTemplate);
     IMPLEMENT_IINTERFACE
 
     virtual void generate(ISectionWriter & writer, unsigned pass, IProperties * properties = NULL);
-                    bool loadTemplate(const char * filename, const char *dir);
 
     void outputQuoted(ISectionWriter & writer, size32_t len, const char * str)
     {
@@ -45,7 +43,8 @@ public:
 
 
 private:
-  enum TplSectionType { TplEmbed, TplExpand, TplCondition, TplEndCondition };
+    void loadTemplate(const char * codeTemplate);
+    enum TplSectionType { TplEmbed, TplExpand, TplCondition, TplEndCondition };
     struct CppTemplateSection : public CInterface
     {
         TplSectionType  type;
@@ -56,7 +55,7 @@ private:
     };
 
 protected:
-    char * text;
+    const char * text;
     unsigned len;
     CIArray sections;
     Owned<IFile> out;

+ 0 - 1
rtl/CMakeLists.txt

@@ -14,6 +14,5 @@
 #    limitations under the License.
 ################################################################################
 HPCC_ADD_SUBDIRECTORY (eclrtl)
-HPCC_ADD_SUBDIRECTORY (ecltpl)
 HPCC_ADD_SUBDIRECTORY (include)
 HPCC_ADD_SUBDIRECTORY (nbcd)

+ 0 - 1
rtl/ecltpl/.gitattributes

@@ -1 +0,0 @@
-*               text eol=lf

+ 0 - 23
rtl/ecltpl/CMakeLists.txt

@@ -1,23 +0,0 @@
-################################################################################
-#    HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License");
-#    you may not use this file except in compliance with the License.
-#    You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-################################################################################
-
-FOREACH( iFILES
-    ${CMAKE_CURRENT_SOURCE_DIR}/thortpl.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/thortpl.hpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/childtpl.cpp
-)
-    Install ( FILES ${iFILES} DESTINATION componentfiles COMPONENT Runtime )
-ENDFOREACH ( iFILES )

+ 0 - 30
rtl/ecltpl/childtpl.cpp

@@ -1,30 +0,0 @@
-$?doNotIncludeInGeneratedCode$
-/*##############################################################################
-#    HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License");
-#    you may not use this file except in compliance with the License.
-#    You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-##############################################################################*/
-
-$?$/* Template for generating a child module for query */
-#if defined(__clang__) || (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
-#pragma GCC diagnostic ignored "-Wall"
-#pragma GCC diagnostic ignored "-Wextra"
-#endif
-#include "eclinclude4.hpp"
-@include@
-@prototype@
-
-#include "$headerName$"
-
-@helper@
-@userFunction@

+ 0 - 21
rtl/ecltpl/prototpl.cpp

@@ -1,21 +0,0 @@
-$?doNotIncludeInGeneratedCode$
-/*##############################################################################
-#    HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License");
-#    you may not use this file except in compliance with the License.
-#    You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-############################################################################## */
-
-$?$@include@
-@prototype@
-@literal@
-@declare@

+ 0 - 27
rtl/ecltpl/sourcedoc.xml

@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-################################################################################
-#    HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License");
-#    you may not use this file except in compliance with the License.
-#    You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-################################################################################
--->
-
-<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<section>
-    <title>rtl/ecltpl</title>
-
-    <para>
-        The rtl/ecltpl directory contains the sources for the rtl/ecltpl library.
-    </para>
-</section>

+ 0 - 39
rtl/ecltpl/thortpl.cpp

@@ -1,39 +0,0 @@
-$?doNotIncludeInGeneratedCode$
-/*##############################################################################
-#    HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License");
-#    you may not use this file except in compliance with the License.
-#    You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-############################################################################## */
-
-$?$/* Template for generating thor/hthor/roxie output */
-#if defined(__clang__) || (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2))
-#pragma GCC diagnostic ignored "-Wall"
-#pragma GCC diagnostic ignored "-Wextra"
-#endif
-#include "eclinclude4.hpp"
-@include@
-@prototype@
-$?multiFile$#include "$headerName$"
-$?$@literal@
-@declare@
-@helper@
-
-@go@
-
-extern "C" ECL_API IEclProcess* createProcess()
-{
-    @init@
-    return new MyEclProcess;
-}
-
-@userFunction@

+ 0 - 22
rtl/ecltpl/thortpl.hpp

@@ -1,22 +0,0 @@
-$?doNotIncludeInGeneratedCode$
-/*##############################################################################
-#    HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®.
-#
-#    Licensed under the Apache License, Version 2.0 (the "License");
-#    you may not use this file except in compliance with the License.
-#    You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-############################################################################## */
-
-$?$/* Template for generating a header file for a multi-cpp file query */
-
-@mainprototypes@
-
-@parenthelpers@