dnl -*- shell-script -*-
dnl
dnl Copyright (c) 2001-2003 The Trustees of Indiana University.
dnl All rights reserved.
dnl Copyright (c) 1998-2001 University of Notre Dame.
dnl All rights reserved.
dnl Copyright (c) 1994-1998 The Ohio State University.
dnl All rights reserved.
dnl
dnl This file is part of the LAM/MPI software package. For license
dnl information, see the LICENSE file in the top level directory of the
dnl LAM/MPI source distribution.
dnl
dnl $Id: lam_setup_cc.m4,v 1.13 2003/11/02 23:05:54 brbarret Exp $
dnl
define(LAM_SETUP_CC,[
# Modularize this setup so that sub-configure.in scripts can use this
# same setup code.
lam_show_subtitle "C compiler and preprocessor"
#
# check for specification of C compiler
#
AC_ARG_WITH(cc,
AC_HELP_STRING([--with-cc=CC],
[DEPRECATED: use the env variable CC instead]),
[AC_MSG_WARN([The --with-cc flag is deprecated. Use the CC])
AC_MSG_WARN([environment variable instead.])
AC_MSG_ERROR([Cannot continue])])
#
# check for specification of C compiler flags
#
AC_ARG_WITH(cflags,
AC_HELP_STRING([--with-cflags],
[DEPRECATED: use the env variable CFLAGS instead]),
[AC_MSG_WARN([The --with-cflags flag is deprecated. Use the CFLAGS])
AC_MSG_WARN([environment variable instead.])
AC_MSG_ERROR([Cannot continue])])
#
# check for specification of LD linker flags
#
AC_ARG_WITH(ldflags,
AC_HELP_STRING([--with-ldflags],
[DEPRECATED: use the env variable LDFLAGS instead]),
[AC_MSG_WARN([The --with-ldflags flag is deprecated. Use the LDFLAGS])
AC_MSG_WARN([environment variable instead.])
AC_MSG_ERROR([Cannot continue])])
#
# Do we want debugging? - down here so we can change CFLAGS
#
AC_MSG_CHECKING([if want debugging output support])
AC_ARG_WITH(debug,
[ --with-debug enable debugging output (maintainers only)])
if test -n "$with_debug" -a "$with_debug" = "yes"; then
AC_MSG_RESULT([yes])
WANT_DEBUG=1
else
AC_MSG_RESULT([no])
WANT_DEBUG=0
fi
AC_DEFINE_UNQUOTED(LAM_WANT_DEBUG, $WANT_DEBUG, [LAM debug flag])
#
# Check for the compiler
#
lam_cflags_save="$CFLAGS"
AC_PROG_CC
AC_PROG_GCC_TRADITIONAL
BASECC="`basename $CC`"
CFLAGS="$lam_cflags_save"
AC_DEFINE_UNQUOTED(LAM_CC, "$CC", [LAM underlying C compiler])
# $%@#!@#% AIX!!
AC_AIX
# Take care of some specific compiler options.
# Force use of ANSI C under HP-UX.
AC_MSG_CHECKING([if need special C compiler/linker flags])
FLAGS="none needed"
case "$host" in
*hpux*)
if test "$GCC" = "no"; then
FLAGS="-Ae"
if test "$CPPFLAGS" != ""; then
CPPFLAGS="$CPPFLAGS $FLAGS"
else
CPPFLAGS="$FLAGS"
fi
if test "$CFLAGS" != ""; then
CFLAGS="$CFLAGS $FLAGS"
else
CFLAGS="$FLAGS"
fi
fi
;;
*irix*)
if test "$GCC" = "no"; then
FLAGS="-Wl,-woff,84"
LDFLAGS="$LDFLAGS $FLAGS"
CFLAGS="$CFLAGS $FLAGS"
fi
;;
*sco-sysv*)
# This seems to be necessary on SCO unix to get sendmsg and others
# to compile/link/run properly. There's a note in
# /usr/include/socket.h on SCO about this. Weird.
FLAGS="-DSVR4"
CPPFLAGS="$FLAGS $CPPFLAGS"
esac
AC_MSG_RESULT([$FLAGS])
# When building LAM, we need this everywhere
CPPFLAGS="$CPPFLAGS -DLAM_BUILDING=1"
# Do we want debugging?
if test "$WANT_DEBUG" = "1"; then
if test "$GCC" = "yes"; then
add="-g -Wall -Wundef -Wno-long-long"
# see if -Wno-long-double works...
CFLAGS_orig="$CFLAGS"
CFLAGS="$CFLAGS -Wno-long-double"
AC_TRY_COMPILE([], [], add="$add -Wno-long-double")
CFLAGS="$CFLAGS_orig"
add="$add -Werror-implicit-function-declaration "
else
add="-g"
fi
CFLAGS="$CFLAGS $add"
LAM_UNIQ(CFLAGS)
AC_MSG_WARN([$add has been added to CFLAGS (--with-debug)])
unset add
fi
# Preload the optflags for the case where the user didn't specify any.
# If we're using GNU compilers, use -O3 (since it GNU doesn't require
# all compilation units to be compiled with the same level of
# optimization -- selecting a high level of optimization is not
# prohibitive). If we're using anything else, be conservative and
# just use -O.
if test "$GCC" = yes; then
OPTFLAGS="-O3"
else
OPTFLAGS="-O"
fi
LAM_CHECK_OPTFLAGS("$CFLAGS")
AC_MSG_CHECKING([for C optimization flags])
AC_MSG_RESULT([$co_result])
CFLAGS="$co_result"
])
syntax highlighted by Code2HTML, v. 0.9.1