diff --git a/etc/bashrc b/etc/bashrc index 3b001711bc0649acee98e87b9fe78e763ec6d13d..26dc8c2dfc806109f539bdc8f4e6ae8f5a1b1188 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 034a5bfbfa25ce4571d0191b73e9e338f2f8b0d1..f4147422f99595d06db46d35e228a4591146663f 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 0000000000000000000000000000000000000000..5d1f9c5cc54b4689118c6f1f54f0a2d6d7a29827 --- /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 0000000000000000000000000000000000000000..6c0a9e3b49a9f55b06e197aa0e191ab221a22168 --- /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 0000000000000000000000000000000000000000..7590b089a32e5cdf9b0413d02dd01b1286394d60 --- /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 0000000000000000000000000000000000000000..19bdb9c3346fc7a69380dfedd6e7911fe220a965 --- /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 0000000000000000000000000000000000000000..2aedabd6280a3476bc58db13139a0a3aa579502b --- /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 0000000000000000000000000000000000000000..3bda4dad55e898a8198f6e8bfe21e8d829d7230a --- /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 0000000000000000000000000000000000000000..72b638f458220e329d52b59e3566a3c807101f9d --- /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 0000000000000000000000000000000000000000..e6512b7aab42b97fe9e77a1d60fe586e5c1dc104 --- /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 0000000000000000000000000000000000000000..ca3ac9bf5f0cd61fe99e0f05fa1bd4bdf9fa6cf7 --- /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 0000000000000000000000000000000000000000..2626ab65d12cbba1680848fdc93cfb2b05f3920b --- /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 0000000000000000000000000000000000000000..8a84b4014695e82f55b709ed5144f4b528412137 --- /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 0000000000000000000000000000000000000000..d62c6250ff4769093207d0ac35ec5bdc16f2f0ab --- /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 0000000000000000000000000000000000000000..574492a236a32f7d87d00bf0e3507a5ac8e54f55 --- /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 0000000000000000000000000000000000000000..6762b843c122f498a54c6e619febedd964f773cc --- /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 0000000000000000000000000000000000000000..ac17f7c1d2e2665b7372df09fb3fee4d95b85511 --- /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 0000000000000000000000000000000000000000..88493ebc7059aac7da8678f743a18077a54b9d00 --- /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 0000000000000000000000000000000000000000..834d2d3e22aaebee233a19b139b6d99a4d457cf7 --- /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 0000000000000000000000000000000000000000..95ea327379f54d7bab8d03218d9bcf114f63a75b --- /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 +