xcb.m4 revision 1016ad83
11016ad83Smrgdnl Detection and configuration of the visibility feature of gcc
21016ad83Smrgdnl Vincent Torri 2006-02-11
31016ad83Smrgdnl
41016ad83Smrgdnl XCB_CHECK_VISIBILITY([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
51016ad83Smrgdnl Check the visibility feature of gcc
61016ad83Smrgdnl
71016ad83SmrgAC_DEFUN([XCB_CHECK_VISIBILITY],
81016ad83Smrg[
91016ad83SmrgAC_MSG_CHECKING([whether ${CC} supports symbol visibility])
101016ad83Smrg
111016ad83Smrgsave_CFLAGS=${CFLAGS}
121016ad83SmrgCFLAGS="$CFLAGS -fvisibility=hidden -fvisibility-inlines-hidden"
131016ad83SmrgAC_COMPILE_IFELSE(
141016ad83Smrg   [AC_LANG_PROGRAM(
151016ad83Smrg      [[
161016ad83Smrg#pragma GCC visibility push(hidden)
171016ad83Smrgextern void f(int);
181016ad83Smrg#pragma GCC visibility pop
191016ad83Smrg      ]],
201016ad83Smrg      [[]]
211016ad83Smrg    )],
221016ad83Smrg   [AC_DEFINE(
231016ad83Smrg       GCC_HAS_VISIBILITY,
241016ad83Smrg       [],
251016ad83Smrg       [Defined if GCC supports the visibility feature])
261016ad83Smrg    m4_if([$1], [], [:], [$1])
271016ad83Smrg    AC_MSG_RESULT(yes)],
281016ad83Smrg   [m4_if([$2], [], [:], [$2])
291016ad83Smrg    AC_MSG_RESULT(no)])
301016ad83Smrg
311016ad83SmrgCFLAGS=${save_CFLAGS}
321016ad83Smrg])
331016ad83Smrg
341016ad83Smrgdnl Configure script for doxygen
351016ad83Smrgdnl Vincent Torri 2006-05-11
361016ad83Smrgdnl
371016ad83Smrgdnl XCB_CHECK_DOXYGEN([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
381016ad83Smrgdnl Test for the doxygen program, and define BUILD_DOCS and DOXYGEN.
391016ad83Smrgdnl
401016ad83SmrgAC_DEFUN([XCB_CHECK_DOXYGEN],
411016ad83Smrg[
421016ad83SmrgDOXYGEN="doxygen"
431016ad83Smrg
441016ad83Smrgdnl
451016ad83Smrgdnl Disable the build of the documentation
461016ad83Smrgdnl
471016ad83SmrgAC_ARG_ENABLE(
481016ad83Smrg   [build_docs],
491016ad83Smrg   AC_HELP_STRING(
501016ad83Smrg      [--disable-build-docs],
511016ad83Smrg      [Disable the build of the documentation]),
521016ad83Smrg   [if test x"$enableval" != x"yes" ; then
531016ad83Smrg       enable_build_docs="no"
541016ad83Smrg    else
551016ad83Smrg       enable_build_docs="yes"
561016ad83Smrg    fi],
571016ad83Smrg   [enable_build_docs="yes"])
581016ad83Smrg
591016ad83Smrgif test "$enable_build_docs" = "no" ; then
601016ad83Smrg    BUILD_DOCS=no
611016ad83Smrgelse
621016ad83Smrgdnl
631016ad83Smrgdnl Get the prefix where doxygen is installed.
641016ad83Smrgdnl
651016ad83SmrgAC_ARG_WITH(
661016ad83Smrg   [doxygen],
671016ad83Smrg   AC_HELP_STRING(
681016ad83Smrg      [--with-doxygen=FILE],
691016ad83Smrg      [doxygen program to use (eg /usr/bin/doxygen)]),
701016ad83Smrg   dnl
711016ad83Smrg   dnl Check the given doxygen program.
721016ad83Smrg   dnl
731016ad83Smrg   [DOXYGEN=${withval}
741016ad83Smrg    AC_CHECK_PROG(
751016ad83Smrg       [BUILD_DOCS],
761016ad83Smrg       [${DOXYGEN}],
771016ad83Smrg       [yes],
781016ad83Smrg       [no])
791016ad83Smrg    if test $BUILD_DOCS = no; then
801016ad83Smrg       echo "WARNING:"
811016ad83Smrg       echo "The doxygen program you specified:"
821016ad83Smrg       echo "$DOXYGEN"
831016ad83Smrg       echo "was not found.  Please check the path and make sure "
841016ad83Smrg       echo "the program exists and is executable."
851016ad83Smrg       AC_MSG_WARN(
861016ad83Smrg          [Warning: no doxygen detected. Documentation will not be built])
871016ad83Smrg    fi],
881016ad83Smrg   [AC_CHECK_PROG(
891016ad83Smrg       [BUILD_DOCS],
901016ad83Smrg       [${DOXYGEN}],
911016ad83Smrg       [yes],
921016ad83Smrg       [no])
931016ad83Smrg    if test ${BUILD_DOCS} = no; then
941016ad83Smrg       echo "WARNING:"
951016ad83Smrg       echo "The doxygen program was not found in your execute"
961016ad83Smrg       echo "You may have doxygen installed somewhere not covered by your path."
971016ad83Smrg       echo ""
981016ad83Smrg       echo "If this is the case make sure you have the packages installed, AND"
991016ad83Smrg       echo "that the doxygen program is in your execute path (see your"
1001016ad83Smrg       echo "shell manual page on setting the \$PATH environment variable), OR"
1011016ad83Smrg       echo "alternatively, specify the program to use with --with-doxygen."
1021016ad83Smrg       AC_MSG_WARN(
1031016ad83Smrg          [Warning: no doxygen detected. Documentation will not be built])
1041016ad83Smrg    fi])
1051016ad83Smrg    AC_PATH_PROG(DOT, dot, no)
1061016ad83Smrg    if test "$DOT" = "no"; then
1071016ad83Smrg        AC_MSG_WARN([Warning: no dot detected. Documentation will not be built])
1081016ad83Smrg	BUILD_DOCS="no"
1091016ad83Smrg    fi
1101016ad83Smrgfi
1111016ad83SmrgAC_MSG_CHECKING([whether documentation is built])
1121016ad83SmrgAC_MSG_RESULT([${BUILD_DOCS}])
1131016ad83Smrg
1141016ad83Smrgdnl
1151016ad83Smrgdnl Substitution
1161016ad83Smrgdnl
1171016ad83SmrgAC_SUBST([DOXYGEN])
1181016ad83Smrg
1191016ad83SmrgAM_CONDITIONAL(BUILD_DOCS, test "x$BUILD_DOCS" = "xyes")
1201016ad83Smrg
1211016ad83Smrg])
1221016ad83Smrg
1231016ad83Smrgdnl Detection and configuration of the visibility feature of gcc
1241016ad83Smrgdnl Vincent Torri 2006-02-11
1251016ad83Smrgdnl
1261016ad83Smrgdnl XCB_EXTENSION(name, default)
1271016ad83Smrgdnl set the X extension
1281016ad83Smrgdnl
1291016ad83SmrgAC_DEFUN([XCB_EXTENSION],
1301016ad83Smrg[
1311016ad83Smrgpushdef([UP], translit([$1], [-a-z], [_A-Z]))dnl
1321016ad83Smrgpushdef([DOWN], translit([$1], [A-Z], [a-z]))dnl
1331016ad83Smrg
1341016ad83SmrgAC_ARG_ENABLE(DOWN,
1351016ad83Smrg    [AS_HELP_STRING([--enable-[]DOWN], [Build XCB $1 Extension (default: $2)])],
1361016ad83Smrg    [BUILD_[]UP=$enableval],
1371016ad83Smrg    [BUILD_[]UP=$2])
1381016ad83Smrg
1391016ad83SmrgAM_CONDITIONAL(BUILD_[]UP, [test "x$BUILD_[]UP" = "xyes"])
1401016ad83Smrg])
1411016ad83Smrg
1421016ad83Smrgdnl End of acinclude.m4
143