summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Fixed a slight problem when using perl 4.goodale1999-01-22
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@108 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now preprocesses c files into the appropriate build directory, thengoodale1999-01-22
| | | | | | | | | | | | | 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
* Added dependency of make.thornlist on the .ccl files.goodale1999-01-22
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@106 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added dependencies for the source files.goodale1999-01-22
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@105 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now passes through defines to the preprocessor to allow the parameters to work.goodale1999-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Finally debugged the c parameter stuff.goodale1999-01-22
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@103 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now creates all the c parameter stuff.goodale1999-01-22
| | | | | | | | | | | | | | | | | | | | 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
* Now generates lots of header files for the parameters. Ingoodale1999-01-21
| | | | | | | | | | 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
* Creates lots of parameter header files. These provide extern statementsgoodale1999-01-21
| | | | | | | | | | | | | | | | | 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
* Changed to call the new functions in Misc.c, rather than to write loadsgoodale1999-01-21
| | | | | | | | | of similar code. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@99 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added functions to set tha values of ints, doubles, keywords, strings, etcgoodale1999-01-21
| | | | | | | | | as required by the bindings. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@98 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Fixed minor bug in CCTK_Equals.goodale1999-01-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@97 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Create the parameter binding files.goodale1999-01-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@96 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added definition of Double to headers.goodale1999-01-20
| | | | | | | | | 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
* Made tags targets phony to force rebuild when asked.goodale1999-01-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@94 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Generalised routine to create a parameter binding file to do it for anygoodale1999-01-20
| | | | | | | | | list of parameters. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@93 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added LOGICAL to one of the matches, and made the changeallen1999-01-20
| | | | | | | | | < 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
* Don't strip thorn_ off directory names.allen1999-01-20
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@91 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now creates an appropriate parameter bindings file for the publicgoodale1999-01-20
| | | | | | | | | | 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
* Some tidying up.goodale1999-01-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@89 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Header file for miscellaneous routines.goodale1999-01-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@88 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added Misc.c, which contains miscellaneuous routines, such as CCTK_Equals...goodale1999-01-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@87 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now call the functions in the CatusBindings library.goodale1999-01-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@86 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Links in libCactusBindings.agoodale1999-01-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@85 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Output file. Forgot to commit it earlier.goodale1999-01-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@84 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed CCTK_ScheduleRegister to be of type int()(const char *, void *)goodale1999-01-20
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@83 17b73243-c579-4c4c-a9d2-2d5706c11dac
* New library - libCactusBindings.a created by make.configuration.goodale1999-01-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fixed a bug I introduced earlier when I tidied up the rule forgoodale1999-01-19
| | | | | | | | | | | | 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
* Now creates a make.thornlist file.goodale1999-01-19
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@80 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now reads in active thorns and generates a file suitable for make.thornlist.goodale1999-01-19
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@79 17b73243-c579-4c4c-a9d2-2d5706c11dac
* ccl files for the flesh.goodale1999-01-19
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@78 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now ignores thorns beginning with # or ending with ~ .goodale1999-01-19
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@77 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed name of main library to libCactus.a .goodale1999-01-19
| | | | | | | | | | | | | 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
* Put a rule in to generate a valid ActiveThorns file.goodale1999-01-19
| | | | | | | | | | | | | | 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
* A simple script to generate an ActiveThorns list from all directoriesgoodale1999-01-19
| | | | | | | | | | | 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
* Protected the query about building a new configuration against someone justgoodale1999-01-19
| | | | | | | | | typing return. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@73 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed $(make) to $(MAKE) in the help messages 8-)goodale1999-01-19
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@72 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added new targets to clean and delete configurations.goodale1999-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a prompt to the last resort rule to prevent accidental creation of configurations from typos. Output of make help skuld:~/origin/CCTK > gmake help ________________________________________________________________________ This is the main makefile for the Cactus Computational Toolkit The following configurations are currently specified IRIX64 cheese To build a configuration run followed by the name of a configuration. To clean a configuration run followed by the name of a configuration suffixed by -clean e.g. Linux-clean. To delete a configuration run followed by the name of a configuration suffixed by -delete e.g. Linux-delete. ________________________________________________________________________ gmake also knows the following targets TAGS - creates an Emacs TAGS file tags - creates a Vi TAGS file config - creates a new configuration distclean - deletes all existing configurations <anything else> prompts to create such a configuration. ________________________________________________________________________ Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@71 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed siniclude to -include, as older versions of gmake don't recognisegoodale1999-01-19
| | | | | | | | | sinclude. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@70 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Added routine to parse an ActiveThornsList.goodale1999-01-19
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@69 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changed some include statement to sinclude to prevent extraneous warninggoodale1999-01-19
| | | | | | | | | | | | 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
* Made CCTK_HOME a simply expanded variable, and marked it for export togoodale1999-01-19
| | | | | | | | | sub makes. Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@67 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now make will recurse into subdirectories of a thorn.goodale1999-01-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Added rules to make make.thornlist and ActiveThornsgoodale1999-01-18
| | | | | | | | | | | | | | | 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
* Put @s in front of all ehos in the makefile.goodale1999-01-18
| | | | | | | | | | | | | | | | | | | Added a few more comments, like to ignore the error message at the end of new-setup ! Added new last resort target - make <unknown-configuration> will run setup on the configuration Fixed bug in setup. Make cheese now works ! 8-) Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@64 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Now checks for the presence of a Makefile in a thorn's src directorygoodale1999-01-18
| | | | | | | | | 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
* New make system.goodale1999-01-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Lots more stuff for the new make system -goodale1999-01-17
| | | | | | | | | | | | | | | | | | | | | | | 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
* Start of the new make system.goodale1999-01-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Set of changes/tidying up which will actually allow the code to run.goodale1999-01-15
| | | | | | | Tom git-svn-id: http://svn.cactuscode.org/flesh/trunk@59 17b73243-c579-4c4c-a9d2-2d5706c11dac