From 2caa044ad6adba8533a861c675acff340a42458a Mon Sep 17 00:00:00 2001
From: Henry <Henry>
Date: Mon, 6 May 2013 22:25:25 +0100
Subject: [PATCH] wmake: Added support for gcc-4.8.?

---
 wmake/rules/linux64Gcc48/c             | 16 ++++++++++++++++
 wmake/rules/linux64Gcc48/c++           | 21 +++++++++++++++++++++
 wmake/rules/linux64Gcc48/c++Debug      |  2 ++
 wmake/rules/linux64Gcc48/c++Opt        |  2 ++
 wmake/rules/linux64Gcc48/c++Prof       |  2 ++
 wmake/rules/linux64Gcc48/cDebug        |  2 ++
 wmake/rules/linux64Gcc48/cOpt          |  2 ++
 wmake/rules/linux64Gcc48/cProf         |  2 ++
 wmake/rules/linux64Gcc48/general       |  8 ++++++++
 wmake/rules/linux64Gcc48/mplibHPMPI    |  3 +++
 wmake/rules/linux64Gcc48/mplibINTELMPI |  3 +++
 wmake/rules/linuxGcc48/c               | 16 ++++++++++++++++
 wmake/rules/linuxGcc48/c++             | 21 +++++++++++++++++++++
 wmake/rules/linuxGcc48/c++Debug        |  2 ++
 wmake/rules/linuxGcc48/c++Opt          |  2 ++
 wmake/rules/linuxGcc48/c++Prof         |  2 ++
 wmake/rules/linuxGcc48/cDebug          |  2 ++
 wmake/rules/linuxGcc48/cOpt            |  2 ++
 wmake/rules/linuxGcc48/cProf           |  2 ++
 wmake/rules/linuxGcc48/general         |  9 +++++++++
 wmake/rules/linuxGcc48/mplibHPMPI      |  3 +++
 21 files changed, 124 insertions(+)
 create mode 100644 wmake/rules/linux64Gcc48/c
 create mode 100644 wmake/rules/linux64Gcc48/c++
 create mode 100644 wmake/rules/linux64Gcc48/c++Debug
 create mode 100644 wmake/rules/linux64Gcc48/c++Opt
 create mode 100644 wmake/rules/linux64Gcc48/c++Prof
 create mode 100644 wmake/rules/linux64Gcc48/cDebug
 create mode 100644 wmake/rules/linux64Gcc48/cOpt
 create mode 100644 wmake/rules/linux64Gcc48/cProf
 create mode 100644 wmake/rules/linux64Gcc48/general
 create mode 100644 wmake/rules/linux64Gcc48/mplibHPMPI
 create mode 100644 wmake/rules/linux64Gcc48/mplibINTELMPI
 create mode 100644 wmake/rules/linuxGcc48/c
 create mode 100644 wmake/rules/linuxGcc48/c++
 create mode 100644 wmake/rules/linuxGcc48/c++Debug
 create mode 100644 wmake/rules/linuxGcc48/c++Opt
 create mode 100644 wmake/rules/linuxGcc48/c++Prof
 create mode 100644 wmake/rules/linuxGcc48/cDebug
 create mode 100644 wmake/rules/linuxGcc48/cOpt
 create mode 100644 wmake/rules/linuxGcc48/cProf
 create mode 100644 wmake/rules/linuxGcc48/general
 create mode 100644 wmake/rules/linuxGcc48/mplibHPMPI

diff --git a/wmake/rules/linux64Gcc48/c b/wmake/rules/linux64Gcc48/c
new file mode 100644
index 00000000000..f4114be3143
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/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/linux64Gcc48/c++ b/wmake/rules/linux64Gcc48/c++
new file mode 100644
index 00000000000..98b25ed1fea
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/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 -Xlinker --add-needed -Xlinker --no-as-needed
+LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linux64Gcc48/c++Debug b/wmake/rules/linux64Gcc48/c++Debug
new file mode 100644
index 00000000000..19bdb9c3346
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/c++Debug
@@ -0,0 +1,2 @@
+c++DBUG    = -ggdb3 -DFULLDEBUG
+c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linux64Gcc48/c++Opt b/wmake/rules/linux64Gcc48/c++Opt
new file mode 100644
index 00000000000..2aedabd6280
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/c++Opt
@@ -0,0 +1,2 @@
+c++DBUG     =
+c++OPT      = -O3
diff --git a/wmake/rules/linux64Gcc48/c++Prof b/wmake/rules/linux64Gcc48/c++Prof
new file mode 100644
index 00000000000..3bda4dad55e
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/c++Prof
@@ -0,0 +1,2 @@
+c++DBUG    = -pg
+c++OPT     = -O2
diff --git a/wmake/rules/linux64Gcc48/cDebug b/wmake/rules/linux64Gcc48/cDebug
new file mode 100644
index 00000000000..72b638f4582
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/cDebug
@@ -0,0 +1,2 @@
+cDBUG       = -ggdb -DFULLDEBUG
+cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linux64Gcc48/cOpt b/wmake/rules/linux64Gcc48/cOpt
new file mode 100644
index 00000000000..17318709f1f
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/cOpt
@@ -0,0 +1,2 @@
+cDBUG       =
+cOPT        = -O3
diff --git a/wmake/rules/linux64Gcc48/cProf b/wmake/rules/linux64Gcc48/cProf
new file mode 100644
index 00000000000..ca3ac9bf5f0
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/cProf
@@ -0,0 +1,2 @@
+cDBUG       = -pg
+cOPT        = -O2
diff --git a/wmake/rules/linux64Gcc48/general b/wmake/rules/linux64Gcc48/general
new file mode 100644
index 00000000000..4a42b11b1ee
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/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/linux64Gcc48/mplibHPMPI b/wmake/rules/linux64Gcc48/mplibHPMPI
new file mode 100644
index 00000000000..574492a236a
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/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/linux64Gcc48/mplibINTELMPI b/wmake/rules/linux64Gcc48/mplibINTELMPI
new file mode 100644
index 00000000000..cf80ec2eaf6
--- /dev/null
+++ b/wmake/rules/linux64Gcc48/mplibINTELMPI
@@ -0,0 +1,3 @@
+PFLAGS     = -DMPICH_SKIP_MPICXX
+PINC       = -I$(MPI_ARCH_PATH)/include64
+PLIBS      = -L$(MPI_ARCH_PATH)/lib64 -lmpi
diff --git a/wmake/rules/linuxGcc48/c b/wmake/rules/linuxGcc48/c
new file mode 100644
index 00000000000..d914fcd37d0
--- /dev/null
+++ b/wmake/rules/linuxGcc48/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/linuxGcc48/c++ b/wmake/rules/linuxGcc48/c++
new file mode 100644
index 00000000000..357f4106e10
--- /dev/null
+++ b/wmake/rules/linuxGcc48/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 -Xlinker --add-needed -Xlinker --no-as-needed
+LINKEXE     = $(CC) $(c++FLAGS) -Xlinker --add-needed -Xlinker --no-as-needed
diff --git a/wmake/rules/linuxGcc48/c++Debug b/wmake/rules/linuxGcc48/c++Debug
new file mode 100644
index 00000000000..19bdb9c3346
--- /dev/null
+++ b/wmake/rules/linuxGcc48/c++Debug
@@ -0,0 +1,2 @@
+c++DBUG    = -ggdb3 -DFULLDEBUG
+c++OPT      = -O0 -fdefault-inline
diff --git a/wmake/rules/linuxGcc48/c++Opt b/wmake/rules/linuxGcc48/c++Opt
new file mode 100644
index 00000000000..2aedabd6280
--- /dev/null
+++ b/wmake/rules/linuxGcc48/c++Opt
@@ -0,0 +1,2 @@
+c++DBUG     =
+c++OPT      = -O3
diff --git a/wmake/rules/linuxGcc48/c++Prof b/wmake/rules/linuxGcc48/c++Prof
new file mode 100644
index 00000000000..3bda4dad55e
--- /dev/null
+++ b/wmake/rules/linuxGcc48/c++Prof
@@ -0,0 +1,2 @@
+c++DBUG    = -pg
+c++OPT     = -O2
diff --git a/wmake/rules/linuxGcc48/cDebug b/wmake/rules/linuxGcc48/cDebug
new file mode 100644
index 00000000000..72b638f4582
--- /dev/null
+++ b/wmake/rules/linuxGcc48/cDebug
@@ -0,0 +1,2 @@
+cDBUG       = -ggdb -DFULLDEBUG
+cOPT        = -O1 -fdefault-inline -finline-functions
diff --git a/wmake/rules/linuxGcc48/cOpt b/wmake/rules/linuxGcc48/cOpt
new file mode 100644
index 00000000000..17318709f1f
--- /dev/null
+++ b/wmake/rules/linuxGcc48/cOpt
@@ -0,0 +1,2 @@
+cDBUG       =
+cOPT        = -O3
diff --git a/wmake/rules/linuxGcc48/cProf b/wmake/rules/linuxGcc48/cProf
new file mode 100644
index 00000000000..ca3ac9bf5f0
--- /dev/null
+++ b/wmake/rules/linuxGcc48/cProf
@@ -0,0 +1,2 @@
+cDBUG       = -pg
+cOPT        = -O2
diff --git a/wmake/rules/linuxGcc48/general b/wmake/rules/linuxGcc48/general
new file mode 100644
index 00000000000..4b051e6b984
--- /dev/null
+++ b/wmake/rules/linuxGcc48/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/linuxGcc48/mplibHPMPI b/wmake/rules/linuxGcc48/mplibHPMPI
new file mode 100644
index 00000000000..8aff40632bd
--- /dev/null
+++ b/wmake/rules/linuxGcc48/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