![Brian Barrett](/assets/img/avatar_default.png)
* Add memory intercept routines for Darwin using the official Darwin API (thanks to Drew Gallatin from Myricom for pointing me to some information from Apple engineers about how to make this work) * add debugging output to functionality test This commit was SVN r6920.
68 строки
2.5 KiB
Bash
68 строки
2.5 KiB
Bash
# -*- shell-script -*-
|
|
#
|
|
# Copyright (c) 2004-2005 The Trustees of Indiana University.
|
|
# All rights reserved.
|
|
# Copyright (c) 2004-2005 The Trustees of the University of Tennessee.
|
|
# All rights reserved.
|
|
# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
|
|
# University of Stuttgart. All rights reserved.
|
|
# Copyright (c) 2004-2005 The Regents of the University of California.
|
|
# All rights reserved.
|
|
# $COPYRIGHT$
|
|
#
|
|
# Additional copyrights may follow
|
|
#
|
|
# $HEADER$
|
|
#
|
|
|
|
AC_DEFUN([MCA_memory_darwin_COMPILE_MODE], [
|
|
AC_MSG_CHECKING([for MCA component $2:$3 compile mode])
|
|
$4="static"
|
|
AC_MSG_RESULT([$$4])
|
|
])
|
|
|
|
|
|
# MCA_memory_darwin_CONFIG(action-if-can-compile,
|
|
# [action-if-cant-compile])
|
|
# ------------------------------------------------
|
|
AC_DEFUN([MCA_memory_darwin_CONFIG],[
|
|
AC_ARG_WITH([memory-manager],
|
|
[AC_HELP_STRING([--with-memory-manager=TYPE],
|
|
[Use TYPE for intercepting memory management
|
|
calls to control memory pinning.])])
|
|
|
|
AS_IF([test "$with_memory_manager" = "darwin"],
|
|
[memory_darwin_happy="yes"
|
|
memory_darwin_should_use=1],
|
|
[memory_darwin_should_use=0
|
|
AS_IF([test "$with_memory_manager" = ""],
|
|
[memory_darwin_happy="yes"],
|
|
[memory_darwin_happy="no"])])
|
|
|
|
AS_IF([test "$memory_darwin_happy" = "yes"],
|
|
[# check for malloc/malloc.h
|
|
AC_CHECK_HEADER([malloc/malloc.h],
|
|
[memory_darwin_happy="yes"],
|
|
[memory_darwin_happy="no"])])
|
|
|
|
AS_IF([test "$memory_darwin_happy" = "yes"],
|
|
[# check for hook to get correct callbacks
|
|
AC_CHECK_FUNC([malloc_default_zone],
|
|
[memory_darwin_happy="yes"],
|
|
[memory_darwin_happy="no"])])
|
|
|
|
# this should be true for any reasonably recent version of OS X,
|
|
# but make sure.
|
|
AS_IF([test "$memory_darwin_happy" = "yes"],
|
|
[AC_CHECK_FUNC([dlsym],
|
|
[memory_darwin_happy="yes"],
|
|
[memory_darwin_happy="no"])])
|
|
|
|
AS_IF([test "$memory_darwin_happy" = "no" -a \
|
|
"$memory_malloc_hoooks_should_use" = "1"],
|
|
[AC_MSG_ERROR([Darwin memory management requested but not available. Aborting.])])
|
|
|
|
AS_IF([test "$memory_darwin_happy" = "yes"],
|
|
[$1], [$2])
|
|
])
|