From 7dee8058e1ea7d3230d392b435b571f333e5317d Mon Sep 17 00:00:00 2001 From: Mark Olesen <Mark.Olesen@Germany> Date: Wed, 30 Mar 2011 09:22:01 +0200 Subject: [PATCH] ENH: add Gcc46 rules --- etc/bashrc | 2 +- etc/cshrc | 2 +- etc/settings.csh | 7 +++++++ etc/settings.sh | 6 ++++++ wmake/rules/linux64Gcc46/c | 16 ++++++++++++++++ wmake/rules/linux64Gcc46/c++ | 21 +++++++++++++++++++++ wmake/rules/linux64Gcc46/c++Debug | 2 ++ wmake/rules/linux64Gcc46/c++Opt | 4 ++++ wmake/rules/linux64Gcc46/c++Prof | 2 ++ wmake/rules/linux64Gcc46/cDebug | 2 ++ wmake/rules/linux64Gcc46/cOpt | 2 ++ wmake/rules/linux64Gcc46/cProf | 2 ++ wmake/rules/linux64Gcc46/general | 8 ++++++++ wmake/rules/linux64Gcc46/mplibHPMPI | 3 +++ wmake/rules/linuxGcc46/c | 16 ++++++++++++++++ wmake/rules/linuxGcc46/c++ | 21 +++++++++++++++++++++ wmake/rules/linuxGcc46/c++Debug | 2 ++ wmake/rules/linuxGcc46/c++Opt | 2 ++ wmake/rules/linuxGcc46/c++Prof | 2 ++ wmake/rules/linuxGcc46/cDebug | 2 ++ wmake/rules/linuxGcc46/cOpt | 2 ++ wmake/rules/linuxGcc46/cProf | 2 ++ wmake/rules/linuxGcc46/general | 9 +++++++++ wmake/rules/linuxGcc46/mplibHPMPI | 3 +++ 24 files changed, 138 insertions(+), 2 deletions(-) create mode 100644 wmake/rules/linux64Gcc46/c create mode 100644 wmake/rules/linux64Gcc46/c++ create mode 100644 wmake/rules/linux64Gcc46/c++Debug create mode 100644 wmake/rules/linux64Gcc46/c++Opt create mode 100644 wmake/rules/linux64Gcc46/c++Prof create mode 100644 wmake/rules/linux64Gcc46/cDebug create mode 100644 wmake/rules/linux64Gcc46/cOpt create mode 100644 wmake/rules/linux64Gcc46/cProf create mode 100644 wmake/rules/linux64Gcc46/general create mode 100644 wmake/rules/linux64Gcc46/mplibHPMPI create mode 100644 wmake/rules/linuxGcc46/c create mode 100644 wmake/rules/linuxGcc46/c++ create mode 100644 wmake/rules/linuxGcc46/c++Debug create mode 100644 wmake/rules/linuxGcc46/c++Opt create mode 100644 wmake/rules/linuxGcc46/c++Prof create mode 100644 wmake/rules/linuxGcc46/cDebug create mode 100644 wmake/rules/linuxGcc46/cOpt create mode 100644 wmake/rules/linuxGcc46/cProf create mode 100644 wmake/rules/linuxGcc46/general create mode 100644 wmake/rules/linuxGcc46/mplibHPMPI diff --git a/etc/bashrc b/etc/bashrc index f5a29a3d895..2de27d05134 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -62,7 +62,7 @@ foamInstall=$HOME/$WM_PROJECT foamCompiler=system #- Compiler: -# WM_COMPILER = Gcc | Gcc43 | Gcc44 | Gcc45 | Clang | Icc (Intel icc) +# WM_COMPILER = Gcc | Gcc43 | Gcc44 | Gcc45 | Gcc46 | Clang | Icc (Intel icc) export WM_COMPILER=Gcc unset WM_COMPILER_ARCH WM_COMPILER_LIB_ARCH diff --git a/etc/cshrc b/etc/cshrc index b932679ad06..a23a607fff1 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -61,7 +61,7 @@ if ( ! $?FOAM_INST_DIR ) setenv FOAM_INST_DIR $foamInstall set foamCompiler=system #- Compiler: -# WM_COMPILER = Gcc | Gcc43 | Gcc44 | Gcc45 | Clang | Icc (Intel icc) +# WM_COMPILER = Gcc | Gcc43 | Gcc44 | Gcc45 | Gcc46 | Clang | Icc (Intel icc) setenv WM_COMPILER Gcc setenv WM_COMPILER_ARCH # defined but empty unsetenv WM_COMPILER_LIB_ARCH diff --git a/etc/settings.csh b/etc/settings.csh index 4e5677e3d9a..5e4c849926c 100644 --- a/etc/settings.csh +++ b/etc/settings.csh @@ -207,6 +207,13 @@ case ThirdParty: set gmp_version=gmp-5.0.1 set mpfr_version=mpfr-2.4.2 breaksw + case Gcc46: + case Gcc46++0x: + set gcc_version=gcc-4.6.0 + set gmp_version=gmp-5.0.1 + set mpfr_version=mpfr-2.4.2 + set mpc_version=mpc-0.8.1 + breaksw case Gcc45: case Gcc45++0x: set gcc_version=gcc-4.5.2 diff --git a/etc/settings.sh b/etc/settings.sh index d7fcf2e254c..f9f83e42a42 100644 --- a/etc/settings.sh +++ b/etc/settings.sh @@ -227,6 +227,12 @@ OpenFOAM | ThirdParty) gmp_version=gmp-5.0.1 mpfr_version=mpfr-2.4.2 ;; + Gcc46 | Gcc46++0x) + gcc_version=gcc-4.6.0 + gmp_version=gmp-5.0.1 + mpfr_version=mpfr-2.4.2 + mpc_version=mpc-0.8.1 + ;; Gcc45 | Gcc45++0x) gcc_version=gcc-4.5.2 gmp_version=gmp-5.0.1 diff --git a/wmake/rules/linux64Gcc46/c b/wmake/rules/linux64Gcc46/c new file mode 100644 index 00000000000..f4114be3143 --- /dev/null +++ b/wmake/rules/linux64Gcc46/c @@ -0,0 +1,16 @@ +.SUFFIXES: .c .h + +cWARN = -Wall + +cc = gcc -m64 + +include $(RULES)/c$(WM_COMPILE_OPTION) + +cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC + +ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $$SOURCE -o $@ + +LINK_LIBS = $(cDBUG) + +LINKLIBSO = $(cc) -shared +LINKEXE = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs diff --git a/wmake/rules/linux64Gcc46/c++ b/wmake/rules/linux64Gcc46/c++ new file mode 100644 index 00000000000..3ca193e296d --- /dev/null +++ b/wmake/rules/linux64Gcc46/c++ @@ -0,0 +1,21 @@ +.SUFFIXES: .C .cxx .cc .cpp + +c++WARN = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast + +CC = g++ -m64 + +include $(RULES)/c++$(WM_COMPILE_OPTION) + +ptFLAGS = -DNoRepository -ftemplate-depth-100 + +c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC + +Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $$SOURCE -o $@ +cxxtoo = $(Ctoo) +cctoo = $(Ctoo) +cpptoo = $(Ctoo) + +LINK_LIBS = $(c++DBUG) + +LINKLIBSO = $(CC) $(c++FLAGS) -shared +LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed diff --git a/wmake/rules/linux64Gcc46/c++Debug b/wmake/rules/linux64Gcc46/c++Debug new file mode 100644 index 00000000000..19bdb9c3346 --- /dev/null +++ b/wmake/rules/linux64Gcc46/c++Debug @@ -0,0 +1,2 @@ +c++DBUG = -ggdb3 -DFULLDEBUG +c++OPT = -O0 -fdefault-inline diff --git a/wmake/rules/linux64Gcc46/c++Opt b/wmake/rules/linux64Gcc46/c++Opt new file mode 100644 index 00000000000..3446f7f58cb --- /dev/null +++ b/wmake/rules/linux64Gcc46/c++Opt @@ -0,0 +1,4 @@ +c++DBUG = +c++OPT = -O3 +#c++OPT = -march=nocona -O3 +# -ftree-vectorize -ftree-vectorizer-verbose=3 diff --git a/wmake/rules/linux64Gcc46/c++Prof b/wmake/rules/linux64Gcc46/c++Prof new file mode 100644 index 00000000000..3bda4dad55e --- /dev/null +++ b/wmake/rules/linux64Gcc46/c++Prof @@ -0,0 +1,2 @@ +c++DBUG = -pg +c++OPT = -O2 diff --git a/wmake/rules/linux64Gcc46/cDebug b/wmake/rules/linux64Gcc46/cDebug new file mode 100644 index 00000000000..72b638f4582 --- /dev/null +++ b/wmake/rules/linux64Gcc46/cDebug @@ -0,0 +1,2 @@ +cDBUG = -ggdb -DFULLDEBUG +cOPT = -O1 -fdefault-inline -finline-functions diff --git a/wmake/rules/linux64Gcc46/cOpt b/wmake/rules/linux64Gcc46/cOpt new file mode 100644 index 00000000000..17318709f1f --- /dev/null +++ b/wmake/rules/linux64Gcc46/cOpt @@ -0,0 +1,2 @@ +cDBUG = +cOPT = -O3 diff --git a/wmake/rules/linux64Gcc46/cProf b/wmake/rules/linux64Gcc46/cProf new file mode 100644 index 00000000000..ca3ac9bf5f0 --- /dev/null +++ b/wmake/rules/linux64Gcc46/cProf @@ -0,0 +1,2 @@ +cDBUG = -pg +cOPT = -O2 diff --git a/wmake/rules/linux64Gcc46/general b/wmake/rules/linux64Gcc46/general new file mode 100644 index 00000000000..4a42b11b1ee --- /dev/null +++ b/wmake/rules/linux64Gcc46/general @@ -0,0 +1,8 @@ +CPP = cpp -traditional-cpp + +PROJECT_LIBS = -l$(WM_PROJECT) -ldl + +include $(GENERAL_RULES)/standard + +include $(RULES)/c +include $(RULES)/c++ diff --git a/wmake/rules/linux64Gcc46/mplibHPMPI b/wmake/rules/linux64Gcc46/mplibHPMPI new file mode 100644 index 00000000000..574492a236a --- /dev/null +++ b/wmake/rules/linux64Gcc46/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_amd64 -lmpi diff --git a/wmake/rules/linuxGcc46/c b/wmake/rules/linuxGcc46/c new file mode 100644 index 00000000000..d914fcd37d0 --- /dev/null +++ b/wmake/rules/linuxGcc46/c @@ -0,0 +1,16 @@ +.SUFFIXES: .c .h + +cWARN = -Wall + +cc = gcc -m32 + +include $(RULES)/c$(WM_COMPILE_OPTION) + +cFLAGS = $(GFLAGS) $(cWARN) $(cOPT) $(cDBUG) $(LIB_HEADER_DIRS) -fPIC + +ctoo = $(WM_SCHEDULER) $(cc) $(cFLAGS) -c $$SOURCE -o $@ + +LINK_LIBS = $(cDBUG) + +LINKLIBSO = $(cc) -shared +LINKEXE = $(cc) -Xlinker --add-needed -Xlinker -z -Xlinker nodefs diff --git a/wmake/rules/linuxGcc46/c++ b/wmake/rules/linuxGcc46/c++ new file mode 100644 index 00000000000..e862181fc5c --- /dev/null +++ b/wmake/rules/linuxGcc46/c++ @@ -0,0 +1,21 @@ +.SUFFIXES: .C .cxx .cc .cpp + +c++WARN = -Wall -Wextra -Wno-unused-parameter -Wold-style-cast + +CC = g++ -m32 + +include $(RULES)/c++$(WM_COMPILE_OPTION) + +ptFLAGS = -DNoRepository -ftemplate-depth-100 + +c++FLAGS = $(GFLAGS) $(c++WARN) $(c++OPT) $(c++DBUG) $(ptFLAGS) $(LIB_HEADER_DIRS) -fPIC + +Ctoo = $(WM_SCHEDULER) $(CC) $(c++FLAGS) -c $$SOURCE -o $@ +cxxtoo = $(Ctoo) +cctoo = $(Ctoo) +cpptoo = $(Ctoo) + +LINK_LIBS = $(c++DBUG) + +LINKLIBSO = $(CC) $(c++FLAGS) -shared +LINKEXE = $(CC) $(c++FLAGS) -Xlinker --add-needed diff --git a/wmake/rules/linuxGcc46/c++Debug b/wmake/rules/linuxGcc46/c++Debug new file mode 100644 index 00000000000..19bdb9c3346 --- /dev/null +++ b/wmake/rules/linuxGcc46/c++Debug @@ -0,0 +1,2 @@ +c++DBUG = -ggdb3 -DFULLDEBUG +c++OPT = -O0 -fdefault-inline diff --git a/wmake/rules/linuxGcc46/c++Opt b/wmake/rules/linuxGcc46/c++Opt new file mode 100644 index 00000000000..2aedabd6280 --- /dev/null +++ b/wmake/rules/linuxGcc46/c++Opt @@ -0,0 +1,2 @@ +c++DBUG = +c++OPT = -O3 diff --git a/wmake/rules/linuxGcc46/c++Prof b/wmake/rules/linuxGcc46/c++Prof new file mode 100644 index 00000000000..3bda4dad55e --- /dev/null +++ b/wmake/rules/linuxGcc46/c++Prof @@ -0,0 +1,2 @@ +c++DBUG = -pg +c++OPT = -O2 diff --git a/wmake/rules/linuxGcc46/cDebug b/wmake/rules/linuxGcc46/cDebug new file mode 100644 index 00000000000..72b638f4582 --- /dev/null +++ b/wmake/rules/linuxGcc46/cDebug @@ -0,0 +1,2 @@ +cDBUG = -ggdb -DFULLDEBUG +cOPT = -O1 -fdefault-inline -finline-functions diff --git a/wmake/rules/linuxGcc46/cOpt b/wmake/rules/linuxGcc46/cOpt new file mode 100644 index 00000000000..17318709f1f --- /dev/null +++ b/wmake/rules/linuxGcc46/cOpt @@ -0,0 +1,2 @@ +cDBUG = +cOPT = -O3 diff --git a/wmake/rules/linuxGcc46/cProf b/wmake/rules/linuxGcc46/cProf new file mode 100644 index 00000000000..ca3ac9bf5f0 --- /dev/null +++ b/wmake/rules/linuxGcc46/cProf @@ -0,0 +1,2 @@ +cDBUG = -pg +cOPT = -O2 diff --git a/wmake/rules/linuxGcc46/general b/wmake/rules/linuxGcc46/general new file mode 100644 index 00000000000..4b051e6b984 --- /dev/null +++ b/wmake/rules/linuxGcc46/general @@ -0,0 +1,9 @@ +CPP = cpp -traditional-cpp +LD = ld -melf_i386 + +PROJECT_LIBS = -l$(WM_PROJECT) -ldl + +include $(GENERAL_RULES)/standard + +include $(RULES)/c +include $(RULES)/c++ diff --git a/wmake/rules/linuxGcc46/mplibHPMPI b/wmake/rules/linuxGcc46/mplibHPMPI new file mode 100644 index 00000000000..8aff40632bd --- /dev/null +++ b/wmake/rules/linuxGcc46/mplibHPMPI @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include -D_MPICC_H +PLIBS = -L$(MPI_ARCH_PATH)/lib/linux_ia32 -lmpi -- GitLab