diff options
author | unknown <svoj@mysql.com> | 2005-06-22 14:11:23 +0500 |
---|---|---|
committer | unknown <svoj@mysql.com> | 2005-06-22 14:11:23 +0500 |
commit | 7e12a287ce8d3417631e83b9eb738e9c42cc01ec (patch) | |
tree | 4a72231770aa4822e2ef8370cab712b8ef6173e9 | |
parent | cceab6e62c3496b7ae58e515e3ffc0f76be050de (diff) | |
parent | 80a621321becb37e0505128f58033796c7f38605 (diff) | |
download | mariadb-git-7e12a287ce8d3417631e83b9eb738e9c42cc01ec.tar.gz |
Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/svoj/devel/mysql/yassl-mysql-5.0
sql/item.cc:
Auto merged
sql/item_buff.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
-rw-r--r-- | config/ac-macros/misc.m4 | 27 | ||||
-rw-r--r-- | configure.in | 33 | ||||
-rw-r--r-- | extra/yassl/src/crypto_wrapper.cpp | 4 | ||||
-rw-r--r-- | extra/yassl/src/template_instnt.cpp | 2 | ||||
-rw-r--r-- | extra/yassl/src/yassl_int.cpp | 3 | ||||
-rw-r--r-- | extra/yassl/taocrypt/include/runtime.hpp | 2 | ||||
-rw-r--r-- | extra/yassl/taocrypt/include/types.hpp | 4 | ||||
-rw-r--r-- | extra/yassl/taocrypt/src/algebra.cpp | 2 | ||||
-rw-r--r-- | extra/yassl/taocrypt/src/dh.cpp | 1 | ||||
-rw-r--r-- | extra/yassl/taocrypt/src/dsa.cpp | 1 | ||||
-rw-r--r-- | extra/yassl/taocrypt/src/integer.cpp | 2 | ||||
-rw-r--r-- | extra/yassl/taocrypt/src/rsa.cpp | 1 | ||||
-rw-r--r-- | extra/yassl/taocrypt/src/template_instnt.cpp | 2 | ||||
-rw-r--r-- | sql/field.cc | 2 | ||||
-rw-r--r-- | sql/item.cc | 2 | ||||
-rw-r--r-- | sql/item_buff.cc | 2 | ||||
-rw-r--r-- | sql/mysqld.cc | 2 | ||||
-rw-r--r-- | sql/opt_range.cc | 2 | ||||
-rw-r--r-- | sql/set_var.cc | 2 | ||||
-rw-r--r-- | sql/slave.cc | 2 | ||||
-rw-r--r-- | sql/sql_acl.cc | 2 | ||||
-rw-r--r-- | sql/sql_class.cc | 2 | ||||
-rw-r--r-- | sql/sql_insert.cc | 4 | ||||
-rw-r--r-- | sql/sql_map.cc | 2 | ||||
-rw-r--r-- | sql/sql_select.cc | 2 | ||||
-rw-r--r-- | sql/sql_show.cc | 4 | ||||
-rw-r--r-- | sql/table.cc | 2 |
27 files changed, 67 insertions, 49 deletions
diff --git a/config/ac-macros/misc.m4 b/config/ac-macros/misc.m4 index e2564c2b80a..e3413048cf7 100644 --- a/config/ac-macros/misc.m4 +++ b/config/ac-macros/misc.m4 @@ -710,3 +710,30 @@ fi ]) +AC_DEFUN([MYSQL_CHECK_CXX_VERSION], [ +case $SYSTEM_TYPE in + *netware*) + CXX_VERSION=`$CXX -version | grep -i version` + ;; + *) + CXX_VERSION=`$CXX --version | sed 1q` + if test $? -ne "0" -o -z "$CXX_VERSION" + then + CXX_VERSION=`$CXX -V 2>&1|sed 1q` # trying harder for Sun and SGI + fi + if test $? -ne "0" -o -z "$CXX_VERSION" + then + CXX_VERSION=`$CXX -v 2>&1|sed 1q` # even harder for Alpha + fi + if test $? -ne "0" -o -z "$CXX_VERSION" + then + CXX_VERSION="" + fi +esac +if test "$CXX_VERSION" +then + AC_MSG_CHECKING("C++ compiler version"); + AC_MSG_RESULT("$CXX $CXX_VERSION") +fi +AC_SUBST(CXX_VERSION) +]) diff --git a/configure.in b/configure.in index 90b9300cfd4..0e53e167ed2 100644 --- a/configure.in +++ b/configure.in @@ -195,25 +195,8 @@ then else CC_VERSION="" fi -case $SYSTEM_TYPE in - *netware*) -CXX_VERSION=`$CXX -version | grep -i version` - ;; - *) -CXX_VERSION=`$CXX --version | sed 1q` -CXX_VERSION=${CXX_VERSION:-`$CXX -V|sed 1q`} # trying harder for Sun and SGI -CXX_VERSION=${CXX_VERSION:-`$CXX -V 2>&1|sed 1q`} # even harder for Alpha - ;; -esac -if test $? -eq "0" -then - AC_MSG_CHECKING("C++ compiler version"); - AC_MSG_RESULT("$CXX $CXX_VERSION") -else -CXX_VERSION="" -fi -AC_SUBST(CXX_VERSION) AC_SUBST(CC_VERSION) +MYSQL_CHECK_CXX_VERSION # Fix for sgi gcc / sgiCC which tries to emulate gcc if test "$CC" = "sgicc" @@ -367,18 +350,18 @@ then # Disable exceptions as they seams to create problems with gcc and threads. # mysqld doesn't use run-time-type-checking, so we disable it. CXXFLAGS="$CXXFLAGS -fno-implicit-templates -fno-exceptions -fno-rtti" - CXXFLAGS="$CXXFLAGS -DEXPLICIT_TEMPLATE_INSTANTIATION" + AC_DEFINE([HAVE_EXPLICIT_TEMPLATE_INSTANTIATION], + [1], [Defined by configure. Explicit template instantiation.]) fi case $CXX_VERSION in MIPSpro*) - CXXFLAGS="$CXXFLAGS -no_prelink -DEXPLICIT_TEMPLATE_INSTANTIATION" - ;; - Compaq*) - CXXFLAGS="$CXXFLAGS -nopt -DEXPLICIT_TEMPLATE_INSTANTIATION" + AR=$CXX + ARFLAGS="-ar -o" ;; - Forte*) - CXXFLAGS="$CXXFLAGS -instance=explicit -DEXPLICIT_TEMPLATE_INSTANTIATION" + *Forte*) + AR=$CXX + ARFLAGS="-xar -o" esac # Avoid bug in fcntl on some versions of linux diff --git a/extra/yassl/src/crypto_wrapper.cpp b/extra/yassl/src/crypto_wrapper.cpp index 976518ace91..80cadd3d722 100644 --- a/extra/yassl/src/crypto_wrapper.cpp +++ b/extra/yassl/src/crypto_wrapper.cpp @@ -971,7 +971,7 @@ x509* PemToDer(const char* fname, CertType type) } // namespace -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION namespace yaSSL { template void ysDelete<DiffieHellman::DHImpl>(DiffieHellman::DHImpl*); template void ysDelete<Integer::IntegerImpl>(Integer::IntegerImpl*); @@ -989,6 +989,6 @@ template void ysDelete<RMD::RMDImpl>(RMD::RMDImpl*); template void ysDelete<SHA::SHAImpl>(SHA::SHAImpl*); template void ysDelete<MD5::MD5Impl>(MD5::MD5Impl*); } -#endif // EXPLICIT_TEMPLATE_INSTANTIATION +#endif // HAVE_EXPLICIT_TEMPLATE_INSTANTIATION #endif // !USE_CRYPTOPP_LIB diff --git a/extra/yassl/src/template_instnt.cpp b/extra/yassl/src/template_instnt.cpp index 43f3d551b7a..5cf4f8c39f8 100644 --- a/extra/yassl/src/template_instnt.cpp +++ b/extra/yassl/src/template_instnt.cpp @@ -8,7 +8,7 @@ #include "ripemd.hpp" #include "openssl/ssl.h" -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION #if !defined(USE_CRYPTOPP_LIB) namespace TaoCrypt { template class HMAC<MD5>; diff --git a/extra/yassl/src/yassl_int.cpp b/extra/yassl/src/yassl_int.cpp index ab9188a5d61..e9c1ed53816 100644 --- a/extra/yassl/src/yassl_int.cpp +++ b/extra/yassl/src/yassl_int.cpp @@ -24,6 +24,7 @@ * draft along with type conversion functions. */ +#include "runtime.hpp" #include "yassl_int.hpp" #include "handshake.hpp" #include "timer.hpp" @@ -1975,7 +1976,7 @@ X509_NAME* X509::GetSubject() } // namespace -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION namespace mySTL { template yaSSL::yassl_int_cpp_local1::SumData for_each<mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumData>(mySTL::list<yaSSL::input_buffer*>::iterator, mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumData); template yaSSL::yassl_int_cpp_local1::SumBuffer for_each<mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumBuffer>(mySTL::list<yaSSL::output_buffer*>::iterator, mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::yassl_int_cpp_local1::SumBuffer); diff --git a/extra/yassl/taocrypt/include/runtime.hpp b/extra/yassl/taocrypt/include/runtime.hpp index 1b364049452..70768bb01d1 100644 --- a/extra/yassl/taocrypt/include/runtime.hpp +++ b/extra/yassl/taocrypt/include/runtime.hpp @@ -35,7 +35,7 @@ extern "C" { #include <assert.h> /* Disallow inline __cxa_pure_virtual() */ -static int __cxa_pure_virtual() __attribute__((noinline)); +static int __cxa_pure_virtual() __attribute__((noinline, used)); static int __cxa_pure_virtual() { // oops, pure virtual called! diff --git a/extra/yassl/taocrypt/include/types.hpp b/extra/yassl/taocrypt/include/types.hpp index d497d45e1da..18961cf4d6f 100644 --- a/extra/yassl/taocrypt/include/types.hpp +++ b/extra/yassl/taocrypt/include/types.hpp @@ -25,6 +25,10 @@ #ifndef TAO_CRYPT_TYPES_HPP #define TAO_CRYPT_TYPES_HPP +#ifdef HAVE_CONFIG_H + #include "config.h" +#endif + namespace TaoCrypt { // define this if running on a big-endian CPU diff --git a/extra/yassl/taocrypt/src/algebra.cpp b/extra/yassl/taocrypt/src/algebra.cpp index d274b262497..e0472f2fc76 100644 --- a/extra/yassl/taocrypt/src/algebra.cpp +++ b/extra/yassl/taocrypt/src/algebra.cpp @@ -319,7 +319,7 @@ void AbstractRing::SimultaneousExponentiate(Integer *results, } // namespace -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION namespace mySTL { template TaoCrypt::WindowSlider* uninit_copy<TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*>(TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*); template void destroy<TaoCrypt::WindowSlider*>(TaoCrypt::WindowSlider*, TaoCrypt::WindowSlider*); diff --git a/extra/yassl/taocrypt/src/dh.cpp b/extra/yassl/taocrypt/src/dh.cpp index d5f93f6c0f6..ea1b5846f7d 100644 --- a/extra/yassl/taocrypt/src/dh.cpp +++ b/extra/yassl/taocrypt/src/dh.cpp @@ -23,6 +23,7 @@ /* dh.cpp implements Diffie-Hellman support */ +#include "runtime.hpp" #include "dh.hpp" #include "asn.hpp" diff --git a/extra/yassl/taocrypt/src/dsa.cpp b/extra/yassl/taocrypt/src/dsa.cpp index e0d0519c169..4574fe5ebd8 100644 --- a/extra/yassl/taocrypt/src/dsa.cpp +++ b/extra/yassl/taocrypt/src/dsa.cpp @@ -20,6 +20,7 @@ */ +#include "runtime.hpp" #include "dsa.hpp" #include "sha.hpp" #include "asn.hpp" diff --git a/extra/yassl/taocrypt/src/integer.cpp b/extra/yassl/taocrypt/src/integer.cpp index 5c5dd59fde0..0f06bb4e044 100644 --- a/extra/yassl/taocrypt/src/integer.cpp +++ b/extra/yassl/taocrypt/src/integer.cpp @@ -3956,7 +3956,7 @@ Integer CRT(const Integer &xp, const Integer &p, const Integer &xq, return p * (u * (xq-xp) % q) + xp; } -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION #ifndef TAOCRYPT_NATIVE_DWORD_AVAILABLE template hword DivideThreeWordsByTwo<hword, Word>(hword*, hword, hword, Word*); #endif diff --git a/extra/yassl/taocrypt/src/rsa.cpp b/extra/yassl/taocrypt/src/rsa.cpp index 4c7c45b8ffe..021fd992b5c 100644 --- a/extra/yassl/taocrypt/src/rsa.cpp +++ b/extra/yassl/taocrypt/src/rsa.cpp @@ -21,6 +21,7 @@ /* based on Wei Dai's rsa.cpp from CryptoPP */ +#include "runtime.hpp" #include "rsa.hpp" #include "asn.hpp" #include "modarith.hpp" diff --git a/extra/yassl/taocrypt/src/template_instnt.cpp b/extra/yassl/taocrypt/src/template_instnt.cpp index c643bd6d73a..28994282669 100644 --- a/extra/yassl/taocrypt/src/template_instnt.cpp +++ b/extra/yassl/taocrypt/src/template_instnt.cpp @@ -4,7 +4,7 @@ #include "vector.hpp" #include "hash.hpp" -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION namespace TaoCrypt { #if defined(SSE2_INTRINSICS_AVAILABLE) template AlignedAllocator<unsigned int>::pointer StdReallocate<unsigned int, AlignedAllocator<unsigned int> >(AlignedAllocator<unsigned int>&, unsigned int*, AlignedAllocator<unsigned int>::size_type, AlignedAllocator<unsigned int>::size_type, bool); diff --git a/sql/field.cc b/sql/field.cc index 8324d4eb725..aeefe64ace3 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -38,7 +38,7 @@ Instansiate templates and static variables *****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class List<create_field>; template class List_iterator<create_field>; #endif diff --git a/sql/item.cc b/sql/item.cc index e645d0db945..ae000f60a58 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -5410,7 +5410,7 @@ void Item_result_field::cleanup() ** Instantiate templates *****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class List<Item>; template class List_iterator<Item>; template class List_iterator_fast<Item>; diff --git a/sql/item_buff.cc b/sql/item_buff.cc index 6652aaafb57..a67e420170a 100644 --- a/sql/item_buff.cc +++ b/sql/item_buff.cc @@ -146,7 +146,7 @@ bool Cached_item_decimal::cmp() ** Instansiate templates *****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class List<Cached_item>; template class List_iterator<Cached_item>; #endif diff --git a/sql/mysqld.cc b/sql/mysqld.cc index 5e6df9b61e1..3e0b496f05f 100644 --- a/sql/mysqld.cc +++ b/sql/mysqld.cc @@ -7073,7 +7073,7 @@ static void create_pid_file() Instantiate templates *****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION /* Used templates */ template class I_List<THD>; template class I_List_iterator<THD>; diff --git a/sql/opt_range.cc b/sql/opt_range.cc index 7d8bfe61692..0a8627b1fa0 100644 --- a/sql/opt_range.cc +++ b/sql/opt_range.cc @@ -8918,7 +8918,7 @@ void QUICK_GROUP_MIN_MAX_SELECT::dbug_dump(int indent, bool verbose) ** Instantiate templates *****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class List<QUICK_RANGE>; template class List_iterator<QUICK_RANGE>; #endif diff --git a/sql/set_var.cc b/sql/set_var.cc index a06c5b9b858..1c0de702e4e 100644 --- a/sql/set_var.cc +++ b/sql/set_var.cc @@ -3406,7 +3406,7 @@ bool process_key_caches(int (* func) (const char *name, KEY_CACHE *)) Used templates ****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class List<set_var_base>; template class List_iterator_fast<set_var_base>; template class I_List_iterator<NAMED_LIST>; diff --git a/sql/slave.cc b/sql/slave.cc index 3094276cfaf..c6c0de7160b 100644 --- a/sql/slave.cc +++ b/sql/slave.cc @@ -5002,7 +5002,7 @@ end: } -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class I_List_iterator<i_string>; template class I_List_iterator<i_string_pair>; #endif diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc index 14aaab03682..c1044d31c46 100644 --- a/sql/sql_acl.cc +++ b/sql/sql_acl.cc @@ -5325,7 +5325,7 @@ bool sp_grant_privileges(THD *thd, const char *sp_db, const char *sp_name, Instantiate used templates *****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class List_iterator<LEX_COLUMN>; template class List_iterator<LEX_USER>; template class List<LEX_COLUMN>; diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 8b3fb87e662..f751e0891be 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -49,7 +49,7 @@ char internal_table_name[2]= "*"; ** Instansiate templates *****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION /* Used templates */ template class List<Key>; template class List_iterator<Key>; diff --git a/sql/sql_insert.cc b/sql/sql_insert.cc index ac0067282dc..9d805184b63 100644 --- a/sql/sql_insert.cc +++ b/sql/sql_insert.cc @@ -2374,11 +2374,11 @@ void select_create::abort() Instansiate templates *****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class List_iterator_fast<List_item>; #ifndef EMBEDDED_LIBRARY template class I_List<delayed_insert>; template class I_List_iterator<delayed_insert>; template class I_List<delayed_row>; #endif /* EMBEDDED_LIBRARY */ -#endif /* EXPLICIT_TEMPLATE_INSTANTIATION */ +#endif /* HAVE_EXPLICIT_TEMPLATE_INSTANTIATION */ diff --git a/sql/sql_map.cc b/sql/sql_map.cc index 726bd48ab19..56b4b765355 100644 --- a/sql/sql_map.cc +++ b/sql/sql_map.cc @@ -138,7 +138,7 @@ void unmap_file(mapped_files *map) ** Instansiate templates *****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION /* Used templates */ template class I_List<mapped_files>; template class I_List_iterator<mapped_files>; diff --git a/sql/sql_select.cc b/sql/sql_select.cc index fcd0c7b4786..2b4a86df681 100644 --- a/sql/sql_select.cc +++ b/sql/sql_select.cc @@ -6277,7 +6277,7 @@ public: COND_CMP(Item *a,Item_func *b) :and_level(a),cmp_func(b) {} }; -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class I_List<COND_CMP>; template class I_List_iterator<COND_CMP>; template class List<Item_func_match>; diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 9503bc9ec89..12025c82da6 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -1102,7 +1102,7 @@ public: char *query; }; -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class I_List<thread_info>; #endif @@ -3879,7 +3879,7 @@ ST_SCHEMA_TABLE schema_tables[]= }; -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class List_iterator_fast<char>; template class List<char>; #endif diff --git a/sql/table.cc b/sql/table.cc index 23238cdd792..6677453969b 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -2236,7 +2236,7 @@ const char *Field_iterator_view::name() ** Instansiate templates *****************************************************************************/ -#ifdef EXPLICIT_TEMPLATE_INSTANTIATION +#ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION template class List<String>; template class List_iterator<String>; #endif |