diff --git a/etc/bashrc b/etc/bashrc index 3b001711bc..26dc8c2dfc 100644 --- a/etc/bashrc +++ b/etc/bashrc @@ -152,10 +152,12 @@ Linux) ;; esac ;; + ia64) WM_ARCH=linuxIA64 export WM_COMPILER=I64 ;; + mips64) WM_ARCH=SiCortex64 export WM_COMPILER_LIB_ARCH=64 @@ -166,6 +168,17 @@ Linux) export WM_LDFLAGS='-mabi=64 -G0' export WM_MPLIB=MPI ;; + + ppc64) + WM_ARCH=linuxPPC64 + export WM_COMPILER_LIB_ARCH=64 + export WM_CC='gcc' + export WM_CXX='g++' + export WM_CFLAGS='-m64 -fPIC' + export WM_CXXFLAGS='-m64 -fPIC' + export WM_LDFLAGS='-m64' + ;; + *) echo Unknown processor type `uname -m` for Linux ;; diff --git a/etc/cshrc b/etc/cshrc index 034a5bfbfa..f4147422f9 100644 --- a/etc/cshrc +++ b/etc/cshrc @@ -120,6 +120,7 @@ case Linux: switch (`uname -m`) case i686: breaksw + case x86_64: switch ($WM_ARCH_OPTION) case 32: @@ -131,6 +132,7 @@ case Linux: setenv WM_CXXFLAGS '-m32 -fPIC' setenv WM_LDFLAGS '-m32' breaksw + case 64: setenv WM_ARCH linux64 setenv WM_COMPILER_LIB_ARCH 64 @@ -140,15 +142,19 @@ case Linux: setenv WM_CXXFLAGS '-m64 -fPIC' setenv WM_LDFLAGS '-m64' breaksw + default: echo Unknown WM_ARCH_OPTION $WM_ARCH_OPTION, should be 32 or 64 breaksw + endsw breaksw + case ia64: setenv WM_ARCH linuxIA64 setenv WM_COMPILER I64 breaksw + case mips64: setenv WM_ARCH SiCortex64 setenv WM_COMPILER_LIB_ARCH 64 @@ -159,9 +165,21 @@ case Linux: setenv WM_LDFLAGS '-mabi=64 -G0' setenv WM_MPLIB MPI breaksw + + case ppc64: + setenv WM_ARCH linuxPPC64 + setenv WM_COMPILER_LIB_ARCH 64 + setenv WM_CC 'gcc' + setenv WM_CXX 'g++' + setenv WM_CFLAGS '-m64 -fPIC' + setenv WM_CXXFLAGS '-m64 -fPIC' + setenv WM_LDFLAGS '-m64' + breaksw + default: echo Unknown processor type `uname -m` for Linux breaksw + endsw breaksw diff --git a/wmake/rules/linuxPPC64Gcc/X b/wmake/rules/linuxPPC64Gcc/X new file mode 100644 index 0000000000..5d1f9c5cc5 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/X @@ -0,0 +1,3 @@ +XFLAGS = +XINC = $(XFLAGS) -I/usr/X11R6/include +XLIBS = -L/usr/X11R6/lib64 -lXext -lX11 diff --git a/wmake/rules/linuxPPC64Gcc/c b/wmake/rules/linuxPPC64Gcc/c new file mode 100644 index 0000000000..6c0a9e3b49 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/c @@ -0,0 +1,16 @@ +.SUFFIXES: .c .h + +cWARN = -Wall + +cc = gcc -m64 -mcpu=power5+ + +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 -z -Xlinker nodefs diff --git a/wmake/rules/linuxPPC64Gcc/c++ b/wmake/rules/linuxPPC64Gcc/c++ new file mode 100644 index 0000000000..7590b089a3 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/c++ @@ -0,0 +1,21 @@ +.SUFFIXES: .C .cxx .cc .cpp + +c++WARN = -Wall -Wno-strict-aliasing -Wextra -Wno-unused-parameter -Wold-style-cast + +CC = g++ -m64 -mcpu=power5+ + +include $(RULES)/c++$(WM_COMPILE_OPTION) + +ptFLAGS = -DNoRepository -ftemplate-depth-40 + +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) diff --git a/wmake/rules/linuxPPC64Gcc/c++Debug b/wmake/rules/linuxPPC64Gcc/c++Debug new file mode 100644 index 0000000000..19bdb9c334 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/c++Debug @@ -0,0 +1,2 @@ +c++DBUG = -ggdb3 -DFULLDEBUG +c++OPT = -O0 -fdefault-inline diff --git a/wmake/rules/linuxPPC64Gcc/c++Opt b/wmake/rules/linuxPPC64Gcc/c++Opt new file mode 100644 index 0000000000..2aedabd628 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/c++Opt @@ -0,0 +1,2 @@ +c++DBUG = +c++OPT = -O3 diff --git a/wmake/rules/linuxPPC64Gcc/c++Prof b/wmake/rules/linuxPPC64Gcc/c++Prof new file mode 100644 index 0000000000..3bda4dad55 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/c++Prof @@ -0,0 +1,2 @@ +c++DBUG = -pg +c++OPT = -O2 diff --git a/wmake/rules/linuxPPC64Gcc/cDebug b/wmake/rules/linuxPPC64Gcc/cDebug new file mode 100644 index 0000000000..72b638f458 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/cDebug @@ -0,0 +1,2 @@ +cDBUG = -ggdb -DFULLDEBUG +cOPT = -O1 -fdefault-inline -finline-functions diff --git a/wmake/rules/linuxPPC64Gcc/cOpt b/wmake/rules/linuxPPC64Gcc/cOpt new file mode 100644 index 0000000000..e6512b7aab --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/cOpt @@ -0,0 +1,2 @@ +cDBUG = +cOPT = -O3 -fno-gcse diff --git a/wmake/rules/linuxPPC64Gcc/cProf b/wmake/rules/linuxPPC64Gcc/cProf new file mode 100644 index 0000000000..ca3ac9bf5f --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/cProf @@ -0,0 +1,2 @@ +cDBUG = -pg +cOPT = -O2 diff --git a/wmake/rules/linuxPPC64Gcc/general b/wmake/rules/linuxPPC64Gcc/general new file mode 100644 index 0000000000..2626ab65d1 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/general @@ -0,0 +1,11 @@ +CPP = /lib/cpp $(GFLAGS) +LD = ld -m elf64ppc + +PROJECT_LIBS = -l$(WM_PROJECT) -liberty -ldl + +include $(GENERAL_RULES)/standard + +include $(RULES)/X +include $(RULES)/c +include $(RULES)/c++ +include $(GENERAL_RULES)/cint diff --git a/wmake/rules/linuxPPC64Gcc/mplib b/wmake/rules/linuxPPC64Gcc/mplib new file mode 100644 index 0000000000..8a84b40146 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplib @@ -0,0 +1,3 @@ +PFLAGS = +PINC = +PLIBS = diff --git a/wmake/rules/linuxPPC64Gcc/mplibGAMMA b/wmake/rules/linuxPPC64Gcc/mplibGAMMA new file mode 100644 index 0000000000..d62c6250ff --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibGAMMA @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include +PLIBS = -L$(MPI_ARCH_PATH)/lib -lgamma diff --git a/wmake/rules/linuxPPC64Gcc/mplibHPMPI b/wmake/rules/linuxPPC64Gcc/mplibHPMPI new file mode 100644 index 0000000000..574492a236 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/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/linuxPPC64Gcc/mplibLAM b/wmake/rules/linuxPPC64Gcc/mplibLAM new file mode 100644 index 0000000000..6762b843c1 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibLAM @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include +PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi -llam -lpthread -lutil diff --git a/wmake/rules/linuxPPC64Gcc/mplibMPICH b/wmake/rules/linuxPPC64Gcc/mplibMPICH new file mode 100644 index 0000000000..ac17f7c1d2 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibMPICH @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include +PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -lrt diff --git a/wmake/rules/linuxPPC64Gcc/mplibMPICH-GM b/wmake/rules/linuxPPC64Gcc/mplibMPICH-GM new file mode 100644 index 0000000000..88493ebc70 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibMPICH-GM @@ -0,0 +1,3 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include +PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpich -L$(GM_LIB_PATH) -lgm diff --git a/wmake/rules/linuxPPC64Gcc/mplibOPENMPI b/wmake/rules/linuxPPC64Gcc/mplibOPENMPI new file mode 100644 index 0000000000..834d2d3e22 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibOPENMPI @@ -0,0 +1,3 @@ +PFLAGS = -DOMPI_SKIP_MPICXX +PINC = -I$(MPI_ARCH_PATH)/include +PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi diff --git a/wmake/rules/linuxPPC64Gcc/mplibQSMPI b/wmake/rules/linuxPPC64Gcc/mplibQSMPI new file mode 100644 index 0000000000..95ea327379 --- /dev/null +++ b/wmake/rules/linuxPPC64Gcc/mplibQSMPI @@ -0,0 +1,4 @@ +PFLAGS = +PINC = -I$(MPI_ARCH_PATH)/include +PLIBS = -L$(MPI_ARCH_PATH)/lib -lmpi +