xptcinvoke and xptcstubs for firefox3 on FreeBSD Alpha

View: New views
2 Messages — Rating Filter:   Alert me  

Parent Message unknown xptcinvoke and xptcstubs for firefox3 on FreeBSD Alpha

by Anton Shterenlikht :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Aug 03, 2008 at 07:10:00AM -1000, Glen Nakamura wrote:

> On Sun, Aug 03, 2008 at 05:46:56PM +0100, Anton Shterenlikht wrote:
> > I'm trying to trace Glen Nakamura, a contributor to firefox,
> > regarding some of his code.
> >
> > If it is the same Glen who holds the copyright to your site,
> > please put me in touch with him.
>
> Aloha Anton,
>
> I contributed the Linux Alpha port of the xptcall interface
> to the Mozilla project...  What piece of code are you inquiring about?

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.

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:

gmake[8]: Entering directory `/usr/ports/www/firefox3/work/mozilla/xpcom/reflect
/xptcall/src/md/unix'
xptcinvoke_freebsd_alpha.cpp
c++ -o xptcinvoke_freebsd_alpha.o -c  -DMOZILLA_INTERNAL_API -DOSTYPE=\"FreeBSD6
\" -DOSARCH=FreeBSD -DEXPORT_XPTC_API -D_IMPL_NS_COM -I./../.. -I./../../../../x
ptinfo/src  -I. -I. -I../../../../../../dist/include/string -I../../../../../../
dist/include   -I../../../../../../dist/include/xpcom -I/usr/local/include/nspr
  -I/usr/include  -I/usr/local/include   -fPIC  -I/usr/local/include  -I/usr/loc
al/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverlo
aded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -
Wno-long-long -O -pipe -mcpu=ev6 -mieee -O2 -fno-strict-aliasing -fno-strict-ali
asing -fshort-wchar -pipe  -DNDEBUG -DTRIMMED -O  -I/usr/local/include  -I/usr/l
ocal/include -DMOZILLA_CLIENT -include ../../../../../../mozilla-config.h xptcin
voke_freebsd_alpha.cpp
xptcstubs_freebsd_alpha.cpp
c++ -o xptcstubs_freebsd_alpha.o -c  -DMOZILLA_INTERNAL_API -DOSTYPE=\"FreeBSD6\
" -DOSARCH=FreeBSD -DEXPORT_XPTC_API -D_IMPL_NS_COM -I./../.. -I./../../../../xp
tinfo/src  -I. -I. -I../../../../../../dist/include/string -I../../../../../../d
ist/include   -I../../../../../../dist/include/xpcom -I/usr/local/include/nspr
 -I/usr/include  -I/usr/local/include   -fPIC  -I/usr/local/include  -I/usr/loca
l/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverloa
ded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -W
no-long-long -O -pipe -mcpu=ev6 -mieee -O2 -fno-strict-aliasing -fno-strict-alia
sing -fshort-wchar -pipe  -DNDEBUG -DTRIMMED -O  -I/usr/local/include  -I/usr/lo
cal/include -DMOZILLA_CLIENT -include ../../../../../../mozilla-config.h xptcstu
bs_freebsd_alpha.cpp
xptcstubs_freebsd_alpha.cpp: In function `nsresult PrepareAndDispatch(nsXPTCStub
Base*, uint32, PRUint64*)':
xptcstubs_freebsd_alpha.cpp:59: error: `nsIInterfaceInfo' was not declared in th
is scope
xptcstubs_freebsd_alpha.cpp:59: error: `iface_info' was not declared in this sco
pe
xptcstubs_freebsd_alpha.cpp:67: error: 'class nsXPTCStubBase' has no member name
d 'GetInterfaceInfo'
xptcstubs_freebsd_alpha.cpp:131: error: 'class nsXPTCStubBase' has no member nam
ed 'CallMethod'
xptcstubs_freebsd_alpha.cpp:59: warning: unused variable 'nsIInterfaceInfo'
gmake[8]: *** [xptcstubs_freebsd_alpha.o] Error 1
gmake[8]: Leaving directory `/usr/ports/www/firefox3/work/mozilla/xpcom/reflect/
xptcall/src/md/unix'
gmake[7]: *** [libs] Error 2



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.

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.

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?

many thanks
anton

--
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
_______________________________________________
freebsd-alpha@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-alpha
To unsubscribe, send any mail to "freebsd-alpha-unsubscribe@..."

Parent Message unknown Re: xptcinvoke and xptcstubs for firefox3 on FreeBSD Alpha

by Anton Shterenlikht :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

----- Forwarded message from Glen Nakamura <glen@...> -----

Date: Sun, 3 Aug 2008 10:13:55 -1000
From: Glen Nakamura <glen@...>
To: Anton Shterenlikht <mexas@...>
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
_______________________________________________
freebsd-alpha@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-alpha
To unsubscribe, send any mail to "freebsd-alpha-unsubscribe@..."
LightInTheBox - Buy quality products at wholesale price!