|
From: Andreas G. <ag...@on...> - 2003-08-25 17:03:49
|
On Montag, August 25, 2003, at 01:12 Uhr, Jesse Jones wrote: > At 8:35 AM -0700 8/24/03, Paul Snively wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> >> On Saturday, August 23, 2003, at 09:16 AM, Miro Jurisic wrote: >> >>> Using a shell script (below), I found approximately all the macros >>> used in Whisper code. I would like to know what each one does so >>> that we can a. document the ones we need b. eliminate the ones we >>> don't c. rename ones we should and d. fix the ones that are wrong. >>> ... >> >> Agreed on all renames; let's make sure that Jesse agrees with the >> rest. > > Works for me. > > -- Jesse Summarize: A Whisper macro shall begin with WHISPER_* (, in order to avoid conflicts with other existing macros). Definition: a "Whisper macro", is a macro exclusively used in Whisper sources or headers. If they are defined (almost all), they are defined *only* in Whisper sources or Whisper headers. Note: The macro DEBUG, is used also in Debugging.h (in Mac OS system headers) which will be often included in precompiled headers. Thus, the macro DEBUG is never a Whisper macro! :-) Consequently, we can NOT *rename* it in the Whisper sources, but we can *replace* it with WHISPER_DEBUG - if it shall be a Whisper macro. If it IS a whisper macro, there is a conflict and we MUST rename it to WHISPER_DEBUG. ;-) Further suggestions: Whisper macros belonging to a certain category may have a name WHISPER_<cat>_*, for instance: WHISPER_PLATFORM_*: the target platform, or operating system. (WHISPER_PLATFORM_MAC, WHISPER_PLATFORM_WIN, WHISPER_PLATFORM_LINUX, etc.) WHISPER_BUILD_*: debug, profile, release, or other custom build settings (WHISPER_BUILD_DEBUG, WHISPER_BUILD_PROFILE, WHISPER_BUILD_RELEASE, etc.) WHISPER_LANG_* compiler, language options, may indicate "has native bool", "has native wchar_t", "enums always int", ect. (WHISPER_LANG_NATIVE_WCHAR, WHISPER_LANG_WCHAR_SIZE) WHISPER_<cat>_NO_*: indicating lack of compiler features, library services, etc. eg. no wchar support in std lib. (WHISPER_STD_NO_CWCHAR, WHISPER_STD_NO_CWCTYPE, WHISPER_MAC_NO_xxx, WHISPER_COMPILER_NO_MEMBER_TEMPLATE_FRIENDS, etc.) WHISPER_CONFIG_* internally used during configure. WHISPER_PRECOMP_* internally used for pre-compiling if IDE supports that. Whisper Macros which are defined only for a certain platform, may have a name WHISPER_<platform>_*, where platform might be "WIN", "MAC", "LINUX", etc. That is, all macros having a name WHISPER_MAC_* are only defined if WHISPER_PLATFORM_MAC is defined and evaluates to true, for instance: WHISPER_MAC_RT_CFM (targeting PEF/CFM) WHISPER_MAC_RT_MACHO (targeting Mach-O/dylib) Draw back: macros may have lengthy names. Andreas > > > ------------------------------------------------------- > This SF.net email is sponsored by: VM Ware > With VMware you can run multiple operating systems on a single machine. > WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines > at the same time. Free trial click > here:http://www.vmware.com/wl/offer/358/0 > _______________________________________________ > Whisper2-develop mailing list > Whi...@li... > https://lists.sourceforge.net/lists/listinfo/whisper2-develop > |