1#!/bin/sh 2# This file is configure. 3# 4# Make all changes to configure.in, if at all possible. After changing, 5# run "autoconf". If autoconf is not installed, then make changes to 6# configure. 7# 8# Documentation on the autoconf program exists in GNU info file format. 9# To read this, run emacs and type C-h i. Then press the down arrow 10# until you come to the line beginning "* Autoconf:". Pressing enter on 11# this line will bring up the documentaition. 12# 13# Type "configure" (i.e., no arguments) or read below for usage information. 14# 15print_error() { 16 echo "$*" 2>&1 ; 17} 18 19print_usage() 20{ 21cat <<. 22Usage: configure -arch ARCH_TYPE -cc CC -f77 FC -debug -help 23 -cflags CFLAGS -fflags FFLAGS 24 -mpiinc MPI_INC_DIR -mpilib MPI_LIB 25where 26 ARCH_TYPE = the type of machine that PGAPack is to be configured for 27 CC = the name of the ANSI C compiler 28 FC = the name of the FORTRAN 77 compiler 29 CFLAGS = C compiler flags 30 FFLAGS = FORTRAN compiler flags 31 MPI_INC_DIR = the MPI include directory 32 MPI_LIB = the full path to the MPI library 33 34 35Known architectures are: 36 37Workstations 38 sun4 (SUN OS 4.x) 39 hpux (HP UX) 40 irix (Silicon Graphics IRIX) 41 alpha (DEC Alpha) 42 rs6000 (AIX for IBM RS6000) 43 next (NeXT 680x0) 44 freebsd (PC clones running FreeBSD) 45 linux (PC clones running LINUX) 46 generic (Generic 32-bit UNIX-like machine) 47 48MPP's 49 powerchallenge (Silicon Graphics PowerChallenge) 50 challenge (Silicon Graphics Challenge) 51 t3d (Cray-T3D) 52 sp2 (IBM SP2) 53 paragon (Intel Paragon) 54 exemplar (Convex Exemplar) 55 56 57In the absence of the -f77 or -cc options, configure assumes the name of 58a FORTRAN 77 or ANSI C compiler based on the architecture type. 59 60If the -debug flag is set, then PGAPack will be built for debugging. This 61enables the extensive debugging options and datatype checks. 62 63If both -mpiinc and -mpilib are missing, PGAPack is built using a non-parallel 64"stub" library for all MPI calls. 65 66The -help flag causes this usage guide to be printed. 67 68Example 1: 69---------- 70Configure and build for parallel operation on the sun4 architectue. MPI is 71in /usr/local/mpi; the MPI library is /usr/local/mpi/lib/sun4/ch_p4/libmpi.a. 72 73 configure -arch sun4 -mpilib /usr/local/mpi/lib/sun4/ch_p4/libmpi.a \ 74 -mpiinc /usr/local/mpi/include 75 make install 76 77Example 2: 78---------- 79Configure and build a debug sequential library on the rs6000 architecture. 80 81 configure -arch rs6000 -debug 82 make install 83. 84} 85 86############################################################################### 87# This section initializes the variables that will be used throughout 88# the script. 89############################################################################### 90#!/bin/sh 91# Guess values for system-dependent variables and create Makefiles. 92# Generated automatically using autoconf. 93# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc. 94 95# This program is free software; you can redistribute it and/or modify 96# it under the terms of the GNU General Public License as published by 97# the Free Software Foundation; either version 2, or (at your option) 98# any later version. 99 100# This program is distributed in the hope that it will be useful, 101# but WITHOUT ANY WARRANTY; without even the implied warranty of 102# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 103# GNU General Public License for more details. 104 105# You should have received a copy of the GNU General Public License 106# along with this program; if not, write to the Free Software 107# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 108 109# Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp] 110# [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE[=VALUE]] 111# Ignores all args except --srcdir, --prefix, --exec-prefix, and 112# --with-PACKAGE[=VALUE] unless this script has special code to handle it. 113 114for arg 115do 116 # Handle --exec-prefix with a space before the argument. 117 if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix= 118 # Handle --host with a space before the argument. 119 elif test x$next_host = xyes; then next_host= 120 # Handle --prefix with a space before the argument. 121 elif test x$next_prefix = xyes; then prefix=$arg; next_prefix= 122 # Handle --srcdir with a space before the argument. 123 elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir= 124 else 125 case $arg in 126 # For backward compatibility, recognize -exec-prefix and --exec_prefix. 127 -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*) 128 exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;; 129 -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e) 130 next_exec_prefix=yes ;; 131 132 -gas | --gas | --ga | --g) ;; 133 134 -host=* | --host=* | --hos=* | --ho=* | --h=*) ;; 135 -host | --host | --hos | --ho | --h) 136 next_host=yes ;; 137 138 -nfp | --nfp | --nf) ;; 139 140 -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) 141 prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;; 142 -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) 143 next_prefix=yes ;; 144 145 -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*) 146 srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;; 147 -srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s) 148 next_srcdir=yes ;; 149 150 -with-* | --with-*) 151 package=`echo $arg|sed -e 's/-*with-//' -e 's/=.*//'` 152 # Reject names that aren't valid shell variable names. 153 if test -n "`echo $package| sed 's/[-a-zA-Z0-9_]//g'`"; then 154 echo "configure: $package: invalid package name" >&2; exit 1 155 fi 156 package=`echo $package| sed 's/-/_/g'` 157 case "$arg" in 158 *=*) val="`echo $arg|sed 's/[^=]*=//'`" ;; 159 *) val=1 ;; 160 esac 161 eval "with_$package='$val'" ;; 162 163 -v | -verbose | --verbose | --verbos | --verbo | --verb | --ver | --ve | --v) 164 verbose=yes ;; 165 166 *) ;; 167 esac 168 fi 169done 170 171trap 'rm -fr conftest* confdefs* core; exit 1' 1 3 15 172trap 'rm -f confdefs*' 0 173 174# NLS nuisances. 175# These must not be set unconditionally because not all systems understand 176# e.g. LANG=C (notably SCO). 177if test "${LC_ALL+set}" = 'set' ; then LC_ALL=C; export LC_ALL; fi 178if test "${LANG+set}" = 'set' ; then LANG=C; export LANG; fi 179 180rm -f conftest* confdefs.h 181# AIX cpp loses on an empty file, so make sure it contains at least a newline. 182echo > confdefs.h 183compile='${CC-cc} $CFLAGS conftest.c -o conftest $LIBS >/dev/null 2>&1' 184 185# A filename unique to this package, relative to the directory that 186# configure is in, which we can look for to find out if srcdir is correct. 187unique_file=source/pga.c 188 189# Find the source files, if location was not specified. 190if test -z "$srcdir"; then 191 srcdirdefaulted=yes 192 # Try the directory containing this script, then `..'. 193 prog=$0 194 confdir=`echo $prog|sed 's%/[^/][^/]*$%%'` 195 test "X$confdir" = "X$prog" && confdir=. 196 srcdir=$confdir 197 if test ! -r $srcdir/$unique_file; then 198 srcdir=.. 199 fi 200fi 201if test ! -r $srcdir/$unique_file; then 202 if test x$srcdirdefaulted = xyes; then 203 echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2 204 else 205 echo "configure: Can not find sources in \`${srcdir}'." 1>&2 206 fi 207 exit 1 208fi 209# Preserve a srcdir of `.' to avoid automounter screwups with pwd. 210# But we can't avoid them for `..', to make subdirectories work. 211case $srcdir in 212 .|/*|~*) ;; 213 *) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute. 214esac 215 216 217# Save the original args to write them into config.status later. 218configure_args="$*" 219 220ARCH="" # architecture type 221PARALLEL=0 # parallel libray, or use stub routines? 222OPTIMIZE=1 # optimized? 223CPPFLAGS="" # flags to send to the C preprocessor 224LDFLAGS="" # link flags 225CFLAGS="-fPIC" # flags to send to the C compiler 226FFLAGS="" # flags to send to the FORTRAN compiler 227PGA_DIR="`pwd`" # the root of the pgapack tree 228PGA_DIR=`echo $PGA_DIR | sed "s=tmp_mnt/=="` # get rid of 'tmp_mnt/' 229HEADERS="$PGA_DIR/include/pgapack.h" # headers upon which pgapack depends 230INCLUDES="-I$PGA_DIR/include" # directories where to search for include files 231LIB_DIRS="" # directories where to search for libraries 232LIBS="" # libraries with which to link 233MPI_INC_DIR="" 234MPI_LIB="" 235SHELL="/usr/bin/sh" 236RM="/bin/rm -f" # command to force removal of files 237 238OBJS='$(PGA_LIB_DIR)/binary.o \\\ 239 $(PGA_LIB_DIR)/char.o \\\ 240 $(PGA_LIB_DIR)/cmdline.o \\\ 241 $(PGA_LIB_DIR)/create.o \\\ 242 $(PGA_LIB_DIR)/cross.o \\\ 243 $(PGA_LIB_DIR)/debug.o \\\ 244 $(PGA_LIB_DIR)/duplcate.o \\\ 245 $(PGA_LIB_DIR)/evaluate.o \\\ 246 $(PGA_LIB_DIR)/fitness.o \\\ 247 $(PGA_LIB_DIR)/hamming.o \\\ 248 $(PGA_LIB_DIR)/heap.o \\\ 249 $(PGA_LIB_DIR)/integer.o \\\ 250 $(PGA_LIB_DIR)/mutation.o \\\ 251 $(PGA_LIB_DIR)/parallel.o \\\ 252 $(PGA_LIB_DIR)/pga.o \\\ 253 $(PGA_LIB_DIR)/pop.o \\\ 254 $(PGA_LIB_DIR)/random.o \\\ 255 $(PGA_LIB_DIR)/real.o \\\ 256 $(PGA_LIB_DIR)/report.o \\\ 257 $(PGA_LIB_DIR)/restart.o \\\ 258 $(PGA_LIB_DIR)/select.o \\\ 259 $(PGA_LIB_DIR)/stop.o \\\ 260 $(PGA_LIB_DIR)/system.o \\\ 261 $(PGA_LIB_DIR)/user.o \\\ 262 $(PGA_LIB_DIR)/utility.o' # these are pgapack's object files 263 264############################################################################### 265# This section parse the command line options. There a two types of options: 266# those that take arguments and those that don't. Parsing the case where an 267# option takes an argument is a little tricky. This is how it works. Suppose 268# that the program comes upon "-cc". Then we know that the next argument 269# will be the name of the C compiler. Hence, we set the flag next_cc to be 270# equal to "yes". The next time through the loop, it will be the case that 271# x$next_cc equal "xyes" because $next_cc expands to "yes". Thus, we know that 272# this argument is the name of the compiler and we assign it to USR_CC. Then 273# we set next_cc back to a null string. This way on the next time through 274# the loop x$next_cc will equal just "x". Since the shell initializes 275# variables to null strings, we do not have to initialize the "next_" family 276# of variables by hand. 277############################################################################### 278for arg 279do 280 if test x$next_arch = xyes 281 then 282 ARCH=$arg 283 next_arch= 284 elif test x$next_mpiinc = xyes 285 then 286 MPI_INC_DIR=$arg 287 next_mpiinc= 288 elif test x$next_mpilib = xyes 289 then 290 MPI_LIB=$arg 291 next_mpilib= 292 elif test x$next_f77 = xyes 293 then 294 USR_FC=$arg 295 next_f77= 296 elif test x$next_cc = xyes 297 then 298 USR_CC=$arg 299 next_cc= 300 elif test x$next_cflags = xyes 301 then 302 CFLAGS="$arg $CFLAGS" 303 next_cflags= 304 elif test x$next_fflags = xyes 305 then 306 FFLAGS="$arg $FFLAGS" 307 next_fflags= 308 else 309 case $arg in 310 -arch) 311 next_arch=yes 312 ;; 313 -f77) 314 next_f77=yes 315 ;; 316 -cc) 317 next_cc=yes 318 ;; 319 -mpiinc) 320 next_mpiinc=yes 321 PARALLEL=1 322 ;; 323 -mpilib) 324 next_mpilib=yes 325 PARALLEL=1 326 ;; 327 -debug) 328 OPTIMIZE=0 329 ;; 330 -cflags) 331 next_cflags=yes 332 ;; 333 -fflags) 334 next_fflags=yes 335 ;; 336 -help) 337 print_usage >& 2 338 exit 1 339 ;; 340 *) 341 ;; 342 esac 343 fi 344done 345 346if test "$MPI_LIB" -a "$MPI_INC_DIR" ; then 347 if test ! -d "$MPI_INC_DIR" ; then 348 print_error "MPI_INC_DIR == $MPI_INC_DIR is not a valid directory!" 349 exit 1 350 fi 351 if test ! -f "$MPI_INC_DIR/mpi.h" ; then 352 print_error "Couldn't find $MPI_INC_DIR/mpi.h!" 353 exit 1 354 fi 355 356 if test ! -f "$MPI_LIB" ; then 357 print_error "MPI_LIB == $MPI_LIB is not a file!" 358 exit 1 359 fi 360 361 PARALLEL=1 362else 363 PARALLEL=0 364 CPPFLAGS="-DFAKE_MPI $CPPFLAGS" 365fi 366 367if test $OPTIMIZE -eq 1 ; then 368 CPPFLAGS="-DOPTIMIZE $CPPFLAGS" 369 CFLAGS="-O $CFLAGS" 370 FFLAGS="-O $FFLAGS" 371 PGA_LIB="pgaO" 372else 373 CFLAGS="-g $CFLAGS" 374 FFLAGS="-g $FFLAGS" 375 PGA_LIB="pgag" 376fi 377 378 379############################################################################### 380# This section sets the default values of certain variables based upon the 381# architecture type specified. If no architecture was specified, the script 382# issues an error and aborts. 383############################################################################### 384if test -z "$ARCH" 385 then 386 print_error "You must specify the architecture with -arch <value>" 387 print_error "Valid architectures are the following:" 388 print_error " Workstations MPP's" 389 print_error " sun4 powerchallenge" 390 print_error " next challenge" 391 print_error " rs6000 t3d" 392 print_error " freebsd sp2" 393 print_error " irix paragon" 394 print_error " linux exemplar" 395 print_error " hpux" 396 print_error " alpha" 397 print_error " generic" 398 print_error "" 399 print_error "For more information type configure -help." 400 exit 1 401fi 402 403case $ARCH in 404 sun4) 405 CC=cc 406 FC=f77 407 CPPFLAGS="-DWL=32 -DFORTRANUNDERSCORE $CPPFLAGS" 408 ;; 409 next) 410 CC=cc 411 FC= 412 CPPFLAGS="-DWL=32 -DFORTRANUNDERSCORE $CPPFLAGS" 413 ;; 414 rs6000) 415 CC=cc 416 FC=f77 417 CPPFLAGS="-DWL=32 $CPPFLAGS" 418 ;; 419 freebsd) 420 CC=cc 421 FC=f77 422 FFLAGS="-w" 423 CPPFLAGS="-DWL=32 -DFORTRANUNDERSCORE $CPPFLAGS" 424 ;; 425 irix) 426 CC=cc 427 FC=f77 428 CPPFLAGS="-DWL=32 -DFORTRANUNDERSCORE $CPPFLAGS" 429 ;; 430 alpha) 431 CC=cc 432 FC=f77 433 CPPFLAGS="-DWL=64 -DFORTRANUNDERSCORE $CPPFLAGS" 434 ;; 435 hpux) 436 CC=cc 437 FC=f77 438 CPPFLAGS="-DWL=32 $CPPFLAGS" 439 SHELL=/bin/sh 440 ;; 441 linux) 442 SHELL="/bin/sh" 443 CC=cc 444 FC=f77 445 FFLAGS="-w" 446 LDFLAGS="-s $LDFLAGS" 447 CPPFLAGS="-DWL=32 -DFORTRANUNDERSCORE $CPPFLAGS" 448 ;; 449 t3d) 450 CC=/mpp/bin/cc 451 FC=/mpp/bin/cf77 452 CFLAGS="-T cray-t3d" 453 FFLAGS="-C cray-t3d -dp" 454 CPPFLAGS="-DWL=64 -DFORTRANCAP $CPPFLAGS" 455 SHELL=/bin/sh 456 ;; 457 powerchallenge) 458 CC=cc 459 FC=f77 460 CFLAGS="-mips4 -fullwarn -64" 461 CPPFLAGS="-DWL=64 -DFORTRANUNDERSCORE $CPPFLAGS" 462 ;; 463 challenge) 464 CC=cc 465 FC=f77 466 CFLAGS="-mips2 -fullwarn -32" 467 CPPFLAGS="-DWL=32 -DFORTRANUNDERSCORE $CPPFLAGS" 468 ;; 469 paragon) 470 CC=cc 471 FC=f77 472 CFLAGS="-nx $CFLAGS" 473 FFLAGS="-nx $FFLAGS" 474 CPPFLAGS="-DWL=32 -DFORTRANUNDERSCORE $CPPFLAGS" 475 ;; 476 sp2) 477 CC=cc 478 FC=f77 479 CPPFLAGS="-DWL=32 $CPPFLAGS" 480 ;; 481 exemplar) 482 CC=cc 483 FC=fort77 484 FFLAGS="-L/usr/lib -lU77 $FFLAGS" 485 CPPFLAGS="-DWL=32 $CPPFLAGS" 486 SHELL=/bin/sh 487 ;; 488 *) 489 CC=cc 490 FC=f77 491 CPPFLAGS="-DWL=32 $CPPFLAGS" 492 print_error "WARNING: Configuring for untested architecture. Using" 493 print_error " word size of 32 bits, cc and f77 as compilers." 494 print_error " You might have trouble with Fortran programs" 495 print_error " not linking correctly. Check the manual on" 496 print_error " the FORTRANUNDERSCORE #define." 497 ;; 498esac 499 500############################################################################### 501# This section sets the variables that do not relate to parallel code. 502############################################################################### 503CPPFLAGS="-D$ARCH $CPPFLAGS" 504PGA_LIB_DIR="../lib/$ARCH" 505LIB_DIRS="-L$PGA_DIR/lib/$ARCH $LIB_DIRS" 506LIBS="-l$PGA_LIB $LIBS" 507 508# Set output variable `RANLIB' to `ranlib' if `ranlib' is found, 509# otherwise to `:' (do nothing). 510if test -z "$RANLIB"; then 511 # Extract the first word of `ranlib', so it can be a program name with args. 512 set dummy ranlib; word=$2 513 echo checking for $word 514 IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" 515 for dir in $PATH; do 516 test -z "$dir" && dir=. 517 if test -f $dir/$word; then 518 RANLIB="ranlib" 519 break 520 fi 521 done 522 IFS="$saveifs" 523fi 524test -z "$RANLIB" && RANLIB=":" 525test -n "$RANLIB" && test -n "$verbose" && echo " setting RANLIB to $RANLIB" 526 527 528# "Determine a C compiler to use. If `CC' is not already set in the 529# environment, check for `gcc', and use `cc' if it's not found. Set 530# output variable `CC' to the name of the compiler found. 531# 532# "If using the GNU C compiler, set shell variable `GCC' to `yes', 533# empty otherwise. If output variable `CFLAGS' was not already set, 534# set it to `-g -O' for the GNU C compiler (`-O' on systems where 535# GCC does not accept `-g'), or `-g' for other compilers." 536if test -n "$USR_CC" 537 then 538 CC=$USR_CC 539 else 540 if test -z "$CC"; then 541 # Extract the first word of `gcc', so it can be a program name with args. 542 set dummy gcc; word=$2 543 echo checking for $word 544 IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" 545 for dir in $PATH; do 546 test -z "$dir" && dir=. 547 if test -f $dir/$word; then 548 CC="gcc" 549 break 550 fi 551 done 552 IFS="$saveifs" 553fi 554test -z "$CC" && CC="cc" 555test -n "$CC" && test -n "$verbose" && echo " setting CC to $CC" 556 557# Find out if we are using GNU C, under whatever name. 558cat > conftest.c <<EOF 559#ifdef __GNUC__ 560 yes 561#endif 562EOF 563${CC-cc} -E conftest.c > conftest.out 2>&1 564if egrep yes conftest.out >/dev/null 2>&1; then 565 GCC=1 # For later tests. 566fi 567rm -f conftest* 568 569fi 570 571# Check for each program in the whitespace-separated list 572# PROGS-TO-CHECK-FOR exists in `PATH'. If it is found, set VARIABLE 573# to the name of that program. Otherwise, continue checking the 574# next program in the list. If none of the programs in the list are 575# found, set VARIABLE to VALUE-IF-NOT-FOUND; if VALUE-IF-NOT-FOUND 576# is not specified, the value of VARIABLE is not changed. 577if test -n "$USR_FC" 578 then 579 FC=$USR_FC 580 else 581 for p in f77 fortran xlf gf77 mpxlf if77 582do 583if test -z "$FC"; then 584 # Extract the first word of `$p', so it can be a program name with args. 585 set dummy $p; word=$2 586 echo checking for $word 587 IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:" 588 for dir in $PATH; do 589 test -z "$dir" && dir=. 590 if test -f $dir/$word; then 591 FC="$p" 592 break 593 fi 594 done 595 IFS="$saveifs" 596fi 597 598test -n "$FC" && test -n "$verbose" && echo " setting FC to $FC" 599 600test -n "$FC" && break 601done 602 603fi 604 605# Originally had 606# OBJS="$OBJS $(PGA_LIB_DIR)/f2c.o" 607# However, freebsd bourne shell equates $(var) and `var`. Hence, I had 608# to break the assignment up into two parts. $FORTWRAP is a Makefile 609# dependency line defining how to compile f2c.c 610if test -n "$FC" 611 then 612 TEMP='$(PGA_LIB_DIR)/f2c.o' 613 OBJS="$OBJS $TEMP" 614 FORTWRAP='$(PGA_LIB_DIR)/f2c.o: f2c.c $(HEADERS)\ 615 $(COMPILE.c) f2c.c' 616fi 617 618if test ! -d lib 619 then 620 mkdir lib 621fi 622 623if test ! -d lib/$ARCH 624 then 625 mkdir lib/$ARCH 626fi 627 628# Set up symlinks for pgapackf.h to any directories with Fortran source 629rm -f ./examples/fortran/pgapackf.h ./examples/mgh/pgapackf.h ./test/pgapackf.h 630ln -s ../../include/pgapackf.h ./examples/fortran/pgapackf.h 631ln -s ../../include/pgapackf.h ./examples/mgh/pgapackf.h 632ln -s ../include/pgapackf.h ./test/pgapackf.h 633 634# Use the stub library. 635if test $PARALLEL -eq 0 636 then 637 rm -f ./include/mpi.h ./include/mpif.h ./examples/fortran/mpif.h ./examples/mgh/mpif.h ./test/mpif.h 638 ln -s fakempi_h include/mpi.h 639 ln -s fakempif_h include/mpif.h 640 ln -s ../../include/mpif.h ./examples/fortran/mpif.h 641 ln -s ../../include/mpif.h ./examples/mgh/mpif.h 642 ln -s ../include/mpif.h ./test/mpif.h 643 TEMP='$(PGA_LIB_DIR)/mpi_stub.o' 644 OBJS="$OBJS $TEMP" 645 MPICOMP='$(PGA_LIB_DIR)/mpi_stub.o: mpi_stub.c $(HEADERS)\ 646 $(COMPILE.c) mpi_stub.c' 647# The tab above is IMPORTANT! Needed for make! 648else 649 rm -f ./include/mpi.h ./include/mpif.h ./examples/fortran/mpif.h ./examples/mgh/mpif.h ./test/mpif.h 650 ln -s $MPI_INC_DIR/mpif.h ./examples/fortran/mpif.h 651 ln -s $MPI_INC_DIR/mpif.h ./examples/mgh/mpif.h 652 ln -s $MPI_INC_DIR/mpif.h ./test/mpif.h 653 LIBS="$LIBS $MPI_LIB" 654 INCLUDES="$INCLUDES -I$MPI_INC_DIR" 655fi 656 657LIBS="$LIBS -lm" 658CPPFLAGS="$INCLUDES $CPPFLAGS" 659LDFLAGS="$LDFLAGS $LIB_DIRS $LIBS" 660############################################################################### 661# This section exports the variables that have previously been set. 662# Configure creates the Makefiles listed on the last line from the 663# Makefile.in in each directory. It does this by substituting the value 664# of $VAR for every occurent of @VAR@ in the Makefile.in. For 665# example, if the characters @CC@ occur any place in a Makefile.in, they 666# will be replaced with the value that $CC has when ac_subst(CC) is 667# called. 668############################################################################### 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685# Set default prefixes. 686if test -n "$prefix"; then 687 test -z "$exec_prefix" && exec_prefix='${prefix}' 688 prsub="s%^prefix\\([ ]*\\)=\\([ ]*\\).*$%prefix\\1=\\2$prefix%" 689fi 690if test -n "$exec_prefix"; then 691 prsub="$prsub 692s%^exec_prefix\\([ ]*\\)=\\([ ]*\\).*$%exec_prefix\\1=\\2$exec_prefix%" 693fi 694# Quote sed substitution magic chars in DEFS. 695cat >conftest.def <<EOF 696$DEFS 697EOF 698escape_ampersand_and_backslash='s%[&\\]%\\&%g' 699DEFS=`sed "$escape_ampersand_and_backslash" <conftest.def` 700rm -f conftest.def 701# Substitute for predefined variables. 702 703trap 'rm -f config.status; exit 1' 1 3 15 704echo creating config.status 705rm -f config.status 706cat > config.status <<EOF 707#!/bin/sh 708# Generated automatically by configure. 709# Run this file to recreate the current configuration. 710# This directory was configured as follows, 711# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: 712# 713# $0 $configure_args 714 715for arg 716do 717 case "\$arg" in 718 -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) 719 echo running \${CONFIG_SHELL-/bin/sh} $0 $configure_args 720 exec \${CONFIG_SHELL-/bin/sh} $0 $configure_args ;; 721 *) echo "Usage: config.status --recheck" 2>&1; exit 1 ;; 722 esac 723done 724 725trap 'rm -f Makefile source/Makefile test/Makefile test/Makefile \ 726 examples/Makefile examples/c/Makefile examples/fortran/Makefile \ 727 examples/mgh/Makefile; exit 1' 1 3 15 728RANLIB='$RANLIB' 729CC='$CC' 730FC='$FC' 731CFLAGS='$CFLAGS' 732FFLAGS='$FFLAGS' 733CPPFLAGS='$CPPFLAGS' 734FORTWRAP='$FORTWRAP' 735HEADERS='$HEADERS' 736LDFLAGS='$LDFLAGS' 737PARALLEL='$PARALLEL' 738PGA_LIB_DIR='$PGA_LIB_DIR' 739PGA_LIB='$PGA_LIB' 740OBJS='$OBJS' 741MPICOMP='$MPICOMP' 742RM='$RM' 743SHELL='$SHELL' 744LIBS='$LIBS' 745srcdir='$srcdir' 746DEFS='$DEFS' 747prefix='$prefix' 748exec_prefix='$exec_prefix' 749prsub='$prsub' 750extrasub='$extrasub' 751EOF 752cat >> config.status <<\EOF 753 754top_srcdir=$srcdir 755 756CONFIG_FILES=${CONFIG_FILES-"Makefile source/Makefile test/Makefile test/Makefile \ 757 examples/Makefile examples/c/Makefile examples/fortran/Makefile \ 758 examples/mgh/Makefile"} 759for file in .. ${CONFIG_FILES}; do if test "x$file" != x..; then 760 srcdir=$top_srcdir 761 # Remove last slash and all that follows it. Not all systems have dirname. 762 dir=`echo $file|sed 's%/[^/][^/]*$%%'` 763 if test "$dir" != "$file"; then 764 test "$top_srcdir" != . && srcdir=$top_srcdir/$dir 765 test ! -d $dir && mkdir $dir 766 fi 767 echo creating $file 768 rm -f $file 769 echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file 770 sed -e " 771$prsub 772$extrasub 773s%@RANLIB@%$RANLIB%g 774s%@CC@%$CC%g 775s%@FC@%$FC%g 776s%@CFLAGS@%$CFLAGS%g 777s%@FFLAGS@%$FFLAGS%g 778s%@CPPFLAGS@%$CPPFLAGS%g 779s%@FORTWRAP@%$FORTWRAP%g 780s%@HEADERS@%$HEADERS%g 781s%@LDFLAGS@%$LDFLAGS%g 782s%@PARALLEL@%$PARALLEL%g 783s%@PGA_LIB_DIR@%$PGA_LIB_DIR%g 784s%@PGA_LIB@%$PGA_LIB%g 785s%@OBJS@%$OBJS%g 786s%@MPICOMP@%$MPICOMP%g 787s%@RM@%$RM%g 788s%@SHELL@%$SHELL%g 789s%@LIBS@%$LIBS%g 790s%@srcdir@%$srcdir%g 791s%@DEFS@%$DEFS% 792" $top_srcdir/${file}.in >> $file 793fi; done 794 795 796exit 0 797EOF 798chmod +x config.status 799${CONFIG_SHELL-/bin/sh} config.status 800 801 802if test ! -f ".pgapack" ; then 803 if test $PARALLEL -eq 1 ; then 804 OPERATION="parallel" 805 ECHO_LIBS="$MPI_LIB" 806 else 807 OPERATION="sequential" 808 ECHO_LIBS="stub routines in mpi_stub.c" 809 fi 810 if test $OPTIMIZE -eq 1 ; then 811 OPERATION="optimized $OPERATION" 812 else 813 OPERATION="debug $OPERATION" 814 fi 815 echo " " 816 echo "PGAPack has been configured for $OPERATION operation on" 817 echo "the $ARCH architecture, using $ECHO_LIBS." 818 echo " " 819 echo "Type \"make install\" to install PGAPack." 820 echo " " 821fi 822 823 824