| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@108 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
changes directory to $(TOP)/scratch and builds the file there, putting
the object file in the appropriate build directory.
When this is done for F90 it should mkae sure that all module files
end up in one place and are available for the F90 compiler.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@107 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@106 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@105 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now all you need to do is
#include "config.h"
and
#include "cctk_parameters.h"
at the top of your c source file, and then state
DECLARE_PARSER
at the top of any subroutine where you want to use the parameters.
Note that the flesh should use the getparameter subroutine, rather than this
method, otherwise it may need to be recompiled whenever someone adds a public
parameter.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@104 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@103 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Code should do #include "cctk_parameters.h"
and then do
DECLARE_PARSER
at the top of any subroutine they want to have parameters in.
Do we want to change this to DECLARE_PARAMETERS or something like that ?
Note that this won't work until I've added some -Ds to the make commands for
C.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@102 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
principle these should work, but the c-preprocessor seems to do
something odd when I try to use a DECLARE macro !
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@101 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for the appropriate structures, and #defines for declarations for each
structure.
To do:
for each thorn generate code to #include the appropriate headers and
make a DECLARE_PARSER #define which calls the appropriate DECLARE for the
public, protected, and private parameters, and a mangled form for the
friend parameters.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@100 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
of similar code.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@99 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@96 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
Link libCactus.a after libCactusBindings. as well as before.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@95 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
list of parameters.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@93 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
< elsif($1 && $1 =~ m:EXTENDS:i && $block ne "FRIEND")
---
> elsif($1 && $1 =~ m:EXTENDS:i && $block !~ m:FRIEND\s*\S:)
git-svn-id: http://svn.cactuscode.org/flesh/trunk@92 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@91 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
parameters. Just commiting now in case I screw up the next bit of
generalising it to all parmeters. Will reorganise routiens and files too.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@90 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@85 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@84 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@83 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The sources for this are automatically generated by config_parser.pl
and should contain everything needed to bind the flesh and the
thorns.
Specifically have six functions called from the flesh
CCTK_BindingsParametersInitialise
CCTK_BindingsParameterSet
CCTK_BindingsParameterGet
CCTK_BindingsVariablesInitialise
CCTK_BindingsScheduleInitialise
CCTK_BindingsScheduleRegister
All the initialise ones are of type int ()(void)
CCTK_ParameterSet is of type int ()(const char *, const char *)
and takes a parameter specification and a parameter value, as taken
from the parameter file, and sets the parameter accordingly.
CCTK_BindingsParameterGet is of type int()(const char *, void **)
and returns the value of a parameter - the rturn value corresponds to
the type of the parameter.
CCTK_BindingsScheduleRegister is of type int()(const char *)
and will perform registration at, e.g. Startup, or RFR, or
any other point we add in future. Thinking about it, it needs
to also take a void * if it's going to do rfr init stuff - watch this space...
8-)
The c source files for these are put in the $(TOP)/bindings directory by
config.ccl, each subsystem in its own directory.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@82 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
| |
making libraries - now will find the thorn source directories !
Now calls the config_parser.pl script to generate make.thornlist
from ActiveThorns.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@81 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@80 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@79 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@77 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unified rules for making libraries.
Slight cosmetic change to make.thornlib - now states whether it is
creating or whether it is updating the library, rather than just
saying 'Creating or Updating' .
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@76 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This will call BuildActiveThorns.pl from the lib/sbin directory to
generate a list.
It then displays the list, and asks the user if they want to edit it.
If they say yes/y/YES/Y it calls an editor. Vi by default, but will use
value of the $EDITOR environment variable if that is set.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@75 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
in subdirectories of the toolkits directory.
Ignores the CVS directory.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@74 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
sinclude.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@70 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@69 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
| |
messages.
Now the presence of make.code.deps in a thorn's directory or subdirectories is
optional.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@68 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In your make.code.defn file put lines
SRCS = <sources in this directory>
SUBDIRS= <all subdirectories - e.g. what find . -type d would give you>
then in each subdirectory put a make.code.defn containing
SRCS = <sources in this directory>
(N.B. you cannot currently put a SUBDIRS line here)
along with make.code.deps files in all the directories.
Make will then go into the relevant subdirectory and make the object files there
before updating the library file.
The first time it does this you will get errors of the form
cannot find <subdir-name>/make.identity
you should ignore these errors, as the make system then creates the files. If I find a way to do this without the errors, I'll be happy 8-) The files are used to keep track of the subdirectory filenames.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@66 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently these rules don't do anything other than make the files if they
don't exist.
Put @'s in front of the echos in make.configuration.
Commented out $(RANLIB) line in make.thornlib - it didn't seem to do the
correct thing under irix, and irix,osf and linux ar take the -s flag anyway.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@65 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
and uses that in preference to the default one.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@63 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To build a configuration <conf> do
make <conf>
if <conf> doesn't exist you'll get a complaint
make by itself will list existing configurations, or run the setup
perl script if there are none.
make config will make a new configuration
make help should list all options
make tags will create a Vi style tags file
make TAGS will create an Emacs style TAGS file
make distclean will nuke your build directory.
When setting up a configuration the make system creates the following directories
$(CCTK_HOME)/build
$(CCTK_HOME)/build/$(config)
$(CCTK_HOME)/build/$(config)/config-data
$(CCTK_HOME)/build/$(config)/lib
$(CCTK_HOME)/build/$(config)/build
and runs autoconf in the config-data directory.
You then need to create a file
make.thornlist
containing one line of the form
THORNS=toolkit1/thorn1 toolkit3/thorn45 ...
in the config-data directory.
(This will be automatically created from ActiveThorns later.)
At that point you should be fine for making the system.
Note that it doesn't preprocess the files yet, nor in fact touch any of
the ccl scripts. This is coming to a make system near you soon...
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@62 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
configure and config.h.in are generated by running autoconf and autoheader
respectively.
The resulting configure file can then be run to produce
make.config.defn
config.h
fortran_name.pl
You must set an environment variable with the name of the executable first.
It should be run from the config-data directory of a configuration - e.g
setenv EXE cctk
$(CCTK_HOME)/lib/make/configure
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@61 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rely on a directory structure like
arch/config-stuff
arch/lib
arch/build/<thorn1>
arch/build/<thorn2>
etc
and files called make.config.defn, make.config.deps, make.config.rules in the config-stuff directory.
make.config.defn should contain the normal make variables defining
compilers and compiler flags, etc, plus
TOOLKIT_DIR - the directory containing the toolkit sources
CCTK_LIBDIR - arch/lib in the above example
BUILD_DIR - arch/build in the above example
EXE - the name of the executable
THORNS - the names of the thorns, including toolkits - e.g CCTK/pugh CCTK/io, etc.
(I'll probably move this one out to another file.)
make.config.rules should contain rules to make object files from source files, e.g.
%.o: $(SRCDIR)/%.c
$(CC) $(CFLAGS) -c -o $@ $< $(addprefix -I, $(INC_DIRS))
etc.
Then you invoke make.configuration with
make -f make.configuration TOP=<directory containing the build tree - arch> MAKE_DIR=<directory containing make.thornlib>
and the thorns should get built.
Still need to add stuff for building flesh, and to take in flesh include files,
etc.
Need to do autoconf stuff to automagically create make.config.defn.
Need the perl configuration stuff.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@60 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
More modification still needed for complete compatability.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@54 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@45 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@44 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@43 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@42 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
Added comments.
Added unlinking of temporary files.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@41 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@36 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@35 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Re-indented parameter_parser.pl .
git-svn-id: http://svn.cactuscode.org/flesh/trunk@34 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@33 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@32 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@31 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@30 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Made sure everything runs with perl 4.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@29 17b73243-c579-4c4c-a9d2-2d5706c11dac
|