Closed Bug 73919 Opened 19 years ago Closed 19 years ago

Clean up NSPR client branch

Categories

(SeaMonkey :: Build Config, defect, P1)

x86
All
defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla0.9.3

People

(Reporter: cls, Assigned: cls)

Details

Attachments

(10 files)

After switching to autoconf, the client branch is somewhat of a mess.  The
non-autoconf Makefile sections need to be removed.  Win32 needs to be able to
build tests.  The --libdir hacks need to be changed to --stage-libdir so that we
can use the -- configure flags for a real install target.
Priority: -- → P1
Attached patch cleanup patch 1Splinter Review
Status: NEW → ASSIGNED
This patch:

Removes WIN16 references from most makefiles
Sets RESOLVE_LINK_SYMBOLS for win32 builds
Adds DLL_LIBS to win32 shared library builds
Sets DLL_LIBS to glowcode if GLOWCODE is set in env
Move setting of LIBNSPR & LIBPLC into configure.in
Remove non-autoconf sections from most makefiles including config.mk & rules.mk

There are some places where I pretty much gave up on trying to remove the
platform specific ifdefs (like pr/tests/Makefile.in).  

Looks good, although I obviously haven't tested on all the platforms that could
be affected.  r=bryner.
Patch 1.2 has been checked in.
This latest patch (forgot to name it 2.0) adds the following options to handle
our dist fetish:

--with-dist-prefix
--with-dist-bindir
--with-dist-libdir
--with-dist-includedir

These options set, dist_prefix, dist_bindir, etc.  This frees up prefix, bindir
& friends for more conventional use in a real install target.


For mozilla, it also requires this change to mozilla/configure.in:

 if test -z "$MOZ_NATIVE_NSPR"; then
-  ac_configure_args="$_SUBDIR_CONFIG_ARGS --prefix=$MOZ_BUILD_ROOT/dist"
+  ac_configure_args="$_SUBDIR_CONFIG_ARGS
--with-dist-prefix=$MOZ_BUILD_ROOT/dist"
   AC_OUTPUT_SUBDIRS(nsprpub)
 fi
     [  --enable-win32-target=\$t
-                               Specify win32 flavor. (WIN95 or WINNT)],
+                          Specify win32 flavor. (WIN95 or WINNT)],
     MOZ_WIN32_TARGET=`echo $enableval | tr a-z A-Z`,

?


-                 --includedir=$(MOZ_DIST_FLIPPED)/include \
-                 --bindir=$(MOZ_DIST_FLIPPED)/$(MOZ_OBJDIR)/bin \
-                 --libdir=$(MOZ_DIST_FLIPPED)/$(MOZ_OBJDIR)/lib
+                --dist-prefix=$(MOZ_DIST_FLIPPED) \
+                 --dist-bindir=$(MOZ_DIST_FLIPPED)/$(MOZ_OBJDIR)/bin \
+                 --dist-libdir=$(MOZ_DIST_FLIPPED)/$(MOZ_OBJDIR)/lib

Nit: indentation on --dist-prefix...

What happened to --dist-includedir?
Realigning columns for --help output.

Not sure what cvs is catching there, I'm pretty sure that those are all spaces.
 Since includedir defaults to $(dist_prefix)/include, I just set dist_prefix
instead.

r=bryner
Patch 2.1 has been checked in.

Patch 3.0 adds the |real_install| target and nspr-config file.  --prefix
defaults to /usr/local and includedir defaults to ${prefix}/include/nspr .  All
of the current md, obsolete & private headers are installed as well.  

Other side effects include:
s/MOD_VERSION/MOD_MAJOR_VERSION/
adding MOD_MINOR_VERSION & MOD_REVISION_VERSION
r=jag
Patch 3.0 has been checked in.
The patch adds a gtk style .m4 file and nspr-config to the build.  It also moves
the nspr headers into a nspr subdir under $(dist_includedir).  This may cause
problems with our depend builds as we have no reliable way to handle moved
headers in a depend build.  Any suggestions.  (The header move affects win32
too).
r=blizzard
announcing to people that a clobber is required is sufficient, i think.
changing component to browser/build config so I can triage this against the
mozilla schedule.
Component: NSPR → Build Config
Product: NSPR → Browser
Target Milestone: --- → mozilla0.9.3
I think I'm done here.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.