@@ -1489,6 +1489,90 @@ AC_MSG_NOTICE([checking package dependencies])
1489
1489
1490
1490
AC_PATH_PROG ( [ PKG_CONFIG] ,[ pkg-config] )
1491
1491
1492
+ #
1493
+ # Chip over Ble over Bluez Peripheral support
1494
+ #
1495
+
1496
+ # Only a concern when the BLE layer is enabled.
1497
+
1498
+ CONFIG_BLE_PLATFORM_BLUEZ=0
1499
+ enable_chipoble_bluez="no"
1500
+
1501
+ NL_WITH_OPTIONAL_INTERNAL_PACKAGE(
1502
+ [ BlueZ] ,
1503
+ [ BLUEZ] ,
1504
+ [ bluez] ,
1505
+ [ -lgdbus-internal -lshared-glib] ,
1506
+ [
1507
+ # actions if not external
1508
+ # At this time, enable this only for linux, and only if the tests are enabled
1509
+ if test "${nl_cv_build_tests}" = "yes" && test "${CONFIG_NETWORK_LAYER_BLE}" = 1 && test "${with_device_layer}" = "linux"; then
1510
+ case "${target}" in
1511
+
1512
+ *linux*)
1513
+ if test "x${HAVE_CXX11}" == "0"; then
1514
+ AC_MSG_ERROR ( [ BlueZ support requires C++11 compiler] )
1515
+ fi
1516
+ CONFIG_BLE_PLATFORM_BLUEZ=1
1517
+ enable_chipoble_bluez="yes"
1518
+ ;;
1519
+
1520
+ *)
1521
+ CONFIG_BLE_PLATFORM_BLUEZ=0
1522
+ enable_chipoble_bluez="no"
1523
+ ;;
1524
+
1525
+ esac
1526
+ fi
1527
+ ]
1528
+ )
1529
+
1530
+ # Depending on whether bluez has been configured for an internal
1531
+ # location, its directory stem within this package needs to be set
1532
+ # accordingly. In addition, if the location is internal, then we need
1533
+ # to attempt to pull it down using the bootstrap makefile.
1534
+
1535
+ if test "${nl_with_bluez}" = "internal" && test "${enable_chipoble_bluez}" = "yes"; then
1536
+ maybe_bluez_dirstem="bluez/repo"
1537
+ bluez_dirstem="third_party/${maybe_bluez_dirstem}"
1538
+
1539
+ AC_MSG_NOTICE ( [ attempting to create internal ${bluez_dirstem}] )
1540
+
1541
+ ${MAKE-make} --no-print-directory -C ${srcdir} -f Makefile-bootstrap ${bluez_dirstem}
1542
+
1543
+ if test $? -ne 0; then
1544
+ AC_MSG_ERROR ( [ failed to create ${bluez_dirstem}. Please check your network connection or the correctness of 'repos.conf'] )
1545
+ fi
1546
+
1547
+ echo " BOOTSTRAP ${bluez_dirstem}"
1548
+
1549
+ (cd ${srcdir}/${bluez_dirstem} && ./bootstrap)
1550
+
1551
+ else
1552
+ maybe_bluez_dirstem=""
1553
+ fi
1554
+
1555
+ AC_SUBST ( BLUEZ_SUBDIRS , [ ${maybe_bluez_dirstem}] )
1556
+ AM_CONDITIONAL([ CHIP_WITH_BLUEZ_INTERNAL] , [ test "${nl_with_bluez}" = "internal"] )
1557
+
1558
+ AM_CONDITIONAL([ CONFIG_BLE_PLATFORM_BLUEZ] , [ test "${enable_chipoble_bluez}" = "yes"] )
1559
+ AC_DEFINE_UNQUOTED ( [ CONFIG_BLE_PLATFORM_BLUEZ] ,[ ${CONFIG_BLE_PLATFORM_BLUEZ}] ,[ Define to 1 if you want to enable Chip over Ble over bluez.] )
1560
+
1561
+ if test "${enable_chipoble_bluez}" = "yes"; then
1562
+ PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28, dummy=yes,
1563
+ AC_MSG_ERROR ( GLib >= 2.28 is required ) )
1564
+ AC_SUBST ( GLIB_CFLAGS )
1565
+ AC_SUBST ( GLIB_LIBS )
1566
+
1567
+ PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.6, dummy=yes,
1568
+ AC_MSG_ERROR ( D-Bus >= 1.6 is required ) )
1569
+ AC_SUBST ( DBUS_CFLAGS )
1570
+ AC_SUBST ( DBUS_LIBS )
1571
+
1572
+ AX_CHECK_COMPILER_OPTIONS([ C] , ${GLIB_CFLAGS} ${DBUS_CFLAGS})
1573
+ AX_CHECK_COMPILER_OPTIONS([ C++] , ${GLIB_CFLAGS} ${DBUS_CFLAGS})
1574
+ fi
1575
+
1492
1576
#
1493
1577
# OpenSSL
1494
1578
#
@@ -2281,6 +2365,10 @@ AC_CONFIG_SUBDIRS([third_party/nlfaultinjection/repo])
2281
2365
AC_SUBST ( NLFAULTINJECTION_FOREIGN_SUBDIR_DEPENDENCY ,[ "${ac_pwd}/third_party/nlfaultinjection/repo/src"] )
2282
2366
fi
2283
2367
2368
+ if test "${nl_with_bluez}" = "internal" && test "${enable_chipoble_bluez}" = "yes"; then
2369
+ AC_CONFIG_SUBDIRS ( [ third_party/bluez/repo] )
2370
+ fi
2371
+
2284
2372
if test "${nl_with_mbedtls}" = "internal"; then
2285
2373
AC_CONFIG_SUBDIRS ( [ third_party/mbedtls/repo] )
2286
2374
fi
@@ -2400,6 +2488,8 @@ AC_MSG_NOTICE([
2400
2488
Doxygen : ${DOXYGEN:--}
2401
2489
GraphViz dot : ${DOT:--}
2402
2490
PERL : ${PERL:--}
2491
+ CHIP over BlueZ support : ${enable_chipoble_bluez:--}
2492
+ BlueZ source : ${nl_with_bluez:--}
2403
2493
Valgrind : ${VALGRIND:--}
2404
2494
LwIP source : ${nl_with_lwip:--}
2405
2495
LwIP compile flags : ${LWIP_CPPFLAGS:--}
0 commit comments