aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2013-09-09 12:06:15 +0200
committerIan Hinder <ian.hinder@aei.mpg.de>2013-09-09 12:06:15 +0200
commit64416193c6b2c6f8aa776985f30969c86c0e567b (patch)
treee92538ead6715531fdd627046f8271774e1cb7ad
parent4586ffb419881f05f398d46ef1c74b1478f328cc (diff)
Thorn.m: Move startup file generation to new CodeGenStartup.m
-rw-r--r--Tools/CodeGen/CodeGenStartup.m54
-rw-r--r--Tools/CodeGen/KrancThorn.m3
-rw-r--r--Tools/CodeGen/Thorn.m24
3 files changed, 56 insertions, 25 deletions
diff --git a/Tools/CodeGen/CodeGenStartup.m b/Tools/CodeGen/CodeGenStartup.m
new file mode 100644
index 0000000..598a459
--- /dev/null
+++ b/Tools/CodeGen/CodeGenStartup.m
@@ -0,0 +1,54 @@
+
+(* Copyright 2004-2013 Sascha Husa, Ian Hinder, Christiane Lechner
+
+ This file is part of Kranc.
+
+ Kranc is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ Kranc is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with Kranc; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*)
+
+BeginPackage[
+ "CodeGenStartup`",
+ {"Errors`", "Helpers`", "Kranc`", "CodeGenKranc`", "CodeGenC`", "CodeGen`"}];
+
+CreateStartupFile::usage = "";
+
+Begin["`Private`"];
+
+(* ------------------------------------------------------------------------
+ Startup file
+ ------------------------------------------------------------------------ *)
+
+CreateStartupFile[thornName_, bannerText_] :=
+ Module[{tmp, lang},
+
+ lang = CodeGenC`SOURCELANGUAGE;
+ CodeGenC`SOURCELANGUAGE = "C";
+
+ tmp = {FileHeader["C"],
+
+ IncludeFile["cctk.h"],
+ DefineFunction[thornName <> "_Startup", "extern \"C\" int", "void",
+ {DefineVariable["banner", "const char*", Quote[bannerText]],
+ "CCTK_RegisterBanner(banner);\n",
+ "return 0;\n"}]};
+
+ CodeGenC`SOURCELANGUAGE = lang;
+
+ tmp
+ ];
+
+End[];
+
+EndPackage[];
diff --git a/Tools/CodeGen/KrancThorn.m b/Tools/CodeGen/KrancThorn.m
index 75fa6f2..8e5a195 100644
--- a/Tools/CodeGen/KrancThorn.m
+++ b/Tools/CodeGen/KrancThorn.m
@@ -30,7 +30,8 @@ BeginPackage["KrancThorn`", {"CodeGen`", "Thorn`",
"CalculationFunction`", "Errors`", "Helpers`", "CactusBoundary`",
"KrancTensor`", "Param`", "Schedule`", "Interface`", "Kranc`", "Jacobian`",
"ConservationCalculation`", "CaKernel`", "Calculation`", "ParamCheck`",
- "OpenCL`", "CodeGenConfiguration`", "CodeGenMakefile`", "CodeGenSymmetries`", "MoL`"}];
+ "OpenCL`", "CodeGenConfiguration`", "CodeGenMakefile`", "CodeGenSymmetries`", "MoL`",
+ "CodeGenStartup`"}];
CreateKrancThorn::usage = "Construct a Kranc thorn";
diff --git a/Tools/CodeGen/Thorn.m b/Tools/CodeGen/Thorn.m
index d241ee7..61a3097 100644
--- a/Tools/CodeGen/Thorn.m
+++ b/Tools/CodeGen/Thorn.m
@@ -32,7 +32,6 @@ BeginPackage["Thorn`", "CodeGen`", "CodeGenC`", "CodeGenCactus`", "CodeGenKranc`
CreateThorn::usage = "Create a general Cactus thorn from
a thorn specification structure";
CreateSetterSource::usage = "";
-CreateStartupFile::usage = "";
Begin["`Private`"];
@@ -110,29 +109,6 @@ CreateSetterSource[calcs_, debug_, include_,
CreateCalculationFunction[calc, opts]}];
(* ------------------------------------------------------------------------
- Startup file
- ------------------------------------------------------------------------ *)
-
-CreateStartupFile[thornName_, bannerText_] :=
- Module[{tmp, lang},
-
- lang = CodeGenC`SOURCELANGUAGE;
- CodeGenC`SOURCELANGUAGE = "C";
-
- tmp = {FileHeader["C"],
-
- IncludeFile["cctk.h"],
- DefineFunction[thornName <> "_Startup", "extern \"C\" int", "void",
- {DefineVariable["banner", "const char*", Quote[bannerText]],
- "CCTK_RegisterBanner(banner);\n",
- "return 0;\n"}]};
-
- CodeGenC`SOURCELANGUAGE = lang;
-
- tmp
- ];
-
-(* ------------------------------------------------------------------------
Thorn creation
------------------------------------------------------------------------ *)