xptcinvoke and xptcstubs for firefox3 on FreeBSD Alpha

Anton Shterenlikht mexas at bristol.ac.uk
Sun Aug 3 21:43:22 UTC 2008


I guess I have to study xptcall, see below.
anton

----- Forwarded message from Glen Nakamura <glen at imodulo.com> -----

Date: Sun, 3 Aug 2008 10:13:55 -1000
From: Glen Nakamura <glen at imodulo.com>
To: Anton Shterenlikht <mexas at bristol.ac.uk>
Subject: Re: xptcinvoke and xptcstubs for firefox3 on FreeBSD Alpha

On Sun, Aug 03, 2008 at 07:55:46PM +0100, Anton Shterenlikht wrote:
> Glen, many thanks for a quick reply.
> 
> (copied to freebsd-alpha mailing list)
> 
> I'm trying to build firefox3 on FreeBSD Alpha.
> The build fails because files
> 
> 	xptcinvoke_freebsd_alpha.cpp
> 	xptcstubs_freebsd_alpha.cpp
> 
> (at least these 2, there might be more) are missing from the distribution.
> I understand you wrote the code in these files for firefox2.

To clarify, I contributed:
    xptcinvoke_linux_alpha.cpp
    xptcstubs_linux_alpha.cpp

These files may have been the basis for ports to other operating systems
which were contributed by other people.  In fact, I don't see any references
to the xptc*_freebsd_alpha.cpp files in the standard source.  The Makefile
contains:
#
# Linux/Alpha
#
ifneq (,$(filter Linuxalpha FreeBSDalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))     
CPPSRCS		:= xptcinvoke_linux_alpha.cpp xptcstubs_linux_alpha.cpp
endif

This seems to imply that FreeBSD would use the same files as Linux
for the Alpha architecture.

> I've build firefox2 fine on the same machine, and I decided
> to just copy these 2 files from firefox2 source tree to
> firerox3 as is. The build fails with the following error:
[snip]
> 
> So, it seems xptcinvoke compiles fine, but xptcstubs fails.
> 
> Could you please give brief explanation of what the code
> in these files actually does, or point to a manual/doc if
> possible. I'm not a programmer myself, particularly not
> an assembler person, so reading the files didn't give me
> much insight.

Information about xptcall can be found at:
http://developer.mozilla.org/en/docs/xptcall_FAQ

A porting guide is also available:
http://mxr.mozilla.org/mozilla/source/xpcom/reflect/xptcall/porting.html

> I had a very brief look at the distribution tree
> and I believe these 2 files are generated during
> configure stage from ./files/patch-xptcall-alpha,
> which is also missing in firefox3 distribution.
> Please comment on this as well if you can.

If you're working with FreeBSD specific patched source, I don't
know how much help I can provide you...  You could look at the differences
between the FreeBSD and Linux versions of the files you have, and
also the differences (if any) between the Firefox 2 and Firefox 3 versions.
You might want to look closer at changes to the Makefile[.in] file.

> Finally, how much work do you think is needed to port these 2 files
> from firefox2 to firefox3? Is it really just 2 files, or
> there is much more work to be done?

There may have been changes in the build mechanics, but I don't think
much has changed in the design and implementation of the xptcall interface.
Of course, I haven't been actively involved in Firefox development so
things may have changed without me noticing.

- Glen Nakamura

----- End forwarded message -----

-- 
Anton Shterenlikht
Room 2.6, Queen's Building
Mech Eng Dept
Bristol University
University Walk, Bristol BS8 1TR, UK
Tel: +44 (0)117 928 8233 
Fax: +44 (0)117 929 4423


More information about the freebsd-alpha mailing list