mirror of
https://github.com/obgm/libcoap.git
synced 2026-11-07 10:12:53 +03:00
The old behaviour on testing for CUnit library and header files (that
are needed while building the internal testbinary) was done on manually
search for the header and the library file without a real need because
CUnit ships a pkg-config file with a version for longer time.
By using the PKG_CHECK_MODULES macro the check is much easier as the
pkg-config file is serving all the needed information like the search
path for the header files as also LDFLAGS for linking against. This
ensures the environment variables are always setup correctly.
Note that FreeBSD uses for example /usr/include and /user/local/include
for the header files, the pkg-config files can be found in
/usr{/local}/libdata/pkgconfig. The pkg-config file will pick up the
right places then.
134 lines
3.2 KiB
Bash
Executable File
134 lines
3.2 KiB
Bash
Executable File
#!/bin/sh -e
|
|
|
|
# uncomment the set command for debugging
|
|
#set -x
|
|
|
|
# function to check for needed helper tools
|
|
check_helper() {
|
|
#echo "Checking for $1 ..."
|
|
TOOL=`which "$1" || echo none`
|
|
|
|
if [ "$TOOL" = "none" ]; then
|
|
echo
|
|
echo "Couldn't find '$1'!"
|
|
RET=1
|
|
else
|
|
RET=0
|
|
fi
|
|
}
|
|
|
|
PROJECT="libcoap"
|
|
|
|
AUTOGEN_FILES="
|
|
INSTALL
|
|
aclocal.m4 ar-lib
|
|
coap_config.h coap_config.h.in* compile config.guess config.h* config.log config.status config.sub configure
|
|
depcomp
|
|
doc/Doxyfile doc/doxyfile.stamp doc/doxygen_sqlite3.db doc/Makefile doc/Makefile.in
|
|
examples/*.o examples/coap-client examples/coap-server examples/coap-rd
|
|
examples/coap-*.5 examples/coap-*.txt examples/Makefile.in
|
|
include/coap/coap.h
|
|
install-sh
|
|
libcoap-1.pc libtool ltmain.sh
|
|
missing
|
|
Makefile Makefile.in
|
|
stamp-h1 src/.dirstamp libcoap*.la* src/*.*o
|
|
tests/*.o tests/Makefile tests/testdriver
|
|
m4/libtool.m4 m4/lt~obsolete.m4 m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4
|
|
"
|
|
|
|
AUTOGEN_DIRS="
|
|
.deps
|
|
.libs autom4te.cache/
|
|
doc/html/
|
|
examples/.deps/ examples/.libs
|
|
src/.deps/ src/.libs/
|
|
tests/.deps/
|
|
"
|
|
|
|
# checking for cleaner argument
|
|
echo
|
|
if [ "$1" = "--clean" ]; then
|
|
echo "removing autogerated files ..."
|
|
rm -rf $AUTOGEN_FILES $AUTOGEN_DIRS
|
|
echo "done"
|
|
exit
|
|
else
|
|
echo "[HINT] You can run 'autogen.sh --clean' to remove all generated files by the autotools."
|
|
echo
|
|
fi
|
|
|
|
# checking for autoreconf
|
|
check_helper autoconf
|
|
if [ "$RET" = "1" ]; then
|
|
echo "You probably need to install the package 'autoconf'."
|
|
ERROR=1
|
|
else
|
|
echo "Found 'autoconf'."
|
|
fi
|
|
|
|
# checking for aclocal
|
|
check_helper aclocal
|
|
if [ "$RET" = "1" ]; then
|
|
echo "You probably need to install the package 'automake'."
|
|
ERROR=1
|
|
else
|
|
echo "Found 'aclocal'."
|
|
fi
|
|
|
|
# checking for pkg-config
|
|
check_helper pkg-config
|
|
if [ "$RET" = "1" ]; then
|
|
echo "You probably need to install the package 'pkg-config|pkgconf'."
|
|
ERROR=1
|
|
else
|
|
echo "Found 'pkg-config'."
|
|
fi
|
|
|
|
# checking for libtool
|
|
# The libtool helper maybe installed as 'libtoolize', checking for 'libtool' first.
|
|
check_helper libtool
|
|
if [ "$RET" = "1" ]; then
|
|
# O.k. libtool not found, searching for libtoolize.
|
|
check_helper libtoolize
|
|
if [ "$RET" = "1" ]; then
|
|
echo "You probably need to install the package 'libtool'."
|
|
# That's bad, we found nothing!
|
|
ERROR=1
|
|
else
|
|
echo "Found 'libtoolize'."
|
|
break
|
|
fi
|
|
else
|
|
echo "Found 'libtool'."
|
|
fi
|
|
|
|
# exit if one tool isn't available
|
|
if [ "$ERROR" = "1" ]; then
|
|
echo
|
|
echo "One or more needed tools are missing, exiting ..."
|
|
echo "Please install the needed software packages and restart 'autogen.sh' again."
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
echo
|
|
echo " ---> Found all needed tools! That's fine."
|
|
echo
|
|
|
|
# countinue otherwise
|
|
test -n "$srcdir" || srcdir=`dirname "$0"`
|
|
test -n "$srcdir" || srcdir=.
|
|
|
|
# Creating the directory m4 before calling autoreconf to
|
|
# not struggle with old versions of aclocal.
|
|
mkdir -p $srcdir/m4
|
|
|
|
echo "Generating needed autotools files for $PROJECT by running autoreconf ..."
|
|
autoreconf --force --install --verbose "$srcdir"
|
|
|
|
echo
|
|
echo "You can now run 'configure --help' to see possible configuration options."
|
|
echo "Otherwise process the configure script to create the makefiles and generated helper files."
|
|
echo
|