From 231ab7d88e877c90ef55e2eec8866280fc21bda9 Mon Sep 17 00:00:00 2001 From: Matias De lellis Date: Wed, 22 Feb 2023 20:31:52 -0300 Subject: [PATCH] Add dlib as a submodule, and statically compile it into the extension. --- config.m4 | 53 +++++++++++++++++------------------------------------ dlib | 2 +- 2 files changed, 18 insertions(+), 37 deletions(-) diff --git a/config.m4 b/config.m4 index b7515b2..e60b13a 100644 --- a/config.m4 +++ b/config.m4 @@ -10,46 +10,27 @@ PHP_ARG_WITH(pdlib, for pdlib support, dnl Make sure that the comment is aligned: [ --with-pdlib Include pdlib support]) -if test "$PHP_PDLIB" != "no"; then - PHP_REQUIRE_CXX() - PHP_ADD_LIBRARY(stdc++, 1, PDLIB_SHARED_LIBADD) - PHP_SUBST(PDLIB_SHARED_LIBADD) +PHP_REQUIRE_CXX() +PHP_ADD_LIBRARY(stdc++, 1, PDLIB_SHARED_LIBADD) +PHP_ADD_LIBRARY(cblas, 1, PDLIB_SHARED_LIBADD) +PHP_ADD_LIBRARY(lapack, 1, PDLIB_SHARED_LIBADD) +PHP_SUBST(PDLIB_SHARED_LIBADD) - pdlib_src_files="pdlib.cc \ - src/chinese_whispers.cc \ - src/face_detection.cc \ - src/face_landmark_detection.cc \ - src/face_recognition.cc \ - src/cnn_face_detection.cc - src/vector.cc" +PHP_ADD_INCLUDE(PHP_EXT_SRCDIR()/dlib) - AC_MSG_CHECKING(for pkg-config) - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - if test -x "$PKG_CONFIG"; then - AC_MSG_RESULT(found) - AC_MSG_CHECKING(for dlib-1) - if $PKG_CONFIG --exists dlib-1; then - if $PKG_CONFIG dlib-1 --atleast-version 19.00; then - LIBDLIB_CFLAGS=`$PKG_CONFIG dlib-1 --cflags` - LIBDLIB_LIBDIR=`$PKG_CONFIG dlib-1 --libs` - LIBDLIB_VERSON=`$PKG_CONFIG dlib-1 --modversion` - AC_MSG_RESULT(from pkgconfig: dlib version $LIBDLIB_VERSON) - else - AC_MSG_ERROR(system dlib is too old: version 19.00 required) - fi - else - AC_MSG_ERROR(dlib-1 not found) - fi - else - AC_MSG_ERROR(pkg-config not found) - fi +pdlib_src_files="pdlib.cc \ +dlib/dlib/all/source.cpp \ +src/chinese_whispers.cc \ +src/face_detection.cc \ +src/face_landmark_detection.cc \ +src/face_recognition.cc \ +src/cnn_face_detection.cc \ +src/vector.cc" - PHP_EVAL_LIBLINE($LIBDLIB_LIBDIR, PDLIB_SHARED_LIBADD) - PHP_EVAL_INCLINE($LIBDLIB_CFLAGS) +dnl using C++11 +CXXFLAGS="-g -O3 -march=native" - dnl using C++11 - PHP_NEW_EXTENSION(pdlib, $pdlib_src_files, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -std=c++11, cxx) -fi +PHP_NEW_EXTENSION(pdlib, $pdlib_src_files, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DDLIB_NO_GUI_SUPPORT=1 -DDLIB_USE_BLAS -DDLIB_USE_LAPACK, cxx) AC_CONFIG_COMMANDS_POST([ echo "" diff --git a/dlib b/dlib index dc94754..70ea028 160000 --- a/dlib +++ b/dlib @@ -1 +1 @@ -Subproject commit dc947546076a148b1760244be8737c2aeca41dac +Subproject commit 70ea028f12e10f4d992a0c4f0169749eae5bb185