mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-19 16:50:46 +08:00
[svn-r4325]
Purpose: New Feature Description: Adding the h5cc script thingy. Platforms tested: Linux
This commit is contained in:
parent
95862451f7
commit
48842d60fa
152
configure.in
152
configure.in
@ -1,7 +1,8 @@
|
||||
dnl Process this file with autoconf to produce configure.
|
||||
dnl
|
||||
dnl Copyright (C) 1997-2001 National Center for Supercomputing Applications
|
||||
dnl All rights reserved.
|
||||
dnl Copyright (C) 1997, 1998, 1999, 2000, 2001
|
||||
dnl National Center for Supercomputing Applications
|
||||
dnl All rights reserved.
|
||||
|
||||
dnl ----------------------------------------------------------------------
|
||||
dnl Initialize configure.
|
||||
@ -613,47 +614,78 @@ AC_SUBST(H4TOH5) H4TOH5=h4toh5
|
||||
AC_SUBST(H4TOH5TEST) H4TOH5TEST=h4toh5test
|
||||
AC_SUBST(TESTH4TOH5) TESTH4TOH5='$(srcdir)/testh4toh5.sh'
|
||||
|
||||
AC_ARG_WITH(hdf4,[ --with-hdf4=INC,LIB Use the HDF4 library],,withval=no)
|
||||
AC_ARG_WITH(hdf4,
|
||||
[ --with-hdf4=DIR Use the HDF4 library. DIR can be either a
|
||||
single directory off of which the \`include/'
|
||||
and \`lib/' subdirectories are located. Or you
|
||||
can specify the include and library directories
|
||||
separated by a comma.],,
|
||||
withval=no)
|
||||
case "$withval" in
|
||||
yes)
|
||||
AC_CHECK_HEADERS(mfhdf.h,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
AC_CHECK_LIB(z,compress,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
AC_CHECK_LIB(jpeg,jpeg_start_compress,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
AC_CHECK_LIB(df,Hstartaccess,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
AC_CHECK_LIB(mfhdf,SDstart,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
;;
|
||||
no)
|
||||
AC_MSG_CHECKING(for HDF4)
|
||||
AC_MSG_RESULT(suppressed)
|
||||
yes)
|
||||
failed="no"
|
||||
AC_CHECK_LIB(z, compress,
|
||||
AC_CHECK_LIB(jpeg, jpeg_start_compress,
|
||||
AC_CHECK_LIB(df, Hstartaccess,
|
||||
AC_CHECK_LIB(mfhdf, SDstart,,
|
||||
failed="yes"),
|
||||
failed="yes"),
|
||||
failed="yes"),
|
||||
failed="yes")
|
||||
|
||||
if test "$failed" = "yes"; then
|
||||
unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5
|
||||
;;
|
||||
*)
|
||||
hdf4_inc="`echo $withval |cut -f1 -d,`"
|
||||
if test -n "$hdf4_inc"; then
|
||||
saved_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS -I$hdf4_inc"
|
||||
AC_CHECK_HEADERS(mfhdf.h,,
|
||||
CPPFLAGS="$saved_CPPFLAGS"
|
||||
unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
else
|
||||
AC_CHECK_HEADERS(mfhdf.h)
|
||||
fi
|
||||
|
||||
hdf4_lib="`echo $withval |cut -f2 -d, -s`"
|
||||
if test -n "$hdf4_lib"; then
|
||||
saved_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -L$hdf4_lib"
|
||||
AC_CHECK_LIB(z,compress,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
AC_CHECK_LIB(jpeg,jpeg_start_compress,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
AC_CHECK_LIB(df,Hstartaccess,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
AC_CHECK_LIB(mfhdf,SDstart,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
else
|
||||
AC_CHECK_LIB(z,compress,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
AC_CHECK_LIB(jpeg,jpeg_start_compress,,unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5)
|
||||
AC_CHECK_LIB(df,Hstartaccess)
|
||||
AC_CHECK_LIB(mfhdf,SDstart)
|
||||
fi
|
||||
;;
|
||||
fi
|
||||
;;
|
||||
no)
|
||||
AC_MSG_CHECKING(for HDF4)
|
||||
AC_MSG_RESULT(suppressed)
|
||||
unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5
|
||||
;;
|
||||
*)
|
||||
case "$withval" in
|
||||
*,*)
|
||||
hdf4_inc="`echo $withval |cut -f1 -d,`"
|
||||
hdf4_lib="`echo $withval |cut -f2 -d, -s`"
|
||||
;;
|
||||
*)
|
||||
if test -n "$withval"; then
|
||||
hdf4_inc="$withval/include"
|
||||
hdf4_lib="$withval/lib"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
saved_CPPFLAGS="$CPPFLAGS"
|
||||
saved_LDFLAGS="$LDFLAGS"
|
||||
if test -n "$hdf4_inc"; then
|
||||
CPPFLAGS="$CPPFLAGS -I$hdf4_inc"
|
||||
fi
|
||||
|
||||
failed=no
|
||||
AC_CHECK_HEADERS(mfhdf.h,, failed="yes")
|
||||
|
||||
if test -n "$hdf4_lib"; then
|
||||
LDFLAGS="$LDFLAGS -L$hdf4_lib"
|
||||
fi
|
||||
|
||||
if test "$failed" != "yes"; then
|
||||
AC_CHECK_LIB(z, compress,
|
||||
AC_CHECK_LIB(jpeg, jpeg_start_compress,
|
||||
AC_CHECK_LIB(df, Hstartaccess,
|
||||
AC_CHECK_LIB(mfhdf, SDstart,,
|
||||
failed="yes"),
|
||||
failed="yes"),
|
||||
failed="yes"),
|
||||
failed="yes")
|
||||
fi
|
||||
|
||||
if test "$failed" = "yes"; then
|
||||
CPPFLAGS="$saved_CPPFLAGS"
|
||||
LDFLAGS="$saved_LDFLAGS"
|
||||
unset H5TOH4 TESTH5TOH4 H4TOH5 H4TOH5TEST TESTH4TOH5
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
dnl ----------------------------------------------------------------------
|
||||
@ -663,7 +695,11 @@ dnl command-line switch. The value is an include path and/or a library path.
|
||||
dnl If the library path is specified then it must be preceded by a comma.
|
||||
dnl
|
||||
AC_ARG_WITH(zlib,
|
||||
[ --with-zlib=INC,LIB Use the GNU zlib compression],,
|
||||
[ --with-zlib=DIR Use the GNU zlib compression. DIR can
|
||||
be either a single directory off of which the
|
||||
\`include/' and \`lib/' subdirectories are
|
||||
located. Or you can specify the include and
|
||||
library directories separated by a comma.],,
|
||||
withval=yes)
|
||||
|
||||
case $withval in
|
||||
@ -676,24 +712,35 @@ case $withval in
|
||||
AC_MSG_RESULT(suppressed)
|
||||
;;
|
||||
*)
|
||||
zlib_inc="`echo $withval |cut -f1 -d,`"
|
||||
case "$withval" in
|
||||
*,*)
|
||||
zlib_inc="`echo $withval |cut -f1 -d,`"
|
||||
zlib_lib="`echo $withval |cut -f2 -d, -s`"
|
||||
;;
|
||||
*)
|
||||
if test -n "$withval"; then
|
||||
zlib_inc="$withval/include"
|
||||
zlib_lib="$withval/lib"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
saved_CPPFLAGS="$CPPFLAGS"
|
||||
saved_LDFLAGS="$LDFLAGS"
|
||||
|
||||
if test -n "$zlib_inc"; then
|
||||
saved_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS -I$zlib_inc"
|
||||
AC_CHECK_HEADERS(zlib.h,,CPPFLAGS="$saved_CPPFLAGS")
|
||||
else
|
||||
AC_CHECK_HEADERS(zlib.h)
|
||||
fi
|
||||
|
||||
zlib_lib="`echo $withval |cut -f2 -d, -s`"
|
||||
AC_CHECK_HEADERS(zlib.h,,
|
||||
CPPFLAGS="$saved_CPPFLAGS")
|
||||
|
||||
if test -n "$zlib_lib"; then
|
||||
saved_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -L$zlib_lib"
|
||||
AC_CHECK_LIB(z, compress,,LDFLAGS="$saved_LDFLAGS")
|
||||
else
|
||||
AC_CHECK_LIB(z, compress)
|
||||
fi
|
||||
|
||||
AC_CHECK_LIB(z, compress,,
|
||||
LDFLAGS="$saved_LDFLAGS")
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -1705,6 +1752,7 @@ AC_OUTPUT(src/libhdf5.settings
|
||||
tools/h5ls/Makefile
|
||||
tools/lib/Makefile
|
||||
tools/misc/Makefile
|
||||
tools/misc/h5cc
|
||||
tools/gifconv/Makefile
|
||||
$EXTRA_H4_MAKEFILES
|
||||
examples/Makefile
|
||||
|
@ -1,7 +1,8 @@
|
||||
## Tools HDF5 Makefile(.in)
|
||||
##
|
||||
## Copyright (C) 2001 National Center for Supercomputing Applications.
|
||||
## All rights reserved.
|
||||
## Copyright (C) 2001
|
||||
## National Center for Supercomputing Applications.
|
||||
## All rights reserved.
|
||||
##
|
||||
top_srcdir=@top_srcdir@
|
||||
top_builddir=..
|
||||
|
@ -26,7 +26,7 @@ TEST_SCRIPTS=
|
||||
LIBTOOLS=../lib/libh5tools.la
|
||||
LIBHDF5=$(top_builddir)/src/libhdf5.la
|
||||
|
||||
PUB_PROGS=h5debug h5import h5repart @PDB2HDF@
|
||||
PUB_PROGS=h5cc h5debug h5import h5repart @PDB2HDF@
|
||||
PROGS=$(PUB_PROGS) $(TEST_PROGS)
|
||||
|
||||
## Source and object files for the library; do not install
|
||||
@ -56,6 +56,9 @@ check test _test: $(PROGS)
|
||||
##
|
||||
$(PROGS): $(LIBTOOLS) $(LIBHDF5)
|
||||
|
||||
h5cc: h5cc.in
|
||||
@true
|
||||
|
||||
h5debug: h5debug.lo
|
||||
@$(LT_LINK_EXE) $(CFLAGS) -o $@ h5debug.lo $(LIBTOOLS) $(LIBHDF5) $(LDFLAGS) $(LIBS)
|
||||
|
||||
|
246
tools/misc/h5cc.in
Executable file
246
tools/misc/h5cc.in
Executable file
@ -0,0 +1,246 @@
|
||||
#! /bin/sh
|
||||
##
|
||||
## Copyright (C) 2001
|
||||
## National Center for Supercomputing Applications
|
||||
## All rights reserved.
|
||||
##
|
||||
|
||||
############################################################################
|
||||
## ##
|
||||
## Things You May Have to Modify: ##
|
||||
## ##
|
||||
## If the following paths don't point to the place were HDF5 is installed ##
|
||||
## on your system (i.e., you received a binary distribution or moved the ##
|
||||
## files from the originally installed directory to another directory) ##
|
||||
## then modify them accordingly to represent the new paths. ##
|
||||
## ##
|
||||
############################################################################
|
||||
prefix="@prefix@"
|
||||
libdir="@libdir@"
|
||||
includedir="@includedir@"
|
||||
|
||||
############################################################################
|
||||
## ##
|
||||
## You shouldn't have to modify anything below this line. ##
|
||||
## ##
|
||||
############################################################################
|
||||
|
||||
host_os="@host_os@"
|
||||
|
||||
prog_name="`basename $0`"
|
||||
|
||||
allargs=""
|
||||
compile_args=""
|
||||
link_args=""
|
||||
link_objs=""
|
||||
clibpath=""
|
||||
|
||||
do_link="yes"
|
||||
do_compile="no"
|
||||
dash_o="no"
|
||||
dash_c="no"
|
||||
get_output_file="no"
|
||||
|
||||
SHOW="eval"
|
||||
CCBASE="@CC@"
|
||||
CLINKERBASE="@CC@"
|
||||
CFLAGS="@CFLAGS@"
|
||||
LDFLAGS="@LDFLAGS@"
|
||||
LIBS="@LIBS@"
|
||||
|
||||
CC="${HDF5_CC:-$CCBASE}"
|
||||
CLINKER="${HDF5_CLINKER:-$CLINKERBASE}"
|
||||
|
||||
USE_SHARED_LIB="${HDF5_USE_SHLIB:-no}"
|
||||
|
||||
usage() {
|
||||
# A wonderfully informative "usage" message.
|
||||
echo "usage: $prog_name [OPTIONS] <compile line>"
|
||||
echo " OPTIONS:"
|
||||
echo " -help This help message."
|
||||
echo " -echo Show all the shell commands executed"
|
||||
echo " -prefix=DIR Prefix directory to find HDF5 lib/ and include/"
|
||||
echo " subdirectories [default: $prefix]"
|
||||
echo " -show Show the commands without executing them"
|
||||
echo " -shlib Compile with shared HDF5 libraries"
|
||||
echo " -noshlib Compile with static HDF5 libraries [default]"
|
||||
echo " "
|
||||
echo " <compile line> - the normal compile line options for your compiler."
|
||||
echo " $prog_name uses the same compiler you used to compile"
|
||||
echo " HDF5. Check with your compiler's man pages for more"
|
||||
echo " information on which options are needed."
|
||||
echo " "
|
||||
echo " You can override the compiler, linker, and whether or not to use static"
|
||||
echo " or shared libraries to compile your program by setting the following"
|
||||
echo " environment variables accordingly:"
|
||||
echo " "
|
||||
echo " HDF5_CC - use a different C compiler"
|
||||
echo " HDF5_CLINKER - use a different linker"
|
||||
echo " HDF5_USE_SHLIB=[yes|no] - use shared or static version of the HDF5 library"
|
||||
echo " [default: no]"
|
||||
echo " "
|
||||
exit 1
|
||||
}
|
||||
|
||||
if test "$#" = "0"; then
|
||||
# No parameters specified, issue usage statement and exit.
|
||||
usage
|
||||
fi
|
||||
|
||||
case "$CC" in
|
||||
gcc)
|
||||
kind="gcc"
|
||||
;;
|
||||
mpicc|mpcc|mpicc_r)
|
||||
# Is this gcc masquarading as an MPI compiler?
|
||||
if test "`${CC} -v 2>&1 | sed -n 2p | cut -c1-3`" = "gcc"; then
|
||||
kind="gcc"
|
||||
else
|
||||
# Nope
|
||||
kind="$host_os"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
kind="$host_os"
|
||||
;;
|
||||
esac
|
||||
|
||||
for arg in $@ ; do
|
||||
if test "x$get_output_file" = "xyes"; then
|
||||
link_args="$link_args $arg"
|
||||
output_file="$arg"
|
||||
get_output_file="no"
|
||||
continue
|
||||
fi
|
||||
|
||||
case "$arg" in
|
||||
-c)
|
||||
allargs="$allargs $arg"
|
||||
compile_args="$compile_args $arg"
|
||||
|
||||
if test "x$do_link" = "xyes" -a -n "$output_file"; then
|
||||
compile_args="$compile_args -o $outputfile"
|
||||
fi
|
||||
|
||||
do_link="no"
|
||||
dash_c="yes"
|
||||
;;
|
||||
-o)
|
||||
allargs="$allargs $arg"
|
||||
dash_o="yes"
|
||||
|
||||
if test "x$dash_c" = "xyes"; then
|
||||
compile_args="$compile_args $arg"
|
||||
else
|
||||
link_args="$link_args $arg"
|
||||
do_link="yes"
|
||||
get_output_file="yes"
|
||||
fi
|
||||
;;
|
||||
-E|-M)
|
||||
allargs="$allargs $arg"
|
||||
compile_args="$compile_args $arg"
|
||||
dash_c="yes"
|
||||
dash_o="no"
|
||||
;;
|
||||
-l*)
|
||||
link_args="$link_args $arg"
|
||||
allargs="$allargs $arg"
|
||||
;;
|
||||
-prefix=*)
|
||||
prefix="`expr "$arg" : '-prefix=\(.*\)'`"
|
||||
;;
|
||||
-echo)
|
||||
set -x
|
||||
;;
|
||||
-show)
|
||||
SHOW="echo"
|
||||
;;
|
||||
-shlib)
|
||||
USE_SHARED_LIB="yes"
|
||||
;;
|
||||
-noshlib)
|
||||
USE_SHARED_LIB="no"
|
||||
;;
|
||||
-help)
|
||||
usage
|
||||
;;
|
||||
*\"*)
|
||||
qarg="'"$arg"'"
|
||||
allargs="$allargs $qarg"
|
||||
;;
|
||||
*\'*)
|
||||
qarg='\"'"$arg"'\"'
|
||||
allargs="$allargs $qarg"
|
||||
;;
|
||||
*)
|
||||
allargs="$allargs $qarg"
|
||||
|
||||
if test -s "$arg"; then
|
||||
ext=`expr "$arg" : '.*\(\..*\)'`
|
||||
|
||||
if test "x$ext" = "x.c"; then
|
||||
do_compile="yes"
|
||||
compile_args="$compile_args $arg"
|
||||
fname=`basename $arg .c`
|
||||
link_objs="$link_objs $fname.o"
|
||||
elif test "x$ext" = "x.o"; then
|
||||
if test "x$dash_c" = "xyes"; then
|
||||
compile_args="$compile_args $arg"
|
||||
else
|
||||
do_link="yes"
|
||||
link_objs="$link_objs $arg"
|
||||
fi
|
||||
else
|
||||
compile_args="$compile_args $arg"
|
||||
link_args="$link_args $arg"
|
||||
fi
|
||||
else
|
||||
compile_args="$compile_args $arg"
|
||||
link_args="$link_args $arg"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test "x$do_compile" = "xyes"; then
|
||||
if test "x$dash_c" != "xyes"; then
|
||||
compile_args="-c $compile_args"
|
||||
fi
|
||||
|
||||
$SHOW $CC $CFLAGS -I$includedir $compile_args
|
||||
status=$?
|
||||
|
||||
if test "$status" != "0"; then
|
||||
exit $status
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$do_link" = "xyes"; then
|
||||
shared_link=""
|
||||
|
||||
if test "x$USE_SHARED_LIB" = "xyes"; then
|
||||
case "$kind" in
|
||||
gcc|linux*) flag="-Wl,-rpath -Wl," ;;
|
||||
hpux*) flag="-Wl,+b -Wl," ;;
|
||||
freebsd*|solaris*) flag="-R" ;;
|
||||
rs6000*|aix*) flag="-L" ;;
|
||||
irix*|sgi) flag="-rpath " ;;
|
||||
*) flag="" ;;
|
||||
esac
|
||||
|
||||
if test -n "$flag"; then
|
||||
shared_link="${flag}${libdir}"
|
||||
fi
|
||||
|
||||
link_args="$link_args -L${libdir} -lhdf5"
|
||||
else
|
||||
link_args="$link_args ${libdir}/libhdf5.a"
|
||||
fi
|
||||
|
||||
link_args="$link_args $LIBS"
|
||||
$SHOW $CLINKER $LDFLAGS $clibpath $link_objs $link_args $shared_link
|
||||
status=$?
|
||||
fi
|
||||
|
||||
exit $status
|
Loading…
x
Reference in New Issue
Block a user