summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-03-21 22:16:28 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-03-21 22:16:28 +0000
commit1dd763243224c8c9a6affd7cb3bf9f0751041d6e (patch)
tree32e85aac902278ecd87d8cd2d161320ed949a86d /include
parent4110b7093a60c4cb68d3b845d67242b90a219466 (diff)
downloadATCD-1dd763243224c8c9a6affd7cb3bf9f0751041d6e.tar.gz
ChangeLogTag:Wed Mar 21 16:00:56 2001 Nanbor Wang <nanbor@cs.wustl.edu>
Diffstat (limited to 'include')
-rw-r--r--include/makeinclude/platform_irix6.x_kcc.GNU34
-rw-r--r--include/makeinclude/platform_osf1_4.0_kcc.GNU21
-rw-r--r--include/makeinclude/platform_tru64_kcc.GNU50
3 files changed, 86 insertions, 19 deletions
diff --git a/include/makeinclude/platform_irix6.x_kcc.GNU b/include/makeinclude/platform_irix6.x_kcc.GNU
index 3d5311feea3..1662186caa9 100644
--- a/include/makeinclude/platform_irix6.x_kcc.GNU
+++ b/include/makeinclude/platform_irix6.x_kcc.GNU
@@ -1,35 +1,41 @@
# $Id$
-# Irix 6.x with KCC 3.3f
+# Irix 6.x with KCC 3.4d
include $(ACE_ROOT)/include/makeinclude/platform_irix6.x_common.GNU
# WARNING_FLAGS +=
# 111: statement is unreachable. There's a whole bunch of these
# in the ace code.
-WARNING_FLAGS += --diag_suppress 111
+# 280: declaration of a member with the same name as its class
+# Get this from <netinet/in.h>.
+# 608: this pragma must immediately precede a declaration or statement
+# Get this from <ucontext.h>
+WARNING_FLAGS += --diag_suppress 111,280,608
debug = 1
optimize = 1
CC = KCC
-CXX = KCC
-CFLAGS += -32
-CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS)
+CXX = $(CC)
+CFLAGS += -n32
+KCCOPTS = --thread_safe --one_per
+CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS) $(KCCOPTS)
ifeq ($(optimize),1)
-DCFLAGS += -g --backend -g3
+DCFLAGS += -g
else
DCFLAGS += +K0 -g
endif
-DLD = $(CXX)
-LD = $(CXX)
-LDFLAGS += -32 -L$(ACE_ROOT)/ace -L.
-LIBS += -lpthread
+DLD = $(CC)
+LD = $(CC)
+# warning 84: "" is not used for resolving any symbol.
+LDFLAGS += -n32 -L$(ACE_ROOT)/ace -L. --backend -Wl,-woff,84
+#LIBS += -lpthread
OCFLAGS += +K3 -O2
-PIC =
-AR = KCC
-ARFLAGS = -o
+PIC =
+AR = $(CC)
+ARFLAGS = $(KCCOPTS) -o
RANLIB = @true
-SOFLAGS = $(CPPFLAGS) -L$(ACE_ROOT)/ace $(ACELIB)
+SOFLAGS = $(CPPFLAGS) $(KCCOPTS) -L$(ACE_ROOT)/ace $(ACELIB)
SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
PRELIB = @true
diff --git a/include/makeinclude/platform_osf1_4.0_kcc.GNU b/include/makeinclude/platform_osf1_4.0_kcc.GNU
index 0b921097354..ec46c27bd73 100644
--- a/include/makeinclude/platform_osf1_4.0_kcc.GNU
+++ b/include/makeinclude/platform_osf1_4.0_kcc.GNU
@@ -11,12 +11,13 @@ optimize = 1
# and /usr/include/net/if_types.h
# 111: statement is unreachable. There's a whole bunch of these
# in the ace code.
-WARNING_FLAGS += --diag_suppress 9,111
+WARNING_FLAGS += --display_error_number --diag_suppress 9,111
CC = KCC
CXX = $(CC)
CFLAGS += -D_REENTRANT
-CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS)
+KCCOPTS = --thread_safe --one_per
+CCFLAGS += $(CFLAGS) -DNULL=0 $(WARNING_FLAGS) $(KCCOPTS)
ifeq ($(optimize),1)
DCFLAGS += -g3
else
@@ -26,12 +27,22 @@ LD = $(CC)
DLD = $(CC)
LIBS += -lpthread -lmach -lexc -ltli -lrt -lm
OCFLAGS += +K3 -O
-PIC =
+PIC =
AR = $(CC)
-ARFLAGS = -o
+ARFLAGS = $(KCCOPTS) -o
# When libraries are archived, a hash index is automatically created so there
# is no need for ranlib
RANLIB = /usr/bin/true
-SOFLAGS = $(CPPFLAGS) -L$(ACE_ROOT)/ace $(ACELIB) -lc
+SOFLAGS = $(CPPFLAGS) $(KCCOPTS) -L$(ACE_ROOT)/ace $(ACELIB) -lc
+
+# With kcc 4, if it does template splitting and ends up with more than
+# a certain number of templates, it can screw up the link command so that
+# the entry point for the program gets set to one of the template
+# instantiations! This forces the correct entry point.
+LDFLAGS += --backend -Wl,-e,__start
+
+# Work around kcc overflowing the arg list...
+SHLIBBUILD = $(AR) $(ARFLAGS) $@-tmp.a $(VSHOBJS1) $(LDFLAGS) $(LIBS); $(filter-out -c,$(COMPILE.cc) $(PIC)) -o $@ -all $@-tmp.a -none $(LDFLAGS) $(LIBS) -lc --COMPO_ln_dy -expect_unresolved --COMPO_ln_dy '*'; rm $@-tmp.a
+
SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<
PRELIB = @true
diff --git a/include/makeinclude/platform_tru64_kcc.GNU b/include/makeinclude/platform_tru64_kcc.GNU
new file mode 100644
index 00000000000..1ce21ab21ed
--- /dev/null
+++ b/include/makeinclude/platform_tru64_kcc.GNU
@@ -0,0 +1,50 @@
+# $Id$
+
+# This platform macros file is intended to work with
+# Digital UNIX using the KAI compiler.
+
+ifndef ACE_DU_VERSION
+ ACE_DU_VERSION := $(shell uname -r)
+endif # ACE_DU_VERSION
+
+ifeq (3.,$(findstring 3.,$(ACE_DU_VERSION)))
+ include $(ACE_ROOT)/include/makeinclude/platform_osf1_3.2.GNU
+
+else # ! 3.x
+ifeq (4.,$(findstring 4.,$(ACE_DU_VERSION)))
+ include $(ACE_ROOT)/include/makeinclude/platform_osf1_4.0_kcc.GNU
+
+ ifeq (4.0F,$(findstring 4.0F,$(shell /usr/sbin/sizer -v)))
+ CFLAGS += -DDIGITAL_UNIX=0x40F
+ # variable "" was declared but never referenced.
+ # Get these from PTHREAD_THIS_CATCH_NP.
+ WARNING_FLAGS += --diag_suppress 177
+ else # ! 4.0F
+ CFLAGS += -DDIGITAL_UNIX=0x400
+ endif # ! 4.0F
+
+else # ! 4.x
+ifeq (5.,$(findstring 5.,$(ACE_DU_VERSION)))
+ include $(ACE_ROOT)/include/makeinclude/platform_osf1_4.0_kcc.GNU
+
+ # variable "" was declared but never referenced.
+ # Get these from PTHREAD_THIS_CATCH_NP.
+ WARNING_FLAGS += --diag_suppress 177
+
+ # KCC makes a lot of these warnings from the C compiler.
+ WARNING_FLAGS += --backend -msg_disable --backend nonstandcast,missingretu
+rn,uninit1,ptrmismatch
+
+ ifndef ACE_DU_SUBVERSION
+ ACE_DU_SUBVERSION := $(shell /usr/sbin/sizer -v)
+ endif # ! ACE_DU_SUBVERSION
+
+ ifeq (V5.1,$(findstring V5.1,$(ACE_DU_SUBVERSION)))
+ CFLAGS += -DDIGITAL_UNIX=0x510
+ else
+ CFLAGS += -DDIGITAL_UNIX=0x500
+ endif
+
+endif # 5.x
+endif # ! 4.x
+endif # ! 3.x