Closed Bug 262375 Opened 20 years ago Closed 18 years ago

need clobber_dbm and clobber_nspr targets

Categories

(NSS :: Build, enhancement, P3)

3.9.2
enhancement

Tracking

(Not tracked)

RESOLVED FIXED
3.11.1

People

(Reporter: julien.pierre, Assigned: julien.pierre)

Details

Attachments

(1 file)

The mozilla/security/nss/Makefile has targets to build all of NSS, NSPR and DBM
- build_dbm, build_nspr, nss_build_all .

But there are no equivalent targets to clobber DBM and NSPR.
OS: SunOS → All
Hardware: Sun → All
added clobber_coreconf, clobber_nspr, clobber_dbm and nss_clean_all . I didn't want to call that last one nss_clobber_all because of the existing clobber_all rule in coreconf, which erases all platforms . I think that rule should be renamed to clobber_all_OSes (or something similarly accurate) for clarity.
Assignee: christophe.ravel.bugs → julien.pierre.bugs
Status: NEW → ASSIGNED
Attachment #202581 - Flags: review?(wtchang)
Wan-Teh,

Can you review these rules ?

Thanks.
Priority: -- → P3
Target Milestone: --- → 3.11.1
Target Milestone: 3.11.1 → ---
QA Contact: wtchang → build
Attachment #202581 - Flags: superreview?(nelson)
Comment on attachment 202581 [details] [diff] [review]
add a bunch of rules

These new targets all appear to do just what they claim to do.
But on Windows, where files in mozilla/dist/<OBJDIR>/{include,bin,lib} are copies, not symlinks, the clobber targets havev essentially no effect.  
I sure wish we'd fix that while we're here.  our targets should have the same effect on all platforms.  If clobber (effectively) removes the include files nd shared libs from dist/<OBJDIR> on unix, then it should also do so on Windows.  
Maybe that should be a separate bug.  

Here's another issue.
The "all" target not only builds every thing needed for testing, but also does a lot of other stuff that is release packaging.  Stuff that is completely unnecessary for developers who want to build and test.  Stuff that is also unnecessary for tinderbox, unnecessary prior to running all.sh.  
Consequently, I NEVER build the nss_build_all target, and instead I build this string of targets:

build_coreconf build_nspr build_dbm export libs

That gives me just what I need to run all.sh.

I want a new named target that builds just that stuff I listed above, and doesn't do all the packaging stuff.
Attachment #202581 - Flags: superreview?(nelson) → review+
Nelson,

Thanks for the review.

Re: comment 3, 

First issue :

I agree it would be nice if dist/lib was cleaned up on platforms that make copies of the files, such as Windows and OS/2 . But this is complicated to implement cleanly. I often put other files such as data files and test cases in mozilla/dist/$(OBJDIR)/bin . I wouldn't want a clobber rule to erase those ! So, the clobber rule would have to know which files to erase and not to erase. That's a lot of knowledge to put in a rule, and even if we put it in now, it would be subject to change. So, I'm afraid I will not attempt to implement that.
I view that as an RFE separate from this one.

Second issue :

I always use the nss_build_all target and I haven't noticed it doing anything unnecessary. The package rule is not invoked by gmake all or nss_build_all .
I checkd this patch in to the tip :

Checking in Makefile;
/cvsroot/mozilla/security/nss/Makefile,v  <--  Makefile
new revision: 1.35; previous revision: 1.34
done

And to NSS_3_11_BRANCH :

Checking in Makefile;
/cvsroot/mozilla/security/nss/Makefile,v  <--  Makefile
new revision: 1.34.24.1; previous revision: 1.34
done
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Attachment #202581 - Flags: review?(wtchang)
Target Milestone: --- → 3.11.1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: