Closed Bug 186241 Opened 22 years ago Closed 22 years ago

Build changes for GRE-enabled Mozilla

Categories

(SeaMonkey :: Build Config, defect, P2)

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.3beta

People

(Reporter: netscape, Assigned: netscape)

References

Details

Attachments

(1 file, 1 obsolete file)

We need add support for the GRE to the build system.  For starters, this means
installing specific files into a separate gre dir under $(DIST) instead of
lumping everything into $(DIST)/bin .
Attached patch v1.0 (obsolete) — Splinter Review
To specify that a shared library or .xpt component needs to be installed into
the GRE, you have to add GRE_MODULE=1 to the Makefile.	You'll have to add a
local rule to the Makefiles to copy over the auxillary chrome files (which I
haven't done yet).  To only install the GRE files only into the GRE dir, set
GRE_DIRS_ONLY=1 on the cmdline or in the env when running make.
Blocks: gre
i was hoping that we could have tighter granularity.  For example there may be
makefiles that generate multiple binaries and only some should be exported to
the gre location.  Do you think that this is an issue?
It isn't a problem at the moment but may be in the future.  Right now, it's not
possible to build more than one library and $(PROGRAM) from a makefile at a time
unless you severely hack it up like the viewer makefile.  The biggest problem
you'll run into atm is wanting to export a library w/o exporting the .xpt file,
which seems silly to do and can be hacked around by adding an additional rm.

For additional granularity, we'd have to add something like 
GRE_FILES = $(SHARED_LIBRARY) $(XPIDL_MODULE).xpt
to each makefile then modify rules.mk so that it would skip the default libs
ruleset if it find GRE_FILES is non-empty and use a special ruleset to copy the
files.  I was trying to avoid the additional rulesets in the first pass of the
patch. 

Priority: -- → P2
Target Milestone: --- → mozilla1.3beta
Are we creating more work for ourselves with this new export scheme when the
existing GRE and Mozilla packaging via the use of manifest files has been
working fine. I understand that Seawood's patch is cross platform - but, we can
make the existing manifest based process cross platform with minimal changes and
minimal impact.

Another thing we'll lose with this approach is one can't look at a (manifest)
file and and see the list of all files which make up a package. It's also easier
to add/delete a file from a central manifest file rather than messing with
Makefiles.

Also, this new export scheme will impact the way the nigtly GRE/Mozilla
installers are currently built. Cc:ing Jon/Aki/Leaf for their input. I'd like to
get their buyoff i.e. make sure they are signed up to do the necessary changes
on their end, before we check these changes in.
the packaging system exists because the GRE build changes didn't exist.   This
approach is the same approach we took for the SDK - the Makefile decides what
goes into the SDK.  

Indeed, we are making more work for ourselves now.  We could just live with
building everything into dist/bin then copying stuff out of it.

Please note, that without setting GRE_DIRS_ONLY=1 there is no change to the
current system.  There is no new installer work required until we default this
flag on.



If we're going to build Mozilla as a GRE-based application, then the default
build system needs to mimic the GRE/app framework for our dist install. 
Otherwise, you'll have to create that framework as a post build step which means
that it will probably not get tested outside of nightlies and people
specifically working on the GRE.  

Also, we are still driving the build system towards building Gecko first and
then the rest of the Mozilla application.  To do that, the build system is going
to have to have knowledge of Gecko in one form or another.  Some of our
(internal!) embeddors are still building the entire tree just to cherry-pick
Gecko via the manifest files.  We need to provide a way to build Gecko w/o the
unecessary additional compilation or cherry-picking steps since our embeddors
are not using our binary drops.

Attached patch v1.1Splinter Review
This patch adds the DISABLE_DIST_GRE switch to save space for the non-gre
builds.  DISABLE_DIST_GRE takes precedence over the GRE_DIRS_ONLY switch.
Attachment #109817 - Attachment is obsolete: true
the patch worked perfect for me (With GRE_DIRS_ONLY=1) 
Doug/Chris...can you please attach the list of files which end up in dist\GRE
with With GRE_DIRS_ONLY set to 1?

Like to make sure that the list matches against what the GRE installer currently
installs....thanks
.:
components
gkgfx.dll
js3250.dll
jsj3250.dll
mozctl.dll
mozctlx.dll
nspr4.dll
plc4.dll
plds4.dll
xpcom.dll
xpicleanup.exe
zlib.dll

./components:
accessibility.dll
accessibility.xpt
appshell.dll
appshell.xpt
caps.dll
caps.xpt
chrome.dll
chrome.xpt
content_base.xpt
cookie.dll
cookie.xpt
docshell.dll
docshell_base.xpt
dom.xpt
dom_base.xpt
dom_core.xpt
dom_css.xpt
dom_events.xpt
dom_html.xpt
dom_range.xpt
dom_stylesheets.xpt
dom_traversal.xpt
dom_views.xpt
dom_xbl.xpt
dom_xul.xpt
editor.dll
editor.xpt
embedcomponents.dll
gfx.xpt
gkcontent.dll
gkgfxwin.dll
gklayout.dll
gkparser.dll
gkplugin.dll
gkview.dll
history.xpt
htmlparser.xpt
i18n.dll
imgicon.dll
imgicon.xpt
imglib2.dll
imglib2.xpt
imgmng.dll
intl.xpt
jar.xpt
jar50.dll
jsurl.dll
jsurl.xpt
layout_base.xpt
layout_xul.xpt
locale.xpt
mozbrwsr.xpt
necko.dll
necko.xpt
necko2.dll
necko_about.xpt
necko_cache.xpt
necko_cookie.xpt
necko_data.xpt
necko_dns.xpt
necko_file.xpt
necko_ftp.xpt
necko_http.xpt
necko_jar.xpt
necko_res.xpt
necko_strconv.xpt
necko_viewsource.xpt
oji.dll
oji.xpt
plugin.xpt
pref.xpt
profile.dll
profile.xpt
rdf.dll
rdf.xpt
shistory.dll
shistory.xpt
txtsvc.xpt
typeaheadfind.dll
typeaheadfind.xpt
uconv.dll
uconv.xpt
ucvmath.dll
unicharutil.xpt
urildr.dll
uriloader.xpt
wallet.dll
wallet.xpt
webBrowser_core.xpt
webbrowserpersist.xpt
webbrwsr.dll
widget.xpt
windowwatcher.xpt
xmlextras.dll
xmlextras.xpt
xpc3250.dll
xpcom_base.xpt
xpcom_components.xpt
xpcom_ds.xpt
xpcom_io.xpt
xpcom_thread.xpt
xpcom_xpti.xpt
xpinstal.dll
xpinstall.xpt
xppref32.dll
xuldoc.xpt
Attachment #109849 - Flags: review?(dougt)
Attachment #109849 - Flags: review?(dougt) → review+
I think we're done here.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: