Make it possible to build libraries as static libraries only.

This commit is contained in:
Jonathan Schleifer 2008-12-23 14:36:26 +01:00
parent 142ae8f527
commit 3cc4402fcc
2 changed files with 48 additions and 6 deletions

View file

@ -150,12 +150,19 @@ ${PROG} ${PROG_NOINST}: ${EXT_DEPS} ${OBJS}
fi fi
${LIB} ${LIB_NOINST}: ${EXT_DEPS} ${OBJS} ${LIB} ${LIB_NOINST}: ${EXT_DEPS} ${OBJS}
${LINK_STATUS} case $@ in \
if ${LD} -o $@ ${OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \ *.a) \
${LINK_OK}; \ ${MAKE} ${MFLAGS} STATIC_LIB=${LIB} LIB= $@ || exit 1 \
else \ ;; \
${LINK_FAILED}; \ *) \
fi ${LINK_STATUS}; \
if ${LD} -o $@ ${OBJS} ${LIB_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
${LINK_OK}; \
else \
${LINK_FAILED}; \
fi \
;; \
esac
${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${OBJS} ${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${OBJS}
${LINK_STATUS} ${LINK_STATUS}

View file

@ -20,6 +20,18 @@ dnl ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
dnl POSSIBILITY OF SUCH DAMAGE. dnl POSSIBILITY OF SUCH DAMAGE.
dnl dnl
AC_DEFUN([BUILDSYS_LIB], [
AC_ARG_ENABLE(shared,
[ --disable-shared don't build shared libraries],
enable_shared="$enableval")
if test x"$enableval" = x"no"; then
BUILDSYS_STATIC_LIB_ONLY
else
BUILDSYS_SHARED_LIB
fi
])
AC_DEFUN([BUILDSYS_PROG_IMPLIB], [ AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
AC_MSG_CHECKING(whether we need an implib) AC_MSG_CHECKING(whether we need an implib)
case "$target" in case "$target" in
@ -133,6 +145,29 @@ AC_DEFUN([BUILDSYS_SHARED_LIB], [
AC_SUBST(CLEAN_LIB) AC_SUBST(CLEAN_LIB)
]) ])
AC_DEFUN([BUILDSYS_STATIC_LIB_ONLY], [
AC_PATH_PROG(AR, ar)
AC_PROG_RANLIB
LIB_CPPFLAGS=''
LIB_CFLAGS=''
LIB_LDFLAGS=''
LIB_PREFIX='lib'
LIB_SUFFIX='.a'
INSTALL_LIB='${INSTALL} -m 644 $$i ${DESTDIR}${libdir}/$$i'
UNINSTALL_LIB='rm -f ${DESTDIR}${libdir}/$$i'
CLEAN_LIB=''
AC_SUBST(LIB_CPPFLAGS)
AC_SUBST(LIB_CFLAGS)
AC_SUBST(LIB_LDFLAGS)
AC_SUBST(LIB_PREFIX)
AC_SUBST(LIB_SUFFIX)
AC_SUBST(INSTALL_LIB)
AC_SUBST(UNINSTALL_LIB)
AC_SUBST(CLEAN_LIB)
])
AC_DEFUN([BUILDSYS_TOUCH_DEPS], [ AC_DEFUN([BUILDSYS_TOUCH_DEPS], [
${as_echo:="echo"} "${as_me:="configure"}: touching .deps files" ${as_echo:="echo"} "${as_me:="configure"}: touching .deps files"
for i in $(find . -name Makefile); do for i in $(find . -name Makefile); do