Commit 5819f56f authored by Matthieu Schaller's avatar Matthieu Schaller
Browse files

Added the configuration command line and CFLGAS/CXXFLAGS to the snapshots and greeting message.

parent 2474a3c2
...@@ -16,7 +16,9 @@ ...@@ -16,7 +16,9 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# Init the project. # Init the project.
AC_INIT([SWIFT],[0.4.0]) AC_INIT([SWIFT],[0.4.0],[https://gitlab.cosma.dur.ac.uk/swift/swiftsim],,[www.swiftsim.com])
swift_config_flags="$*"
AC_COPYRIGHT
AC_CONFIG_SRCDIR([src/space.c]) AC_CONFIG_SRCDIR([src/space.c])
AC_CONFIG_AUX_DIR([.]) AC_CONFIG_AUX_DIR([.])
AM_INIT_AUTOMAKE AM_INIT_AUTOMAKE
...@@ -531,6 +533,9 @@ AC_CONFIG_FILES([tests/test27cellsPerturbed.sh], [chmod +x tests/test27cellsPert ...@@ -531,6 +533,9 @@ AC_CONFIG_FILES([tests/test27cellsPerturbed.sh], [chmod +x tests/test27cellsPert
AC_CONFIG_FILES([tests/test125cells.sh], [chmod +x tests/test125cells.sh]) AC_CONFIG_FILES([tests/test125cells.sh], [chmod +x tests/test125cells.sh])
AC_CONFIG_FILES([tests/testParser.sh], [chmod +x tests/testParser.sh]) AC_CONFIG_FILES([tests/testParser.sh], [chmod +x tests/testParser.sh])
# Save the compilation options
AC_DEFINE_UNQUOTED([SWIFT_CONFIG_FLAGS],["$swift_config_flags"],[Flags passed to configure])
# Report general configuration. # Report general configuration.
AC_MSG_RESULT([ AC_MSG_RESULT([
Compiler : $CC Compiler : $CC
......
...@@ -108,12 +108,16 @@ version_string.h: version_string.h.in $(AM_SOURCES) $(include_HEADERS) $(noinst_ ...@@ -108,12 +108,16 @@ version_string.h: version_string.h.in $(AM_SOURCES) $(include_HEADERS) $(noinst_
GIT_BRANCH=`$(GIT_CMD) branch | sed -n 's/^\* \(.*\)/\1/p'`; \ GIT_BRANCH=`$(GIT_CMD) branch | sed -n 's/^\* \(.*\)/\1/p'`; \
sed -e "s,@PACKAGE_VERSION\@,$(PACKAGE_VERSION)," \ sed -e "s,@PACKAGE_VERSION\@,$(PACKAGE_VERSION)," \
-e "s,@GIT_REVISION\@,$${GIT_REVISION}," \ -e "s,@GIT_REVISION\@,$${GIT_REVISION}," \
-e "s|@GIT_BRANCH\@|$${GIT_BRANCH}|" $< > version_string.h; \ -e "s|@GIT_BRANCH\@|$${GIT_BRANCH}|" \
-e "s|@SWIFT_CFLAGS\@|$(CFLAGS)|" \
-e "s|@SWIFT_CXXFLAGS\@|$(CXXFLAGS)|" $< > version_string.h; \
else \ else \
if test ! -f version_string.h; then \ if test ! -f version_string.h; then \
sed -e "s,@PACKAGE_VERSION\@,$(PACKAGE_VERSION)," \ sed -e "s,@PACKAGE_VERSION\@,$(PACKAGE_VERSION)," \
-e "s,@GIT_REVISION\@,unknown," \ -e "s,@GIT_REVISION\@,unknown," \
-e "s,@GIT_BRANCH\@,unknown," $< > version_string.h; \ -e "s,@GIT_BRANCH\@,unknown," \
-e "s|@SWIFT_CFLAGS\@|$(CFLAGS)|" \
-e "s|@SWIFT_CXXFLAGS\@|$(CXXFLAGS)|" $< > version_string.h; \
fi; \ fi; \
fi fi
......
...@@ -374,6 +374,9 @@ void writeCodeDescription(hid_t h_file) { ...@@ -374,6 +374,9 @@ void writeCodeDescription(hid_t h_file) {
writeAttribute_s(h_grpcode, "Compiler Version", compiler_version()); writeAttribute_s(h_grpcode, "Compiler Version", compiler_version());
writeAttribute_s(h_grpcode, "Git Branch", git_branch()); writeAttribute_s(h_grpcode, "Git Branch", git_branch());
writeAttribute_s(h_grpcode, "Git Revision", git_revision()); writeAttribute_s(h_grpcode, "Git Revision", git_revision());
writeAttribute_s(h_grpcode, "Configuration options", configuration_options());
writeAttribute_s(h_grpcode, "CFLAGS", compilation_cflags());
writeAttribute_s(h_grpcode, "CXXFLAGS", compilation_cxxflags());
writeAttribute_s(h_grpcode, "HDF5 library version", hdf5_version()); writeAttribute_s(h_grpcode, "HDF5 library version", hdf5_version());
#ifdef HAVE_FFTW #ifdef HAVE_FFTW
writeAttribute_s(h_grpcode, "FFTW library version", fftw3_version()); writeAttribute_s(h_grpcode, "FFTW library version", fftw3_version());
......
...@@ -39,10 +39,12 @@ ...@@ -39,10 +39,12 @@
/* Some standard headers. */ /* Some standard headers. */
#include <stdio.h> #include <stdio.h>
#include <stdlib.h>
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
/* This object's header. */ /* This object's header. */
#include "error.h"
#include "version.h" #include "version.h"
/* Local headers. */ /* Local headers. */
...@@ -109,6 +111,63 @@ const char *git_branch(void) { ...@@ -109,6 +111,63 @@ const char *git_branch(void) {
return buf; return buf;
} }
/**
* @brief Return the options passed to the 'configure' script
*
* @result List of configuration options within simple quotes (').
*/
const char *configuration_options(void) {
static char buf[1024];
static int initialised = 0;
static const char *config = SWIFT_CONFIG_FLAGS;
if (!initialised) {
if (strlen(config) < 1024 - 2)
sprintf(buf, "'%s'", config);
else
error("SWIFT_CONFIG_FLAGS string longer than buffer");
initialised = 1;
}
return buf;
}
/**
* @brief Return the CFLAGS the code was compiled with
*
* @result List of CFLAGS within simple quotes (').
*/
const char *compilation_cflags(void) {
static char buf[1024];
static int initialised = 0;
static const char *cflags = SWIFT_CFLAGS;
if (!initialised) {
if (strlen(cflags) < 1024 - 2)
sprintf(buf, "'%s'", cflags);
else
error("SWIFT_CFLAGS string longer than buffer");
initialised = 1;
}
return buf;
}
/**
* @brief Return the CPPFLAGS the code was compiled with
*
* @result List of CPPFLAGS within simple quotes (')
*/
const char *compilation_cxxflags(void) {
static char buf[1024];
static int initialised = 0;
static const char *cppflags = SWIFT_CXXFLAGS;
if (!initialised) {
if (strlen(cppflags) < 1024 - 2)
sprintf(buf, "'%s'", cppflags);
else
error("SWIFT_CPPFLAGS string longer than buffer");
initialised = 1;
}
return buf;
}
/** /**
* @brief The version of SWIFT * @brief The version of SWIFT
* *
...@@ -293,8 +352,12 @@ void greetings(void) { ...@@ -293,8 +352,12 @@ void greetings(void) {
printf(" Version : %s\n", package_version()); printf(" Version : %s\n", package_version());
printf(" Revision: %s, Branch: %s\n", git_revision(), git_branch()); printf(" Revision: %s, Branch: %s\n", git_revision(), git_branch());
printf(" Webpage : www.swiftsim.com\n\n"); printf(" Webpage : %s\n\n", PACKAGE_URL);
printf(" Config. options: %s\n\n", configuration_options());
printf(" Compiler: %s, Version: %s\n", compiler_name(), compiler_version()); printf(" Compiler: %s, Version: %s\n", compiler_name(), compiler_version());
printf(" CFLAGS : %s\n", compilation_cflags());
printf(" CXXFLAGS: %s\n", compilation_cxxflags());
printf("\n");
#ifdef HAVE_HDF5 #ifdef HAVE_HDF5
printf(" HDF5 library version: %s\n", hdf5_version()); printf(" HDF5 library version: %s\n", hdf5_version());
#endif #endif
......
...@@ -25,6 +25,9 @@ const char* package_version(void); ...@@ -25,6 +25,9 @@ const char* package_version(void);
const char* hostname(void); const char* hostname(void);
const char* git_revision(void); const char* git_revision(void);
const char* git_branch(void); const char* git_branch(void);
const char* configuration_options(void);
const char* compilation_cflags(void);
const char* compilation_cxxflags(void);
const char* compiler_name(void); const char* compiler_name(void);
const char* compiler_version(void); const char* compiler_version(void);
const char* mpi_version(void); const char* mpi_version(void);
......
...@@ -28,5 +28,7 @@ ...@@ -28,5 +28,7 @@
#define PACKAGE_VERSION "@PACKAGE_VERSION@" #define PACKAGE_VERSION "@PACKAGE_VERSION@"
#define GIT_REVISION "@GIT_REVISION@" #define GIT_REVISION "@GIT_REVISION@"
#define GIT_BRANCH "@GIT_BRANCH@" #define GIT_BRANCH "@GIT_BRANCH@"
#define SWIFT_CFLAGS "@SWIFT_CFLAGS@"
#define SWIFT_CXXFLAGS "@SWIFT_CXXFLAGS@"
#endif /* SWIFT_VERSION_STRING_H */ #endif /* SWIFT_VERSION_STRING_H */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment