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.)