|
| 1 | + |
| 2 | +PHP_ARG_WITH(systemd, enable support for systemd, |
| 3 | +[ --with-systemd[=DIR] Enable systemd]) |
| 4 | + |
| 5 | +if test "$PHP_SYSTEMD" != "no"; then |
| 6 | + |
| 7 | + SEARCH_PATH="/usr /usr/local" |
| 8 | + SEARCH_FOR="/include/sd-journal.h" |
| 9 | + |
| 10 | + SYSTEMD_DIR= |
| 11 | + |
| 12 | + if test "$PHP_SYSTEMD" = "yes"; then |
| 13 | + AC_MSG_CHECKING([for systemd headers in default path]) |
| 14 | + for i in $SEARCH_PATH ; do |
| 15 | + if test -r $i/$SEARCH_FOR; then |
| 16 | + SYSTEMD_DIR=$i |
| 17 | + AC_MSG_RESULT(found in $i) |
| 18 | + fi |
| 19 | + done |
| 20 | + else |
| 21 | + AC_MSG_CHECKING([for systemd headers in $PHP_SYSTEMD]) |
| 22 | + if test -r $PHP_SYSTEMD/$SEARCH_FOR; then |
| 23 | + SYSTEMD_DIR=$PHP_SYSTEMD |
| 24 | + AC_MSG_RESULT([found]) |
| 25 | + fi |
| 26 | + fi |
| 27 | + |
| 28 | + if test -z "$PHP_SYSTEMD"; then |
| 29 | + AC_MSG_RESULT([not found]) |
| 30 | + AC_MSG_ERROR([Cannot find systemd headers]) |
| 31 | + fi |
| 32 | + |
| 33 | + PHP_ADD_INCLUDE($SYSTEMD_DIR/include) |
| 34 | + |
| 35 | + LIBNAME=systemd-journal |
| 36 | + LIBSYMBOL=sd_journal_sendv |
| 37 | + |
| 38 | + if test "x$PHP_LIBDIR" = "x"; then |
| 39 | + PHP_LIBDIR=lib |
| 40 | + fi |
| 41 | + |
| 42 | + PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL, |
| 43 | + [ |
| 44 | + PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $SYSTEMD_DIR/$PHP_LIBDIR, SYSTEMD_SHARED_LIBADD) |
| 45 | + ],[ |
| 46 | + AC_MSG_ERROR([wrong systemd version {44.+ is required} or lib not found]) |
| 47 | + ],[ |
| 48 | + -L$SYSTEMD_DIR/$PHP_LIBDIR |
| 49 | + ]) |
| 50 | + |
| 51 | + PHP_ADD_EXTENSION_DEP(systemd, sockets, true) |
| 52 | + PHP_SUBST(SYSTEMD_SHARED_LIBADD) |
| 53 | + PHP_NEW_EXTENSION(systemd, systemd.c, $ext_shared) |
| 54 | +fi |
0 commit comments