Add COMPILER_PATH optional variable to the BUILD build system module.
authorDean Camera <dean@fourwalledcubicle.com>
Sun, 8 Jun 2014 05:29:08 +0000 (15:29 +1000)
committerDean Camera <dean@fourwalledcubicle.com>
Sun, 8 Jun 2014 05:29:08 +0000 (15:29 +1000)
LUFA/Build/lufa_build.mk
LUFA/DoxygenPages/BuildSystem.txt
LUFA/DoxygenPages/ChangeLog.txt

index 7e5d78f..3469ec4 100644 (file)
@@ -9,7 +9,7 @@
 LUFA_BUILD_MODULES         += BUILD
 LUFA_BUILD_TARGETS         += size symbol-sizes all lib elf bin hex lss clean mostlyclean
 LUFA_BUILD_MANDATORY_VARS  += TARGET ARCH MCU SRC F_USB LUFA_PATH
 LUFA_BUILD_MODULES         += BUILD
 LUFA_BUILD_TARGETS         += size symbol-sizes all lib elf bin hex lss clean mostlyclean
 LUFA_BUILD_MANDATORY_VARS  += TARGET ARCH MCU SRC F_USB LUFA_PATH
-LUFA_BUILD_OPTIONAL_VARS   += BOARD OPTIMIZATION C_STANDARD CPP_STANDARD F_CPU C_FLAGS CPP_FLAGS ASM_FLAGS CC_FLAGS LD_FLAGS OBJDIR OBJECT_FILES DEBUG_TYPE DEBUG_LEVEL LINKER_RELAXATIONS
+LUFA_BUILD_OPTIONAL_VARS   += BOARD OPTIMIZATION C_STANDARD CPP_STANDARD F_CPU C_FLAGS CPP_FLAGS ASM_FLAGS CC_FLAGS LD_FLAGS OBJDIR OBJECT_FILES DEBUG_TYPE DEBUG_LEVEL LINKER_RELAXATIONS COMPILER_PATH
 LUFA_BUILD_PROVIDED_VARS   +=
 LUFA_BUILD_PROVIDED_MACROS +=
 
 LUFA_BUILD_PROVIDED_VARS   +=
 LUFA_BUILD_PROVIDED_MACROS +=
 
@@ -72,6 +72,7 @@ LUFA_BUILD_PROVIDED_MACROS +=
 #                                generate in the compiled object files
 #    DEBUG_LEVEL               - Level the debugging information to generate in
 #                                the compiled object files
 #                                generate in the compiled object files
 #    DEBUG_LEVEL               - Level the debugging information to generate in
 #                                the compiled object files
+#    COMPILER_PATH             - Location of the GCC toolchain to use
 #
 # PROVIDED VARIABLES:
 #
 #
 # PROVIDED VARIABLES:
 #
@@ -90,6 +91,7 @@ ERROR_IF_EMPTY   ?= $(if $(strip $($(strip $(1)))), , $(error Makefile $(strip $
 ERROR_IF_NONBOOL ?= $(if $(filter Y N, $($(strip $(1)))), , $(error Makefile $(strip $(1)) option must be Y or N))
 
 # Default values of optionally user-supplied variables
 ERROR_IF_NONBOOL ?= $(if $(filter Y N, $($(strip $(1)))), , $(error Makefile $(strip $(1)) option must be Y or N))
 
 # Default values of optionally user-supplied variables
+COMPILER_PATH      ?=
 BOARD              ?= NONE
 OPTIMIZATION       ?= s
 F_CPU              ?=
 BOARD              ?= NONE
 OPTIMIZATION       ?= s
 F_CPU              ?=
@@ -123,12 +125,12 @@ $(call ERROR_IF_NONBOOL, LINKER_RELAXATIONS)
 
 # Determine the utility prefix to use for the selected architecture
 ifeq ($(ARCH), AVR8)
 
 # Determine the utility prefix to use for the selected architecture
 ifeq ($(ARCH), AVR8)
-   CROSS        := avr
+   CROSS        := $(COMPILER_PATH)avr
 else ifeq ($(ARCH), XMEGA)
 else ifeq ($(ARCH), XMEGA)
-   CROSS        := avr
+   CROSS        := $(COMPILER_PATH)avr
    $(warning The XMEGA device support is currently EXPERIMENTAL (incomplete and/or non-functional), and is included for preview purposes only.)
 else ifeq ($(ARCH), UC3)
    $(warning The XMEGA device support is currently EXPERIMENTAL (incomplete and/or non-functional), and is included for preview purposes only.)
 else ifeq ($(ARCH), UC3)
-   CROSS        := avr32
+   CROSS        := $(COMPILER_PATH)avr32
    $(warning The UC3 device support is currently EXPERIMENTAL (incomplete and/or non-functional), and is included for preview purposes only.)
 else
    $(error Unsupported architecture "$(ARCH)")
    $(warning The UC3 device support is currently EXPERIMENTAL (incomplete and/or non-functional), and is included for preview purposes only.)
 else
    $(error Unsupported architecture "$(ARCH)")
index 21930ea..7ddfa1b 100644 (file)
  *    <td>Common flags to pass to the C/C++ compiler and assembler, after the automatically generated flags.</td>\r
  *   </tr>\r
  *   <tr>\r
  *    <td>Common flags to pass to the C/C++ compiler and assembler, after the automatically generated flags.</td>\r
  *   </tr>\r
  *   <tr>\r
+ *    <td><tt>COMPILER_PATH</tt></td>\r
+ *    <td>Directory where the C/C++ toolchain is located, if not available in the system <tt>PATH</tt>.</td>\r
+ *   </tr>\r
+ *   <tr>\r
  *    <td><tt>LD_FLAGS</tt></td>\r
  *    <td>Flags to pass to the linker, after the automatically generated flags.</td>\r
  *   </tr>\r
  *    <td><tt>LD_FLAGS</tt></td>\r
  *    <td>Flags to pass to the linker, after the automatically generated flags.</td>\r
  *   </tr>\r
index 2994270..7aa7938 100644 (file)
@@ -7,12 +7,17 @@
  /** \page Page_ChangeLog Project Changelog
   *
   *  \section Sec_ChangeLogXXXXXX Version XXXXXX
  /** \page Page_ChangeLog Project Changelog
   *
   *  \section Sec_ChangeLogXXXXXX Version XXXXXX
+  *  <b>New:</b>
+  *  - Core:
+  *   - Updated the BUILD build system module to add a new COMPILER_PATH optional variable
+  *
   *  <b>Fixed:</b>
   *  - Core:
   *   - Fixed device class driver pipe configuration routines returning success with a partially constructed instance
   *     when a pipe configuration failed (thanks to Helge Suess)
   *   - Fixed incorrect LED driver definitions for the Arduino Leonardo board (thanks to Zoltán Szőke)
   *   - Fixed incorrect XMEGA DFLL reference frequency (thanks to Martin Aakerberg)
   *  <b>Fixed:</b>
   *  - Core:
   *   - Fixed device class driver pipe configuration routines returning success with a partially constructed instance
   *     when a pipe configuration failed (thanks to Helge Suess)
   *   - Fixed incorrect LED driver definitions for the Arduino Leonardo board (thanks to Zoltán Szőke)
   *   - Fixed incorrect XMEGA DFLL reference frequency (thanks to Martin Aakerberg)
+  *   - Fixed possible infinite loop in the control endpoint stream write function (thanks to Clayton Knight)
   *  - Library Applications:
   *   - Fixed spurious 0xFE USART byte sent in the USBtoSerial project when the baud rate is changed (thanks to Carl Kjeldsen)
   *
   *  - Library Applications:
   *   - Fixed spurious 0xFE USART byte sent in the USBtoSerial project when the baud rate is changed (thanks to Carl Kjeldsen)
   *