Commit Graph

40 Commits

Author SHA1 Message Date
Mark Olesen
d4a0dc631c CONFIG: relax requirement on C compile option
- with 1906, OpenFOAM is purely C++ code and the last toolchain bits C
  code have been avoided. Thus relax the wmake C rule for including
  WM_COMPILE_OPTION. This makes it much easier to add different
  compiler options with fewer files.

  For example, for Broadwell-specific options:

      cd wmake/rules/linux64Gcc
      cp c++Opt c++OptBdw

      edit this file and then use WM_COMPILE_OPTION=OptBdw

- ensure that WM_COMPILE_OPTION is always non-empty
2019-08-07 09:22:09 +02:00
Mark Olesen
787325a916 COMP: manage cpu architecture with cARCH, c++ARCH internal make variables
- allows better separation from compiler settings

- use -fPIC instead of legacy -KPIC for intel compiler
2019-04-12 12:59:11 +02:00
Mark Olesen
ef6c2ef590 CONFIG: combine wmake rules for KNL architecture as a compile option
- instead of

      WM_COMPILER=GccKNL WM_COMPILE_OPTION=Opt

      -> linux64GccKNLDPInt32Opt

  now specify

      WM_COMPILER=Gcc  WM_COMPILE_OPTION=OptKNL

      -> linux64GccDPInt32OptKNL

This makes it easier (and more obvious) for adding different tweaks
without needing to generate too many files.
Eg,

    cd wmake/rules/linux64Gcc

    cp cOpt   cOptBdw
    cp c++Opt c++OptBdw

    edit these two files and then use WM_COMPILE_OPTION=OptBdw

CONFIG: provide some default c/c++ flags in General compiler rules

- can make is easier when deriving new compile options, and ensures
  that '-02' is enabled as an initial default.
2019-01-25 17:39:05 +01:00
Mark Olesen
2db4b0867e CONFIG: consolidate C++ flags per compiler type
- easier to ensure that flags are consistent
2018-03-21 11:50:57 +01:00
Mark Olesen
451f8e0357 Merge remote-tracking branch 'origin/master' into develop 2018-03-07 18:08:07 +01:00
Mark Olesen
7f7f9336c8 COMP: add -fpermissive to c++LESSWARN flags (closes #744)
- downgrades some diagnostics about nonconformant code from errors to
  warnings. Oddly enough, the errors actually arise from STL library
  elements shipped with gcc itself. Affects kahip compilation with
  gcc-6, gcc-7
2018-02-28 14:31:48 +01:00
Mark Olesen
1b9aec2a3d CONP: suppress register warnings for clang only 2018-01-30 06:49:32 +01:00
Mark Olesen
995c55b60e CONFIG: add clang third-party lib to LD_LIBRARY_PATH
- required if there is no system openmp and libomp or libgomp are
  only found in the clang hierarchy

STYLE: add some notes in the openmp rules.

- the _OPENMP macro is now used in low-level testing files
2017-12-19 16:07:15 +01:00
Mark Olesen
405cf8129a CONFIG: update some wmake rules
- initial settings for ADIOS2, linuxARM64Gcc, linuxARM64Clang
2017-12-07 15:41:58 +00:00
Mark Olesen
e1167d9592 ENH: provide openmp compile and link flags.
- the USE_OMP preprocessor symbol is also defined with the openmp
  compile flag to allow conditional compilation of openmp-specific
  code.
2017-10-23 09:38:43 +02:00
Mark Olesen
a531168ae4 COMP: reinstate rules for various C++ suffixes (issue #607) 2017-09-29 18:07:42 +02:00
Henry Weller
0fdcb12759 Updated to avoid warnings from gcc-7.1.1 2017-07-31 13:46:42 +01:00
Henry Weller
7996a9138f C++11: Update compilation rules to specify C++11 support and conformance
The change from C++0x to C++11 allows all of C++11 functionality to be
used in OpenFOAM, in particular constructor delegation which avoids code
duplication or constructor helper functions.  However, this also means a
change to the minimum gcc version supported which is now 4.7 rather than
4.5.

Note that gcc-4.7 does not support the entire C++11 standard but does
support all of the functionality currently needed for further OpenFOAM
development.  The minimum gcc-version which supports the entire C++11
standard is 4.8 which is now the recommended minimum gcc version.
2016-08-05 16:28:19 +01:00
Henry Weller
c3a03105c4 wmake: Add support for compiler type default rules
which may be optionally overridden by version-specific rules.

For example the default rules for gcc on GNU/Linux x86_64 are in the
wmake/rules/linux64Gcc directory.  If there is a need to change any of
the rules for a specific version of gcc, e.g. gcc-4.8.4 the directory
wmake/rules/linux64Gcc48 may be created into which any of the language
files may be provided containing the rules to override the defaults.
2016-01-24 14:10:07 +00:00
Henry Weller
acb9ec8b46 wmake/rules: Add -std=c++0x to formally enable support for of C++11 features
The c++0x is used rather than c++11 to support gcc-4.5.?
2016-01-10 19:17:31 +00:00
Henry Weller
91e04d69c1 Resolve various unimportant warning messages from Gcc, Clang and Icpc 2015-07-19 11:31:49 +01:00
Henry Weller
7b605ce50e Updated warning suppression for CGAL 2015-07-17 23:10:10 +01:00
Henry Weller
6dc3a889df Suppress compiler warnings from CGAL 2015-07-17 21:38:25 +01:00
Henry Weller
94401af010 Resolved issues with virtual function inheritance and warning from clang
Also removed __GNUC__ conditional compilation statements which are no
longer needed.
2015-07-17 12:11:37 +01:00
Henry
844b283030 New version of wmake supporting out-of-tree object and dependency files 2014-12-14 21:42:18 +00:00
Mark Olesen
4d418eccf7 COMP: remove linking against lib iberty, now using add2line 2011-03-07 13:35:59 +01:00
graham
98f97e7852 COMP: CGAL 3.7 now used. Template depth required to increased > 75, made 100. 2011-01-07 14:24:17 +00:00
Mark Olesen
350df4db3f STYLE: remove trailing space from wmake rules
- To-do:
      wmake/rules/General/bison
      wmake/rules/General/btyacc
      wmake/rules/General/btyacc++
      wmake/rules/General/byacc
      wmake/rules/General/moc
      wmake/rules/General/yacc

  but these files have <TAB>
2010-11-17 11:22:31 +01:00
mattijs
f113dad6b9 COMP: Fedore13 has linkage with --no-add-needed as default. This disallows indirectly loaded libraries. 2010-08-31 16:27:15 +01:00
mattijs
69526c6c1c BUG: various reinterpret_cast to enable strict-aliasing 2010-08-19 15:44:17 +01:00
graham
7faf359bc1 COMP: adding -traditional-cpp to CPP variable. 2010-07-21 10:58:53 +01:00
Mark Olesen
0d44584112 ENH: rationalize wmake rules to avoid unnecessary duplication
- main mplib rules located in GENERAL_RULES with specializations
  (if any) under RULES. Modest change in a few options files, but
  cleans up the rules directories.

  previously in options:
      include $(RULES)/mplib$(WM_MPLIB)

  now in options:
      sinclude $(GENERAL_RULES)/mplib$(WM_MPLIB)
      sinclude $(RULES)/mplib$(WM_MPLIB)

  For GNU make it would be permissible to write both in a single line.
2010-04-22 15:01:07 +02:00
Mark Olesen
0686bdf1e9 ENH: simplify cpp rules to avoid absolute paths and multiple GFLAGS.
- otherwise /lib/cpp may need a different library binding than
  currently available and results in this type of error:

  /usr/lib64/gcc/x86_64-suse-linux/4.4/cc1:
  /data/app/OpenFOAM/ThirdParty-1.6.x/platforms/linux64/gcc-4.3.3/lib64/libstdc++.so.6:
  version `GLIBCXX_3.4.11' not found (required by
  /usr/lib64/libppl_c.so.2)

ENH: remove unused flex++ rule for SiCortex that was identical to the
general one anyhow.
2010-03-29 10:59:35 +02:00
Mark Olesen
0b9e5ea11a ENH: link to general mplib* rules where possible.
ENH: generalize rule for X11

ENH: Avoid move in flex/flex++ rule.
2010-03-26 11:48:23 +01:00
mattijs
85a481906a ENH: Added new WM_MPLIB setting.
This signals that we are using the system installed openmpi version.
2010-03-01 15:14:03 +00:00
mattijs
192f8ae542 Changed tecio build options to use local file 2009-12-14 11:20:22 +00:00
mattijs
db34f04131 added tecio compilation rules to wmake 2009-12-08 11:40:00 +00:00
mattijs
9c1d1dc7b9 skip c++ include for mpi.h 2009-10-06 14:43:42 +01:00
andy
6c13d978cf extending template max depth to 60 2009-09-17 11:52:09 +01:00
Mark Olesen
0e5e84f4ed removed last remnants of LAM support 2009-07-15 12:26:12 +02:00
mattijs
b773710d06 remove opteron and no-gcse switch
modified:   SiCortex64Gcc/cOpt
	modified:   SunOS64Gcc/cOpt
	modified:   linux64Gcc/c++Opt
	modified:   linux64Gcc/cOpt
	modified:   linux64Gcc/general
	modified:   linux64Gcc42/c++Opt
	modified:   linux64Gcc42/cOpt
	modified:   linuxGcc/c++
	modified:   linuxGcc/cDebug
	modified:   linuxGcc/general
	modified:   linuxIA64Gcc/cOpt
2009-04-28 22:20:12 +01:00
henry
16e9f10e22 Added support for HP-MPI. 2008-11-19 14:57:06 +00:00
Mark Olesen
0d3eec3dc4 removed more derived files from repo 2008-07-01 13:09:04 +02:00
Mark Olesen
14fefb0554 Use uniform MPI_ARCH_PATH instead of {OPENMPI,LAM,..}_ARCH_PATH 2008-06-05 10:53:44 +02:00
OpenFOAM-admin
3170c7c0c9 Creation of OpenFOAM-dev repository 15/04/2008 2008-04-15 18:56:58 +01:00