| Commit message (Collapse) | Author | Age |
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4930 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
Add configuration options allowing people to ensure that all thorn
source files make it into the executable. Among other things, this
ensures that each routine has a unique name.
This is disabled by default.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4899 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
this fixes an issue introduced in r4839 where the original patch removed
special treatment for three (or so) files, assuming that these files are not
generated any more. This was wrong, and this patch reverts special treatment
for one of these files.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4862 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4850 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
Change per thorn -DTHORN_IS_xxx to a per thorn -I bindings/include/xxx
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4839 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OpenCL source code needs to be compiled at run time, and thus needs to
be passed as string to the OpenCL run-time library. This makes writing
OpenCL source code inconvenient.
This patch adds *.cl as supported file type to Cactus. *.cl files are
transformed into globally visible strings, with a name consisting of
the thorn name and file name. These strings can then be easily used at
run time to build and run OpenCL code.
Since *.cl files are converted to strings (and are not OpenCL-compiled
at build time), there are no CL* options specifying compiler type,
compiler flags etc.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4808 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4781 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
functions into a new file cctk_ScheduleFunctions.h, which is included
into cctk.h.
This is done only for C (and C++) since Fortran prototypes cannot be
declared at file scope.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4695 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4691 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
actually uses that very variable for a list of default options. Use GZIP_CMD instead
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4690 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4688 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
| |
should be called CUCC, not NVCC. nvcc is only NVidia's CUDA C compiler.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4685 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4684 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
Cactus supports a variable OPTIMISE=yes/no to control whether optimisation is performed during compilation. Setting this variable to "yes" (for example, make sim-config OPTIMISE=yes) adds the flags in C_OPTIMISE_FLAGS to CFLAGS so that optimisation is performed. This is the default. Setting OPTIMISE=no does not add the flags. For gcc, this results in an unoptimised configuration as gcc assumes -O0 as the default. The Intel compiler, however, uses -O2 as the default. Hence, setting OPTIMISE=no has no effect on Intel, and -O2 is still used.
This patch adds new configuration options C_NO_OPTIMISE_FLAGS, CXX_NO_OPTIMISE_FLAGS, F77_NO_OPTIMISE_FLAGS and F90_NO_OPTIMISE_FLAGS to complement the *_OPTIMISE_FLAGS options. These are added to the flags when OPTIMISE=no is used, and they default to -O0, which for the commonly used gcc and Intel compilers will lead to an unoptimised configuration.
This requires a CONFIG-reconfig, but this is not enforced because this option doesn't affect most people, and failing to -reconfig is not fatal.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4681 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Thorns can specify that they can make use of a particular capability
(for example HDF5), but that it is not absolutely required. It is
currently not possible to detect a capability in the source code or
make system of a thorn because there is no preprocessor macro and no
make variable defined to indicate that the capability is available.
Additionally, the preprocessor definitions which are explicitly
provided by a capability are written to an include file which is
malformed and hence these definitions cannot be read. This commit:
* Introduces makefile and preprocessor variables HAVE_CAPABILITY_<cap>
for each provided capability
* Removes the incorrect definition line causing the include file to be
malformed
* Renames cctki_Capabilities.h to cctk_Capabilities.h and causes
cctk_Capabilities.h to be included from cctk.h by all thorns
* Excludes cctk_Capabilities.h from dependency checking (dependencies
of the files included from this one will be sufficient)
[Patch from Ian Hinder]
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4659 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
special CPP flags for debugging. These complement the existing
C_DEBUG_FLAGS and CPPFLAGS. In particular, the following flags are
added:
CPP_DEBUG_FLAGS
FPP_DEBUG_FLAGS
CPP_OPTIMISE_FLAGS
FPP_OPTIMISE_FLAGS
CPP_PROFILE_FLAGS
FPP_PROFILE_FLAGS
CPP_OPENMP_FLAGS
FPP_OPENMP_FLAGS
CPP_WARN_FLAGS
FPP_WARN_FLAGS
Applications are e.g. adding -Wall to CPP_WARN_FLAGS, or -fopenmp to
CPP_OPENMP_FLAGS.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4656 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and LIBLINK_PREFIX. Expand them in makefiles.
LIBDIR_PREFIX and LIBLINK_PREFIX existed before, but were not explicit
configuration variables. RUNDIR_PREFIX is used to remember the path
to a shared library in an executable.
Keep the default value for LIBDIR_PREFIX at "-L" and LIBLINK_PREFIX at
"-l". Set the default for RUNDIR_PREFIX to "-Wl,-rpath,".
Use these variables when building the executable.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4599 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4587 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
access e.g. CC and CFLAGS when building external libraries via the
configuration.ccl mechanism.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4584 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
This option is accompanied by the option set {C,CXX,F77,F90}_OPENMP_FLAGS
through which users can overwrite the default OpenMP options set in the
known-architectures file.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4513 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
build. This flag is equivalent to OPTIMISE=yes and DEBUG=yes.
Additional compiler options {C,CXX,F77,F90}_PROFILE_FLAGS are also
introduced.
The configuration stage sets the F77 flags to the F90 flags if an F90
compiler is found. This flag setting was done too early, namely
before the default values for the F90 flags were set. This flag
setting has been moved to a later time.
The link command used undefined make variables $(OPTIMISE_C) etc.
These variables have been removed. Instead $(CXX_OPTIMISE_FLAGS)
etc. are added to the link statement. This makes the linker pick up
the correct flags e.g. for profiling.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4327 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
up into make.config.defn so that the latter file has a chance of appending
necessary system libs to the linker command line.
This applies patch http://www.cactuscode.org/old/pipermail/patches/2006-March/000156.html with a slight modification: the make.link file is included directly
in make.config.defn, not in make.extra.defn (as proposed in the original patch).
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4268 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4212 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
an if clause so it is only tested if CCTK_NEED_X is true.
The PETSc extras file has been updated to set this flag.
This will be reverted when the extras stuff is removed and
thorns are using the thorns in CactusExternal to detect things.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4182 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
via a thorn and a configuration script.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4174 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
as a comment into make.config.defn.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@4077 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the translation of CCTK_HOME to a windows format from the master Makefile,
and forced the addition of a new Make macro
TRANSLATE_DIRS
which is used in various places in Make to translate things like
/cygwin/f/...
into
f:\...
This is a 'call'able macro in Make, and defaults to $(1).
There is a new subroutine in RunTestUtils which serves the same purpose.
This change should not affect anyone not using Cactus on Windows. If you
are using Windows you will need to reconfigure, making sure that the Perl
you use is the cygwin one and not the ActiveState one.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3742 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3529 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Also, detect Fortran 90 inter-module dependencies automatically.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3524 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
preprocessing Fortran files.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3522 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
compile time).
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3477 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
| |
contain any relevant information; the same is done for
cctk_Arguments.h.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@3463 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2180 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
A known-architecture file or the config line can now set USE_RANLIB=yes to
have the make system use ranlib.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2174 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is described on a Spec on the web pages at the moment, and will move to the documentation
once it is tested and extended a bit more. If you want to have a look at it in action, checkout
the thorns TestFunctions1A, TestFunctions1B and TestFunctions2 which will be in AlphaThorns in
a few minutes time.
At the moment it is only possible to use Function Aliasing for C functions
which use and return Cactus data types.
You will need to rebuild your configurations once you update, but apart from that these changes
shouldn't affect anyone ... if you see any problems please let us know.
Gabrielle
git-svn-id: http://svn.cactuscode.org/flesh/trunk@2060 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
| |
help with PR 224.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1962 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
differently on some architectures (e.g. NT).
Removed fallback definition for GENERAL_LIBRARIES in make.configuration, and
added fallback definitions for LIBNAME_PREFIX and LIBNAME_SUFFIX so old
configurations should still work.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1872 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
if they don't exist it sets the make variables BUILD_REGEX and BUILD_GETOPT
to no, otherwise they are yes.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1659 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C_POSTPROCESSING
CXX_POSTPROCESSING
F77_POSTPROCESSING
F_POSTPROCESSING
F90_POSTPROCESSING
as things a known-architecture can set. This allows object files to be
moved and things like that.
Also added the ability of the architecture files to write to a file calles
make.arch.defn
which is included at the bottom of make.code.defn. Thus, for example,
an architecture requiring mpicc and its ilk for compiling with MPI
can replace the compilers at this point, but still allow the rest
of the configuration to use the normal compiler. Use with caution.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1438 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CXX_WORKING_NAME
this defaults to the working name being the filename without the directory
info, but can be used to give the file generated after preprocessing a
different name. E.g. if your machine requires C++ files to end with .C
you should be able to do
CXX_WORKING_NAME='$(notdir $<).C
to solve the problem.
At some point we're going to have to go through all these obscure flags
and decide on nice names and what functionality they really should have.
For instance the above could also have been done by introducing CXX_SUFFIX
which would of course be easier for the end-user, but might in some
circumstances be less useful.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1420 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
OPTIMISE=no
to switch off optimisation flags for quicker compiling. The known
architectures files can now contain
C_OPTIMISE_FLAGS
CXX_OPTIMISE_FLAGS
F77_OPTIMISE_FLAGS
F90_OPTIMISE_FLAGS
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1395 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DEBUG=yes
This was there before, but now the known-architecture files can contain
C_DEBUG_FLAGS
CXX_DEBUG_FLAGS
F77_DEBUG_FLAGS
F90_DEBUG_FLAGS
Also added compile-time option
WARNINGS=yes
which should switch on warning flags during compilation. The known-architecture
files specifies these flags via
C_WARN_FLAGS
CXX_WARN_FLAGS
F77_WARN_FLAGS
F90_WARN_FLAGS
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1390 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sets make variables
X_LIB_DIR
X_INC_DIR
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1377 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1288 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1206 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
| |
fixer.
Now thorns can be added and removed from the ThornList without a
major rebuild
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1139 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
| |
excessive recompilation when the thornlist is changed.
Tested under Linux.
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1134 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
| |
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@1073 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
| |
git-svn-id: http://svn.cactuscode.org/flesh/trunk@876 17b73243-c579-4c4c-a9d2-2d5706c11dac
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now the make stuff required for the final linking of libraries is
bundled up into
GENERAL_LIBRARIES
which defaults to
$(LIBDIRS:%=-L%) $(LIBS:%=-l%)
which should work on all unices.
For NT I have made it
$(LIBS)
and LIBDIRS has no use. NT stuff needs to specify the full path and name of
each library in the LIBS variable. Maybe one day we'll find a neater way !
Tom
git-svn-id: http://svn.cactuscode.org/flesh/trunk@874 17b73243-c579-4c4c-a9d2-2d5706c11dac
|