-#define SETUP_VAR(var) \
- if ( var ## _pointer == 0) { \
- _dyld_lookup_and_bind( STRINGIFY(_ ## var), \
- (unsigned long *) & var ## _pointer, 0); \
- }
-#define SETUP_PROGNAME(var) \
- if ( var ## _pointer == 0) { \
- if(NSIsSymbolNameDefined( STRINGIFY(_ ## var) )) \
- _dyld_lookup_and_bind( STRINGIFY(_ ## var), \
- (unsigned long *) & var ## _pointer, 0); \
- else { \
- char *progname = _dyld_get_image_name(0); \
- if(_priv_ ## var = strrchr(progname, '/')) \
- _priv_ ## var ++; \
- else \
- _priv_ ## var = progname; \
- var ## _pointer = & _priv_ ## var; \
- } \
- }