258 lines
8.4 KiB
Bash
Executable File
258 lines
8.4 KiB
Bash
Executable File
#! /bin/sh
|
|
##
|
|
## Copyright by the Board of Trustees of the University of Illinois.
|
|
## All rights reserved.
|
|
##
|
|
|
|
############################################################################
|
|
## ##
|
|
## Things You May Have to Modify: ##
|
|
## ##
|
|
## If the following paths don't point to the place were HDF4 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="/home/xzq/5090/PlantAI-dev4090-7/PlantAI-dev/tools/pymol-env"
|
|
exec_prefix="${prefix}"
|
|
libdir="${exec_prefix}/lib"
|
|
includedir="${prefix}/include"
|
|
|
|
############################################################################
|
|
## ##
|
|
## You shouldn't have to modify anything below this line. ##
|
|
## ##
|
|
############################################################################
|
|
|
|
host_os="linux-gnu"
|
|
|
|
prog_name="`basename $0`"
|
|
|
|
allargs=""
|
|
compile_args=""
|
|
libraries=""
|
|
link_args=""
|
|
link_objs=""
|
|
|
|
do_link="yes"
|
|
do_compile="no"
|
|
dash_o="no"
|
|
dash_c="no"
|
|
get_output_file="no"
|
|
|
|
SHOW="eval"
|
|
CCBASE="/home/conda/feedstock_root/build_artifacts/hdf4_1695661253961/_build_env/bin/x86_64-conda-linux-gnu-cc"
|
|
CLINKERBASE="/home/conda/feedstock_root/build_artifacts/hdf4_1695661253961/_build_env/bin/x86_64-conda-linux-gnu-cc"
|
|
CFLAGS=" -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/xzq/5090/PlantAI-dev4090-7/PlantAI-dev/tools/pymol-env/include -fdebug-prefix-map=/home/conda/feedstock_root/build_artifacts/hdf4_1695661253961/work=/usr/local/src/conda/hdf4-4.2.15 -fdebug-prefix-map=/home/xzq/5090/PlantAI-dev4090-7/PlantAI-dev/tools/pymol-env=/usr/local/src/conda-prefix -O"
|
|
CPPFLAGS="-DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/xzq/5090/PlantAI-dev4090-7/PlantAI-dev/tools/pymol-env/include "
|
|
LDFLAGS="-Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/home/xzq/5090/PlantAI-dev4090-7/PlantAI-dev/tools/pymol-env/lib -Wl,-rpath-link,/home/xzq/5090/PlantAI-dev4090-7/PlantAI-dev/tools/pymol-env/lib -L/home/xzq/5090/PlantAI-dev4090-7/PlantAI-dev/tools/pymol-env/lib"
|
|
LIBS="-ljpeg -lz "
|
|
|
|
CC="${HDF4_CC:-$CCBASE}"
|
|
CLINKER="${HDF4_CLINKER:-$CLINKERBASE}"
|
|
|
|
# If a static library is available, the default will be to use it. If the only
|
|
# available library is shared, it will be used by default. The user can
|
|
# override either default, although choosing an unavailable library will result
|
|
# in link errors.
|
|
STATIC_AVAILABLE="yes"
|
|
if test "${STATIC_AVAILABLE}" = "yes"; then
|
|
USE_SHARED_LIB="${HDF4_USE_SHLIB:-no}"
|
|
else
|
|
USE_SHARED_LIB="${HDF4_USE_SHLIB:-yes}"
|
|
fi
|
|
|
|
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 HDF4 lib/ and include/"
|
|
echo " subdirectories [default: $prefix]"
|
|
echo " -show Show the commands without executing them"
|
|
echo " -shlib Compile with shared HDF4 libraries [default for hdf4 built"
|
|
echo " without static libraries]"
|
|
echo " -noshlib Compile with static HDF4 libraries [default for hdf4 built]"
|
|
echo " with static libraries]"
|
|
echo " "
|
|
echo " <compile line> - the normal compile line options for your compiler."
|
|
echo " $prog_name uses the same compiler you used to compile"
|
|
echo " HDF4. 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 " HDF4_CC - use a different C compiler"
|
|
echo " HDF4_CLINKER - use a different linker"
|
|
echo " HDF4_USE_SHLIB=[yes|no] - use shared or static version of the HDF4 library"
|
|
echo " [default: no]"
|
|
echo " "
|
|
exit 1
|
|
}
|
|
|
|
if test "$#" = "0"; then
|
|
# No parameters specified, issue usage statement and exit.
|
|
usage
|
|
fi
|
|
|
|
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 $output_file"
|
|
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"
|
|
do_link="no"
|
|
;;
|
|
-l*)
|
|
libraries=" $libraries $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
|
|
elif test "x$ext" = "x.a"; then
|
|
# This is an archive that we're linking in
|
|
libraries=" $libraries $arg "
|
|
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 -I$includedir $CPPFLAGS $CFLAGS $compile_args
|
|
status=$?
|
|
|
|
if test "$status" != "0"; then
|
|
exit $status
|
|
fi
|
|
fi
|
|
|
|
if test "x$do_link" = "xyes"; then
|
|
libraries=" $libraries -lmfhdf -ldf "
|
|
link_args="$link_args -L${libdir}"
|
|
|
|
if test "x$USE_SHARED_LIB" != "xyes"; then
|
|
# The "-ldf" & "-lmfhdf" flags are in here already...This is a static
|
|
# compile though, so change it to the static version (.a) of the library.
|
|
new_libraries=""
|
|
for lib in $libraries; do
|
|
case "$lib" in
|
|
-ldf)
|
|
new_libraries="$new_libraries ${libdir}/libdf.a"
|
|
;;
|
|
-lmfhdf)
|
|
new_libraries="$new_libraries ${libdir}/libmfhdf.a"
|
|
;;
|
|
*)
|
|
new_libraries="$new_libraries $lib"
|
|
;;
|
|
esac
|
|
done
|
|
libraries="$new_libraries"
|
|
fi
|
|
|
|
for lib in $libraries; do
|
|
if echo $link_args | grep " $lib " > /dev/null ||
|
|
echo $link_args | grep " $lib$" > /dev/null; then
|
|
:
|
|
else
|
|
link_args="$link_args $lib "
|
|
fi
|
|
done
|
|
|
|
# The LIBS are just a bunch of -l* libraries necessary for the HDF4
|
|
# module. It's okay if they're included twice in the compile line.
|
|
link_args="$link_args $LIBS"
|
|
|
|
$SHOW $CLINKER $CFLAGS $LDFLAGS $link_objs $link_args
|
|
status=$?
|
|
fi
|
|
|
|
exit $status
|