simplify external module check with macro

- a >12.000 LOC configure.ac is more than enough for everybody
- removing some 100 lines cant hurt
- the SYSTEM_LIBCDR=$SYSTEM_CDR stuff should be removed in a later step,
  by renaming them in the build

Change-Id: I5c065c5c341561258800a124b0fc1f40b3d59211
This commit is contained in:
Bjoern Michaelsen
2013-02-16 15:34:03 +01:00
parent c45e45c5c3
commit a2dbcf1e72
2 changed files with 84 additions and 152 deletions

View File

@@ -7135,6 +7135,10 @@ if test "$with_system_zlib" = "auto"; then
esac esac
fi fi
dnl we want to use libo_CHECK_SYSTEM_MODULE here too, but OS X is too stupid
dnl and has no pkg-config for it at least on some tinderboxes,
dnl so leaving that out for now
dnl libo_CHECK_SYSTEM_MODULE([zlib],[ZLIB],[zlib])
AC_MSG_CHECKING([which zlib to use]) AC_MSG_CHECKING([which zlib to use])
if test "$with_system_zlib" = "yes"; then if test "$with_system_zlib" = "yes"; then
AC_MSG_RESULT([external]) AC_MSG_RESULT([external])
@@ -7185,15 +7189,12 @@ fi
AC_SUBST(SYSTEM_JPEG) AC_SUBST(SYSTEM_JPEG)
AC_SUBST([MINGW_JPEG_DLL]) AC_SUBST([MINGW_JPEG_DLL])
dnl =================================================================== dnl ===================================================================
dnl Check for system clucene dnl Check for system clucene
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which clucene to use]) libo_CHECK_SYSTEM_MODULE([clucence],[CLUCENE],[liblucence-core])
if test "$with_system_clucene" = "yes"; then if test "$with_system_clucene" = "yes"; then
AC_MSG_RESULT([external])
SYSTEM_CLUCENE=YES
PKG_CHECK_MODULES(CLUCENE, libclucene-core)
AC_LANG_PUSH([C++]) AC_LANG_PUSH([C++])
save_CXXFLAGS=$CXXFLAGS save_CXXFLAGS=$CXXFLAGS
save_CPPFLAGS=$CPPFLAGS save_CPPFLAGS=$CPPFLAGS
@@ -7208,175 +7209,96 @@ if test "$with_system_clucene" = "yes"; then
AC_LANG_POP([C++]) AC_LANG_POP([C++])
CLUCENE_LIBS="$CLUCENE_LIBS -lclucene-contribs-lib" CLUCENE_LIBS="$CLUCENE_LIBS -lclucene-contribs-lib"
else
AC_MSG_RESULT([internal])
SYSTEM_CLUCENE=NO
BUILD_TYPE="$BUILD_TYPE CLUCENE"
fi fi
AC_SUBST(SYSTEM_CLUCENE)
AC_SUBST(CLUCENE_CFLAGS)
AC_SUBST(CLUCENE_LIBS)
dnl =================================================================== dnl ===================================================================
dnl Check for system expat dnl Check for system expat
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which expat to use]) libo_CHECK_SYSTEM_MODULE([expat],[EXPAT],[expat])
if test "$with_system_expat" = "yes"; then if test "$with_system_expat" = "yes"; then
AC_MSG_RESULT([external])
SYSTEM_EXPAT=YES
AC_CHECK_HEADER(expat.h, [],
[AC_MSG_ERROR(expat.h not found. install expat)], [])
AC_CHECK_LIB([expat], [XML_ParserCreate], [:],
[AC_MSG_RESULT(expat library not found or functional.)], [])
libo_MINGW_CHECK_DLL([EXPAT], [libexpat]) libo_MINGW_CHECK_DLL([EXPAT], [libexpat])
else fi
AC_MSG_RESULT([internal])
SYSTEM_EXPAT=NO
BUILD_TYPE="$BUILD_TYPE EXPAT"
fi
AC_SUBST(SYSTEM_EXPAT)
AC_SUBST([MINGW_EXPAT_DLL]) AC_SUBST([MINGW_EXPAT_DLL])
dnl =================================================================== dnl ===================================================================
dnl Check for system libcdr dnl Check for system libcdr
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which libcdr to use]) if test $_os = iOS; then
if test "$with_system_libcdr" = "yes"; then # libcdr depends on libwpd and libwpg and those are LGPL, publishing empty flags
AC_MSG_RESULT([external]) libo_PUBLISH_MODULE([CDR])
SYSTEM_LIBCDR=YES
PKG_CHECK_MODULES( CDR, libcdr-0.0 >= 0.0.5 )
elif test $_os = iOS; then
# libcdr depends on libwpd and libwpg and those are LGPL
AC_MSG_RESULT([none])
else else
AC_MSG_RESULT([internal]) libo_CHECK_SYSTEM_MODULE([libcdr],[CDR],[libcdr-0.0 >= 0.0.5])
SYSTEM_LIBCDR=NO
BUILD_TYPE="$BUILD_TYPE CDR"
fi fi
SYSTEM_LIBCDR=$SYSTEM_CDR
AC_SUBST(SYSTEM_LIBCDR) AC_SUBST(SYSTEM_LIBCDR)
AC_SUBST(CDR_CFLAGS)
AC_SUBST(CDR_LIBS)
dnl =================================================================== dnl ===================================================================
dnl Check for system libmspub dnl Check for system libmspub
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which libmspub to use]) if test $_os = iOS; then
if test "$with_system_libmspub" = "yes"; then # libmspub depends on libwpd and libwpg and those are LGPL, publishing empty flags
AC_MSG_RESULT([external]) libo_PUBLISH_MODULE([MSPUB])
SYSTEM_LIBMSPUB=YES
PKG_CHECK_MODULES( MSPUB, libmspub-0.0 )
elif test $_os = iOS; then
# libmspub depends on libwpd and libwpg and those are LGPL
AC_MSG_RESULT([none])
else else
AC_MSG_RESULT([internal]) libo_CHECK_SYSTEM_MODULE([libmspub],[MSPUB],[libmspub-0.0])
SYSTEM_LIBMSPUB=NO
BUILD_TYPE="$BUILD_TYPE MSPUB"
fi fi
SYSTEM_LIBMSPUB=$SYSTEM_MSPUB
AC_SUBST(SYSTEM_LIBMSPUB) AC_SUBST(SYSTEM_LIBMSPUB)
AC_SUBST(MSPUB_CFLAGS)
AC_SUBST(MSPUB_LIBS)
dnl =================================================================== dnl ===================================================================
dnl Check for system libvisio dnl Check for system libvisio
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which libvisio to use]) if test $_os = iOS; then
if test "$with_system_libvisio" = "yes"; then # libvisio depends on libwpd and libwpg and those are LGPL, publishing empty flags
AC_MSG_RESULT([external]) libo_PUBLISH_MODULE([VISIO])
SYSTEM_LIBVISIO=YES
PKG_CHECK_MODULES( VISIO, libvisio-0.0 )
elif test $_os = iOS; then
# libvisio depends on libwpd and libwpg and those are LGPL
AC_MSG_RESULT([none])
else else
AC_MSG_RESULT([internal]) libo_CHECK_SYSTEM_MODULE([libvisio],[VISIO],[libvisio-0.0])
SYSTEM_LIBVISIO=NO
BUILD_TYPE="$BUILD_TYPE VISIO"
fi fi
SYSTEM_LIBVISIO=$SYSTEM_VISIO
AC_SUBST(SYSTEM_LIBVISIO) AC_SUBST(SYSTEM_LIBVISIO)
AC_SUBST(VISIO_CFLAGS)
AC_SUBST(VISIO_LIBS)
dnl =================================================================== dnl ===================================================================
dnl Check for system libcmis dnl Check for system libcmis
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which libcmis to use]) libo_CHECK_SYSTEM_MODULE([libcmis],[CMIS],[libcmis-0.3 >= 0.3.0])
if test "$with_system_libcmis" = "yes"; then SYSTEM_LIBCMIS=$SYSTEM_CMIS
AC_MSG_RESULT([external])
SYSTEM_LIBCMIS=YES
PKG_CHECK_MODULES( CMIS, libcmis-0.3 >= 0.3.0 )
else
AC_MSG_RESULT([internal])
SYSTEM_LIBCMIS=NO
BUILD_TYPE="$BUILD_TYPE CMIS"
fi
AC_SUBST(SYSTEM_LIBCMIS) AC_SUBST(SYSTEM_LIBCMIS)
AC_SUBST(CMIS_CFLAGS)
AC_SUBST(CMIS_LIBS)
dnl =================================================================== dnl ===================================================================
dnl Check for system libwpd dnl Check for system libwpd
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which libwpd to use]) if test $_os = iOS; then
if test "$with_system_libwpd" = "yes"; then libo_PUBLISH_MODULE([WPD])
AC_MSG_RESULT([external])
SYSTEM_LIBWPD=YES
PKG_CHECK_MODULES( WPD, libwpd-0.9 libwpd-stream-0.9 )
elif test $_os = iOS; then
AC_MSG_RESULT([none])
else else
AC_MSG_RESULT([internal]) if test "$with_system_libwpd" = "no"; then
SYSTEM_LIBWPD=NO WPD_CFLAGS="-I${OUTDIR}/inc/external"
WPD_CFLAGS="-I${OUTDIR}/inc/external" WPD_LIBS="-L${OUTDIR}/lib -lwpdlib"
WPD_LIBS="-L${OUTDIR}/lib -lwpdlib" fi
BUILD_TYPE="$BUILD_TYPE WPD" libo_CHECK_SYSTEM_MODULE([libwpd],[WPD],[libwpd-0.9 libwpd-stream-0.9])
fi fi
SYSTEM_LIBWPD=$SYSTEM_WPD
AC_SUBST(SYSTEM_LIBWPD) AC_SUBST(SYSTEM_LIBWPD)
AC_SUBST(WPD_CFLAGS)
AC_SUBST(WPD_LIBS)
dnl =================================================================== dnl ===================================================================
dnl Check for system lcms2 dnl Check for system lcms2
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which littlecms v2 to use])
if test "$with_system_lcms2" = "yes"; then if test "$with_system_lcms2" = "yes"; then
AC_MSG_RESULT([external])
SYSTEM_LCMS2=YES
PKG_CHECK_MODULES( LCMS2, lcms2 )
libo_MINGW_CHECK_DLL([LCMS2], [liblcms2]) libo_MINGW_CHECK_DLL([LCMS2], [liblcms2])
else else
AC_MSG_RESULT([internal])
SYSTEM_LCMS2=NO SYSTEM_LCMS2=NO
LCMS2_LIBS="-L${OUTDIR}/lib -llcms2" LCMS2_LIBS="-L${OUTDIR}/lib -llcms2"
LCMS2_CFLAGS="-I${WORKDIR}/UnpackedTarball/lcms2/include" LCMS2_CFLAGS="-I${WORKDIR}/UnpackedTarball/lcms2/include"
if test "$GCC" = "yes"; then if test "$GCC" = "yes"; then
LCMS2_CFLAGS="${LCMS2_CFLAGS} -Wno-long-long" LCMS2_CFLAGS="${LCMS2_CFLAGS} -Wno-long-long"
fi fi
BUILD_TYPE="$BUILD_TYPE LCMS2"
fi fi
AC_SUBST(SYSTEM_LCMS2) libo_CHECK_SYSTEM_MODULE([lcms2],[LCMS2],[lcms2])
AC_SUBST(LCMS2_CFLAGS)
AC_SUBST(LCMS2_LIBS)
AC_SUBST([MINGW_LCMS2_DLL]) AC_SUBST([MINGW_LCMS2_DLL])
dnl =================================================================== dnl ===================================================================
dnl Check for system cppunit dnl Check for system cppunit
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which cppunit to use]) libo_CHECK_SYSTEM_MODULE([cppunit],[CPPUNIT],[cppunit >= 1.12.0])
if test "$with_system_cppunit" = "yes"; then
AC_MSG_RESULT([external])
SYSTEM_CPPUNIT=YES
# might work for earlier, too but go sure:
PKG_CHECK_MODULES( CPPUNIT, cppunit >= 1.12.0 )
else
AC_MSG_RESULT([internal])
SYSTEM_CPPUNIT=NO
BUILD_TYPE="$BUILD_TYPE CPPUNIT"
fi
AC_SUBST(SYSTEM_CPPUNIT)
AC_SUBST(CPPUNIT_CFLAGS)
AC_SUBST(CPPUNIT_LIBS)
dnl =================================================================== dnl ===================================================================
dnl Check whether freetype is available dnl Check whether freetype is available
@@ -7397,44 +7319,32 @@ AC_SUBST(FREETYPE_LIBS)
dnl =================================================================== dnl ===================================================================
dnl Check for system libwps dnl Check for system libwps
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which libwps to use]) if test $_os = iOS; then
if test "$with_system_libwps" = "yes"; then libo_PUBLISH_MODULE([WPS])
AC_MSG_RESULT([external])
SYSTEM_LIBWPS=YES
PKG_CHECK_MODULES( WPS, libwps-0.2 )
elif test $_os = iOS; then
AC_MSG_RESULT([none])
else else
AC_MSG_RESULT([internal]) if test "$with_system_libwps" = "no"; then
SYSTEM_LIBWPS=NO WPS_CFLAGS="-I${OUTDIR}/inc/external"
WPS_CFLAGS="-I${OUTDIR}/inc/external" WPS_LIBS="-L${OUTDIR}/lib -lwpslib"
WPS_LIBS="-L${OUTDIR}/lib -lwpslib" fi
BUILD_TYPE="$BUILD_TYPE WPS" libo_CHECK_SYSTEM_MODULE([libwps],[WPS],[libwps-0.2])
fi fi
SYSTEM_LIBWPS=$SYSTEM_WPS
AC_SUBST(SYSTEM_LIBWPS) AC_SUBST(SYSTEM_LIBWPS)
AC_SUBST(WPS_CFLAGS)
AC_SUBST(WPS_LIBS)
dnl =================================================================== dnl ===================================================================
dnl Check for system libwpg dnl Check for system libwpg
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which libwpg to use]) if test $_os = iOS; then
if test "$with_system_libwpg" = "yes"; then libo_PUBLISH_MODULE([WPD])
AC_MSG_RESULT([external])
SYSTEM_LIBWPG=YES
PKG_CHECK_MODULES( WPG, libwpg-0.2 )
elif test $_os = iOS; then
AC_MSG_RESULT([none])
else else
AC_MSG_RESULT([internal]) if test "$with_system_libwpg" = "no"; then
SYSTEM_LIBWPG=NO WPG_CFLAGS="-I${OUTDIR}/inc/external"
WPG_CFLAGS="-I${OUTDIR}/inc/external" WPG_LIBS="-L${OUTDIR}/lib -lwpglib"
WPG_LIBS="-L${OUTDIR}/lib -lwpglib" fi
BUILD_TYPE="$BUILD_TYPE WPG" libo_CHECK_SYSTEM_MODULE([libwpg],[WPG],[libwpg-0.2])
fi fi
SYSTEM_LIBWPG=$SYSTEM_WPG
AC_SUBST(SYSTEM_LIBWPG) AC_SUBST(SYSTEM_LIBWPG)
AC_SUBST(WPG_CFLAGS)
AC_SUBST(WPG_LIBS)
dnl =================================================================== dnl ===================================================================
dnl Check whether freetype2 supports emboldening dnl Check whether freetype2 supports emboldening
@@ -9117,24 +9027,16 @@ fi
AC_SUBST(SYSTEM_LPSOLVE) AC_SUBST(SYSTEM_LPSOLVE)
AC_SUBST([MINGW_LPSOLVE_DLL]) AC_SUBST([MINGW_LPSOLVE_DLL])
dnl =================================================================== dnl ===================================================================
dnl Checking for libexttextcat dnl Checking for libexttextcat
dnl =================================================================== dnl ===================================================================
AC_MSG_CHECKING([which libexttextcat to use]) libo_CHECK_SYSTEM_MODULE([libexttextcat],[LIBEXTTEXTCAT],[libexttextcat >= 3.1.1])
if test "$with_system_libexttextcat" = "yes"; then if test "$with_system_libexttextcat" = "yes"; then
AC_MSG_RESULT([external])
SYSTEM_LIBEXTTEXTCAT=YES
PKG_CHECK_MODULES([LIBEXTTEXTCAT], [libexttextcat >= 3.1.1])
SYSTEM_LIBEXTTEXTCAT_DATA=file://`$PKG_CONFIG --variable=pkgdatadir libexttextcat` SYSTEM_LIBEXTTEXTCAT_DATA=file://`$PKG_CONFIG --variable=pkgdatadir libexttextcat`
else
AC_MSG_RESULT([internal])
SYSTEM_LIBEXTTEXTCAT=NO
BUILD_TYPE="$BUILD_TYPE LIBEXTTEXTCAT"
fi fi
AC_SUBST(SYSTEM_LIBEXTTEXTCAT)
AC_SUBST(SYSTEM_LIBEXTTEXTCAT_DATA) AC_SUBST(SYSTEM_LIBEXTTEXTCAT_DATA)
AC_SUBST(LIBEXTTEXTCAT_CFLAGS)
AC_SUBST(LIBEXTTEXTCAT_LIBS)
dnl *************************************** dnl ***************************************
dnl testing libc version for Linux... dnl testing libc version for Linux...

30
m4/libo_externals.m4 Normal file
View File

@@ -0,0 +1,30 @@
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
AC_DEFUN([libo_PUBLISH_MODULE],
[
true
AC_SUBST([SYSTEM_$1])
AC_SUBST([$1_CFLAGS])
AC_SUBST([$1_LIBS])
])
AC_DEFUN([libo_CHECK_SYSTEM_MODULE], [
AC_MSG_CHECKING([which $1 to use])
if test "$with_system_$1" = "yes"; then
AC_MSG_RESULT([external])
SYSTEM_$2=YES
PKG_CHECK_MODULES([$2], [$3])
else
AC_MSG_RESULT([internal])
SYSTEM_$2=NO
BUILD_TYPE="$BUILD_TYPE $2"
fi
libo_PUBLISH_MODULE([$2])
])
# vim: set noet sw=4 ts=4: