The NSPR31_LIB_PREFIX makefile variable is set to "lib" for "WINNT" builds. For "WIN95" and "WINCE" builds, we don't set this variable, relying on the default empty values of undefined makefile variables. A co-worker recently set this variable to "lib" in his environment, which broke his "WIN95" build of NSS. So to defend against this problem, it is better for NSS to set this variable explicitly to empty.
Created attachment 203825 [details] [diff] [review] Proposed patch
Created attachment 203865 [details] [diff] [review] Alternate patch: use $(NULL) for an empty value Nelson pointed out that if we set a variable to nothing, ifdef returns false. One way to set a variable to an empty value and also make ifdef return true is to set it to $(NULL). This patch does that. Since coreconf currently sets related variables DLL_PREFIX and LIB_PREFIX to $(NULL) on OS/2 and WIN32, this patch may be preferrable because it is consistent with how we set those related variables.
Comment on attachment 203865 [details] [diff] [review] Alternate patch: use $(NULL) for an empty value r=nelson
Comment on attachment 203825 [details] [diff] [review] Proposed patch I'm marking this one r+ also. Wan-Teh, I'll leave the choice up to you.
I checked in the alternative patch (use $(NULL) for an empty value) on the NSS trunk (NSS 3.12). Checking in WIN954.0.mk; /cvsroot/mozilla/security/coreconf/WIN954.0.mk,v <-- WIN954.0.mk new revision: 1.8; previous revision: 1.7 done Checking in WINCE3.0.mk; /cvsroot/mozilla/security/coreconf/WINCE3.0.mk,v <-- WINCE3.0.mk new revision: 1.5; previous revision: 1.4 done