summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>1999-04-11 20:11:10 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>1999-04-11 20:11:10 +0000
commit38a2c0d3f0a725769cbc11f38aa7ff2ebab821d2 (patch)
tree1b0414b077554ae1c136ba0f070468541006747d
parentbab0e4ed80be16314f1248e8042481f47177c2cd (diff)
downloadATCD-38a2c0d3f0a725769cbc11f38aa7ff2ebab821d2.tar.gz
* configure.in:
Added test for ACE_NEEDS_FUNC_DEFINITIONS. Corrected bug in ACE_TEMPLATES_REQUIRE_SOURCE test.
-rw-r--r--ChangeLog-99b7
-rw-r--r--configure.in74
2 files changed, 77 insertions, 4 deletions
diff --git a/ChangeLog-99b b/ChangeLog-99b
index fe3ef53fcf2..bb618dfa5f7 100644
--- a/ChangeLog-99b
+++ b/ChangeLog-99b
@@ -1,3 +1,10 @@
+Sun Apr 11 14:38:22 1999 Ossama Othman <othman@cs.wustl.edu>
+
+ * configure.in:
+
+ Added test for ACE_NEEDS_FUNC_DEFINITIONS. Corrected bug in
+ ACE_TEMPLATES_REQUIRE_SOURCE test.
+
Sat Apr 10 14:02:11 1999 Douglas C. Schmidt <schmidt@tango.cs.wustl.edu>
* ace/Malloc[_Base]: Added a new no-op constructor for
diff --git a/configure.in b/configure.in
index 213f08829c9..378f690df62 100644
--- a/configure.in
+++ b/configure.in
@@ -934,7 +934,7 @@ dnl Disable building of static libraries by default
AC_DISABLE_STATIC
dnl Tell libtool to build a C++ shared library
-AC_LIBTOOL_BUILD_CXX_LIBRARY
+dnl AC_LIBTOOL_BUILD_CXX_LIBRARY
dnl Check for libtool and turn on Automake processing for Libtool
AC_PROG_LIBTOOL
@@ -2650,7 +2650,6 @@ EOF
ace_cv_feature_templates_require_source=no
else
dnl Now try including the template source
- rm conftestMain.$ac_ext
cat >> conftestMain.$ac_ext <<EOF
#include "conftest.$ac_ext"
@@ -2861,8 +2860,9 @@ ACE_CACHE_CHECK(for static data member templates,
class Foo
{
public:
- static T* sdm;
+ static T* sdm;
};
+
template <class T> T* Foo<T>::sdm = 0;
],
[
@@ -2876,7 +2876,73 @@ ACE_CACHE_CHECK(for static data member templates,
])
], ,AC_DEFINE(ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES))
-dnl if platform supports C++ exceptions
+dnl Check if compiler needs definitions for hidden functions
+ACE_CACHE_CHECK(if definition is needed for hidden functions,
+ ace_cv_feature_need_func_def,
+ [
+ AC_TRY_LINK(
+ [
+ class Foo
+ {
+ public:
+ Foo (void) { a_ = 0; }
+ private:
+ Foo (const Foo &);
+ void operator= (const Foo &);
+
+ int a_;
+ };
+ ],
+ [
+ Foo Bar;
+ ],
+ [
+ ace_cv_feature_need_func_def=no
+ ],
+ [
+ AC_TRY_LINK(
+ [
+ class Foo
+ {
+ public:
+ Foo (void) { a_ = 0; }
+ private:
+ Foo (const Foo &);
+ const Foo & operator= (const Foo &);
+
+ int a_;
+ };
+
+ Foo::Foo (const Foo &)
+ {
+ a_ = 0;
+ }
+
+ const Foo &
+ Foo::operator= (const Foo &)
+ {
+ a_ = 0;
+
+ return *this;
+ }
+ ],
+ [
+ Foo Bar;
+ ],
+ [
+ ace_cv_feature_need_func_def=yes
+ ],
+ [
+ dnl If we get here then we don't know what is needed!
+ ace_cv_feature_need_func_def=no
+ ])
+ ])
+ ],
+ [
+ AC_DEFINE(ACE_NEEDS_FUNC_DEFINITIONS)
+ ],)
+
+dnl Check if platform supports C++ exceptions
if test "$ace_user_enable_exceptions" = yes; then
ACE_CACHE_CHECK(for C++ exceptions,
ace_cv_feature_posix_exceptions,[