Begin conversion to autoconf

master
Christopher J. Morrone 2011-10-27 10:46:40 -07:00
parent a56d39e6f1
commit 02fda88fd0
32 changed files with 229 additions and 462 deletions

View File

@ -1,414 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Name="IOR"
ProjectGUID="{8F7A919E-29D8-4E1E-8755-912DFB764A32}"
RootNamespace="IOR"
Keyword="Win32Proj"
TargetFrameworkVersion="131072"
>
<Platforms>
<Platform
Name="Win32"
/>
<Platform
Name="x64"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(ProjectDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(ProjectDir)$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="getopt;&quot;$(CCP_INC)&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
EnablePREfast="false"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="msmpi.lib"
LinkIncremental="2"
AdditionalLibraryDirectories="$(CCP_LIB32)"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|x64"
OutputDirectory="$(ProjectDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(ProjectDir)$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;$(CCP_INC)&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="msmpi.lib"
LinkIncremental="2"
AdditionalLibraryDirectories="$(CCP_LIB64)"
GenerateDebugInformation="true"
SubSystem="1"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(ProjectDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(ProjectDir)$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="getopt;&quot;$(CCP_INC)&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="msmpi.lib"
LinkIncremental="1"
AdditionalLibraryDirectories="$(CCP_LIB32)"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|x64"
OutputDirectory="$(ProjectDir)$(PlatformName)\$(ConfigurationName)"
IntermediateDirectory="$(ProjectDir)$(PlatformName)\$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
TargetEnvironment="3"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="getopt;&quot;$(CCP_INC)&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="msmpi.lib"
LinkIncremental="1"
AdditionalLibraryDirectories="$(CCP_LIB64)"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="17"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="docs"
>
<File
RelativePath=".\COPYRIGHT"
>
</File>
<File
RelativePath=".\README"
>
</File>
<File
RelativePath=".\RELEASE_LOG"
>
</File>
<File
RelativePath=".\UNDOCUMENTED_OPTIONS"
>
</File>
<File
RelativePath=".\USER_GUIDE"
>
</File>
</Filter>
<File
RelativePath=".\src\C\aiori-MPIIO.c"
>
</File>
<File
RelativePath=".\src\C\aiori-noHDF5.c"
>
</File>
<File
RelativePath=".\src\C\aiori-noNCMPI.c"
>
</File>
<File
RelativePath=".\src\C\aiori-POSIX.c"
>
</File>
<File
RelativePath=".\src\C\aiori.h"
>
</File>
<File
RelativePath=".\src\C\defaults.h"
>
</File>
<File
RelativePath=".\src\C\win\getopt.c"
>
</File>
<File
RelativePath=".\src\C\win\getopt.h"
>
</File>
<File
RelativePath=".\src\C\IOR-aiori.h"
>
</File>
<File
RelativePath=".\src\C\IOR.c"
>
</File>
<File
RelativePath=".\src\C\IOR.h"
>
</File>
<File
RelativePath=".\src\C\iordef.h"
>
</File>
<File
RelativePath=".\src\C\parse_options.c"
>
</File>
<File
RelativePath=".\src\C\utilities.c"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,32 +0,0 @@
#/*****************************************************************************\
#* *
#* Copyright (c) 2003, The Regents of the University of California *
#* See the file COPYRIGHT for a complete copyright notice and license. *
#* *
#*******************************************************************************
#*
#* CVS info:
#* $RCSfile: Makefile,v $
#* $Revision: 1.1.1.1 $
#* $Date: 2007/10/15 23:36:54 $
#* $Author: rklundt $
#*
#* Purpose:
#* Make IOR executable.
#*
#* gmake posix -- IOR with only POSIX interface
#* gmake mpiio -- IOR with only POSIX and MPIIO interfaces
#* gmake hdf5 -- IOR with POSIX, MPIIO, and HDF5 interfaces
#* gmake ncmpi -- IOR with POSIX, MPIIO, and NCMPI interfaces
#* gmake all -- IOR with POSIX, MPIIO, HDF5, and NCMPI interfaces
#* gmake clean -- remove executable and object files
#*
#\*****************************************************************************/
SRC = ./src/C
posix:
(cd $(SRC) && $(MAKE) posix)
%:
(cd $(SRC) && $(MAKE) $@)

1
Makefile.am Normal file
View File

@ -0,0 +1 @@
SUBDIRS = src

11
README
View File

@ -1,11 +0,0 @@
/******************************************************************************\
* *
* Copyright (c) 2003, The Regents of the University of California *
* See the file COPYRIGHT for a complete copyright notice and license. *
* *
\******************************************************************************/
This collection of files contains the source (in /src) and Makefile for
building IOR. In /scripts, there are scripts for simulating I/O behavior of
various parallel applications. For more information, please read the User
Guide.

11
bootstrap Executable file
View File

@ -0,0 +1,11 @@
#!/bin/sh
set -x
aclocal -I config || exit 1
#libtoolize --automake --copy --force || exit 1
autoheader || exit 1
automake --add-missing --copy --force-missing --foreign || exit 1
#autoconf --force --warnings=all || exit 1
autoconf --force || exit 1
rm -fr autom4te*.cache
exit 0

171
config/ax_prog_cc_mpi.m4 Normal file
View File

@ -0,0 +1,171 @@
# ===========================================================================
# http://www.gnu.org/software/autoconf-archive/ax_prog_cc_mpi.html
# ===========================================================================
#
# SYNOPSIS
#
# AX_PROG_CC_MPI([MPI-WANTED-TEST[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]])
#
# DESCRIPTION
#
# This macro tries to find out how to compile C programs that use MPI
# (Message Passing Interface), a standard API for parallel process
# communication (see http://www-unix.mcs.anl.gov/mpi/). The macro has to
# be used instead of the standard macro AC_PROG_CC and will replace the
# standard variable CC with the found compiler.
#
# MPI-WANTED-TEST is used to test whether MPI is actually wanted by the
# user. If MPI-WANTED_TEST is omitted or if it succeeds, the macro will
# try to find out how to use MPI, if it fails, the macro will call
# AC_PROG_CC to find a standard C compiler instead.
#
# When MPI is found, ACTION-IF-FOUND will be executed, if MPI is not found
# (or MPI-WANTED-TEST fails) ACTION-IF-NOT-FOUND is executed. If
# ACTION-IF-FOUND is not set, the macro will define HAVE_MPI.
#
# The following example demonstrates usage of the macro:
#
# # If --with-mpi=auto is used, try to find MPI, but use standard C compiler if it is not found.
# # If --with-mpi=yes is used, try to find MPI and fail if it isn't found.
# # If --with-mpi=no is used, use a standard C compiler instead.
# AC_ARG_WITH(mpi, [AS_HELP_STRING([--with-mpi],
# [compile with MPI (parallelization) support. If none is found,
# MPI is not used. Default: auto])
# ],,[with_mpi=auto])
# #
# AX_PROG_CC_MPI([test x"$with_mpi" != xno],[use_mpi=yes],[
# use_mpi=no
# if test x"$with_mpi" = xyes; then
# AC_MSG_FAILURE([MPI compiler requested, but couldn't use MPI.])
# else
# AC_MSG_WARN([No MPI compiler found, won't use MPI.])
# fi
# ])
#
# LICENSE
#
# Copyright (c) 2010,2011 Olaf Lenz <olenz@icp.uni-stuttgart.de>
#
# This program is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation, either version 3 of the License, or (at your
# option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
#
# As a special exception, the respective Autoconf Macro's copyright owner
# gives unlimited permission to copy, distribute and modify the configure
# scripts that are the output of Autoconf when processing the Macro. You
# need not follow the terms of the GNU General Public License when using
# or distributing such scripts, even though portions of the text of the
# Macro appear in them. The GNU General Public License (GPL) does govern
# all other use of the material that constitutes the Autoconf Macro.
#
# This special exception to the GPL applies to versions of the Autoconf
# Macro released by the Autoconf Archive. When you make and distribute a
# modified version of the Autoconf Macro, you may extend this special
# exception to the GPL to apply to your modified version as well.
#serial 1
AC_DEFUN([AX_PROG_CC_MPI], [
AC_PREREQ(2.50)
# Check for compiler
# Needs to be split off into an extra macro to ensure right expansion
# order.
AC_REQUIRE([_AX_PROG_CC_MPI],[_AX_PROG_CC_MPI([$1])])
AS_IF([test x"$_ax_prog_cc_mpi_mpi_wanted" = xno],
[ _ax_prog_cc_mpi_mpi_found=no ],
[
AC_LANG_PUSH([C])
# test whether MPI_Init is available
# We do not use AC_SEARCH_LIBS here, as it caches its outcome and
# thus disallows corresponding calls in the other AX_PROG_*_MPI
# macros.
for lib in NONE mpi mpich; do
save_LIBS=$LIBS
if test x"$lib" = xNONE; then
AC_MSG_CHECKING([for function MPI_Init])
else
AC_MSG_CHECKING([for function MPI_Init in -l$lib])
LIBS="-l$lib $LIBS"
fi
AC_LINK_IFELSE([AC_LANG_CALL([],[MPI_Init])],
[ _ax_prog_cc_mpi_mpi_found=yes ],
[ _ax_prog_cc_mpi_mpi_found=no ])
AC_MSG_RESULT($_ax_prog_cc_mpi_mpi_found)
if test "x$_ax_prog_cc_mpi_mpi_found" = "xyes"; then
break;
fi
LIBS=$save_LIBS
done
# Check for header
AS_IF([test x"$_ax_prog_cc_mpi_mpi_found" = xyes], [
AC_MSG_CHECKING([for mpi.h])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <mpi.h>])],
[ AC_MSG_RESULT(yes)],
[ AC_MSG_RESULT(no)
_ax_prog_cc_mpi_mpi_found=no
])
])
AC_LANG_POP([C])
])
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
AS_IF([test x"$_ax_prog_cc_mpi_mpi_found" = xyes], [
ifelse([$2],,[AC_DEFINE(HAVE_MPI,1,[Define if you have the MPI library.])],[$2])
:
],[
$3
:
])
])dnl AX_PROG_CC_MPI
dnl _AX_PROG_CC_MPI is an internal macro required by AX_PROG_CC_MPI.
dnl To ensure the right expansion order, the main function AX_PROG_CC_MPI
dnl has to be split into two parts.
dnl
dnl Known MPI C compilers:
dnl mpicc
dnl mpixlc_r
dnl mpixlc
dnl hcc
dnl mpxlc_r
dnl mpxlc
dnl sxmpicc NEC SX
dnl mpifcc Fujitsu
dnl mpgcc
dnl mpcc
dnl cmpicc
dnl cc
dnl
AC_DEFUN([_AX_PROG_CC_MPI], [
AC_ARG_VAR(MPICC,[MPI C compiler command])
ifelse([$1],,[_ax_prog_cc_mpi_mpi_wanted=yes],[
AC_MSG_CHECKING([whether to compile using MPI])
if $1; then
_ax_prog_cc_mpi_mpi_wanted=yes
else
_ax_prog_cc_mpi_mpi_wanted=no
fi
AC_MSG_RESULT($_ax_prog_cc_mpi_mpi_wanted)
])
if test x"$_ax_prog_cc_mpi_mpi_wanted" = xyes; then
if test -z "$CC" && test -n "$MPICC"; then
CC="$MPICC"
else
AC_CHECK_TOOLS([CC], [mpicc mpixlc_r mpixlc hcc mpxlc_r mpxlc sxmpicc mpifcc mpgcc mpcc cmpicc cc gcc])
fi
fi
AC_PROG_CC
])dnl _AX_PROG_CC_MPI

34
configure.ac Normal file
View File

@ -0,0 +1,34 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.67])
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_SRCDIR([src/IOR.c])
AC_CONFIG_HEADERS([config.h])
AC_CANONICAL_HOST
# Automake support
AM_INIT_AUTOMAKE([$PACKAGE], [$VERSION], [check-news dist-bzip2 gnu no-define])
AM_MAINTAINER_MODE
# Checks for programs.
AX_PROG_CC_MPI
# Checks for libraries.
# Checks for header files.
AC_CHECK_HEADERS([fcntl.h libintl.h stdlib.h string.h strings.h sys/ioctl.h sys/param.h sys/statfs.h sys/statvfs.h sys/time.h unistd.h wchar.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_SIZE_T
# Checks for library functions.
AC_FUNC_MALLOC
AC_CHECK_FUNCS([getpagesize gettimeofday memset mkdir pow putenv realpath regcomp sqrt strcasecmp strchr strerror strncasecmp strstr uname])
AC_CONFIG_FILES([Makefile
src/Makefile
src/cbif/Makefile])
AC_OUTPUT

View File

@ -1,5 +0,0 @@
all:
$(CC) cbif.c -o cbif
clean:
rm -f cbif

10
src/Makefile.am Normal file
View File

@ -0,0 +1,10 @@
SUBDIRS = cbif
bin_PROGRAMS = ior
# N.B. "NCMPI" is an outdated name for pnetcdf (parallel netcdf)
ior_SOURCES = IOR.c utilities.c parse_options.c \
IOR.h aiori.h iordef.h defaults.h IOR-aiori.h \
aiori-POSIX.c aiori-noMPIIO.c aiori-noHDF5.c aiori-noNCMPI.c
ior_CFLAGS =
ior_LDADD = -lm

2
src/cbif/Makefile.am Normal file
View File

@ -0,0 +1,2 @@
bin_PROGRAMS = cbif
cbif_SOURCES = cbif.c