c++.wxwindows - 2.4.1 vs 2.4.2 build differences - dmc_cond.txt
- Eliot (312/312) Feb 17 2004 I have been looking at the conditinal compilation related to compiler ty...
- Arjan Knepper (15/61) Feb 18 2004 Because a lot of those #defines weren't in the cvs at the time the 2.4.2...
- Eliot (16/72) Feb 18 2004 These ones are left, detecting MACOS?
- Arjan Knepper (7/30) Feb 18 2004 Yes it is although I would make __SYMANTEC__ be more expresive about the...
I have been looking at the conditinal compilation related to compiler type, and comparing the patch for 2.4.1, and the raw 2.4.2 I notice the patch often replaces #if defined(__SC__) with #if (defined (__SC__) && !defined(__DMCPP__)) This implies that DM has fewer limitations than the old Symantec C. However, in 2.4.2 many of the same lines are still like the original 2.4.1 Can anyone explain why this is? 2.4.2 platform.h: #if defined(_MSC_VER) && !defined(__MWERKS__) #define __VISUALC__ _MSC_VER #elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__) #define __BORLANDC__ #elif defined(__WATCOMC__) #elif defined(__SC__) #define __SYMANTECC__ #endif /* compiler */ #ifdef __SC__ #ifdef __DMC__ #define __DIGITALMARS__ #else #define __SYMANTEC__ #endif #endif From here on I omit the double underscores from eg __DMC__ The end result of this is that if DM is used, SC,SYMANTECC,DMC,DIGITALMARS are defined If Symantec C used SC,SYMANTECC,SYMANTEC are defined Scanning the source, I find that SYMANTECC is never used, DMC,DIGITALMARS,SYMANTEC,SC are variously used. IMHO it would reduce confusion considerable if 1) SYMANTECC eliminated, (not used) i.e. only have the second #ifdef __SC__ quoted above. 2) Throughout the source, occurrences of SC and DMC were replaced with DIGITALMARS,SYMANTEC or (DIGITALMARS || SYMANTEC) as appropriate. I think there are about 20 occurrences. Right now I think I dont know enough to say when SC means "Symantec or DM" and where it means "only symantec" Attached file shows search results from 2.4.2, and the 2.4.1 patch. Enough raving for now. What are your opinions on this proposal? regards ELiot begin 0644 dmc_cond.txt M4V5A<F-H:6YG(&9O<CH 7U]364U!3E1%0PT*0SI<87!P<UQW>'=I;G9E<EPR M<" Q-34I.B`C:68 9&5F:6YE9"A?7U=)3C,R7U\I("8F("%D969I;F5D*%]? M4UE-04Y414-?7RD-"D,Z7&%P<'-<=WAW:6YV97)<,C0R8VQE86Y<<W)C7'1I M9F9<=&EF7V%P<&QE+F,H-#DI.B`C:68 9&5F:6YE9"A?7U!00T-?7RD ?'P M8UQT:69F7'1I9F9C;VUP+F H-C`I.B`C9&5F:6YE(%]?4UE-04Y414-?7PT* M9"A?7TU715)+4U]?*2!\?"!D969I;F5D*%1(24Y+7T,I('Q\(&1E9FEN960H M7'1I9F9C;VUP+F H,30P*3H (VEF(&1E9FEN960H7U]364U!3E1%0U]?*2!\ M7&EN8VQU9&5<=WA<<&QA=&9O<FTN:" R-3`I.B`C96QI9B!D969I;F5D*%]? M4T-?7RD-"D,Z7&%P<'-<=WAW:6YV97)<,C0R8VQE86Y<:6YC;'5D95QW>%QP M97)<,C0R8VQE86Y<:6YC;'5D95QW>%QS=')I;F<N:" Q,C(I.B`C96QI9B!D M969I;F5D*%]?4T-?7RD-"D,Z7&%P<'-<=WAW:6YV97)<,C0R8VQE86Y<:6YC M?'P 9&5F:6YE9"A?7U9)4U5!3$-?7RD ?'P 7`T*0SI<87!P<UQW>'=I;G9E M;F5D*%]?4T%,1D]21$-?7RD-"D,Z7&%P<'-<=WAW:6YV97)<,C0R8VQE86Y< M<W)C7&-O;6UO;EQC=WE?=&%B+F,H,C8R*3H +RH 3F]T('-U<F4 :68 7U]3 M0U]?(&ES('1H92!A<'!R;W!R:6%T92!T:&EN9PT*0SI<87!P<UQW>'=I;G9E M960H7U]30U]?*2D )B8 9&5F:6YE9"A?7U=)3C$V7U\I*0T*0SI<87!P<UQW M*3H (VEF("$H*&1E9FEN960H7U]"3U),04Y$0U]?*2!\?"!D969I;F5D*%]? M4T-?7RDI("8F(&1E9FEN960H7U]724XQ-E]?*2D-"D,Z7&%P<'-<=WAW:6YV M<F-<;7-W7&1C+F-P<" V,C,I.B`C:68 9&5F:6YE9"A?7U=)3C,R7U\I("8F M("%D969I;F5D*%]?4T-?7RD )B8 (61E9FEN960H7U]76$U)0U)/5TE.7U\I M969I;F5D*%]?5DE354%,0U]?*2!\?"!D969I;F5D*%]?4T-?7RD ?'P 9&5F M=WA54T5?3D]23$%.1$527TA%041%4E,-"D,Z7&%P<'-<=WAW:6YV97)<,C0R M8VQE86Y<<W)C7&US=UQG9&EI;6%G92YC<'`H-3,W*3H (VEF(&1E9FEN960H M969I;F5D*%]?5TE.,S)?7RD )B8 (61E9FEN960H7U]30U]?*2`F)B`A9&5F M<F-<;7-W7'1O<&QE=F5L+F-P<" Q.38I.B`C:68 (61E9FEN960H7U]724XQ M7U=)3C,R7U\I("8F("%D969I;F5D*%]?4T-?7RD-"D,Z7&%P<'-<=WAW:6YV M97)<,C0R8VQE86Y<<W)C7'!N9UQP;F=C;VYF+F H,C,P*3H 9&5F:6YE9"A4 M;&EB7'IC;VYF+F H.3`I.B`C:68 9&5F:6YE9"A?7TU715)+4U]?*2!\?"!D M969I;F5D*&%P<&QE8RD ?'QD969I;F5D*%1(24Y+7T,I('Q\9&5F:6YE9"A? M=&EL+F H,38T*3H (VEF(&1E9FEN960H4TU!3$Q?345$255-*2`F)B`A9&5F M7'=X7&1E9G,N:" Q-3DI.B`C96QI9B!D969I;F5D*%]?1$E'251!3$U!4E-? M7RD-"D,Z7&%P<'-<=WAW:6YV97)<,C0R8VQE86Y<:6YC;'5D95QW>%QD969S M("-I9B!D969I;F5D*%]?5DE354%,0U]?*2!\?"!D969I;F5D*%]?0D]23$%. M1$-?7RD ?'P 9&5F:6YE9"A?7T=.54-?7RD ?'P 9&5F:6YE9"A?7U=!5$-/ M;&5A;EQI;F-L=61E7'=X7'!L871F;W)M+F H,S`U*3H (VEF(&1E9FEN960H M(%]?1TY55TE.,S)?7R`I('Q\(&1E9FEN960H(%]?34E.1U<S,E]?("D ?'P M<F-O;G8N:" R,RDZ("-I9F1E9B!?7T1)1TE404Q-05)37U\-"D,Z7&%P<'-< M=WAW:6YV97)<,C0R8VQE86Y<:6YC;'5D95QW>%QW>'!R96,N:" Q-RDZ("-I M9B`H*&1E9FEN960H7U]"3U),04Y$0U]?*2!\?"!D969I;F5D*%]?5DE354%, M0U]?*2!\?"!D969I;F5D*%]?1$E'251!3$U!4E-?7RD ?'P 9&5F:6YE9"A? M7U=!5$-/34-?7RDI("8F(&1E9FEN960H7U]76$U35U]?*2D ?'P 9&5F:6YE M:" Q-C8I.B`C:68 *"AD969I;F5D*%]?5T%40T]-0U]?*2`F)B!?7U=!5$-/ M34-?7R`^/2`Q,C`P*2!\?"!D969I;F5D*%]?1TY55TE.,S)?7RD ?'P 9&5F M:6YE9"`H7U]-24Y'5S,R7U\I('Q\(&1E9FEN960H7U]$24=)5$%,34%24U]? M8V]M;6]N7&EM86=J<&5G+F-P<" S-BDZ("-I9B!D969I;F5D*%]?5UA-4U=? M7RD )B8 *&1E9FEN960H7U]-5T522U-?7RD ?'P 9&5F:6YE9"A?7T1)1TE4 M04Q-05)37U\I('Q\("AD969I;F5D*%]?5T%40T]-0U]?*2`F)B!?7U=!5$-/ M8V]M;6]N7')E9V5X+F-P<" T,BDZ("-I9B!D969I;F5D*%]?54Y)6%]?*2!\ M?"!D969I;F5D*%]?5T%40T]-0U]?*2!\?"!D969I;F5D*%]?1$E'251!3$U! M4E-?7RD-"D,Z7&%P<'-<=WAW:6YV97)<,C0R8VQE86Y<<W)C7&US=UQT8F%R M4%!?7RD-"D,Z7&%P<'-<=WAW:6YV97)<=WA7:6YD;W=S+3(N-"XQ7&EN8VQU M0SI<87!P<UQW>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%<:6YC;'5D95QW>%QD M960H7U]"3U),04Y$0U]?*2!\?"!D969I;F5D*%]?1TY50U]?*2!\?"!D969I M<'-<=WAW:6YV97)<=WA7:6YD;W=S+3(N-"XQ7&EN8VQU9&5<=WA<9FEL969N M+F H,S I.B`C96QI9B!D969I;F5D*%]?4T-?7RD )B8 (61E9FEN960H7U]$ M34-04%]?*0T*0SI<87!P<UQW>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%<:6YC M7'!L871F;W)M+F H,C0S*3H (V1E9FEN92!?7T1-0U!07U\-"D,Z7&%P<'-< M=WAW:6YV97)<=WA7:6YD;W=S+3(N-"XQ7&EN8VQU9&5<=WA<<W1R:6YG+F H M4%]?*0T*0SI<87!P<UQW>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%<:6YC;'5D M<UQW>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%<:6YC;'5D95QW>%QW>&-H87(N M=WAW:6YV97)<=WA7:6YD;W=S+3(N-"XQ7&EN8VQU9&5<=WA<=WAP<F5C+F H M,3<I.B`C:68 *"AD969I;F5D*%]?0D]23$%.1$-?7RD ?'P 9&5F:6YE9"A? M7U9)4U5!3$-?7RD ?'P 9&5F:6YE9"A?7U=!5$-/34-?7RD ?'P 9&5F:6YE M9"A?7T1-0U!07U\I*2`F)B!D969I;F5D*%]?5UA-4U=?7RDI('Q\(&1E9FEN M87!P<UQW>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%<:6YC;'5D95QW>%QM<W=< M(%]?5T%40T]-0U]?(#X M*2!\?"!D969I;F5D("A?7TU)3D=7,S)?7RD ?'P 9&5F:6YE9"`H7U]"3U), M7'=X=VEN=F5R7'=X5VEN9&]W<RTR+C0N,5QS<F-<8V]M;6]N7&EM86=J<&5G M+F-P<" S-BDZ("-I9B!D969I;F5D*%]?5UA-4U=?7RD )B8 *&1E9FEN960H M0T]-0U]?(#P ,3(P,"D ?'P 9&5F:6YE9"A?7T1-0U!07U\I*0T*0SI<87!P M*3H (VEF(&1E9FEN960H7U]'3E5724XS,E]/3$1?7RD ?'P *&1E9FEN960H M7U]30U]?*2`F)B`A9&5F:6YE9"A?7T1-0U!07U\I*2!\?"!D969I;F5D*%]? M4T%,1D]21$-?7RD-"D,Z7&%P<'-<=WAW:6YV97)<=WA7:6YD;W=S+3(N-"XQ M,S)?7RD )B8 *"%D969I;F5D*%]?4T-?7RD ?'P 9&5F:6YE9"A?7T1-0U!0 M7U\I*0T*0SI<87!P<UQW>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%<<W)C7&US M=UQD8RYC<'`H-C(S*3H (VEF(&1E9FEN960H7U]724XS,E]?*2`F)B`H(61E M;F5D*%]?5UA-24-23U=)3E]?*0T*0SI<87!P<UQW>'=I;G9E<EQW>%=I;F1O M=W,M,BXT+C%<<W)C7&US=UQG9&EI;6%G92YC<'`H-3,W*3H (VEF(&1E9FEN M960H7U]724XS,E]?*2`F)B`H(61E9FEN960H7U]30U]?*2!\?"!D969I;F5D M("A?7T1-0U!07U\I*0T*0SI<87!P<UQW>'=I;G9E<EQW>%=I;F1O=W,M,BXT M+C%<<W)C7&US=UQO=VYE<F1R=RYC<'`H,C,Q*3H (VEF(&1E9FEN960H7U]7 M=F5R7'=X5VEN9&]W<RTR+C0N,5QS<F-<;7-W7'1O<&QE=F5L+F-P<" Q.30I M.B`C:68 (61E9FEN960H7U]724XQ-E]?*2`F)B`H(61E9FEN960H7U]30U]? M9FEN960H7U]724XS,E]?*2`F)B`H(61E9FEN960H7U]30U]?*2!\?"!D969I M+C0N,5QS<F-<=&EF9EQT:69?87!P;&4N8R T.2DZ("-I9B!D969I;F5D*%]? M4%!?7RDI('Q\(&1E9FEN960H7U]-4D-?7RD ?'P 9&5F:6YE9"AA<'!L96,I M7U]-4D-?7RD-"D,Z7&%P<'-<=WAW:6YV97)<=WA7:6YD;W=S+3(N-"XQ7'-R M8UQT:69F7'1I9F9C;VUP+F H,3,V*3H (VEF("AD969I;F5D*%]?4T-?7RD M)B8 (61E9FEN960H7U]$34-?7RDI('Q\(&1E9FEN960H5$A)3DM?0RD-"D,Z M7&%P<'-<=WAW:6YV97)<=WA7:6YD;W=S+3(N-"XQ7'-R8UQP;F=<<&YG8V]N M*2`F)B`A9&5F:6YE9"A?7T1-0U!07U\I*7Q\(&1E9FEN960H5$%21T547T]3 M7TU!0RD-"D,Z7&%P<'-<=WAW:6YV97)<=WA7:6YD;W=S+3(N-"XQ7'-R8UQZ M;&EB7'IC;VYF+F H.3`I.B`C:68 9&5F:6YE9"A?7TU715)+4U]?*2!\?"!D M969I;F5D*&%P<&QE8RD ?'QD969I;F5D*%1(24Y+7T,I('Q\("AD969I;F5D M*%]?4T-?7RD )B8 (61E9FEN960H7U]$34-04%]?*2D-"D,Z7&%P<'-<=WAW M:6YV97)<=WA7:6YD;W=S+3(N-"XQ7'-R8UQZ;&EB7'IU=&EL+F H,38T*3H M4BD )B8 *"%D969I;F5D*%]?4T-?7RD ?'P 9&5F:6YE9"A?7T1-0U!07U\I M*0T*0SI<87!P<UQW>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%<<W)C7&IP96=< M7'=X=VEN=F5R7'=X5VEN9&]W<RTR+C0N,5QS<F-<9V5N97)I8UQG<FED<V5L M+F-P<" Y,S0I.B`C:68 *"!?7T1-0U]?(#P ,' X,S4 *0T*0SI<87!P<UQW M>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%<<W)C7&=E;F5R:6-<9W)I9'-E;"YC M969I;F5D*%]?4T-?7RD-"D,Z7&%P<'-<=WAW:6YV97)<=WA7:6YD;W=S+3(N M-"XQ7&EN8VQU9&5<=WA<<W1R:6YG+F H,3(V*3H (V5L:68 9&5F:6YE9"A? M96QI9B!D969I;F5D*%]?4T-?7RD ?'P 9&5F:6YE9"A?7T1-0U!07U\I('Q\ M=WA7:6YD;W=S+3(N-"XQ7'-R8UQC;VUM;VY<8VUN9&%T82YC<'`H-C0I.B`C M:68 9&5F:6YE9"A?7U=!5$-/34-?7RD ?'P *&1E9FEN960H7U]30U]?*2`F M)B`A9&5F:6YE9"A?7T1-0U!07U\I*2!\?"!D969I;F5D*%]?4T%,1D]21$-? M7RD-"D,Z7&%P<'-<=WAW:6YV97)<=WA7:6YD;W=S+3(N-"XQ7'-R8UQM<W=< M87!P+F-P<" W."DZ("-I9B!D969I;F5D*%]?1TY55TE.,S)?3TQ$7U\I('Q\ M("AD969I;F5D*%]?4T-?7RD )B8 (61E9FEN960H7U]$34-04%]?*2D ?'P M9&]W<RTR+C0N,5QS<F-<;7-W7&-H96-K;'-T+F-P<" Q-34I.B`C:68 9&5F M960H7U]$34-04%]?*2D-"D,Z7&%P<'-<=WAW:6YV97)<=WA7:6YD;W=S+3(N M7RD )B8 *"%D969I;F5D*%]?4T-?7RD ?'P 9&5F:6YE9"A?7T1-0U!07U\I M("-I9B!D969I;F5D*%]?5TE.,S)?7RD )B8 *"%D969I;F5D*%]?4T-?7RD M?'P 9&5F:6YE9"`H7U]$34-04%]?*2D-"D,Z7&%P<'-<=WAW:6YV97)<=WA7 M969I;F5D*%]?5TE.,S)?7RD )B8 *"%D969I;F5D*%]?4T-?7RD ?'P 9&5F M:6YE9"A?7T1-0U!07U\I*2`F)B`A9&5F:6YE9"A?7U1724XS,E]?*0T*0SI< M87!P<UQW>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%<<W)C7&US=UQT;W!L979E M;"YC<'`H,3DT*3H (VEF("%D969I;F5D*%]?5TE.,39?7RD )B8 *"%D969I M;F5D*%]?4T-?7RD ?'P 9&5F:6YE9"A?7T1-0U!07U\I*0T*0SI<87!P<UQW M>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%<<W)C7&US=UQU=&EL<RYC<'`H,3`R M-2DZ("-I9B!D969I;F5D*%]?5TE.,S)?7RD )B8 *"%D969I;F5D*%]?4T-? M7RD ?'P 9&5F:6YE9"A?7T1-0U!07U\I*0T*0SI<87!P<UQW>'=I;G9E<EQW M>%=I;F1O=W,M,BXT+C%<<W)C7'1I9F9<=&EF7V%P<&QE+F,H-#DI.B`C:68 M9&5F:6YE9"A?7U!00T-?7RD ?'P *&1E9FEN960H7U]30U]?*2`F)B`A9&5F M960H87!P;&5C*0T*0SI<87!P<UQW>'=I;G9E<EQW>%=I;F1O=W,M,BXT+C%< M<W)C7'1I9F9<=&EF9F-O;7`N:" X,BDZ("-I9B!D969I;F5D*%]?35=%4DM3 M7U\I('Q\(&1E9FEN960H5$A)3DM?0RD ?'P 9&5F:6YE9"A?7U!00T-?7RD M?'P *&1E9FEN960H7U]30U]?*2`F)B`A9&5F:6YE9"A?7T1-0U!07U\I*2!\ M<&YG7'!N9V-O;F8N:" R,S`I.B!D969I;F5D*%1(24Y+7T,I('Q\("AD969I M;F5D*%]?4T-?7RD )B8 (61E9FEN960H7U]$34-04%]?*2E\?"!D969I;F5D M+C0N,5QS<F-<>FQI8EQZ8V]N9BYH*#DP*3H (VEF(&1E9FEN960H7U]-5T52 M.EQA<'!S7'=X=VEN=F5R7'=X5VEN9&]W<RTR+C0N,5QS<F-<>FQI8EQZ=71I M7U]$34-04%]?*2D-"D,Z7&%P<'-<=WAW:6YV97)<=WA7:6YD;W=S+3(N-"XQ M7'-R8UQZ;&EB7'IU=&EL+F H,38W*3H *B!4:&4 7U]30U]?(&-H96-K(&ES ` end
Feb 17 2004
Eliot wrote:I have been looking at the conditinal compilation related to compiler type, and comparing the patch for 2.4.1, and the raw 2.4.2 I notice the patch often replaces #if defined(__SC__) with #if (defined (__SC__) && !defined(__DMCPP__)) This implies that DM has fewer limitations than the old Symantec C. However, in 2.4.2 many of the same lines are still like the original 2.4.1 Can anyone explain why this is?Because a lot of those #defines weren't in the cvs at the time the 2.4.2 release was cut.2.4.2 platform.h: #if defined(_MSC_VER) && !defined(__MWERKS__) #define __VISUALC__ _MSC_VER #elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__) #define __BORLANDC__ #elif defined(__WATCOMC__) #elif defined(__SC__) #define __SYMANTECC__ #endif /* compiler */ #ifdef __SC__ #ifdef __DMC__ #define __DIGITALMARS__ #else #define __SYMANTEC__ #endif #endif From here on I omit the double underscores from eg __DMC__ The end result of this is that if DM is used, SC,SYMANTECC,DMC,DIGITALMARS are defined If Symantec C used SC,SYMANTECC,SYMANTEC are defined Scanning the source, I find that SYMANTECC is never used, DMC,DIGITALMARS,SYMANTEC,SC are variously used.This is because the graphics libs do not always use the wx setup.h file and thus don't have the defines from platform.h. Also symantec has had a version of the compiler for MAC and that one might be still in use.IMHO it would reduce confusion considerable if 1) SYMANTECC eliminated, (not used) i.e. only have the second #ifdef __SC__ quoted above. 2) Throughout the source, occurrences of SC and DMC were replaced with DIGITALMARS,SYMANTEC or (DIGITALMARS || SYMANTEC) as appropriate. I think there are about 20 occurrences. Right now I think I dont know enough to say when SC means "Symantec or DM" and where it means "only symantec"Rememeber this: Symantec always defines __SC__ DigitalMars always defines __SC__ and __DMC__ So to differentiate between Symantec and Digitalmars you have to check both. Now _READ_ the code and you will. If I'm correct a lot if not all of the old SYMANTEC defines will disappear in the 2.5 versions. Arjan
Feb 18 2004
Thanks for your reply Arjan Knepper wrote:Eliot wrote:These ones are left, detecting MACOS? CVS 2.4.2This implies that DM has fewer limitations than the old Symantec C. However, in 2.4.2 many of the same lines are still like the original 2.4.1 Can anyone explain why this is?Because a lot of those #defines weren't in the cvs at the time the 2.4.2 release was cut.src\png\pngconf.h(230): defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC) src\zlib\zconf.h(90): #if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) ||defined(__SC__) src\zlib\zutil.h(164): #if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)Your patchwxWindows-2.4.1\src\png\pngconf.h(230): defined(THINK_C) || (defined(__SC__) && !defined(__DMCPP__))|| defined(TARGET_OS_MAC) wxWindows-2.4.1\src\zlib\zconf.h(90): #if defined(__MWERKS__) || defined(applec) ||defined(THINK_C) || (defined(__SC__) && !defined(__DMCPP__)) wxWindows-2.4.1\src\zlib\zutil.h(164): #if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && (!defined(__SC__) || defined(__DMCPP__))<quote from platform.h snipped>2.4.2 platform.h:Yes, I see that.From here on I omit the double underscores from eg __DMC__ The end result of this is that if DM is used, SC,SYMANTECC,DMC,DIGITALMARS are defined If Symantec C used SC,SYMANTECC,SYMANTEC are defined Scanning the source, I find that SYMANTECC is never used, DMC,DIGITALMARS,SYMANTEC,SC are variously used.This is because the graphics libs do not always use the wx setup.h file and thus don't have the defines from platform.h.Also symantec has had a version of the compiler for MAC and that one might be still in use.Exactly my point - deal with this in platform.h (+ graphicformatxyz.h if needed) To take a concrete example of what I suggest src\msw\gdiimage.cpp(537): #if defined(__WIN32__) && (!defined(__SC__) || defined (__DIGITALMARS__) ) is equivalent to the more readable #if defined(__WIN32__) && !defined(__SYMANTEC__ )) In fact tiffcomp.h does this kind of thing, but it hasn't extended back to the main code.IMHO it would reduce confusion considerable if 1) SYMANTECC eliminated, (not used) i.e. only have the second #ifdef __SC__ quoted above. 2) Throughout the source, occurrences of SC and DMC were replaced with DIGITALMARS,SYMANTEC or (DIGITALMARS || SYMANTEC) as appropriate. I think there are about 20 occurrences. Right now I think I dont know enough to say when SC means "Symantec or DM" and where it means "only symantec"Rememeber this: Symantec always defines __SC__ DigitalMars always defines __SC__ and __DMC__ So to differentiate between Symantec and Digitalmars you have to check both.Now _READ_ the code and you will....?If I'm correct a lot if not all of the old SYMANTEC defines will disappear in the 2.5 versions. Arjan
Feb 18 2004
Eliot wrote:Yes it is although I would make __SYMANTEC__ be more expresive about the fact we're talking realy ONLY old symantec here. If i'm correct this is the way thing are handled in the 2.5 branch.Rememeber this: Symantec always defines __SC__ DigitalMars always defines __SC__ and __DMC__ So to differentiate between Symantec and Digitalmars you have to check both.Exactly my point - deal with this in platform.h (+ graphicformatxyz.h if needed) To take a concrete example of what I suggest src\msw\gdiimage.cpp(537): #if defined(__WIN32__) && (!defined(__SC__) || defined (__DIGITALMARS__) ) is equivalent to the more readable #if defined(__WIN32__) && !defined(__SYMANTEC__ ))In fact tiffcomp.h does this kind of thing, but it hasn't extended back to the main code.I had the impression you did not expect __SC__ to be defined as well as __DMC__ with DigitalMars. Some people made already mistakes with this. ArjanNow _READ_ the code and you will....?
Feb 18 2004