minimo-20050524, mini mozilla
this is smaller than firefox and has special handling for small screens which is useful for machines like the zaurus. unfortunately, it's not there yet, see the TODO. please don't add this to the www Makefile yet.
This commit is contained in:
parent
b21fe93462
commit
35944f86f2
149
www/minimo/Makefile
Normal file
149
www/minimo/Makefile
Normal file
@ -0,0 +1,149 @@
|
||||
# $OpenBSD: Makefile,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
ONLY_FOR_ARCHS= alpha i386 sparc sparc64 amd64 powerpc
|
||||
|
||||
COMMENT= "mini mozilla"
|
||||
DISTNAME= minimo-20050524
|
||||
CATEGORIES= www
|
||||
MASTER_SITES= http://mirrors.protection.cx/~jolan/
|
||||
|
||||
# NOTE: Must bump minor version if any shlib's are removed from the
|
||||
# components dir to avoid pkg_add -r issues.
|
||||
SO_VERSION= 2.0
|
||||
|
||||
HOMEPAGE= http://www.mozilla.org/projects/minimo/
|
||||
|
||||
# MPL
|
||||
PERMIT_PACKAGE_CDROM= Yes
|
||||
PERMIT_PACKAGE_FTP= Yes
|
||||
PERMIT_DISTFILES_CDROM= Yes
|
||||
PERMIT_DISTFILES_FTP= Yes
|
||||
|
||||
MODULES= devel/gettext
|
||||
|
||||
BUILD_DEPENDS= :zip->=2.3:archivers/zip \
|
||||
:unzip-*:archivers/unzip \
|
||||
:libIDL-*:devel/libIDL \
|
||||
:pkgconfig-*:devel/pkgconfig
|
||||
LIB_DEPENDS= jpeg.62::graphics/jpeg \
|
||||
png.3::graphics/png \
|
||||
gdk-x11-2.0.600.0,gdk_pixbuf-2.0.600.0,gtk-x11-2.0.600.0::x11/gtk+2
|
||||
WANTLIB= ICE SM X11 Xft Xrender Xt c fontconfig freetype m pthread \
|
||||
stdc++ z \
|
||||
atk-1.0.1011.0 glib-2.0.600.0 gmodule-2.0.600.0 \
|
||||
gobject-2.0.600.0 pango-1.0.800.0 pangox-1.0.800.0 \
|
||||
pangoxft-1.0.800.0
|
||||
|
||||
NO_REGRESS= Yes
|
||||
USE_GMAKE= Yes
|
||||
USE_X11= Yes
|
||||
VMEM_WARNING= Yes
|
||||
SUBST_VARS= LOCALBASE SO_VERSION
|
||||
|
||||
WRKDIST= ${WRKDIR}/mozilla
|
||||
|
||||
MODGNU_CONFIG_GUESS_DIRS= ${WRKSRC}/build/autoconf \
|
||||
${WRKSRC}/nsprpub/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 \
|
||||
--without-system-nspr \
|
||||
--enable-optimize=-Os \
|
||||
--disable-pedantic \
|
||||
--disable-debug \
|
||||
--disable-v1-string-abi \
|
||||
--enable-default-toolkit=gtk2 \
|
||||
--enable-xft \
|
||||
--disable-freetype2 \
|
||||
--disable-xul \
|
||||
--disable-profilesharing \
|
||||
--disable-profilelocking \
|
||||
--enable-single-profile \
|
||||
--disable-extensions \
|
||||
--disable-accessibility \
|
||||
--disable-composer \
|
||||
--enable-plaintext-editor-only \
|
||||
--disable-mailnews \
|
||||
--disable-ldap \
|
||||
--disable-postscript \
|
||||
--disable-mathml \
|
||||
--disable-jsd \
|
||||
--disable-jsloader \
|
||||
--disable-installer \
|
||||
--disable-xpinstall \
|
||||
--disable-xpfe-components \
|
||||
--disable-xprint \
|
||||
--disable-necko-disk-cache \
|
||||
--disable-plugins \
|
||||
--enable-necko-small-buffers \
|
||||
--disable-dtd-debug \
|
||||
--disable-logging \
|
||||
--disable-tests \
|
||||
--enable-crypto \
|
||||
--enable-necko-protocols=http,file,res,jar \
|
||||
--enable-image-decoders=png,gif,jpeg \
|
||||
--enable-application=suite
|
||||
|
||||
CONFIGURE_ARGS+=--enable-debug
|
||||
INSTALL_STRIP=
|
||||
|
||||
CONFIGURE_ENV= PKG_CONFIG_PATH="${LOCALBASE}/lib/pkgconfig:${X11BASE}/lib/pkgconfig" \
|
||||
MINIMO=1 \
|
||||
SO_VERSION=${SO_VERSION}
|
||||
#ac_cv_cpp_dynamic_cast_void_ptr="no"
|
||||
|
||||
MAKE_ENV= LD_LIBRARY_PATH="${WRKSRC}/dist/bin" \
|
||||
MINIMO=1 \
|
||||
SO_VERSION=${SO_VERSION}
|
||||
|
||||
MOB= ${WRKSRC}/dist
|
||||
MOZ= ${PREFIX}/minimo
|
||||
|
||||
post-extract:
|
||||
@cp ${FILESDIR}/xptc* ${WRKSRC}/xpcom/reflect/xptcall/src/md/unix/
|
||||
|
||||
pre-configure:
|
||||
@cd ${WRKSRC}/nsprpub && ${SETENV} ${AUTOCONF_ENV} ${AUTOCONF}
|
||||
@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}/nsprpub/pr/include/md/_openbsd.h \
|
||||
${WRKSRC}/xpcom/components/nsNativeComponentLoader.cpp
|
||||
|
||||
post-build:
|
||||
cd ${WRKSRC}/embedding/config && ${MAKE_PROGRAM}
|
||||
cd ${WRKSRC}/embedding/config && ${MAKE_PROGRAM} merge_xpt
|
||||
|
||||
do-install:
|
||||
mkdir -p ${WRKDIR}/chrome
|
||||
${UNZIP} -jod ${WRKDIR}/chrome \
|
||||
${WRKSRC}/dist/Embed/chrome/embed.jar
|
||||
${INSTALL_DATA_DIR} ${MOZ}/chrome
|
||||
${INSTALL_DATA} ${WRKDIR}/chrome/* ${MOZ}/chrome
|
||||
.for dir in components greprefs res
|
||||
${INSTALL_DATA_DIR} ${MOZ}/${dir}
|
||||
@cd ${MOB}/bin && ${TAR} -chf - ${dir} | \
|
||||
${TAR} -xf - -C ${MOZ}
|
||||
.endfor
|
||||
${INSTALL_DATA_DIR} ${MOZ}/greprefs
|
||||
${INSTALL_DATA} ${MOB}/bin/greprefs/* ${MOZ}/greprefs
|
||||
${INSTALL_DATA} ${WRKSRC}/embedding/minimo/all.js \
|
||||
${MOZ}/greprefs
|
||||
@cd ${MOB}/bin && ${TAR} -chf - *.so.?.? | \
|
||||
${TAR} -xf - -C ${MOZ}
|
||||
@chmod 444 ${MOZ}/*.so.?.? ${MOZ}/components/*.so.?.? ${MOZ}/components/*.js
|
||||
${INSTALL_PROGRAM} ${MOB}/bin/regxpcom ${MOZ}
|
||||
${INSTALL_PROGRAM} ${MOB}/bin/Minimo ${MOZ}/minimo-bin
|
||||
sed s,mozilla-bin,minimo-bin,g ${MOB}/bin/run-mozilla.sh > \
|
||||
${MOB}/bin/run-minimo.sh
|
||||
${INSTALL_DATA} ${WRKSRC}/LICENSE ${FILESDIR}/TODO ${MOZ}
|
||||
${INSTALL_SCRIPT} ${MOB}/bin/run-minimo.sh ${MOZ}
|
||||
${INSTALL_SCRIPT} ${FILESDIR}/minimo ${PREFIX}/bin
|
||||
|
||||
.include <bsd.port.mk>
|
4
www/minimo/distinfo
Normal file
4
www/minimo/distinfo
Normal file
@ -0,0 +1,4 @@
|
||||
MD5 (minimo-20050524.tar.gz) = 1a3376fcddec94c64f6ebc9edf0bd6b6
|
||||
RMD160 (minimo-20050524.tar.gz) = b86aa7ead301c595fcf8b076f47253407540ee89
|
||||
SHA1 (minimo-20050524.tar.gz) = eef347c91b937d54bc68a6b00df61547545132ee
|
||||
SIZE (minimo-20050524.tar.gz) = 44413715
|
12
www/minimo/files/TODO
Normal file
12
www/minimo/files/TODO
Normal file
@ -0,0 +1,12 @@
|
||||
# $Id: TODO,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
|
||||
- keep it from crashing...
|
||||
- zaurus/arm support (need proper xptc asm stubs for arm)
|
||||
- some patches from mozilla don't apply anymore, need to doublecheck them:
|
||||
patch-gfx_src_gtk_nsDeviceContextSpecG_cpp
|
||||
patch-nsprpub_pr_src_io_prprf_c
|
||||
- configure looks for libgnomeui
|
||||
- make sure gnomevfs isn't needed
|
||||
- don't hardcode /usr/local in ${FILESDIR}/minimo
|
||||
- ~/.Minimo -> ~/.minimo maybe
|
||||
- install method could use some tweaks
|
176
www/minimo/files/minimo
Normal file
176
www/minimo/files/minimo
Normal file
@ -0,0 +1,176 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# The contents of this file are subject to the Netscape Public License
|
||||
# Version 1.0 (the "NPL"); you may not use this file except in
|
||||
# compliance with the NPL. You may obtain a copy of the NPL at
|
||||
# http://www.mozilla.org/NPL/
|
||||
#
|
||||
# Software distributed under the NPL is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
|
||||
# for the specific language governing rights and limitations under the
|
||||
# NPL.
|
||||
#
|
||||
# The Initial Developer of this code under the NPL is Netscape
|
||||
# Communications Corporation. Portions created by Netscape are
|
||||
# Copyright (C) 1998 Netscape Communications Corporation. All Rights
|
||||
# Reserved.
|
||||
#
|
||||
|
||||
## $Id: minimo,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
##
|
||||
## Usage:
|
||||
##
|
||||
## $ mozilla [args]
|
||||
##
|
||||
## This script is meant to run the mozilla-bin binary from either
|
||||
## mozilla/xpfe/bootstrap or mozilla/dist/bin.
|
||||
##
|
||||
## The script will setup all the environment voodoo needed to make
|
||||
## the mozilla-bin binary to work.
|
||||
##
|
||||
|
||||
moz_pis_startstop_scripts()
|
||||
{
|
||||
MOZ_USER_DIR=".minimo"
|
||||
# MOZ_PIS_ is the name space for "Mozilla Plugable Init Scripts"
|
||||
# These variables and there meaning are specified in
|
||||
# mozilla/xpfe/bootstrap/init.d/README
|
||||
MOZ_PIS_API=2
|
||||
MOZ_PIS_MOZBINDIR="${dist_bin}"
|
||||
MOZ_PIS_SESSION_PID="$$"
|
||||
MOZ_PIS_USER_DIR="${MOZ_USER_DIR}"
|
||||
export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR
|
||||
|
||||
case "${1}" in
|
||||
"start")
|
||||
for curr_pis in "${dist_bin}/init.d"/S* "${HOME}/${MOZ_USER_DIR}/init.d"/S* ; do
|
||||
if [ -x "${curr_pis}" ] ; then
|
||||
case "${curr_pis}" in
|
||||
*.sh) . "${curr_pis}" ;;
|
||||
*) "${curr_pis}" "start" ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
;;
|
||||
"stop")
|
||||
for curr_pis in "${HOME}/${MOZ_USER_DIR}/init.d"/K* "${dist_bin}/init.d"/K* ; do
|
||||
if [ -x "${curr_pis}" ] ; then
|
||||
case "${curr_pis}" in
|
||||
*.sh) . "${curr_pis}" ;;
|
||||
*) "${curr_pis}" "stop" ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
;;
|
||||
*)
|
||||
echo 1>&2 "$0: Internal error in moz_pis_startstop_scripts."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
#uncomment for debugging
|
||||
#set -x
|
||||
|
||||
moz_libdir=/usr/local/minimo
|
||||
MOZ_PLUGIN_PATH=/usr/local/lib/mozilla-plugins
|
||||
MRE_HOME=/usr/local/lib/mre/mre-1.7.6
|
||||
|
||||
# honor MOZILLA_FIVE_HOME if it's there
|
||||
if [ -n "$MOZILLA_FIVE_HOME" ] ; then
|
||||
dist_bin="$MOZILLA_FIVE_HOME"
|
||||
else
|
||||
# Use run-minimo.sh in the current dir if it exists
|
||||
# If not, then start resolving symlinks until we find run-mozilla.sh
|
||||
found=0
|
||||
progname=$0
|
||||
curdir=`dirname "$progname"`
|
||||
run_moz="$curdir/run-minimo.sh"
|
||||
if test -x "$run_moz"; then
|
||||
dist_bin=$curdir
|
||||
found=1
|
||||
else
|
||||
here=`/bin/pwd`
|
||||
while [ -h "$progname" ]; do
|
||||
bn=`basename "$progname"`
|
||||
cd `dirname "$progname"`
|
||||
progname=`/bin/ls -l "$bn" |sed -e 's/^.* -> //' `
|
||||
if [ ! -x "$progname" ]; then
|
||||
break
|
||||
fi
|
||||
curdir=`dirname "$progname"`
|
||||
run_moz="$curdir/run-minimo.sh"
|
||||
if [ -x "$run_moz" ]; then
|
||||
cd "$curdir"
|
||||
dist_bin=`pwd`
|
||||
found=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
cd "$here"
|
||||
fi
|
||||
if [ $found = 0 ]; then
|
||||
# Check default compile-time libdir
|
||||
if [ -x "$moz_libdir/run-minimo.sh" ]; then
|
||||
dist_bin=$moz_libdir
|
||||
else
|
||||
echo "Cannot find minimo runtime directory. Exiting."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
script_args=""
|
||||
moreargs=""
|
||||
debugging=0
|
||||
MOZILLA_BIN="minimo-bin"
|
||||
|
||||
if [ "$OSTYPE" = "beos" ]; then
|
||||
mimeset -F $MOZILLA_BIN
|
||||
fi
|
||||
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
case "$1" in
|
||||
-p | -pure)
|
||||
MOZILLA_BIN="minimo-bin.pure"
|
||||
shift
|
||||
;;
|
||||
-g | --debug)
|
||||
script_args="$script_args -g"
|
||||
debugging=1
|
||||
shift
|
||||
;;
|
||||
-d | --debugger)
|
||||
script_args="$script_args -d $2"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
moreargs="$moreargs \"$1\""
|
||||
shift 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ `/usr/X11R6/bin/fc-list | wc -l` -eq 0 ]
|
||||
then export GDK_USE_XFT=0
|
||||
fi
|
||||
|
||||
export MOZ_PLUGIN_PATH MRE_HOME
|
||||
eval "set -- $moreargs"
|
||||
|
||||
## Start addon scripts
|
||||
moz_pis_startstop_scripts "start"
|
||||
|
||||
if [ $debugging = 1 ]
|
||||
then
|
||||
echo $dist_bin/run-minimo.sh $script_args $dist_bin/$MOZILLA_BIN "$@"
|
||||
fi
|
||||
"$dist_bin/run-minimo.sh" $script_args "$dist_bin/$MOZILLA_BIN" "$@"
|
||||
exitcode=$?
|
||||
|
||||
## Stop addon scripts
|
||||
moz_pis_startstop_scripts "stop"
|
||||
|
||||
exit $exitcode
|
||||
# EOF.
|
116
www/minimo/files/xptcinvoke_asm_ppc_openbsd.s
Normal file
116
www/minimo/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/minimo/files/xptcinvoke_asm_sparc64_openbsd.s
Normal file
104
www/minimo/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/minimo/files/xptcinvoke_openbsd_alpha.cpp
Normal file
184
www/minimo/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/minimo/files/xptcinvoke_openbsd_amd64.cpp
Normal file
174
www/minimo/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/minimo/files/xptcinvoke_ppc_openbsd.cpp
Normal file
141
www/minimo/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/minimo/files/xptcinvoke_sparc64_openbsd.cpp
Normal file
87
www/minimo/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/minimo/files/xptcstubs_asm_ppc_openbsd.s
Normal file
89
www/minimo/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/minimo/files/xptcstubs_openbsd_alpha.cpp
Normal file
269
www/minimo/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/minimo/files/xptcstubs_openbsd_amd64.cpp
Normal file
206
www/minimo/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/minimo/files/xptcstubs_ppc_openbsd.cpp
Normal file
253
www/minimo/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/minimo/files/xptcstubs_sparc64_openbsd.cpp
Normal file
123
www/minimo/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/minimo/patches/patch-build_autoconf_altoptions_m4
Normal file
18
www/minimo/patches/patch-build_autoconf_altoptions_m4
Normal file
@ -0,0 +1,18 @@
|
||||
$OpenBSD: patch-build_autoconf_altoptions_m4,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- build/autoconf/altoptions.m4.orig 2001-10-29 23:59:28.000000000 +0100
|
||||
+++ build/autoconf/altoptions.m4 2003-12-12 15:43:28.000000000 +0100
|
||||
@@ -127,14 +127,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)
|
28
www/minimo/patches/patch-config_autoconf_mk_in
Normal file
28
www/minimo/patches/patch-config_autoconf_mk_in
Normal file
@ -0,0 +1,28 @@
|
||||
$OpenBSD: patch-config_autoconf_mk_in,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- config/autoconf.mk.in.orig Tue Oct 12 00:13:31 2004
|
||||
+++ config/autoconf.mk.in Wed Jan 14 14:29:11 2004
|
||||
@@ -31,13 +31,13 @@ MOZ_APP_VERSION = @MOZ_APP_VERSION@
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
bindir = @bindir@
|
||||
-includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+includedir = $(prefix)/mozilla/include
|
||||
libdir = @libdir@
|
||||
datadir = @datadir@
|
||||
mandir = @mandir@
|
||||
idldir = @datadir@/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
|
||||
-mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
|
||||
+mozappdir = $(prefix)/mozilla
|
||||
mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
|
||||
mrelibdir = $(mredir)/lib
|
||||
|
||||
@@ -183,7 +183,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/minimo/patches/patch-config_mkdepend_imakemdep_h
Normal file
13
www/minimo/patches/patch-config_mkdepend_imakemdep_h
Normal file
@ -0,0 +1,13 @@
|
||||
$OpenBSD: patch-config_mkdepend_imakemdep_h,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- config/mkdepend/imakemdep.h.orig 1998-09-04 22:22:25.000000000 -0600
|
||||
+++ config/mkdepend/imakemdep.h 2004-03-01 17:40:10.000000000 -0700
|
||||
@@ -277,6 +277,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
|
64
www/minimo/patches/patch-config_rules_mk
Normal file
64
www/minimo/patches/patch-config_rules_mk
Normal file
@ -0,0 +1,64 @@
|
||||
$OpenBSD: patch-config_rules_mk,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- config/rules.mk.orig Thu Jun 24 14:58:48 2004
|
||||
+++ config/rules.mk Wed Mar 9 16:53:06 2005
|
||||
@@ -666,7 +666,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) )
|
||||
@@ -676,7 +676,7 @@ endif # GRE_MODULE
|
||||
ifeq ($(OS_ARCH),OS2)
|
||||
$(INSTALL) $(IFLAGS2) $(IMPORT_LIBRARY) $(DIST)/lib/components
|
||||
else
|
||||
- $(INSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(DIST)/lib/components
|
||||
+ $(INSTALL) $(IFLAGS1) $(SHARED_LIBRARY) $(DIST)/lib/components
|
||||
$(ELF_DYNSTR_GC) $(DIST)/lib/components/$(SHARED_LIBRARY)
|
||||
endif
|
||||
ifndef _SKIP_OLD_GRE_INSTALL
|
||||
@@ -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
|
||||
@@ -1022,7 +1022,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
|
||||
@@ -1113,6 +1112,14 @@ endif
|
||||
$(REPORT_BUILD)
|
||||
@$(MAKE_DEPS_AUTO)
|
||||
$(ELOG) $(CCC) $(OUTOPTION)$@ -c $(COMPILE_CXXFLAGS) $(_VPATH_SRCS)
|
||||
+
|
||||
+#
|
||||
+# Temp fix for propolice bug
|
||||
+#
|
||||
+nsPresShell.$(OBJ_SUFFIX): nsPresShell.cpp Makefile Makefile.in
|
||||
+ $(REPORT_BUILD)
|
||||
+ @$(MAKE_DEPS_AUTO)
|
||||
+ $(ELOG) $(CCC) $(OUTOPTION)$@ -c $(COMPILE_CXXFLAGS) -fno-stack-protector $(_VPATH_SRCS)
|
||||
|
||||
%.$(OBJ_SUFFIX): %.cpp Makefile Makefile.in
|
||||
$(REPORT_BUILD)
|
37
www/minimo/patches/patch-configure_in
Normal file
37
www/minimo/patches/patch-configure_in
Normal file
@ -0,0 +1,37 @@
|
||||
$OpenBSD: patch-configure_in,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- configure.in.orig Tue May 17 12:30:07 2005
|
||||
+++ configure.in Wed May 18 20:35:50 2005
|
||||
@@ -1478,10 +1478,14 @@
|
||||
;;
|
||||
|
||||
*-openbsd*)
|
||||
- DLL_SUFFIX=".so.1.0"
|
||||
+ DLL_SUFFIX=".so.${SO_VERSION}"
|
||||
DSO_CFLAGS=''
|
||||
DSO_PIC_CFLAGS='-fPIC'
|
||||
DSO_LDOPTS='-shared -fPIC'
|
||||
+ MKSHLIB='$(CXX) $(DSO_LDOPTS) -o $@'
|
||||
+ MKCSHLIB='$(CC) $(DSO_LDOPTS) -o $@'
|
||||
+ MKSHLIB_FORCE_ALL=''
|
||||
+ MKSHLIB_UNFORCE_ALL=''
|
||||
if test "$LIBRUNPATH"; then
|
||||
DSO_LDOPTS="-R$LIBRUNPATH $DSO_LDOPTS"
|
||||
fi
|
||||
@@ -3249,7 +3253,7 @@
|
||||
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
|
||||
@@ -3279,7 +3283,7 @@
|
||||
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
|
||||
|
@ -0,0 +1,29 @@
|
||||
$OpenBSD: patch-extensions_transformiix_source_base_Double_cpp,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- extensions/transformiix/source/base/Double.cpp.orig Tue Jan 11 23:47:29 2005
|
||||
+++ extensions/transformiix/source/base/Double.cpp Tue Jan 11 23:51:31 2005
|
||||
@@ -114,17 +114,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);
|
39
www/minimo/patches/patch-gfx_src_freetype_nsFreeType_h
Normal file
39
www/minimo/patches/patch-gfx_src_freetype_nsFreeType_h
Normal file
@ -0,0 +1,39 @@
|
||||
$OpenBSD: patch-gfx_src_freetype_nsFreeType_h,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- gfx/src/freetype/nsFreeType.h.orig Wed Jan 12 00:07:26 2005
|
||||
+++ gfx/src/freetype/nsFreeType.h Wed Jan 12 00:11:40 2005
|
||||
@@ -104,13 +104,15 @@ typedef FT_Error (*FT_Outline_Decompose_
|
||||
typedef FT_Error (*FT_New_Face_t)(FT_Library, const char*, FT_Long, FT_Face*);
|
||||
typedef FT_Error (*FT_Set_Charmap_t)(FT_Face face, FT_CharMap charmap);
|
||||
typedef FT_Error (*FTC_Image_Cache_Lookup_t)
|
||||
- (FTC_Image_Cache, FTC_Image_Desc*, FT_UInt, FT_Glyph*);
|
||||
+ (FTC_ImageCache, FTC_ImageType*, FT_UInt, FT_Glyph*);
|
||||
+typedef FT_Error (*FTC_Manager_LookupFace_t)
|
||||
+ (FTC_Manager, FTC_FaceID, FT_Face*);
|
||||
typedef FT_Error (*FTC_Manager_Lookup_Size_t)
|
||||
(FTC_Manager, FTC_Font, FT_Face*, FT_Size*);
|
||||
typedef FT_Error (*FTC_Manager_Done_t)(FTC_Manager);
|
||||
typedef FT_Error (*FTC_Manager_New_t)(FT_Library, FT_UInt, FT_UInt, FT_ULong,
|
||||
FTC_Face_Requester, FT_Pointer, FTC_Manager*);
|
||||
-typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_Image_Cache*);
|
||||
+typedef FT_Error (*FTC_Image_Cache_New_t)(FTC_Manager, FTC_ImageCache*);
|
||||
// #ifdef MOZ_SVG
|
||||
typedef FT_Error (*FT_Glyph_Transform_t)(FT_Glyph, FT_Matrix*, FT_Vector*);
|
||||
typedef FT_Error (*FT_Get_Kerning_t)
|
||||
@@ -165,7 +167,7 @@ protected:
|
||||
FT_Outline_Decompose_t nsFT_Outline_Decompose;
|
||||
FT_Set_Charmap_t nsFT_Set_Charmap;
|
||||
FTC_Image_Cache_Lookup_t nsFTC_Image_Cache_Lookup;
|
||||
- FTC_Manager_Lookup_Size_t nsFTC_Manager_Lookup_Size;
|
||||
+ FTC_Manager_LookupFace_t nsFTC_Manager_LookupFace;
|
||||
FTC_Manager_Done_t nsFTC_Manager_Done;
|
||||
FTC_Manager_New_t nsFTC_Manager_New;
|
||||
FTC_Image_Cache_New_t nsFTC_Image_Cache_New;
|
||||
@@ -213,7 +215,7 @@ protected:
|
||||
PRLibrary *mSharedLib;
|
||||
FT_Library mFreeTypeLibrary;
|
||||
FTC_Manager mFTCacheManager;
|
||||
- FTC_Image_Cache mImageCache;
|
||||
+ FTC_ImageCache mImageCache;
|
||||
|
||||
static nsHashtable *sFontFamilies;
|
||||
static nsHashtable *sRange1CharSetNames;
|
61
www/minimo/patches/patch-gfx_src_ps_nsFontMetricsPS_cpp
Normal file
61
www/minimo/patches/patch-gfx_src_ps_nsFontMetricsPS_cpp
Normal file
@ -0,0 +1,61 @@
|
||||
$OpenBSD: patch-gfx_src_ps_nsFontMetricsPS_cpp,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- gfx/src/ps/nsFontMetricsPS.cpp.orig Thu Apr 28 03:04:00 2005
|
||||
+++ gfx/src/ps/nsFontMetricsPS.cpp Wed May 18 03:14:27 2005
|
||||
@@ -1859,10 +1859,10 @@ nsFontPSFreeType::Init(nsITrueTypeFontCa
|
||||
|
||||
mPixelSize = NSToIntRound(app2dev * mFont->size);
|
||||
|
||||
- mImageDesc.font.face_id = (void*)mEntry;
|
||||
- mImageDesc.font.pix_width = mPixelSize;
|
||||
- mImageDesc.font.pix_height = mPixelSize;
|
||||
- mImageDesc.image_type = 0;
|
||||
+ mImageDesc->face_id = (FTC_FaceID)&mEntry;
|
||||
+ mImageDesc->width = mPixelSize;
|
||||
+ mImageDesc->height = mPixelSize;
|
||||
+ mImageDesc->flags = 0;
|
||||
|
||||
nsresult rv;
|
||||
mFt2 = do_GetService(NS_FREETYPE2_CONTRACTID, &rv);
|
||||
@@ -1896,7 +1896,7 @@ nsFontPSFreeType::GetWidth(const PRUnich
|
||||
if (!face)
|
||||
return 0;
|
||||
|
||||
- FTC_Image_Cache iCache;
|
||||
+ FTC_ImageCache iCache;
|
||||
nsresult rv = mFt2->GetImageCache(&iCache);
|
||||
if (NS_FAILED(rv)) {
|
||||
NS_ERROR("Failed to get Image Cache");
|
||||
@@ -1934,8 +1934,8 @@ nsFontPSFreeType::getFTFace()
|
||||
|
||||
FTC_Manager cManager;
|
||||
mFt2->GetFTCacheManager(&cManager);
|
||||
- nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
|
||||
- &face, nsnull);
|
||||
+ nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id,
|
||||
+ &face);
|
||||
NS_ASSERTION(rv==0, "failed to get face/size");
|
||||
if (rv)
|
||||
return nsnull;
|
||||
@@ -2379,16 +2379,16 @@ void nsFT2Type1Generator::GeneratePSFont
|
||||
mEntry->GetFamilyName(fontName);
|
||||
mEntry->GetStyleName(styleName);
|
||||
|
||||
- mImageDesc.font.face_id = (void*)mEntry;
|
||||
+ mImageDesc->face_id = (FTC_FaceID)&mEntry;
|
||||
// TT glyph has no relation to size
|
||||
- mImageDesc.font.pix_width = 16;
|
||||
- mImageDesc.font.pix_height = 16;
|
||||
- mImageDesc.image_type = 0;
|
||||
+ mImageDesc->width = 16;
|
||||
+ mImageDesc->height = 16;
|
||||
+ mImageDesc->flags = 0;
|
||||
FT_Face face = nsnull;
|
||||
FTC_Manager cManager;
|
||||
mFt2->GetFTCacheManager(&cManager);
|
||||
- nsresult rv = mFt2->ManagerLookupSize(cManager, &mImageDesc.font,
|
||||
- &face, nsnull);
|
||||
+ nsresult rv = mFt2->ManagerLookupFace(cManager, mImageDesc->face_id,
|
||||
+ &face);
|
||||
if (NS_FAILED(rv))
|
||||
return;
|
||||
|
12
www/minimo/patches/patch-mailnews_mime_src_mimemsg_cpp
Normal file
12
www/minimo/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 2005/05/25 06:59:10 jolan Exp $
|
||||
--- mailnews/mime/src/mimemsg.cpp.orig Tue Mar 29 16:57:29 2005
|
||||
+++ mailnews/mime/src/mimemsg.cpp Tue Mar 29 16:57:51 2005
|
||||
@@ -519,7 +519,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->generate_footer_html_fn =
|
||||
MimeMessage_partial_message_html;
|
12
www/minimo/patches/patch-modules_libpref_src_init_all_js
Normal file
12
www/minimo/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 2005/05/25 06:59:10 jolan Exp $
|
||||
--- modules/libpref/src/init/all.js.orig Thu Mar 10 17:06:56 2005
|
||||
+++ modules/libpref/src/init/all.js Fri Apr 1 16:50:17 2005
|
||||
@@ -1669,7 +1669,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);
|
12
www/minimo/patches/patch-nsprpub_config_rules_mk
Normal file
12
www/minimo/patches/patch-nsprpub_config_rules_mk
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-nsprpub_config_rules_mk,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- nsprpub/config/rules.mk.orig 2004-02-15 11:04:44.000000000 +0100
|
||||
+++ nsprpub/config/rules.mk 2004-02-15 11:11:33.000000000 +0100
|
||||
@@ -222,7 +222,7 @@ ifdef RELEASE_HEADERS
|
||||
$(NSINSTALL) -t -m 0644 $(RELEASE_HEADERS) $(DESTDIR)$(includedir)/$(include_subdir)
|
||||
endif
|
||||
ifdef RELEASE_LIBS
|
||||
- $(NSINSTALL) -t -m 0755 $(RELEASE_LIBS) $(DESTDIR)$(libdir)/$(lib_subdir)
|
||||
+ $(NSINSTALL) -t -m 0444 $(RELEASE_LIBS) $(DESTDIR)$(libdir)/$(lib_subdir)
|
||||
endif
|
||||
+$(LOOP_OVER_DIRS)
|
||||
|
20
www/minimo/patches/patch-nsprpub_configure_in
Normal file
20
www/minimo/patches/patch-nsprpub_configure_in
Normal file
@ -0,0 +1,20 @@
|
||||
$OpenBSD: patch-nsprpub_configure_in,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- nsprpub/configure.in.orig Tue Sep 14 17:14:38 2004
|
||||
+++ nsprpub/configure.in Tue Apr 5 14:53:10 2005
|
||||
@@ -1495,7 +1495,7 @@ mips-sony-newsos*)
|
||||
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
|
||||
@@ -2213,6 +2213,7 @@ if test -n "$USE_PTHREADS"; then
|
||||
AC_DEFINE(_THREAD_SAFE)
|
||||
if test "$ac_cv_have_dash_pthread" = "yes"; then
|
||||
_PTHREAD_LDFLAGS=-pthread
|
||||
+ LDFLAGS="${_PTHREAD_LDFLAGS} ${LDFLAGS}"
|
||||
fi
|
||||
;;
|
||||
*-linux*)
|
12
www/minimo/patches/patch-nsprpub_pr_include_md__openbsd_h
Normal file
12
www/minimo/patches/patch-nsprpub_pr_include_md__openbsd_h
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-nsprpub_pr_include_md__openbsd_h,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- nsprpub/pr/include/md/_openbsd.h.orig Wed Apr 6 22:25:33 2005
|
||||
+++ nsprpub/pr/include/md/_openbsd.h Wed Apr 6 22:25:53 2005
|
||||
@@ -53,7 +53,7 @@
|
||||
#define _PR_SI_ARCHITECTURE "sparc"
|
||||
#endif
|
||||
|
||||
-#define PR_DLL_SUFFIX ".so.1.0"
|
||||
+#define PR_DLL_SUFFIX ".so._SO_VERSION_"
|
||||
|
||||
#define _PR_VMBASE 0x30000000
|
||||
#define _PR_STACK_VMBASE 0x50000000
|
11
www/minimo/patches/patch-nsprpub_pr_include_private_primpl_h
Normal file
11
www/minimo/patches/patch-nsprpub_pr_include_private_primpl_h
Normal file
@ -0,0 +1,11 @@
|
||||
$OpenBSD: patch-nsprpub_pr_include_private_primpl_h,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- nsprpub/pr/include/private/primpl.h.orig Mon Jan 12 12:19:57 2004
|
||||
+++ nsprpub/pr/include/private/primpl.h Mon Jan 12 12:20:17 2004
|
||||
@@ -1861,6 +1861,7 @@ extern void _PR_DestroyZones(void);
|
||||
&& !defined(DARWIN) \
|
||||
&& !defined(NEXTSTEP) \
|
||||
&& !defined(QNX) \
|
||||
+ && !defined(__OpenBSD__) \
|
||||
&& !(defined (UNIXWARE) && defined (USE_SVR4_THREADS))
|
||||
#define _PR_OVERRIDE_MALLOC
|
||||
#endif
|
33
www/minimo/patches/patch-nsprpub_pr_src_misc_prinit_c
Normal file
33
www/minimo/patches/patch-nsprpub_pr_src_misc_prinit_c
Normal file
@ -0,0 +1,33 @@
|
||||
$OpenBSD: patch-nsprpub_pr_src_misc_prinit_c,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- nsprpub/pr/src/misc/prinit.c.orig 2003-01-20 21:13:09.000000000 +0100
|
||||
+++ nsprpub/pr/src/misc/prinit.c 2003-12-12 15:43:28.000000000 +0100
|
||||
@@ -430,6 +430,12 @@ PR_IMPLEMENT(PRStatus) PR_Cleanup()
|
||||
_PR_LogCleanup();
|
||||
|
||||
/*
|
||||
+ * accesses the current thread
|
||||
+ */
|
||||
+ _PR_CleanupNet();
|
||||
+ _PR_CleanupIO();
|
||||
+
|
||||
+ /*
|
||||
* This part should look like the end of _PR_NativeRunThread
|
||||
* and _PR_UserRunThread.
|
||||
*/
|
||||
@@ -441,6 +447,7 @@ PR_IMPLEMENT(PRStatus) PR_Cleanup()
|
||||
PR_DELETE(me->stack);
|
||||
PR_DELETE(me);
|
||||
}
|
||||
+ _PR_MD_SET_CURRENT_THREAD(NULL);
|
||||
|
||||
/*
|
||||
* XXX: We are freeing the heap memory here so that Purify won't
|
||||
@@ -449,8 +456,6 @@ PR_IMPLEMENT(PRStatus) PR_Cleanup()
|
||||
* Ideally, for each _PR_InitXXX(), there should be a corresponding
|
||||
* _PR_XXXCleanup() that we can call here.
|
||||
*/
|
||||
- _PR_CleanupNet();
|
||||
- _PR_CleanupIO();
|
||||
#ifdef WINNT
|
||||
_PR_CleanupCPUs();
|
||||
#endif
|
24
www/minimo/patches/patch-nsprpub_pr_src_misc_prnetdb_c
Normal file
24
www/minimo/patches/patch-nsprpub_pr_src_misc_prnetdb_c
Normal file
@ -0,0 +1,24 @@
|
||||
$OpenBSD: patch-nsprpub_pr_src_misc_prnetdb_c,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- nsprpub/pr/src/misc/prnetdb.c.orig Mon Jan 12 12:28:26 2004
|
||||
+++ nsprpub/pr/src/misc/prnetdb.c Mon Jan 12 12:30:20 2004
|
||||
@@ -98,6 +98,7 @@ PRLock *_pr_dnsLock = NULL;
|
||||
#endif
|
||||
|
||||
#if defined(OSF1) \
|
||||
+ || defined(OPENBSD) \
|
||||
|| defined(AIX4_3_PLUS) || (defined(AIX) && defined(_THREAD_SAFE)) \
|
||||
|| (defined(HPUX10_10) && defined(_REENTRANT)) \
|
||||
|| (defined(HPUX10_20) && defined(_REENTRANT))
|
||||
@@ -2098,7 +2099,12 @@ PR_IMPLEMENT(PRAddrInfo *) PR_GetAddrInf
|
||||
*/
|
||||
hints.ai_socktype = SOCK_STREAM;
|
||||
|
||||
+ LOCK_DNS();
|
||||
+
|
||||
rv = GETADDRINFO(hostname, NULL, &hints, &res);
|
||||
+
|
||||
+ UNLOCK_DNS();
|
||||
+
|
||||
if (rv == 0)
|
||||
return (PRAddrInfo *) res;
|
||||
|
11
www/minimo/patches/patch-nsprpub_pr_src_pthreads_ptthread_c
Normal file
11
www/minimo/patches/patch-nsprpub_pr_src_pthreads_ptthread_c
Normal file
@ -0,0 +1,11 @@
|
||||
$OpenBSD: patch-nsprpub_pr_src_pthreads_ptthread_c,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- nsprpub/pr/src/pthreads/ptthread.c.orig Wed Aug 28 16:42:52 2002
|
||||
+++ nsprpub/pr/src/pthreads/ptthread.c Sun Mar 20 08:53:15 2005
|
||||
@@ -48,6 +48,7 @@
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <signal.h>
|
||||
+#undef _POSIX_THREAD_PRIORITY_SCHEDULING
|
||||
|
||||
/*
|
||||
* Record whether or not we have the privilege to set the scheduling
|
38
www/minimo/patches/patch-security_coreconf_OpenBSD_mk
Normal file
38
www/minimo/patches/patch-security_coreconf_OpenBSD_mk
Normal file
@ -0,0 +1,38 @@
|
||||
$OpenBSD: patch-security_coreconf_OpenBSD_mk,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- security/coreconf/OpenBSD.mk.orig Tue Sep 16 16:50:50 2003
|
||||
+++ security/coreconf/OpenBSD.mk Tue Apr 5 19:44:03 2005
|
||||
@@ -35,12 +35,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
|
||||
@@ -53,7 +53,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
|
||||
|
||||
@@ -62,7 +62,7 @@ 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)
|
11
www/minimo/patches/patch-security_coreconf_rules_mk
Normal file
11
www/minimo/patches/patch-security_coreconf_rules_mk
Normal file
@ -0,0 +1,11 @@
|
||||
$OpenBSD: patch-security_coreconf_rules_mk,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- security/coreconf/rules.mk.orig 2004-02-15 14:43:58.000000000 +0100
|
||||
+++ security/coreconf/rules.mk 2004-02-15 15:23:12.000000000 +0100
|
||||
@@ -348,7 +348,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/minimo/patches/patch-widget_src_gtk2_nsGtkKeyUtils_cpp
Normal file
12
www/minimo/patches/patch-widget_src_gtk2_nsGtkKeyUtils_cpp
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-widget_src_gtk2_nsGtkKeyUtils_cpp,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- widget/src/gtk2/nsGtkKeyUtils.cpp.orig 2003-08-21 22:10:58.000000000 +0200
|
||||
+++ widget/src/gtk2/nsGtkKeyUtils.cpp 2003-12-12 15:43:28.000000000 +0100
|
||||
@@ -51,7 +51,7 @@ struct nsKeyConverter {
|
||||
// Netscape keycodes are defined in widget/public/nsGUIEvent.h
|
||||
// GTK keycodes are defined in <gdk/gdkkeysyms.h>
|
||||
//
|
||||
-struct nsKeyConverter nsKeycodes[] = {
|
||||
+static struct nsKeyConverter nsKeycodes[] = {
|
||||
{ NS_VK_CANCEL, GDK_Cancel },
|
||||
{ NS_VK_BACK, GDK_BackSpace },
|
||||
{ NS_VK_TAB, GDK_Tab },
|
12
www/minimo/patches/patch-widget_src_gtk2_nsSound_cpp
Normal file
12
www/minimo/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 2005/05/25 06:59:10 jolan Exp $
|
||||
--- widget/src/gtk2/nsSound.cpp.orig Sun Mar 7 20:12:21 2004
|
||||
+++ widget/src/gtk2/nsSound.cpp Tue Jan 4 22:05:32 2005
|
||||
@@ -91,7 +91,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/minimo/patches/patch-widget_src_gtk_nsSound_cpp
Normal file
12
www/minimo/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 2005/05/25 06:59:10 jolan Exp $
|
||||
--- widget/src/gtk/nsSound.cpp.orig Sun Mar 7 20:12:02 2004
|
||||
+++ widget/src/gtk/nsSound.cpp Tue Jan 4 11:24:01 2005
|
||||
@@ -86,7 +86,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/minimo/patches/patch-widget_src_xlib_nsKeyCode_cpp
Normal file
12
www/minimo/patches/patch-widget_src_xlib_nsKeyCode_cpp
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-widget_src_xlib_nsKeyCode_cpp,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- widget/src/xlib/nsKeyCode.cpp.orig 2002-12-09 18:39:10.000000000 +0100
|
||||
+++ widget/src/xlib/nsKeyCode.cpp 2003-12-12 15:43:29.000000000 +0100
|
||||
@@ -50,7 +50,7 @@ struct nsKeyConverter
|
||||
unsigned int keysym; // XK keysym key code
|
||||
};
|
||||
|
||||
-struct nsKeyConverter nsKeycodes[] =
|
||||
+static struct nsKeyConverter nsKeycodes[] =
|
||||
{
|
||||
{ NS_VK_CANCEL, XK_Cancel},
|
||||
{ NS_VK_BACK, XK_BackSpace},
|
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-xpcom_components_nsNativeComponentLoader_cpp,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- xpcom/components/nsNativeComponentLoader.cpp.orig Wed Apr 6 22:28:35 2005
|
||||
+++ xpcom/components/nsNativeComponentLoader.cpp Wed Apr 6 22:29:01 2005
|
||||
@@ -656,7 +656,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 */
|
11
www/minimo/patches/patch-xpcom_components_xcDll_cpp
Normal file
11
www/minimo/patches/patch-xpcom_components_xcDll_cpp
Normal file
@ -0,0 +1,11 @@
|
||||
$OpenBSD: patch-xpcom_components_xcDll_cpp,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- xpcom/components/xcDll.cpp.orig Wed Mar 2 11:45:40 2005
|
||||
+++ xpcom/components/xcDll.cpp Wed Mar 2 11:46:08 2005
|
||||
@@ -66,7 +66,6 @@
|
||||
|
||||
#include "nsTraceRefcntImpl.h"
|
||||
|
||||
-#define UNLOAD_DEPENDENT_LIBS
|
||||
#ifdef HPUX
|
||||
#undef UNLOAD_DEPENDENT_LIBS
|
||||
#endif
|
15
www/minimo/patches/patch-xpcom_io_nsNativeCharsetUtils_cpp
Normal file
15
www/minimo/patches/patch-xpcom_io_nsNativeCharsetUtils_cpp
Normal file
@ -0,0 +1,15 @@
|
||||
$OpenBSD: patch-xpcom_io_nsNativeCharsetUtils_cpp,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- xpcom/io/nsNativeCharsetUtils.cpp.orig Mon Jan 12 12:54:59 2004
|
||||
+++ xpcom/io/nsNativeCharsetUtils.cpp Mon Jan 12 12:56:41 2004
|
||||
@@ -329,7 +329,11 @@ nsNativeCharsetConverter::LazyInit()
|
||||
{
|
||||
const char *blank_list[] = { "", NULL };
|
||||
const char **native_charset_list = blank_list;
|
||||
+#ifdef CODESET
|
||||
const char *native_charset = nl_langinfo(CODESET);
|
||||
+#else
|
||||
+ const char *native_charset = nsnull;
|
||||
+#endif
|
||||
if (native_charset == nsnull) {
|
||||
NS_ERROR("native charset is unknown");
|
||||
// fallback to ISO-8859-1
|
@ -0,0 +1,60 @@
|
||||
$OpenBSD: patch-xpcom_reflect_xptcall_src_md_unix_Makefile_in,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- xpcom/reflect/xptcall/src/md/unix/Makefile.in.orig Tue Jan 11 23:17:45 2005
|
||||
+++ xpcom/reflect/xptcall/src/md/unix/Makefile.in Tue Jan 11 23:27:01 2005
|
||||
@@ -111,6 +111,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)))
|
||||
@@ -260,6 +266,15 @@ 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)
|
||||
@@ -331,6 +346,27 @@ 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
|
||||
+#
|
||||
+# OpenBSD/amd64
|
||||
+#
|
||||
+ifeq ($(OS_ARCH)$(OS_TEST),OpenBSDamd64)
|
||||
+CPPSRCS := xptcinvoke_openbsd_amd64.cpp xptcstubs_openbsd_amd64.cpp
|
||||
endif
|
||||
|
||||
######################################################################
|
12
www/minimo/patches/patch-xpcom_sample_Makefile_in
Normal file
12
www/minimo/patches/patch-xpcom_sample_Makefile_in
Normal file
@ -0,0 +1,12 @@
|
||||
$OpenBSD: patch-xpcom_sample_Makefile_in,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- xpcom/sample/Makefile.in.orig Tue Apr 5 22:35:23 2005
|
||||
+++ xpcom/sample/Makefile.in Wed May 18 11:35:06 2005
|
||||
@@ -79,7 +79,7 @@
|
||||
# files to generate C++ headers and .xpt typelib files.
|
||||
XPIDLSRCS = nsISample.idl
|
||||
|
||||
-TESTCPPSRCS = nsTestSample.cpp
|
||||
+#TESTCPPSRCS = nsTestSample.cpp
|
||||
|
||||
# SIMPLE_PROGRAMS builds an executable program from a single source file.
|
||||
SIMPLE_PROGRAMS = $(TESTCPPSRCS:.cpp=$(BIN_SUFFIX))
|
24
www/minimo/patches/patch-xpfe_bootstrap_mozilla_in
Normal file
24
www/minimo/patches/patch-xpfe_bootstrap_mozilla_in
Normal file
@ -0,0 +1,24 @@
|
||||
$OpenBSD: patch-xpfe_bootstrap_mozilla_in,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
--- xpfe/bootstrap/mozilla.in.orig Tue Jan 11 23:29:52 2005
|
||||
+++ xpfe/bootstrap/mozilla.in Tue Jan 11 23:31:51 2005
|
||||
@@ -73,6 +73,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
|
||||
@@ -151,7 +152,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
|
||||
eval "set -- $moreargs"
|
||||
|
||||
## Start addon scripts
|
3
www/minimo/pkg/DESCR
Normal file
3
www/minimo/pkg/DESCR
Normal file
@ -0,0 +1,3 @@
|
||||
The Minimo (Mini Mozilla) project is focused on code-size and runtime
|
||||
footprint reduction, and porting to small consumer devices. The primary
|
||||
focus of Minimo to date has been systems with around 32-64 MB of RAM.
|
44
www/minimo/pkg/PFRAG.shared
Normal file
44
www/minimo/pkg/PFRAG.shared
Normal file
@ -0,0 +1,44 @@
|
||||
@comment $OpenBSD: PFRAG.shared,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
@lib minimo/components/libcaps.so.${SO_VERSION}
|
||||
@lib minimo/components/libchrmlite.so.${SO_VERSION}
|
||||
@lib minimo/components/libdocshell.so.${SO_VERSION}
|
||||
@lib minimo/components/libeditor.so.${SO_VERSION}
|
||||
@lib minimo/components/libembedcomponents.so.${SO_VERSION}
|
||||
@lib minimo/components/libgfx_gtk.so.${SO_VERSION}
|
||||
@lib minimo/components/libgklayout.so.${SO_VERSION}
|
||||
@lib minimo/components/libhtmlpars.so.${SO_VERSION}
|
||||
@lib minimo/components/libi18n.so.${SO_VERSION}
|
||||
@lib minimo/components/libimglib2.so.${SO_VERSION}
|
||||
@lib minimo/components/libjar50.so.${SO_VERSION}
|
||||
@lib minimo/components/libmork.so.${SO_VERSION}
|
||||
@lib minimo/components/libnecko.so.${SO_VERSION}
|
||||
@lib minimo/components/libnsappshell.so.${SO_VERSION}
|
||||
@lib minimo/components/liboji.so.${SO_VERSION}
|
||||
@lib minimo/components/libpipboot.so.${SO_VERSION}
|
||||
@lib minimo/components/libpipnss.so.${SO_VERSION}
|
||||
@lib minimo/components/libpopuplite.so.${SO_VERSION}
|
||||
@lib minimo/components/libpref.so.${SO_VERSION}
|
||||
@lib minimo/components/libremoteservice.so.${SO_VERSION}
|
||||
@lib minimo/components/libsearchservice.so.${SO_VERSION}
|
||||
@lib minimo/components/libtxmgr.so.${SO_VERSION}
|
||||
@lib minimo/components/libuconv.so.${SO_VERSION}
|
||||
@lib minimo/components/libwebbrwsr.so.${SO_VERSION}
|
||||
@lib minimo/components/libwidget_gtk2.so.${SO_VERSION}
|
||||
@lib minimo/components/libxpcom_compat_c.so.${SO_VERSION}
|
||||
@lib minimo/components/libxpconnect.so.${SO_VERSION}
|
||||
@lib minimo/libgkgfx.so.${SO_VERSION}
|
||||
@lib minimo/libgtkembedmoz.so.${SO_VERSION}
|
||||
@lib minimo/libgtkxtbin.so.${SO_VERSION}
|
||||
@lib minimo/libjsj.so.${SO_VERSION}
|
||||
@lib minimo/libmozjs.so.${SO_VERSION}
|
||||
@lib minimo/libnspr4.so.${SO_VERSION}
|
||||
@lib minimo/libnss3.so.${SO_VERSION}
|
||||
@lib minimo/libnssckbi.so.${SO_VERSION}
|
||||
@lib minimo/libplc4.so.${SO_VERSION}
|
||||
@lib minimo/libplds4.so.${SO_VERSION}
|
||||
@lib minimo/libsmime3.so.${SO_VERSION}
|
||||
@lib minimo/libsoftokn3.so.${SO_VERSION}
|
||||
@lib minimo/libssl3.so.${SO_VERSION}
|
||||
@lib minimo/libxpcom.so.${SO_VERSION}
|
||||
@lib minimo/libxpcom_compat.so.${SO_VERSION}
|
||||
@lib minimo/libxpcom_core.so.${SO_VERSION}
|
475
www/minimo/pkg/PLIST
Normal file
475
www/minimo/pkg/PLIST
Normal file
@ -0,0 +1,475 @@
|
||||
@comment $OpenBSD: PLIST,v 1.1.1.1 2005/05/25 06:59:10 jolan Exp $
|
||||
%%SHARED%%
|
||||
bin/minimo
|
||||
minimo/
|
||||
minimo/LICENSE
|
||||
minimo/TODO
|
||||
minimo/chrome/
|
||||
minimo/chrome/HtmlForm.properties
|
||||
minimo/chrome/MPL-1.1.html
|
||||
minimo/chrome/MediaDocument.properties
|
||||
minimo/chrome/NPL-1.1.html
|
||||
minimo/chrome/XPCNativeWrapper.js
|
||||
minimo/chrome/about.dtd
|
||||
minimo/chrome/about.xhtml
|
||||
minimo/chrome/about.xul
|
||||
minimo/chrome/aboutAbout.html
|
||||
minimo/chrome/accept2locale.properties
|
||||
minimo/chrome/accessible.properties
|
||||
minimo/chrome/alert-error.gif
|
||||
minimo/chrome/alert-exclam.gif
|
||||
minimo/chrome/alert-message.gif
|
||||
minimo/chrome/alert-question.gif
|
||||
minimo/chrome/appstrings.properties
|
||||
minimo/chrome/arrow-dn-dis.gif
|
||||
minimo/chrome/arrow-dn-hov.gif
|
||||
minimo/chrome/arrow-dn-sharp.gif
|
||||
minimo/chrome/arrow-dn.gif
|
||||
minimo/chrome/arrow-lft-dis.gif
|
||||
minimo/chrome/arrow-lft-hov.gif
|
||||
minimo/chrome/arrow-lft-sharp-end.gif
|
||||
minimo/chrome/arrow-lft-sharp.gif
|
||||
minimo/chrome/arrow-lft.gif
|
||||
minimo/chrome/arrow-rit-dis.gif
|
||||
minimo/chrome/arrow-rit-hov.gif
|
||||
minimo/chrome/arrow-rit-sharp-end.gif
|
||||
minimo/chrome/arrow-rit-sharp.gif
|
||||
minimo/chrome/arrow-rit.gif
|
||||
minimo/chrome/arrow-up-dis.gif
|
||||
minimo/chrome/arrow-up-hov.gif
|
||||
minimo/chrome/arrow-up-sharp.gif
|
||||
minimo/chrome/arrow-up.gif
|
||||
minimo/chrome/autocomplete.css
|
||||
minimo/chrome/brand.dtd
|
||||
minimo/chrome/browser.css
|
||||
minimo/chrome/browser.xml
|
||||
minimo/chrome/build.dtd
|
||||
minimo/chrome/buildconfig.html
|
||||
minimo/chrome/builtinURLs.rdf
|
||||
minimo/chrome/button.css
|
||||
minimo/chrome/button.xml
|
||||
minimo/chrome/caps.properties
|
||||
minimo/chrome/charsetOverlay.dtd
|
||||
minimo/chrome/charsetOverlay.js
|
||||
minimo/chrome/charsetOverlay.xul
|
||||
minimo/chrome/charsetTitles.properties
|
||||
minimo/chrome/checkbox.css
|
||||
minimo/chrome/checkbox.xml
|
||||
minimo/chrome/close-button.gif
|
||||
minimo/chrome/colorpicker.css
|
||||
minimo/chrome/colorpicker.xml
|
||||
minimo/chrome/commonDialog.dtd
|
||||
minimo/chrome/commonDialog.js
|
||||
minimo/chrome/commonDialog.xul
|
||||
minimo/chrome/commonDialogs.properties
|
||||
minimo/chrome/config.css
|
||||
minimo/chrome/config.dtd
|
||||
minimo/chrome/config.js
|
||||
minimo/chrome/config.properties
|
||||
minimo/chrome/config.xul
|
||||
minimo/chrome/console.css
|
||||
minimo/chrome/contents.rdf
|
||||
minimo/chrome/css.properties
|
||||
minimo/chrome/dialog.css
|
||||
minimo/chrome/dialog.properties
|
||||
minimo/chrome/dialog.xml
|
||||
minimo/chrome/dialogOverlay.dtd
|
||||
minimo/chrome/dialogOverlay.js
|
||||
minimo/chrome/dialogOverlay.xul
|
||||
minimo/chrome/dom.properties
|
||||
minimo/chrome/editor.xml
|
||||
minimo/chrome/filepicker.css
|
||||
minimo/chrome/fontpackage.dtd
|
||||
minimo/chrome/fontpackage.js
|
||||
minimo/chrome/fontpackage.properties
|
||||
minimo/chrome/fontpackage.xul
|
||||
minimo/chrome/formatting.css
|
||||
minimo/chrome/fullScreen.js
|
||||
minimo/chrome/general.xml
|
||||
minimo/chrome/global-strres.properties
|
||||
minimo/chrome/global.css
|
||||
minimo/chrome/globalBindings.xml
|
||||
minimo/chrome/globalOverlay.js
|
||||
minimo/chrome/globalOverlay.xul
|
||||
minimo/chrome/groupbox.css
|
||||
minimo/chrome/groupbox.xml
|
||||
minimo/chrome/hiddenWindow.xul
|
||||
minimo/chrome/intl.css
|
||||
minimo/chrome/keys.properties
|
||||
minimo/chrome/languageNames.properties
|
||||
minimo/chrome/layout_errors.properties
|
||||
minimo/chrome/linkToolbar.dtd
|
||||
minimo/chrome/linkTree.css
|
||||
minimo/chrome/listbox.css
|
||||
minimo/chrome/listbox.xml
|
||||
minimo/chrome/logo.gif
|
||||
minimo/chrome/mailNavigatorOverlay.dtd
|
||||
minimo/chrome/menu.css
|
||||
minimo/chrome/menu.xml
|
||||
minimo/chrome/menulist.css
|
||||
minimo/chrome/menulist.xml
|
||||
minimo/chrome/metadata.dtd
|
||||
minimo/chrome/metadata.properties
|
||||
minimo/chrome/mozilla.xhtml
|
||||
minimo/chrome/nativescrollbar.xml
|
||||
minimo/chrome/navigator.dtd
|
||||
minimo/chrome/navigator.properties
|
||||
minimo/chrome/necko.properties
|
||||
minimo/chrome/netError.dtd
|
||||
minimo/chrome/netError.js
|
||||
minimo/chrome/netError.xhtml
|
||||
minimo/chrome/nsClipboard.js
|
||||
minimo/chrome/nsDragAndDrop.js
|
||||
minimo/chrome/nsHelperAppDlg.dtd
|
||||
minimo/chrome/nsHelperAppDlg.properties
|
||||
minimo/chrome/nsHelperAppDlg.xul
|
||||
minimo/chrome/nsProgressDialog.dtd
|
||||
minimo/chrome/nsProgressDialog.properties
|
||||
minimo/chrome/nsProgressDialog.xul
|
||||
minimo/chrome/nsTransferable.js
|
||||
minimo/chrome/nsTreeController.js
|
||||
minimo/chrome/nsTreeSorting.js
|
||||
minimo/chrome/nsTreeSorting.properties
|
||||
minimo/chrome/nsUserSettings.js
|
||||
minimo/chrome/nsWebBrowserPersist.properties
|
||||
minimo/chrome/nsWidgetStateManager.js
|
||||
minimo/chrome/pageInfo.dtd
|
||||
minimo/chrome/pageInfo.properties
|
||||
minimo/chrome/pg-landscape-small.gif
|
||||
minimo/chrome/pg-landscape.gif
|
||||
minimo/chrome/pg-portrait-small.gif
|
||||
minimo/chrome/pg-portrait.gif
|
||||
minimo/chrome/pipnss.properties
|
||||
minimo/chrome/platformDialogOverlay.dtd
|
||||
minimo/chrome/platformDialogOverlay.xul
|
||||
minimo/chrome/platformKeys.properties
|
||||
minimo/chrome/platformNavigationBindings.dtd
|
||||
minimo/chrome/platformXUL.css
|
||||
minimo/chrome/plugins.css
|
||||
minimo/chrome/plugins.html
|
||||
minimo/chrome/plugins.properties
|
||||
minimo/chrome/popup.css
|
||||
minimo/chrome/popup.xml
|
||||
minimo/chrome/preview.gif
|
||||
minimo/chrome/printPageSetup.dtd
|
||||
minimo/chrome/printPageSetup.js
|
||||
minimo/chrome/printPageSetup.properties
|
||||
minimo/chrome/printPageSetup.xul
|
||||
minimo/chrome/printPreviewProgress.dtd
|
||||
minimo/chrome/printPreviewProgress.js
|
||||
minimo/chrome/printPreviewProgress.xul
|
||||
minimo/chrome/printProgress.dtd
|
||||
minimo/chrome/printProgress.js
|
||||
minimo/chrome/printProgress.xul
|
||||
minimo/chrome/printdialog.dtd
|
||||
minimo/chrome/printdialog.js
|
||||
minimo/chrome/printdialog.properties
|
||||
minimo/chrome/printdialog.xul
|
||||
minimo/chrome/printing.css
|
||||
minimo/chrome/printing.properties
|
||||
minimo/chrome/printjoboptions.dtd
|
||||
minimo/chrome/printjoboptions.js
|
||||
minimo/chrome/printjoboptions.xul
|
||||
minimo/chrome/progressmeter.css
|
||||
minimo/chrome/progressmeter.xml
|
||||
minimo/chrome/radio.css
|
||||
minimo/chrome/radio.xml
|
||||
minimo/chrome/region.dtd
|
||||
minimo/chrome/region.properties
|
||||
minimo/chrome/regionNames.properties
|
||||
minimo/chrome/scrollbar.xml
|
||||
minimo/chrome/scrollbars.css
|
||||
minimo/chrome/scrollbox.css
|
||||
minimo/chrome/scrollbox.xml
|
||||
minimo/chrome/security.properties
|
||||
minimo/chrome/selectDialog.js
|
||||
minimo/chrome/selectDialog.xul
|
||||
minimo/chrome/slider.gif
|
||||
minimo/chrome/spinbuttons.css
|
||||
minimo/chrome/spinbuttons.xml
|
||||
minimo/chrome/splitter.css
|
||||
minimo/chrome/splitter.xml
|
||||
minimo/chrome/stringbundle.xml
|
||||
minimo/chrome/strres.js
|
||||
minimo/chrome/tab-new.gif
|
||||
minimo/chrome/tabbox.css
|
||||
minimo/chrome/tabbox.xml
|
||||
minimo/chrome/tabbrowser.dtd
|
||||
minimo/chrome/tabbrowser.properties
|
||||
minimo/chrome/tabbrowser.xml
|
||||
minimo/chrome/text.xml
|
||||
minimo/chrome/textbox.css
|
||||
minimo/chrome/textbox.xml
|
||||
minimo/chrome/textcontext.dtd
|
||||
minimo/chrome/toolbar.css
|
||||
minimo/chrome/toolbar.xml
|
||||
minimo/chrome/toolbarbutton.css
|
||||
minimo/chrome/toolbarbutton.xml
|
||||
minimo/chrome/tree.css
|
||||
minimo/chrome/tree.dtd
|
||||
minimo/chrome/tree.xml
|
||||
minimo/chrome/turboDialog.dtd
|
||||
minimo/chrome/turboMenu.properties
|
||||
minimo/chrome/viewSource.dtd
|
||||
minimo/chrome/viewSource.properties
|
||||
minimo/chrome/wizard.css
|
||||
minimo/chrome/wizard.properties
|
||||
minimo/chrome/wizard.xml
|
||||
minimo/chrome/xbl-marquee.xml
|
||||
minimo/chrome/xbl.properties
|
||||
minimo/chrome/xmlparser.properties
|
||||
minimo/chrome/xslt.properties
|
||||
minimo/chrome/xul.css
|
||||
minimo/chrome/xul.properties
|
||||
minimo/components/
|
||||
minimo/components/appshell.xpt
|
||||
minimo/components/caps.xpt
|
||||
minimo/components/chardet.xpt
|
||||
minimo/components/commandhandler.xpt
|
||||
minimo/components/composer.xpt
|
||||
minimo/components/content_base.xpt
|
||||
minimo/components/content_html.xpt
|
||||
minimo/components/content_htmldoc.xpt
|
||||
minimo/components/content_xmldoc.xpt
|
||||
minimo/components/content_xslt.xpt
|
||||
minimo/components/content_xtf.xpt
|
||||
minimo/components/docshell.xpt
|
||||
minimo/components/dom.xpt
|
||||
minimo/components/dom_base.xpt
|
||||
minimo/components/dom_canvas.xpt
|
||||
minimo/components/dom_core.xpt
|
||||
minimo/components/dom_css.xpt
|
||||
minimo/components/dom_events.xpt
|
||||
minimo/components/dom_html.xpt
|
||||
minimo/components/dom_loadsave.xpt
|
||||
minimo/components/dom_range.xpt
|
||||
minimo/components/dom_stylesheets.xpt
|
||||
minimo/components/dom_traversal.xpt
|
||||
minimo/components/dom_views.xpt
|
||||
minimo/components/dom_xbl.xpt
|
||||
minimo/components/dom_xpath.xpt
|
||||
minimo/components/dom_xul.xpt
|
||||
minimo/components/editor.xpt
|
||||
minimo/components/embed_base.xpt
|
||||
minimo/components/exthandler.xpt
|
||||
minimo/components/find.xpt
|
||||
minimo/components/gfx.xpt
|
||||
minimo/components/htmlparser.xpt
|
||||
minimo/components/imglib2.xpt
|
||||
minimo/components/intl.xpt
|
||||
minimo/components/jar.xpt
|
||||
minimo/components/jsconsole.xpt
|
||||
minimo/components/layout_base.xpt
|
||||
minimo/components/layout_printing.xpt
|
||||
minimo/components/layout_xul.xpt
|
||||
minimo/components/locale.xpt
|
||||
minimo/components/lwbrk.xpt
|
||||
minimo/components/mimetype.xpt
|
||||
minimo/components/mozbrwsr.xpt
|
||||
minimo/components/necko.xpt
|
||||
minimo/components/necko_about.xpt
|
||||
minimo/components/necko_cache.xpt
|
||||
minimo/components/necko_cookie.xpt
|
||||
minimo/components/necko_data.xpt
|
||||
minimo/components/necko_dns.xpt
|
||||
minimo/components/necko_file.xpt
|
||||
minimo/components/necko_ftp.xpt
|
||||
minimo/components/necko_http.xpt
|
||||
minimo/components/necko_res.xpt
|
||||
minimo/components/necko_socket.xpt
|
||||
minimo/components/necko_strconv.xpt
|
||||
minimo/components/necko_viewsource.xpt
|
||||
minimo/components/nsHelperAppDlg.js
|
||||
minimo/components/nsProgressDialog.js
|
||||
minimo/components/nsProxyAutoConfig.js
|
||||
minimo/components/oji.xpt
|
||||
minimo/components/pipboot.xpt
|
||||
minimo/components/pipnss.xpt
|
||||
minimo/components/pref.xpt
|
||||
minimo/components/prefetch.xpt
|
||||
minimo/components/profile.xpt
|
||||
minimo/components/progressDlg.xpt
|
||||
minimo/components/proxyObjInst.xpt
|
||||
minimo/components/rdf.xpt
|
||||
minimo/components/search.xpt
|
||||
minimo/components/shistory.xpt
|
||||
minimo/components/toolkitremote.xpt
|
||||
minimo/components/txmgr.xpt
|
||||
minimo/components/txtsvc.xpt
|
||||
minimo/components/uconv.xpt
|
||||
minimo/components/unicharutil.xpt
|
||||
minimo/components/uriloader.xpt
|
||||
minimo/components/webBrowser_core.xpt
|
||||
minimo/components/webbrowserpersist.xpt
|
||||
minimo/components/webshell_idls.xpt
|
||||
minimo/components/widget.xpt
|
||||
minimo/components/windowwatcher.xpt
|
||||
minimo/components/xpcom_base.xpt
|
||||
minimo/components/xpcom_components.xpt
|
||||
minimo/components/xpcom_ds.xpt
|
||||
minimo/components/xpcom_io.xpt
|
||||
minimo/components/xpcom_obsolete.xpt
|
||||
minimo/components/xpcom_threads.xpt
|
||||
minimo/components/xpcom_xpti.xpt
|
||||
minimo/components/xpconnect.xpt
|
||||
minimo/components/xuldoc.xpt
|
||||
minimo/greprefs/
|
||||
minimo/greprefs/all.js
|
||||
minimo/greprefs/security-prefs.js
|
||||
minimo/minimo-bin
|
||||
minimo/regxpcom
|
||||
minimo/res/
|
||||
minimo/res/arrow.gif
|
||||
minimo/res/arrowd.gif
|
||||
minimo/res/bloatcycle.html
|
||||
minimo/res/broken-image.gif
|
||||
minimo/res/builtin/
|
||||
minimo/res/builtin/platformHTMLBindings.xml
|
||||
minimo/res/charsetData.properties
|
||||
minimo/res/charsetalias.properties
|
||||
minimo/res/dtd/
|
||||
minimo/res/dtd/xhtml11.dtd
|
||||
minimo/res/entityTables/
|
||||
minimo/res/entityTables/html40Latin1.properties
|
||||
minimo/res/entityTables/html40Special.properties
|
||||
minimo/res/entityTables/html40Symbols.properties
|
||||
minimo/res/entityTables/htmlEntityVersions.properties
|
||||
minimo/res/entityTables/transliterate.properties
|
||||
minimo/res/fonts/
|
||||
minimo/res/fonts/fontEncoding.properties
|
||||
minimo/res/fonts/pangoFontEncoding.properties
|
||||
minimo/res/forms.css
|
||||
minimo/res/html/
|
||||
minimo/res/html.css
|
||||
minimo/res/html/gopher-audio.gif
|
||||
minimo/res/html/gopher-binary.gif
|
||||
minimo/res/html/gopher-find.gif
|
||||
minimo/res/html/gopher-image.gif
|
||||
minimo/res/html/gopher-menu.gif
|
||||
minimo/res/html/gopher-movie.gif
|
||||
minimo/res/html/gopher-sound.gif
|
||||
minimo/res/html/gopher-telnet.gif
|
||||
minimo/res/html/gopher-text.gif
|
||||
minimo/res/html/gopher-unknown.gif
|
||||
minimo/res/langGroups.properties
|
||||
minimo/res/language.properties
|
||||
minimo/res/loading-image.gif
|
||||
minimo/res/quirk.css
|
||||
minimo/res/rdf/
|
||||
minimo/res/rdf/dom-test-4.css
|
||||
minimo/res/rdf/folder-closed.gif
|
||||
minimo/res/rdf/folder-open.gif
|
||||
minimo/res/rdf/ignore-test.xul
|
||||
minimo/res/rdf/loading.gif
|
||||
minimo/res/samples/
|
||||
minimo/res/samples/Anieyes.gif
|
||||
minimo/res/samples/aform.css
|
||||
minimo/res/samples/beeptest.html
|
||||
minimo/res/samples/bform.css
|
||||
minimo/res/samples/bg.jpg
|
||||
minimo/res/samples/cform.css
|
||||
minimo/res/samples/checkboxTest.xul
|
||||
minimo/res/samples/colorpicker.xul
|
||||
minimo/res/samples/demoform.css
|
||||
minimo/res/samples/dexopenchrome.xul
|
||||
minimo/res/samples/dexparamdialog.html
|
||||
minimo/res/samples/dexparamdialog.xul
|
||||
minimo/res/samples/find.html
|
||||
minimo/res/samples/gear1.gif
|
||||
minimo/res/samples/hidetoolicon.css
|
||||
minimo/res/samples/hidetoolicon.xul
|
||||
minimo/res/samples/image_props.html
|
||||
minimo/res/samples/mozform.css
|
||||
minimo/res/samples/printsetup.html
|
||||
minimo/res/samples/raptor.jpg
|
||||
minimo/res/samples/rock_gra.gif
|
||||
minimo/res/samples/sampleimages/
|
||||
minimo/res/samples/sampleimages/bongo.gif
|
||||
minimo/res/samples/sampleimages/down.gif
|
||||
minimo/res/samples/sampleimages/left.gif
|
||||
minimo/res/samples/sampleimages/right.gif
|
||||
minimo/res/samples/sampleimages/up.gif
|
||||
minimo/res/samples/scrollbarTest1.xul
|
||||
minimo/res/samples/scrollbarTest2.xul
|
||||
minimo/res/samples/sliderTest1.xul
|
||||
minimo/res/samples/soundtest.html
|
||||
minimo/res/samples/tab.xul
|
||||
minimo/res/samples/test.wav
|
||||
minimo/res/samples/test0.html
|
||||
minimo/res/samples/test1.html
|
||||
minimo/res/samples/test10.html
|
||||
minimo/res/samples/test11.html
|
||||
minimo/res/samples/test12.html
|
||||
minimo/res/samples/test13.html
|
||||
minimo/res/samples/test14.html
|
||||
minimo/res/samples/test15.html
|
||||
minimo/res/samples/test16.html
|
||||
minimo/res/samples/test2.html
|
||||
minimo/res/samples/test3.html
|
||||
minimo/res/samples/test4.html
|
||||
minimo/res/samples/test5.html
|
||||
minimo/res/samples/test6.html
|
||||
minimo/res/samples/test7.html
|
||||
minimo/res/samples/test8-1.html
|
||||
minimo/res/samples/test8.html
|
||||
minimo/res/samples/test8dom.html
|
||||
minimo/res/samples/test8sca.html
|
||||
minimo/res/samples/test8siz.html
|
||||
minimo/res/samples/test8tab.html
|
||||
minimo/res/samples/test9.html
|
||||
minimo/res/samples/test9a.html
|
||||
minimo/res/samples/test9b.html
|
||||
minimo/res/samples/test_ed.html
|
||||
minimo/res/samples/test_form.html
|
||||
minimo/res/samples/test_gfx.html
|
||||
minimo/res/samples/test_lbox.html
|
||||
minimo/res/samples/test_pr.html
|
||||
minimo/res/samples/test_weight.html
|
||||
minimo/res/samples/toolbarTest1.xul
|
||||
minimo/res/samples/treeTest1.css
|
||||
minimo/res/samples/treeTest1.xul
|
||||
minimo/res/samples/widgets.xul
|
||||
minimo/res/samples/xpmenu.xul
|
||||
minimo/res/samples/xulTest.css
|
||||
minimo/res/throbber/
|
||||
minimo/res/throbber/anim.gif
|
||||
minimo/res/throbber/anims00.gif
|
||||
minimo/res/throbber/anims01.gif
|
||||
minimo/res/throbber/anims02.gif
|
||||
minimo/res/throbber/anims03.gif
|
||||
minimo/res/throbber/anims04.gif
|
||||
minimo/res/throbber/anims05.gif
|
||||
minimo/res/throbber/anims06.gif
|
||||
minimo/res/throbber/anims07.gif
|
||||
minimo/res/throbber/anims08.gif
|
||||
minimo/res/throbber/anims09.gif
|
||||
minimo/res/throbber/anims10.gif
|
||||
minimo/res/throbber/anims11.gif
|
||||
minimo/res/throbber/anims12.gif
|
||||
minimo/res/throbber/anims13.gif
|
||||
minimo/res/throbber/anims14.gif
|
||||
minimo/res/throbber/anims15.gif
|
||||
minimo/res/throbber/anims16.gif
|
||||
minimo/res/throbber/anims17.gif
|
||||
minimo/res/throbber/anims18.gif
|
||||
minimo/res/throbber/anims19.gif
|
||||
minimo/res/throbber/anims20.gif
|
||||
minimo/res/throbber/anims21.gif
|
||||
minimo/res/throbber/anims22.gif
|
||||
minimo/res/throbber/anims23.gif
|
||||
minimo/res/throbber/anims24.gif
|
||||
minimo/res/throbber/anims25.gif
|
||||
minimo/res/throbber/anims26.gif
|
||||
minimo/res/throbber/anims27.gif
|
||||
minimo/res/throbber/anims28.gif
|
||||
minimo/res/throbber/anims29.gif
|
||||
minimo/res/ua.css
|
||||
minimo/res/unixcharset.properties
|
||||
minimo/res/viewer.properties
|
||||
minimo/res/viewsource.css
|
||||
minimo/run-minimo.sh
|
||||
@cwd ${LOCALBASE}/minimo
|
||||
@exec cd %D && env HOME=/tmp LD_LIBRARY_PATH=%D ./regxpcom
|
||||
@exec rm -rf /tmp/.mozilla
|
||||
@unexec rm -f %D/components/compreg.dat
|
||||
@unexec rm -f %D/components/xpti.dat
|
Loading…
x
Reference in New Issue
Block a user