Closed Bug 439556 Opened 16 years ago Closed 5 months ago

Clean up lib/jar

Categories

(NSS :: Tools, defect, P5)

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: wtc, Unassigned)

Details

Attachments

(1 file)

This is a continuation of bug 436430.  In addition to Nelson's patch,
which I attached here, I'd like to suggest some other cleanups.

1. In lib/jar/manifest.mn, move jar.h jar-ds.h jarfile.h from EXPORTS
to PRIVATE_EXPORTS.  These headers should not be part of the NSS public
API.

2. Move lib/jar to cmd/jar, as a sibling of cmd/zlib, because lib/jar
is only used by modutil and signtool and depends on cmd/zlib.

Below I copied the relevant text regarding Nelson's patch from bug 436430.

Nelson said:
  nss/lib/jar was the only part of NSS that used PR_PUBLIC_API, but it 
  didn't use NSPR's definition of that macro.  Rather, it used its own
  definition, so changing PR_PUBLIC_API to PR_IMPLEMENT in those sources 
  doesn't have the desired effect.

I noticed that PR_PUBLIC_API is only used inside #ifdef MOZILLA_CLIENT,
so I suggested that we should just get rid of the ifdef MOZILLA_CLIENT
blocks.  Nelson replied:

  To my surprise, and horror, I see that lib/jar *is* being built with
  -DMOZILLA_CLIENT=1.

  That is defined in manifest.mn.  :(

Then he described the attached patch as follows:

  This bigger patch for lib/jar does more cleanup, gets rid of macros
  MOZILLA_CLIENT, MOZILLA_CLIENT_OLD and the redefined PR_PUBLIC_API
  macro.

I later remembered that the #ifdef MOZILLA_CLIENT in lib/jar may
have originally been #ifdef NETSCAPE, which was the convention some
Netscape teams used to mark the changes they made to third-party
open source code (such as zlib).  So #ifdef MOZILLA_CLIENT does not
mean "built for the Mozilla clients" in lib/jar.
Severity: trivial → S4
Status: NEW → RESOLVED
Closed: 5 months ago
Priority: -- → P5
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: