¿Cómo configurar la ruta de tiempo de ejecución (-rpath) de un ejecutable con gcc en Mac OSX?

Quiero establecer en Mac OSX la ruta de tiempo de ejecución de un ejecutable (para el enlazador) en tiempo de compilación, de modo que el enlazador dinámico encuentre las bibliotecas compartidas en ubicaciones no estándar al inicio del programa.

Bajo Linux esto es posible con-Xlinker -rpath -Xlinker /path/to (o usando-Wl,-rpath,/path/to) y en Solaris puede agregar-R/path/to a la línea de comando del compilador.

encontréalguna información que Mac OS X gcc tiene soporte -rpath desde 10.5, es decir, desde ~ 2008.

Traté de hacerlo funcionar con un ejemplo mínimo, sin éxito:

$ cat blah.c 
int blah(int b)
{
  return b+1;
}

Y:

$ cat main.c 

#include <stdio.h>

int blah(int);

int main ()
{
  printf("%d\n", blah(22));
  return 0;
}

Compilado así:

$ gcc -c  blah.c
$ gcc -dynamiclib blah.o -o libblah.dylib
$ gcc main.c -lblah -L`pwd`  -Xlinker -rpath -Xlinker `pwd`/t

Ahora la prueba:

$ mkdir t
$ mv libblah.dylib t
$ ./a.out
dyld: Library not loaded: libblah.dylib
  Referenced from: /Users/max/test/./a.out
  Reason: image not found
Trace/BPT trap

De ahí la pregunta: ¿Cómo configuro la ruta de tiempo de ejecución para el vinculador en Mac OSX?

Por cierto, ajusteDYLD_LIBRARY_PATH funciona, pero no quiero usar este truco.

Editar: Respecto aotool -L:

$ otool -L a.out 
a.out:
        libblah.dylib (compatibility version 0.0.0, current version 0.0.0)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)

Parece queotool -L solo imprime los nombres de las bibliotecas (y probablemente las ubicaciones en el momento del enlace) con las que se vinculó el ejecutable y no hay información de ruta de tiempo de ejecución.

Respuestas a la pregunta(1)

Su respuesta a la pregunta