gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Coding > devkitARM, PATH, and arm-eabi-nm

#124768 - tepples - Sun Apr 08, 2007 1:50 pm

In this post, wintermute wrote:
tepples wrote:
You should have a file arm-eabi-g++.exe somewhere on your hard drive, such as in the folder "C:\devkitPro\devkitARM\bin". Is this folder in your PATH?


Please refrain from misinforming people.

This error is generally caused by following the manual installation instructions improperly. It is not recommended that devkitARM\bin be in the PATH.

So then how does Make find arm-elf-g++.exe? Probing a bit further, I guess it's the makefile's job to copy the DEVKITARM variable into the private PATH of Make. From line 64 of C:\devkitPro\examples\gba\graphics\SimpleBGScroll\Makefile:
Code:
export PATH   :=   $(DEVKITARM)/bin:$(PATH)

But if one wants to run a quick arm-eabi-nm -n mygame.elf or lsgbfs mygame.gbfs to see what the big space hogs are, what is the recommended way to do this? Or is it intended that the programs in $(DEVKITARM)/bin are never run by anything but a makefile?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#124774 - gmiller - Sun Apr 08, 2007 3:16 pm

Not sure what is considered the correct way but you could modify your msys "/etc/profile" to do the PATH modification. In switching between ARM and PPC I setup my msys to detect which way things were started and set the PATH appropriately.

#124786 - wintermute - Sun Apr 08, 2007 5:20 pm

My needs are probably slightly different from the average user given that I could potentially be working with around 6 different toolchains at any given point. I like to avoid any chance of conflicts by never placing them in the path except when absolutely necessary. The devkitPro build system reflects this need and I do feel that it's a convention worth following.

For the most part I use a shell with a temporarily modified PATH when I want to use the tools independently of the build system.

It looks like the SimpleBGScroll Makefile is from an older version of the build system where most thinsg were specified in the project makefile. A lot of this has now moved to the base_rules & ds/gba_rules files distributed with devkitARM.
_________________
devkitPro - professional toolchains at amateur prices
devkitPro IRC support
Personal Blog

#124788 - tepples - Sun Apr 08, 2007 6:05 pm

wintermute wrote:
My needs are probably slightly different from the average user given that I could potentially be working with around 6 different toolchains at any given point.

Impressive. As a mere user of the toolchains, I use two different toolchains (MinGW and devkitARM), both with devkitPro MSYS. They are named so as not to conflict ("gcc" goes to MinGW; "arm-eabi-gcc" goes to devkitARM).

wintermute wrote:
For the most part I use a shell with a temporarily modified PATH when I want to use the tools independently of the build system.

I use something similar, a shortcut that puts MinGW and devkitARM at the front of the PATH and then starts cmd.exe. I understand the value of your GBA/DS build system to e.g. beginners, but one reason that I don't use your templates is that I have projects that build the Windows, GBA, and DS versions from the same source tree, and the GBA and DS makefiles may compile several custom Windows command-line tools to convert assets and generate lookup tables.

But based on my new understanding of the system, I'll stop recommending that beginners edit the PATH in My Computer > Properties > Advanced > Environment Variables, except to verify their installation: make sure that PATH has MSYS near the front and that DEVKITPRO and DEVKITARM are present and correct.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.