@@ -1518,6 +1518,90 @@ AC_MSG_NOTICE([checking package dependencies])
1518
1518
1519
1519
AC_PATH_PROG ( [ PKG_CONFIG] ,[ pkg-config] )
1520
1520
1521
+ #
1522
+ # Chip over Ble over Bluez Peripheral support
1523
+ #
1524
+
1525
+ # Only a concern when the BLE layer is enabled.
1526
+
1527
+ CONFIG_BLE_PLATFORM_BLUEZ=0
1528
+ enable_chipoble_bluez="no"
1529
+
1530
+ NL_WITH_OPTIONAL_INTERNAL_PACKAGE(
1531
+ [ BlueZ] ,
1532
+ [ BLUEZ] ,
1533
+ [ bluez] ,
1534
+ [ -lgdbus-internal -lshared-glib] ,
1535
+ [
1536
+ # actions if not external
1537
+ # At this time, enable this only for linux, and only if the tests are enabled
1538
+ if test "${nl_cv_build_tests}" = "yes" && test "${CONFIG_NETWORK_LAYER_BLE}" = 1 && test "${with_device_layer}" = "linux"; then
1539
+ case "${target}" in
1540
+
1541
+ *linux*)
1542
+ if test "x${HAVE_CXX11}" == "0"; then
1543
+ AC_MSG_ERROR ( [ BlueZ support requires C++11 compiler] )
1544
+ fi
1545
+ CONFIG_BLE_PLATFORM_BLUEZ=1
1546
+ enable_chipoble_bluez="yes"
1547
+ ;;
1548
+
1549
+ *)
1550
+ CONFIG_BLE_PLATFORM_BLUEZ=0
1551
+ enable_chipoble_bluez="no"
1552
+ ;;
1553
+
1554
+ esac
1555
+ fi
1556
+ ]
1557
+ )
1558
+
1559
+ # Depending on whether bluez has been configured for an internal
1560
+ # location, its directory stem within this package needs to be set
1561
+ # accordingly. In addition, if the location is internal, then we need
1562
+ # to attempt to pull it down using the bootstrap makefile.
1563
+
1564
+ if test "${nl_with_bluez}" = "internal" && test "${enable_chipoble_bluez}" = "yes"; then
1565
+ maybe_bluez_dirstem="bluez/repo"
1566
+ bluez_dirstem="third_party/${maybe_bluez_dirstem}"
1567
+
1568
+ AC_MSG_NOTICE ( [ attempting to create internal ${bluez_dirstem}] )
1569
+
1570
+ ${MAKE-make} --no-print-directory -C ${srcdir} -f Makefile-bootstrap ${bluez_dirstem}
1571
+
1572
+ if test $? -ne 0; then
1573
+ AC_MSG_ERROR ( [ failed to create ${bluez_dirstem}. Please check your network connection or the correctness of 'repos.conf'] )
1574
+ fi
1575
+
1576
+ echo " BOOTSTRAP ${bluez_dirstem}"
1577
+
1578
+ (cd ${srcdir}/${bluez_dirstem} && ./bootstrap)
1579
+
1580
+ else
1581
+ maybe_bluez_dirstem=""
1582
+ fi
1583
+
1584
+ AC_SUBST ( BLUEZ_SUBDIRS , [ ${maybe_bluez_dirstem}] )
1585
+ AM_CONDITIONAL([ CHIP_WITH_BLUEZ_INTERNAL] , [ test "${nl_with_bluez}" = "internal"] )
1586
+
1587
+ AM_CONDITIONAL([ CONFIG_BLE_PLATFORM_BLUEZ] , [ test "${enable_chipoble_bluez}" = "yes"] )
1588
+ AC_DEFINE_UNQUOTED ( [ CONFIG_BLE_PLATFORM_BLUEZ] ,[ ${CONFIG_BLE_PLATFORM_BLUEZ}] ,[ Define to 1 if you want to enable Chip over Ble over bluez.] )
1589
+
1590
+ if test "${enable_chipoble_bluez}" = "yes"; then
1591
+ PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.28, dummy=yes,
1592
+ AC_MSG_ERROR ( GLib >= 2.28 is required ) )
1593
+ AC_SUBST ( GLIB_CFLAGS )
1594
+ AC_SUBST ( GLIB_LIBS )
1595
+
1596
+ PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.6, dummy=yes,
1597
+ AC_MSG_ERROR ( D-Bus >= 1.6 is required ) )
1598
+ AC_SUBST ( DBUS_CFLAGS )
1599
+ AC_SUBST ( DBUS_LIBS )
1600
+
1601
+ AX_CHECK_COMPILER_OPTIONS([ C] , ${GLIB_CFLAGS} ${DBUS_CFLAGS})
1602
+ AX_CHECK_COMPILER_OPTIONS([ C++] , ${GLIB_CFLAGS} ${DBUS_CFLAGS})
1603
+ fi
1604
+
1521
1605
#
1522
1606
# OpenSSL
1523
1607
#
@@ -2310,6 +2394,10 @@ AC_CONFIG_SUBDIRS([third_party/nlfaultinjection/repo])
2310
2394
AC_SUBST ( NLFAULTINJECTION_FOREIGN_SUBDIR_DEPENDENCY ,[ "${ac_pwd}/third_party/nlfaultinjection/repo/src"] )
2311
2395
fi
2312
2396
2397
+ if test "${nl_with_bluez}" = "internal" && test "${enable_chipoble_bluez}" = "yes"; then
2398
+ AC_CONFIG_SUBDIRS ( [ third_party/bluez/repo] )
2399
+ fi
2400
+
2313
2401
if test "${nl_with_mbedtls}" = "internal"; then
2314
2402
AC_CONFIG_SUBDIRS ( [ third_party/mbedtls/repo] )
2315
2403
fi
@@ -2430,6 +2518,8 @@ AC_MSG_NOTICE([
2430
2518
Doxygen : ${DOXYGEN:--}
2431
2519
GraphViz dot : ${DOT:--}
2432
2520
PERL : ${PERL:--}
2521
+ CHIP over BlueZ support : ${enable_chipoble_bluez:--}
2522
+ BlueZ source : ${nl_with_bluez:--}
2433
2523
Valgrind : ${VALGRIND:--}
2434
2524
LwIP source : ${nl_with_lwip:--}
2435
2525
LwIP compile flags : ${LWIP_CPPFLAGS:--}
0 commit comments