diff options
Diffstat (limited to 'plpa-1.3.2/plpa.m4')
-rw-r--r-- | plpa-1.3.2/plpa.m4 | 364 |
1 files changed, 0 insertions, 364 deletions
diff --git a/plpa-1.3.2/plpa.m4 b/plpa-1.3.2/plpa.m4 deleted file mode 100644 index 0546c697..00000000 --- a/plpa-1.3.2/plpa.m4 +++ /dev/null @@ -1,364 +0,0 @@ -# -*- shell-script -*- -# -# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana -# University Research and Technology -# Corporation. All rights reserved. -# Copyright (c) 2004-2005 The Regents of the University of California. -# All rights reserved. -# Copyright (c) 2004-2008 High Performance Computing Center Stuttgart, -# University of Stuttgart. All rights reserved. -# Copyright (c) 2006-2009 Cisco Systems, Inc. All rights reserved. -# $COPYRIGHT$ -# -# Additional copyrights may follow -# -# $HEADER$ -# - -# Main PLPA m4 macro, to be invoked by the user -# -# Expects two or three paramters: -# 1. Configuration prefix (optional; if not specified, "." is assumed) -# 2. What to do upon success -# 3. What to do upon failure -# -AC_DEFUN([PLPA_INIT],[ - # If we used the 2 param variant of PLPA_INIT, then assume the - # config prefix is ".". Otherwise, it's $1. - m4_ifval([$3], - [_PLPA_INIT_COMPAT([$1], [$2], [$3])], - [AC_MSG_WARN([The 2-argument form of the PLPA INIT m4 macro is deprecated]) - AC_MSG_WARN([It was removed starting with PLPA v1.2]) - AC_MSG_ERROR([Cannot continue])]) -])dnl - -#----------------------------------------------------------------------- - -# Do the main work for PLPA_INIT -# -# Expects three paramters: -# 1. Configuration prefix -# 2. What to do upon success -# 3. What to do upon failure -# -AC_DEFUN([_PLPA_INIT_COMPAT],[ - AC_REQUIRE([_PLPA_INTERNAL_SETUP]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AM_PROG_LEX]) - AC_REQUIRE([AC_PROG_YACC]) - - m4_define([plpa_config_prefix],[$1]) - - # Check for syscall() - AC_CHECK_FUNC([syscall], [plpa_config_happy=1], [plpa_config_happy=0]) - - # Look for syscall.h - if test "$plpa_config_happy" = 1; then - AC_CHECK_HEADER([sys/syscall.h], [plpa_config_happy=1], [plpa_config_happy=0]) - fi - - # Look for unistd.h - if test "$plpa_config_happy" = 1; then - AC_CHECK_HEADER([unistd.h], [plpa_config_happy=1], [plpa_config_happy=0]) - fi - - # Check for __NR_sched_setaffinity - if test "$plpa_config_happy" = 1; then - AC_MSG_CHECKING([for __NR_sched_setaffinity]) - if test "$plpa_emulate" = "yes"; then - AC_MSG_RESULT([emulated]) - AC_DEFINE([__NR_sched_setaffinity], [0], [Emulated value]) - else - AC_TRY_COMPILE([#include <syscall.h> -#include <unistd.h>], [#ifndef __NR_sched_setaffinity -#error __NR_sched_setaffinity_not found! -#endif -int i = 1;], - [AC_MSG_RESULT([yes]) - plpa_config_happy=1], - [AC_MSG_RESULT([no]) - plpa_config_happy=0]) - fi - fi - - # Check for __NR_sched_getaffinity (probably overkill, but what - # the heck?) - if test "$plpa_config_happy" = 1; then - AC_MSG_CHECKING([for __NR_sched_getaffinity]) - if test "$plpa_emulate" = "yes"; then - AC_MSG_RESULT([emulated]) - AC_DEFINE([__NR_sched_getaffinity], [0], [Emulated value]) - else - AC_TRY_COMPILE([#include <syscall.h> -#include <unistd.h>], [#ifndef __NR_sched_getaffinity -#error __NR_sched_getaffinity_not found! -#endif -int i = 1;], - [AC_MSG_RESULT([yes]) - plpa_config_happy=1], - [AC_MSG_RESULT([no]) - plpa_config_happy=0]) - fi - fi - - # If all was good, do the real init - AS_IF([test "$plpa_config_happy" = "1"], - [_PLPA_INIT($2, $3)], - [$3]) - PLPA_DO_AM_CONDITIONALS - - AC_CONFIG_FILES( - plpa_config_prefix[/Makefile] - plpa_config_prefix[/src/Makefile] - plpa_config_prefix[/src/libplpa/Makefile] - ) - - # Cleanup - unset plpa_config_happy -])dnl - -#----------------------------------------------------------------------- - -# Build PLPA as a standalone package -AC_DEFUN([PLPA_STANDALONE],[ - AC_REQUIRE([_PLPA_INTERNAL_SETUP]) - plpa_mode=standalone -])dnl - -#----------------------------------------------------------------------- - -# Build PLPA as an included package -AC_DEFUN([PLPA_INCLUDED],[ - m4_ifval([$1], - [AC_MSG_WARN([The 1-argument form of the PLPA INCLUDED m4 macro is deprecated]) - AC_MSG_WARN([It was removed starting with PLPA v1.2]) - AC_MSG_ERROR([Cannot continue])]) - - AC_REQUIRE([_PLPA_INTERNAL_SETUP]) - plpa_mode=included - PLPA_DISABLE_EXECUTABLES -])dnl - -#----------------------------------------------------------------------- - -dnl JMS: No fortran bindings yet -dnl # Set whether the fortran bindings will be built or not -dnl AC_DEFUN([PLPA_FORTRAN],[ -dnl AC_REQUIRE([_PLPA_INTERNAL_SETUP]) -dnl -dnl # Need [] around entire following line to escape m4 properly -dnl [plpa_tmp=`echo $1 | tr '[:upper:]' '[:lower:]'`] -dnl if test "$1" = "0" -o "$1" = "n"; then -dnl plpa_fortran=no -dnl elif test "$1" = "1" -o "$1" = "y"; then -dnl plpa_fortran=yes -dnl else -dnl AC_MSG_WARN([Did not understand PLPA_FORTRAN argument ($1) -- ignored]) -dnl fi -dnl ])dnl - -#----------------------------------------------------------------------- - -# Disable building the executables -AC_DEFUN([PLPA_DISABLE_EXECUTABLES],[ - AC_REQUIRE([_PLPA_INTERNAL_SETUP]) - plpa_executables=no -])dnl - -#----------------------------------------------------------------------- - -# Disable building the executables -AC_DEFUN([PLPA_ENABLE_EXECUTABLES],[ - AC_REQUIRE([_PLPA_INTERNAL_SETUP]) - plpa_executables=yes -])dnl - -#----------------------------------------------------------------------- - -# Specify the symbol prefix -AC_DEFUN([PLPA_SET_SYMBOL_PREFIX],[ - AC_REQUIRE([_PLPA_INTERNAL_SETUP]) - plpa_symbol_prefix_value=$1 -])dnl - -#----------------------------------------------------------------------- - -# Internals -AC_DEFUN([_PLPA_INTERNAL_SETUP],[ - - AC_ARG_ENABLE([emulate], - AC_HELP_STRING([--enable-emulate], - [Emulate __NR_sched_setaffinity and __NR_sched_getaffinity, to allow building on non-Linux systems (for testing)])) - if test "$enable_emulate" = "yes"; then - plpa_emulate=yes - else - plpa_emulate=no - fi - - # Build and install the executables or no? - AC_ARG_ENABLE([executables], - AC_HELP_STRING([--disable-executables], - [Using --disable-executables disables building and installing the PLPA executables])) - if test "$enable_executables" = "yes" -o "$enable_executables" = ""; then - plpa_executables=yes - else - plpa_executables=no - fi - - # Included mode, or standalone? - AC_ARG_ENABLE([included-mode], - AC_HELP_STRING([--enable-included-mode], - [Using --enable-included-mode puts the PLPA into "included" mode. The default is --disable-included-mode, meaning that the PLPA is in "standalone" mode.])) - if test "$enable_included_mode" = "yes"; then - plpa_mode=included - if test "$enable_executables" = ""; then - plpa_executables=no - fi - else - plpa_mode=standalone - fi - -dnl JMS: No fortran bindings yet -dnl # Fortran bindings, or no? -dnl AC_ARG_ENABLE([fortran], -dnl AC_HELP_STRING([--disable-fortran], -dnl [Using --disable-fortran disables building the Fortran PLPA API bindings])) -dnl if test "$enable_fortran" = "yes" -o "$enable_fortran" = ""; then -dnl plpa_fortran=yes -dnl else -dnl plpa_fortran=no -dnl fi - - # Change the symbol prefix? - AC_ARG_WITH([plpa-symbol-prefix], - AC_HELP_STRING([--with-plpa-symbol-prefix=STRING], - [STRING can be any valid C symbol name. It will be prefixed to all public PLPA symbols. Default: "plpa_"])) - if test "$with_plpa_symbol_prefix" = ""; then - plpa_symbol_prefix_value=plpa_ - else - plpa_symbol_prefix_value=$with_plpa_symbol_prefix - fi - - # Debug mode? - AC_ARG_ENABLE([debug], - AC_HELP_STRING([--enable-debug], - [Using --enable-debug enables various maintainer-level debugging controls. This option is not recomended for end users.])) - if test "$enable_debug" = "yes"; then - plpa_debug=1 - plpa_debug_msg="enabled" - elif test "$enable_debug" = "" -a -d .svn; then - plpa_debug=1 - plpa_debug_msg="enabled (SVN checkout default)" - else - plpa_debug=0 - plpa_debug_msg="disabled" - fi -])dnl - -#----------------------------------------------------------------------- - -# Internals for PLPA_INIT -AC_DEFUN([_PLPA_INIT],[ - AC_REQUIRE([_PLPA_INTERNAL_SETUP]) - - # Are we building as standalone or included? - AC_MSG_CHECKING([for PLPA building mode]) - AC_MSG_RESULT([$plpa_mode]) - - # Debug mode? - AC_MSG_CHECKING([if want PLPA maintainer support]) - AC_DEFINE_UNQUOTED(PLPA_DEBUG, [$plpa_debug], [Whether we are in debugging more or not]) - AC_MSG_RESULT([$plpa_debug_msg]) - - # We need to set a path for header, etc files depending on whether - # we're standalone or included. this is taken care of by PLPA_INCLUDED. - - AC_MSG_CHECKING([for PLPA config prefix]) - AC_MSG_RESULT(plpa_config_prefix) - - # Note that plpa_config.h *MUST* be listed first so that it - # becomes the "main" config header file. Any AM_CONFIG_HEADERs - # after that (plpa.h) will only have selective #defines replaced, - # not the entire file. - AM_CONFIG_HEADER(plpa_config_prefix[/src/libplpa/plpa_config.h]) - AM_CONFIG_HEADER(plpa_config_prefix[/src/libplpa/plpa.h]) - - # What prefix are we using? - AC_MSG_CHECKING([for PLPA symbol prefix]) - AC_DEFINE_UNQUOTED(PLPA_SYM_PREFIX, [$plpa_symbol_prefix_value], - [The PLPA symbol prefix]) - # Ensure to [] escape the whole next line so that we can get the - # proper tr tokens - [plpa_symbol_prefix_value_caps="`echo $plpa_symbol_prefix_value | tr '[:lower:]' '[:upper:]'`"] - AC_DEFINE_UNQUOTED(PLPA_SYM_PREFIX_CAPS, [$plpa_symbol_prefix_value_caps], - [The PLPA symbol prefix in all caps]) - AC_MSG_RESULT([$plpa_symbol_prefix_value]) - - # Build with valgrind support if we can find it, unless it was - # explicitly disabled - AC_ARG_WITH([valgrind], - [AC_HELP_STRING([--with-valgrind(=DIR)], - [Directory where the valgrind software is installed])]) - CPPFLAGS_save="$CPPFLAGS" - valgrind_happy=no - AS_IF([test "$with_valgrind" != "no"], - [AS_IF([test ! -z "$with_valgrind" -a "$with_valgrind" != "yes"], - [CPPFLAGS="$CPPFLAGS -I$with_valgrind/include"]) - AC_CHECK_HEADERS([valgrind/valgrind.h], - [AC_MSG_CHECKING([for VALGRIND_CHECK_MEM_IS_ADDRESSABLE]) - AC_LINK_IFELSE(AC_LANG_PROGRAM([[ -#include "valgrind/memcheck.h" -]], - [[char buffer = 0xff; - VALGRIND_CHECK_MEM_IS_ADDRESSABLE(&buffer, sizeof(buffer));]]), - [AC_MSG_RESULT([yes]) - valgrind_happy=yes], - [AC_MSG_RESULT([no]) - AC_MSG_WARN([Need Valgrind version 3.2.0 or later.])], - [AC_MSG_RESULT([cross-compiling; assume yes...?]) - AC_MSG_WARN([PLPA will fail to compile if you do not have Valgrind version 3.2.0 or later]) - valgrind_happy=yes]), - ], - [AC_MSG_WARN([valgrind.h not found])]) - AS_IF([test "$valgrind_happy" = "no" -a "x$with_valgrind" != "x"], - [AC_MSG_WARN([Valgrind support requested but not possible]) - AC_MSG_ERROR([Cannot continue])])]) - AS_IF([test "$valgrind_happy" = "no"], - [CPPFLAGS="$CPPFLAGS_save" - valgrind_define=0], - [valgrind_define=1]) - AC_DEFINE_UNQUOTED([PLPA_WANT_VALGRIND_SUPPORT], [$valgrind_define], - [Whether we want Valgrind support or not]) - -dnl JMS: No fortran bindings yet -dnl # Check for fortran -dnl AC_MSG_CHECKING([whether to build PLPA Fortran API]) -dnl AC_MSG_RESULT([$plpa_fortran]) - - # Check whether to build the exectuables or not - AC_MSG_CHECKING([whether to build PLPA executables]) - AC_MSG_RESULT([$plpa_executables]) - - # If we're building executables, we need some things for plpa-taskset - if test "$plpa_executables" = "yes"; then - AC_C_INLINE - fi - - # Success - $1 -])dnl - - -#----------------------------------------------------------------------- - -# This must be a standalone routine so that it can be called both by -# PLPA_INIT and an external caller (if PLPA_INIT is not invoked). -AC_DEFUN([PLPA_DO_AM_CONDITIONALS],[ - if test "$plpa_did_am_conditionals" != "yes"; then - AM_CONDITIONAL([PLPA_BUILD_STANDALONE], [test "$plpa_mode" = "standalone"]) -dnl JMS: No fortran bindings yet -dnl AM_CONDITIONAL(PLPA_BUILD_FORTRAN, [test "$plpa_fortran" = "yes"]) - AM_CONDITIONAL(PLPA_BUILD_EXECUTABLES, [test "$plpa_executables" = "yes"]) - fi - plpa_did_am_conditionals=yes -])dnl |