Closed Bug 389448 Opened 17 years ago Closed 15 years ago

Icons not included in static SeaMonkey build

Categories

(SeaMonkey :: Build Config, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
seamonkey2.0b1

People

(Reporter: swsnyder, Assigned: kairo)

References

Details

Attachments

(1 file)

In the typical (shared library) SeaMonkey build the resource file widget.res is generated and linked into DLL gkwidget.dll.  In a static build (config: --enable-static --disable-shared) there is no reference to widget.res, so the file  is not created from the widget.rc source file and not included in the build.  The result is that the icons that the resource file contains are not available to a running SM build.
Seen with SM v1.1.3, built with VS2003, running on Win2K/SP4.

The result of this is seen most obviously by the lack of zoom-in/zoom-out cursors.  The silent failure to locate the requested mouse pointers means that the standard pointer is left in place, even where the zoom-in or zoom-out pointer is appropriate.  The zooming functionality still works, but the magnifying glass pointers are not seen.
Shared library:

/cygdrive/c/mozbuild/mozilla/build/cygwin-wrapper link -NOLOGO -DLL -OUT:gkwidget.dll -PDB:gkwidget.pdb -SUBSYSTEM:WINDOWS -OPT:REF,ICF,NOWIN98 -LTCG  nsWinWidgetFactory.obj   widget.res    -IMPLIB:fake-import  ../../../dist/lib/widget_windows.lib ../../../dist/lib/xpwidgets_s.lib    ../../../dist/lib/gkgfx.lib ../../../dist/lib/xpcom.lib ../../../dist/lib/xpcom_core.lib ../../../dist/lib/nspr4.lib ../../../dist/lib/plc4.lib ../../../dist/lib/plds4.lib  ../../../dist/lib/unicharutil_s.lib   kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib uuid.lib ole32.lib oleaut32.lib comctl32.lib comdlg32.lib shell32.lib gdi32.lib imm32.lib

Static library:

lib -NOLOGO -OUT:"gkwidget.lib"  nsWinWidgetFactory.obj ../../../dist/lib/widget_windows.lib ../../../dist/lib/xpwidgets_s.lib

Static application:

/cygdrive/c/mozbuild/mozilla/build/cygwin-wrapper link -NOLOGO -OUT:seamonkey.exe -PDB:seamonkey.pdb -SUBSYSTEM:WINDOWS -OPT:REF,ICF,NOWIN98 -LTCG -DEBUG -OPT:REF -OPT:nowin98  /HEAP:0x40000 nsAppRunner.obj showOSAlert.obj nsStaticComponents.obj nsNativeAppSupportWin.obj nsNativeAppSupportBase.obj ./module.res    ../../dist/lib/xpcom.lib ../../dist/lib/xpcom_core.lib ../../dist/lib/js3250.lib ../../dist/lib/nspr4.lib ../../dist/lib/plc4.lib ../../dist/lib/plds4.lib   ../../dist/lib/components/xpcom_compat_c.lib ../../dist/lib/components/xpc3250.lib ../../dist/lib/components/uconv.lib ../../dist/lib/components/ucvmath.lib ../../dist/lib/components/i18n.lib ../../dist/lib/components/intlcmpt.lib ../../dist/lib/components/mork.lib ../../dist/lib/components/strgcmps.lib ../../dist/lib/components/necko.lib ../../dist/lib/components/necko2.lib ../../dist/lib/components/xppref32.lib ../../dist/lib/components/caps.lib ../../dist/lib/components/rdf.lib ../../dist/lib/components/gkparser.lib ../../dist/lib/components/gkgfxwin.lib ../../dist/lib/components/imgicon.lib ../../dist/lib/components/imglib2.lib ../../dist/lib/components/gkplugin.lib ../../dist/lib/components/gkwidget.lib ../../dist/lib/components/gklayout.lib ../../dist/lib/components/docshell.lib ../../dist/lib/components/embedcomponents.lib ../../dist/lib/components/webbrwsr.lib ../../dist/lib/components/editor.lib ../../dist/lib/components/txmgr.lib ../../dist/lib/components/composer.lib ../../dist/lib/components/appshell.lib ../../dist/lib/components/oji.lib ../../dist/lib/components/chrome.lib ../../dist/lib/components/profile.lib ../../dist/lib/components/nsprefm.lib ../../dist/lib/components/mozfind.lib ../../dist/lib/components/appcomps.lib ../../dist/lib/components/pipboot.lib ../../dist/lib/components/pipnss.lib ../../dist/lib/components/pippki.lib ../../dist/lib/components/cookie.lib ../../dist/lib/components/wallet.lib ../../dist/lib/components/wlltvwrs.lib ../../dist/lib/components/xmlextras.lib ../../dist/lib/components/p3p.lib ../../dist/lib/components/autoconfig.lib ../../dist/lib/components/transformiix.lib ../../dist/lib/components/universalchardet.lib ../../dist/lib/components/typeaheadfind.lib ../../dist/lib/components/websrvcs.lib ../../dist/lib/components/auth.lib ../../dist/lib/components/perms.lib ../../dist/lib/components/srchsvc.lib ../../dist/lib/unicharutil_s.lib ../../dist/lib/ucvutil_s.lib ../../dist/lib/gfxshared_s.lib ../../dist/lib/gkgfx.lib ../../dist/lib/jsj3250.lib ../../dist/lib/mozctl.lib ../../dist/lib/mozctlx.lib  ../../dist/lib/png.lib ../../dist/lib/jpeg3250.lib ../../dist/lib/mozz.lib  ../../dist/lib/crmf.lib ../../dist/lib/smime3.lib ../../dist/lib/ssl3.lib ../../dist/lib/nss3.lib ../../dist/lib/softokn3.lib   ../../dist/lib/mozcairo.lib ../../dist/lib/mozlibpixman.lib ../../dist/lib/xpcom_compat.lib comctl32.lib comdlg32.lib uuid.lib shell32.lib ole32.lib oleaut32.lib version.lib winspool.lib urlmon.lib kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib comctl32.lib comdlg32.lib uuid.lib shell32.lib ole32.lib oleaut32.lib version.lib winspool.lib gdi32.lib

Note lack of reference to widget.res in the static build.
Version: SeaMonkey 1.1 Branch → 1.8 Branch
Having just gotten a static Seamonkey 2.0a1pre to build I can now say that the behavior above is true for trunk as well as 1.8.1 branch.  FYI.
Can you reproduce with current SeaMonkey v2.0a1pre ?
Target Milestone: seamonkey1.1final → ---
Version: 1.8 Branch → Trunk
Serge-

If a week-old (Monday, 05 May 2008) pull of the trunk counts as "current", then yes, I can reproduce it.

With build output redirected to a log file, I see no references whatsoever to either widget.rc or widget.res.  

The link of the gkwidget library looks like this:

lib -NOLOGO -OUT:"gkwidget.lib"  -LTCG nsWinWidgetFactory.obj ../windows/widget_windows.lib ../xpwidgets/xpwidgets_s.lib

(Again, no reference to the resource file.)

And the final link of the application:

link -NOLOGO -OUT:seamonkey.exe -PDB:seamonkey.pdb -SUBSYSTEM:WINDOWS -ENTRY:wmainCRTStartup -LTCG -NXCOMPAT -DYNAMICBASE  -DEBUG -OPT:REF -OPT:nowin98 -LTCG:PGUPDATE  -LTCG -OPT:REF,ICF,NOWIN98 /HEAP:0x40000 nsSuiteApp.obj nsStaticComponents.obj ./module.res ../../toolkit/xre/xulapp_s.lib -LIBPATH:../../staticlib ../../dist/lib/js3250.lib  ../../dist/lib/xpcom.lib ../../dist/lib/xpcom_core.lib ../../dist/lib/nspr4.lib ../../dist/lib/plc4.lib ../../dist/lib/plds4.lib    ../../staticlib/components/xppref32.lib ../../staticlib/components/uconv.lib ../../staticlib/components/ucvmath.lib ../../staticlib/components/i18n.lib ../../staticlib/components/necko.lib ../../staticlib/components/auth.lib ../../staticlib/components/xpc3250.lib ../../staticlib/components/chardet.lib ../../staticlib/components/zipwriter.lib ../../staticlib/components/mork.lib ../../staticlib/components/cookie.lib ../../staticlib/components/perms.lib ../../staticlib/components/strgcmps.lib ../../staticlib/components/rdf.lib ../../staticlib/components/caps.lib ../../staticlib/components/gkparser.lib ../../staticlib/components/gkgfxthebes.lib ../../staticlib/components/imgicon.lib ../../staticlib/components/imglib2.lib ../../staticlib/components/gkplugin.lib ../../staticlib/components/gkwidget.lib ../../staticlib/components/txmgr.lib ../../staticlib/components/composer.lib ../../staticlib/components/gklayout.lib ../../staticlib/components/docshell.lib ../../staticlib/components/embedcomponents.lib ../../staticlib/components/webbrwsr.lib ../../staticlib/components/appshell.lib ../../staticlib/components/xmlextras.lib ../../staticlib/components/universalchardet.lib ../../staticlib/components/oji.lib ../../staticlib/components/chrome.lib ../../staticlib/components/mozfind.lib ../../staticlib/components/intlapp.lib ../../staticlib/components/windowds.lib ../../staticlib/components/xpautoc.lib ../../staticlib/components/appcomps.lib ../../staticlib/components/tkautoc.lib ../../staticlib/components/satchel.lib ../../staticlib/components/cmdlines.lib ../../staticlib/components/tkitcmps.lib ../../staticlib/components/spellchk.lib ../../staticlib/components/pipboot.lib ../../staticlib/components/pipnss.lib ../../staticlib/components/pippki.lib ../../staticlib/components/autoconfig.lib ../../staticlib/components/wallet.lib ../../staticlib/components/wlltvwrs.lib ../../staticlib/mozreg_s.lib ../../staticlib/unicharutil_s.lib ../../staticlib/ucvutil_s.lib ../../staticlib/thebes.lib ../../staticlib/gfxshared_s.lib ../../staticlib/gkgfx.lib ../../staticlib/jsj3250.lib  ../../modules/libimg/png/png.lib ../../jpeg/jpeg3250.lib ../../modules/zlib/src/mozz.lib ../../dist/lib/mozlcms.lib  ../../dist/lib/crmf.lib         ../../dist/lib/smime3.lib         ../../dist/lib/ssl3.lib         ../../dist/lib/nss3.lib         ../../dist/lib/nssutil3.lib         ../../dist/lib/softokn3.lib  ../../gfx/cairo/cairo/src/mozcairo.lib ../../gfx/cairo/libpixman/src/mozlibpixman.lib ../../dist/lib/sqlite3.lib comctl32.lib comdlg32.lib uuid.lib shell32.lib ole32.lib oleaut32.lib version.lib winspool.lib imm32.lib usp10.lib kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib comctl32.lib comdlg32.lib uuid.lib shell32.lib ole32.lib oleaut32.lib version.lib winspool.lib msimg32.lib

This is still on Win2K/SP4, building with VS2005/SP1.

And then the expected behavior at runtime: zoom-in/zoom-out works but the appropriate pointers are not displayed.
Blocks: 464671
Six-month status: zoom-in/zoom-out pointers still missing on static build.

This is with SeaMonkey 2.0a2pre, built from a 22 Nov 2008 pull of comm-central source files.  Still built on Win2K/SP4 with VS2005.
Zoom-in/Zoom-out pointers still missing in static builds.

Binaries built from v2.0a3 source tarball.
To fix this you probably want to copy what Thunderbird has done here:

http://mxr.mozilla.org/comm-central/source/mail/app/splash.rc
This should do it. Mark, do you have a Windows build system around to test this as well? I unfortunately don't have one within my reach.
Assignee: nobody → kairo
Status: NEW → ASSIGNED
Attachment #379872 - Flags: review?(bugzilla)
Attachment #379872 - Flags: review?(bugzilla) → review+
Comment on attachment 379872 [details] [diff] [review]
add the static stuff to splash.rc

> DEFINES += \
>+	-DSEAMONKEY_ICO=\"..\branding\icons\windows\seamonkey.ico\" \

You need to make this:

+	-DSEAMONKEY_ICO=\"../branding/icons/windows/seamonkey.ico\" \

otherwise it doesn't compile ;-)

Apart from that looks good. r=Standard8
Thanks, pushed as http://hg.mozilla.org/comm-central/rev/8d2d487a09ba
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Target Milestone: --- → seamonkey2.0b1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: