libiso8601/src/libiso8601/build.lib

58 lines
1.5 KiB
Bash

# These are external variables, and shouldn't clash with anything else
# libiso8601
# libiso8601_BUILT
# libiso8601_HEADER
# libiso8601_BASE
# libiso8601_DEP_CFLAGS
# libiso8601_DEP_LIBS
if [ -z ${libiso8601_BUILT} ]
then
libiso8601_BASE=libiso8601
source src/libiso8601/soversion
libiso8601="obj/${libiso8601_BASE}.so.${SOMAJOR}.${SOMICRO}"
libiso8601_DEP_CFLAGS=""
libiso8601_DEP_LIBS="-lrt"
SO_EXTRA="${libiso8601_DEP_CFLAGS} ${libiso8601_DEP_LIBS} -lc \
-D_GNU_SOURCE -std=gnu99 \
-DDEFAULT_LEAP_TABLE=\"${DEFAULT_LEAP_TABLE}\""
echo "Building library ${libiso8601}..."
do_cmd source src/libiso8601/build.monolithic || return 1
MODIFIED=0
for test in ${MONOLITHIC_TESTS} ${HDR} ${SRC}
do
if [ ${test} -nt ${libiso8601} ]
then
MODIFIED=1
break
fi
done
if [ ${MODIFIED} -ne 0 ]
then
echo " Compiling"
SONAME="${libiso8601_BASE}.so.${SOMAJOR}"
do_cmd ${CC} ${CFLAGS} -Iobj -shared -fpic -o "${libiso8601}" \
-Wl,-soname,${SONAME} \
${SRC} ${SO_EXTRA} || return 1
# make tests and linking work
do_cmd ln -sf "$(basename "${libiso8601}")" "obj/${SONAME}" || return 1
do_cmd ln -sf "$(basename "${libiso8601}")" "obj/${libiso8601_BASE}.so" || return 1
print_success "Library built"
else
print_success "Library up to date"
fi
libiso8601_BUILT=1
libiso8601_HEADER=${HDR}
fi
# vim: syntax=sh:expandtab:ts=4:sw=4