libfir/src/libfir++/build.lib

57 lines
1.3 KiB
Bash

# These are external variables, and shouldn't clash with anything else
# libfirpp
# libfirpp_BUILT
# libfirpp_HEADER
# libfirpp_BASE
# libfirpp_DEP_CFLAGS
# libfirpp_DEP_LIBS
if [ -z ${libfirpp_BUILT} ]
then
libfirpp_BASE=libfir++
source src/libfir++/soversion
libfirpp="obj/${libfirpp_BASE}.so.${SOMAJOR}.${SOMICRO}"
libfirpp_DEP_CFLAGS="" # @TODO@ cflags
libfirpp_DEP_LIBS="" # @TODO@ libs
SO_EXTRA="${libfirpp_DEP_CFLAGS} ${libfirpp_DEP_LIBS} -lstdc++ -lc \
-D_GNU_SOURCE"
echo "Building library ${libfirpp}..."
do_cmd source src/libfir++/build.monolithic || return 1
MODIFIED=0
for test in ${MONOLITHIC_TESTS} ${HDR} ${SRC}
do
if [ ${test} -nt ${libfirpp} ]
then
MODIFIED=1
break
fi
done
if [ ${MODIFIED} -ne 0 ]
then
echo " Compiling"
SONAME="${libfirpp_BASE}.so.${SOMAJOR}"
do_cmd ${CXX} ${CFLAGS} -Iobj -shared -fpic -o "${libfirpp}" \
-Wl,-soname,${SONAME} \
${SRC} ${SO_EXTRA} || return 1
# make tests work
do_cmd ln -sf $(basename ${libfirpp}) obj/${SONAME} || return 1
print_success "Library built"
else
print_success "Library up to date"
fi
libfirpp_BUILT=1
libfirpp_HEADER=${HDR}
fi
# vim: syntax=sh:expandtab:ts=4:sw=4