From 18f188497c89439d0b3bccae6a03354ff7472343 Mon Sep 17 00:00:00 2001 From: Eric Wieser Date: Sun, 19 Jan 2014 15:36:27 +0000 Subject: [PATCH 1/2] Works with ARDUINO_HOME containing spaces --- SConstruct | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SConstruct b/SConstruct index b671dab..7fc3497 100644 --- a/SConstruct +++ b/SConstruct @@ -225,9 +225,9 @@ if ARDUINO_BOARD == "leonardo": cFlags += ["-DUSB_VID="+getBoardConf('build.vid')] cFlags += ["-DUSB_PID="+getBoardConf('build.pid')] -envArduino = Environment(CC = AVR_BIN_PREFIX + 'gcc', - CXX = AVR_BIN_PREFIX + 'g++', - AS = AVR_BIN_PREFIX + 'gcc', +envArduino = Environment(CC = File(AVR_BIN_PREFIX + 'gcc'), + CXX = File(AVR_BIN_PREFIX + 'g++'), + AS = File(AVR_BIN_PREFIX + 'gcc'), CPPPATH = ['build/core'], CPPDEFINES = {'F_CPU': F_CPU, 'ARDUINO': ARDUINO_VER}, CFLAGS = cFlags + ['-std=gnu99'], From 81c4341d45d473451f2a05139ce400dbca518ce0 Mon Sep 17 00:00:00 2001 From: Eric Wieser Date: Sun, 19 Jan 2014 16:20:51 +0000 Subject: [PATCH 2/2] Now works properly with spaceful paths This now works for the default windows instal location --- SConstruct | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/SConstruct b/SConstruct index 7fc3497..dccfcb9 100644 --- a/SConstruct +++ b/SConstruct @@ -323,9 +323,9 @@ def fnPrintInfo(target, source, env): bldProcessing = Builder(action = fnProcessing) #, suffix = '.cpp', src_suffix = sketchExt) bldCompressCore = Builder(action = fnCompressCore) -bldELF = Builder(action = AVR_BIN_PREFIX + 'gcc -mmcu=%s ' % MCU + - '-Os -Wl,--gc-sections -lm %s -o $TARGET $SOURCES -lc' % ' '.join(extra_cflags)) -bldHEX = Builder(action = AVR_BIN_PREFIX + 'objcopy -O ihex -R .eeprom $SOURCES $TARGET') +bldELF = Builder(action = [[AVR_BIN_PREFIX + 'gcc', '-mmcu=%s' % MCU, + '-Os', '-Wl,--gc-sections', '-lm'] + extra_cflags + ['-o', '$TARGET', '$SOURCES', '-lc']]) +bldHEX = Builder(action = [[AVR_BIN_PREFIX + 'objcopy', '-O', 'ihex', '-R', '.eeprom', '$SOURCES', '$TARGET']]) bldInfo = Builder(action = fnPrintInfo) envArduino.Append(BUILDERS = {'Processing' : bldProcessing}) @@ -429,16 +429,15 @@ if UPLOAD_PROTOCOL == 'stk500': UPLOAD_PROTOCOL = 'stk500v1' -avrdudeOpts = ['-V', '-F', '-c %s' % UPLOAD_PROTOCOL, '-b %s' % UPLOAD_SPEED, - '-p %s' % MCU, '-P %s' % ARDUINO_PORT, '-U flash:w:$SOURCES'] +avrdudeOpts = ['-V', '-F', '-c', UPLOAD_PROTOCOL, '-b', UPLOAD_SPEED, + '-p', MCU, '-P', ARDUINO_PORT, '-U', 'flash:w:$SOURCES'] if AVRDUDE_CONF: - avrdudeOpts.append('-C %s' % AVRDUDE_CONF) + avrdudeOpts += ['-C', AVRDUDE_CONF] if AVR_HOME_DUDE: AVR_BIN_PREFIX=AVR_HOME_DUDE -fuse_cmd = '%s %s' % (path.join(path.dirname(AVR_BIN_PREFIX), 'avrdude'), - ' '.join(avrdudeOpts)) +fuse_cmd = [path.join(path.dirname(AVR_BIN_PREFIX), 'avrdude')] + avrdudeOpts upload = envArduino.Alias('upload', TARGET + '.hex', [reset_cmd, fuse_cmd]) AlwaysBuild(upload)