Matt Madia wrote: > On 8/6/12, Ingo Weinhold <ingo_weinhold@xxxxxx> wrote: > > On 2012-08-06 at 03:49:36 [+0200], mmadia-github.separate-build-environment > > > > <community@xxxxxxxxxxxx> wrote: > > [...] > >> +/* special timezone support */ > >> +extern char *_haiku_build_tzname[2]; > >> +extern int _haiku_build_daylight; > >> +extern long _haiku_build_timezone; > > > > Those are variables, so you need to use _HAIKU_BUILD_DECLARE_CONSTANT > > (which should be renamed to *_VARIABLE, since there apparently also are > > non-constant variables). You'll even need an *_ETC version for the array. > > Will do. > > Is this how _HAIKU_BUID_DECLARE_VARIABLE_ETC should be implemented? > > #ifdef _HAIKU_BUILD_LIBROOT_FUNCTION_WRAPPER > # define _HAIKU_BUILD_DECLARE_VARIABLE_ETC(type, name, length) \ > extern type _haiku_build_##name[length]; > #else > # define _HAIKU_BUILD_DECLARE_VARIABLE_ETC(type, name, length) \ > extern type _haiku_build_##name[length]; \ > extern type name[length] \ > __asm__(_HAIKU_BUILD_ASMNAME("_haiku_build_" #name)); > #endif That works for one-dimensional arrays. Alternatively you could define # define _HAIKU_BUILD_DECLARE_VARIABLE_ETC(type, name, etc) \ extern type _haiku_build_##name etc; ... which would support anything after the name. CU, Ingo