You can subscribe to this list here.
| 2003 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
(3) |
Jun
|
Jul
(4) |
Aug
(44) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <ben...@id...> - 2004-05-22 12:42:23
|
Dear Open Source developer I am doing a research project on "Fun and Software Development" in which I kindly invite you to participate. You will find the online survey under http://fasd.ethz.ch/qsf/. The questionnaire consists of 53 questions and you will need about 15 minutes to complete it. With the FASD project (Fun and Software Development) we want to define the motivational significance of fun when software developers decide to engage in Open Source projects. What is special about our research project is that a similar survey is planned with software developers in commercial firms. This procedure allows the immediate comparison between the involved individuals and the conditions of production of these two development models. Thus we hope to obtain substantial new insights to the phenomenon of Open Source Development. With many thanks for your participation, Benno Luthiger PS: The results of the survey will be published under http://www.isu.unizh.ch/fuehrung/blprojects/FASD/. We have set up the mailing list fa...@we... for this study. Please see http://fasd.ethz.ch/qsf/mailinglist_en.html for registration to this mailing list. _______________________________________________________________________ Benno Luthiger Swiss Federal Institute of Technology Zurich 8092 Zurich Mail: benno.luthiger(at)id.ethz.ch _______________________________________________________________________ |
|
From: Paul S. <psn...@ma...> - 2003-10-05 19:15:26
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Folks, First, I need to thank Miro and Andreas for their excellent, hard work in adding FSRef support to Whisper and rationalizing Whisper's use of macros. I think the code is much cleaner now, and it's great to have more comprehensive modern filesystem support on the Mac. I've made a number of changes to MFileDialog in support of the FSRef work, and that seems to be nearly complete. One lingering issue is when I run DocSkeleton, make a document, and attempt to save it as a "DocSkeleton" (vs. XML or just "Document") document: I get an OS error to the effect that the file doesn't exist. Very strange. Any help here would be appreciated. Also, Xtra, if you have any spare cycles at all, Miro got my HFSUniStr255 transcoders working, sorta, but only by assuming that wchar_t is 2 bytes wide. If you could take a look at that sometime, I'd appreciate that also. Finally, my next task now that we're post SFU is to proceed with the Carbon Events investigation. Don't be surprised if I have many more stupid questions soon. Many thanks and best regards, Paul -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.3 (Darwin) iEYEARECAAYFAj+Aba8ACgkQugPBK9Deteps6QCgrqnjaBOnkKlwDS2R/xBn0M/I hEwAoIqjeTnxB9udMKpqPO7HFWQCAyR8 =Kc+f -----END PGP SIGNATURE----- |
|
From: Andreas G. <ag...@co...> - 2003-09-06 09:52:52
|
|
From: Andreas G. <ag...@on...> - 2003-08-27 21:50:20
|
On Mittwoch, August 27, 2003, at 04:31 Uhr, Miro Jurisic wrote: > At 4:27 PM +0200 8/27/03, Andreas Grosam wrote: >> On Mittwoch, August 27, 2003, at 03:48 Uhr, Miro Jurisic wrote: >> >>>> There is currently no implementation for stack crawling for Mach-O. >>>> >>>> I'll make an attempt. Although, I won't promise anything ;) >>> >>> For totally selfish reasons I have a very strong preference for >>> getting things to build under Mach-O even if they are incomplete. >>> That said, Darwin should have the code for that, and the easiest >>> approach IMO is to ask on the Darwin list where it might be. >>> >> My test code is running now. Slow, but it works. (Could be improved, >> but may be this is sufficient) >> However, I'm searching for a function unmangling the symbols for >> better reading. >> Is there something for Apple and MW compiler available? > > If there are, they would be in Darwin. If there aren't, they follow > the C++ ABI from <http://www.codesourcery.com/cxx-abi/>, but they are > not perfectly in line with the spec. After some search, eventually I found good sources in the gdb sources. It's a little bit more stuff than I supposed to .. just for demangling. Well, think I need to skip everything not needed. I also noticed your mails in Google/Groups with MWRon and others regarding the C++ ABI in Metrowerks. Hope, Metrowerks will fix the errors you mentioned in CW9. It's to late now (23.50 Uhr), so I will proceed tomorrow. Andreas > > meeroh > -- > > <http://web.meeroh.org/> | KB1FMP > > A: Because it reverses the logical flow of conversation. > Q: Why is top posting frowned upon? > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Whisper2-develop mailing list > Whi...@li... > https://lists.sourceforge.net/lists/listinfo/whisper2-develop > |
|
From: Miro J. <me...@me...> - 2003-08-27 21:23:34
|
>>Could not find or load the file "FSp_fopen.wrap.c" for target >>"Debug PPC" for project "Runtime.mcp". My bad; fixed. Update Files and Runtime. meeroh -- <http://web.meeroh.org/> | KB1FMP A: Because it reverses the logical flow of conversation. Q: Why is top posting frowned upon? |
|
From: Miro J. <me...@me...> - 2003-08-27 14:32:59
|
At 4:27 PM +0200 8/27/03, Andreas Grosam wrote: >On Mittwoch, August 27, 2003, at 03:48 Uhr, Miro Jurisic wrote: > >>>There is currently no implementation for stack crawling for Mach-O. >>> >>>I'll make an attempt. Although, I won't promise anything ;) >> >>For totally selfish reasons I have a very strong preference for >>getting things to build under Mach-O even if they are incomplete. >>That said, Darwin should have the code for that, and the easiest >>approach IMO is to ask on the Darwin list where it might be. >> >My test code is running now. Slow, but it works. (Could be improved, >but may be this is sufficient) >However, I'm searching for a function unmangling the symbols for >better reading. >Is there something for Apple and MW compiler available? If there are, they would be in Darwin. If there aren't, they follow the C++ ABI from <http://www.codesourcery.com/cxx-abi/>, but they are not perfectly in line with the spec. meeroh -- <http://web.meeroh.org/> | KB1FMP A: Because it reverses the logical flow of conversation. Q: Why is top posting frowned upon? |
|
From: Andreas G. <ag...@on...> - 2003-08-27 14:27:35
|
On Mittwoch, August 27, 2003, at 03:48 Uhr, Miro Jurisic wrote: >> There is currently no implementation for stack crawling for Mach-O. >> >> I'll make an attempt. Although, I won't promise anything ;) > > For totally selfish reasons I have a very strong preference for > getting things to build under Mach-O even if they are incomplete. That > said, Darwin should have the code for that, and the easiest approach > IMO is to ask on the Darwin list where it might be. > My test code is running now. Slow, but it works. (Could be improved, but may be this is sufficient) However, I'm searching for a function unmangling the symbols for better reading. Is there something for Apple and MW compiler available? Andreas > meeroh > -- > > <http://web.meeroh.org/> | KB1FMP > > A: Because it reverses the logical flow of conversation. > Q: Why is top posting frowned upon? > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Whisper2-develop mailing list > Whi...@li... > https://lists.sourceforge.net/lists/listinfo/whisper2-develop > |
|
From: Miro J. <me...@me...> - 2003-08-27 13:48:59
|
>There is currently no implementation for stack crawling for Mach-O. > >I'll make an attempt. Although, I won't promise anything ;) For totally selfish reasons I have a very strong preference for getting things to build under Mach-O even if they are incomplete. That said, Darwin should have the code for that, and the easiest approach IMO is to ask on the Darwin list where it might be. meeroh -- <http://web.meeroh.org/> | KB1FMP A: Because it reverses the logical flow of conversation. Q: Why is top posting frowned upon? |
|
From: Andreas G. <ag...@on...> - 2003-08-27 09:33:57
|
Hi, There is currently no implementation for stack crawling for Mach-O. I'll make an attempt. Although, I won't promise anything ;) Andreas |
|
From: Andreas G. <ag...@on...> - 2003-08-26 11:41:26
|
On Sonntag, August 24, 2003, at 08:45 Uhr, Jesse Jones wrote: > At 8:04 PM -0400 8/23/03, Miro Jurisic wrote: >>> A lot of those macros are either documented or obvious. If you list >>> the ones you aren't sure about I can probably describe what they are >>> for. >> >> The ones I am not sure about are the Windows ones (since I don't know >> enough about Windows) and the ones Labeled with "Huh?" :-) >> >> // Windows specific > [...] >> // Misc >> 2 INFINITY // Huh? >> 2 NAN // Huh? > > I think these are now standard, but they weren't defined in MSVC. So > Whisper defines them on Windows. The above macros are defined usually in math.h. macro NULL is also defined in <cstddef> Worth mention: NDEBUG: The effect of including either <cassert> or <assert.h> depends each time on the lexically current definition of NDEBUG. This means, NEVER include cassert or assert.h in pre-compiled headers. In Mac OS, this may be similar with macro DEBUG in Debugging.h. If so, we NEVER should include Debugging.h in pre-compiled headers, too. (as i know, metrowerks includes Debugging.h in its precompiled headers.) > >> 1 MSIPL_MEMBER_TEMPLATE // Huh? >> 1 MSIPL_TEMPL_NEWSPEC // Huh? >> 3 MSIPL_DEBUG_MODE // Huh? >> 2 MSIPL_DEF_EXPLICIT // Huh? > > These were used with the Metrowerks std library. Most of them are > obsolete now I think. Correct. Most of MSL macros begin with _MSL_*. (CW 8) The old macros must be fixed. Andreas > >> 3 QUESA_SUPPORT_QUICKTIME // huh? > > This is mostly for Windows where you might want to build a Quesa app > without requiring that QuickTime be installed. > > -- Jesse > > > > > ------------------------------------------------------- > 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 > |
|
From: Chris P. <chr...@us...> - 2003-08-26 03:40:51
|
I can=92t build Runtime.mcp due to a missing source file: > Could not find or load the file =93FSp_fopen.wrap.c=94 for target = =93Debug=20 > PPC=94 for project =93Runtime.mcp=94. I can see this file in .../Source/BackEnd/Files/Source/Files/Mac/FSp_fopen.wrap.c This doesn=92t seem to be accessible to Runtime.mcp. Can anybody else=20 build this project? --=20 Chris Page - Software Wrangler - Palm, Inc. SmartFriends(TM) U: Languages and Libraries, Sept. 26-28 Keynote: STL Creator, Alexander Stepanov <http://SmartFriends.com/U>= |
|
From: Miro J. <me...@me...> - 2003-08-25 23:54:57
|
>Summarize: Excellent summary. >The macro DEBUG, is used also in Debugging.h (in Mac OS system >headers) which will be often included in precompiled headers. The same holds of NDEBUG and _DEBUG. The way they are currently handled is that Whisper makes sure that NDEBUG and _DEBUG are synchronized with DEBUG, and then consistently uses DEBUG itself. I think that's a good way to handle the Mac OS DEBUG macro as well -- replace it with WHISPER_DEBUG and make sure that DEBUG, NDEBUG, and _DEBUG are all synchronized with it (see XDebug.h). >Draw back: macros may have lengthy names. I can live with that, but I would prefer if we did not add a category to those macros which we anticipate will be used often -- WHISPER_ASSERT et al. It's enough that we are lengthening them with WHISPER_, we don't need to add a category as well. meeroh -- <http://web.meeroh.org/> | KB1FMP A: Because it reverses the logical flow of conversation. Q: Why is top posting frowned upon? |
|
From: Andreas G. <ag...@co...> - 2003-08-25 22:52:26
|
Hi All, I've assembled a new Whisper "Runtime" project which contains Mach-O targets and also links against BSD C and MSL C. (A brief description follows.) I would really appreciate it if you would like to evaluate it. ;-) If so, please send me a mail "Yes I want it!" - I'll send you immediately the archive. It is about 400KB (compressed archive), so I send it NOT without your explicit request, and I send it not to the mailing list. So, you won't get a copy if you just listen on the mailing list. Its for evaluating only and not intended to be checked in immediately. IMPORTANT: please send mail temporarily to my second account, <ag...@co...>, because pop.onlinehome.de is down. Description: Although, I spent a lot of time carefully handcrafting it, I consider it still being in "alpha" state. I think, it would be nice that you have an early version, so that you can evaluate it, find errors, and make suggestions and merge your improvements. There are a lot of things in it about we should discuss, too. Note that this is a proposal. Currently, there is only one "Prefix <target>.h" file, however, the functionality is included in the master prefix file "CW_Prefix Mac_All.h" for ALL targets. This is just a matter of creating the target specifi prefix files, and moving the macro definitions from the master prefix file to the prefix files. This would be required when compiling with PB - but works for CW, for now. (If you don't understand this, please take a look into the docs, in {WHISPER}/Config - or ask me) The Windows targets have not been testes at all. Please do not evaluate them (for all Windows experts: rather make the required changes so that they do work as well :-) ). The configuration mechanism is designed with a little bit foresight. It is intended to be suitable for compiling with ProjectBuilder or any other IDE, too. However, i did not have the time to create a BP project yet. There are minor changes within the file structure: - There is a new folder "Config" within the Whisper root. This folder contains "configure headers" (see docs included in the archive, within folder "Config"). - The IDE projects are located in an IDE specific folder, within folder "BuildSystem". Within this folders, there go the temp files of the build process, too. Runtime BuildSystem CodeWarrior Runtime.mcp ProjectBuilder Source (sources) Note, each Whisper project has such a folder for a each development environment (IDE) it currently supports. The products, go into a special folder. For instance, libraries, are located in {WHISPER}/Libraries/ Within Libraries, there are folders "Mach-O", "CFM", etc. This (test) project is "stand alone", you can unpack it and start building. It contains all necessary sources. Before you do that, in CW, in the global preferences, define a "Source Tree" "WHISPER", which points to your local Whisper folder. In this case - that is, for evaluating this test project - you should point this path to the folder which will be unpacked from the archive "Whisper 2.2.sit". Documentation for the config system and the conditional macros can be found in {WHISPER}/Config Compiling will be successfully, but linking fails for some targets due to some lack of implementations (stack crawl functions) and there are some minor other link errors, due to missing profiler lib. It contains sources, which have been modified such that it compiles on Mac OS X and also when linking against a C lib not having wchar support. However, it requires a Cpp lib having wchar and locale! Caution: The purpose of this test project is mainly for defining the new Mach-O targets, and testing the configure process and new WHISPER macros. It is not tested in its function as a "Runtime library" for Whisper Apps. This will be done later, of course. Andreas |
|
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 > |
|
From: Andreas G. <ag...@on...> - 2003-08-25 13:24:49
|
On Montag, August 25, 2003, at 02:30 Uhr, Miro Jurisic wrote:
>> Summarize:
>
> Excellent summary.
>
>> The macro DEBUG, is used also in Debugging.h (in Mac OS system
>> headers) which will be often included in precompiled headers.
>
> The same holds of NDEBUG and _DEBUG. The way they are currently
> handled is that Whisper makes sure that NDEBUG and _DEBUG are
> synchronized with DEBUG, and then consistently uses DEBUG itself.
>
> I think that's a good way to handle the Mac OS DEBUG macro as well --
> replace it with WHISPER_DEBUG and make sure that DEBUG, NDEBUG, and
> _DEBUG are all synchronized with it (see XDebug.h).
That is (somewhere during configuration, after primary conditionals
have been set):
// Set defaults for debugging macros DEBUG, _DEBUG, NDEBUG:
#if WHISPER_BUILD_DEBUG
#ifdef WHISPER_PLATFORM_MAC
// Optionally enable Carbon debug macros (see Debugging.h):
// Comment out this macro if you don't need Carbon debug macros.
#define DEBUG 1 /*We need set it to 1 (one), if defined!*/
#endif
#ifdef WHISPER_PLATFORM_WIN
#define _DEBUG /* (windows expert shall verify!!)*/
#endif
#else
// Non debug build:
// do not expand assertion macros in std lib
#define NDEBUG
#endif // WHISPER_BUILD_DEBUG
Note: we should rarely use platform dependent macros in Whisper
sources! When the source is already platform specific, well, then its
OK.
>
>> Draw back: macros may have lengthy names.
>
> I can live with that, but I would prefer if we did not add a category
> to those macros which we anticipate will be used often --
> WHISPER_ASSERT et al. It's enough that we are lengthening them with
> WHISPER_, we don't need to add a category as well.
Agree. Don't want write WHISPER_DEBUG_DEBUGSTR etc., too ;)
Andreas
>
> meeroh
> --
>
> <http://web.meeroh.org/> | KB1FMP
>
> A: Because it reverses the logical flow of conversation.
> Q: Why is top posting frowned upon?
>
|
|
From: Jesse J. <jes...@mi...> - 2003-08-24 23:13:03
|
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 |
|
From: Paul S. <psn...@ma...> - 2003-08-24 19:46:27
|
-----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. > meeroh > -- > > > <http://web.meeroh.org/> | KB1FMP > > A: Because it reverses the logical flow of conversation. > Q: Why is top posting frowned upon? Best regards, Paul -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (Darwin) iEYEARECAAYFAj9I2zkACgkQugPBK9DeteqYoQCg5BX4wAWOW52CCWzCCNtT3dGJ 1TUAn0RUdwn+yEhRbmZafdRw2y2ibjIF =dnNE -----END PGP SIGNATURE----- |
|
From: Paul S. <psn...@ma...> - 2003-08-24 15:32:27
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Saturday, August 23, 2003, at 10:55 AM, Miro Jurisic wrote: > [Bunch of macro renames and eliminations elided for brevity] Agreed on all counts. > -- > > > <http://web.meeroh.org/> | KB1FMP > > A: Because it reverses the logical flow of conversation. > Q: Why is top posting frowned upon? Best regards, Paul -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (Darwin) iEYEARECAAYFAj9I2mMACgkQugPBK9Deteo7MACgiRR1okWYMJW68rDeQooCwU3z YisAoMb/j2pVjlVYKsx8UqAV6B7fgaUC =i4Xr -----END PGP SIGNATURE----- |
|
From: Jesse J. <jes...@mi...> - 2003-08-24 11:35:52
|
At 3:11 AM -0400 8/24/03, Miro Jurisic wrote: >>> 2 UNICODE >> >>This is defined by Microsoft's headers if you are building a >>Unicode version of your app. If this is the case all of the >>Window's API routines that take char*'s will want to take Unicode >>char*'s instead. > >Do we actually support using Whisper with UNICODE not defined? Unless it has been changed, yes. Microsoft took a different approach than Apple to the problem of making their APIs Unicode savvy. As I mentioned when UNICODE is defined all of the routines that want char*'s automagically get changed to take UNICHAR*'s (or whatever MS used). What this means is that if you want a Unicode app you #define UNICODE and wind up with an app that won't run on anything but NT. Of course this blows chunks. So, I took some care to write Whisper in such a way that you could have a fully Unicode savvy app on NT, but the binary would continue to run on Windows 98. This gets a little ugly in places, but the end result seemed to work pretty well. By defining UNICODE you can build an NT app and #ifdef out the work-arounds I had to add (although I don't think I ever tested this). >>> 3 QUESA_SUPPORT_QUICKTIME // huh? >> >>This is mostly for Windows where you might want to build a Quesa >>app without requiring that QuickTime be installed. > >Would its definition come from Quesa SDK? I don't see a definition, >only use, in ours. I think it's a Whisper define. -- Jesse |
|
From: Miro J. <me...@me...> - 2003-08-24 07:13:46
|
>> 1 NOIME >> 1 NOMCX >> 1 WIN32_LEAN_AND_MEAN > >The original Windows SDK had a lot of stupidities. One of these was >that MS dumped *everything* into <Windows.h>. Over time including >this header, which every Windows app had to, became a bottleneck. >So, MS defined some macros that you can define to minimize the >amount of extra crap included via <Windows.h>. That's what the above >macros do: they #ifdef out some infrequently used declarations. > >> 1 NOMINMAX > >Yet another sin of Microsoft's headers is that they #define a *ton* >of lower case macros. This includes macros for min and max which >conflict with STL. This macro disables those defines. > >> 1 NOSERVICE > >I think this is the same as the NOIME and NOMCX macros > >> 1 REPLACEFILE_IGNORE_MERGE_ERRORS >> 1 REPLACEFILE_WRITE_THROUGH > >These two are defined in newer versions of Microsoft's headers. >XDocument.cpp defines them under older versions of the headers >because ReplaceFile can still work if the OS is newer than the >headers. > >> 1 STRICT > >The original Windows headers used void*'s for the many different >HANDLE objects in the API (HWND, HMENU, etc). This was obviously >brain-dead and lead to a lot of type errors so Microsoft added the >STRICT macro which you can set to make stuff like HMENU and HWND >distinct types. Ok, so all of those occur precisely once, where they are defined in the precompiled header, and given your explanation, it sounds like they should stay they way they are. >> 10 _WIN32_DCOM >> 17 _WIN32_WINNT > >These two are defined in Microsoft's headers. I don't remember the >details, but _WIN32_WINNT is a version number for the headers. I >think _WIN32_DCOM is defined if you're building a distributed COM >app. We have over 10 places where we use: #if (_WIN32_WINNT >= 0x0400) || defined(_WIN32_DCOM) ... CoInitializeEx ... ... Basically, one in each app. If this has to be written in each app, we should abstract it in some way -- perhaps Whisper::CoInitialize needs to be thrown in? -- but I have no clue what the right thing is, and nobody has picked up the task of maintaining the Windows targets yet. My recommendation is that we mark these somehow and revisit them later, unless you or someone else has a suggestion for abstracting them. >> 2 UNICODE > >This is defined by Microsoft's headers if you are building a Unicode >version of your app. If this is the case all of the Window's API >routines that take char*'s will want to take Unicode char*'s instead. Do we actually support using Whisper with UNICODE not defined? >>// Misc >> 2 INFINITY // Huh? >> 2 NAN // Huh? > >I think these are now standard, but they weren't defined in MSVC. So >Whisper defines them on Windows. Ok. I don't know if they are standard now, and I suppose we'll find out if there's a conflict when we get around to trying to bring the Intel targets up. >> 1 MSIPL_MEMBER_TEMPLATE // Huh? >> 1 MSIPL_TEMPL_NEWSPEC // Huh? >> 3 MSIPL_DEBUG_MODE // Huh? >> 2 MSIPL_DEF_EXPLICIT // Huh? > >These were used with the Metrowerks std library. Most of them are >obsolete now I think. Oh, yes. I remember now. According to the headers they were eliminated in Jan 99, so Whisper should not use them any longer. I don't think we'll be supporting CW Pro 4 :-) >> 3 QUESA_SUPPORT_QUICKTIME // huh? > >This is mostly for Windows where you might want to build a Quesa app >without requiring that QuickTime be installed. Would its definition come from Quesa SDK? I don't see a definition, only use, in ours. meeroh -- <http://web.meeroh.org/> | KB1FMP A: Because it reverses the logical flow of conversation. Q: Why is top posting frowned upon? |
|
From: Jesse J. <jes...@mi...> - 2003-08-24 06:46:46
|
At 8:04 PM -0400 8/23/03, Miro Jurisic wrote: >>A lot of those macros are either documented or obvious. If you >>list the ones you aren't sure about I can probably describe what >>they are for. > >The ones I am not sure about are the Windows ones (since I don't >know enough about Windows) and the ones Labeled with "Huh?" :-) > >// Windows specific > 1 NOIME > 1 NOMCX > 1 WIN32_LEAN_AND_MEAN The original Windows SDK had a lot of stupidities. One of these was that MS dumped *everything* into <Windows.h>. Over time including this header, which every Windows app had to, became a bottleneck. So, MS defined some macros that you can define to minimize the amount of extra crap included via <Windows.h>. That's what the above macros do: they #ifdef out some infrequently used declarations. > 1 NOMINMAX Yet another sin of Microsoft's headers is that they #define a *ton* of lower case macros. This includes macros for min and max which conflict with STL. This macro disables those defines. > 1 NOSERVICE I think this is the same as the NOIME and NOMCX macros > 1 REPLACEFILE_IGNORE_MERGE_ERRORS > 1 REPLACEFILE_WRITE_THROUGH These two are defined in newer versions of Microsoft's headers. XDocument.cpp defines them under older versions of the headers because ReplaceFile can still work if the OS is newer than the headers. > 10 _WIN32_DCOM > 17 _WIN32_WINNT These two are defined in Microsoft's headers. I don't remember the details, but _WIN32_WINNT is a version number for the headers. I think _WIN32_DCOM is defined if you're building a distributed COM app. > 2 UNICODE This is defined by Microsoft's headers if you are building a Unicode version of your app. If this is the case all of the Window's API routines that take char*'s will want to take Unicode char*'s instead. > 1 STRICT The original Windows headers used void*'s for the many different HANDLE objects in the API (HWND, HMENU, etc). This was obviously brain-dead and lead to a lot of type errors so Microsoft added the STRICT macro which you can set to make stuff like HMENU and HWND distinct types. >// Misc > 2 INFINITY // Huh? > 2 NAN // Huh? I think these are now standard, but they weren't defined in MSVC. So Whisper defines them on Windows. > 1 MSIPL_MEMBER_TEMPLATE // Huh? > 1 MSIPL_TEMPL_NEWSPEC // Huh? > 3 MSIPL_DEBUG_MODE // Huh? > 2 MSIPL_DEF_EXPLICIT // Huh? These were used with the Metrowerks std library. Most of them are obsolete now I think. > 3 QUESA_SUPPORT_QUICKTIME // huh? This is mostly for Windows where you might want to build a Quesa app without requiring that QuickTime be installed. -- Jesse |
|
From: Miro J. <me...@me...> - 2003-08-24 00:10:54
|
>A lot of those macros are either documented or obvious. If you list
>the ones you aren't sure about I can probably describe what they are
>for.
The ones I am not sure about are the Windows ones (since I don't know
enough about Windows) and the ones Labeled with "Huh?" :-)
// Windows specific
1 NOIME
1 NOMCX
1 WIN32_LEAN_AND_MEAN
1 NOMINMAX
1 NOSERVICE
1 REPLACEFILE_IGNORE_MERGE_ERRORS
1 REPLACEFILE_WRITE_THROUGH
10 _WIN32_DCOM
17 _WIN32_WINNT
2 UNICODE
1 STRICT
// Misc
2 INFINITY // Huh?
2 NAN // Huh?
1 MSIPL_MEMBER_TEMPLATE // Huh?
1 MSIPL_TEMPL_NEWSPEC // Huh?
3 MSIPL_DEBUG_MODE // Huh?
2 MSIPL_DEF_EXPLICIT // Huh?
3 QUESA_SUPPORT_QUICKTIME // huh?
Thanks,
meeroh
--
<http://web.meeroh.org/> | KB1FMP
A: Because it reverses the logical flow of conversation.
Q: Why is top posting frowned upon? |
|
From: Jesse J. <jes...@mi...> - 2003-08-23 21:59:42
|
At 12:16 PM -0400 8/23/03, Miro Jurisic wrote: >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. A lot of those macros are either documented or obvious. If you list the ones you aren't sure about I can probably describe what they are for. -- Jesse |
|
From: Miro J. <me...@me...> - 2003-08-23 18:01:45
|
1. Debugging trace macros
1 TRACE
1 TRACEFLOW
Proposed action: rename to WHISPER_TRACE and WHISPER_TRACEFLOW to
avoid conflicts in the global "namespace" in non-debug targets (in
debug targets, these are templates)
2. Assertion macros
12 ASSERT
3 ASSERT_IF
2 REQUIRE (exits on failure, used in bootstrapping)
3 VERIFY (throws in release builds, asserts in debug builds)
2 SAFE_ASSERT (interrupt-safe version)
2 COMPILE_CHECK (compile-time assert)
Proposed action: renamed to WHISPER_..., same reason
3. Design by contract
2 CALL_INVARIANT (direct call to invariant function)
2 CHECK_INVARIANT (stack-based invariant checker)
3 POSTCONDITION
3 PRECONDITION
3 OBSERVE (helper for postcondition checking)
Proposed action: renamed to WHISPER_..., same reason
4. DebugStr-related
2 DEBUGSTR
1 DEBUGSTR_IF (conditional version)
1 SAFE_DEBUGSTR (interrupt-safe version)
Proposed action: renamed to WHISPER_..., same reason
5. Macros internal to the implementation
1 PACKET_MAX_DATA_LENGTH
Only used in obsolete code. Remove altogether
1 _CC
Not a macro, but a struct used in implementation of COMPILE_CHECK;
_CC is reserved, so this needs to be renamed.
6. Configuration of Whisper
8 ASSERTS_THROW
If true, ASSERT and friends throw an exception. Rename to
WHISPER_CONFIG_ASSERTS_THROW
3 ENABLE_EXTRA_WARNINGS
If true, extra warnings are turning on in MCVS. Same should be done
for CW, and the macro should be renamed to
WHISPER_CONFIG_EXTRA_WARNINGS
27 _DEBUG
This should be eliminated in favor for Andreas' proposed WHISPER_BUILD_DEBUG
1 __STL_DEBUG
This is only used to sync with vendor STL, so it's OK.
6 NDEBUG
This is only used to sync with the C library, so it's OK.
--
<http://web.meeroh.org/> | KB1FMP
A: Because it reverses the logical flow of conversation.
Q: Why is top posting frowned upon? |
|
From: Miro J. <me...@me...> - 2003-08-23 16:59:52
|
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.
Without further ado, here's the full list of all identifiers
consisting of only _0-9A-Z and occurring on a line whose first
non-whitespace character is #, together with what I think should be
done to those macros. (The number preceding each is the number of
times it occurs on a #-line)
The ones holding me up right now are the debugging macros, because
they conflict with some other libraries I am trying to use, so I am
going to write up a separate proposal specifically for renaming
debugging macros and documenting the purpose of the ones that are not
clearly documented right now, and start cranking.
meeroh
// Other debugging stuff
1 DEBUGSTR_IF // Rename to WHISPER_
1 PACKET_MAX_DATA_LENGTH // Obsolete code, remove
2 CALL_INVARIANT // Rename to WHISPER_
2 CHECK_INVARIANT // Rename to WHISPER_
2 SAFE_ASSERT // Rename to WHISPER_
1 _CC // Rename
3 ASSERT_IF // Rename to WHISPER_
3 POSTCONDITION // Rename to WHISPER_
3 PRECONDITION // Rename to WHISPER_
1 TRACE // Rename to WHISPER_
1 TRACEFLOW // Rename to WHISPER_
8 ASSERTS_THROW // Rename to WHISPER_
2 COMPILE_CHECK // Rename to WHISPER_
3 OBSERVE // Rename to WHISPER_
2 REQUIRE // Rename to WHISPER_
3 VERIFY // Rename to WHISPER_
3 ENABLE_EXTRA_WARNINGS // Rename to WHISPER_, use in CW as well.
12 ASSERT // Rename to WHISPER_
27 _DEBUG // Eliminate
1 SAFE_DEBUGSTR // Rename to WHISPER_
1 __STL_DEBUG // OK
6 NDEBUG // Move from XDebug.h to XWhisperHeader.h
2 DEBUGSTR // Rename to WHISPER_
// Profiling
2 PROFILE_ASSERT // Rename to WHISPER_
4 PROFILE_THREADS // Rename to WHISPER_
// COM implementation
1 DEFINE_INTERFACE_FACTORY // Rename to WHISPER_
1 REGISTER_INTERFACE_FACTORY // Rename to WHISPER_
1 REGISTER_INTERFACE_NAME // Rename to WHISPER_
// CW specific
1 MSL_USE_PRECOMPILED_HEADERS // OK
2 __MSL_LONGLONG_SUPPORT__ // OK
1 _MSL_NO_LOCALE // Eliminate?
1 __MSL__ // Eliminate?
1 DEBUG_NEW // OK
1 DEBUG_NEW_BASIC // OK
// Mac specific
1 NATIVE_FLOATING_WINDOWS // Looks wrong
4 __D0 // Obsolete
1 USE_OLD_INPUT_SPROCKET_LABELS // Obsolete
1 USE_OLD_ISPNEED_STRUCT // Obsolete
4 INCLUDE_PREF_SPECIALIZATIONS // Rename to WHISPER_
// Windows specific
1 NOIME
1 NOMCX
1 WIN32_LEAN_AND_MEAN
1 NOMINMAX
1 NOSERVICE
1 REPLACEFILE_IGNORE_MERGE_ERRORS
1 REPLACEFILE_WRITE_THROUGH
10 _WIN32_DCOM
17 _WIN32_WINNT
2 UNICODE
1 STRICT
4 _MSC_VER // OK
// target macros
7 MSVC // Eliminate
1 __MRC__ // Eliminate
3 WINVER // Replace with a WHISPER_ macro?
1 __APPLE__ // OK
2 __MWERKS__ // OK
2 __MERKS__ // Bogus, fix
47 __INTEL__ // Eliminate
51 __POWERPC__ // Eliminate
17 __MC68K__ // Eliminate
1 TARGET_CPU_68K // Eliminate
1 TARGET_CPU_ALPHA // Eliminate
1 TARGET_CPU_MIPS // Eliminate
1 TARGET_CPU_SPARC // Eliminate
1 TARGET_CPU_X86 // Rename to WHISPER_
1 TARGET_OS_UNIX // Eliminate
2 TARGET_RT_MAC_MACHO // Rename to WHISPER_
3 TARGET_RT_MAC_CFM // Rename to WHISPER_
4 TARGET_RT_BIG_ENDIAN // Rename to WHISPER_
5 TARGET_CPU_PPC // Rename to WHISPER_
7 TARGET_RT_LITTLE_ENDIAN // Rename to WHISPER_
32 TARGET_CC_METROWERKS // Rename to WHISPER_
32 TARGET_CC_MICROSOFT // Rename to WHISPER_
90 TARGET_API_MAC_CARBON // Rename to WHISPER_
455 TARGET_OS_WIN32 // Rename to WHISPER_
707 TARGET_OS_MAC // Rename to WHISPER_
1 __MACH__ // OK
1 WIN // Eliminate
// Whisper target macros
4 PRECOMPILE_SYSTEM_HEADERS // Rename to WHISPER_
16 PRECOMPILE_STD_HEADERS // Rename to WHISPER_
41 PRECOMPILE_WHISPER_HEADERS // Rename to WHISPER_
453 DEBUG // Rename to WHISPER_
17 RELEASE // Rename to WHISPER_
891 MULTI_FRAGMENT_APP // Rename to WHISPER_
1 WHISPER // Rename?
// Exports
3 OPENGL_EXPORT // Rename to WHISPER_
4 CORE_EXPORT // Rename to WHISPER_
5 COM_EXPORT // Rename to WHISPER_
5 FILES_EXPORT // Rename to WHISPER_
5 GRAPHICS_EXPORT // Rename to WHISPER_
5 PARSE_EXPORT // Rename to WHISPER_
5 QUESA_EXPORT // Rename to WHISPER_
5 RUNTIME_EXPORT // Rename to WHISPER_
5 UI_EXPORT // Rename to WHISPER_
5 XML_EXPORT // Rename to WHISPER_
3 UI_3D_EXPORT // Rename to WHISPER_ or eliminate
// Misc
1 NULL // Used for nil, which should be eradicated
6 HAS_QUICKTIME // Rename
2 INFINITY // Huh?
2 NAN // Huh?
2 DECLARE_POD // Rename
1 MSIPL_MEMBER_TEMPLATE // Huh?
1 MSIPL_TEMPL_NEWSPEC // Huh?
3 MSIPL_DEBUG_MODE // Huh?
2 MSIPL_DEF_EXPLICIT // Huh?
14 UNIVERSAL_INTERFACES_VERSION // Eliminate
3 XWHISPERHEADER_H // Rename
2 TYPE // Used for DECLARE_POD, OK?
65 GARBAGE_COLLECT_COM // Rename
3 QUESA_SUPPORT_QUICKTIME // huh?
2 STD // Eliminate
6 EXPORT // Used in plugin samples; rename?
552 PRAGMA_MARK // Rename?
2 PRAGMA_EXPORT_SUPPORTED // Rename
4 WHISPER_FRAMEWORK_INCLUDES // Rename
12 WHISPER_OPERATOR_NEW // OK?
The script used to derive this list:
find . \! -path \*Third\ Party\* \(
-name \*.c -print0 -o
-name \*.cpp -print0 -o
-name \*.h -print0 -o
-name \*.inc -print0 -o
-name \*.p -print0 -o
-name \*.pch -print0 -o
-name \*.pch++ -print0 -o
-name \*.r -print0 -o
-name \*.rc -print0
\) | xargs -0 -n 1 cat
| tr '\r' '\n'
| grep '^[[:space:]]*#'
| perl -n -e '
while (/[^_0-9A-Z]([_A-Z][_0-9A-Z]+)([^_0-9A-Za-z].*)/){
print "${1}\n"; $_ = $2;
}'
| sort
| uniq -c
| sort -n > /Software/Whisper/defines
--
<http://web.meeroh.org/> | KB1FMP
A: Because it reverses the logical flow of conversation.
Q: Why is top posting frowned upon? |