From 1848db8e20a977c16e6f87f62348fca402af87df Mon Sep 17 00:00:00 2001 From: Jan Kessler Date: Thu, 12 Jul 2018 21:02:43 +0200 Subject: [PATCH] Added again a config_template.sh that can by copied, edited and sourced for custom path / flags configuration. --- .gitignore | 4 +--- README.md | 14 ++++++++++---- configure.ac | 3 +-- doc/Makefile.am | 1 - doc/user_manual.pdf | Bin 519397 -> 519290 bytes include/Makefile.am | 3 ++- include/ffnn | 1 + script/config_template.sh | 26 ++++++++++++++++++++++++++ 8 files changed, 41 insertions(+), 11 deletions(-) delete mode 100644 doc/Makefile.am create mode 120000 include/ffnn create mode 100755 script/config_template.sh diff --git a/.gitignore b/.gitignore index a0875e6..c08bd91 100644 --- a/.gitignore +++ b/.gitignore @@ -113,9 +113,9 @@ m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 m4/lt~obsolete.m4 -!ax_cxx_compile_stdcxx_11.m4 # -- project specific ignores -- +config.sh exe exe.prof* vgcore* @@ -131,12 +131,10 @@ vgcore* *.trs test/*.txt -test/ut*/run_single_unittest.sh test/ut*/*.txt benchmark/*/benchmark_*.out -examples/*/a.out examples/*/*.txt examples/*/*/*.txt diff --git a/README.md b/README.md index 4af9997..e9103d0 100644 --- a/README.md +++ b/README.md @@ -24,10 +24,18 @@ However, in principle any system with C++11 supporting compiler should work, at # Build the library -Make sure you have a reasonably recent development version (>=2.3?) of the GSL library installed on your system. Furthermore, we rely on the Autotools build system and libtool. +Make sure you have a reasonably recent development version (>=2.3?) of the GSL library on your system. Furthermore, we rely on the Autotools build system and libtool. Optionally, if you have valgrind installed on your system, it will be used to check for memory errors when running unittests. -If you have the prerequisites on your system, you have to setup the build environment by using the following script in the top level directory: +If you have the GSL librariy in non-standard paths or want to use custom compiler flags, copy a little script: + + `cp script/config_template.sh config.sh` + +Now edit `config.sh` to your needs and before proceeding run: + + `source config.sh` + +If you have the prerequisites, you may setup the build environment by using the following script in the top level directory: `./autogen.sh` @@ -35,8 +43,6 @@ Now you want to configure the build process for your platform by invoking: `./configure` -If you run into trouble here, `./configure --help` could be a start. - Finally, you are ready to compile all the code files in our repository together, by: `make` or `make -jN` diff --git a/configure.ac b/configure.ac index fb935f4..9d8e1aa 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([NNVMC-FFNN], [0.1], [ithanil@mail.uni-paderborn.de]) +AC_INIT([FFNN], [0.1], [ithanil@mail.uni-paderborn.de]) : ${CXXFLAGS=""} # delete default optimization user flags AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIRS([m4]) @@ -142,7 +142,6 @@ examples/ex2/Makefile examples/Makefile examples/ex8/Makefile examples/ex3/Makefile -doc/Makefile Makefile benchmark/bench_actfs_derivs/Makefile benchmark/Makefile diff --git a/doc/Makefile.am b/doc/Makefile.am deleted file mode 100644 index 70598c5..0000000 --- a/doc/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = doxygen diff --git a/doc/user_manual.pdf b/doc/user_manual.pdf index e944cd748ae77cd2000d80d461435680ad008ff0..f3eb6e3a2b4efb6bf8bcd32cfc28feb82324d3c6 100644 GIT binary patch delta 30157 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 diff --git a/include/Makefile.am b/include/Makefile.am index 55d5a0d..a7382c5 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,4 +1,5 @@ include-links: rm -f *.hpp - ln -sf ../src/*/*.hpp ./ + ln -s ../src/*/*.hpp ./ + ln -sf ./ ffnn .PHONY: include-links diff --git a/include/ffnn b/include/ffnn new file mode 120000 index 0000000..6a04314 --- /dev/null +++ b/include/ffnn @@ -0,0 +1 @@ +./ \ No newline at end of file diff --git a/script/config_template.sh b/script/config_template.sh new file mode 100755 index 0000000..643e8cb --- /dev/null +++ b/script/config_template.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# Config script for custom library and header paths or C++ compiler choice +# +# If you want to edit this template script/config_template.sh, +# copy it over to something like config.sh and edit the gitignored copy. +# + +# C++ compiler +export CXX="g++" + +# C++ flags +export CXXFLAGS="" + +# GSL Library +GSL_L="-L/usr/local/lib" +GSL_I="-I/usr/local/include" + + +# ! DO NOT EDIT THE FOLLOWING ! + +# linker flags +export LDFLAGS="${GSL_L}" + +# pre-processor flags +export CPPFLAGS="${GSL_I}"