From 14246ef811d26c9b5f9cdbd21632487130f6d5a4 Mon Sep 17 00:00:00 2001 From: dak664 Date: Sun, 13 Mar 2011 11:59:17 -0400 Subject: [PATCH] Add optional build without internal webserver --- examples/ipv6/rpl-border-router/Makefile | 9 +++++- .../ipv6/rpl-border-router/border-router.c | 28 ++++++++++++------- 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/examples/ipv6/rpl-border-router/Makefile b/examples/ipv6/rpl-border-router/Makefile index fe551f15b..3fd4c82b4 100644 --- a/examples/ipv6/rpl-border-router/Makefile +++ b/examples/ipv6/rpl-border-router/Makefile @@ -5,10 +5,17 @@ CONTIKI=../../.. WITH_UIP6=1 UIP_CONF_IPV6=1 -APPS += webserver +#Override inclusion of internal webserver with make WITH_WEBSERVER=0 +WITH_WEBSERVER=1 +ifeq ($(WITH_WEBSERVER), 0) CFLAGS += -DPROJECT_CONF_H=\"project-conf.h\" +PROJECT_SOURCEFILES += slip-bridge.c +else +APPS += webserver +CFLAGS += -DPROJECT_CONF_H=\"project-conf.h\" -DWEBSERVER PROJECT_SOURCEFILES += slip-bridge.c httpd-simple.c +endif include $(CONTIKI)/Makefile.include diff --git a/examples/ipv6/rpl-border-router/border-router.c b/examples/ipv6/rpl-border-router/border-router.c index c2cc8973e..a7a31f48e 100644 --- a/examples/ipv6/rpl-border-router/border-router.c +++ b/examples/ipv6/rpl-border-router/border-router.c @@ -45,11 +45,13 @@ #include "net/netstack.h" #include "dev/button-sensor.h" #include "dev/slip.h" -#define INTERNAL_WEBSERVER 1 -#if INTERNAL_WEBSERVER + +/* For internal webserver Makefile must set APPS += webserver and PROJECT_SOURCEFILES += httpd-simple.c */ +#if WEBSERVER #include "webserver-nogui.h" #include "httpd-simple.h" #endif + #include #include #include @@ -68,7 +70,8 @@ static uint8_t prefix_set; PROCESS(border_router_process, "Border router process"); AUTOSTART_PROCESSES(&border_router_process); -#if INTERNAL_WEBSERVER + +#if WEBSERVER /*---------------------------------------------------------------------------*/ /* Only one single web request at time */ static const char *TOP = "ContikiRPL\n"; @@ -155,6 +158,9 @@ httpd_simple_get_script(const char *name) { return generate_routes; } + +#endif /* WEBSERVER */ + /*---------------------------------------------------------------------------*/ static void print_local_addresses(void) @@ -162,18 +168,17 @@ print_local_addresses(void) int i; uint8_t state; - PRINTF("Server IPv6 addresses:\n"); + PRINTA("Server IPv6 addresses:\n"); for(i = 0; i < UIP_DS6_ADDR_NB; i++) { state = uip_ds6_if.addr_list[i].state; if(uip_ds6_if.addr_list[i].isused && (state == ADDR_TENTATIVE || state == ADDR_PREFERRED)) { - blen = 0; - ipaddr_add(&uip_ds6_if.addr_list[i].ipaddr); - PRINTF(" %s\n", buf); + PRINTA(" "); + uip_debug_ipaddr_print(&uip_ds6_if.addr_list[i].ipaddr); + PRINTA("\n"); } } } -#endif /* INTERNAL_WEBSERVER */ /*---------------------------------------------------------------------------*/ void request_prefix(void) @@ -206,9 +211,11 @@ PROCESS_THREAD(border_router_process, ev, data) prefix_set = 0; PROCESS_PAUSE(); -#if INTERNAL_WEBSERVER + +#if WEBSERVER process_start(&webserver_nogui_process, NULL); #endif + SENSORS_ACTIVATE(button_sensor); PRINTF("RPL-Border router started\n"); @@ -225,7 +232,8 @@ PROCESS_THREAD(border_router_process, ev, data) rpl_set_prefix(dag, &prefix, 64); PRINTF("created a new RPL dag\n"); } -#if INTERNAL_WEBSERVER + +#if DEBUG || 1 print_local_addresses(); #endif