@@ -170,6 +170,12 @@ if test "$PHP_MONGODB" != "no"; then
170170 src/MongoDB/Monitoring/functions.c \
171171 "
172172
173+ PHP_ARG_WITH([ mongodb-system-libs] ,
174+ [ whether to compile against system libraries instead of bundled] ,
175+ [ AS_HELP_STRING ( [ --with-mongodb-system-libs=@<:@ yes/no@:>@ ] ,
176+ [ MongoDB: Use system libraries for libbson, libmongoc, and libmongocrypt [ default=no] ] ) ] ,
177+ [ no] ,
178+ [ no] )
173179 PHP_ARG_WITH([ libbson] ,
174180 [ whether to use system libbson] ,
175181 [ AS_HELP_STRING ( [ --with-libbson=@<:@ yes/no@:>@ ] ,
@@ -190,10 +196,26 @@ if test "$PHP_MONGODB" != "no"; then
190196 [ no] )
191197
192198 if test "$PHP_LIBBSON" != "no"; then
199+ AC_MSG_WARN ( Using -- with-libbson is deprecated and will be removed in a future version. Please use -- with-system-libs instead )
200+
193201 if test "$PHP_LIBMONGOC" = "no"; then
194202 AC_MSG_ERROR ( Cannot use system libbson and bundled libmongoc )
195203 fi
196204
205+ PHP_MONGODB_SYSTEM_LIBS="yes"
206+ fi
207+
208+ if test "$PHP_LIBMONGOC" != "no"; then
209+ AC_MSG_WARN ( Using -- with-libmongoc is deprecated and will be removed in a future version. Please use -- with-system-libs instead )
210+
211+ if test "$PHP_LIBBSON" = "no"; then
212+ AC_MSG_ERROR ( Cannot use system libmongoc and bundled libbson )
213+ fi
214+
215+ PHP_MONGODB_SYSTEM_LIBS="yes"
216+ fi
217+
218+ if test "$PHP_MONGODB_SYSTEM_LIBS" != "no"; then
197219 AC_PATH_PROG ( PKG_CONFIG , pkg-config , no )
198220 AC_MSG_CHECKING ( for libbson )
199221 if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libbson-1.0; then
@@ -211,12 +233,6 @@ if test "$PHP_MONGODB" != "no"; then
211233 PHP_MONGODB_CFLAGS="$PHP_MONGODB_CFLAGS $PHP_MONGODB_BSON_CFLAGS"
212234 PHP_EVAL_LIBLINE($PHP_MONGODB_BSON_LIBS, MONGODB_SHARED_LIBADD)
213235 AC_DEFINE ( HAVE_SYSTEM_LIBBSON , 1 , [ Use system libbson] )
214- fi
215-
216- if test "$PHP_LIBMONGOC" != "no"; then
217- if test "$PHP_LIBBSON" = "no"; then
218- AC_MSG_ERROR ( Cannot use system libmongoc and bundled libbson )
219- fi
220236
221237 AC_PATH_PROG ( PKG_CONFIG , pkg-config , no )
222238 AC_MSG_CHECKING ( for libmongoc )
@@ -235,37 +251,37 @@ if test "$PHP_MONGODB" != "no"; then
235251 PHP_MONGODB_CFLAGS="$PHP_MONGODB_CFLAGS $PHP_MONGODB_MONGOC_CFLAGS"
236252 PHP_EVAL_LIBLINE($PHP_MONGODB_MONGOC_LIBS, MONGODB_SHARED_LIBADD)
237253 AC_DEFINE ( HAVE_SYSTEM_LIBMONGOC , 1 , [ Use system libmongoc] )
238- fi
239254
240- if test "$PHP_MONGODB_CLIENT_SIDE_ENCRYPTION" != "no" -a "$PHP_LIBBSON" = "yes"; then
241- AC_PATH_PROG ( PKG_CONFIG , pkg-config , no )
242- AC_MSG_CHECKING ( for libmongocrypt )
243-
244- if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libmongocrypt-1.0; then
245- if $PKG_CONFIG libmongocrypt-1.0 --atleast-version 1.0.1; then
246- PHP_MONGODB_MONGOCRYPT_CFLAGS=`$PKG_CONFIG libmongocrypt-1.0 --cflags`
247- PHP_MONGODB_MONGOCRYPT_LIBS=`$PKG_CONFIG libmongocrypt-1.0 --libs`
248- PHP_MONGODB_MONGOCRYPT_VERSION=`$PKG_CONFIG libmongocrypt-1.0 --modversion`
249- AC_MSG_RESULT ( version $PHP_MONGODB_MONGOCRYPT_VERSION found )
250-
251- PHP_MONGODB_CFLAGS="$PHP_MONGODB_CFLAGS $PHP_MONGODB_MONGOCRYPT_CFLAGS"
252- PHP_EVAL_LIBLINE($PHP_MONGODB_MONGOCRYPT_LIBS, MONGODB_SHARED_LIBADD)
253- AC_DEFINE ( HAVE_SYSTEM_LIBMONGOCRYPT , 1 , [ Use system libmongocrypt] )
254- elif test "$PHP_MONGODB_CLIENT_SIDE_ENCRYPTION" = "yes"; then
255- AC_MSG_ERROR ( system libmongocrypt must be upgraded to version >= 1.0.1 )
256- else
257- AC_MSG_RESULT ( found an older version , compiling without client-side encryption )
258- fi
259- else
260- if test "$PHP_MONGODB_CLIENT_SIDE_ENCRYPTION" = "yes"; then
261- AC_MSG_ERROR ( pkgconfig and libmongocrypt must be installed )
255+ if test "$PHP_MONGODB_CLIENT_SIDE_ENCRYPTION" != "no"; then
256+ AC_PATH_PROG ( PKG_CONFIG , pkg-config , no )
257+ AC_MSG_CHECKING ( for libmongocrypt )
258+
259+ if test -x "$PKG_CONFIG" && $PKG_CONFIG --exists libmongocrypt-1.0; then
260+ if $PKG_CONFIG libmongocrypt-1.0 --atleast-version 1.0.1; then
261+ PHP_MONGODB_MONGOCRYPT_CFLAGS=`$PKG_CONFIG libmongocrypt-1.0 --cflags`
262+ PHP_MONGODB_MONGOCRYPT_LIBS=`$PKG_CONFIG libmongocrypt-1.0 --libs`
263+ PHP_MONGODB_MONGOCRYPT_VERSION=`$PKG_CONFIG libmongocrypt-1.0 --modversion`
264+ AC_MSG_RESULT ( version $PHP_MONGODB_MONGOCRYPT_VERSION found )
265+
266+ PHP_MONGODB_CFLAGS="$PHP_MONGODB_CFLAGS $PHP_MONGODB_MONGOCRYPT_CFLAGS"
267+ PHP_EVAL_LIBLINE($PHP_MONGODB_MONGOCRYPT_LIBS, MONGODB_SHARED_LIBADD)
268+ AC_DEFINE ( HAVE_SYSTEM_LIBMONGOCRYPT , 1 , [ Use system libmongocrypt] )
269+ elif test "$PHP_MONGODB_CLIENT_SIDE_ENCRYPTION" = "yes"; then
270+ AC_MSG_ERROR ( system libmongocrypt must be upgraded to version >= 1.0.1 )
271+ else
272+ AC_MSG_RESULT ( found an older version , compiling without client-side encryption )
273+ fi
262274 else
263- AC_MSG_RESULT ( not found , compiling without client-side encryption )
275+ if test "$PHP_MONGODB_CLIENT_SIDE_ENCRYPTION" = "yes"; then
276+ AC_MSG_ERROR ( pkgconfig and libmongocrypt must be installed )
277+ else
278+ AC_MSG_RESULT ( not found , compiling without client-side encryption )
279+ fi
264280 fi
265281 fi
266282 fi
267283
268- if test "$PHP_LIBBSON" = "no" -a "$PHP_LIBMONGOC " = "no"; then
284+ if test "$PHP_MONGODB_SYSTEM_LIBS " = "no"; then
269285 PHP_MONGODB_BUNDLED_CFLAGS="$STD_CFLAGS -DBSON_COMPILATION -DMONGOC_COMPILATION"
270286 dnl TODO: MONGOCRYPT-219 makes the -std argument obsolete
271287 PHP_MONGODB_LIBMONGOCRYPT_CFLAGS="$PHP_MONGODB_BUNDLED_CFLAGS -std=gnu99"
@@ -469,9 +485,9 @@ Build configuration:
469485 Extra CFLAGS : $STD_CFLAGS $EXTRA_CFLAGS
470486 Developers flags (slow) : $MAINTAINER_CFLAGS
471487 Code Coverage flags (extra slow) : $COVERAGE_CFLAGS
472- System mongoc : $PHP_LIBMONGOC
473- System libbson : $PHP_LIBBSON
474- System libmongocrypt : $PHP_LIBBSON
488+ System libmongoc : $PHP_MONGODB_SYSTEM_LIBS
489+ System libbson : $PHP_MONGODB_SYSTEM_LIBS
490+ System libmongocrypt : $PHP_MONGODB_SYSTEM_LIBS
475491 LDFLAGS : $LDFLAGS
476492 EXTRA_LDFLAGS : $EXTRA_LDFLAGS
477493 MONGODB_SHARED_LIBADD : $MONGODB_SHARED_LIBADD
0 commit comments