mirror of
https://github.com/chris2511/xca.git
synced 2026-09-14 11:06:19 +05:00
Add configuration values in the Options dialog to control the time when certificates get marked yellow and the expiration alarm time in calendar entries.
245 lines
7.7 KiB
Plaintext
245 lines
7.7 KiB
Plaintext
AC_INIT([X Certificate and Key management],
|
|
m4_esyscmd([tr -d '\n' < VERSION]),
|
|
[christian@hohnstaedt.de],
|
|
[xca],
|
|
[http://xca.hohnstaedt.de])
|
|
AC_MSG_NOTICE([ ***************************************************])
|
|
AC_MSG_NOTICE([ * ${PACKAGE_NAME} ${PACKAGE_VERSION}])
|
|
AC_MSG_NOTICE([ ***************************************************])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
AC_PROG_CXX
|
|
AC_LANG(C++)
|
|
AC_CHECK_TOOL(STRIP, [strip], [:])
|
|
|
|
DVERSION="`${CXX} --version | grep apple-darwin || :`"
|
|
case "$DVERSION" in
|
|
*-apple-darwin*) DARWIN="true" ;;
|
|
esac
|
|
|
|
if test -n "${DARWIN}"; then
|
|
AC_MSG_NOTICE([Mac OSX detected])
|
|
CXXFLAGS="${CXXFLAGS} -pipe -gdwarf-2 -Wno-overloaded-virtual"
|
|
fi
|
|
AC_SUBST([DARWIN])
|
|
AC_SUBST([MACDEPLOYQT])
|
|
|
|
export PKG_CONFIG_PATH
|
|
export LD_LIBRARY_PATH
|
|
if test -n "$DARWIN"; then
|
|
export DYLD_LIBRARY_PATH
|
|
fi
|
|
|
|
if test "$srcdir" != "."; then
|
|
exist=""
|
|
for f in Local.mak local.h commithash.h; do
|
|
test ! -r "$srcdir"/"$f" || exist="$exist $f"
|
|
done
|
|
if test -n "$exist"; then
|
|
AC_ERROR([The source directory (${srcdir}) contains the file(s):$exist.
|
|
They must be removed before building here.])
|
|
fi
|
|
fi
|
|
|
|
# Detect the OpenSSL libraries and header
|
|
#########################################
|
|
AC_ARG_WITH([openssl],
|
|
AS_HELP_STRING([--with-openssl], [Select the OpenSSL installation directory]),
|
|
[ if test -d "$withval"; then
|
|
_OPENSSLDIR="$withval"
|
|
else
|
|
AC_MSG_WARN([OpenSSL directory '$withval' does not exist or is not a directory])
|
|
fi
|
|
], [_OPENSSLDIR="$OPENSSLDIR"])
|
|
|
|
if test -n "${_OPENSSLDIR}" && test -d "${_OPENSSLDIR}"; then
|
|
_OPENSSLDIR=`cd ${_OPENSSLDIR} && pwd`
|
|
PKG_CONFIG_PATH="${_OPENSSLDIR}/lib/pkgconfig:${PKG_CONFIG_PATH}"
|
|
LD_LIBRARY_PATH="${_OPENSSLDIR}/lib:${LD_LIBRARY_PATH}"
|
|
DYLD_LIBRARY_PATH="${_OPENSSLDIR}/lib:${DYLD_LIBRARY_PATH}"
|
|
fi
|
|
|
|
PKG_CHECK_MODULES([OpenSSL],
|
|
[libcrypto >= 0.9.8], [ ],
|
|
[
|
|
OpenSSL_LIBS=" -lcrypto ";
|
|
AC_MSG_WARN([OpenSSL pkg-config failed, using fallback defaults (${OpenSSL_LIBS})]);
|
|
]
|
|
)
|
|
|
|
OPENSSL_LIBS="$OpenSSL_LIBS"
|
|
OPENSSL_CFLAGS="$OpenSSL_CFLAGS"
|
|
|
|
# Detect the Qt libraries and header
|
|
####################################
|
|
AC_ARG_WITH([qt],
|
|
AS_HELP_STRING([--with-qt], [Select the Qt installation directory]),
|
|
[ if test -d "$withval"; then
|
|
_QTDIR="$withval"
|
|
else
|
|
AC_MSG_WARN([Qt directory '$withval' does not exist or is not a directory])
|
|
fi
|
|
], [_QTDIR="${QTDIR}"])
|
|
|
|
if test -n "${_QTDIR}" && test -d "${_QTDIR}"; then
|
|
_QTDIR=`cd ${_QTDIR} && pwd`
|
|
PKG_CONFIG_PATH="${_QTDIR}/lib/pkgconfig:${PKG_CONFIG_PATH}"
|
|
LD_LIBRARY_PATH="${_QTDIR}/lib:${LD_LIBRARY_PATH}"
|
|
DYLD_LIBRARY_PATH="${_QTDIR}/lib:${DYLD_LIBRARY_PATH}"
|
|
fi
|
|
|
|
AC_ARG_WITH([qt-version],
|
|
AS_HELP_STRING([--with-qt-version], [Select the Qt version]),
|
|
[WANT_QT_VERSION="$withval"],
|
|
[WANT_QT_VERSION=detect])
|
|
|
|
if test "${WANT_QT_VERSION}" = detect -o "${WANT_QT_VERSION}" = 5; then
|
|
PKG_CHECK_MODULES(Qt5, [Qt5Core >= 5.0 Qt5Widgets >= 5.0 Qt5Sql >= 5.0], [
|
|
_QT_HOST_BINS="`pkg-config --variable=host_bins Qt5Core`"
|
|
QT_MOC="${_QT_HOST_BINS}/moc"
|
|
QT_UIC="${_QT_HOST_BINS}/uic"
|
|
if test -n "$DARWIN"; then
|
|
FRAMEDIR=`pkg-config --variable=libdir Qt5Core`
|
|
Qt5_CFLAGS="$Qt5_CFLAGS -std=c++11 -F${FRAMEDIR} -I${FRAMEDIR}/QtCore.framework/Headers -I${FRAMEDIR}/QtGui.framework/Headers -I${FRAMEDIR}/QtWdgets.framework/Headers -I${FRAMEDIR}/QtSql.framework/Headers -Xlinker -rpath -Xlinker ${FRAMEDIR}"
|
|
fi
|
|
WANT_QT_VERSION=5
|
|
QT_VERSION=5
|
|
QT_CFLAGS="${Qt5_CFLAGS} -fPIC"
|
|
QT_LIBS="${Qt5_LIBS}"
|
|
],[ : ])
|
|
fi
|
|
|
|
if test "${WANT_QT_VERSION}" = detect -o "${WANT_QT_VERSION}" = 4; then
|
|
PKG_CHECK_MODULES(Qt4, [QtCore >= 4.7 QtCore < 5.0 QtGui >= 4.7 QtGui < 5.0 QtSql >= 4.7 QtSql < 5.0], [
|
|
QT_MOC="`pkg-config --variable=moc_location QtCore`"
|
|
QT_UIC="`pkg-config --variable=uic_location QtCore`"
|
|
if test -n "${QT_MOC}"; then
|
|
_QT_HOST_BINS="`dirname ${QT_MOC}`"
|
|
fi
|
|
if test -n "$DARWIN"; then
|
|
FRAMEDIR=`pkg-config --variable=libdir QtCore`
|
|
Qt4_CFLAGS="$Qt4_CFLAGS -F${FRAMEDIR} -I${FRAMEDIR}/QtCore.framework/Headers -I${FRAMEDIR}/QtGui.framework/Headers -I${FRAMEDIR}/QtSql.framework/Headers -Xlinker -rpath -Xlinker ${FRAMEDIR}"
|
|
fi
|
|
WANT_QT_VERSION=4
|
|
QT_VERSION=4
|
|
QT_CFLAGS="${Qt4_CFLAGS}"
|
|
QT_LIBS="${Qt4_LIBS}"
|
|
],[ : ])
|
|
fi
|
|
|
|
if test -z "${QT_VERSION}"; then
|
|
if test -z "$DARWIN"; then
|
|
QT_LIBS=" -lQtCore -lQtGui "
|
|
else
|
|
_QT_HOST_BINS="${_QTDIR}/bin"
|
|
QT_MOC="${_QT_HOST_BINS}/moc"
|
|
QT_UIC="${_QT_HOST_BINS}/uic"
|
|
FRAMEDIR=${_QTDIR}/lib
|
|
QT_LIBS=" -framework QtGui -framework QtCore -framework QtWidgets -framework QtSql -Xlinker -rpath -Xlinker ${FRAMEDIR}"
|
|
QT_CFLAGS="-std=c++11 -F${FRAMEDIR} -I${FRAMEDIR}/QtCore.framework/Headers -I${FRAMEDIR}/QtGui.framework/Headers -I${FRAMEDIR}/QtCore.framework/Headers -I${FRAMEDIR}/QtWidgets.framework/Headers -I${FRAMEDIR}/QtSql.framework/Headers"
|
|
fi
|
|
AC_MSG_WARN([Qt pkg-config failed, using fallback defaults (${QT_LIBS})]);
|
|
fi
|
|
|
|
AC_SUBST([QT_CFLAGS])
|
|
AC_SUBST([QT_LIBS])
|
|
|
|
# Setup MOC UIC RCC LRELEASE LCONVERT with absolute PATH
|
|
if test "x${QT_MOC}" = "x"; then
|
|
QT_MOC="`which moc-qt${QT_VERSION} || which moc`"
|
|
fi
|
|
if test "x${QT_UIC}" = "x"; then
|
|
QT_UIC="`which uic-qt${QT_VERSION} || which uic`"
|
|
fi
|
|
|
|
QT_BIN_PATH="${_QT_HOST_BINS}:$PATH"
|
|
|
|
AC_PATH_PROG([QT_LRELEASEQT], [lrelease-qt${QT_VERSION}], , [$QT_BIN_PATH])
|
|
if test "x${QT_LRELEASEQT}" = "x"; then
|
|
AC_PATH_PROG([QT_LRELEASE], [lrelease], [lrelease], [$QT_BIN_PATH])
|
|
else
|
|
QT_LRELEASE="$QT_LRELEASEQT"
|
|
fi
|
|
|
|
AC_PATH_PROG([QT_LCONVERTQT], [lconvert-qt${QT_VERSION}], , [$QT_BIN_PATH])
|
|
if test "x${QT_LCONVERTQT}" = "x"; then
|
|
AC_PATH_PROG([QT_LCONVERT], [lconvert], [lconvert], [$QT_BIN_PATH])
|
|
else
|
|
QT_LCONVERT="$QT_LCONVERTQT"
|
|
fi
|
|
|
|
AC_PATH_PROG([QT_RCCQT], [rcc-qt${QT_VERSION}], , [$QT_BIN_PATH])
|
|
if test "x${QT_RCCQT}" = "x"; then
|
|
AC_PATH_PROG([QT_RCC], [rcc], [rcc], [$QT_BIN_PATH])
|
|
else
|
|
QT_RCC="$QT_RCCQT"
|
|
fi
|
|
|
|
|
|
if test -n "$DARWIN"; then
|
|
AC_PATH_PROG([MACDEPLOYQT], [macdeployqt], [macdeployqt], [$QT_BIN_PATH])
|
|
fi
|
|
|
|
AC_SUBST([QT_MOC])
|
|
AC_SUBST([QT_UIC])
|
|
AC_SUBST([QT_LRELEASE])
|
|
AC_SUBST([QT_LCONVERT])
|
|
AC_SUBST([QT_RCC])
|
|
|
|
# The dyn_loader library libltdl
|
|
##################################
|
|
AC_CHECK_LIB(ltdl, lt_dlopen, , [
|
|
echo "ERROR: Library 'ltdl' with symbol 'lt_dlopen' not found."
|
|
echo " Try installing the package 'libltdl-dev' or 'libtool'"
|
|
exit 1
|
|
])
|
|
AC_CHECK_HEADER(ltdl.h, , [
|
|
echo "ERROR: Header 'ltdl.h' not found."
|
|
echo " Try installing the package 'libltdl-dev' or 'libtool'"
|
|
exit 1
|
|
])
|
|
|
|
# Finally collect the compiler flags
|
|
#####################################
|
|
CXXFLAGS="${CXXFLAGS} ${OPENSSL_CFLAGS} ${QT_CFLAGS}"
|
|
LIBS="${LIBS} ${OPENSSL_LIBS} ${QT_LIBS}"
|
|
|
|
# Just give it a try .....
|
|
##########################
|
|
|
|
XCA_COMPILE_TEST()
|
|
|
|
AX_CHECK_GNU_MAKE()
|
|
|
|
# linuxdoc application detection
|
|
##################################
|
|
AC_ARG_ENABLE([doc],
|
|
AS_HELP_STRING([--disable-doc], [Disable documentation installation]),
|
|
,
|
|
[enable_doc=yes])
|
|
test "${enable_doc}" = "yes" && ENABLE_DOC= || ENABLE_DOC='\#'
|
|
AC_SUBST([ENABLE_DOC])
|
|
|
|
if test "${enable_doc}"; then
|
|
AC_CHECK_PROGS([DOCTOOL], [linuxdoc sgml2html], [":"])
|
|
AC_SUBST([DOCTOOL])
|
|
|
|
case "$DOCTOOL" in
|
|
linuxdoc) DOCTOOL="linuxdoc -B html -H \$(TOPDIR)/doc/html.header";;
|
|
sgml2html) DOCTOOL="sgml2html -s 1 -H \$(TOPDIR)/doc/html.header";;
|
|
:)
|
|
if test "${srcdir}" != "."; then
|
|
mkdir -p doc
|
|
cp ${srcdir}/doc/xca-doc.tgz doc/
|
|
fi
|
|
AC_MSG_WARN(['linuxdoc' or 'sgml2html' not found, using pre-compiled documentation])
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
# Setup done. Write local.h and Local.mak
|
|
############################################
|
|
AC_CONFIG_HEADERS(local.h)
|
|
AC_CONFIG_LINKS(Makefile:Makefile)
|
|
AC_OUTPUT([Local.mak])
|
|
AC_OUTPUT([misc/Info.plist])
|