Commit 9619945c authored by kyab's avatar kyab

Fix and refactor crossbuild target config

parent 34cd70b1
...@@ -13,18 +13,27 @@ MRuby::CrossBuild.new("Arduino Due") do |conf| ...@@ -13,18 +13,27 @@ MRuby::CrossBuild.new("Arduino Due") do |conf|
conf.cc do |cc| conf.cc do |cc|
cc.command = "#{BIN_PATH}/arm-none-eabi-gcc" cc.command = "#{BIN_PATH}/arm-none-eabi-gcc"
cc.include_paths = ["#{SAM_PATH}/system/libsam -I#{SAM_PATH}/system/CMSIS/CMSIS/Include/", cc.include_paths << ["#{SAM_PATH}/system/libsam -I#{SAM_PATH}/system/CMSIS/CMSIS/Include/",
"#{SAM_PATH}/system/CMSIS/Device/ATMEL/", "#{SAM_PATH}/system/CMSIS/Device/ATMEL/",
"#{SAM_PATH}/cores/arduino -I#{TARGET_PATH}", "#{SAM_PATH}/cores/arduino -I#{TARGET_PATH}"]
"#{MRUBY_ROOT}/include"] cc.flags = %w(-g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500
cc.flags << '-g -Os -w -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500 ' + -Dprintf=iprintf -mcpu=cortex-m3 -DF_CPU=84000000L -DARDUINO=152 -D__SAM3X8E__ -mthumb -DUSB_PID=0x003e -DUSB_VID=0x2341 -DUSBCON)
'-Dprintf=iprintf -mcpu=cortex-m3 -DF_CPU=84000000L -DARDUINO=152 -D__SAM3X8E__ -mthumb -DUSB_PID=0x003e -DUSB_VID=0x2341 -DUSBCON'
cc.compile_options = "%{flags} -o %{outfile} -c %{infile}" cc.compile_options = "%{flags} -o %{outfile} -c %{infile}"
end end
conf.cxx do |cxx|
cxx.command = conf.cc.command.dup
cxx.include_paths = conf.cc.include_paths.dup
cxx.flags = conf.cc.flags.dup
cxx.compile_options = conf.cc.compile_options.dup
end
conf.archiver do |archiver| conf.archiver do |archiver|
archiver.command = "#{BIN_PATH}/arm-none-eabi-ar" archiver.command = "#{BIN_PATH}/arm-none-eabi-ar"
archiver.archive_options = 'rcs %{outfile} %{objs}' archiver.archive_options = 'rcs %{outfile} %{objs}'
end end
#no executables
conf.bins = []
end end
...@@ -9,26 +9,36 @@ MRuby::CrossBuild.new("chipKitMax32") do |conf| ...@@ -9,26 +9,36 @@ MRuby::CrossBuild.new("chipKitMax32") do |conf|
toolchain :gcc toolchain :gcc
# Mac OS X # Mac OS X
# MPIDE_PATH = '/Applications/mpide.app/Contents/Resources/Java' # MPIDE_PATH = '/Applications/Mpide.app/Contents/Resources/Java'
# GNU Linux # GNU Linux
MPIDE_PATH = '/opt/mpide-0023-linux-20120903' MPIDE_PATH = '/opt/mpide-0023-linux-20120903'
PIC32_PATH = "#{MPIDE_PATH}/hardware/pic32" PIC32_PATH = "#{MPIDE_PATH}/hardware/pic32"
conf.cc do |cc| conf.cc do |cc|
cc.command="#{PIC32_PATH}/compiler/pic32-tools/bin/pic32-gcc" cc.command = "#{PIC32_PATH}/compiler/pic32-tools/bin/pic32-gcc"
cc.include_paths = ["#{PIC32_PATH}/cores/pic32", cc.include_paths << ["#{PIC32_PATH}/cores/pic32",
"#{PIC32_PATH}/variants/Max32", "#{PIC32_PATH}/variants/Max32",
"#{MRUBY_ROOT}/include"] "#{PIC32_PATH}/libraries"]
cc.flags << "-O2 -mno-smart-io -w -ffunction-sections -fdata-sections -g -mdebugger -Wcast-align " + cc.flags = %w(-O2 -mno-smart-io -w -ffunction-sections -fdata-sections -g -mdebugger -Wcast-align
"-fno-short-double -mprocessor=32MX795F512L -DF_CPU=80000000L -DARDUINO=23 -D_BOARD_MEGA_ " + -fno-short-double -mprocessor=32MX795F512L -DF_CPU=80000000L -DARDUINO=23 -D_BOARD_MEGA_
"-DMPIDEVER=0x01000202 -DMPIDE=23" -DMPIDEVER=0x01000202 -DMPIDE=23)
cc.compile_options = "%{flags} -o %{outfile} -c %{infile}" cc.compile_options = "%{flags} -o %{outfile} -c %{infile}"
end end
conf.cxx do |cxx|
cxx.command = conf.cc.command.dup
cxx.include_paths = conf.cc.include_paths.dup
cxx.flags = conf.cc.flags.dup
cxx.compile_options = conf.cc.compile_options.dup
end
conf.archiver do |archiver| conf.archiver do |archiver|
archiver.command = "#{PIC32_PATH}/compiler/pic32-tools/bin/pic32-ar" archiver.command = "#{PIC32_PATH}/compiler/pic32-tools/bin/pic32-ar"
archiver.archive_options = 'rcs %{outfile} %{objs}' archiver.archive_options = 'rcs %{outfile} %{objs}'
end end
#no executables
conf.bins = []
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment