Initial directory structure.

git-svn-id: https://arscons.googlecode.com/svn/trunk@1 ad647081-876a-5a9b-0cc5-7170296339f8
Initial source import

git-svn-id: https://arscons.googlecode.com/svn/trunk@2 ad647081-876a-5a9b-0cc5-7170296339f8
fix some comments

git-svn-id: https://arscons.googlecode.com/svn/trunk@3 ad647081-876a-5a9b-0cc5-7170296339f8
clean the warning in compiling cpp.

git-svn-id: https://arscons.googlecode.com/svn/trunk@4 ad647081-876a-5a9b-0cc5-7170296339f8
fix to use the boards.txt. 'board=' option added.

git-svn-id: https://arscons.googlecode.com/svn/trunk@6 ad647081-876a-5a9b-0cc5-7170296339f8
inline pulseDTR to SConstruct

git-svn-id: https://arscons.googlecode.com/svn/trunk@10 ad647081-876a-5a9b-0cc5-7170296339f8
1. add Mac port, Arduino-0020 support and bugfix
  - Thanks to Ovidiu Predescu <ovidiu@gmail.com> and Lee Pike <leepike@gmail.com>
2. change args name to upper.
3. fix to build -only- in the ./build


git-svn-id: https://arscons.googlecode.com/svn/trunk@12 ad647081-876a-5a9b-0cc5-7170296339f8
fix wrong grammar in comment.

git-svn-id: https://arscons.googlecode.com/svn/trunk@13 ad647081-876a-5a9b-0cc5-7170296339f8
fix to choose proper AVR_BIN_PREFIX and AVRDUDE_CONF. improve defult-port select huristic. thanks Ovidio Predescu

git-svn-id: https://arscons.googlecode.com/svn/trunk@19 ad647081-876a-5a9b-0cc5-7170296339f8
comment out -auto- gathering raw sources in sketch dir.

git-svn-id: https://arscons.googlecode.com/svn/trunk@20 ad647081-876a-5a9b-0cc5-7170296339f8
utility folder bug fix. thanks mwessel

git-svn-id: https://arscons.googlecode.com/svn/trunk@21 ad647081-876a-5a9b-0cc5-7170296339f8
Added Windows support.

Applied patch from Steven Ashley <steven@ashley.net.nz>.
Following is comment from Steven;

    It assumes ARDUINO_HOME and ARDUINO_PORT environment variables are defined. Its tough to locate the Arduino directory on Windows since it is just an extracted zip and could be anywhere.

    I took the courtesy of bumping the arduino version up to 0022 and adding support for an ARDUINO_BOARD env var.

    "TOOLS = ['gcc','g++']" had to be added to the environment. Without it, TOOLS defaults to "msvc" and results in command lines like:

    C:\Users\Steven\Desktop\arduino-0022\hardware/tools/avr/bin\avr-g++ /Fobuild\core\HardwareSerial.obj /c build\core\HardwareSerial.cpp /TP -ffunction-sections -fdata-sections -fno-exceptions -funsigned-char -funsigned-bitfields -fpack-struct  -fshort-enums -Os -mmcu=atmega2560 /DARDUINO=22 /DF_CPU=16000000L /Ibuild\core

    As you can imagine, g++ does not recognize /Fo, /c, or /D, resulting in a myriad of errors.

    There are a couple of other fixes regarding newline encodings. I haven't tried these changes on other platforms though I foresee no problems.

Thanks to Steven.



git-svn-id: https://arscons.googlecode.com/svn/trunk@22 ad647081-876a-5a9b-0cc5-7170296339f8
Fixed to don't check ARDUINO_PORT has value. It was annoying when build sketch without Arduino pluged

git-svn-id: https://arscons.googlecode.com/svn/trunk@23 ad647081-876a-5a9b-0cc5-7170296339f8
Fixed to found includes with double quotes

This patch provided by <scott_google@slal.net>.
Many thanks!

Following is his comment:

    When using an include format such as:

    #include "MAX6675.h" 

    The libCandidate regex will not find it and hence the library will not be used.

    The attached (very small) diff modifies the regex to find either angle brackets or the double quote.



git-svn-id: https://arscons.googlecode.com/svn/trunk@24 ad647081-876a-5a9b-0cc5-7170296339f8
Better output messages.

Thanks to <bogdan.petrisor@awsire.com> for the patch



git-svn-id: https://arscons.googlecode.com/svn/trunk@25 ad647081-876a-5a9b-0cc5-7170296339f8
reverted mistake in gathering libraries.



git-svn-id: https://arscons.googlecode.com/svn/trunk@26 ad647081-876a-5a9b-0cc5-7170296339f8
allow libraries that don't follow standard format.

If a library has a header that is not the same name as the library directory,
scons does not include the lib during a build. This patch causes scons
to look in all subdirectories of all known library directories for the file.

This top level of the directory the file is found in then is added to
the list of needed libraries.

This was a fix I added to enable me to use the LoLShield library who's
directory structure is:

    $ ls -1  /usr/share/arduino/libraries/LoLShield/
    Charliplexing.cpp
    Charliplexing.h
    examples
    Figure.cpp
    Figure.h
    Font.cpp
    Font.h
    keywords.txt

Signed-off-by: Homin Lee <homin.lee@suapapa.net>
generate function prototypes

If you define a funcion after being called the code will not compile
as the script doesn't generate the prototype for the functions.

The attached patch solves that issue as well as the multifile sketch
and protocol issue #3.

Signed-off-by: Homin Lee <suapapa@insignal.co.kr>
add expression for grep porinter, * in arg.
MCU and F_CPU command line parameters

I added MCU and F_CPU as command line parameters,
because board.txt does not have all the combinations I need.
They can be used instead of ARDUINO_BOARD.

usage:

    $ scons MCU=atmega48 F_CPU=8000000

Signed-off-by: Homin Lee <homin.lee@suapapa.net>
Fixed to build raw sources which live in sketch dir.

The sources in sketch dir (except .pde) will build in `build/local`.

Thanks to Thomas Recouvreux <thomas.recouvreux@gmail.com> for pushing me :)

Signed-off-by: Homin Lee <suapapa@insignal.co.kr>