Make Terminal::Framebuffer::Rows shared and copy-on-write.
* Support both std:: and std::tr1:: shared_ptr. FreeBSD 10 now uses C++11 by default. * Remove Framebuffer pointers in STMClient
This commit is contained in:
@@ -206,6 +206,9 @@ AC_CHECK_HEADERS([endian.h sys/endian.h])
|
||||
AC_CHECK_HEADERS([utmpx.h])
|
||||
AC_CHECK_HEADERS([termio.h])
|
||||
AC_CHECK_HEADERS([sys/uio.h])
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_CHECK_HEADERS([tr1/memory])
|
||||
AC_LANG_POP(C++)
|
||||
|
||||
# Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_HEADER_STDBOOL
|
||||
@@ -371,6 +374,32 @@ public:
|
||||
[AC_MSG_RESULT([no])])
|
||||
AC_LANG_POP(C++)
|
||||
|
||||
AC_MSG_CHECKING([whether std::shared_ptr is available])
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <memory>
|
||||
class T {
|
||||
public:
|
||||
std::shared_ptr<int> Fun( void ) { return std::shared_ptr<int>( new int ( 0 ) ); } };]],
|
||||
[[T x; return !!x.Fun();]])],
|
||||
[AC_DEFINE([HAVE_STD_SHARED_PTR], [1],
|
||||
[Define if std::shared_ptr is available.])
|
||||
AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])])
|
||||
AC_LANG_POP(C++)
|
||||
|
||||
AC_MSG_CHECKING([whether std::tr1::shared_ptr is available])
|
||||
AC_LANG_PUSH(C++)
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <tr1/memory>
|
||||
class T {
|
||||
public:
|
||||
std::tr1::shared_ptr<int> Fun( void ) { return std::tr1::shared_ptr<int>( new int ( 0 ) ); } };]],
|
||||
[[T x; return !!x.Fun();]])],
|
||||
[AC_DEFINE([HAVE_STD_TR1_SHARED_PTR], [1],
|
||||
[Define if std::tr1::shared_ptr is available.])
|
||||
AC_MSG_RESULT([yes])],
|
||||
[AC_MSG_RESULT([no])])
|
||||
AC_LANG_POP(C++)
|
||||
|
||||
AC_CHECK_DECLS([__builtin_bswap64, __builtin_ctz])
|
||||
|
||||
AC_CHECK_DECL([mach_absolute_time],
|
||||
|
||||
Reference in New Issue
Block a user