summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-01-30 21:19:04 +0000
committerkitty <kitty@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2002-01-30 21:19:04 +0000
commit1b8c14b013899f1142875beb49903232661e285c (patch)
tree1f4aafd671f7f575efb59a4e86072f8c7c5ae9fb
parent0f39bf2ca14bccede89be4dca008cf0bdd1e8d76 (diff)
downloadATCD-1b8c14b013899f1142875beb49903232661e285c.tar.gz
ChangeLogTag: Wed Jan 30 15:11:49 2002 Krishnakumar B <kitty@cs.wustl.edu>
-rw-r--r--ChangeLog13
-rw-r--r--ChangeLogs/ChangeLog-02a13
-rw-r--r--ChangeLogs/ChangeLog-03a13
-rw-r--r--ace/config-g++-common.h7
-rw-r--r--include/makeinclude/platform_linux.GNU34
5 files changed, 70 insertions, 10 deletions
diff --git a/ChangeLog b/ChangeLog
index 8d6c72360bd..99e2749a4a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Wed Jan 30 15:11:49 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_linux.GNU (CXX_VERSION):
+ * ace/config-g++-common.h:
+
+ Turned off explicit template instantiation with gcc under Linux.
+ The specific versions are 2.95.x, 2.96, 3.0.x (3.x). Added a
+ flag implicit_templates to tweak the behaviour from the
+ platform_macros.GNU file.
+
+ The combination of the compiler and binutils seems to give a
+ nice reduction in the footprint.
+
Wed Jan 30 16:00:39 2002 Steve Huston <shuston@riverace.com>
* ace/Process_Manager.cpp (register_handler): Replaced ECHILD with
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index 8d6c72360bd..99e2749a4a2 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,16 @@
+Wed Jan 30 15:11:49 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_linux.GNU (CXX_VERSION):
+ * ace/config-g++-common.h:
+
+ Turned off explicit template instantiation with gcc under Linux.
+ The specific versions are 2.95.x, 2.96, 3.0.x (3.x). Added a
+ flag implicit_templates to tweak the behaviour from the
+ platform_macros.GNU file.
+
+ The combination of the compiler and binutils seems to give a
+ nice reduction in the footprint.
+
Wed Jan 30 16:00:39 2002 Steve Huston <shuston@riverace.com>
* ace/Process_Manager.cpp (register_handler): Replaced ECHILD with
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index 8d6c72360bd..99e2749a4a2 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,16 @@
+Wed Jan 30 15:11:49 2002 Krishnakumar B <kitty@cs.wustl.edu>
+
+ * include/makeinclude/platform_linux.GNU (CXX_VERSION):
+ * ace/config-g++-common.h:
+
+ Turned off explicit template instantiation with gcc under Linux.
+ The specific versions are 2.95.x, 2.96, 3.0.x (3.x). Added a
+ flag implicit_templates to tweak the behaviour from the
+ platform_macros.GNU file.
+
+ The combination of the compiler and binutils seems to give a
+ nice reduction in the footprint.
+
Wed Jan 30 16:00:39 2002 Steve Huston <shuston@riverace.com>
* ace/Process_Manager.cpp (register_handler): Replaced ECHILD with
diff --git a/ace/config-g++-common.h b/ace/config-g++-common.h
index 5ae9686885b..5348071443d 100644
--- a/ace/config-g++-common.h
+++ b/ace/config-g++-common.h
@@ -107,9 +107,12 @@
# if defined (ACE_HAS_STRING_CLASS)
# undef ACE_HAS_STRING_CLASS
# endif /* ACE_HAS_STRING_CLASS */
-#else /* ! ACE_HAS_GNU_REPO */
-# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
#endif /* ! ACE_HAS_GNU_REPO */
+
+#if ( __GNUC__ == 2 && __GNUC_MINOR__ <= 91 )
+# define ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION
+#endif
+
#define ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS
#define ACE_TEMPLATES_REQUIRE_SOURCE
diff --git a/include/makeinclude/platform_linux.GNU b/include/makeinclude/platform_linux.GNU
index 4ffb25ecab4..a08d9f529ff 100644
--- a/include/makeinclude/platform_linux.GNU
+++ b/include/makeinclude/platform_linux.GNU
@@ -15,15 +15,18 @@ endif
ifeq (,$(optimize))
optimize = 1
endif
+
ifeq (,$(threads))
threads = 1
endif
+
ifeq ($(threads),0)
CPPFLAGS += -DACE_MT_SAFE=0
endif # threads
+
PLATFORM_XT_CPPFLAGS=
-PLATFORM_XT_LIBS=-lXt
+PLATFORM_XT_LIBS=-lXt
LATFORM_XT_LDFLAGS=
PLATFORM_FL_CPPFLAGS=
@@ -57,28 +60,43 @@ CC = gcc
CXX = g++
endif
+CXX_VERSION := $(shell $(CXX) -dumpversion)
+
+ifeq (2.95,$(findstring 2.95,$(CXX_VERSION)))
+ implicit_templates = 1
+else
+ ifeq (3.,$(findstring 3.,$(CXX_VERSION)))
+ implicit_templates = 1
+ endif
+ ifeq (2.96,$(findstring 2.96,$(CXX_VERSION)))
+ implicit_templates = 1
+ endif
+endif
+
+ifeq ($(implicit_templates),)
+ ifeq ($(IMPLICIT_TEMPLATES_FLAG),)
+ IMPLICIT_TEMPLATES_FLAG=-fno-implicit-templates
+ endif
+endif
+
CFLAGS += -W -Wall -Wpointer-arith -pipe
ifeq ($(threads),1)
CPPFLAGS += -D_POSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS -D_REENTRANT \
$(PLATFORM_AIO_SUPPORT)
endif # threads
-ifeq ($(IMPLICIT_TEMPLATES_FLAG),)
- IMPLICIT_TEMPLATES_FLAG=-fno-implicit-templates
-endif
-
CCFLAGS += $(CFLAGS) $(IMPLICIT_TEMPLATES_FLAG)
DCFLAGS += -g
DLD = $(CXX)
LD = $(CXX)
LIBS += -ldl
-ifeq ($(threads),1)
+ifeq ($(threads),1)
LIBS += -lpthread
ifeq (-DACE_HAS_AIO_CALLS,$(PLATFORM_AIO_SUPPORT))
LIBS += -lrt
endif
-endif
+endif
PLATFORM_QT_CPPFLAGS=-I$(QTDIR)/include
PLATFORM_QT_LIBS=-lqt
@@ -97,7 +115,7 @@ PRELIB = @true
# Added line below to support "Executable Shared Object" files (as
# needed by the service configurator).
# Marius Kjeldahl <mariusk@sn.no, marius@funcom.com>
-ifeq ($(threads),1)
+ifeq ($(threads),1)
ESOBUILD = $(COMPILEESO.cc) $(PIC) -shared -o $(VSHDIR)$*.so $<
ifndef PRELIB
PRELIB = @true