import seamonkey-1.0.7
Web-browser, advanced e-mail and newsgroup client, IRC chat client, and HTML editing made simple -- all your Internet needs in one application. Based mostly on a port from James Wright <jamesw at bsdhosting.co.za> with input from several - thanks! Tested on i386/amd64/sparc64/macppc.
This commit is contained in:
parent
87c1358d8b
commit
91ba45c396
160
www/seamonkey/Makefile
Normal file
160
www/seamonkey/Makefile
Normal file
@ -0,0 +1,160 @@
|
||||
# $OpenBSD: Makefile,v 1.1.1.1 2006/12/22 23:32:27 kurt Exp $
|
||||
|
||||
ONLY_FOR_ARCHS= alpha amd64 i386 powerpc sparc sparc64
|
||||
|
||||
COMMENT-main= "integrated mozilla application suite"
|
||||
COMMENT-devel= "devel files for Gecko"
|
||||
|
||||
VER= 1.0.7
|
||||
DISTNAME= seamonkey-${VER}.source
|
||||
PKGNAME= seamonkey-${VER}
|
||||
PKGNAME-main= seamonkey-${VER}
|
||||
PKGNAME-devel= seamonkey-devel-${VER}
|
||||
|
||||
SO_VERSION= 9.3
|
||||
# NOTE: Must bump minor version if any shlib's are removed from the
|
||||
# components dir to avoid pkg_add -r issues.
|
||||
.for _lib in accessibility appcomps auth autoconfig browsercomps \
|
||||
browserdirprovider caps chrome commandlines composer cookie docshell \
|
||||
editor embedcomponents fileview gfx_gtk gfxps gfxpsshar gkgfx \
|
||||
gklayout gkplugin gtkembedmoz gtkxtbin htmlpars i18n imglib2 inspector \
|
||||
jar50 jsd jsj mork mozfind mozjs necko necko2 nsappshell nss3 \
|
||||
nssckbi oji permissions pipboot pipnss pippki pref rdf \
|
||||
remoteservice searchservice smime3 softokn3 ssl3 system-pref \
|
||||
toolkitcomps transformiix txmgr uconv ucvmath universalchardet \
|
||||
webbrwsr websrvcs widget_gtk2 xmlextras xpcom xpcom_compat \
|
||||
xpcom_compat_c xpcom_core xpconnect xpinstall xpistub xul \
|
||||
addrbook bayesflt impComm4xMail impText import localmail \
|
||||
mailnews mailview mime mimeemitter mozldap msgbaseutil msgcompose \
|
||||
msgdb msgimap msgmdn msgnews msgsmime myspell nsprefm p3p \
|
||||
profile spellchecker sroaming typeaheadfind vcard wallet walletviewers \
|
||||
xremoteservice xulutil ldap50 prldap50 \
|
||||
fort swft
|
||||
SHARED_LIBS+= ${_lib} ${SO_VERSION}
|
||||
.endfor
|
||||
|
||||
CATEGORIES= www mail net
|
||||
|
||||
HOMEPAGE= http://www.mozilla.org/projects/seamonkey/
|
||||
|
||||
MULTI_PACKAGES= -main -devel
|
||||
|
||||
# mozilla public license
|
||||
PERMIT_PACKAGE_CDROM= Yes
|
||||
PERMIT_PACKAGE_FTP= Yes
|
||||
PERMIT_DISTFILES_CDROM= Yes
|
||||
PERMIT_DISTFILES_FTP= Yes
|
||||
|
||||
MASTER_SITES= http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/${VER}/
|
||||
|
||||
MODULES= devel/gettext
|
||||
BUILD_DEPENDS= :zip->=2.3:archivers/zip
|
||||
|
||||
RUN_DEPENDS-main= :esound-*:audio/esound
|
||||
LIB_DEPENDS-main= \
|
||||
gdk-x11-2.0,gdk_pixbuf-2.0,gtk-x11-2.0::x11/gtk+2 \
|
||||
nspr4.>=17,plc4.>=17,plds4.>=17:nspr->=4.6.4p1:devel/nspr
|
||||
WANTLIB-main= X11 Xext Xft Xinerama Xrender Xt atk-1.0 c cairo fontconfig \
|
||||
freetype glib-2.0 glitz gmodule-2.0 gobject-2.0 iconv \
|
||||
intl jpeg m pango-1.0 pangocairo-1.0 pangoft2-1.0 png \
|
||||
pthread stdc++ z
|
||||
|
||||
RUN_DEPENDS-devel= :${PKGNAME-main}:www/seamonkey,-main
|
||||
LIB_DEPENDS-devel= \
|
||||
IDL-2::devel/libIDL \
|
||||
gdk-x11-2.0,gdk_pixbuf-2.0,gtk-x11-2.0::x11/gtk+2 \
|
||||
nspr4.>=17,plc4.>=17,plds4.>=17:nspr->=4.6.4p1:devel/nspr
|
||||
WANTLIB-devel= X11 Xext Xrender Xt atk-1.0 c cairo fontconfig freetype \
|
||||
glib-2.0 glitz gmodule-2.0 gobject-2.0 iconv intl m \
|
||||
pango-1.0 pangocairo-1.0 pangoft2-1.0 png pthread z
|
||||
|
||||
VMEM_WARNING= Yes
|
||||
|
||||
USE_X11= Yes
|
||||
USE_GMAKE= Yes
|
||||
NO_REGRESS= Yes
|
||||
|
||||
MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC}/build/autoconf \
|
||||
${WRKSRC}/directory/c-sdk/config/autoconf
|
||||
|
||||
AUTOCONF_VERSION= 2.13
|
||||
CONFIGURE_STYLE= autoconf no-autoheader
|
||||
CONFIGURE_ARGS= --with-system-jpeg=${LOCALBASE} \
|
||||
--with-system-png=${LOCALBASE} \
|
||||
--with-system-zlib=/usr/lib \
|
||||
--with-pthreads \
|
||||
--with-system-nspr \
|
||||
--enable-xft \
|
||||
--enable-optimize=-Os \
|
||||
--enable-default-toolkit=gtk2 \
|
||||
--disable-debug \
|
||||
--disable-tests \
|
||||
--disable-pedantic \
|
||||
--disable-installer \
|
||||
--disable-updater \
|
||||
--disable-gnomeui \
|
||||
--disable-gnomevfs \
|
||||
--enable-xinerama \
|
||||
--enable-svg \
|
||||
--enable-svg-renderer=cairo \
|
||||
--enable-system-cairo \
|
||||
--disable-javaxpcom \
|
||||
--enable-canvas
|
||||
|
||||
# from browser/config/mozconfig
|
||||
CONFIGURE_ARGS+=--enable-application=suite
|
||||
|
||||
MAKE_ENV= MOZ_CO_PROJECT=suite \
|
||||
LD_LIBRARY_PATH="${WRKSRC}/dist/bin" \
|
||||
BUILD_OFFICIAL=1 \
|
||||
MOZILLA_OFFICIAL=1 \
|
||||
SO_VERSION="${SO_VERSION}"
|
||||
CONFIGURE_ENV= ${MAKE_ENV} \
|
||||
PKG_CONFIG_PATH="${LOCALBASE}/lib/pkgconfig:${X11BASE}/lib/pkgconfig"
|
||||
|
||||
WRKDIST= ${WRKDIR}/mozilla
|
||||
|
||||
MOB= ${WRKSRC}/dist
|
||||
MOZ= ${PREFIX}/seamonkey
|
||||
|
||||
post-extract:
|
||||
@cp ${FILESDIR}/xptc* ${WRKSRC}/xpcom/reflect/xptcall/src/md/unix/
|
||||
|
||||
pre-configure:
|
||||
@cd ${WRKSRC}/directory/c-sdk && ${SETENV} ${AUTOCONF_ENV} ${AUTOCONF}
|
||||
@perl -pi -e 's|_LOCALBASE_|${LOCALBASE}|g; s|_X11BASE_|${X11BASE}|g' \
|
||||
${WRKSRC}/xpfe/bootstrap/mozilla.in
|
||||
@perl -pi -e 's|_SO_VERSION_|${SO_VERSION}|g' \
|
||||
${WRKSRC}/xpcom/components/nsNativeComponentLoader.cpp
|
||||
@echo "`date "+%Y%d%m%H%M%S"`" > ${WRKSRC}/config/build_number
|
||||
|
||||
do-install:
|
||||
.for dir in include idl lib
|
||||
${INSTALL_DATA_DIR} ${MOZ}/${dir}
|
||||
@cd ${MOB} && ${TAR} -chf - ${dir} | \
|
||||
${TAR} -xf - -C ${MOZ}
|
||||
.endfor
|
||||
@cd ${MOB}/public && ${TAR} -chf - nss | \
|
||||
${TAR} -xf - -C ${MOZ}/include
|
||||
.for dir in chrome components defaults greprefs searchplugins res
|
||||
${INSTALL_DATA_DIR} ${MOZ}/${dir}
|
||||
@cd ${MOB}/bin && ${TAR} -chf - ${dir} | \
|
||||
${TAR} -xf - -C ${MOZ}
|
||||
.endfor
|
||||
@cd ${MOB}/bin && ${TAR} -chf - *.so.?.? | \
|
||||
${TAR} -xf - -C ${MOZ}
|
||||
@chmod 444 ${MOZ}/*.so.?.? ${MOZ}/components/*.so.?.? ${MOZ}/components/*.js
|
||||
${INSTALL_DATA} ${WRKSRC}/LICENSE ${MOZ}
|
||||
${INSTALL_SCRIPT} ${MOB}/bin/seamonkey ${MOB}/bin/seamonkey-config ${PREFIX}/bin/
|
||||
${INSTALL_SCRIPT} ${MOB}/bin/run-mozilla.sh ${MOZ}
|
||||
${INSTALL_PROGRAM} ${MOB}/bin/regxpcom ${MOB}/bin/seamonkey-bin ${MOB}/bin/mozilla-xremote-client ${MOB}/bin/TestGtkEmbed \
|
||||
${MOB}/bin/mangle ${MOB}/bin/nsinstall ${MOB}/bin/shlibsign ${MOB}/bin/xpcshell ${MOB}/bin/xpicleanup ${MOB}/bin/xpidl \
|
||||
${MOB}/bin/xpt_dump ${MOB}/bin/xpt_link ${MOZ}
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/share/applications
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/share/pixmaps
|
||||
${INSTALL_DATA_DIR} ${PREFIX}/lib/pkgconfig
|
||||
${INSTALL_DATA} ${WRKBUILD}/build/unix/*.pc ${PREFIX}/lib/pkgconfig
|
||||
@sed -e 's,!!PREFIX!!,${TRUEPREFIX},g' \
|
||||
< ${FILESDIR}/README.OpenBSD > ${MOZ}/README.OpenBSD
|
||||
|
||||
.include <bsd.port.mk>
|
4
www/seamonkey/distinfo
Normal file
4
www/seamonkey/distinfo
Normal file
@ -0,0 +1,4 @@
|
||||
MD5 (seamonkey-1.0.7.source.tar.gz) = 947d01cb1f45ed34be3b612368f94418
|
||||
RMD160 (seamonkey-1.0.7.source.tar.gz) = 3998ab4ee254c0097e7480163254a25029e39997
|
||||
SHA1 (seamonkey-1.0.7.source.tar.gz) = 336839a764d030b2384dd662a29f16a18c374241
|
||||
SIZE (seamonkey-1.0.7.source.tar.gz) = 46504734
|
30
www/seamonkey/files/README.OpenBSD
Normal file
30
www/seamonkey/files/README.OpenBSD
Normal file
@ -0,0 +1,30 @@
|
||||
$OpenBSD: README.OpenBSD,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
|
||||
Loading of external images has been turned off by default on
|
||||
OpenBSD. To turn it back on goto Edit -> Preferences -> Mail &
|
||||
Newsgroups -> Message Display and enable "Allow messsages to
|
||||
load and display remote images and other content". However,
|
||||
it is recommended that you leave it off to avoid unwanted
|
||||
internet connections and possible future exploits against
|
||||
Mail & News.
|
||||
|
||||
To disable anti-aliasing (xft) set GDK_USE_XFT=0 in the environment.
|
||||
|
||||
Plugins
|
||||
|
||||
Seamonkey looks for plugins in ~/.mozilla/plugins,
|
||||
!!PREFIX!!/lib/mozilla-plugins, and !!PREFIX!!/seamonkey/plugins.
|
||||
The user environment variable MOZ_PLUGIN_PATH is not used on OpenBSD.
|
||||
|
||||
Using Java Applets
|
||||
|
||||
To make Applets work, you must symlink (not copy) the file
|
||||
libjavaplugin_oji.so into one of the directories listed above.
|
||||
This might be done like the following:
|
||||
|
||||
$ cd ~/.mozilla/plugins
|
||||
$ ln -s !!PREFIX!!/jdk-1.5.0/jre/plugin/i386/ns7/libjavaplugin_oji.so .
|
||||
$
|
||||
|
||||
Information on building Java (on some platforms) can be found in
|
||||
http://www.openbsd.org/faq/faq13.html#javaflash
|
116
www/seamonkey/files/xptcinvoke_asm_ppc_openbsd.s
Normal file
116
www/seamonkey/files/xptcinvoke_asm_ppc_openbsd.s
Normal file
@ -0,0 +1,116 @@
|
||||
# -*- Mode: Asm -*-
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1999 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
|
||||
# beard@netscape.com (Patrick Beard)
|
||||
# waterson@netscape.com (Chris Waterson)
|
||||
#
|
||||
|
||||
.set r0,0; .set sp,1; .set RTOC,2; .set r3,3; .set r4,4
|
||||
.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
|
||||
.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
|
||||
.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
|
||||
.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
|
||||
.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
|
||||
.set r30,30; .set r31,31
|
||||
.set f0,0; .set f1,1; .set f2,2; .set f3,3; .set f4,4
|
||||
.set f5,5; .set f6,6; .set f7,7; .set f8,8; .set f9,9
|
||||
.set f10,10; .set f11,11; .set f12,12; .set f13,13; .set f14,14
|
||||
.set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19
|
||||
.set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24
|
||||
.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
|
||||
.set f30,30; .set f31,31
|
||||
|
||||
.section ".text"
|
||||
.align 2
|
||||
.globl XPTC_InvokeByIndex
|
||||
.type XPTC_InvokeByIndex,@function
|
||||
|
||||
#
|
||||
# XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
|
||||
# PRUint32 paramCount, nsXPTCVariant* params)
|
||||
#
|
||||
|
||||
XPTC_InvokeByIndex:
|
||||
stwu sp,-32(sp) # setup standard stack frame
|
||||
mflr r0 # save LR
|
||||
stw r3,8(sp) # r3 <= that
|
||||
stw r4,12(sp) # r4 <= methodIndex
|
||||
stw r30,16(sp)
|
||||
stw r31,20(sp)
|
||||
|
||||
stw r0,36(sp) # store LR backchain
|
||||
mr r31,sp
|
||||
|
||||
rlwinm r10,r5,3,0,27 # r10 = (ParamCount * 2 * 4) & ~0x0f
|
||||
addi r0,r10,96 # reserve stack for GPR and FPR register save area r0 = r10 + 96
|
||||
lwz r9,0(sp) # r9 = backchain
|
||||
neg r0,r0
|
||||
stwux r9,sp,r0 # reserve stack space and save SP backchain
|
||||
|
||||
addi r3,sp,8 # r3 <= args
|
||||
mr r4,r5 # r4 <= paramCount
|
||||
mr r5,r6 # r5 <= params
|
||||
add r6,r3,r10 # r6 <= gpregs ( == args + r10 )
|
||||
mr r30,r6 # store in r30 for use later...
|
||||
addi r7,r6,32 # r7 <= fpregs ( == gpregs + 32 )
|
||||
|
||||
bl invoke_copy_to_stack@local # (args, paramCount, params, gpregs, fpregs)
|
||||
|
||||
lfd f1,32(r30) # load FP registers with method parameters
|
||||
lfd f2,40(r30)
|
||||
lfd f3,48(r30)
|
||||
lfd f4,56(r30)
|
||||
lfd f5,64(r30)
|
||||
lfd f6,72(r30)
|
||||
lfd f7,80(r30)
|
||||
lfd f8,88(r30)
|
||||
|
||||
lwz r3,8(r31) # r3 <= that
|
||||
lwz r4,12(r31) # r4 <= methodIndex
|
||||
lwz r5,0(r3) # r5 <= vtable ( == *that )
|
||||
#if 0
|
||||
#if !((__GNUC__ == 3 && __GNUC_MINOR__ < 2) || __GXX_ABI_VERSION >= 100) # G++ pre-V3 ABI
|
||||
addi r4,r4,2 # skip first two vtable entries
|
||||
#endif
|
||||
#endif
|
||||
subi r4,r4,2 # skip first two vtable entries
|
||||
slwi r4,r4,2 # convert to offset ( *= 4 )
|
||||
lwzx r0,r5,r4 # r0 <= methodpointer ( == vtable + offset )
|
||||
|
||||
lwz r4,4(r30) # load GP regs with method parameters
|
||||
lwz r5,8(r30)
|
||||
lwz r6,12(r30)
|
||||
lwz r7,16(r30)
|
||||
lwz r8,20(r30)
|
||||
lwz r9,24(r30)
|
||||
lwz r10,28(r30)
|
||||
|
||||
mtlr r0 # copy methodpointer to LR
|
||||
blrl # call method
|
||||
|
||||
lwz r30,16(r31) # restore r30 & r31
|
||||
lwz r31,20(r31)
|
||||
|
||||
lwz r11,0(sp) # clean up the stack
|
||||
lwz r0,4(r11)
|
||||
mtlr r0
|
||||
mr sp,r11
|
||||
blr
|
104
www/seamonkey/files/xptcinvoke_asm_sparc64_openbsd.s
Normal file
104
www/seamonkey/files/xptcinvoke_asm_sparc64_openbsd.s
Normal file
@ -0,0 +1,104 @@
|
||||
/* -*- Mode: asm; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 2001 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Stuart Parmenter <pavlov@netscape.com>
|
||||
* Chris Seawood <cls@seawood.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
Platform specific code to invoke XPCOM methods on native objects
|
||||
for sparcv9 Solaris.
|
||||
|
||||
See the SPARC Compliance Definition (SCD) Chapter 3
|
||||
for more information about what is going on here, including
|
||||
the use of BIAS (0x7ff).
|
||||
The SCD is available from http://www.sparc.com/.
|
||||
*/
|
||||
|
||||
.global XPTC_InvokeByIndex
|
||||
.type XPTC_InvokeByIndex, #function
|
||||
|
||||
/*
|
||||
XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
|
||||
PRUint32 paramCount, nsXPTCVariant* params);
|
||||
|
||||
*/
|
||||
XPTC_InvokeByIndex:
|
||||
save %sp,-(128 + 64),%sp ! room for the register window and
|
||||
! struct pointer, rounded up to 0 % 64
|
||||
sll %i2,4,%l0 ! assume the worst case
|
||||
! paramCount * 2 * 8 bytes
|
||||
cmp %l0, 0 ! are there any args? If not,
|
||||
be .invoke ! no need to copy args to stack
|
||||
nop
|
||||
|
||||
sub %sp,%l0,%sp ! create the additional stack space
|
||||
add %sp,0x7ff+136,%o0 ! step past the register window, the
|
||||
! struct result pointer and the 'this' slot
|
||||
mov %i2,%o1 ! paramCount
|
||||
call invoke_copy_to_stack
|
||||
mov %i3,%o2 ! params
|
||||
|
||||
!
|
||||
! load arguments from stack into the outgoing registers
|
||||
! BIAS is 0x7ff (2047)
|
||||
!
|
||||
|
||||
! load the %o1..5 64bit (extended word) output registers registers
|
||||
ldx [%sp + 0x7ff + 136],%o1 ! %i1
|
||||
ldx [%sp + 0x7ff + 144],%o2 ! %i2
|
||||
ldx [%sp + 0x7ff + 152],%o3 ! %i3
|
||||
ldx [%sp + 0x7ff + 160],%o4 ! %i4
|
||||
ldx [%sp + 0x7ff + 168],%o5 ! %i5
|
||||
|
||||
! load the even number double registers starting with %d2
|
||||
ldd [%sp + 0x7ff + 136],%f2
|
||||
ldd [%sp + 0x7ff + 144],%f4
|
||||
ldd [%sp + 0x7ff + 152],%f6
|
||||
ldd [%sp + 0x7ff + 160],%f8
|
||||
ldd [%sp + 0x7ff + 168],%f10
|
||||
ldd [%sp + 0x7ff + 176],%f12
|
||||
ldd [%sp + 0x7ff + 184],%f14
|
||||
ldd [%sp + 0x7ff + 192],%f16
|
||||
ldd [%sp + 0x7ff + 200],%f18
|
||||
ldd [%sp + 0x7ff + 208],%f20
|
||||
ldd [%sp + 0x7ff + 216],%f22
|
||||
ldd [%sp + 0x7ff + 224],%f24
|
||||
ldd [%sp + 0x7ff + 232],%f26
|
||||
ldd [%sp + 0x7ff + 240],%f28
|
||||
ldd [%sp + 0x7ff + 248],%f30
|
||||
|
||||
!
|
||||
! calculate the target address from the vtable
|
||||
!
|
||||
.invoke:
|
||||
sll %i1,3,%l0 ! index *= 8
|
||||
! add %l0,16,%l0 ! there are 2 extra entries in the vTable (16bytes)
|
||||
ldx [%i0],%l1 ! *that --> address of vtable
|
||||
ldx [%l0 + %l1],%l0 ! that->vtable[index * 8 + 16] --> address
|
||||
|
||||
jmpl %l0,%o7 ! call the routine
|
||||
mov %i0,%o0 ! move 'this' pointer to out register
|
||||
|
||||
mov %o0,%i0 ! propagate return value
|
||||
ret
|
||||
restore
|
||||
|
||||
.size XPTC_InvokeByIndex, .-XPTC_InvokeByIndex
|
184
www/seamonkey/files/xptcinvoke_openbsd_alpha.cpp
Normal file
184
www/seamonkey/files/xptcinvoke_openbsd_alpha.cpp
Normal file
@ -0,0 +1,184 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/* Platform specific code to invoke XPCOM methods on native objects */
|
||||
|
||||
/* contributed by Glen Nakamura <glen.nakamura@usa.net> */
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
/* Prototype specifies unmangled function name and disables unused warning */
|
||||
static void
|
||||
invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
|
||||
__asm__("invoke_copy_to_stack") __attribute__((unused));
|
||||
|
||||
static void
|
||||
invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
|
||||
{
|
||||
const PRUint8 NUM_ARG_REGS = 6-1; // -1 for "this" pointer
|
||||
|
||||
for(PRUint32 i = 0; i < paramCount; i++, d++, s++)
|
||||
{
|
||||
if(s->IsPtrData())
|
||||
{
|
||||
*d = (PRUint64)s->ptr;
|
||||
continue;
|
||||
}
|
||||
switch(s->type)
|
||||
{
|
||||
case nsXPTType::T_I8 : *d = (PRUint64)s->val.i8; break;
|
||||
case nsXPTType::T_I16 : *d = (PRUint64)s->val.i16; break;
|
||||
case nsXPTType::T_I32 : *d = (PRUint64)s->val.i32; break;
|
||||
case nsXPTType::T_I64 : *d = (PRUint64)s->val.i64; break;
|
||||
case nsXPTType::T_U8 : *d = (PRUint64)s->val.u8; break;
|
||||
case nsXPTType::T_U16 : *d = (PRUint64)s->val.u16; break;
|
||||
case nsXPTType::T_U32 : *d = (PRUint64)s->val.u32; break;
|
||||
case nsXPTType::T_U64 : *d = (PRUint64)s->val.u64; break;
|
||||
case nsXPTType::T_FLOAT :
|
||||
if(i < NUM_ARG_REGS)
|
||||
{
|
||||
// convert floats to doubles if they are to be passed
|
||||
// via registers so we can just deal with doubles later
|
||||
union { PRUint64 u64; double d; } t;
|
||||
t.d = (double)s->val.f;
|
||||
*d = t.u64;
|
||||
}
|
||||
else
|
||||
// otherwise copy to stack normally
|
||||
*d = (PRUint64)s->val.u32;
|
||||
break;
|
||||
case nsXPTType::T_DOUBLE : *d = (PRUint64)s->val.u64; break;
|
||||
case nsXPTType::T_BOOL : *d = (PRUint64)s->val.b; break;
|
||||
case nsXPTType::T_CHAR : *d = (PRUint64)s->val.c; break;
|
||||
case nsXPTType::T_WCHAR : *d = (PRUint64)s->val.wc; break;
|
||||
default:
|
||||
// all the others are plain pointer types
|
||||
*d = (PRUint64)s->val.p;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* XPTC_PUBLIC_API(nsresult)
|
||||
* XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
|
||||
* PRUint32 paramCount, nsXPTCVariant* params, void* vt)
|
||||
*/
|
||||
__asm__(
|
||||
"#### XPTC_InvokeByIndex ####\n"
|
||||
".text\n\t"
|
||||
".align 5\n\t"
|
||||
".globl XPTC_InvokeByIndex\n\t"
|
||||
".ent XPTC_InvokeByIndex\n"
|
||||
"XPTC_InvokeByIndex:\n\t"
|
||||
".frame $15,32,$26,0\n\t"
|
||||
".mask 0x4008000,-32\n\t"
|
||||
"ldgp $29,0($27)\n"
|
||||
"$XPTC_InvokeByIndex..ng:\n\t"
|
||||
"subq $30,32,$30\n\t"
|
||||
"stq $26,0($30)\n\t"
|
||||
"stq $15,8($30)\n\t"
|
||||
"bis $30,$30,$15\n\t"
|
||||
".prologue 1\n\t"
|
||||
|
||||
/*
|
||||
* Allocate enough stack space to hold the greater of 6 or "paramCount"+1
|
||||
* parameters. (+1 for "this" pointer) Room for at least 6 parameters
|
||||
* is required for storage of those passed via registers.
|
||||
*/
|
||||
|
||||
"bis $31,5,$2\n\t" /* count = MAX(5, "paramCount") */
|
||||
"cmplt $2,$18,$1\n\t"
|
||||
"cmovne $1,$18,$2\n\t"
|
||||
"s8addq $2,16,$1\n\t" /* room for count+1 params (8 bytes each) */
|
||||
"bic $1,15,$1\n\t" /* stack space is rounded up to 0 % 16 */
|
||||
"subq $30,$1,$30\n\t"
|
||||
|
||||
"stq $16,0($30)\n\t" /* save "that" (as "this" pointer) */
|
||||
"stq $17,16($15)\n\t" /* save "methodIndex" */
|
||||
|
||||
"addq $30,8,$16\n\t" /* pass stack pointer */
|
||||
"bis $18,$18,$17\n\t" /* pass "paramCount" */
|
||||
"bis $19,$19,$18\n\t" /* pass "params" */
|
||||
"bsr $26,$invoke_copy_to_stack..ng\n\t" /* call invoke_copy_to_stack */
|
||||
|
||||
/*
|
||||
* Copy the first 6 parameters to registers and remove from stack frame.
|
||||
* Both the integer and floating point registers are set for each parameter
|
||||
* except the first which is the "this" pointer. (integer only)
|
||||
* The floating point registers are all set as doubles since the
|
||||
* invoke_copy_to_stack function should have converted the floats.
|
||||
*/
|
||||
"ldq $16,0($30)\n\t" /* integer registers */
|
||||
"ldq $17,8($30)\n\t"
|
||||
"ldq $18,16($30)\n\t"
|
||||
"ldq $19,24($30)\n\t"
|
||||
"ldq $20,32($30)\n\t"
|
||||
"ldq $21,40($30)\n\t"
|
||||
"ldt $f17,8($30)\n\t" /* floating point registers */
|
||||
"ldt $f18,16($30)\n\t"
|
||||
"ldt $f19,24($30)\n\t"
|
||||
"ldt $f20,32($30)\n\t"
|
||||
"ldt $f21,40($30)\n\t"
|
||||
|
||||
"addq $30,48,$30\n\t" /* remove params from stack */
|
||||
|
||||
/*
|
||||
* Call the virtual function with the constructed stack frame.
|
||||
*/
|
||||
"bis $16,$16,$1\n\t" /* load "this" */
|
||||
"ldq $2,16($15)\n\t" /* load "methodIndex" */
|
||||
"ldq $1,0($1)\n\t" /* load vtable */
|
||||
#if 0
|
||||
"s8addq $2,16,$2\n\t" /* vtable index = "methodIndex" * 8 + 16 */
|
||||
#else
|
||||
"mulq $2, 8, $2\n\t"
|
||||
"addq $2, 0, $2\n\t" /* vtable index = "methodIndex" * 16 + 24 */
|
||||
#endif
|
||||
"addq $1,$2,$1\n\t"
|
||||
"ldq $27,0($1)\n\t" /* load address of function */
|
||||
"jsr $26,($27),0\n\t" /* call virtual function */
|
||||
"ldgp $29,0($26)\n\t"
|
||||
|
||||
"bis $15,$15,$30\n\t"
|
||||
"ldq $26,0($30)\n\t"
|
||||
"ldq $15,8($30)\n\t"
|
||||
"addq $30,32,$30\n\t"
|
||||
"ret $31,($26),1\n\t"
|
||||
".end XPTC_InvokeByIndex"
|
||||
);
|
||||
|
174
www/seamonkey/files/xptcinvoke_openbsd_amd64.cpp
Normal file
174
www/seamonkey/files/xptcinvoke_openbsd_amd64.cpp
Normal file
@ -0,0 +1,174 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
// Platform specific code to invoke XPCOM methods on native objects
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
// 6 integral parameters are passed in registers
|
||||
const PRUint32 GPR_COUNT = 6;
|
||||
|
||||
// 8 floating point parameters are passed in SSE registers
|
||||
const PRUint32 FPR_COUNT = 8;
|
||||
|
||||
// Remember that these 'words' are 64-bit long
|
||||
static inline void
|
||||
invoke_count_words(PRUint32 paramCount, nsXPTCVariant * s,
|
||||
PRUint32 & nr_gpr, PRUint32 & nr_fpr, PRUint32 & nr_stack)
|
||||
{
|
||||
nr_gpr = 1; // skip one GP register for 'that'
|
||||
nr_fpr = 0;
|
||||
nr_stack = 0;
|
||||
|
||||
/* Compute number of eightbytes of class MEMORY. */
|
||||
for (uint32 i = 0; i < paramCount; i++, s++) {
|
||||
if (!s->IsPtrData()
|
||||
&& (s->type == nsXPTType::T_FLOAT || s->type == nsXPTType::T_DOUBLE)) {
|
||||
if (nr_fpr < FPR_COUNT)
|
||||
nr_fpr++;
|
||||
else
|
||||
nr_stack++;
|
||||
}
|
||||
else {
|
||||
if (nr_gpr < GPR_COUNT)
|
||||
nr_gpr++;
|
||||
else
|
||||
nr_stack++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
invoke_copy_to_stack(PRUint64 * d, PRUint32 paramCount, nsXPTCVariant * s,
|
||||
PRUint64 * gpregs, double * fpregs)
|
||||
{
|
||||
PRUint32 nr_gpr = 1; // skip one GP register for 'that'
|
||||
PRUint32 nr_fpr = 0;
|
||||
PRUint64 value;
|
||||
|
||||
for (uint32 i = 0; i < paramCount; i++, s++) {
|
||||
if (s->IsPtrData())
|
||||
value = (PRUint64) s->ptr;
|
||||
else {
|
||||
switch (s->type) {
|
||||
case nsXPTType::T_FLOAT: break;
|
||||
case nsXPTType::T_DOUBLE: break;
|
||||
case nsXPTType::T_I8: value = s->val.i8; break;
|
||||
case nsXPTType::T_I16: value = s->val.i16; break;
|
||||
case nsXPTType::T_I32: value = s->val.i32; break;
|
||||
case nsXPTType::T_I64: value = s->val.i64; break;
|
||||
case nsXPTType::T_U8: value = s->val.u8; break;
|
||||
case nsXPTType::T_U16: value = s->val.u16; break;
|
||||
case nsXPTType::T_U32: value = s->val.u32; break;
|
||||
case nsXPTType::T_U64: value = s->val.u64; break;
|
||||
case nsXPTType::T_BOOL: value = s->val.b; break;
|
||||
case nsXPTType::T_CHAR: value = s->val.c; break;
|
||||
case nsXPTType::T_WCHAR: value = s->val.wc; break;
|
||||
default: value = (PRUint64) s->val.p; break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) {
|
||||
if (nr_fpr < FPR_COUNT)
|
||||
fpregs[nr_fpr++] = s->val.d;
|
||||
else {
|
||||
*((double *)d) = s->val.d;
|
||||
d++;
|
||||
}
|
||||
}
|
||||
else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
|
||||
if (nr_fpr < FPR_COUNT)
|
||||
// The value in %xmm register is already prepared to
|
||||
// be retrieved as a float. Therefore, we pass the
|
||||
// value verbatim, as a double without conversion.
|
||||
fpregs[nr_fpr++] = s->val.d;
|
||||
else {
|
||||
*((float *)d) = s->val.f;
|
||||
d++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (nr_gpr < GPR_COUNT)
|
||||
gpregs[nr_gpr++] = value;
|
||||
else
|
||||
*d++ = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extern "C"
|
||||
XPTC_PUBLIC_API(nsresult)
|
||||
XPTC_InvokeByIndex(nsISupports * that, PRUint32 methodIndex,
|
||||
PRUint32 paramCount, nsXPTCVariant * params)
|
||||
{
|
||||
PRUint32 nr_gpr, nr_fpr, nr_stack;
|
||||
invoke_count_words(paramCount, params, nr_gpr, nr_fpr, nr_stack);
|
||||
|
||||
// Stack, if used, must be 16-bytes aligned
|
||||
if (nr_stack)
|
||||
nr_stack = (nr_stack + 1) & ~1;
|
||||
|
||||
// Load parameters to stack, if necessary
|
||||
PRUint64 *stack = (PRUint64 *) __builtin_alloca(nr_stack * 8);
|
||||
PRUint64 gpregs[GPR_COUNT];
|
||||
double fpregs[FPR_COUNT];
|
||||
invoke_copy_to_stack(stack, paramCount, params, gpregs, fpregs);
|
||||
|
||||
// Load FPR registers from fpregs[]
|
||||
register double d0 asm("xmm0");
|
||||
register double d1 asm("xmm1");
|
||||
register double d2 asm("xmm2");
|
||||
register double d3 asm("xmm3");
|
||||
register double d4 asm("xmm4");
|
||||
register double d5 asm("xmm5");
|
||||
register double d6 asm("xmm6");
|
||||
register double d7 asm("xmm7");
|
||||
|
||||
switch (nr_fpr) {
|
||||
#define ARG_FPR(N) \
|
||||
case N+1: d##N = fpregs[N];
|
||||
ARG_FPR(7);
|
||||
ARG_FPR(6);
|
||||
ARG_FPR(5);
|
||||
ARG_FPR(4);
|
||||
ARG_FPR(3);
|
||||
ARG_FPR(2);
|
||||
ARG_FPR(1);
|
||||
ARG_FPR(0);
|
||||
case 0:;
|
||||
#undef ARG_FPR
|
||||
}
|
||||
|
||||
// Load GPR registers from gpregs[]
|
||||
register PRUint64 a0 asm("rdi");
|
||||
register PRUint64 a1 asm("rsi");
|
||||
register PRUint64 a2 asm("rdx");
|
||||
register PRUint64 a3 asm("rcx");
|
||||
register PRUint64 a4 asm("r8");
|
||||
register PRUint64 a5 asm("r9");
|
||||
|
||||
switch (nr_gpr) {
|
||||
#define ARG_GPR(N) \
|
||||
case N+1: a##N = gpregs[N];
|
||||
ARG_GPR(5);
|
||||
ARG_GPR(4);
|
||||
ARG_GPR(3);
|
||||
ARG_GPR(2);
|
||||
ARG_GPR(1);
|
||||
case 1: a0 = (PRUint64) that;
|
||||
case 0:;
|
||||
#undef ARG_GPR
|
||||
}
|
||||
|
||||
// Ensure that assignments to SSE registers won't be optimized away
|
||||
asm("" ::
|
||||
"x" (d0), "x" (d1), "x" (d2), "x" (d3),
|
||||
"x" (d4), "x" (d5), "x" (d6), "x" (d7));
|
||||
|
||||
// Get pointer to method
|
||||
PRUint64 methodAddress = *((PRUint64 *)that);
|
||||
methodAddress += 8 * methodIndex;
|
||||
methodAddress = *((PRUint64 *)methodAddress);
|
||||
|
||||
typedef PRUint32 (*Method)(PRUint64, PRUint64, PRUint64, PRUint64, PRUint64, PRUint64);
|
||||
PRUint32 result = ((Method)methodAddress)(a0, a1, a2, a3, a4, a5);
|
||||
return result;
|
||||
}
|
141
www/seamonkey/files/xptcinvoke_ppc_openbsd.cpp
Normal file
141
www/seamonkey/files/xptcinvoke_ppc_openbsd.cpp
Normal file
@ -0,0 +1,141 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1998
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
|
||||
* beard@netscape.com (Patrick Beard)
|
||||
* waterson@netscape.com (Chris Waterson)
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// Platform specific code to invoke XPCOM methods on native objects
|
||||
|
||||
// The purpose of XPTC_InvokeByIndex() is to map a platform
|
||||
// indepenpent call to the platform ABI. To do that,
|
||||
// XPTC_InvokeByIndex() has to determine the method to call via vtable
|
||||
// access. The parameters for the method are read from the
|
||||
// nsXPTCVariant* and prepared for th native ABI. For the Linux/PPC
|
||||
// ABI this means that the first 8 integral and floating point
|
||||
// parameters are passed in registers.
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
// 8 integral parameters are passed in registers
|
||||
#define GPR_COUNT 8
|
||||
|
||||
// 8 floating point parameters are passed in registers, floats are
|
||||
// promoted to doubles when passed in registers
|
||||
#define FPR_COUNT 8
|
||||
|
||||
extern "C" PRUint32
|
||||
invoke_count_words(PRUint32 paramCount, nsXPTCVariant* s)
|
||||
{
|
||||
return PRUint32(((paramCount * 2) + 3) & ~3);
|
||||
}
|
||||
|
||||
extern "C" void
|
||||
invoke_copy_to_stack(PRUint32* d,
|
||||
PRUint32 paramCount,
|
||||
nsXPTCVariant* s,
|
||||
PRUint32* gpregs,
|
||||
double* fpregs)
|
||||
{
|
||||
PRUint32 gpr = 1; // skip one GP reg for 'that'
|
||||
PRUint32 fpr = 0;
|
||||
PRUint32 tempu32;
|
||||
PRUint64 tempu64;
|
||||
|
||||
for(uint32 i = 0; i < paramCount; i++, s++) {
|
||||
if(s->IsPtrData())
|
||||
tempu32 = (PRUint32) s->ptr;
|
||||
else {
|
||||
switch(s->type) {
|
||||
case nsXPTType::T_FLOAT: break;
|
||||
case nsXPTType::T_DOUBLE: break;
|
||||
case nsXPTType::T_I8: tempu32 = s->val.i8; break;
|
||||
case nsXPTType::T_I16: tempu32 = s->val.i16; break;
|
||||
case nsXPTType::T_I32: tempu32 = s->val.i32; break;
|
||||
case nsXPTType::T_I64: tempu64 = s->val.i64; break;
|
||||
case nsXPTType::T_U8: tempu32 = s->val.u8; break;
|
||||
case nsXPTType::T_U16: tempu32 = s->val.u16; break;
|
||||
case nsXPTType::T_U32: tempu32 = s->val.u32; break;
|
||||
case nsXPTType::T_U64: tempu64 = s->val.u64; break;
|
||||
case nsXPTType::T_BOOL: tempu32 = s->val.b; break;
|
||||
case nsXPTType::T_CHAR: tempu32 = s->val.c; break;
|
||||
case nsXPTType::T_WCHAR: tempu32 = s->val.wc; break;
|
||||
default: tempu32 = (PRUint32) s->val.p; break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!s->IsPtrData() && s->type == nsXPTType::T_DOUBLE) {
|
||||
if (fpr < FPR_COUNT)
|
||||
fpregs[fpr++] = s->val.d;
|
||||
else {
|
||||
if ((PRUint32) d & 4) d++; // doubles are 8-byte aligned on stack
|
||||
*((double*) d) = s->val.d;
|
||||
d += 2;
|
||||
}
|
||||
}
|
||||
else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
|
||||
if (fpr < FPR_COUNT)
|
||||
fpregs[fpr++] = s->val.f; // if passed in registers, floats are promoted to doubles
|
||||
else
|
||||
*((float*) d++) = s->val.f;
|
||||
}
|
||||
else if (!s->IsPtrData() && (s->type == nsXPTType::T_I64
|
||||
|| s->type == nsXPTType::T_U64)) {
|
||||
if ((gpr + 1) < GPR_COUNT) {
|
||||
if (gpr & 1) gpr++; // longlongs are aligned in odd/even register pairs, eg. r5/r6
|
||||
*((PRUint64*) &gpregs[gpr]) = tempu64;
|
||||
gpr += 2;
|
||||
}
|
||||
else {
|
||||
if ((PRUint32) d & 4) d++; // longlongs are 8-byte aligned on stack
|
||||
*((PRUint64*) d) = tempu64;
|
||||
d += 2;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (gpr < GPR_COUNT)
|
||||
gpregs[gpr++] = tempu32;
|
||||
else
|
||||
*d++ = tempu32;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
extern "C"
|
||||
XPTC_PUBLIC_API(nsresult)
|
||||
XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
|
||||
PRUint32 paramCount, nsXPTCVariant* params);
|
87
www/seamonkey/files/xptcinvoke_sparc64_openbsd.cpp
Normal file
87
www/seamonkey/files/xptcinvoke_sparc64_openbsd.cpp
Normal file
@ -0,0 +1,87 @@
|
||||
/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 2001 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Stuart Parmenter <pavlov@netscape.com>
|
||||
* Chris Seawood <cls@seawood.org>
|
||||
*/
|
||||
|
||||
|
||||
/* Platform specific code to invoke XPCOM methods on native objects */
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
#if !defined(__sparc) && !defined(__sparc__)
|
||||
#error "This code is for Sparc only"
|
||||
#endif
|
||||
|
||||
extern "C" PRUint64
|
||||
invoke_copy_to_stack(PRUint64* d, PRUint32 paramCount, nsXPTCVariant* s)
|
||||
{
|
||||
/*
|
||||
We need to copy the parameters for this function to locals and use them
|
||||
from there since the parameters occupy the same stack space as the stack
|
||||
we're trying to populate.
|
||||
*/
|
||||
PRUint64 *l_d = d;
|
||||
nsXPTCVariant *l_s = s;
|
||||
PRUint64 l_paramCount = paramCount;
|
||||
PRUint64 regCount = 0; // return the number of registers to load from the stack
|
||||
|
||||
for(PRUint64 i = 0; i < l_paramCount; i++, l_d++, l_s++)
|
||||
{
|
||||
if (regCount < 5) regCount++;
|
||||
|
||||
if (l_s->IsPtrData())
|
||||
{
|
||||
*l_d = (PRUint64)l_s->ptr;
|
||||
continue;
|
||||
}
|
||||
switch (l_s->type)
|
||||
{
|
||||
case nsXPTType::T_I8 : *((PRInt64*)l_d) = l_s->val.i8; break;
|
||||
case nsXPTType::T_I16 : *((PRInt64*)l_d) = l_s->val.i16; break;
|
||||
case nsXPTType::T_I32 : *((PRInt64*)l_d) = l_s->val.i32; break;
|
||||
case nsXPTType::T_I64 : *((PRInt64*)l_d) = l_s->val.i64; break;
|
||||
|
||||
case nsXPTType::T_U8 : *((PRUint64*)l_d) = l_s->val.u8; break;
|
||||
case nsXPTType::T_U16 : *((PRUint64*)l_d) = l_s->val.u16; break;
|
||||
case nsXPTType::T_U32 : *((PRUint64*)l_d) = l_s->val.u32; break;
|
||||
case nsXPTType::T_U64 : *((PRUint64*)l_d) = l_s->val.u64; break;
|
||||
|
||||
/* in the case of floats, we want to put the bits in to the
|
||||
64bit space right justified... floats in the paramter array on
|
||||
sparcv9 use odd numbered registers.. %f1, %f3, so we have to skip
|
||||
the space that would be occupied by %f0, %f2, etc.
|
||||
*/
|
||||
case nsXPTType::T_FLOAT : *(((float*)l_d) + 1) = l_s->val.f; break;
|
||||
case nsXPTType::T_DOUBLE: *((double*)l_d) = l_s->val.d; break;
|
||||
case nsXPTType::T_BOOL : *((PRInt64*)l_d) = l_s->val.b; break;
|
||||
case nsXPTType::T_CHAR : *((PRUint64*)l_d) = l_s->val.c; break;
|
||||
case nsXPTType::T_WCHAR : *((PRInt64*)l_d) = l_s->val.wc; break;
|
||||
|
||||
default:
|
||||
// all the others are plain pointer types
|
||||
*((void**)l_d) = l_s->val.p;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return regCount;
|
||||
}
|
89
www/seamonkey/files/xptcstubs_asm_ppc_openbsd.s
Normal file
89
www/seamonkey/files/xptcstubs_asm_ppc_openbsd.s
Normal file
@ -0,0 +1,89 @@
|
||||
# -*- Mode: Asm -*-
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public
|
||||
# License Version 1.1 (the "License"); you may not use this file
|
||||
# except in compliance with the License. You may obtain a copy of
|
||||
# the License at http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS
|
||||
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
# implied. See the License for the specific language governing
|
||||
# rights and limitations under the License.
|
||||
#
|
||||
# The Original Code is mozilla.org code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1999 Netscape Communications Corporation. All
|
||||
# Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
|
||||
# beard@netscape.com (Patrick Beard)
|
||||
# waterson@netscape.com (Chris Waterson)
|
||||
#
|
||||
|
||||
.set r0,0; .set sp,1; .set RTOC,2; .set r3,3; .set r4,4
|
||||
.set r5,5; .set r6,6; .set r7,7; .set r8,8; .set r9,9
|
||||
.set r10,10; .set r11,11; .set r12,12; .set r13,13; .set r14,14
|
||||
.set r15,15; .set r16,16; .set r17,17; .set r18,18; .set r19,19
|
||||
.set r20,20; .set r21,21; .set r22,22; .set r23,23; .set r24,24
|
||||
.set r25,25; .set r26,26; .set r27,27; .set r28,28; .set r29,29
|
||||
.set r30,30; .set r31,31
|
||||
.set f0,0; .set f1,1; .set f2,2; .set f3,3; .set f4,4
|
||||
.set f5,5; .set f6,6; .set f7,7; .set f8,8; .set f9,9
|
||||
.set f10,10; .set f11,11; .set f12,12; .set f13,13; .set f14,14
|
||||
.set f15,15; .set f16,16; .set f17,17; .set f18,18; .set f19,19
|
||||
.set f20,20; .set f21,21; .set f22,22; .set f23,23; .set f24,24
|
||||
.set f25,25; .set f26,26; .set f27,27; .set f28,28; .set f29,29
|
||||
.set f30,30; .set f31,31
|
||||
|
||||
.section ".text"
|
||||
.align 2
|
||||
.globl SharedStub
|
||||
.type SharedStub,@function
|
||||
|
||||
SharedStub:
|
||||
stwu sp,-112(sp) # room for
|
||||
# linkage (8),
|
||||
# gprData (32),
|
||||
# fprData (64),
|
||||
# stack alignment(8)
|
||||
mflr r0
|
||||
stw r0,116(sp) # save LR backchain
|
||||
|
||||
stw r4,12(sp) # save GP registers
|
||||
stw r5,16(sp) # (n.b. that we don't save r3
|
||||
stw r6,20(sp) # because PrepareAndDispatch() is savvy)
|
||||
stw r7,24(sp)
|
||||
stw r8,28(sp)
|
||||
stw r9,32(sp)
|
||||
stw r10,36(sp)
|
||||
|
||||
stfd f1,40(sp) # save FP registers
|
||||
stfd f2,48(sp)
|
||||
stfd f3,56(sp)
|
||||
stfd f4,64(sp)
|
||||
stfd f5,72(sp)
|
||||
stfd f6,80(sp)
|
||||
stfd f7,88(sp)
|
||||
stfd f8,96(sp)
|
||||
|
||||
# r3 has the 'self' pointer already
|
||||
|
||||
mr r4,r11 # r4 <= methodIndex selector, passed
|
||||
# via r11 in the nsXPTCStubBase::StubXX() call
|
||||
|
||||
addi r5,sp,120 # r5 <= pointer to callers args area,
|
||||
# beyond r3-r10/f1-f8 mapped range
|
||||
|
||||
addi r6,sp,8 # r6 <= gprData
|
||||
addi r7,sp,40 # r7 <= fprData
|
||||
|
||||
bl PrepareAndDispatch@local # Go!
|
||||
|
||||
lwz r0,116(sp) # restore LR
|
||||
mtlr r0
|
||||
la sp,112(sp) # clean up the stack
|
||||
blr
|
||||
|
269
www/seamonkey/files/xptcstubs_openbsd_alpha.cpp
Normal file
269
www/seamonkey/files/xptcstubs_openbsd_alpha.cpp
Normal file
@ -0,0 +1,269 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1999
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
/* Implement shared vtbl methods. */
|
||||
|
||||
/* contributed by Glen Nakamura <glen.nakamura@usa.net> */
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <machine/cpu.h>
|
||||
#include "xptcprivate.h"
|
||||
|
||||
/* Prototype specifies unmangled function name and disables unused warning */
|
||||
static nsresult
|
||||
PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint64* args)
|
||||
__asm__("PrepareAndDispatch") __attribute__((unused));
|
||||
|
||||
static nsresult
|
||||
PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint64* args)
|
||||
{
|
||||
const PRUint8 PARAM_BUFFER_COUNT = 16;
|
||||
const PRUint8 NUM_ARG_REGS = 6-1; // -1 for "this" pointer
|
||||
|
||||
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
|
||||
nsXPTCMiniVariant* dispatchParams = NULL;
|
||||
nsIInterfaceInfo* iface_info = NULL;
|
||||
const nsXPTMethodInfo* info;
|
||||
PRUint8 paramCount;
|
||||
PRUint8 i;
|
||||
nsresult result = NS_ERROR_FAILURE;
|
||||
|
||||
NS_ASSERTION(self,"no self");
|
||||
|
||||
self->GetInterfaceInfo(&iface_info);
|
||||
NS_ASSERTION(iface_info,"no interface info");
|
||||
|
||||
iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
|
||||
NS_ASSERTION(info,"no interface info");
|
||||
|
||||
paramCount = info->GetParamCount();
|
||||
|
||||
// setup variant array pointer
|
||||
if(paramCount > PARAM_BUFFER_COUNT)
|
||||
dispatchParams = new nsXPTCMiniVariant[paramCount];
|
||||
else
|
||||
dispatchParams = paramBuffer;
|
||||
NS_ASSERTION(dispatchParams,"no place for params");
|
||||
|
||||
// args[0] to args[NUM_ARG_REGS] hold floating point register values
|
||||
PRUint64* ap = args + NUM_ARG_REGS;
|
||||
for(i = 0; i < paramCount; i++, ap++)
|
||||
{
|
||||
const nsXPTParamInfo& param = info->GetParam(i);
|
||||
const nsXPTType& type = param.GetType();
|
||||
nsXPTCMiniVariant* dp = &dispatchParams[i];
|
||||
|
||||
if(param.IsOut() || !type.IsArithmetic())
|
||||
{
|
||||
dp->val.p = (void*) *ap;
|
||||
continue;
|
||||
}
|
||||
// else
|
||||
switch(type)
|
||||
{
|
||||
case nsXPTType::T_I8 : dp->val.i8 = (PRInt8) *ap; break;
|
||||
case nsXPTType::T_I16 : dp->val.i16 = (PRInt16) *ap; break;
|
||||
case nsXPTType::T_I32 : dp->val.i32 = (PRInt32) *ap; break;
|
||||
case nsXPTType::T_I64 : dp->val.i64 = (PRInt64) *ap; break;
|
||||
case nsXPTType::T_U8 : dp->val.u8 = (PRUint8) *ap; break;
|
||||
case nsXPTType::T_U16 : dp->val.u16 = (PRUint16) *ap; break;
|
||||
case nsXPTType::T_U32 : dp->val.u32 = (PRUint32) *ap; break;
|
||||
case nsXPTType::T_U64 : dp->val.u64 = (PRUint64) *ap; break;
|
||||
case nsXPTType::T_FLOAT :
|
||||
if(i < NUM_ARG_REGS)
|
||||
{
|
||||
// floats passed via registers are stored as doubles
|
||||
// in the first NUM_ARG_REGS entries in args
|
||||
dp->val.u64 = (PRUint64) args[i];
|
||||
dp->val.f = (float) dp->val.d; // convert double to float
|
||||
}
|
||||
else
|
||||
dp->val.u32 = (PRUint32) *ap;
|
||||
break;
|
||||
case nsXPTType::T_DOUBLE :
|
||||
// doubles passed via registers are also stored
|
||||
// in the first NUM_ARG_REGS entries in args
|
||||
dp->val.u64 = (i < NUM_ARG_REGS) ? args[i] : *ap;
|
||||
break;
|
||||
case nsXPTType::T_BOOL : dp->val.b = (PRBool) *ap; break;
|
||||
case nsXPTType::T_CHAR : dp->val.c = (char) *ap; break;
|
||||
case nsXPTType::T_WCHAR : dp->val.wc = (PRUnichar) *ap; break;
|
||||
default:
|
||||
NS_ASSERTION(0, "bad type");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams);
|
||||
|
||||
NS_RELEASE(iface_info);
|
||||
|
||||
if(dispatchParams != paramBuffer)
|
||||
delete [] dispatchParams;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/*
|
||||
* SharedStub()
|
||||
* Collects arguments and calls PrepareAndDispatch. The "methodIndex" is
|
||||
* passed to this function via $1 to preserve the argument registers.
|
||||
*/
|
||||
__asm__(
|
||||
"#### SharedStub ####\n"
|
||||
".text\n\t"
|
||||
".align 5\n\t"
|
||||
".ent SharedStub\n"
|
||||
"SharedStub:\n\t"
|
||||
".frame $30,96,$26,0\n\t"
|
||||
".mask 0x4000000,-96\n\t"
|
||||
"ldgp $29,0($27)\n"
|
||||
"$SharedStub..ng:\n\t"
|
||||
"subq $30,96,$30\n\t"
|
||||
"stq $26,0($30)\n\t"
|
||||
".prologue 1\n\t"
|
||||
|
||||
/*
|
||||
* Store arguments passed via registers to the stack.
|
||||
* Floating point registers are stored as doubles and converted
|
||||
* to floats in PrepareAndDispatch if necessary.
|
||||
*/
|
||||
"stt $f17,16($30)\n\t" /* floating point registers */
|
||||
"stt $f18,24($30)\n\t"
|
||||
"stt $f19,32($30)\n\t"
|
||||
"stt $f20,40($30)\n\t"
|
||||
"stt $f21,48($30)\n\t"
|
||||
"stq $17,56($30)\n\t" /* integer registers */
|
||||
"stq $18,64($30)\n\t"
|
||||
"stq $19,72($30)\n\t"
|
||||
"stq $20,80($30)\n\t"
|
||||
"stq $21,88($30)\n\t"
|
||||
|
||||
/*
|
||||
* Call PrepareAndDispatch function.
|
||||
*/
|
||||
"bis $1,$1,$17\n\t" /* pass "methodIndex" */
|
||||
"addq $30,16,$18\n\t" /* pass "args" */
|
||||
"bsr $26,$PrepareAndDispatch..ng\n\t"
|
||||
|
||||
"ldq $26,0($30)\n\t"
|
||||
"addq $30,96,$30\n\t"
|
||||
"ret $31,($26),1\n\t"
|
||||
".end SharedStub"
|
||||
);
|
||||
|
||||
#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
|
||||
/*
|
||||
* nsresult nsXPTCStubBase::Stub##n()
|
||||
* Sets register $1 to "methodIndex" and jumps to SharedStub.
|
||||
*/
|
||||
#define STUB_ENTRY(n) \
|
||||
__asm__( \
|
||||
"#### Stub"#n" ####\n" \
|
||||
".text\n\t" \
|
||||
".align 5\n\t" \
|
||||
".globl _ZN14nsXPTCStubBase5Stub"#n"Ev\n\t" \
|
||||
".ent _ZN14nsXPTCStubBase5Stub"#n"Ev\n" \
|
||||
"_ZN14nsXPTCStubBase5Stub"#n"Ev:\n\t" \
|
||||
".frame $30,0,$26,0\n\t" \
|
||||
"ldgp $29,0($27)\n" \
|
||||
"$_ZN14nsXPTCStubBase5Stub"#n"Ev..ng:\n\t" \
|
||||
".prologue 1\n\t" \
|
||||
"lda $1,"#n"\n\t" \
|
||||
"br $31,$SharedStub..ng\n\t" \
|
||||
".end _ZN14nsXPTCStubBase5Stub"#n"Ev" \
|
||||
); \
|
||||
__asm__( \
|
||||
"#### Stub"#n" ####\n" \
|
||||
".text\n\t" \
|
||||
".align 5\n\t" \
|
||||
".globl _ZN14nsXPTCStubBase6Stub"#n"Ev\n\t" \
|
||||
".ent _ZN14nsXPTCStubBase6Stub"#n"Ev\n" \
|
||||
"_ZN14nsXPTCStubBase6Stub"#n"Ev:\n\t" \
|
||||
".frame $30,0,$26,0\n\t" \
|
||||
"ldgp $29,0($27)\n" \
|
||||
"$_ZN14nsXPTCStubBase6Stub"#n"Ev..ng:\n\t" \
|
||||
".prologue 1\n\t" \
|
||||
"lda $1,"#n"\n\t" \
|
||||
"br $31,$SharedStub..ng\n\t" \
|
||||
".end _ZN14nsXPTCStubBase6Stub"#n"Ev" \
|
||||
); \
|
||||
__asm__( \
|
||||
"#### Stub"#n" ####\n" \
|
||||
".text\n\t" \
|
||||
".align 5\n\t" \
|
||||
".globl _ZN14nsXPTCStubBase7Stub"#n"Ev\n\t" \
|
||||
".ent _ZN14nsXPTCStubBase7Stub"#n"Ev\n" \
|
||||
"_ZN14nsXPTCStubBase7Stub"#n"Ev:\n\t" \
|
||||
".frame $30,0,$26,0\n\t" \
|
||||
"ldgp $29,0($27)\n" \
|
||||
"$_ZN14nsXPTCStubBase7Stub"#n"Ev..ng:\n\t" \
|
||||
".prologue 1\n\t" \
|
||||
"lda $1,"#n"\n\t" \
|
||||
"br $31,$SharedStub..ng\n\t" \
|
||||
".end _ZN14nsXPTCStubBase7Stub"#n"Ev" \
|
||||
);
|
||||
#else
|
||||
/*
|
||||
* nsresult nsXPTCStubBase::Stub##n()
|
||||
* Sets register $1 to "methodIndex" and jumps to SharedStub.
|
||||
*/
|
||||
#define STUB_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Stub##n() \
|
||||
{ \
|
||||
nsresult result; \
|
||||
__asm__ __volatile__( \
|
||||
"ldah $29,0($27)\n\t" \
|
||||
"lda $29,0($29)\n\t" \
|
||||
"lda $1, "#n"\n\t" \
|
||||
"br $31, $SharedStub..ng\n\t" \
|
||||
"mov $0, %0\n\t" \
|
||||
: "=r" (result) \
|
||||
); \
|
||||
return result; \
|
||||
}
|
||||
#endif
|
||||
|
||||
#define SENTINEL_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Sentinel##n() \
|
||||
{ \
|
||||
NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
|
||||
return NS_ERROR_NOT_IMPLEMENTED; \
|
||||
}
|
||||
|
||||
#include "xptcstubsdef.inc"
|
||||
|
206
www/seamonkey/files/xptcstubs_openbsd_amd64.cpp
Normal file
206
www/seamonkey/files/xptcstubs_openbsd_amd64.cpp
Normal file
@ -0,0 +1,206 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
|
||||
// Implement shared vtbl methods.
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
// The Linux/x86-64 ABI passes the first 6 integral parameters and the
|
||||
// first 8 floating point parameters in registers (rdi, rsi, rdx, rcx,
|
||||
// r8, r9 and xmm0-xmm7), no stack space is allocated for these by the
|
||||
// caller. The rest of the parameters are passed in the callers stack
|
||||
// area.
|
||||
|
||||
const PRUint32 PARAM_BUFFER_COUNT = 16;
|
||||
const PRUint32 GPR_COUNT = 6;
|
||||
const PRUint32 FPR_COUNT = 8;
|
||||
|
||||
// PrepareAndDispatch() is called by SharedStub() and calls the actual method.
|
||||
//
|
||||
// - 'args[]' contains the arguments passed on stack
|
||||
// - 'gpregs[]' contains the arguments passed in integer registers
|
||||
// - 'fpregs[]' contains the arguments passed in floating point registers
|
||||
//
|
||||
// The parameters are mapped into an array of type 'nsXPTCMiniVariant'
|
||||
// and then the method gets called.
|
||||
|
||||
extern "C" nsresult
|
||||
PrepareAndDispatch(nsXPTCStubBase * self, PRUint32 methodIndex,
|
||||
PRUint64 * args, PRUint64 * gpregs, double *fpregs)
|
||||
{
|
||||
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
|
||||
nsXPTCMiniVariant* dispatchParams = NULL;
|
||||
nsIInterfaceInfo* iface_info = NULL;
|
||||
const nsXPTMethodInfo* info;
|
||||
PRUint32 paramCount;
|
||||
PRUint32 i;
|
||||
nsresult result = NS_ERROR_FAILURE;
|
||||
|
||||
NS_ASSERTION(self,"no self");
|
||||
|
||||
self->GetInterfaceInfo(&iface_info);
|
||||
NS_ASSERTION(iface_info,"no interface info");
|
||||
if (! iface_info)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
|
||||
iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
|
||||
NS_ASSERTION(info,"no method info");
|
||||
if (! info)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
|
||||
paramCount = info->GetParamCount();
|
||||
|
||||
// setup variant array pointer
|
||||
if(paramCount > PARAM_BUFFER_COUNT)
|
||||
dispatchParams = new nsXPTCMiniVariant[paramCount];
|
||||
else
|
||||
dispatchParams = paramBuffer;
|
||||
|
||||
NS_ASSERTION(dispatchParams,"no place for params");
|
||||
if (! dispatchParams)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
PRUint64* ap = args;
|
||||
PRUint32 nr_gpr = 1; // skip one GPR register for 'that'
|
||||
PRUint32 nr_fpr = 0;
|
||||
PRUint64 value;
|
||||
|
||||
for(i = 0; i < paramCount; i++) {
|
||||
const nsXPTParamInfo& param = info->GetParam(i);
|
||||
const nsXPTType& type = param.GetType();
|
||||
nsXPTCMiniVariant* dp = &dispatchParams[i];
|
||||
|
||||
if (!param.IsOut() && type == nsXPTType::T_DOUBLE) {
|
||||
if (nr_fpr < FPR_COUNT)
|
||||
dp->val.d = fpregs[nr_fpr++];
|
||||
else
|
||||
dp->val.d = *(double*) ap++;
|
||||
continue;
|
||||
}
|
||||
else if (!param.IsOut() && type == nsXPTType::T_FLOAT) {
|
||||
if (nr_fpr < FPR_COUNT)
|
||||
// The value in %xmm register is already prepared to
|
||||
// be retrieved as a float. Therefore, we pass the
|
||||
// value verbatim, as a double without conversion.
|
||||
dp->val.d = *(double*) ap++;
|
||||
else
|
||||
dp->val.f = *(float*) ap++;
|
||||
continue;
|
||||
}
|
||||
else {
|
||||
if (nr_gpr < GPR_COUNT)
|
||||
value = gpregs[nr_gpr++];
|
||||
else
|
||||
value = *ap++;
|
||||
}
|
||||
|
||||
if (param.IsOut() || !type.IsArithmetic()) {
|
||||
dp->val.p = (void*) value;
|
||||
continue;
|
||||
}
|
||||
|
||||
switch (type) {
|
||||
case nsXPTType::T_I8: dp->val.i8 = (PRInt8) value; break;
|
||||
case nsXPTType::T_I16: dp->val.i16 = (PRInt16) value; break;
|
||||
case nsXPTType::T_I32: dp->val.i32 = (PRInt32) value; break;
|
||||
case nsXPTType::T_I64: dp->val.i64 = (PRInt64) value; break;
|
||||
case nsXPTType::T_U8: dp->val.u8 = (PRUint8) value; break;
|
||||
case nsXPTType::T_U16: dp->val.u16 = (PRUint16) value; break;
|
||||
case nsXPTType::T_U32: dp->val.u32 = (PRUint32) value; break;
|
||||
case nsXPTType::T_U64: dp->val.u64 = (PRUint64) value; break;
|
||||
case nsXPTType::T_BOOL: dp->val.b = (PRBool) value; break;
|
||||
case nsXPTType::T_CHAR: dp->val.c = (char) value; break;
|
||||
case nsXPTType::T_WCHAR: dp->val.wc = (wchar_t) value; break;
|
||||
|
||||
default:
|
||||
NS_ASSERTION(0, "bad type");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result = self->CallMethod((PRUint16) methodIndex, info, dispatchParams);
|
||||
|
||||
NS_RELEASE(iface_info);
|
||||
|
||||
if (dispatchParams != paramBuffer)
|
||||
delete [] dispatchParams;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
|
||||
// Linux/x86-64 uses gcc >= 3.1
|
||||
#define STUB_ENTRY(n) \
|
||||
asm(".section \".text\"\n\t" \
|
||||
".align 2\n\t" \
|
||||
".if " #n " < 10\n\t" \
|
||||
".globl _ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \
|
||||
".type _ZN14nsXPTCStubBase5Stub" #n "Ev,@function\n" \
|
||||
"_ZN14nsXPTCStubBase5Stub" #n "Ev:\n\t" \
|
||||
".elseif " #n " < 100\n\t" \
|
||||
".globl _ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \
|
||||
".type _ZN14nsXPTCStubBase6Stub" #n "Ev,@function\n" \
|
||||
"_ZN14nsXPTCStubBase6Stub" #n "Ev:\n\t" \
|
||||
".elseif " #n " < 1000\n\t" \
|
||||
".globl _ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \
|
||||
".type _ZN14nsXPTCStubBase7Stub" #n "Ev,@function\n" \
|
||||
"_ZN14nsXPTCStubBase7Stub" #n "Ev:\n\t" \
|
||||
".else\n\t" \
|
||||
".err \"stub number " #n " >= 1000 not yet supported\"\n\t" \
|
||||
".endif\n\t" \
|
||||
"movl $" #n ", %eax\n\t" \
|
||||
"jmp SharedStub\n\t" \
|
||||
".if " #n " < 10\n\t" \
|
||||
".size _ZN14nsXPTCStubBase5Stub" #n "Ev,.-_ZN14nsXPTCStubBase5Stub" #n "Ev\n\t" \
|
||||
".elseif " #n " < 100\n\t" \
|
||||
".size _ZN14nsXPTCStubBase6Stub" #n "Ev,.-_ZN14nsXPTCStubBase6Stub" #n "Ev\n\t" \
|
||||
".else\n\t" \
|
||||
".size _ZN14nsXPTCStubBase7Stub" #n "Ev,.-_ZN14nsXPTCStubBase7Stub" #n "Ev\n\t" \
|
||||
".endif");
|
||||
|
||||
// static nsresult SharedStub(PRUint32 methodIndex)
|
||||
asm(".section \".text\"\n\t"
|
||||
".align 2\n\t"
|
||||
".type SharedStub,@function\n\t"
|
||||
"SharedStub:\n\t"
|
||||
// make room for gpregs (48), fpregs (64)
|
||||
"pushq %rbp\n\t"
|
||||
"movq %rsp,%rbp\n\t"
|
||||
"subq $112,%rsp\n\t"
|
||||
// save GP registers
|
||||
"movq %rdi,-112(%rbp)\n\t"
|
||||
"movq %rsi,-104(%rbp)\n\t"
|
||||
"movq %rdx, -96(%rbp)\n\t"
|
||||
"movq %rcx, -88(%rbp)\n\t"
|
||||
"movq %r8 , -80(%rbp)\n\t"
|
||||
"movq %r9 , -72(%rbp)\n\t"
|
||||
"leaq -112(%rbp),%rcx\n\t"
|
||||
// save FP registers
|
||||
"movsd %xmm0,-64(%rbp)\n\t"
|
||||
"movsd %xmm1,-56(%rbp)\n\t"
|
||||
"movsd %xmm2,-48(%rbp)\n\t"
|
||||
"movsd %xmm3,-40(%rbp)\n\t"
|
||||
"movsd %xmm4,-32(%rbp)\n\t"
|
||||
"movsd %xmm5,-24(%rbp)\n\t"
|
||||
"movsd %xmm6,-16(%rbp)\n\t"
|
||||
"movsd %xmm7, -8(%rbp)\n\t"
|
||||
"leaq -64(%rbp),%r8\n\t"
|
||||
// rdi has the 'self' pointer already
|
||||
"movl %eax,%esi\n\t"
|
||||
"leaq 16(%rbp),%rdx\n\t"
|
||||
"call PrepareAndDispatch\n\t"
|
||||
"leave\n\t"
|
||||
"ret\n\t"
|
||||
".size SharedStub,.-SharedStub");
|
||||
|
||||
#define SENTINEL_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Sentinel##n() \
|
||||
{ \
|
||||
NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
|
||||
return NS_ERROR_NOT_IMPLEMENTED; \
|
||||
}
|
||||
|
||||
#include "xptcstubsdef.inc"
|
||||
|
||||
#else
|
||||
#error "can't find a compiler to use"
|
||||
#endif /* __GNUC__ */
|
253
www/seamonkey/files/xptcstubs_ppc_openbsd.cpp
Normal file
253
www/seamonkey/files/xptcstubs_ppc_openbsd.cpp
Normal file
@ -0,0 +1,253 @@
|
||||
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Netscape Public License
|
||||
* Version 1.1 (the "License"); you may not use this file except in
|
||||
* compliance with the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/NPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Netscape Communications Corporation.
|
||||
* Portions created by the Initial Developer are Copyright (C) 1999
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Franz.Sirl-kernel@lauterbach.com (Franz Sirl)
|
||||
* beard@netscape.com (Patrick Beard)
|
||||
* waterson@netscape.com (Chris Waterson)
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the NPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the NPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
// Implement shared vtbl methods.
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
// The Linux/PPC ABI (aka PPC/SYSV ABI) passes the first 8 integral
|
||||
// parameters and the first 8 floating point parameters in registers
|
||||
// (r3-r10 and f1-f8), no stack space is allocated for these by the
|
||||
// caller. The rest of the parameters are passed in the callers stack
|
||||
// area. The stack pointer has to retain 16-byte alignment, longlongs
|
||||
// and doubles are aligned on 8-byte boundaries.
|
||||
|
||||
#define PARAM_BUFFER_COUNT 16
|
||||
#define GPR_COUNT 8
|
||||
#define FPR_COUNT 8
|
||||
|
||||
// PrepareAndDispatch() is called by SharedStub() and calls the actual method.
|
||||
//
|
||||
// - 'args[]' contains the arguments passed on stack
|
||||
// - 'gprData[]' contains the arguments passed in integer registers
|
||||
// - 'fprData[]' contains the arguments passed in floating point registers
|
||||
//
|
||||
// The parameters are mapped into an array of type 'nsXPTCMiniVariant'
|
||||
// and then the method gets called.
|
||||
|
||||
extern "C" nsresult
|
||||
PrepareAndDispatch(nsXPTCStubBase* self,
|
||||
PRUint32 methodIndex,
|
||||
PRUint32* args,
|
||||
PRUint32 *gprData,
|
||||
double *fprData)
|
||||
{
|
||||
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
|
||||
nsXPTCMiniVariant* dispatchParams = NULL;
|
||||
nsIInterfaceInfo* iface_info = NULL;
|
||||
const nsXPTMethodInfo* info;
|
||||
PRUint32 paramCount;
|
||||
PRUint32 i;
|
||||
nsresult result = NS_ERROR_FAILURE;
|
||||
|
||||
NS_ASSERTION(self,"no self");
|
||||
|
||||
self->GetInterfaceInfo(&iface_info);
|
||||
NS_ASSERTION(iface_info,"no interface info");
|
||||
if (! iface_info)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
|
||||
iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
|
||||
NS_ASSERTION(info,"no method info");
|
||||
if (! info)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
|
||||
paramCount = info->GetParamCount();
|
||||
|
||||
// setup variant array pointer
|
||||
if(paramCount > PARAM_BUFFER_COUNT)
|
||||
dispatchParams = new nsXPTCMiniVariant[paramCount];
|
||||
else
|
||||
dispatchParams = paramBuffer;
|
||||
|
||||
NS_ASSERTION(dispatchParams,"no place for params");
|
||||
if (! dispatchParams)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
||||
PRUint32* ap = args;
|
||||
PRUint32 gpr = 1; // skip one GPR register
|
||||
PRUint32 fpr = 0;
|
||||
PRUint32 tempu32;
|
||||
PRUint64 tempu64;
|
||||
|
||||
for(i = 0; i < paramCount; i++) {
|
||||
const nsXPTParamInfo& param = info->GetParam(i);
|
||||
const nsXPTType& type = param.GetType();
|
||||
nsXPTCMiniVariant* dp = &dispatchParams[i];
|
||||
|
||||
if (!param.IsOut() && type == nsXPTType::T_DOUBLE) {
|
||||
if (fpr < FPR_COUNT)
|
||||
dp->val.d = fprData[fpr++];
|
||||
else {
|
||||
if ((PRUint32) ap & 4) ap++; // doubles are 8-byte aligned on stack
|
||||
dp->val.d = *(double*) ap;
|
||||
ap += 2;
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else if (!param.IsOut() && type == nsXPTType::T_FLOAT) {
|
||||
if (fpr < FPR_COUNT)
|
||||
dp->val.f = (float) fprData[fpr++]; // in registers floats are passed as doubles
|
||||
else
|
||||
dp->val.f = *(float*) ap++;
|
||||
continue;
|
||||
}
|
||||
else if (!param.IsOut() && (type == nsXPTType::T_I64
|
||||
|| type == nsXPTType::T_U64)) {
|
||||
if (gpr & 1) gpr++; // longlongs are aligned in odd/even register pairs, eg. r5/r6
|
||||
if ((gpr + 1) < GPR_COUNT) {
|
||||
tempu64 = *(PRUint64*) &gprData[gpr];
|
||||
gpr += 2;
|
||||
}
|
||||
else {
|
||||
if ((PRUint32) ap & 4) ap++; // longlongs are 8-byte aligned on stack
|
||||
tempu64 = *(PRUint64*) ap;
|
||||
ap += 2;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (gpr < GPR_COUNT)
|
||||
tempu32 = gprData[gpr++];
|
||||
else
|
||||
tempu32 = *ap++;
|
||||
}
|
||||
|
||||
if(param.IsOut() || !type.IsArithmetic()) {
|
||||
dp->val.p = (void*) tempu32;
|
||||
continue;
|
||||
}
|
||||
|
||||
switch(type) {
|
||||
case nsXPTType::T_I8: dp->val.i8 = (PRInt8) tempu32; break;
|
||||
case nsXPTType::T_I16: dp->val.i16 = (PRInt16) tempu32; break;
|
||||
case nsXPTType::T_I32: dp->val.i32 = (PRInt32) tempu32; break;
|
||||
case nsXPTType::T_I64: dp->val.i64 = (PRInt64) tempu64; break;
|
||||
case nsXPTType::T_U8: dp->val.u8 = (PRUint8) tempu32; break;
|
||||
case nsXPTType::T_U16: dp->val.u16 = (PRUint16) tempu32; break;
|
||||
case nsXPTType::T_U32: dp->val.u32 = (PRUint32) tempu32; break;
|
||||
case nsXPTType::T_U64: dp->val.u64 = (PRUint64) tempu64; break;
|
||||
case nsXPTType::T_BOOL: dp->val.b = (PRBool) tempu32; break;
|
||||
case nsXPTType::T_CHAR: dp->val.c = (char) tempu32; break;
|
||||
case nsXPTType::T_WCHAR: dp->val.wc = (wchar_t) tempu32; break;
|
||||
|
||||
default:
|
||||
NS_ASSERTION(0, "bad type");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result = self->CallMethod((PRUint16) methodIndex, info, dispatchParams);
|
||||
|
||||
NS_RELEASE(iface_info);
|
||||
|
||||
if (dispatchParams != paramBuffer)
|
||||
delete [] dispatchParams;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// Load r11 with the constant 'n' and branch to SharedStub().
|
||||
//
|
||||
// XXX Yes, it's ugly that we're relying on gcc's name-mangling here;
|
||||
// however, it's quick, dirty, and'll break when the ABI changes on
|
||||
// us, which is what we want ;-).
|
||||
|
||||
#if __GXX_ABI_VERSION < 100
|
||||
// gcc-2 version
|
||||
# define STUB_ENTRY(n) \
|
||||
__asm__ ( \
|
||||
".section \".text\" \n\t" \
|
||||
".align 2 \n\t" \
|
||||
".globl Stub"#n"__14nsXPTCStubBase \n\t" \
|
||||
".type Stub"#n"__14nsXPTCStubBase,@function \n\n" \
|
||||
\
|
||||
"Stub"#n"__14nsXPTCStubBase: \n\t" \
|
||||
"li 11,"#n" \n\t" \
|
||||
"b SharedStub@local \n" \
|
||||
);
|
||||
#else
|
||||
// gcc-3 version
|
||||
//
|
||||
// As G++3 ABI contains the length of the functionname in the mangled
|
||||
// name, it is difficult to get a generic assembler mechanism like
|
||||
// in the G++ 2.95 case.
|
||||
// Create names would be like:
|
||||
// _ZN14nsXPTCStubBase5Stub1Ev
|
||||
// _ZN14nsXPTCStubBase6Stub12Ev
|
||||
// _ZN14nsXPTCStubBase7Stub123Ev
|
||||
// _ZN14nsXPTCStubBase8Stub1234Ev
|
||||
// etc.
|
||||
// Use assembler directives to get the names right...
|
||||
|
||||
# define STUB_ENTRY(n) \
|
||||
__asm__ ( \
|
||||
".align 2 \n\t" \
|
||||
".if "#n" < 10 \n\t" \
|
||||
".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
|
||||
".type _ZN14nsXPTCStubBase5Stub"#n"Ev,@function \n\n" \
|
||||
"_ZN14nsXPTCStubBase5Stub"#n"Ev: \n\t" \
|
||||
\
|
||||
".elseif "#n" < 100 \n\t" \
|
||||
".globl _ZN14nsXPTCStubBase6Stub"#n"Ev \n\t" \
|
||||
".type _ZN14nsXPTCStubBase6Stub"#n"Ev,@function \n\n" \
|
||||
"_ZN14nsXPTCStubBase6Stub"#n"Ev: \n\t" \
|
||||
\
|
||||
".elseif "#n" < 1000 \n\t" \
|
||||
".globl _ZN14nsXPTCStubBase7Stub"#n"Ev \n\t" \
|
||||
".type _ZN14nsXPTCStubBase7Stub"#n"Ev,@function \n\n" \
|
||||
"_ZN14nsXPTCStubBase7Stub"#n"Ev: \n\t" \
|
||||
\
|
||||
".else \n\t" \
|
||||
".err \"stub number "#n" >= 1000 not yet supported\"\n" \
|
||||
".endif \n\t" \
|
||||
\
|
||||
"li 11,"#n" \n\t" \
|
||||
"b SharedStub@local \n" \
|
||||
);
|
||||
#endif
|
||||
|
||||
#define SENTINEL_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Sentinel##n() \
|
||||
{ \
|
||||
NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
|
||||
return NS_ERROR_NOT_IMPLEMENTED; \
|
||||
}
|
||||
|
||||
#include "xptcstubsdef.inc"
|
123
www/seamonkey/files/xptcstubs_sparc64_openbsd.cpp
Normal file
123
www/seamonkey/files/xptcstubs_sparc64_openbsd.cpp
Normal file
@ -0,0 +1,123 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is mozilla.org code.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Netscape
|
||||
* Communications Corporation. Portions created by Netscape are
|
||||
* Copyright (C) 2001 Netscape Communications Corporation. All
|
||||
* Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* Stuart Parmenter <pavlov@netscape.com>
|
||||
*/
|
||||
|
||||
/* Implement shared vtbl methods. */
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
#if defined(sparc) || defined(__sparc__)
|
||||
|
||||
extern "C" nsresult
|
||||
PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args)
|
||||
{
|
||||
|
||||
#define PARAM_BUFFER_COUNT 16
|
||||
|
||||
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
|
||||
nsXPTCMiniVariant* dispatchParams = NULL;
|
||||
nsIInterfaceInfo* iface_info = NULL;
|
||||
const nsXPTMethodInfo* info;
|
||||
PRUint8 paramCount;
|
||||
PRUint8 i;
|
||||
nsresult result = NS_ERROR_FAILURE;
|
||||
|
||||
NS_ASSERTION(self,"no self");
|
||||
|
||||
self->GetInterfaceInfo(&iface_info);
|
||||
NS_ASSERTION(iface_info,"no interface info");
|
||||
|
||||
iface_info->GetMethodInfo(PRUint16(methodIndex), &info);
|
||||
NS_ASSERTION(info,"no interface info");
|
||||
|
||||
paramCount = info->GetParamCount();
|
||||
|
||||
// setup variant array pointer
|
||||
if(paramCount > PARAM_BUFFER_COUNT)
|
||||
dispatchParams = new nsXPTCMiniVariant[paramCount];
|
||||
else
|
||||
dispatchParams = paramBuffer;
|
||||
NS_ASSERTION(dispatchParams,"no place for params");
|
||||
|
||||
PRUint64* ap = args;
|
||||
for(i = 0; i < paramCount; i++, ap++)
|
||||
{
|
||||
const nsXPTParamInfo& param = info->GetParam(i);
|
||||
const nsXPTType& type = param.GetType();
|
||||
nsXPTCMiniVariant* dp = &dispatchParams[i];
|
||||
|
||||
if(param.IsOut() || !type.IsArithmetic())
|
||||
{
|
||||
dp->val.p = (void*) *ap;
|
||||
continue;
|
||||
}
|
||||
// else
|
||||
switch(type)
|
||||
{
|
||||
case nsXPTType::T_BOOL : dp->val.b = *((PRInt64*) ap); break;
|
||||
case nsXPTType::T_CHAR : dp->val.c = *((PRUint64*) ap); break;
|
||||
case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt64*) ap); break;
|
||||
case nsXPTType::T_I8 : dp->val.i8 = *((PRInt64*) ap); break;
|
||||
case nsXPTType::T_I16 : dp->val.i16 = *((PRInt64*) ap); break;
|
||||
case nsXPTType::T_I32 : dp->val.i32 = *((PRInt64*) ap); break;
|
||||
case nsXPTType::T_I64 : dp->val.i64 = *((PRInt64*) ap); break;
|
||||
case nsXPTType::T_U8 : dp->val.u8 = *((PRUint64*) ap); break;
|
||||
case nsXPTType::T_U16 : dp->val.u16 = *((PRUint64*)ap); break;
|
||||
case nsXPTType::T_U32 : dp->val.u32 = *((PRUint64*)ap); break;
|
||||
case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*) ap); break;
|
||||
case nsXPTType::T_FLOAT : dp->val.f = ((float*) ap)[1]; break;
|
||||
case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); break;
|
||||
default:
|
||||
NS_ASSERTION(0, "bad type");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
result = self->CallMethod((PRUint16)methodIndex, info, dispatchParams);
|
||||
|
||||
NS_RELEASE(iface_info);
|
||||
|
||||
if(dispatchParams != paramBuffer)
|
||||
delete [] dispatchParams;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
extern "C" int SharedStub(int, int*);
|
||||
|
||||
#define STUB_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Stub##n() \
|
||||
{ \
|
||||
int dummy; /* defeat tail-call optimization */ \
|
||||
return SharedStub(n, &dummy); \
|
||||
}
|
||||
|
||||
#define SENTINEL_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Sentinel##n() \
|
||||
{ \
|
||||
NS_ASSERTION(0,"nsXPTCStubBase::Sentinel called"); \
|
||||
return NS_ERROR_NOT_IMPLEMENTED; \
|
||||
}
|
||||
|
||||
#include "xptcstubsdef.inc"
|
||||
|
||||
#endif /* sparc || __sparc__ */
|
18
www/seamonkey/patches/patch-build_autoconf_altoptions_m4
Normal file
18
www/seamonkey/patches/patch-build_autoconf_altoptions_m4
Normal file
@ -0,0 +1,18 @@
|
||||
$OpenBSD: patch-build_autoconf_altoptions_m4,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- build/autoconf/altoptions.m4.orig Sun Apr 18 16:17:09 2004
|
||||
+++ build/autoconf/altoptions.m4 Sat Sep 10 09:47:31 2005
|
||||
@@ -143,14 +143,3 @@ echo "
|
||||
[$3]
|
||||
fi
|
||||
])
|
||||
-
|
||||
-dnl MOZ_READ_MYCONFIG() - Read in 'myconfig.sh' file
|
||||
-AC_DEFUN(MOZ_READ_MOZCONFIG,
|
||||
-[AC_REQUIRE([AC_INIT_BINSH])dnl
|
||||
-# Read in '.mozconfig' script to set the initial options.
|
||||
-# See the mozconfig2configure script for more details.
|
||||
-_AUTOCONF_TOOLS_DIR=`dirname [$]0`/[$1]/build/autoconf
|
||||
-. $_AUTOCONF_TOOLS_DIR/mozconfig2configure])
|
||||
-
|
||||
-dnl This gets inserted at the top of the configure script
|
||||
-MOZ_READ_MOZCONFIG(MOZ_TOPSRCDIR)
|
29
www/seamonkey/patches/patch-config_autoconf_mk_in
Normal file
29
www/seamonkey/patches/patch-config_autoconf_mk_in
Normal file
@ -0,0 +1,29 @@
|
||||
$OpenBSD: patch-config_autoconf_mk_in,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- config/autoconf.mk.in.orig Fri Apr 21 23:50:30 2006
|
||||
+++ config/autoconf.mk.in Thu Dec 21 23:22:21 2006
|
||||
@@ -56,13 +56,13 @@ MOZ_PKG_SPECIAL = @MOZ_PKG_SPECIAL@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = @bindir@
|
||||
-includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+includedir = $(prefix)/seamonkey/include
|
||||
libdir = @libdir@
|
||||
datadir = @datadir@
|
||||
mandir = @mandir@
|
||||
-idldir = @datadir@/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+idldir = $(prefix)/seamonkey/idl
|
||||
|
||||
-mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+mozappdir = $(prefix)/seamonkey
|
||||
mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
|
||||
mrelibdir = $(mredir)/lib
|
||||
|
||||
@@ -242,7 +242,7 @@ OS_LDFLAGS = @LDFLAGS@
|
||||
OS_COMPILE_CFLAGS = $(OS_CPPFLAGS) @COMPILE_CFLAGS@
|
||||
OS_COMPILE_CXXFLAGS = $(OS_CPPFLAGS) @COMPILE_CXXFLAGS@
|
||||
|
||||
-OS_INCLUDES = $(NSPR_CFLAGS) $(JPEG_CFLAGS) $(PNG_CFLAGS) $(ZLIB_CFLAGS)
|
||||
+OS_INCLUDES = $(NSPR_CFLAGS) $(FT2_CFLAGS) $(LIBIDL_CFLAGS) $(JPEG_CFLAGS) $(PNG_CFLAGS) $(ZLIB_CFLAGS)
|
||||
OS_LIBS = @LIBS@
|
||||
ACDEFINES = @MOZ_DEFINES@
|
||||
|
13
www/seamonkey/patches/patch-config_mkdepend_imakemdep_h
Normal file
13
www/seamonkey/patches/patch-config_mkdepend_imakemdep_h
Normal file
@ -0,0 +1,13 @@
|
||||
$OpenBSD: patch-config_mkdepend_imakemdep_h,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- config/mkdepend/imakemdep.h.orig Tue Apr 20 23:38:14 2004
|
||||
+++ config/mkdepend/imakemdep.h Sat Sep 10 09:47:31 2005
|
||||
@@ -440,6 +440,9 @@ char *cpp_argv[ARGUMENTS] = {
|
||||
# ifdef __i386__
|
||||
"-D__i386__",
|
||||
# endif
|
||||
+# if defined(__amd64__) || defined(__x86_64__)
|
||||
+ "-D__amd64__ -D__x86_64__",
|
||||
+# endif
|
||||
# ifdef __GNUC__
|
||||
"-traditional",
|
||||
# endif
|
71
www/seamonkey/patches/patch-config_rules_mk
Normal file
71
www/seamonkey/patches/patch-config_rules_mk
Normal file
@ -0,0 +1,71 @@
|
||||
$OpenBSD: patch-config_rules_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- config/rules.mk.orig Tue Oct 11 01:16:39 2005
|
||||
+++ config/rules.mk Thu Nov 3 10:44:13 2005
|
||||
@@ -667,7 +667,7 @@ ifdef SHARED_LIBRARY
|
||||
ifdef IS_COMPONENT
|
||||
ifdef GRE_MODULE
|
||||
ifndef DISABLE_DIST_GRE
|
||||
- $(INSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(GRE_DIST)/components
|
||||
+ $(INSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(GRE_DIST)/components
|
||||
$(ELF_DYNSTR_GC) $(GRE_DIST)/components/$(SHARED_LIBRARY)
|
||||
ifdef BEOS_ADDON_WORKAROUND
|
||||
( cd $(GRE_DIST)/components && $(CC) -nostart -o $(SHARED_LIBRARY).stub $(SHARED_LIBRARY) )
|
||||
@@ -675,7 +675,7 @@ endif
|
||||
endif
|
||||
endif # GRE_MODULE
|
||||
ifndef _SKIP_OLD_GRE_INSTALL
|
||||
- $(INSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(FINAL_TARGET)/components
|
||||
+ $(INSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(FINAL_TARGET)/components
|
||||
$(ELF_DYNSTR_GC) $(FINAL_TARGET)/components/$(SHARED_LIBRARY)
|
||||
ifdef BEOS_ADDON_WORKAROUND
|
||||
( cd $(FINAL_TARGET)/components && $(CC) -nostart -o $(SHARED_LIBRARY).stub $(SHARED_LIBRARY) )
|
||||
@@ -684,7 +684,7 @@ endif # ! _SKIP_OLD_GRE_INSTALL
|
||||
else # ! IS_COMPONENT
|
||||
ifdef GRE_MODULE
|
||||
ifndef DISABLE_DIST_GRE
|
||||
- $(INSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(GRE_DIST)
|
||||
+ $(INSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(GRE_DIST)
|
||||
ifdef BEOS_ADDON_WORKAROUND
|
||||
( cd $(GRE_DIST) && $(CC) -nostart -o $(SHARED_LIBRARY).stub $(SHARED_LIBRARY) )
|
||||
endif
|
||||
@@ -694,10 +694,10 @@ endif # GRE_MODULE
|
||||
ifneq (,$(filter OS2 WINNT WINCE,$(OS_ARCH)))
|
||||
$(INSTALL) $(IFLAGS2) $(IMPORT_LIBRARY) $(DIST)/lib
|
||||
else
|
||||
- $(INSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(DIST)/lib
|
||||
+ $(INSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(DIST)/lib
|
||||
endif
|
||||
ifndef _SKIP_OLD_GRE_INSTALL
|
||||
- $(INSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(FINAL_TARGET)
|
||||
+ $(INSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(FINAL_TARGET)
|
||||
ifdef BEOS_ADDON_WORKAROUND
|
||||
( cd $(FINAL_TARGET) && $(CC) -nostart -o $(SHARED_LIBRARY).stub $(SHARED_LIBRARY) )
|
||||
endif
|
||||
@@ -765,15 +765,15 @@ ifndef NO_INSTALL
|
||||
ifdef SHARED_LIBRARY
|
||||
ifdef IS_COMPONENT
|
||||
ifdef MRE_DIST
|
||||
- $(SYSINSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mredir)/components
|
||||
+ $(SYSINSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mredir)/components
|
||||
else
|
||||
- $(SYSINSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mozappdir)/components
|
||||
+ $(SYSINSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mozappdir)/components
|
||||
endif
|
||||
else
|
||||
ifdef MRE_DIST
|
||||
- $(SYSINSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mredir)
|
||||
+ $(SYSINSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mredir)
|
||||
else
|
||||
- $(SYSINSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mozappdir)
|
||||
+ $(SYSINSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mozappdir)
|
||||
endif
|
||||
endif
|
||||
endif # SHARED_LIBRARY
|
||||
@@ -1043,7 +1043,6 @@ endif # NO_LD_ARCHIVE_FLAGS
|
||||
else # os2 vacpp
|
||||
$(MKSHLIB) -O:$@ -DLL -INC:_dllentry $(LDFLAGS) $(OBJS) $(LOBJS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE)
|
||||
endif # !os2 vacpp
|
||||
- chmod +x $@
|
||||
ifndef NO_COMPONENT_LINK_MAP
|
||||
ifndef MOZ_COMPONENTS_VERSION_SCRIPT_LDFLAGS
|
||||
ifndef MOZ_DEBUG
|
43
www/seamonkey/patches/patch-configure_in
Normal file
43
www/seamonkey/patches/patch-configure_in
Normal file
@ -0,0 +1,43 @@
|
||||
$OpenBSD: patch-configure_in,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- configure.in.orig Wed Dec 13 16:57:25 2006
|
||||
+++ configure.in Wed Dec 13 17:30:17 2006
|
||||
@@ -1291,9 +1291,9 @@ dnl Get mozilla version from central mil
|
||||
MOZILLA_VERSION=`$PERL $srcdir/config/milestone.pl -topsrcdir $srcdir`
|
||||
|
||||
dnl Get version of various core apps from the version files.
|
||||
-FIREFOX_VERSION=`cat $topsrcdir/browser/config/version.txt`
|
||||
-THUNDERBIRD_VERSION=`cat $topsrcdir/mail/config/version.txt`
|
||||
-SEAMONKEY_VERSION=`cat $topsrcdir/xpfe/bootstrap/version.txt`
|
||||
+FIREFOX_VERSION=`cat ./browser/config/version.txt`
|
||||
+THUNDERBIRD_VERSION=`cat ./mail/config/version.txt`
|
||||
+SEAMONKEY_VERSION=`cat ./xpfe/bootstrap/version.txt`
|
||||
|
||||
AC_DEFINE_UNQUOTED(MOZILLA_VERSION,"$MOZILLA_VERSION")
|
||||
AC_DEFINE_UNQUOTED(MOZILLA_VERSION_U,$MOZILLA_VERSION)
|
||||
@@ -1863,7 +1863,7 @@ case "$target" in
|
||||
;;
|
||||
|
||||
*-openbsd*)
|
||||
- DLL_SUFFIX=".so.1.0"
|
||||
+ DLL_SUFFIX=".so.${SO_VERSION}"
|
||||
DSO_CFLAGS=''
|
||||
DSO_PIC_CFLAGS='-fPIC'
|
||||
DSO_LDOPTS='-shared -fPIC'
|
||||
@@ -3647,7 +3647,7 @@ _SAVE_LIBS=$LIBS
|
||||
CFLAGS="$ZLIB_CFLAGS $CFLAGS"
|
||||
LDFLAGS="$ZLIB_LIBS -lz $LDFLAGS"
|
||||
if test -n "${PNG_DIR}" -a "${PNG_DIR}" != "yes"; then
|
||||
- CFLAGS="-I${PNG_DIR}/include $CFLAGS"
|
||||
+ CFLAGS="-I${PNG_DIR}/include/libpng $CFLAGS"
|
||||
LDFLAGS="-L${PNG_DIR}/lib $LDFLAGS"
|
||||
fi
|
||||
if test -z "$PNG_DIR" -o "$PNG_DIR" = no; then
|
||||
@@ -3677,7 +3677,7 @@ LDFLAGS=$_SAVE_LDFLAGS
|
||||
LIBS=$_SAVE_LIBS
|
||||
|
||||
if test "${PNG_DIR}" -a -d "${PNG_DIR}" -a "$SYSTEM_PNG" = 1; then
|
||||
- PNG_CFLAGS="-I${PNG_DIR}/include"
|
||||
+ PNG_CFLAGS="-I${PNG_DIR}/include/libpng"
|
||||
PNG_LIBS="-L${PNG_DIR}/lib ${PNG_LIBS}"
|
||||
fi
|
||||
|
16
www/seamonkey/patches/patch-directory_c-sdk_build_mk
Normal file
16
www/seamonkey/patches/patch-directory_c-sdk_build_mk
Normal file
@ -0,0 +1,16 @@
|
||||
$OpenBSD: patch-directory_c-sdk_build_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- directory/c-sdk/build.mk.orig Tue Jun 14 23:27:32 2005
|
||||
+++ directory/c-sdk/build.mk Sat Sep 10 09:08:27 2005
|
||||
@@ -411,10 +411,10 @@ else
|
||||
LINK_LIB = $(RM) $@; $(AR) $(AR_FLAGS) $(OBJS); $(RANLIB) $@
|
||||
LINK_LIB2 = $(RM) $@; $(AR) $@ $(OBJS2); $(RANLIB) $@
|
||||
ifdef SONAMEFLAG_PREFIX
|
||||
-LINK_DLL = $(LD) $(DSO_LDOPTS) $(ALDFLAGS) $(DLL_LDFLAGS) $(DLL_EXPORT_FLAGS) \
|
||||
+LINK_DLL = $(CC) $(DSO_LDOPTS) $(ALDFLAGS) $(DLL_LDFLAGS) $(DLL_EXPORT_FLAGS) \
|
||||
-o $@ $(SONAMEFLAG_PREFIX)$(notdir $@) $(OBJS)
|
||||
else # SONAMEFLAG_PREFIX
|
||||
-LINK_DLL = $(LD) $(DSO_LDOPTS) $(ALDFLAGS) $(DLL_LDFLAGS) $(DLL_EXPORT_FLAGS) \
|
||||
+LINK_DLL = $(CC) $(DSO_LDOPTS) $(ALDFLAGS) $(DLL_LDFLAGS) $(DLL_EXPORT_FLAGS) \
|
||||
-o $@ $(OBJS)
|
||||
endif # SONAMEFLAG_PREFIX
|
||||
endif #!os2
|
@ -0,0 +1,37 @@
|
||||
$OpenBSD: patch-directory_c-sdk_config_OpenBSD_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- directory/c-sdk/config/OpenBSD.mk.orig Tue Mar 26 22:51:50 2002
|
||||
+++ directory/c-sdk/config/OpenBSD.mk Thu Apr 7 22:33:31 2005
|
||||
@@ -37,8 +37,8 @@
|
||||
|
||||
include $(MOD_DEPTH)/config/UNIX.mk
|
||||
|
||||
-CC = gcc
|
||||
-CCC = g++
|
||||
+CC = ${CC}
|
||||
+CCC = ${CXX}
|
||||
RANLIB = ranlib
|
||||
|
||||
OS_REL_CFLAGS =
|
||||
@@ -59,20 +59,9 @@ endif
|
||||
|
||||
ARCH = openbsd
|
||||
|
||||
-DLL_SUFFIX = so.1.0
|
||||
+DLL_SUFFIX = so.${SO_VERSION}
|
||||
|
||||
DSO_CFLAGS = -fPIC
|
||||
-DSO_LDOPTS = -Bshareable
|
||||
-ifeq ($(OS_TEST),alpha)
|
||||
DSO_LDOPTS = -shared
|
||||
-endif
|
||||
-ifeq ($(OS_TEST),mips)
|
||||
-DSO_LDOPTS = -shared
|
||||
-endif
|
||||
-ifeq ($(OS_TEST),pmax)
|
||||
-DSO_LDOPTS = -shared
|
||||
-endif
|
||||
|
||||
-MKSHLIB = $(LD) $(DSO_LDOPTS)
|
||||
-
|
||||
-G++INCLUDES = -I/usr/include/g++
|
||||
+MKSHLIB = $(CC) $(DSO_LDOPTS)
|
12
www/seamonkey/patches/patch-directory_c-sdk_config_rules_mk
Normal file
12
www/seamonkey/patches/patch-directory_c-sdk_config_rules_mk
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-directory_c-sdk_config_rules_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- directory/c-sdk/config/rules.mk.orig 2004-02-15 11:03:01.000000000 +0100
|
||||
+++ directory/c-sdk/config/rules.mk 2004-02-15 11:18:42.000000000 +0100
|
||||
@@ -225,7 +225,7 @@ ifdef RELEASE_HEADERS
|
||||
$(NSINSTALL) -t -m 0644 $(RELEASE_HEADERS) $(DESTDIR)$(includedir)
|
||||
endif
|
||||
ifdef RELEASE_LIBS
|
||||
- $(NSINSTALL) -t -m 0755 $(RELEASE_LIBS) $(DESTDIR)$(libdir)
|
||||
+ $(NSINSTALL) -t -m 0444 $(RELEASE_LIBS) $(DESTDIR)$(libdir)
|
||||
endif
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
27
www/seamonkey/patches/patch-directory_c-sdk_configure_in
Normal file
27
www/seamonkey/patches/patch-directory_c-sdk_configure_in
Normal file
@ -0,0 +1,27 @@
|
||||
$OpenBSD: patch-directory_c-sdk_configure_in,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- directory/c-sdk/configure.in.orig Wed Feb 22 18:58:25 2006
|
||||
+++ directory/c-sdk/configure.in Wed Dec 13 16:57:25 2006
|
||||
@@ -1573,19 +1573,16 @@ mips-sony-newsos*)
|
||||
AC_DEFINE(XP_UNIX)
|
||||
AC_DEFINE(OPENBSD)
|
||||
AC_DEFINE(HAVE_BSD_FLOCK)
|
||||
+ AC_DEFINE(HAVE_SOCKLEN_T)
|
||||
CFLAGS="$CFLAGS -ansi -Wall"
|
||||
CXXFLAGS="$CXXFLAGS -ansi -Wall"
|
||||
- DLL_SUFFIX=so.1.0
|
||||
+ DLL_SUFFIX="so.${SO_VERSION}"
|
||||
DSO_CFLAGS=-fPIC
|
||||
MDCPUCFG_H=_openbsd.cfg
|
||||
PR_MD_CSRCS=openbsd.c
|
||||
USE_NSPR_THREADS=1
|
||||
- case "$OS_TEST" in
|
||||
- alpha|mips|pmax)
|
||||
- DSO_LDOPTS=-shared ;;
|
||||
- *)
|
||||
- DSO_LDOPTS=-Bshareable ;;
|
||||
- esac
|
||||
+ DSO_LDOPTS='-shared -fPIC'
|
||||
+ MKSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
|
||||
;;
|
||||
|
||||
*-openvms*)
|
@ -0,0 +1,29 @@
|
||||
$OpenBSD: patch-extensions_transformiix_source_base_Double_cpp,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- extensions/transformiix/source/base/Double.cpp.orig Thu Jun 17 02:12:42 2004
|
||||
+++ extensions/transformiix/source/base/Double.cpp Sat Sep 10 09:47:31 2005
|
||||
@@ -115,17 +115,19 @@ typedef union txdpun {
|
||||
#define TX_DOUBLE_HI32_EXPMASK 0x7ff00000
|
||||
#define TX_DOUBLE_HI32_MANTMASK 0x000fffff
|
||||
|
||||
+#define STRICT_ALIGN __attribute__ ((aligned (8)))
|
||||
+
|
||||
//-- Initialize Double related constants
|
||||
#ifdef IS_BIG_ENDIAN
|
||||
-const PRUint32 nanMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK,
|
||||
+const PRUint32 nanMask[2] STRICT_ALIGN = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK,
|
||||
0xffffffff};
|
||||
-const PRUint32 infMask[2] = {TX_DOUBLE_HI32_EXPMASK, 0};
|
||||
-const PRUint32 negInfMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0};
|
||||
+const PRUint32 infMask[2] STRICT_ALIGN = {TX_DOUBLE_HI32_EXPMASK, 0};
|
||||
+const PRUint32 negInfMask[2] STRICT_ALIGN = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0};
|
||||
#else
|
||||
-const PRUint32 nanMask[2] = {0xffffffff,
|
||||
+const PRUint32 nanMask[2] STRICT_ALIGN = {0xffffffff,
|
||||
TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK};
|
||||
-const PRUint32 infMask[2] = {0, TX_DOUBLE_HI32_EXPMASK};
|
||||
-const PRUint32 negInfMask[2] = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT};
|
||||
+const PRUint32 infMask[2] STRICT_ALIGN = {0, TX_DOUBLE_HI32_EXPMASK};
|
||||
+const PRUint32 negInfMask[2] STRICT_ALIGN = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT};
|
||||
#endif
|
||||
|
||||
const double Double::NaN = *((double*)nanMask);
|
27
www/seamonkey/patches/patch-gfx_src_ps_nsFontMetricsPS_cpp
Normal file
27
www/seamonkey/patches/patch-gfx_src_ps_nsFontMetricsPS_cpp
Normal file
@ -0,0 +1,27 @@
|
||||
$OpenBSD: patch-gfx_src_ps_nsFontMetricsPS_cpp,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- gfx/src/ps/nsFontMetricsPS.cpp.orig Fri Oct 6 19:26:54 2006
|
||||
+++ gfx/src/ps/nsFontMetricsPS.cpp Wed Nov 8 10:28:51 2006
|
||||
@@ -1044,8 +1044,10 @@ nsFontPSXft::Init(nsXftEntry* aEntry,
|
||||
|
||||
nsFontPSXft::~nsFontPSXft()
|
||||
{
|
||||
- if (mEntry->mFace)
|
||||
+ if (mEntry->mFace) {
|
||||
FT_Done_Face(mEntry->mFace);
|
||||
+ mEntry->mFace = nsnull;
|
||||
+ }
|
||||
|
||||
if (FT_Done_FreeType(mFreeTypeLibrary))
|
||||
return;
|
||||
@@ -2336,8 +2338,10 @@ nsXftType1Generator::Init(nsXftEntry* aE
|
||||
|
||||
nsXftType1Generator::~nsXftType1Generator()
|
||||
{
|
||||
- if (mEntry->mFace)
|
||||
+ if (mEntry->mFace) {
|
||||
FT_Done_Face(mEntry->mFace);
|
||||
+ mEntry->mFace = nsnull;
|
||||
+ }
|
||||
|
||||
if (FT_Done_FreeType(mFreeTypeLibrary))
|
||||
return;
|
@ -0,0 +1,11 @@
|
||||
--- js/src/xpconnect/shell/Makefile.in.orig Tue Apr 5 08:35:51 2005
|
||||
+++ js/src/xpconnect/shell/Makefile.in Wed Dec 13 17:56:25 2006
|
||||
@@ -56,6 +56,8 @@ REQUIRES = xpconnect \
|
||||
CPPSRCS = xpcshell.cpp
|
||||
|
||||
LIBS = \
|
||||
+ -Wl,-rpath-link,/usr/local/lib/ \
|
||||
+ -Wl,-rpath-link,$(X11BASE)/lib/ \
|
||||
$(MOZ_JS_LIBS) \
|
||||
$(XPCOM_LIBS) \
|
||||
$(NSPR_LIBS) \
|
12
www/seamonkey/patches/patch-mailnews_mailnews_js
Normal file
12
www/seamonkey/patches/patch-mailnews_mailnews_js
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-mailnews_mailnews_js,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- mailnews/mailnews.js.orig Tue Dec 19 13:48:12 2006
|
||||
+++ mailnews/mailnews.js Tue Dec 19 13:48:22 2006
|
||||
@@ -626,7 +626,7 @@ pref("mailnews.fakeaccount.show", false)
|
||||
pref("mailnews.fakeaccount.server", "");
|
||||
|
||||
// message display properties
|
||||
-pref("mailnews.message_display.disable_remote_image", false);
|
||||
+pref("mailnews.message_display.disable_remote_image", true);
|
||||
pref("mailnews.message_display.allow.plugins", false);
|
||||
|
||||
// default msg compose font prefs
|
12
www/seamonkey/patches/patch-mailnews_mime_src_mimemsg_cpp
Normal file
12
www/seamonkey/patches/patch-mailnews_mime_src_mimemsg_cpp
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-mailnews_mime_src_mimemsg_cpp,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- mailnews/mime/src/mimemsg.cpp.orig Wed Dec 13 17:59:47 2006
|
||||
+++ mailnews/mime/src/mimemsg.cpp Wed Dec 13 17:59:59 2006
|
||||
@@ -522,7 +522,7 @@ MimeMessage_close_headers (MimeObject *o
|
||||
{
|
||||
PRUint32 flags = 0;
|
||||
char dummy = 0;
|
||||
- if (sscanf(xmoz, " %lx %c", &flags, &dummy) == 1 &&
|
||||
+ if (sscanf(xmoz, " %x %c", &flags, &dummy) == 1 &&
|
||||
flags & MSG_FLAG_PARTIAL)
|
||||
{
|
||||
obj->options->html_closure = obj;
|
12
www/seamonkey/patches/patch-modules_libpref_src_init_all_js
Normal file
12
www/seamonkey/patches/patch-modules_libpref_src_init_all_js
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-modules_libpref_src_init_all_js,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- modules/libpref/src/init/all.js.orig Sat Aug 19 00:12:03 2006
|
||||
+++ modules/libpref/src/init/all.js Fri Sep 15 07:41:32 2006
|
||||
@@ -2051,7 +2051,7 @@ pref("font.scale.outline.min", 6);
|
||||
|
||||
// TrueType
|
||||
pref("font.FreeType2.enable", false);
|
||||
-pref("font.freetype2.shared-library", "libfreetype.so.6");
|
||||
+pref("font.freetype2.shared-library", "libfreetype.so");
|
||||
// if libfreetype was built without hinting compiled in
|
||||
// it is best to leave hinting off
|
||||
pref("font.FreeType2.autohinted", false);
|
@ -0,0 +1,24 @@
|
||||
$OpenBSD: patch-modules_plugin_base_public_nptypes_h,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- modules/plugin/base/public/nptypes.h.orig Thu May 19 23:49:42 2005
|
||||
+++ modules/plugin/base/public/nptypes.h Sat Sep 10 09:27:13 2005
|
||||
@@ -67,10 +67,8 @@
|
||||
|
||||
/*
|
||||
* BSD/OS ships no header that defines uint32_t, nor bool (for C)
|
||||
- * OpenBSD ships no header that defines uint32_t and using its bool macro is
|
||||
- * unsafe.
|
||||
*/
|
||||
- #if defined(bsdi) || defined(OPENBSD)
|
||||
+ #if defined(bsdi)
|
||||
typedef u_int32_t uint32_t;
|
||||
|
||||
#if !defined(__cplusplus)
|
||||
@@ -78,7 +76,7 @@
|
||||
#endif
|
||||
#else
|
||||
/*
|
||||
- * FreeBSD defines uint32_t and bool.
|
||||
+ * FreeBSD, and OpenBSD defines uint32_t and bool.
|
||||
*/
|
||||
#include <inttypes.h>
|
||||
#include <stdbool.h>
|
40
www/seamonkey/patches/patch-security_coreconf_OpenBSD_mk
Normal file
40
www/seamonkey/patches/patch-security_coreconf_OpenBSD_mk
Normal file
@ -0,0 +1,40 @@
|
||||
$OpenBSD: patch-security_coreconf_OpenBSD_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/coreconf/OpenBSD.mk.orig Sun Apr 25 11:02:17 2004
|
||||
+++ security/coreconf/OpenBSD.mk Mon Nov 6 16:39:58 2006
|
||||
@@ -37,12 +37,12 @@
|
||||
|
||||
include $(CORE_DEPTH)/coreconf/UNIX.mk
|
||||
|
||||
-DEFAULT_COMPILER = gcc
|
||||
-CC = gcc
|
||||
-CCC = g++
|
||||
+DEFAULT_COMPILER = ${CC}
|
||||
+#CC = ${CC}
|
||||
+CCC = ${CXX}
|
||||
RANLIB = ranlib
|
||||
|
||||
-CPU_ARCH := $(shell uname -p)
|
||||
+CPU_ARCH := $(shell arch -s)
|
||||
ifeq ($(CPU_ARCH),i386)
|
||||
OS_REL_CFLAGS = -Di386
|
||||
CPU_ARCH = x86
|
||||
@@ -55,7 +55,7 @@ OS_LIBS += -pthread
|
||||
DSO_LDOPTS += -pthread
|
||||
endif
|
||||
|
||||
-DLL_SUFFIX = so.1.0
|
||||
+DLL_SUFFIX = so.${SO_VERSION}
|
||||
|
||||
OS_CFLAGS = $(DSO_CFLAGS) $(OS_REL_CFLAGS) -ansi -Wall -pipe -DOPENBSD
|
||||
|
||||
@@ -64,8 +64,9 @@ OS_LIBS =
|
||||
ARCH = openbsd
|
||||
|
||||
DSO_CFLAGS = -fPIC -DPIC
|
||||
-DSO_LDOPTS = -shared -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
|
||||
+DSO_LDOPTS = -shared -fPIC -Wl,-soname,lib$(LIBRARY_NAME)$(LIBRARY_VERSION).$(DLL_SUFFIX)
|
||||
DSO_LDFLAGS =
|
||||
|
||||
MKSHLIB = $(CC) $(DSO_LDOPTS)
|
||||
|
||||
+NSPR_LIBS = $(shell pkg-config --libs nspr)
|
11
www/seamonkey/patches/patch-security_coreconf_rules_mk
Normal file
11
www/seamonkey/patches/patch-security_coreconf_rules_mk
Normal file
@ -0,0 +1,11 @@
|
||||
$OpenBSD: patch-security_coreconf_rules_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/coreconf/rules.mk.orig Fri Apr 15 02:36:28 2005
|
||||
+++ security/coreconf/rules.mk Sat Sep 10 09:47:32 2005
|
||||
@@ -352,7 +352,6 @@ ifdef XP_OS2_VACPP
|
||||
else
|
||||
$(MKSHLIB) -o $@ $(OBJS) $(SUB_SHLOBJS) $(LD_LIBS) $(EXTRA_LIBS) $(EXTRA_SHARED_LIBS)
|
||||
endif
|
||||
- chmod +x $@
|
||||
ifeq ($(OS_TARGET),Darwin)
|
||||
ifdef MAPFILE
|
||||
nmedit -s $(MAPFILE) $@
|
12
www/seamonkey/patches/patch-security_manager_Makefile_in
Normal file
12
www/seamonkey/patches/patch-security_manager_Makefile_in
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-security_manager_Makefile_in,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/manager/Makefile.in.orig Mon Nov 6 14:42:50 2006
|
||||
+++ security/manager/Makefile.in Mon Nov 6 14:41:57 2006
|
||||
@@ -79,7 +79,7 @@ endif
|
||||
# NSS makefiles are not safe for parallel execution.
|
||||
DEFAULT_GMAKE_FLAGS = MAKE="$(MAKE) -j1" -j1
|
||||
DEFAULT_GMAKE_FLAGS += CC="$(CC)"
|
||||
-DEFAULT_GMAKE_FLAGS += MOZILLA_INCLUDES="-I$(MOZ_BUILD_ROOT)/dist/include/nspr -I$(MOZ_BUILD_ROOT)/dist/include/dbm"
|
||||
+DEFAULT_GMAKE_FLAGS += MOZILLA_INCLUDES="$(NSPR_CFLAGS) -I$(MOZ_BUILD_ROOT)/dist/include/dbm"
|
||||
DEFAULT_GMAKE_FLAGS += SOURCE_MD_DIR=$(MOZ_BUILD_ROOT)/dist
|
||||
DEFAULT_GMAKE_FLAGS += DIST=$(MOZ_BUILD_ROOT)/dist
|
||||
DEFAULT_GMAKE_FLAGS += MOZILLA_CLIENT=1
|
12
www/seamonkey/patches/patch-security_nss_Makefile
Normal file
12
www/seamonkey/patches/patch-security_nss_Makefile
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-security_nss_Makefile,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/nss/Makefile.orig Mon Nov 6 14:33:02 2006
|
||||
+++ security/nss/Makefile Mon Nov 6 14:33:51 2006
|
||||
@@ -78,7 +78,7 @@ include $(CORE_DEPTH)/coreconf/rules.mk
|
||||
# (7) Execute "local" rules. (OPTIONAL). #
|
||||
#######################################################################
|
||||
|
||||
-nss_build_all: build_coreconf build_nspr build_dbm all
|
||||
+nss_build_all: build_coreconf build_dbm all
|
||||
|
||||
build_coreconf:
|
||||
cd $(CORE_DEPTH)/coreconf ; $(MAKE)
|
@ -0,0 +1,13 @@
|
||||
$OpenBSD: patch-security_nss_cmd_pkiutil_platlibs_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/nss/cmd/pkiutil/platlibs.mk.orig Mon Nov 6 18:34:15 2006
|
||||
+++ security/nss/cmd/pkiutil/platlibs.mk Mon Nov 6 18:34:40 2006
|
||||
@@ -50,8 +50,6 @@ EXTRA_SHARED_LIBS += \
|
||||
-L$(DIST)/lib/ \
|
||||
-lnsspki3 \
|
||||
-lnss3 \
|
||||
- -lplc4 \
|
||||
- -lplds4 \
|
||||
- -lnspr4 \
|
||||
+ $(NSPR_LIBS) \
|
||||
$(NULL)
|
||||
|
26
www/seamonkey/patches/patch-security_nss_cmd_platlibs_mk
Normal file
26
www/seamonkey/patches/patch-security_nss_cmd_platlibs_mk
Normal file
@ -0,0 +1,26 @@
|
||||
$OpenBSD: patch-security_nss_cmd_platlibs_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/nss/cmd/platlibs.mk.orig Mon Nov 6 17:57:12 2006
|
||||
+++ security/nss/cmd/platlibs.mk Mon Nov 6 21:13:35 2006
|
||||
@@ -136,10 +136,7 @@ EXTRA_SHARED_LIBS += \
|
||||
$(NULL)
|
||||
else
|
||||
EXTRA_SHARED_LIBS += \
|
||||
- -L$(DIST)/lib \
|
||||
- -lplc4 \
|
||||
- -lplds4 \
|
||||
- -lnspr4 \
|
||||
+ $(NSPR_LIBS) \
|
||||
$(NULL)
|
||||
endif
|
||||
endif
|
||||
@@ -222,9 +219,7 @@ EXTRA_SHARED_LIBS += \
|
||||
-lssl3 \
|
||||
-lsmime3 \
|
||||
-lnss3 \
|
||||
- -lplc4 \
|
||||
- -lplds4 \
|
||||
- -lnspr4 \
|
||||
+ $(NSPR_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
JAR_LIBS = $(DIST)/lib/$(LIB_PREFIX)jar.$(LIB_SUFFIX) \
|
@ -0,0 +1,14 @@
|
||||
$OpenBSD: patch-security_nss_lib_ckfw_builtins_Makefile,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/nss/lib/ckfw/builtins/Makefile.orig Mon Nov 6 20:15:16 2006
|
||||
+++ security/nss/lib/ckfw/builtins/Makefile Mon Nov 6 20:15:58 2006
|
||||
@@ -68,8 +68,8 @@ endif
|
||||
else
|
||||
|
||||
EXTRA_LIBS += \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \
|
||||
+ $(LOCALBASE)/lib/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \
|
||||
+ $(LOCALBASE)/lib/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \
|
||||
$(NULL)
|
||||
|
||||
endif
|
@ -0,0 +1,14 @@
|
||||
$OpenBSD: patch-security_nss_lib_fortcrypt_swfort_pkcs11_Makefile,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/nss/lib/fortcrypt/swfort/pkcs11/Makefile.orig Tue Nov 7 08:42:33 2006
|
||||
+++ security/nss/lib/fortcrypt/swfort/pkcs11/Makefile Tue Nov 7 08:44:01 2006
|
||||
@@ -98,8 +98,8 @@ EXTRA_LIBS += \
|
||||
$(DIST)/lib/$(LIB_PREFIX)softokn.$(LIB_SUFFIX) \
|
||||
$(CRYPTO_LIB) \
|
||||
$(DIST)/lib/$(LIB_PREFIX)secutil.$(LIB_SUFFIX) \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \
|
||||
- $(DIST)/lib/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \
|
||||
+ $(LOCALBASE)/lib/$(LIB_PREFIX)plc4.$(LIB_SUFFIX) \
|
||||
+ $(LOCALBASE)/lib/$(LIB_PREFIX)plds4.$(LIB_SUFFIX) \
|
||||
$(NULL)
|
||||
|
||||
endif
|
14
www/seamonkey/patches/patch-security_nss_lib_nss_config_mk
Normal file
14
www/seamonkey/patches/patch-security_nss_lib_nss_config_mk
Normal file
@ -0,0 +1,14 @@
|
||||
$OpenBSD: patch-security_nss_lib_nss_config_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/nss/lib/nss/config.mk.orig Mon Nov 6 15:46:02 2006
|
||||
+++ security/nss/lib/nss/config.mk Mon Nov 6 15:46:24 2006
|
||||
@@ -74,9 +74,7 @@ else
|
||||
EXTRA_SHARED_LIBS += \
|
||||
-L$(DIST)/lib/ \
|
||||
-lsoftokn3 \
|
||||
- -lplc4 \
|
||||
- -lplds4 \
|
||||
- -lnspr4 \
|
||||
+ $(NSPR_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
endif
|
14
www/seamonkey/patches/patch-security_nss_lib_smime_config_mk
Normal file
14
www/seamonkey/patches/patch-security_nss_lib_smime_config_mk
Normal file
@ -0,0 +1,14 @@
|
||||
$OpenBSD: patch-security_nss_lib_smime_config_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/nss/lib/smime/config.mk.orig Mon Nov 6 15:45:25 2006
|
||||
+++ security/nss/lib/smime/config.mk Mon Nov 6 15:45:49 2006
|
||||
@@ -68,9 +68,7 @@ else
|
||||
EXTRA_SHARED_LIBS += \
|
||||
-L$(DIST)/lib/ \
|
||||
-lnss3 \
|
||||
- -lplc4 \
|
||||
- -lplds4 \
|
||||
- -lnspr4 \
|
||||
+ $(NSPR_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
ifeq ($(OS_ARCH), Darwin)
|
@ -0,0 +1,15 @@
|
||||
$OpenBSD: patch-security_nss_lib_softoken_config_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/nss/lib/softoken/config.mk.orig Mon Nov 6 15:41:50 2006
|
||||
+++ security/nss/lib/softoken/config.mk Mon Nov 6 15:45:13 2006
|
||||
@@ -80,10 +80,7 @@ else
|
||||
# $(PROGRAM) has NO explicit dependencies on $(EXTRA_SHARED_LIBS)
|
||||
# $(EXTRA_SHARED_LIBS) come before $(OS_LIBS), except on AIX.
|
||||
EXTRA_SHARED_LIBS += \
|
||||
- -L$(DIST)/lib/ \
|
||||
- -lplc4 \
|
||||
- -lplds4 \
|
||||
- -lnspr4 \
|
||||
+ $(NSPR_LIBS) \
|
||||
$(NULL)
|
||||
endif
|
||||
|
14
www/seamonkey/patches/patch-security_nss_lib_ssl_config_mk
Normal file
14
www/seamonkey/patches/patch-security_nss_lib_ssl_config_mk
Normal file
@ -0,0 +1,14 @@
|
||||
$OpenBSD: patch-security_nss_lib_ssl_config_mk,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- security/nss/lib/ssl/config.mk.orig Mon Nov 6 15:44:07 2006
|
||||
+++ security/nss/lib/ssl/config.mk Mon Nov 6 15:44:53 2006
|
||||
@@ -73,9 +73,7 @@ else
|
||||
EXTRA_SHARED_LIBS += \
|
||||
-L$(DIST)/lib/ \
|
||||
-lnss3 \
|
||||
- -lplc4 \
|
||||
- -lplds4 \
|
||||
- -lnspr4 \
|
||||
+ $(NSPR_LIBS) \
|
||||
$(NULL)
|
||||
|
||||
ifeq ($(OS_ARCH), BeOS)
|
12
www/seamonkey/patches/patch-widget_src_gtk2_nsSound_cpp
Normal file
12
www/seamonkey/patches/patch-widget_src_gtk2_nsSound_cpp
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-widget_src_gtk2_nsSound_cpp,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- widget/src/gtk2/nsSound.cpp.orig Thu Aug 17 04:41:52 2006
|
||||
+++ widget/src/gtk2/nsSound.cpp Fri Sep 15 07:41:32 2006
|
||||
@@ -114,7 +114,7 @@ nsSound::Init()
|
||||
|
||||
EsdOpenSoundType EsdOpenSound;
|
||||
|
||||
- elib = PR_LoadLibrary("libesd.so.0");
|
||||
+ elib = PR_LoadLibrary("libesd.so");
|
||||
if (!elib) return NS_ERROR_FAILURE;
|
||||
|
||||
EsdOpenSound = (EsdOpenSoundType) PR_FindSymbol(elib, "esd_open_sound");
|
12
www/seamonkey/patches/patch-widget_src_gtk_nsSound_cpp
Normal file
12
www/seamonkey/patches/patch-widget_src_gtk_nsSound_cpp
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-widget_src_gtk_nsSound_cpp,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- widget/src/gtk/nsSound.cpp.orig Wed Nov 3 10:13:04 2004
|
||||
+++ widget/src/gtk/nsSound.cpp Sat Sep 10 09:47:32 2005
|
||||
@@ -106,7 +106,7 @@ nsSound::Init()
|
||||
|
||||
EsdOpenSoundType EsdOpenSound;
|
||||
|
||||
- elib = PR_LoadLibrary("libesd.so.0");
|
||||
+ elib = PR_LoadLibrary("libesd.so");
|
||||
if (!elib) return NS_ERROR_FAILURE;
|
||||
|
||||
EsdOpenSound = (EsdOpenSoundType) PR_FindSymbol(elib, "esd_open_sound");
|
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-xpcom_components_nsNativeComponentLoader_cpp,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- xpcom/components/nsNativeComponentLoader.cpp.orig Thu Jul 14 20:42:57 2005
|
||||
+++ xpcom/components/nsNativeComponentLoader.cpp Sat Sep 10 19:45:17 2005
|
||||
@@ -668,7 +668,7 @@ nsNativeComponentLoader::AutoRegisterCom
|
||||
".shlb", /* Mac ? */
|
||||
".dso", /* Unix ? */
|
||||
".dylib", /* Unix: Mach */
|
||||
- ".so.1.0", /* Unix: BSD */
|
||||
+ ".so._SO_VERSION_", /* Unix: BSD */
|
||||
".sl", /* Unix: HP-UX */
|
||||
#if defined(VMS)
|
||||
".exe", /* Open VMS */
|
@ -0,0 +1,13 @@
|
||||
$OpenBSD: patch-xpcom_glue_standalone_Makefile_in,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- xpcom/glue/standalone/Makefile.in.orig Thu Jan 5 20:35:20 2006
|
||||
+++ xpcom/glue/standalone/Makefile.in Wed May 3 13:26:43 2006
|
||||
@@ -62,6 +62,9 @@ endif
|
||||
ifneq (,$(filter AIX DragonFly FreeBSD Linux NetBSD OpenBSD SunOS,$(OS_ARCH)))
|
||||
LINKSRC = nsGlueLinkingDlopen.cpp
|
||||
endif
|
||||
+ifeq (OpenBSD,$(OS_ARCH))
|
||||
+LINKSRC = nsGlueLinkingDlopen.cpp
|
||||
+endif
|
||||
ifeq (OS2,$(OS_ARCH))
|
||||
LINKSRC = nsGlueLinkingOS2.cpp
|
||||
endif
|
@ -0,0 +1,65 @@
|
||||
$OpenBSD: patch-xpcom_reflect_xptcall_src_md_unix_Makefile_in,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig Sun Dec 3 22:24:17 2006
|
||||
+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in Thu Dec 21 23:21:55 2006
|
||||
@@ -68,6 +68,12 @@ CPPSRCS := xptcinvoke_unixish_x86.cpp x
|
||||
endif
|
||||
endif
|
||||
#
|
||||
+# OpenBSD/amd64
|
||||
+#
|
||||
+ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDamd64)
|
||||
+CPPSRCS := xptcinvoke_openbsd_amd64.cpp xptcstubs_openbsd_amd64.cpp
|
||||
+endif
|
||||
+#
|
||||
# New code for Linux, et. al., with gcc
|
||||
# Migrate other platforms here after testing
|
||||
#
|
||||
@@ -129,6 +135,12 @@ CPPSRCS := xptcinvoke_osf1_alpha.cpp xp
|
||||
ASFILES := xptcinvoke_asm_osf1_alpha.s xptcstubs_asm_osf1_alpha.s
|
||||
endif
|
||||
#
|
||||
+# OpenBSD/Alpha
|
||||
+#
|
||||
+ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDalpha)
|
||||
+CPPSRCS := xptcinvoke_openbsd_alpha.cpp xptcstubs_openbsd_alpha.cpp
|
||||
+endif
|
||||
+#
|
||||
# Linux/Alpha
|
||||
#
|
||||
ifneq (,$(filter Linuxalpha FreeBSDalpha NetBSDalpha,$(OS_ARCH)$(OS_TEST)))
|
||||
@@ -278,6 +290,14 @@ ASFILES := xptcinvoke_asm_ppc_netbsd.s
|
||||
endif
|
||||
|
||||
#
|
||||
+# OpenBSD/PPC
|
||||
+#
|
||||
+ifneq (,$(filter OpenBSDmacppc,$(OS_ARCH)$(OS_TEST)))
|
||||
+CPPSRCS := xptcinvoke_ppc_openbsd.cpp xptcstubs_ppc_openbsd.cpp
|
||||
+ASFILES := xptcinvoke_asm_ppc_openbsd.s xptcstubs_asm_ppc_openbsd.s
|
||||
+endif
|
||||
+
|
||||
+#
|
||||
# Darwin/PPC
|
||||
#
|
||||
ifeq ($(OS_ARCH),Darwin)
|
||||
@@ -349,6 +369,20 @@ endif
|
||||
endif
|
||||
|
||||
endif
|
||||
+endif
|
||||
+#
|
||||
+# OpenBSD/SPARC
|
||||
+#
|
||||
+ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc)
|
||||
+CPPSRCS := xptcinvoke_sparc_netbsd.cpp xptcstubs_sparc_netbsd.cpp
|
||||
+ASFILES := xptcinvoke_asm_sparc_netbsd.s xptcstubs_asm_sparc_netbsd.s
|
||||
+endif
|
||||
+#
|
||||
+# OpenBSD/SPARC64
|
||||
+#
|
||||
+ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDsparc64)
|
||||
+CPPSRCS := xptcinvoke_sparc64_openbsd.cpp xptcstubs_sparc64_openbsd.cpp
|
||||
+ASFILES := xptcinvoke_asm_sparc64_openbsd.s xptcstubs_asm_sparcv9_solaris.s
|
||||
endif
|
||||
|
||||
######################################################################
|
@ -0,0 +1,20 @@
|
||||
$OpenBSD: patch-xpcom_reflect_xptcall_src_md_unix_xptc_platforms_unixish_x86_h,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h.orig Thu Jan 8 19:17:07 2004
|
||||
+++ xpcom/reflect/xptcall/src/md/unix/xptc_platforms_unixish_x86.h Fri Nov 12 21:09:52 2004
|
||||
@@ -107,12 +107,16 @@
|
||||
#define THUNK_BASED_THIS_ADJUST
|
||||
|
||||
#elif defined(__OpenBSD__)
|
||||
+#if __GNUC__ >= 3
|
||||
+#define THUNK_BASED_THIS_ADJUST
|
||||
+#else
|
||||
/* OpenBSD instroduces GCC 2.95.x in late May 1999 */
|
||||
#include <sys/param.h>
|
||||
#if OpenBSD <= 199905
|
||||
#define THUNK_BASED_THIS_ADJUST
|
||||
#else
|
||||
#define CFRONT_STYLE_THIS_ADJUST
|
||||
+#endif
|
||||
#endif
|
||||
|
||||
#elif defined(__bsdi__)
|
109
www/seamonkey/patches/patch-xpfe_bootstrap_mozilla_in
Normal file
109
www/seamonkey/patches/patch-xpfe_bootstrap_mozilla_in
Normal file
@ -0,0 +1,109 @@
|
||||
$OpenBSD: patch-xpfe_bootstrap_mozilla_in,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- xpfe/bootstrap/mozilla.in.orig Fri Dec 30 16:11:28 2005
|
||||
+++ xpfe/bootstrap/mozilla.in Mon Dec 18 14:52:37 2006
|
||||
@@ -93,6 +93,7 @@ moz_pis_startstop_scripts()
|
||||
#set -x
|
||||
|
||||
moz_libdir=%MOZAPPDIR%
|
||||
+MOZ_PLUGIN_PATH=_LOCALBASE_/lib/mozilla-plugins
|
||||
MRE_HOME=%MREDIR%
|
||||
|
||||
# honor MOZILLA_FIVE_HOME if it's there
|
||||
@@ -104,6 +105,7 @@ else
|
||||
found=0
|
||||
progname=$0
|
||||
curdir=`dirname "$progname"`
|
||||
+ progbase=`basename "$progname"`
|
||||
run_moz="$curdir/run-mozilla.sh"
|
||||
if test -x "$run_moz"; then
|
||||
dist_bin=$curdir
|
||||
@@ -144,10 +146,76 @@ script_args=""
|
||||
debugging=0
|
||||
MOZILLA_BIN="%MOZILLA-BIN%"
|
||||
|
||||
+# The following is to check for a currently running instance.
|
||||
+# This is taken almost verbatim from the Mozilla RPM package's launch script.
|
||||
+MOZ_CLIENT_PROGRAM="$dist_bin/mozilla-xremote-client"
|
||||
+check_running() {
|
||||
+ "${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" 'ping()' 2>/dev/null >/dev/null
|
||||
+ RETURN_VAL=$?
|
||||
+ if [ $RETURN_VAL -eq 0 ]; then
|
||||
+ echo 1
|
||||
+ return 1
|
||||
+ else
|
||||
+ echo 0
|
||||
+ return 0
|
||||
+ fi
|
||||
+}
|
||||
+
|
||||
if [ "$OSTYPE" = "beos" ]; then
|
||||
mimeset -F $MOZILLA_BIN
|
||||
fi
|
||||
|
||||
+ALREADY_RUNNING=`check_running`
|
||||
+
|
||||
+################################################################ Parse Arguments
|
||||
+# If there's a command line argument but it doesn't begin with a -
|
||||
+# it's probably a url. Try to send it to a running instance.
|
||||
+_USE_EXIST=0
|
||||
+_optOne="$1"
|
||||
+case "${_optOne}" in
|
||||
+ -*)
|
||||
+ ;;
|
||||
+ *)
|
||||
+ _USE_EXIST=1
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+_optLast=
|
||||
+for i in "$@"; do
|
||||
+ _optLast="${i}"
|
||||
+done #last arg
|
||||
+
|
||||
+if [ `expr "${_optLast}" : '.*:/.*'` -eq 0 -a \( -f "${_optLast}" -o -d "${_optLast}" \) ]; then
|
||||
+ # Last argument seems to be a local file/directory
|
||||
+ # Check, if it is absolutely specified (ie. /home/foo/file vs. ./file)
|
||||
+ # If it is just "relatively" (./file) specified, make it absolutely
|
||||
+ [ `expr "${_optLast}" : '/.*'` -eq 0 ] && _optLast="file://`pwd`/${_optLast}"
|
||||
+fi
|
||||
+################################################################ Parse Arguments
|
||||
+
|
||||
+########################################################################### Main
|
||||
+if [ $ALREADY_RUNNING -eq 1 ]; then
|
||||
+ # There's an instance already running. Use it.
|
||||
+ # Any command line args passed in?
|
||||
+ if [ $# -gt 0 ]; then
|
||||
+ # There were "some" command line args.
|
||||
+ if [ ${_USE_EXIST} -eq 1 ]; then
|
||||
+ # We should use an existing instance, as _USE_EXIST=$_USE_EXIST=-1
|
||||
+ _remote_cmd="openURL(${_optLast})"
|
||||
+ "${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" "${_remote_cmd}"
|
||||
+ unset _remote_cmd
|
||||
+ exit $?
|
||||
+ fi
|
||||
+ else
|
||||
+ # No command line args. Open new window/tab
|
||||
+ #exec "${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" "xfeDoCommand(openBrowser)"
|
||||
+ "${run_moz}" "$MOZ_CLIENT_PROGRAM" -a "${progbase}" "xfeDoCommand(openBrowser)"
|
||||
+ exit $?
|
||||
+ fi
|
||||
+fi
|
||||
+# Default action - no running instance or _USE_EXIST (${_USE_EXIST}) ! -eq 1
|
||||
+########################################################################### Main
|
||||
+
|
||||
pass_arg_count=0
|
||||
while [ $# -gt $pass_arg_count ]
|
||||
do
|
||||
@@ -175,7 +243,11 @@ do
|
||||
esac
|
||||
done
|
||||
|
||||
-export MRE_HOME
|
||||
+if [ `_X11BASE_/bin/fc-list | wc -l` -eq 0 ]
|
||||
+then export GDK_USE_XFT=0
|
||||
+fi
|
||||
+
|
||||
+export MOZ_PLUGIN_PATH MRE_HOME
|
||||
|
||||
## Start addon scripts
|
||||
moz_pis_startstop_scripts "start"
|
@ -0,0 +1,11 @@
|
||||
$OpenBSD: patch-xpfe_communicator_resources_locale_en-US_brand_dtd,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- xpfe/communicator/resources/locale/en-US/brand.dtd.orig Wed Dec 13 17:07:52 2006
|
||||
+++ xpfe/communicator/resources/locale/en-US/brand.dtd Wed Dec 13 17:08:07 2006
|
||||
@@ -1,5 +1,5 @@
|
||||
#expand <!ENTITY lang.version "__MOZILLA_LOCALE_VERSION__">
|
||||
-<!ENTITY brandFullName "SeaMonkey">
|
||||
-<!ENTITY brandShortName "SeaMonkey">
|
||||
+<!ENTITY brandFullName "SeaMonkey Community Edition">
|
||||
+<!ENTITY brandShortName "SeaMonkey Community Edition">
|
||||
<!ENTITY vendorShortName "SeaMonkey">
|
||||
<!ENTITY sidebarName "Sidebar">
|
@ -0,0 +1,10 @@
|
||||
$OpenBSD: patch-xpfe_communicator_resources_locale_en-US_brand_properties,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
--- xpfe/communicator/resources/locale/en-US/brand.properties.orig Wed Dec 13 17:04:49 2006
|
||||
+++ xpfe/communicator/resources/locale/en-US/brand.properties Wed Dec 13 17:06:36 2006
|
||||
@@ -1,4 +1,4 @@
|
||||
-brandFullName=SeaMonkey
|
||||
-brandShortName=SeaMonkey
|
||||
+brandFullName=SeaMonkey Community Edition
|
||||
+brandShortName=SeaMonkey Community Edition
|
||||
vendorShortName=SeaMonkey
|
||||
sidebarName=Sidebar
|
1
www/seamonkey/pkg/DESCR-devel
Normal file
1
www/seamonkey/pkg/DESCR-devel
Normal file
@ -0,0 +1 @@
|
||||
include, lib nd idl files for programs that use the Gecko layout engine
|
4
www/seamonkey/pkg/DESCR-main
Normal file
4
www/seamonkey/pkg/DESCR-main
Normal file
@ -0,0 +1,4 @@
|
||||
Web-browser, advanced e-mail and newsgroup client, IRC chat client,
|
||||
and HTML editing made simple -- all your Internet needs in one
|
||||
application.
|
||||
|
2
www/seamonkey/pkg/MESSAGE-main
Normal file
2
www/seamonkey/pkg/MESSAGE-main
Normal file
@ -0,0 +1,2 @@
|
||||
Please see ${PREFIX}/seamonkey/README.OpenBSD for information
|
||||
about running SeaMonkey on OpenBSD.
|
21
www/seamonkey/pkg/PFRAG.shared-devel
Normal file
21
www/seamonkey/pkg/PFRAG.shared-devel
Normal file
@ -0,0 +1,21 @@
|
||||
@comment $OpenBSD: PFRAG.shared-devel,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
@lib seamonkey/lib/libfort.so.${LIBfort_VERSION}
|
||||
@lib seamonkey/lib/libgfxpsshar.so.${LIBgfxpsshar_VERSION}
|
||||
@lib seamonkey/lib/libgkgfx.so.${LIBgkgfx_VERSION}
|
||||
@lib seamonkey/lib/libgtkembedmoz.so.${LIBgtkembedmoz_VERSION}
|
||||
@lib seamonkey/lib/libgtkxtbin.so.${LIBgtkxtbin_VERSION}
|
||||
@lib seamonkey/lib/libjsj.so.${LIBjsj_VERSION}
|
||||
@lib seamonkey/lib/libldap50.so.${LIBldap50_VERSION}
|
||||
@lib seamonkey/lib/libmozjs.so.${LIBmozjs_VERSION}
|
||||
@lib seamonkey/lib/libmsgbaseutil.so.${LIBmsgbaseutil_VERSION}
|
||||
@lib seamonkey/lib/libnss3.so.${LIBnss3_VERSION}
|
||||
@lib seamonkey/lib/libnssckbi.so.${LIBnssckbi_VERSION}
|
||||
@lib seamonkey/lib/libprldap50.so.${LIBprldap50_VERSION}
|
||||
@lib seamonkey/lib/libsmime3.so.${LIBsmime3_VERSION}
|
||||
@lib seamonkey/lib/libsoftokn3.so.${LIBsoftokn3_VERSION}
|
||||
@lib seamonkey/lib/libssl3.so.${LIBssl3_VERSION}
|
||||
@lib seamonkey/lib/libswft.so.${LIBswft_VERSION}
|
||||
@lib seamonkey/lib/libxpcom.so.${LIBxpcom_VERSION}
|
||||
@lib seamonkey/lib/libxpcom_compat.so.${LIBxpcom_compat_VERSION}
|
||||
@lib seamonkey/lib/libxpcom_core.so.${LIBxpcom_core_VERSION}
|
||||
@lib seamonkey/lib/libxpistub.so.${LIBxpistub_VERSION}
|
96
www/seamonkey/pkg/PFRAG.shared-main
Normal file
96
www/seamonkey/pkg/PFRAG.shared-main
Normal file
@ -0,0 +1,96 @@
|
||||
@comment $OpenBSD: PFRAG.shared-main,v 1.1.1.1 2006/12/22 23:32:29 kurt Exp $
|
||||
@lib seamonkey/components/libaccessibility.so.${LIBaccessibility_VERSION}
|
||||
@lib seamonkey/components/libaddrbook.so.${LIBaddrbook_VERSION}
|
||||
@lib seamonkey/components/libappcomps.so.${LIBappcomps_VERSION}
|
||||
@lib seamonkey/components/libauth.so.${LIBauth_VERSION}
|
||||
@lib seamonkey/components/libautoconfig.so.${LIBautoconfig_VERSION}
|
||||
@lib seamonkey/components/libbayesflt.so.${LIBbayesflt_VERSION}
|
||||
@lib seamonkey/components/libcaps.so.${LIBcaps_VERSION}
|
||||
@lib seamonkey/components/libchrome.so.${LIBchrome_VERSION}
|
||||
@lib seamonkey/components/libcomposer.so.${LIBcomposer_VERSION}
|
||||
@lib seamonkey/components/libcookie.so.${LIBcookie_VERSION}
|
||||
@lib seamonkey/components/libdocshell.so.${LIBdocshell_VERSION}
|
||||
@lib seamonkey/components/libeditor.so.${LIBeditor_VERSION}
|
||||
@lib seamonkey/components/libembedcomponents.so.${LIBembedcomponents_VERSION}
|
||||
@lib seamonkey/components/libfileview.so.${LIBfileview_VERSION}
|
||||
@lib seamonkey/components/libgfx_gtk.so.${LIBgfx_gtk_VERSION}
|
||||
@lib seamonkey/components/libgfxps.so.${LIBgfxps_VERSION}
|
||||
@lib seamonkey/components/libgklayout.so.${LIBgklayout_VERSION}
|
||||
@lib seamonkey/components/libgkplugin.so.${LIBgkplugin_VERSION}
|
||||
@lib seamonkey/components/libhtmlpars.so.${LIBhtmlpars_VERSION}
|
||||
@lib seamonkey/components/libi18n.so.${LIBi18n_VERSION}
|
||||
@lib seamonkey/components/libimglib2.so.${LIBimglib2_VERSION}
|
||||
@lib seamonkey/components/libimpComm4xMail.so.${LIBimpComm4xMail_VERSION}
|
||||
@lib seamonkey/components/libimpText.so.${LIBimpText_VERSION}
|
||||
@lib seamonkey/components/libimport.so.${LIBimport_VERSION}
|
||||
@lib seamonkey/components/libinspector.so.${LIBinspector_VERSION}
|
||||
@lib seamonkey/components/libjar50.so.${LIBjar50_VERSION}
|
||||
@lib seamonkey/components/libjsd.so.${LIBjsd_VERSION}
|
||||
@lib seamonkey/components/liblocalmail.so.${LIBlocalmail_VERSION}
|
||||
@lib seamonkey/components/libmailnews.so.${LIBmailnews_VERSION}
|
||||
@lib seamonkey/components/libmailview.so.${LIBmailview_VERSION}
|
||||
@lib seamonkey/components/libmime.so.${LIBmime_VERSION}
|
||||
@lib seamonkey/components/libmimeemitter.so.${LIBmimeemitter_VERSION}
|
||||
@lib seamonkey/components/libmork.so.${LIBmork_VERSION}
|
||||
@lib seamonkey/components/libmozfind.so.${LIBmozfind_VERSION}
|
||||
@lib seamonkey/components/libmozldap.so.${LIBmozldap_VERSION}
|
||||
@lib seamonkey/components/libmsgcompose.so.${LIBmsgcompose_VERSION}
|
||||
@lib seamonkey/components/libmsgdb.so.${LIBmsgdb_VERSION}
|
||||
@lib seamonkey/components/libmsgimap.so.${LIBmsgimap_VERSION}
|
||||
@lib seamonkey/components/libmsgmdn.so.${LIBmsgmdn_VERSION}
|
||||
@lib seamonkey/components/libmsgnews.so.${LIBmsgnews_VERSION}
|
||||
@lib seamonkey/components/libmsgsmime.so.${LIBmsgsmime_VERSION}
|
||||
@lib seamonkey/components/libmyspell.so.${LIBmyspell_VERSION}
|
||||
@lib seamonkey/components/libnecko.so.${LIBnecko_VERSION}
|
||||
@lib seamonkey/components/libnecko2.so.${LIBnecko2_VERSION}
|
||||
@lib seamonkey/components/libnsappshell.so.${LIBnsappshell_VERSION}
|
||||
@lib seamonkey/components/libnsprefm.so.${LIBnsprefm_VERSION}
|
||||
@lib seamonkey/components/liboji.so.${LIBoji_VERSION}
|
||||
@lib seamonkey/components/libp3p.so.${LIBp3p_VERSION}
|
||||
@lib seamonkey/components/libpermissions.so.${LIBpermissions_VERSION}
|
||||
@lib seamonkey/components/libpipboot.so.${LIBpipboot_VERSION}
|
||||
@lib seamonkey/components/libpipnss.so.${LIBpipnss_VERSION}
|
||||
@lib seamonkey/components/libpippki.so.${LIBpippki_VERSION}
|
||||
@lib seamonkey/components/libpref.so.${LIBpref_VERSION}
|
||||
@lib seamonkey/components/libprofile.so.${LIBprofile_VERSION}
|
||||
@lib seamonkey/components/librdf.so.${LIBrdf_VERSION}
|
||||
@lib seamonkey/components/libremoteservice.so.${LIBremoteservice_VERSION}
|
||||
@lib seamonkey/components/libsearchservice.so.${LIBsearchservice_VERSION}
|
||||
@lib seamonkey/components/libspellchecker.so.${LIBspellchecker_VERSION}
|
||||
@lib seamonkey/components/libsroaming.so.${LIBsroaming_VERSION}
|
||||
@lib seamonkey/components/libsystem-pref.so.${LIBsystem-pref_VERSION}
|
||||
@lib seamonkey/components/libtransformiix.so.${LIBtransformiix_VERSION}
|
||||
@lib seamonkey/components/libtxmgr.so.${LIBtxmgr_VERSION}
|
||||
@lib seamonkey/components/libtypeaheadfind.so.${LIBtypeaheadfind_VERSION}
|
||||
@lib seamonkey/components/libuconv.so.${LIBuconv_VERSION}
|
||||
@lib seamonkey/components/libucvmath.so.${LIBucvmath_VERSION}
|
||||
@lib seamonkey/components/libuniversalchardet.so.${LIBuniversalchardet_VERSION}
|
||||
@lib seamonkey/components/libvcard.so.${LIBvcard_VERSION}
|
||||
@lib seamonkey/components/libwallet.so.${LIBwallet_VERSION}
|
||||
@lib seamonkey/components/libwalletviewers.so.${LIBwalletviewers_VERSION}
|
||||
@lib seamonkey/components/libwebbrwsr.so.${LIBwebbrwsr_VERSION}
|
||||
@lib seamonkey/components/libwebsrvcs.so.${LIBwebsrvcs_VERSION}
|
||||
@lib seamonkey/components/libwidget_gtk2.so.${LIBwidget_gtk2_VERSION}
|
||||
@lib seamonkey/components/libxmlextras.so.${LIBxmlextras_VERSION}
|
||||
@lib seamonkey/components/libxpcom_compat_c.so.${LIBxpcom_compat_c_VERSION}
|
||||
@lib seamonkey/components/libxpconnect.so.${LIBxpconnect_VERSION}
|
||||
@lib seamonkey/components/libxpinstall.so.${LIBxpinstall_VERSION}
|
||||
@lib seamonkey/components/libxremoteservice.so.${LIBxremoteservice_VERSION}
|
||||
@lib seamonkey/libgfxpsshar.so.${LIBgfxpsshar_VERSION}
|
||||
@lib seamonkey/libgkgfx.so.${LIBgkgfx_VERSION}
|
||||
@lib seamonkey/libgtkembedmoz.so.${LIBgtkembedmoz_VERSION}
|
||||
@lib seamonkey/libgtkxtbin.so.${LIBgtkxtbin_VERSION}
|
||||
@lib seamonkey/libjsj.so.${LIBjsj_VERSION}
|
||||
@lib seamonkey/libldap50.so.${LIBldap50_VERSION}
|
||||
@lib seamonkey/libmozjs.so.${LIBmozjs_VERSION}
|
||||
@lib seamonkey/libmsgbaseutil.so.${LIBmsgbaseutil_VERSION}
|
||||
@lib seamonkey/libnss3.so.${LIBnss3_VERSION}
|
||||
@lib seamonkey/libnssckbi.so.${LIBnssckbi_VERSION}
|
||||
@lib seamonkey/libprldap50.so.${LIBprldap50_VERSION}
|
||||
@lib seamonkey/libsmime3.so.${LIBsmime3_VERSION}
|
||||
@lib seamonkey/libsoftokn3.so.${LIBsoftokn3_VERSION}
|
||||
@lib seamonkey/libssl3.so.${LIBssl3_VERSION}
|
||||
@lib seamonkey/libxpcom.so.${LIBxpcom_VERSION}
|
||||
@lib seamonkey/libxpcom_compat.so.${LIBxpcom_compat_VERSION}
|
||||
@lib seamonkey/libxpcom_core.so.${LIBxpcom_core_VERSION}
|
||||
@lib seamonkey/libxpistub.so.${LIBxpistub_VERSION}
|
3769
www/seamonkey/pkg/PLIST-devel
Normal file
3769
www/seamonkey/pkg/PLIST-devel
Normal file
File diff suppressed because it is too large
Load Diff
490
www/seamonkey/pkg/PLIST-main
Normal file
490
www/seamonkey/pkg/PLIST-main
Normal file
@ -0,0 +1,490 @@
|
||||
@comment $OpenBSD: PLIST-main,v 1.1.1.1 2006/12/22 23:32:28 kurt Exp $
|
||||
%%SHARED%%
|
||||
bin/seamonkey
|
||||
bin/seamonkey-config
|
||||
seamonkey/
|
||||
seamonkey/LICENSE
|
||||
seamonkey/README.OpenBSD
|
||||
seamonkey/TestGtkEmbed
|
||||
seamonkey/chrome/
|
||||
seamonkey/chrome/US.jar
|
||||
seamonkey/chrome/chatzilla.jar
|
||||
seamonkey/chrome/chromelist.txt
|
||||
seamonkey/chrome/classic.jar
|
||||
seamonkey/chrome/comm.jar
|
||||
seamonkey/chrome/content-packs.jar
|
||||
seamonkey/chrome/embed-sample.jar
|
||||
seamonkey/chrome/en-US.jar
|
||||
seamonkey/chrome/en-mac.jar
|
||||
seamonkey/chrome/en-unix.jar
|
||||
seamonkey/chrome/en-win.jar
|
||||
seamonkey/chrome/help.jar
|
||||
seamonkey/chrome/icons/
|
||||
seamonkey/chrome/icons/default/
|
||||
seamonkey/chrome/icons/default/abcardWindow.xpm
|
||||
seamonkey/chrome/icons/default/abcardWindow16.xpm
|
||||
seamonkey/chrome/icons/default/addressbookWindow.xpm
|
||||
seamonkey/chrome/icons/default/addressbookWindow16.xpm
|
||||
seamonkey/chrome/icons/default/bmPropsWindow.xpm
|
||||
seamonkey/chrome/icons/default/bmPropsWindow16.xpm
|
||||
seamonkey/chrome/icons/default/bookmark-window.xpm
|
||||
seamonkey/chrome/icons/default/bookmark-window16.xpm
|
||||
seamonkey/chrome/icons/default/calendar-window.xpm
|
||||
seamonkey/chrome/icons/default/calendar-window16.xpm
|
||||
seamonkey/chrome/icons/default/chatzilla-window.xpm
|
||||
seamonkey/chrome/icons/default/chatzilla-window16.xpm
|
||||
seamonkey/chrome/icons/default/default.xpm
|
||||
seamonkey/chrome/icons/default/default16.xpm
|
||||
seamonkey/chrome/icons/default/downloadManager.xpm
|
||||
seamonkey/chrome/icons/default/downloadManager16.xpm
|
||||
seamonkey/chrome/icons/default/editorWindow.xpm
|
||||
seamonkey/chrome/icons/default/editorWindow16.xpm
|
||||
seamonkey/chrome/icons/default/findBookmarkWindow.xpm
|
||||
seamonkey/chrome/icons/default/findBookmarkWindow16.xpm
|
||||
seamonkey/chrome/icons/default/findHistoryWindow.xpm
|
||||
seamonkey/chrome/icons/default/findHistoryWindow16.xpm
|
||||
seamonkey/chrome/icons/default/history-window.xpm
|
||||
seamonkey/chrome/icons/default/history-window16.xpm
|
||||
seamonkey/chrome/icons/default/jsconsoleWindow.xpm
|
||||
seamonkey/chrome/icons/default/jsconsoleWindow16.xpm
|
||||
seamonkey/chrome/icons/default/main-window.xpm
|
||||
seamonkey/chrome/icons/default/main-window16.xpm
|
||||
seamonkey/chrome/icons/default/messengerWindow.xpm
|
||||
seamonkey/chrome/icons/default/messengerWindow16.xpm
|
||||
seamonkey/chrome/icons/default/msgcomposeWindow.xpm
|
||||
seamonkey/chrome/icons/default/msgcomposeWindow16.xpm
|
||||
seamonkey/chrome/icons/default/seamonkey.png
|
||||
seamonkey/chrome/icons/default/venkman-window.xpm
|
||||
seamonkey/chrome/icons/default/venkman-window16.xpm
|
||||
seamonkey/chrome/icons/default/winInspectorMain.xpm
|
||||
seamonkey/chrome/icons/default/winInspectorMain16.xpm
|
||||
seamonkey/chrome/inspector.jar
|
||||
seamonkey/chrome/inspector.manifest
|
||||
seamonkey/chrome/installed-chrome.txt
|
||||
seamonkey/chrome/messenger.jar
|
||||
seamonkey/chrome/modern.jar
|
||||
seamonkey/chrome/pipnss.jar
|
||||
seamonkey/chrome/pippki.jar
|
||||
seamonkey/chrome/reporter.jar
|
||||
seamonkey/chrome/reporter.manifest
|
||||
seamonkey/chrome/sroaming.jar
|
||||
seamonkey/chrome/toolkit.jar
|
||||
seamonkey/chrome/venkman.jar
|
||||
seamonkey/components/
|
||||
seamonkey/components/accessibility-atk.xpt
|
||||
seamonkey/components/accessibility.xpt
|
||||
seamonkey/components/addrbook.xpt
|
||||
seamonkey/components/alerts.xpt
|
||||
seamonkey/components/appshell.xpt
|
||||
seamonkey/components/appstartup.xpt
|
||||
seamonkey/components/autocomplete.xpt
|
||||
seamonkey/components/autoconfig.xpt
|
||||
seamonkey/components/bookmarks.xpt
|
||||
seamonkey/components/caps.xpt
|
||||
seamonkey/components/chardet.xpt
|
||||
seamonkey/components/chatzilla-service.js
|
||||
seamonkey/components/chrome.xpt
|
||||
seamonkey/components/commandhandler.xpt
|
||||
seamonkey/components/composer.xpt
|
||||
seamonkey/components/content_base.xpt
|
||||
seamonkey/components/content_html.xpt
|
||||
seamonkey/components/content_htmldoc.xpt
|
||||
seamonkey/components/content_xmldoc.xpt
|
||||
seamonkey/components/content_xslt.xpt
|
||||
seamonkey/components/content_xtf.xpt
|
||||
seamonkey/components/cookie.xpt
|
||||
seamonkey/components/directory.xpt
|
||||
seamonkey/components/docshell.xpt
|
||||
seamonkey/components/dom.xpt
|
||||
seamonkey/components/dom_base.xpt
|
||||
seamonkey/components/dom_canvas.xpt
|
||||
seamonkey/components/dom_core.xpt
|
||||
seamonkey/components/dom_css.xpt
|
||||
seamonkey/components/dom_events.xpt
|
||||
seamonkey/components/dom_html.xpt
|
||||
seamonkey/components/dom_loadsave.xpt
|
||||
seamonkey/components/dom_range.xpt
|
||||
seamonkey/components/dom_stylesheets.xpt
|
||||
seamonkey/components/dom_svg.xpt
|
||||
seamonkey/components/dom_traversal.xpt
|
||||
seamonkey/components/dom_views.xpt
|
||||
seamonkey/components/dom_xbl.xpt
|
||||
seamonkey/components/dom_xpath.xpt
|
||||
seamonkey/components/dom_xul.xpt
|
||||
seamonkey/components/downloadmanager.xpt
|
||||
seamonkey/components/editor.xpt
|
||||
seamonkey/components/embed_base.xpt
|
||||
seamonkey/components/extensions.xpt
|
||||
seamonkey/components/exthandler.xpt
|
||||
seamonkey/components/filepicker.xpt
|
||||
seamonkey/components/find.xpt
|
||||
seamonkey/components/gfx.xpt
|
||||
seamonkey/components/gksvgrenderer.xpt
|
||||
seamonkey/components/history.xpt
|
||||
seamonkey/components/htmlparser.xpt
|
||||
seamonkey/components/imglib2.xpt
|
||||
seamonkey/components/impComm4xMail.xpt
|
||||
seamonkey/components/import.xpt
|
||||
seamonkey/components/inspector-cmdline.js
|
||||
seamonkey/components/inspector.xpt
|
||||
seamonkey/components/intl.xpt
|
||||
seamonkey/components/jar.xpt
|
||||
seamonkey/components/jsconsole-clhandler.js
|
||||
seamonkey/components/jsconsole.xpt
|
||||
seamonkey/components/jsdservice.xpt
|
||||
seamonkey/components/layout_base.xpt
|
||||
seamonkey/components/layout_printing.xpt
|
||||
seamonkey/components/layout_xul.xpt
|
||||
seamonkey/components/layout_xul_tree.xpt
|
||||
seamonkey/components/locale.xpt
|
||||
seamonkey/components/lwbrk.xpt
|
||||
seamonkey/components/mailnews.xpt
|
||||
seamonkey/components/mailview.xpt
|
||||
seamonkey/components/mdn-service.js
|
||||
seamonkey/components/mime.xpt
|
||||
seamonkey/components/mimetype.xpt
|
||||
seamonkey/components/mozbrwsr.xpt
|
||||
seamonkey/components/mozfind.xpt
|
||||
seamonkey/components/mozldap.xpt
|
||||
seamonkey/components/msgbase.xpt
|
||||
seamonkey/components/msgcompose.xpt
|
||||
seamonkey/components/msgdb.xpt
|
||||
seamonkey/components/msgimap.xpt
|
||||
seamonkey/components/msglocal.xpt
|
||||
seamonkey/components/msgnews.xpt
|
||||
seamonkey/components/msgsearch.xpt
|
||||
seamonkey/components/msgsmime.xpt
|
||||
seamonkey/components/myspell/
|
||||
seamonkey/components/myspell/en-US.aff
|
||||
seamonkey/components/myspell/en-US.dic
|
||||
seamonkey/components/necko.xpt
|
||||
seamonkey/components/necko_about.xpt
|
||||
seamonkey/components/necko_cache.xpt
|
||||
seamonkey/components/necko_cookie.xpt
|
||||
seamonkey/components/necko_data.xpt
|
||||
seamonkey/components/necko_dns.xpt
|
||||
seamonkey/components/necko_file.xpt
|
||||
seamonkey/components/necko_ftp.xpt
|
||||
seamonkey/components/necko_http.xpt
|
||||
seamonkey/components/necko_res.xpt
|
||||
seamonkey/components/necko_socket.xpt
|
||||
seamonkey/components/necko_strconv.xpt
|
||||
seamonkey/components/necko_viewsource.xpt
|
||||
seamonkey/components/nsAbLDAPAttributeMap.js
|
||||
seamonkey/components/nsCloseAllWindows.js
|
||||
seamonkey/components/nsComposerCmdLineHandler.js
|
||||
seamonkey/components/nsDictionary.js
|
||||
seamonkey/components/nsDownloadProgressListener.js
|
||||
seamonkey/components/nsFilePicker.js
|
||||
seamonkey/components/nsHelperAppDlg.js
|
||||
seamonkey/components/nsInterfaceInfoToIDL.js
|
||||
seamonkey/components/nsKillAll.js
|
||||
seamonkey/components/nsLDAPPrefsService.js
|
||||
seamonkey/components/nsProgressDialog.js
|
||||
seamonkey/components/nsProxyAutoConfig.js
|
||||
seamonkey/components/nsResetPref.js
|
||||
seamonkey/components/nsSidebar.js
|
||||
seamonkey/components/nsUpdateNotifier.js
|
||||
seamonkey/components/nsXmlRpcClient.js
|
||||
seamonkey/components/offlineStartup.js
|
||||
seamonkey/components/oji.xpt
|
||||
seamonkey/components/p3p.xpt
|
||||
seamonkey/components/pipboot.xpt
|
||||
seamonkey/components/pipnss.xpt
|
||||
seamonkey/components/pippki.xpt
|
||||
seamonkey/components/plugin.xpt
|
||||
seamonkey/components/pref.xpt
|
||||
seamonkey/components/prefetch.xpt
|
||||
seamonkey/components/prefmigr.xpt
|
||||
seamonkey/components/profile.xpt
|
||||
seamonkey/components/progressDlg.xpt
|
||||
seamonkey/components/proxyObjInst.xpt
|
||||
seamonkey/components/rdf.xpt
|
||||
seamonkey/components/related.xpt
|
||||
seamonkey/components/search.xpt
|
||||
seamonkey/components/shistory.xpt
|
||||
seamonkey/components/sidebar.xpt
|
||||
seamonkey/components/signonviewer.xpt
|
||||
seamonkey/components/smime-service.js
|
||||
seamonkey/components/spellchecker.xpt
|
||||
seamonkey/components/toolkitremote.xpt
|
||||
seamonkey/components/txmgr.xpt
|
||||
seamonkey/components/txtsvc.xpt
|
||||
seamonkey/components/typeaheadfind.xpt
|
||||
seamonkey/components/uconv.xpt
|
||||
seamonkey/components/unicharutil.xpt
|
||||
seamonkey/components/uriloader.xpt
|
||||
seamonkey/components/venkman-service.js
|
||||
seamonkey/components/wallet.xpt
|
||||
seamonkey/components/walleteditor.xpt
|
||||
seamonkey/components/walletpreview.xpt
|
||||
seamonkey/components/webBrowser_core.xpt
|
||||
seamonkey/components/webbrowserpersist.xpt
|
||||
seamonkey/components/webshell_idls.xpt
|
||||
seamonkey/components/websrvcs.xpt
|
||||
seamonkey/components/widget.xpt
|
||||
seamonkey/components/windowds.xpt
|
||||
seamonkey/components/windowwatcher.xpt
|
||||
seamonkey/components/xml-rpc.xpt
|
||||
seamonkey/components/xmlextras.xpt
|
||||
seamonkey/components/xpcom_base.xpt
|
||||
seamonkey/components/xpcom_components.xpt
|
||||
seamonkey/components/xpcom_ds.xpt
|
||||
seamonkey/components/xpcom_io.xpt
|
||||
seamonkey/components/xpcom_obsolete.xpt
|
||||
seamonkey/components/xpcom_threads.xpt
|
||||
seamonkey/components/xpcom_xpti.xpt
|
||||
seamonkey/components/xpconnect.xpt
|
||||
seamonkey/components/xpinstall.xpt
|
||||
seamonkey/components/xremoteservice.xpt
|
||||
seamonkey/components/xulappinfo.js
|
||||
seamonkey/components/xulappinfo.xpt
|
||||
seamonkey/components/xuldoc.xpt
|
||||
seamonkey/components/xultmpl.xpt
|
||||
seamonkey/defaults/
|
||||
seamonkey/defaults/autoconfig/
|
||||
seamonkey/defaults/autoconfig/platform.js
|
||||
seamonkey/defaults/autoconfig/prefcalls.js
|
||||
seamonkey/defaults/isp/
|
||||
seamonkey/defaults/isp/US/
|
||||
seamonkey/defaults/isp/US/movemail.rdf
|
||||
seamonkey/defaults/isp/movemail.rdf
|
||||
seamonkey/defaults/messenger/
|
||||
seamonkey/defaults/messenger/SpamAssassin.sfd
|
||||
seamonkey/defaults/messenger/SpamPal.sfd
|
||||
seamonkey/defaults/messenger/US/
|
||||
seamonkey/defaults/messenger/US/mailViews.dat
|
||||
seamonkey/defaults/messenger/mailViews.dat
|
||||
seamonkey/defaults/pref/
|
||||
seamonkey/defaults/pref/browser-prefs.js
|
||||
seamonkey/defaults/pref/composer.js
|
||||
seamonkey/defaults/pref/inspector.js
|
||||
seamonkey/defaults/pref/mailnews.js
|
||||
seamonkey/defaults/pref/mdn.js
|
||||
seamonkey/defaults/pref/reporter.js
|
||||
seamonkey/defaults/pref/smime.js
|
||||
seamonkey/defaults/profile/
|
||||
seamonkey/defaults/profile/US/
|
||||
seamonkey/defaults/profile/US/bookmarks.html
|
||||
seamonkey/defaults/profile/US/chrome/
|
||||
seamonkey/defaults/profile/US/chrome/userChrome-example.css
|
||||
seamonkey/defaults/profile/US/chrome/userContent-example.css
|
||||
seamonkey/defaults/profile/US/localstore.rdf
|
||||
seamonkey/defaults/profile/US/mimeTypes.rdf
|
||||
seamonkey/defaults/profile/US/panels.rdf
|
||||
seamonkey/defaults/profile/US/search.rdf
|
||||
seamonkey/defaults/profile/bookmarks.html
|
||||
seamonkey/defaults/profile/chrome/
|
||||
seamonkey/defaults/profile/chrome/userChrome-example.css
|
||||
seamonkey/defaults/profile/chrome/userContent-example.css
|
||||
seamonkey/defaults/profile/localstore.rdf
|
||||
seamonkey/defaults/profile/mimeTypes.rdf
|
||||
seamonkey/defaults/profile/panels.rdf
|
||||
seamonkey/defaults/profile/search.rdf
|
||||
seamonkey/defaults/wallet/
|
||||
seamonkey/defaults/wallet/DistinguishedSchema.tbl
|
||||
seamonkey/defaults/wallet/FieldSchema.tbl
|
||||
seamonkey/defaults/wallet/PositionalSchema.tbl
|
||||
seamonkey/defaults/wallet/SchemaConcat.tbl
|
||||
seamonkey/defaults/wallet/SchemaStrings.tbl
|
||||
seamonkey/defaults/wallet/StateSchema.tbl
|
||||
seamonkey/defaults/wallet/VcardSchema.tbl
|
||||
seamonkey/greprefs/
|
||||
seamonkey/greprefs/all.js
|
||||
seamonkey/greprefs/security-prefs.js
|
||||
seamonkey/greprefs/xpinstall.js
|
||||
seamonkey/mangle
|
||||
seamonkey/mozilla-xremote-client
|
||||
seamonkey/nsinstall
|
||||
seamonkey/regxpcom
|
||||
seamonkey/res/
|
||||
seamonkey/res/EditorOverride.css
|
||||
seamonkey/res/arrow.gif
|
||||
seamonkey/res/arrowd.gif
|
||||
seamonkey/res/bloatcycle.html
|
||||
seamonkey/res/broken-image.gif
|
||||
seamonkey/res/charsetData.properties
|
||||
seamonkey/res/charsetalias.properties
|
||||
seamonkey/res/cmessage.txt
|
||||
seamonkey/res/dtd/
|
||||
seamonkey/res/dtd/mathml.dtd
|
||||
seamonkey/res/dtd/xhtml11.dtd
|
||||
seamonkey/res/entityTables/
|
||||
seamonkey/res/entityTables/html40Latin1.properties
|
||||
seamonkey/res/entityTables/html40Special.properties
|
||||
seamonkey/res/entityTables/html40Symbols.properties
|
||||
seamonkey/res/entityTables/htmlEntityVersions.properties
|
||||
seamonkey/res/entityTables/mathml20.properties
|
||||
seamonkey/res/entityTables/transliterate.properties
|
||||
seamonkey/res/fonts/
|
||||
seamonkey/res/fonts/fontEncoding.properties
|
||||
seamonkey/res/fonts/mathfont.properties
|
||||
seamonkey/res/fonts/mathfontCMEX10.properties
|
||||
seamonkey/res/fonts/mathfontCMSY10.properties
|
||||
seamonkey/res/fonts/mathfontMTExtra.properties
|
||||
seamonkey/res/fonts/mathfontMath1.properties
|
||||
seamonkey/res/fonts/mathfontMath2.properties
|
||||
seamonkey/res/fonts/mathfontMath4.properties
|
||||
seamonkey/res/fonts/mathfontPUA.properties
|
||||
seamonkey/res/fonts/mathfontSymbol.properties
|
||||
seamonkey/res/fonts/pangoFontEncoding.properties
|
||||
seamonkey/res/forms.css
|
||||
seamonkey/res/grabber.gif
|
||||
seamonkey/res/hiddenWindow.html
|
||||
seamonkey/res/html/
|
||||
seamonkey/res/html.css
|
||||
seamonkey/res/html/gopher-audio.gif
|
||||
seamonkey/res/html/gopher-binary.gif
|
||||
seamonkey/res/html/gopher-find.gif
|
||||
seamonkey/res/html/gopher-image.gif
|
||||
seamonkey/res/html/gopher-menu.gif
|
||||
seamonkey/res/html/gopher-movie.gif
|
||||
seamonkey/res/html/gopher-sound.gif
|
||||
seamonkey/res/html/gopher-telnet.gif
|
||||
seamonkey/res/html/gopher-text.gif
|
||||
seamonkey/res/html/gopher-unknown.gif
|
||||
seamonkey/res/langGroups.properties
|
||||
seamonkey/res/language.properties
|
||||
seamonkey/res/loading-image.gif
|
||||
seamonkey/res/mathml.css
|
||||
seamonkey/res/quirk.css
|
||||
seamonkey/res/sample.unixpsfonts.properties
|
||||
seamonkey/res/samples/
|
||||
seamonkey/res/samples/Anieyes.gif
|
||||
seamonkey/res/samples/aform.css
|
||||
seamonkey/res/samples/beeptest.html
|
||||
seamonkey/res/samples/bform.css
|
||||
seamonkey/res/samples/bg.jpg
|
||||
seamonkey/res/samples/cform.css
|
||||
seamonkey/res/samples/checkboxTest.xul
|
||||
seamonkey/res/samples/colorpicker.xul
|
||||
seamonkey/res/samples/demoform.css
|
||||
seamonkey/res/samples/dexopenchrome.xul
|
||||
seamonkey/res/samples/dexparamdialog.html
|
||||
seamonkey/res/samples/dexparamdialog.xul
|
||||
seamonkey/res/samples/find.html
|
||||
seamonkey/res/samples/gear1.gif
|
||||
seamonkey/res/samples/hidetoolicon.css
|
||||
seamonkey/res/samples/hidetoolicon.xul
|
||||
seamonkey/res/samples/image_props.html
|
||||
seamonkey/res/samples/mozform.css
|
||||
seamonkey/res/samples/printsetup.html
|
||||
seamonkey/res/samples/raptor.jpg
|
||||
seamonkey/res/samples/rock_gra.gif
|
||||
seamonkey/res/samples/sampleimages/
|
||||
seamonkey/res/samples/sampleimages/bongo.gif
|
||||
seamonkey/res/samples/sampleimages/down.gif
|
||||
seamonkey/res/samples/sampleimages/left.gif
|
||||
seamonkey/res/samples/sampleimages/right.gif
|
||||
seamonkey/res/samples/sampleimages/up.gif
|
||||
seamonkey/res/samples/scrollbarTest1.xul
|
||||
seamonkey/res/samples/scrollbarTest2.xul
|
||||
seamonkey/res/samples/sliderTest1.xul
|
||||
seamonkey/res/samples/soundtest.html
|
||||
seamonkey/res/samples/tab.xul
|
||||
seamonkey/res/samples/test.wav
|
||||
seamonkey/res/samples/test0.html
|
||||
seamonkey/res/samples/test1.html
|
||||
seamonkey/res/samples/test10.html
|
||||
seamonkey/res/samples/test11.html
|
||||
seamonkey/res/samples/test12.html
|
||||
seamonkey/res/samples/test13.html
|
||||
seamonkey/res/samples/test14.html
|
||||
seamonkey/res/samples/test15.html
|
||||
seamonkey/res/samples/test16.html
|
||||
seamonkey/res/samples/test2.html
|
||||
seamonkey/res/samples/test3.html
|
||||
seamonkey/res/samples/test4.html
|
||||
seamonkey/res/samples/test5.html
|
||||
seamonkey/res/samples/test6.html
|
||||
seamonkey/res/samples/test7.html
|
||||
seamonkey/res/samples/test8-1.html
|
||||
seamonkey/res/samples/test8.html
|
||||
seamonkey/res/samples/test8dom.html
|
||||
seamonkey/res/samples/test8sca.html
|
||||
seamonkey/res/samples/test8siz.html
|
||||
seamonkey/res/samples/test8tab.html
|
||||
seamonkey/res/samples/test9.html
|
||||
seamonkey/res/samples/test9a.html
|
||||
seamonkey/res/samples/test9b.html
|
||||
seamonkey/res/samples/test_ed.html
|
||||
seamonkey/res/samples/test_form.html
|
||||
seamonkey/res/samples/test_gfx.html
|
||||
seamonkey/res/samples/test_lbox.html
|
||||
seamonkey/res/samples/test_pr.html
|
||||
seamonkey/res/samples/test_weight.html
|
||||
seamonkey/res/samples/toolbarTest1.xul
|
||||
seamonkey/res/samples/treeTest1.css
|
||||
seamonkey/res/samples/treeTest1.xul
|
||||
seamonkey/res/samples/widgets.xul
|
||||
seamonkey/res/samples/xpmenu.xul
|
||||
seamonkey/res/samples/xulTest.css
|
||||
seamonkey/res/svg.css
|
||||
seamonkey/res/table-add-column-after-active.gif
|
||||
seamonkey/res/table-add-column-after-hover.gif
|
||||
seamonkey/res/table-add-column-after.gif
|
||||
seamonkey/res/table-add-column-before-active.gif
|
||||
seamonkey/res/table-add-column-before-hover.gif
|
||||
seamonkey/res/table-add-column-before.gif
|
||||
seamonkey/res/table-add-row-after-active.gif
|
||||
seamonkey/res/table-add-row-after-hover.gif
|
||||
seamonkey/res/table-add-row-after.gif
|
||||
seamonkey/res/table-add-row-before-active.gif
|
||||
seamonkey/res/table-add-row-before-hover.gif
|
||||
seamonkey/res/table-add-row-before.gif
|
||||
seamonkey/res/table-remove-column-active.gif
|
||||
seamonkey/res/table-remove-column-hover.gif
|
||||
seamonkey/res/table-remove-column.gif
|
||||
seamonkey/res/table-remove-row-active.gif
|
||||
seamonkey/res/table-remove-row-hover.gif
|
||||
seamonkey/res/table-remove-row.gif
|
||||
seamonkey/res/throbber/
|
||||
seamonkey/res/throbber/anim.gif
|
||||
seamonkey/res/throbber/anims00.gif
|
||||
seamonkey/res/throbber/anims01.gif
|
||||
seamonkey/res/throbber/anims02.gif
|
||||
seamonkey/res/throbber/anims03.gif
|
||||
seamonkey/res/throbber/anims04.gif
|
||||
seamonkey/res/throbber/anims05.gif
|
||||
seamonkey/res/throbber/anims06.gif
|
||||
seamonkey/res/throbber/anims07.gif
|
||||
seamonkey/res/throbber/anims08.gif
|
||||
seamonkey/res/throbber/anims09.gif
|
||||
seamonkey/res/throbber/anims10.gif
|
||||
seamonkey/res/throbber/anims11.gif
|
||||
seamonkey/res/throbber/anims12.gif
|
||||
seamonkey/res/throbber/anims13.gif
|
||||
seamonkey/res/throbber/anims14.gif
|
||||
seamonkey/res/throbber/anims15.gif
|
||||
seamonkey/res/throbber/anims16.gif
|
||||
seamonkey/res/throbber/anims17.gif
|
||||
seamonkey/res/throbber/anims18.gif
|
||||
seamonkey/res/throbber/anims19.gif
|
||||
seamonkey/res/throbber/anims20.gif
|
||||
seamonkey/res/throbber/anims21.gif
|
||||
seamonkey/res/throbber/anims22.gif
|
||||
seamonkey/res/throbber/anims23.gif
|
||||
seamonkey/res/throbber/anims24.gif
|
||||
seamonkey/res/throbber/anims25.gif
|
||||
seamonkey/res/throbber/anims26.gif
|
||||
seamonkey/res/throbber/anims27.gif
|
||||
seamonkey/res/throbber/anims28.gif
|
||||
seamonkey/res/throbber/anims29.gif
|
||||
seamonkey/res/ua.css
|
||||
seamonkey/res/unixcharset.properties
|
||||
seamonkey/res/viewer.properties
|
||||
seamonkey/res/viewsource.css
|
||||
seamonkey/run-mozilla.sh
|
||||
seamonkey/seamonkey-bin
|
||||
seamonkey/searchplugins/
|
||||
seamonkey/searchplugins/dmoz.gif
|
||||
seamonkey/searchplugins/dmoz.src
|
||||
seamonkey/searchplugins/google.gif
|
||||
seamonkey/searchplugins/google.src
|
||||
seamonkey/searchplugins/jeeves.gif
|
||||
seamonkey/searchplugins/jeeves.src
|
||||
seamonkey/shlibsign
|
||||
seamonkey/xpcshell
|
||||
seamonkey/xpicleanup
|
||||
seamonkey/xpt_dump
|
||||
seamonkey/xpt_link
|
Loading…
x
Reference in New Issue
Block a user