--- /dev/null
+
+# Perl snippets that are interpreted by ncc.
+
+# Directories to add to the include path for all Epic applications.
+# Includes that should take precedence must come first. Platforms
+# come before chips because they may override files. These must be
+# specified as @includes instead of -I's to @opts, otherwise the %T
+# won't be processed by ncc.
+
+push( @includes, qw(
+
+ %T/platforms/epic
+ %T/platforms/telosa
+ %T/platforms/telosa/chips/cc2420
+ %T/chips/cc2420
+ %T/chips/cc2420/alarm
+ %T/chips/cc2420/control
+ %T/chips/cc2420/csma
+ %T/chips/cc2420/interfaces
+ %T/chips/cc2420/link
+ %T/chips/cc2420/lowpan
+ %T/chips/cc2420/lpl
+ %T/chips/cc2420/packet
+ %T/chips/cc2420/receive
+ %T/chips/cc2420/spi
+ %T/chips/cc2420/transmit
+ %T/chips/cc2420/unique
+ %T/chips/msp430
+ %T/chips/msp430/adc12
+ %T/chips/msp430/dma
+ %T/chips/msp430/pins
+ %T/chips/msp430/timer
+ %T/chips/msp430/usart
+ %T/chips/msp430/sensors
+# TODO
+# %T/chips/at45db161d
+ %T/lib/timer
+ %T/lib/serial
+ %T/lib/adc
+ %T/lib/power
+) );
+
+# The @opts list contains parameters that are passed to ncc.
+@opts = qw(
+ -gcc=msp430-gcc
+ -mmcu=msp430x1611
+ -fnesc-target=msp430
+ -fnesc-no-debug
+);
+
+push @opts, "-fnesc-scheduler=TinySchedulerC,TinySchedulerC.TaskBasic,TaskBasic,TaskBasic,runTask,postTask" if !$with_scheduler_flag;
+push @opts, "-mingw-gcc" if $cygwin;
+
+$ENV{'CIL_MACHINE'} =
+ "version_major=3 " .
+ "version_minor=2 " .
+ "version=msp430-3.2.3 " .
+ "short=2,2 " .
+ "int=2,2 " .
+ "long=4,2 " .
+ "long_long=8,2 " .
+ "pointer=2,2 " .
+ "enum=2,2 " .
+ "float=4,2 " .
+ "double=4,2 " .
+ "long_double=4,2 " .
+ "void=1,1 " .
+ "fun=1,2 " .
+ "wchar_size_size=2,2 " .
+ "alignof_string=1 " .
+ "max_alignment=1 " .
+ "char_wchar_signed=true,true " .
+ "const_string_literals=true " .
+ "big_endian=false " .
+ "underscore_name=false " .
+ "__builtin_va_list=true " .
+ "__thread_is_keyword=true";