I have Xcode 3.2 installed into /Xcode3.2, and did not install anything into /Developer. When I wish to do development, I start up a shell as follows
alias sysroot='PATH=${PATH}:${XCODE}/usr/bin CFLAGS=--sysroot\ ${SDK_ROOT} CXXFLAGS=--sysroot\ ${SDK_ROOT} LDFLAGS=--sysroot\ ${SDK_ROOT} CPPFLAGS=--sysroot\ ${SDK_ROOT}'
where XCODE is /Xcode3.2 and SDK_ROOT is ${XCODE}/SDKs/MacOSX10.6.sdk. This handles most of the oddities of trying to build projects. However, I recently ran into a case where I wanted to re-run aclocal and got the following error:
autom4te: m4sugar/m4sugar.m4: no such file or directory
aclocal: /Xcode3.2/usr/bin/autom4te failed with exit status: 1
Specifying -I flags to aclocal to point at the alternative /Xcode3.2/usr/share/aclocal-1.10 and /Xcode3.2/usr/share/aclocal doesn't seem to help. If I use --verbose, and then re-run the m4 command it lists manually with an added -I flag to point to /Xcode3.2/usr/share/autoconf, then that works, but I cannot seem to pipe it through from aclocal. In addition the M4PATH environment variable that the man pages for m4 suggest will let me add paths does not seem to make a difference. (And setting an environment variable would be my preferred setting, just so I could add it to the alias above.)
So far, I've not come up with a solution other than the "dirtying" procedure of creating a symlink from /usr/share/autoconf to /Xcode3.2/usr/share/autoconf. Is there another better way?
NOTE: The reason I keep such distinct lines between installs of the developer tools and the OS is to provide reliable cross-OS compilations (e.g., so that one Xcode version's tools don't perturb another Xcode version's build behavior.)