Update to version 1.1.1.

New features include:
* PDF, DocBook/XML, XHTML and Macromedia Flash (SWF) export
* Accessibility
* Support for Complex Text Layout (CTL)
* User installation automated
This commit is contained in:
mrauch 2004-05-03 20:56:35 +00:00
parent 14b455e737
commit 21e1dab6b1
128 changed files with 5358 additions and 9846 deletions

View file

@ -1,14 +1,10 @@
===========================================================================
$NetBSD: MESSAGE,v 1.3 2003/05/06 17:42:01 jmmv Exp $
$NetBSD: MESSAGE,v 1.4 2004/05/03 20:56:35 mrauch Exp $
OpenOffice has now been installed in ${PREFIX}/OpenOffice.org641.
OpenOffice has now been installed in ${PREFIX}/OpenOffice.org1.1.1.
Before using this package for the first time, each user has to run
a setup program, which is automatically invoked at the first start.
Thereafter, OpenOffice can be started using the
${PREFIX}/bin/soffice command.
Please note that this software should be considered alpha quality
at the moment, i.e. take extra care when using it in production
environments.
===========================================================================

View file

@ -1,48 +1,62 @@
# $NetBSD: Makefile,v 1.45 2004/02/01 01:43:29 jlam Exp $
# $NetBSD: Makefile,v 1.46 2004/05/03 20:56:35 mrauch Exp $
DISTNAME= openoffice-0.0.0.641
PKGREVISION= 2
DISTNAME= openoffice-1.1.1
CATEGORIES= misc
MASTER_SITES= http://www.fs.tum.de/~mrauch/OpenOffice/download/
DISTFILES= oo_641_src.tar.bz2
MASTER_SITES= http://mirrors.isc.org/pub/openoffice/stable/1.1.1/\
http://ftp.stardiv.de/pub/OpenOffice.org/stable/1.1.1/\
ftp://ftp.ring.gr.jp/pub/misc/openoffice/stable/1.1.1/\
http://openoffice.mirrors.ilisys.com.au/\
http://www.ibiblio.org/pub/mirrors/openoffice/stable/1.1.1/\
http://gd.tuwien.ac.at/office/openoffice/stable/1.1.1/\
http://mirrors.sunsite.dk/openoffice/stable/1.1.1/\
ftp://ftp.funet.fi/pub/mirrors/openoffice.org/stable/1.1.1/\
http://ftp.leo.org/download/pub/comp/general/office/openoffice/stable/1.1.1/\
ftp://ftp.saix.net/pub/OpenOffice.org/stable/1.1.1/\
ftp://ftp.cyberfenix.net/pub/openoffice/stable/1.1.1/\
ftp://ftp.mirror.ac.uk/sites/ny1.mirror.openoffice.org/stable/1.1.1/\
http://mirror.pacific.net.au/openoffice/\
ftp://ftp.ring.gr.jp/pub/misc/openoffice/stable/1.1.1/\
ftp://ftp.kr.freebsd.org/pub/openoffice/stable/1.1.1/\
http://www.fs.tum.de/~mrauch/OpenOffice/download/
DISTFILES= OOo_1.1.1p1_source.tar.bz2
DISTFILES+= gpc231.tar.Z
DISTFILES+= oo_moz_641.tar.gz
DISTFILES+= ooo_addons_111.tar.bz2
SITES_gpc231.tar.Z= ftp://ftp.cs.man.ac.uk/pub/toby/gpc/
SITES_oo_moz_641.tar.gz=ftp://ftp.NetBSD.org/pub/NetBSD/misc/mrauch/
SITES_ooo_addons_111.tar.bz2=http://www.fs.tum.de/~mrauch/OpenOffice/download/\
ftp://ftp.NetBSD.org/pub/NetBSD/misc/mrauch/
MAINTAINER= mrauch@NetBSD.org
HOMEPAGE= http://www.openoffice.org/
COMMENT= Integrated office productivity suite
WRKSRC= ${WRKDIR}/oo_641_src/config_office
USE_BUILDLINK2= yes
.include "../../mk/bsd.prefs.mk"
# OpenOffice requires gcc 2.95.2 or better.
GCC_REQD+= 2.95.2
BUILD_DEPENDS+= bison-[0-9]*:../../devel/bison
BUILD_DEPENDS+= {standalone-tcsh,tcsh}-[0-9]*:../../shells/tcsh
BUILD_DEPENDS+= zip-[0-9]*:../../archivers/zip
BUILD_DEPENDS+= unzip-[0-9]*:../../archivers/unzip
BUILD_DEPENDS+= stlport>=4.0nb1:../../devel/stlport
WRKSRC= ${WRKDIR}/oo_1.1.1_src/config_office
USE_BUILDLINK3= yes
GCC_REQD= 3.0
USE_GCC_SHLIB= yes
.include "../../mk/bsd.prefs.mk"
USE_X11= # defined
USE_GNU_TOOLS+= make
PKG_JVMS_ACCEPTED= sun-jdk13
USE_PERL5= build
PTHREAD_OPTS+= require
CONFLICTS+= staroffice-[0-9]*
CONFLICTS+= openoffice-linux-[0-9]*
ONLY_FOR_PLATFORM= NetBSD-1.5.3*-i386 NetBSD-1.5Z?-i386 \
NetBSD-1.[6-9]*-i386 NetBSD-[2-9]*-i386
ONLY_FOR_PLATFORM= NetBSD-1.6Z[G-Z]*-i386 NetBSD-[2-9]*-i386
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --with-stlport4-home=${LOCALBASE}
CONFIGURE_ARGS+= --with-jdk-home=${PKG_JAVA_HOME}
CONFIGURE_ARGS+= --enable-mozilla --disable-java
CONFIGURE_ARGS+= --with-lang=ALL --with-dict=ALL
TEMP?= ${WRKSRC}
UNLIMIT_RESOURCES+= datasize
post-extract:
# bring the two files from GPC into place
@ -50,48 +64,32 @@ post-extract:
${CP} ${WRKDIR}/gpc231/gpc.h ${WRKSRC}/../external/gpc/
# bring the NetBSD mozilla zip files into place
${CP} ${WRKDIR}/*.zip ${WRKSRC}/../moz/zipped/
# convert \r\n-lineends in sablot-patch into unix-style \n first
${PERL5} -p -i.save -e 's/\r\n/\n/' \
${WRKSRC}/../sablot/Sablot-0.52.patch
DISPLAY?= #empty, if unset
checkforx:
.if ${DISPLAY}=="" || ${DISPLAY_OK:!${X11BASE}/bin/xdpyinfo >/dev/null 2>&1 && echo YES || echo NO!} == "NO"
. if exists(${X11BASE}/bin/Xvfb)
-${X11BASE}/bin/Xvfb :2 &
DISPLAY= ':2'
. else
@${ECHO} "Error: Environment variable DISPLAY must be set"
@${ECHO} " and point to a connectible X server."
@${FALSE}
. endif #Xvfb
.endif #DISPLAY
pre-build: checkforx
${CP} ${WRKDIR}/openintro_pkgsrc.bmp \
${WRKSRC}/../offmgr/res/openintro.bmp
do-build:
${_ULIMIT_CMD}tcsh -c "setenv DISPLAY '${DISPLAY}'; \
cd ${WRKSRC}/.. && ./bootstrap && source *.Set && dmake"
${_ULIMIT_CMD} tcsh -c "setenv PTHREAD_DIAGASSERT Ael && cd ${WRKSRC}/.. && ./bootstrap && source *.Set && dmake"
pre-install: checkforx
${SH} -c "cd ${WRKSRC}/../instsetoo/*.pro/01/normal; \
${SED} -e 's#@@PREFIX@@#${PREFIX}#g' \
<${FILESDIR}/oo_setup.resp \
>oo_setup.resp"
pre-install:
${CP} ${WRKSRC}/../instsetoo/unxbsdi2.pro/01/normal/setup.ins \
${WRKSRC}/../instsetoo/unxbsdi2.pro/01/normal/setup.ins.orig
${SED} -e "s|/usr/bin/soffice|${PREFIX}/bin/soffice.orig|g" \
-e "s|/usr/lib||g" \
<${WRKSRC}/../instsetoo/unxbsdi2.pro/01/normal/setup.ins.orig\
>${WRKSRC}/../instsetoo/unxbsdi2.pro/01/normal/setup.ins
do-install:
-${SH} -c "cd ${WRKSRC}/../instsetoo/*.pro/01/normal; \
TEMP=${WRKDIR}; export TEMP; \
DISPLAY=${DISPLAY}; export DISPLAY; \
./setup -r:oo_setup.resp"
@${SH} -c "if ! [ -x ${PREFIX}/OpenOffice.org641/setup ] ; \
then ${ECHO} 'Installation was not successful.'; \
${FALSE}; fi"
${SED} -e 's#@@PREFIX@@#${PREFIX}#g' \
${SH} -c "cd ${WRKSRC}/../instsetoo/unxbsdi2.pro/01/normal; ./install --prefix=${PREFIX}"
${RM} -f ${PREFIX}/bin/soffice.orig
${SED} -e "s|@@PREFIX@@|${PREFIX}|g" \
< ${FILESDIR}/soffice > ${PREFIX}/bin/soffice
${CHMOD} +x ${PREFIX}/bin/soffice
.for i in scalc sdraw simpress swriter
${LN} -sf ${PREFIX}/OpenOffice.org1.1.1/program/$i ${PREFIX}/bin/$i
.endfor
.include "../../mk/pthread.buildlink2.mk"
.include "../../lang/perl5/buildlink2.mk"
.include "../../mk/java-vm.mk"
.include "../../mk/compiler.mk"
.include "../../mk/pthread.buildlink3.mk"
.include "../../lang/perl5/buildlink3.mk"
.include "../../textproc/libxslt/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

File diff suppressed because it is too large Load diff

View file

@ -1,130 +1,26 @@
$NetBSD: distinfo,v 1.17 2004/03/26 23:37:49 kristerw Exp $
$NetBSD: distinfo,v 1.18 2004/05/03 20:56:36 mrauch Exp $
SHA1 (oo_641_src.tar.bz2) = ad4c7000cf317d7e9d694a6d519336bfaf1f8edd
Size (oo_641_src.tar.bz2) = 109167758 bytes
SHA1 (OOo_1.1.1p1_source.tar.bz2) = be2c5e799a33b70916528a6454297054db76328e
Size (OOo_1.1.1p1_source.tar.bz2) = 192388698 bytes
SHA1 (gpc231.tar.Z) = dd70a665179a9eac23624a4fe9f22104aad9bb1d
Size (gpc231.tar.Z) = 27917 bytes
SHA1 (oo_moz_641.tar.gz) = 97f6a80cf5170627fbeb4defc7f018b8448f74ff
Size (oo_moz_641.tar.gz) = 6315814 bytes
SHA1 (patch-aa) = d7e3045188a9e8a594ebef1024dee113c7320885
SHA1 (patch-ab) = b18f016cae5d89d79f5c8de1989cc72e0e9da1af
SHA1 (patch-ac) = 3bcea1e83189fe6c1ff6077c0a33b125a43feaee
SHA1 (patch-ad) = 5e060e7084afa45e57c365387322aaba185d6304
SHA1 (patch-ae) = be6f80c94e2ec547b3c402d76ce9a367c8b0b1a1
SHA1 (patch-af) = 6c592bf501fe6fbcca465dbc6aa228e436aefffa
SHA1 (patch-ag) = db82266eace27340e20bd770355a3d0a9043500d
SHA1 (patch-ah) = 36a907a984889de36b56b56b20c939375cd21f13
SHA1 (patch-ai) = ef8eb7497807e2931bd4f9e40e03d797528308f5
SHA1 (patch-aj) = d7456544f9ad0cbe068d80997f129eb5e91ae516
SHA1 (patch-ak) = 0da40651cbc97ceab2fc03fdf46f540a774121e8
SHA1 (patch-al) = 04c3392f960f9f4eae6ee54965b1a1a49bd0b143
SHA1 (patch-am) = 8552a2910f775ac705d8f0ce882cc4e851e600d5
SHA1 (patch-an) = cc00c1044da47513862dec15744dad6652afc726
SHA1 (patch-ao) = 16a786a319c92ddd914a13b048bc2cf641494daa
SHA1 (patch-ap) = 70028ea976925a0736694bfcb127c92fce759a66
SHA1 (patch-aq) = d8630fbf5e14c8850168667cbeb19f4d01a24f03
SHA1 (patch-ar) = a817e053171f526e43d205c7fce04f2490e40208
SHA1 (patch-as) = 1ef3e48e3e66d7292181282aab5d00caf602a88a
SHA1 (patch-at) = 052a1fbf3d498a7523f2dfee5c32dbeca437ba2e
SHA1 (patch-au) = fc8cab0f2a32f624e0f4017eef1cf4cdfe58a092
SHA1 (patch-av) = ab3c60122da22b932a2c25740a05a77664690475
SHA1 (patch-aw) = af6ecdff9e80afbf535ff5d3acba2726843b387d
SHA1 (patch-ax) = aebe27b34ea3b56ec2456e58079befe282ca2881
SHA1 (patch-ay) = 26ebaac7d54f0e1e884a8d13242455f7a91ccb9c
SHA1 (patch-az) = b7115ca4a98af6d83decf5e83ca848ab94ecb33a
SHA1 (patch-ba) = f8e9773d4ee2a768fcbd980b414fa860976be78e
SHA1 (patch-bb) = 4970f76435aefe6c9a2472af3c2fe2b8e9958102
SHA1 (patch-bc) = 023d154b8e83c0df344c632e1598236d90edc484
SHA1 (patch-bd) = f902c298c8422cc3cfa677b2c116cb80fec9043b
SHA1 (patch-be) = b6d3565264f64a40eebf320aa651e21081f1f124
SHA1 (patch-bf) = 4432fa3b141a8bd3856f74d49acccb8b1a902b41
SHA1 (patch-bg) = 6aec76367957f6eee6b9029aaeb24d8da3487927
SHA1 (patch-bh) = bd9af9ed2a577872276abeaa283ca295224644b4
SHA1 (patch-bi) = 892c05069c38ff64b6ad13d2436c31040084938c
SHA1 (patch-bj) = d5a73214ee624bbc35a34496071fd275d99bed5a
SHA1 (patch-bk) = 45a98a80f6bcd2cc7d4a223d41a5897c62592aa2
SHA1 (patch-bl) = a4a85ecb8dff1da882109f2506de5623c0630e58
SHA1 (patch-bm) = 744d57b901b32b8b081e3bdf02f699c91988cb69
SHA1 (patch-bn) = bd44224c4a447d8693b267d3d7ab034348ce4d9a
SHA1 (patch-bo) = 6434d037ca453bf2fcfecc0871556bcaf00fba6c
SHA1 (patch-bp) = ab6e94343577f2698cb4d6b9fc008d5f75940726
SHA1 (patch-bq) = ca47b89bafad175005f896ca53fcf8f5883b64e5
SHA1 (patch-br) = ea3d3b48f4a0798469802b5fc3533df5c481e490
SHA1 (patch-bs) = be0b73c505823f0a08b999eb5ad37ceaec034edb
SHA1 (patch-bt) = 8f0f24689460f50bbe77647eee2ab4093c373283
SHA1 (patch-bu) = 82e3a6c4d188fbace9ec6173c3f3a7da1dd78045
SHA1 (patch-bv) = 1c3d6f413a750816203c285ab1d2217fce5101be
SHA1 (patch-bw) = a4dd43d112a44be46934b2dc9f760c660b956be2
SHA1 (patch-bx) = cef83e75391301e53252f3126e588d83abce3650
SHA1 (patch-by) = f681eea30a6d28338c513118f6d361225bc8083a
SHA1 (patch-bz) = 8670c4da21b0f4a0ec4bebce31e28bf831adb8dd
SHA1 (patch-ca) = 0c515b79dd92a5bf22c79f32a124defd80cd544d
SHA1 (patch-cb) = c4ce25d5a9b0173a456c42493b28e4b15ccc0244
SHA1 (patch-cc) = ef072ff7dacfe6c5d9b768cba444d5014a692ee5
SHA1 (patch-cd) = 28d41ef3439819612a8a1193991b0e79d9d55955
SHA1 (patch-ce) = f03a7e31d8a8943c96d50d33d4a98c0de8aebab1
SHA1 (patch-cf) = d938af1690244ad9cdaf9243b49e2171e7b9ffe4
SHA1 (patch-cg) = 4eea233fe4fe502d9abb52b394fc839b52d60df0
SHA1 (patch-ch) = e10138a5bd71ee24bc7b4a801124185ae8661c2a
SHA1 (patch-ci) = af3a8d17b0225f75aa41474ef47cd4ae8486ce33
SHA1 (patch-cj) = 304d90d55abb4dc2fb4511f9b34198ea42ffc786
SHA1 (patch-ck) = 87e951f0cccfef230704f988af6b8dc90e362ce2
SHA1 (patch-cl) = a4279eb3bd391a98c59bffb828eef99fb8daa829
SHA1 (patch-cm) = 05e61aa2e335ef088a8ae7789410b907936084fb
SHA1 (patch-cn) = 81a06eb21de610b64a78542400b4eaedc2fa3135
SHA1 (patch-co) = fa0589fcaeb4cef32e5c50ecbbf558cfd15e0089
SHA1 (patch-cp) = 7d424757a0c7627aafa19484f5a5ec43451689ef
SHA1 (patch-cq) = 8f2ebcf1336b87b14e8282e24f775ed126043adb
SHA1 (patch-cr) = c481dc3676263567a39aea3cd5bc8abcf966ceef
SHA1 (patch-cs) = 0a856269489f66e3805c057b7459f6d4caed5d4d
SHA1 (patch-ct) = 338e1672c771fb2892420ba3985eb80ae69b111b
SHA1 (patch-cu) = 169256234ed055fbb4a794318b64a55844a00ec2
SHA1 (patch-cv) = e5875ffc0eae8af941a0eff7a09ef50a86418ae5
SHA1 (patch-cw) = 830b825613ce3056d16418fe550c6d85431b1447
SHA1 (patch-cx) = fe9eade2bc59d2909d0d9670aa5e574cbf3d727b
SHA1 (patch-cy) = afd3cb146a6eb46d2047d6f15e119b5e79129a07
SHA1 (patch-cz) = dd6546de0788eb63bf22f6aae66de77ef36e24e5
SHA1 (patch-da) = be034320d910f04f2eb9d2c7c35236e24decf7a4
SHA1 (patch-db) = 6cd1f6923aa9e9c93a0d5dfcb74229a007905b7d
SHA1 (patch-dc) = 0dfbab80794ce167c2a946af0c48fd3b91a12523
SHA1 (patch-dd) = 7c798e377cb7fc07bb120f4c71908336280671a0
SHA1 (patch-de) = 6d3f2dc02daa3db1304759d1cda917adda52d943
SHA1 (patch-df) = 8da1d41c6049f3229e3fadf5724ca2c009ea447a
SHA1 (patch-dg) = 92818574839ebf847c186d8e6b1e6b519b66f10e
SHA1 (patch-dh) = 43880bef06e81bb14d754a811615d5d588698270
SHA1 (patch-di) = 682a09127b541cbd76686b8b273504a9899b5bf4
SHA1 (patch-dj) = 90dbbcd6eb4ac5678e89187a93b68854dea33337
SHA1 (patch-dk) = 167a6387f30c42fbd96c4846070c1f82bff2457c
SHA1 (patch-dl) = 37c7f04c87b79c3dc3cec9a18e1130caf3b37f5b
SHA1 (patch-dm) = 6cc2ed6aca805c88c9af014b5db828aa1ef843ca
SHA1 (patch-dn) = 6dd7c48e1455e8cfd8ac52f37db7468f596e3cc6
SHA1 (patch-do) = 9e2ba4012d3f1544a0806440cb6e1ee0bb81d3d8
SHA1 (patch-dp) = 3498fd6459da0361cb445587aba2f05e4d9cfed8
SHA1 (patch-dq) = 4cd461b6cd6b8598485b3ef9f6b4e1e23e2d6e4d
SHA1 (patch-dr) = 131d0524c603fc464c36c1b734156f327cfb3c69
SHA1 (patch-ds) = 830671879deee77426a9e7cab76f851f4509d4c1
SHA1 (patch-dt) = 2fbaef452d3bd62332ee0203f7f824daa30dd8d0
SHA1 (patch-du) = 9b66de11bead7db72a85a927fe2fcb1fa621fd4a
SHA1 (patch-dv) = da52678b44272da6cdcf718889478c33e865f762
SHA1 (patch-dw) = 2bf4049da24e43e0005e1874a204c83cacaf188c
SHA1 (patch-dx) = 82c1224a376f75dad5bafb08126df213b92a4ba6
SHA1 (patch-dy) = 21ed34cdb703eb5f8384138f6b65ac142caa4bf5
SHA1 (patch-dz) = f8577856d5567167d8362a3b5b9de49e98d60087
SHA1 (patch-ea) = 2151dcfbf0ceb9cbfd480308552bfec2cfcef875
SHA1 (patch-eb) = 5c92c48896b528c9ba160d605b08886420db9105
SHA1 (patch-ec) = 99203cfaae8432ae4b83a7e31eee23dd419e0ade
SHA1 (patch-ed) = 1e1483e78b42bf8489f871a745eb71e63b8b435a
SHA1 (patch-ee) = c7e9cf634734d0c280544ff509b3726a72600805
SHA1 (patch-ef) = 01a20c0760e672568ba081641fb02ded063eaab1
SHA1 (patch-eg) = a9401de191f9742be774ff5f9af4f5f7edc2d5dc
SHA1 (patch-eh) = d1e51e51968ce304acd1ebe81da7a5490e0b29eb
SHA1 (patch-ei) = 8fe556f807ccb8f3701564952f346cbfe9c3b1b6
SHA1 (patch-ej) = b0ad030f1d3a0a3840eb19a21f8871724945d9bd
SHA1 (patch-ek) = e79c48be9ff492a86e8b7b84cd5c3a3910b9cb53
SHA1 (patch-el) = b83e66e2fbddc6055bd2dae0a13441d1c82100d2
SHA1 (patch-em) = 86a0387f4c6f42bb78cae0abe8c21e9871556786
SHA1 (patch-en) = 8b74f0bf2b5fa998624a1e5478fc0710a7a644e1
SHA1 (patch-eo) = dca9afb678c9cf87ed16e352f839a82917663d10
SHA1 (patch-ep) = ca62bf9a949519bf3d54002d350be17f0d53c463
SHA1 (patch-eq) = 1da7be56d2b9dde0056333dc1ba2b1a64cf6b822
SHA1 (patch-er) = 5c1b359c39dce4f7fd2b87c52e82e1091d39e025
SHA1 (ooo_addons_111.tar.bz2) = 3c3dacb77bb4a06874eb1f5609a18ef6e36a7838
Size (ooo_addons_111.tar.bz2) = 11765994 bytes
SHA1 (patch-aa) = 783e0cf32bc942cc6f8d31a0fb74a9d91205e0e7
SHA1 (patch-ab) = 873131e69215c063edb9e65af0155ca1725ac552
SHA1 (patch-ac) = 0c5962741c749299379ddbc96474fd2b567232ce
SHA1 (patch-ad) = 7727183ad7ecc15f4aa31702c43e1fce26d76cc7
SHA1 (patch-ae) = 9015ca0800ee0b440a4a0aa4723f2597c3e6718d
SHA1 (patch-af) = b5252da6127e4c9663679d8dfbfbd1d6e18d751c
SHA1 (patch-ag) = bec72d41929c2e6c592bdfc56d18e5f90b399a16
SHA1 (patch-ah) = 059a87b596c792e41ff93bd71d1bb0ffc3a5cc40
SHA1 (patch-ai) = e372c28e62bdbbe7ae67e21b12d44a972a91da38
SHA1 (patch-aj) = 370da8fab8b71ea6a7b1cef903fe9f62268b2677
SHA1 (patch-ak) = bb3afa61e7e720e10805157ae8d40e065632f293
SHA1 (patch-al) = 8da112628aa1760edf26504b24860a12e688bc56
SHA1 (patch-am) = 546afda0b6b5f223b5edf3933f769ab1064a46a2
SHA1 (patch-an) = e030f5ae1dd3ad2bcb5bab21684df2ed8eaf717e
SHA1 (patch-ao) = 68d21a0daf48d47c7a1ab398bb98c48d7f002c4e
SHA1 (patch-ap) = 827d054cdcc243118a3011ddbed5bcc5bac09c24
SHA1 (patch-aq) = 82285ade1af0a0c5e84d322d5a3a925c095103bb
SHA1 (patch-ar) = f185c705cda716e1b52e5b6ca6d9c5d2a9b341bc

View file

@ -1,8 +0,0 @@
[Environment]
InstallationMode = INSTALL_NETWORK
InstallationType = STANDARD
DestinationPath = @@PREFIX@@/OpenOffice.org641
[Java]
JavaSupport = preinstalled_or_none

View file

@ -1,9 +1,9 @@
#!/bin/sh
#
# $NetBSD: soffice,v 1.3 2003/05/19 02:59:32 simonb Exp $
# $NetBSD: soffice,v 1.4 2004/05/03 20:56:36 mrauch Exp $
#
SOINST=@@PREFIX@@/OpenOffice.org641
[ "$SOFFICE" = "" ] && SOFFICE=$HOME/OpenOffice.org641
SOINST=@@PREFIX@@/OpenOffice.org1.1.1
[ "$SOFFICE" = "" ] && SOFFICE=$HOME/OpenOffice.org1.1.1
if [ ! -d "$SOFFICE" ]; then
echo ""
@ -18,12 +18,24 @@ if [ ! -d "$SOFFICE" ]; then
echo "-----------------------------------------------------------------"
echo ""
# add an eventually existing java directory to $PATH to allow OO to
# automatically find it
export PATH=$PATH:@@PREFIX@@/java/bin
cd $SOINST
./setup
BASENAME=`basename $0`
TMPFILE=`mktemp -q /tmp/$BASENAME.XXXXXX`
if [ $? -ne 0 ]; then
echo "$0: Can't create temp file, exiting..."
exit 1
fi
cat << EOF >> ${TMPFILE}
[ENVIRONMENT]
INSTALLATIONMODE=INSTALL_WORKSTATION
INSTALLATIONTYPE=WORKSTATION
DESTINATIONPATH=$SOFFICE
OUTERPATH=
LOGFILE=
EOF
./setup -nogui -r:${TMPFILE}
rm -f ${TMPFILE}
echo ""
echo "Done. Starting OpenOffice ..."
@ -33,5 +45,9 @@ fi
# We've got a large number of shared libraries and other single files which
# have to be open for normal operation
ulimit -n `ulimit -n -H`
if [ -z $PTHREAD_DIAGASSERT ]; then
PTHREAD_DIAGASSERT=AEL
export PTHREAD_DIAGASSERT
fi
exec ${SOFFICE}/soffice "$@"

View file

@ -1,44 +1,525 @@
$NetBSD: patch-aa,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
$NetBSD: patch-aa,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../berkeleydb/db-3.2.9.patch.orig Mon Jun 11 14:09:22 2001
+++ ../berkeleydb/db-3.2.9.patch
@@ -43,3 +43,39 @@
CC= @MAKEFILE_CC@
CCLINK= @MAKEFILE_CCLINK@
+--- misc/build/db-3.2.9/dist/configure.orig Sat Nov 24 14:56:48 2001
++++ misc/build/db-3.2.9/dist/configure Sat Nov 24 14:57:32 2001
+@@ -995,6 +995,7 @@
+ CPPFLAGS="-D_REENTRANT $CPPFLAGS";;
+ mpeix*) CPPFLAGS="-D_POSIX_SOURCE -D_SOCKET_SOURCE $CPPFLAGS"
+ LIBS="-lsocket -lsvipc $LIBS";;
++netbsd*) optimize_def="-O2";;
+ osf*) CPPFLAGS="-D_REENTRANT $CPPFLAGS";;
+ *qnx) cat >> confdefs.h <<\EOF
+ #define HAVE_QNX 1
+@@ -1795,6 +1796,7 @@
+ case "$host_os" in
+ solaris*) JINCSUBDIRS="solaris";;
+ linux*) JINCSUBDIRS="linux genunix";;
++ netbsd*) JINCSUBDIRS="netbsd solaris linux genunix";;
+ *) JINCSUBDIRS="genunix";;
+ esac
--- ../sal/util/sal_netbsd.map.orig 2004-02-09 22:26:34.000000000 +0100
+++ ../sal/util/sal_netbsd.map
@@ -0,0 +1,520 @@
+UDK_3_0_0 {
+ global:
+ GetVersionInfo;
+ osl_acceptConnectionOnSocket;
+ osl_acceptPipe;
+ osl_acquireSocket;
+ osl_acquirePipe;
+ osl_acquireMutex;
+ osl_acquireSemaphore;
+ osl_addSignalHandler;
+ osl_addToSocketSet;
+ osl_assertFailedLine;
+ osl_bindAddrToSocket;
+ osl_breakDebug;
+ osl_checkCondition;
+ osl_clearSocketSet;
+ osl_closeDirectory;
+ osl_closePipe;
+ osl_closeProfile;
+ osl_connectSocketTo;
+ osl_copyHostAddr;
+ osl_copySocketAddr;
+ osl_createCondition;
+ osl_createEmptySocketAddr;
+ osl_createHostAddr;
+ osl_createHostAddrByAddr;
+ osl_createHostAddrByName;
+ osl_createInetSocketAddr;
+ osl_createMutex;
+ osl_createPipe;
+ osl_createSemaphore;
+ osl_createSocket;
+ osl_createSocketSet;
+ osl_createSuspendedThread;
+ osl_createThread;
+ osl_createThreadKey;
+ osl_decrementInterlockedCount;
+ osl_demultiplexSocketEvents;
+ osl_destroyCondition;
+ osl_destroyHostAddr;
+ osl_destroyMutex;
+ osl_destroySemaphore;
+ osl_destroySocketAddr;
+ osl_destroySocketSet;
+ osl_destroyThread;
+ osl_destroyThreadKey;
+ osl_enableNonBlockingMode;
+ osl_executeProcess;
+ osl_executeProcess_WithRedirectedIO;
+ osl_flushProfile;
+ osl_freeProcessHandle;
+ osl_freeSecurityHandle;
+ osl_getAddrOfSocketAddr;
+ osl_getCommandArg;
+ osl_getCommandArgCount;
+ osl_getConfigDir;
+ osl_getCurrentSecurity;
+ osl_getDirectoryItem;
+ osl_getDottedInetAddrOfSocketAddr;
+ osl_getEnvironment;
+ osl_getEthernetAddress;
+ osl_getExecutableFile;
+ osl_getFamilyOfSocketAddr;
+ osl_getFileStatus;
+ osl_getFileURLFromSystemPath;
+ osl_getGlobalMutex;
+ osl_getHomeDir;
+ osl_getHostnameOfHostAddr;
+ osl_getHostnameOfSocketAddr;
+ osl_getInetPortOfSocketAddr;
+ osl_getLastPipeError;
+ osl_getLastSocketError;
+ osl_getLastSocketErrorDescription;
+ osl_getLocalAddrOfSocket;
+ osl_getLocalHostname;
+ osl_getModuleURLFromAddress;
+ osl_getNextDirectoryItem;
+ osl_getPeerAddrOfSocket;
+ osl_getProcess;
+ osl_getProcessInfo;
+ osl_getProcessWorkingDir;
+ osl_getProfileSectionEntries;
+ osl_getProfileSections;
+ osl_getServicePort;
+ osl_getSocketAddrOfHostAddr;
+ osl_getSocketOption;
+ osl_getSocketType;
+ osl_getSymbol;
+ osl_getSystemPathFromFileURL;
+ osl_getSystemTime;
+ osl_getThreadIdentifier;
+ osl_getThreadKeyData;
+ osl_getThreadPriority;
+ osl_getThreadTextEncoding;
+ osl_getUserIdent;
+ osl_getUserName;
+ osl_getVolumeInformation;
+ osl_incrementInterlockedCount;
+ osl_isAdministrator;
+ osl_isEndOfFile;
+ osl_isEqualSocketAddr;
+ osl_isExceptionPending;
+ osl_isInSocketSet;
+ osl_isNonBlockingMode;
+ osl_isReceiveReady;
+ osl_isSendReady;
+ osl_isThreadRunning;
+ osl_joinProcess;
+ osl_joinWithThread;
+ osl_listenOnSocket;
+ osl_loadModule;
+ osl_loginUser;
+ osl_loginUserOnFileServer;
+ osl_openDirectory;
+ osl_openProfile;
+ osl_raiseSignal;
+ osl_readProfileBool;
+ osl_readProfileIdent;
+ osl_readProfileString;
+ osl_readPipe;
+ osl_readSocket;
+ osl_receiveFromSocket;
+ osl_receivePipe;
+ osl_receiveSocket;
+ osl_releaseDirectoryItem;
+ osl_releaseMutex;
+ osl_releasePipe;
+ osl_releaseSemaphore;
+ osl_releaseSocket;
+ osl_removeFromSocketSet;
+ osl_removeProfileEntry;
+ osl_removeSignalHandler;
+ osl_reportError;
+ osl_resetCondition;
+ osl_resolveHostname;
+ osl_resumeThread;
+ osl_scheduleThread;
+ osl_searchFileURL;
+ osl_sendPipe;
+ osl_sendSocket;
+ osl_sendToSocket;
+ osl_setCondition;
+ osl_setFileAttributes;
+ osl_setFileTime;
+ osl_setInetPortOfSocketAddr;
+ osl_setAddrOfSocketAddr;
+ osl_setSocketOption;
+ osl_setThreadKeyData;
+ osl_setThreadPriority;
+ osl_setThreadTextEncoding;
+ osl_shutdownSocket;
+ osl_suspendThread;
+ osl_terminateProcess;
+ osl_terminateThread;
+ osl_trace;
+ osl_tryToAcquireMutex;
+ osl_tryToAcquireSemaphore;
+ osl_unloadModule;
+ osl_waitCondition;
+ osl_waitThread;
+ osl_writePipe;
+ osl_writeSocket;
+ osl_writeProfileBool;
+ osl_writeProfileIdent;
+ osl_writeProfileString;
+ osl_yieldThread;
+ osl_loadUserProfile;
+ osl_unloadUserProfile;
+ osl_sendResourcePipe;
+ osl_receiveResourcePipe;
+ rtl_allocateMemory;
+ rtl_compareMemory;
+ rtl_copyMemory;
+ rtl_fillMemory;
+ rtl_freeMemory;
+ rtl_moveMemory;
+ rtl_reallocateMemory;
+ rtl_zeroMemory;
+ rtl_findInMemory;
+ rtl_hashentry_destroy;
+ rtl_hashfunc;
+ rtl_hashtable_add;
+ rtl_hashtable_destroy;
+ rtl_hashtable_find;
+ rtl_hashtable_grow;
+ rtl_hashtable_init;
+ rtl_locale_equals;
+ rtl_locale_getCountry;
+ rtl_locale_getDefault;
+ rtl_locale_getLanguage;
+ rtl_locale_getVariant;
+ rtl_locale_hashCode;
+ rtl_locale_register;
+ rtl_locale_setDefault;
+ rtl_str_getLength;
+ rtl_str_compare;
+ rtl_str_compare_WithLength;
+ rtl_str_shortenedCompare_WithLength;
+ rtl_str_reverseCompare_WithLength;
+ rtl_str_compareIgnoreAsciiCase;
+ rtl_str_compareIgnoreAsciiCase_WithLength;
+ rtl_str_shortenedCompareIgnoreAsciiCase_WithLength;
+ rtl_str_hashCode;
+ rtl_str_hashCode_WithLength;
+ rtl_str_indexOfChar;
+ rtl_str_indexOfChar_WithLength;
+ rtl_str_indexOfStr;
+ rtl_str_indexOfStr_WithLength;
+ rtl_str_lastIndexOfChar;
+ rtl_str_lastIndexOfChar_WithLength;
+ rtl_str_lastIndexOfStr;
+ rtl_str_lastIndexOfStr_WithLength;
+ rtl_str_replaceChar;
+ rtl_str_replaceChar_WithLength;
+ rtl_str_toAsciiLowerCase;
+ rtl_str_toAsciiLowerCase_WithLength;
+ rtl_str_toAsciiUpperCase;
+ rtl_str_toAsciiUpperCase_WithLength;
+ rtl_str_trim;
+ rtl_str_trim_WithLength;
+ rtl_str_valueOfBoolean;
+ rtl_str_valueOfChar;
+ rtl_str_valueOfInt32;
+ rtl_str_valueOfInt64;
+ rtl_str_valueOfDouble;
+ rtl_str_valueOfFloat;
+ rtl_str_toBoolean;
+ rtl_str_toInt32;
+ rtl_str_toInt64;
+ rtl_str_toDouble;
+ rtl_str_toFloat;
+ rtl_string_acquire;
+ rtl_string_assign;
+ rtl_string_getLength;
+ rtl_string_getStr;
+ rtl_string_getToken;
+ rtl_string_new;
+ rtl_string_newConcat;
+ rtl_string_newFromStr;
+ rtl_string_newFromStr_WithLength;
+ rtl_string_newFromString;
+ rtl_string_newReplace;
+ rtl_string_newReplaceStrAt;
+ rtl_string_newToAsciiLowerCase;
+ rtl_string_newToAsciiUpperCase;
+ rtl_string_newTrim;
+ rtl_string_new_WithLength;
+ rtl_string_release;
+ rtl_stringbuffer_ensureCapacity;
+ rtl_stringbuffer_insert;
+ rtl_stringbuffer_newFromStr_WithLength;
+ rtl_stringbuffer_newFromStringBuffer;
+ rtl_ustr_compare;
+ rtl_ustr_compare_WithLength;
+ rtl_ustr_shortenedCompare_WithLength;
+ rtl_ustr_reverseCompare_WithLength;
+ rtl_ustr_compareIgnoreAsciiCase;
+ rtl_ustr_compareIgnoreAsciiCase_WithLength;
+ rtl_ustr_shortenedCompareIgnoreAsciiCase_WithLength;
+ rtl_ustr_ascii_compare;
+ rtl_ustr_ascii_compare_WithLength;
+ rtl_ustr_ascii_shortenedCompare_WithLength;
+ rtl_ustr_asciil_reverseCompare_WithLength;
+ rtl_ustr_ascii_compareIgnoreAsciiCase;
+ rtl_ustr_ascii_compareIgnoreAsciiCase_WithLength;
+ rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength;
+ rtl_ustr_getLength;
+ rtl_ustr_hashCode;
+ rtl_ustr_hashCode_WithLength;
+ rtl_ustr_indexOfChar;
+ rtl_ustr_indexOfChar_WithLength;
+ rtl_ustr_indexOfStr;
+ rtl_ustr_indexOfStr_WithLength;
+ rtl_ustr_lastIndexOfChar;
+ rtl_ustr_lastIndexOfChar_WithLength;
+ rtl_ustr_lastIndexOfStr;
+ rtl_ustr_lastIndexOfStr_WithLength;
+ rtl_ustr_replaceChar;
+ rtl_ustr_replaceChar_WithLength;
+ rtl_ustr_toAsciiLowerCase;
+ rtl_ustr_toAsciiLowerCase_WithLength;
+ rtl_ustr_toAsciiUpperCase;
+ rtl_ustr_toAsciiUpperCase_WithLength;
+ rtl_ustr_trim;
+ rtl_ustr_trim_WithLength;
+ rtl_ustr_valueOfBoolean;
+ rtl_ustr_valueOfChar;
+ rtl_ustr_valueOfInt32;
+ rtl_ustr_valueOfInt64;
+ rtl_ustr_valueOfDouble;
+ rtl_ustr_valueOfFloat;
+ rtl_ustr_toBoolean;
+ rtl_ustr_toInt32;
+ rtl_ustr_toInt64;
+ rtl_ustr_toDouble;
+ rtl_ustr_toFloat;
+ rtl_uString_acquire;
+ rtl_uString_assign;
+ rtl_uString_getLength;
+ rtl_uString_getStr;
+ rtl_uString_getToken;
+ rtl_uString_new;
+ rtl_uString_newConcat;
+ rtl_uString_newFromStr;
+ rtl_uString_newFromStr_WithLength;
+ rtl_uString_newFromAscii;
+ rtl_uString_newFromString;
+ rtl_uString_newReplace;
+ rtl_uString_newReplaceStrAt;
+ rtl_uString_newToAsciiLowerCase;
+ rtl_uString_newToAsciiUpperCase;
+ rtl_uString_newTrim;
+ rtl_uString_new_WithLength;
+ rtl_uString_release;
+ rtl_uStringbuffer_ensureCapacity;
+ rtl_uStringbuffer_insert;
+ rtl_uStringbuffer_insert_ascii;
+ rtl_uStringbuffer_newFromStr_WithLength;
+ rtl_uStringbuffer_newFromStringBuffer;
+ rtl_string2UString;
+ rtl_uString2String;
+ rtl_createTextToUnicodeConverter;
+ rtl_destroyTextToUnicodeConverter;
+ rtl_createTextToUnicodeContext;
+ rtl_destroyTextToUnicodeContext;
+ rtl_resetTextToUnicodeContext;
+ rtl_convertTextToUnicode;
+ rtl_createUnicodeToTextConverter;
+ rtl_destroyUnicodeToTextConverter;
+ rtl_createUnicodeToTextContext;
+ rtl_destroyUnicodeToTextContext;
+ rtl_resetUnicodeToTextContext;
+ rtl_convertUnicodeToText;
+ rtl_isOctetTextEncoding;
+ rtl_getTextEncodingInfo;
+ rtl_getTextEncodingFromWindowsCharset;
+ rtl_getTextEncodingFromUnixCharset;
+ rtl_getTextEncodingFromMimeCharset;
+ rtl_getBestWindowsCharsetFromTextEncoding;
+ rtl_getMimeCharsetFromTextEncoding;
+ rtl_getBestMimeCharsetFromTextEncoding;
+ rtl_getBestUnixCharsetFromTextEncoding;
+ rtl_allocateZeroMemory;
+ rtl_freeZeroMemory;
+ rtl_crc32;
+ rtl_digest_create;
+ rtl_digest_createMD2;
+ rtl_digest_createMD5;
+ rtl_digest_createSHA;
+ rtl_digest_createSHA1;
+ rtl_digest_createHMAC_MD5;
+ rtl_digest_createHMAC_SHA1;
+ rtl_digest_destroy;
+ rtl_digest_destroyMD2;
+ rtl_digest_destroyMD5;
+ rtl_digest_destroySHA;
+ rtl_digest_destroySHA1;
+ rtl_digest_destroyHMAC_MD5;
+ rtl_digest_destroyHMAC_SHA1;
+ rtl_digest_get;
+ rtl_digest_getMD2;
+ rtl_digest_getMD5;
+ rtl_digest_getSHA;
+ rtl_digest_getSHA1;
+ rtl_digest_getHMAC_MD5;
+ rtl_digest_getHMAC_SHA1;
+ rtl_digest_init;
+ rtl_digest_initHMAC_MD5;
+ rtl_digest_initHMAC_SHA1;
+ rtl_digest_queryAlgorithm;
+ rtl_digest_queryLength;
+ rtl_digest_update;
+ rtl_digest_updateMD2;
+ rtl_digest_updateMD5;
+ rtl_digest_updateSHA;
+ rtl_digest_updateSHA1;
+ rtl_digest_updateHMAC_MD5;
+ rtl_digest_updateHMAC_SHA1;
+ rtl_digest_MD2;
+ rtl_digest_MD5;
+ rtl_digest_SHA;
+ rtl_digest_SHA1;
+ rtl_digest_HMAC_MD5;
+ rtl_digest_HMAC_SHA1;
+ rtl_digest_PBKDF2;
+
+--- misc/build/db-3.2.9/dist/ltconfig.orig Sat Nov 24 14:56:10 2001
++++ misc/build/db-3.2.9/dist/ltconfig Sat Nov 24 14:56:34 2001
+@@ -1194,11 +1194,12 @@
+ rtl_random_createPool;
+ rtl_random_destroyPool;
+ rtl_random_addBytes;
+ rtl_random_getBytes;
+
+ netbsd*)
+ if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
+- archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
+- archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+- else
+ archive_cmds='$LD -Bshareable $libobjs $deplibs $linkopts -o $lib'
+ # can we support soname and/or expsyms with a.out? -oliva
++ else
++ archive_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname -o $lib'
++ archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
++ need_version=no
+ fi
+ ;;
+ rtl_createUuid;
+ rtl_createNamedUuid;
+ rtl_compareUuid;
+ rtl_getGlobalProcessId;
+
+ osl_openFile;
+ osl_setFilePos;
+ osl_getFilePos;
+ osl_setFileSize;
+ osl_readFile;
+ osl_writeFile;
+ osl_closeFile;
+ osl_createDirectory;
+ osl_removeDirectory;
+ osl_removeFile;
+ osl_copyFile;
+ osl_moveFile;
+
+ osl_closeSocket;
+ osl_createInetBroadcastAddr;
+
+ rtl_cipher_create;
+ rtl_cipher_createBF;
+ rtl_cipher_init;
+ rtl_cipher_initBF;
+ rtl_cipher_encode;
+ rtl_cipher_encodeBF;
+ rtl_cipher_decode;
+ rtl_cipher_decodeBF;
+ rtl_cipher_destroy;
+ rtl_cipher_destroyBF;
+
+ rtl_byte_sequence_reference2One;
+ rtl_byte_sequence_realloc;
+ rtl_byte_sequence_acquire;
+ rtl_byte_sequence_release;
+ rtl_byte_sequence_construct;
+ rtl_byte_sequence_constructNoDefault;
+ rtl_byte_sequence_constructFromArray;
+ rtl_byte_sequence_assign;
+ rtl_byte_sequence_equals;
+ rtl_byte_sequence_getConstArray;
+ rtl_byte_sequence_getLength;
+
+ osl_acquireDirectoryItem;
+
+ osl_abbreviateSystemPath;
+ osl_getDateTimeFromTimeValue;
+ osl_getTimeValueFromDateTime;
+ osl_getLocalTimeFromSystemTime;
+ osl_getSystemTimeFromLocalTime;
+ osl_getAbsoluteFileURL;
+
+ osl_unmountVolumeDevice;
+ osl_automountVolumeDevice;
+ osl_releaseVolumeDeviceHandle;
+ osl_getVolumeDeviceMountPath;
+ osl_acquireVolumeDeviceHandle;
+
+ osl_setDebugMessageFunc;
+ osl_readLine;
+ osl_getGlobalTimer;
+ osl_getCanonicalName;
+ osl_getTextEncodingFromLocale;
+
+ rtl_getUriCharClass;
+ rtl_uriConvertRelToAbs;
+ rtl_uriEncode;
+ rtl_uriDecode;
+
+ rtl_bootstrap_get;
+ rtl_bootstrap_set;
+ rtl_bootstrap_setIniFileName;
+ rtl_bootstrap_args_open;
+ rtl_bootstrap_args_close;
+ rtl_bootstrap_get_from_handle;
+ rtl_bootstrap_get_iniName_from_handle;
+ rtl_bootstrap_expandMacros_from_handle;
+ rtl_bootstrap_expandMacros;
+ rtl_getAppCommandArgCount;
+ rtl_getAppCommandArg;
+
+ rtl_moduleCount_acquire;
+ rtl_moduleCount_release;
+ rtl_moduleCount_canUnload;
+ rtl_registerModuleForUnloading;
+ rtl_unregisterModuleForUnloading;
+ rtl_unloadUnusedModules;
+ rtl_addUnloadingListener;
+ rtl_removeUnloadingListener;
+
+ rtl_logfile_trace;
+ rtl_tres_create;
+ rtl_tres_destroy;
+ osl_getProcessLocale;
+ osl_setProcessLocale;
+ getpwnam_r;
+ getpwuid_r;
+ localtime_r;
+ gmtime_r;
+ gethostbyname_r;
+ readdir_r;
+ local:
+ *;
+};
+
+UDK_3.1 {
+ global:
+ osl_getTempDirURL;
+ osl_createTempFile;
+
+ rtl_math_doubleToString;
+ rtl_math_doubleToUString;
+ rtl_math_pow10Exp;
+ rtl_math_round;
+ rtl_math_stringToDouble;
+ rtl_math_uStringToDouble;
+ rtl_convertUStringToString;
+
+ osl_joinProcessWithTimeout;
+
+ rtl_getTextEncodingFromWindowsCodePage;
+ rtl_getWindowsCodePageFromTextEncoding;
+} UDK_3_0_0;
+
+UDK_3.2 {
+ global:
+ osl_syncFile;
+} UDK_3.1;

View file

@ -1,13 +1,13 @@
$NetBSD: patch-ab,v 1.1.1.1 2002/02/13 18:09:24 mrauch Exp $
$NetBSD: patch-ab,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../bridges/prj/build.lst.orig Mon Nov 12 22:45:25 2001
+++ ../bridges/prj/build.lst
@@ -13,5 +13,8 @@
br bridges\source\cpp_uno\cc50_solaris_sparc nmake - u br_cc50sols br_unotypes NULL
br bridges\source\cpp_uno\cc50_solaris_intel nmake - u br_cc50soli br_unotypes NULL
br bridges\source\cpp_uno\gcc2_solaris_sparc nmake - u br_gccsols br_unotypes NULL
+br bridges\source\cpp_uno\gcc2_netbsd_intel nmake - u br_gccni br_unotypes NULL
+br bridges\source\cpp_uno\gcc2_netbsd_sparc nmake - u br_gccns br_unotypes NULL
+br bridges\source\cpp_uno\gcc2_netbsd_powerpc nmake - u br_gccnp br_unotypes NULL
br bridges\source\prot_uno nmake - all br_pruno br_unotypes NULL
br bridges\source\java_uno nmake - all br_java_uno br_rcon NULL
--- ../desktop/source/pkgchk/pkgchk_misc.h.orig 2004-04-17 19:21:18.000000000 +0200
+++ ../desktop/source/pkgchk/pkgchk_misc.h
@@ -244,6 +244,8 @@ bool office_is_running( ::rtl::Bootstrap
#define THIS_PLATFORM_PATH "/linux_sparc.plt"
#elif defined (MACOSX) && defined (POWERPC)
#define THIS_PLATFORM_PATH "/macosx_powerpc.plt"
+#elif defined (NETBSD) && defined (INTEL)
+#define THIS_PLATFORM_PATH "/netbsd_intel.plt"
#elif defined (NETBSD) && defined (SPARC)
#define THIS_PLATFORM_PATH "/netbsd_sparc.plt"
#elif defined (FREEBSD) && defined (INTEL)

View file

@ -1,558 +1,20 @@
$NetBSD: patch-ac,v 1.1.1.1 2002/02/13 18:09:24 mrauch Exp $
$NetBSD: patch-ac,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../bridges/source/cpp_uno/gcc2_netbsd_intel/cpp2uno.cxx.orig Sun Jan 6 11:24:10 2002
+++ ../bridges/source/cpp_uno/gcc2_netbsd_intel/cpp2uno.cxx
@@ -0,0 +1,553 @@
+#define LEAK_STATIC_DATA
+// #define TRACE(x) OSL_TRACE(x)
+#define TRACE(x)
+
+#include <malloc.h>
+#if STLPORT_VERSION<321
+#include <list.h>
+#include <map.h>
+#else
+#include <list>
+#include <map>
+#endif
+#include <typeinfo>
+#ifndef _RTL_ALLOC_H_
+#include <rtl/alloc.h>
+#endif
+#ifndef _OSL_MUTEX_HXX_
+#include <osl/mutex.hxx>
+#endif
+
+#ifndef _TYPELIB_TYPEDESCRIPTION_HXX_
+#include <typelib/typedescription.hxx>
+#endif
+#ifndef _UNO_DATA_H_
+#include <uno/data.h>
+#endif
+#ifndef _BRIDGES_CPP_UNO_BRIDGE_HXX_
+#include <bridges/cpp_uno/bridge.hxx>
+#endif
+#ifndef _BRIDGES_CPP_UNO_TYPE_MISC_HXX_
+#include <bridges/cpp_uno/type_misc.hxx>
+#endif
+
+#include "gcc2_netbsd_intel.hxx"
+
+using namespace com::sun::star::uno;
+using namespace std;
+using namespace osl;
+using namespace rtl;
+
+namespace CPPU_CURRENT_NAMESPACE
+{
+
+//==================================================================================================
+rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+
+//==================================================================================================
+static typelib_TypeClass cpp2uno_call(
+ cppu_cppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+{
+ // pCallStack: ret, [return ptr], this, params
+ char * pCppStack = (char *)(pCallStack +1);
+
+ // return
+ typelib_TypeDescription * pReturnTypeDescr = 0;
+ if (pReturnTypeRef)
+ TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
+
+ void * pUnoReturn = 0;
+ void * pCppReturn = 0; // complex return ptr: if != 0 && != pUnoReturn, reconversion need
+
+ if (pReturnTypeDescr)
+ {
+ if (cppu_isSimpleType( pReturnTypeDescr ))
+ {
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ }
+ else // complex return via ptr (pCppReturn)
+ {
+ pCppReturn = *(void **)pCppStack;
+ pCppStack += sizeof(void *);
+
+ pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+ }
+ // pop this
+ pCppStack += sizeof( void* );
+
+ // stack space
+ OSL_ENSURE( sizeof(void *) == sizeof(sal_Int32), "### unexpected size!" );
+ // parameters
+ void ** pUnoArgs = (void **)alloca( 4 * sizeof(void *) * nParams );
+ void ** pCppArgs = pUnoArgs + nParams;
+ // indizes of values this have to be converted (interface conversion cpp<=>uno)
+ sal_Int32 * pTempIndizes = (sal_Int32 *)(pUnoArgs + (2 * nParams));
+ // type descriptions for reconversions
+ typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pUnoArgs + (3 * nParams));
+
+ sal_Int32 nTempIndizes = 0;
+
+ for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos )
+ {
+ const typelib_MethodParameter & rParam = pParams[nPos];
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+ if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
+ {
+ pCppArgs[nPos] = pCppStack;
+ pUnoArgs[nPos] = pCppStack;
+ switch (pParamTypeDescr->eTypeClass)
+ {
+ case typelib_TypeClass_HYPER:
+ case typelib_TypeClass_UNSIGNED_HYPER:
+ case typelib_TypeClass_DOUBLE:
+ pCppStack += sizeof(sal_Int32); // extra long
+ }
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ else // ptr to complex value | ref
+ {
+ pCppArgs[nPos] = *(void **)pCppStack;
+
+ if (! rParam.bIn) // is pure out
+ {
+ // uno out is unconstructed mem!
+ pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize );
+ pTempIndizes[nTempIndizes] = nPos;
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+ else if (cppu_relatesToInterface( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+ &pThis->pBridge->aCpp2Uno );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ else // direct way
+ {
+ pUnoArgs[nPos] = *(void **)pCppStack;
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ }
+ pCppStack += sizeof(sal_Int32); // standard parameter length
+ }
+
+ // ExceptionHolder
+ uno_Any aUnoExc; // Any will be constructed by callee
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+ (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+ if (pUnoExc)
+ {
+ // destruct temporary in/inout params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+
+ if (pParams[nIndex].bIn) // is in/inout => was constructed
+ uno_destructData( pUnoArgs[nIndex], ppTempParamTypeDescr[nTempIndizes], 0 );
+ TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndizes] );
+ }
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+ gcc291_netbsd_intel_raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+ else // else no exception occured...
+ {
+ // temporary params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+ typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndizes];
+
+ if (pParams[nIndex].bOut) // inout/out
+ {
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+ &pThis->pBridge->aUno2Cpp );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ // return
+ if (pCppReturn) // has complex return
+ {
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+ &pThis->pBridge->aUno2Cpp );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+ // complex return ptr is set to eax
+ *(void **)pRegisterReturn = pCppReturn;
+ }
+ if (pReturnTypeDescr)
+ {
+ typelib_TypeClass eRet = (typelib_TypeClass)pReturnTypeDescr->eTypeClass;
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+ return eRet;
+ }
+ else
+ return typelib_TypeClass_VOID;
+ }
+}
+
+
+//==================================================================================================
+static typelib_TypeClass cpp_mediate(
+ sal_Int32 nVtableCall,
+ void ** pCallStack,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+{
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // pCallStack: ret adr, [ret *], this, params
+ // _this_ ptr is patched cppu_XInterfaceProxy object
+ cppu_cppInterfaceProxy * pCppI = NULL;
+ if( nVtableCall & 0x80000000 )
+ {
+ nVtableCall &= 0x7fffffff;
+ pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +2);
+ }
+ else
+ pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(pCallStack +1);
+
+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
+
+ OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex,
+ "### illegal vtable index!" );
+ if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException( OUString::createFromAscii("illegal vtable index!"), (XInterface *)pCppI );
+ }
+
+ // determine called method
+ OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+
+ typelib_TypeClass eRet;
+ switch (aMemberDescr.get()->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+ pCppI, aMemberDescr.get(),
+ ((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef,
+ 0, 0, // no params
+ pCallStack, pRegisterReturn );
+ }
+ else
+ {
+ // is SET method
+ typelib_MethodParameter aParam;
+ aParam.pTypeRef =
+ ((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef;
+ aParam.bIn = sal_True;
+ aParam.bOut = sal_False;
+
+ eRet = cpp2uno_call(
+ pCppI, aMemberDescr.get(),
+ 0, // indicates void return
+ 1, &aParam,
+ pCallStack, pRegisterReturn );
+ }
+ break;
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+ switch (nVtableCall)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+ eRet = typelib_TypeClass_VOID;
+ break;
+ case 2: // release()
+ pCppI->releaseProxy(); // non virtual call!
+ eRet = typelib_TypeClass_VOID;
+ break;
+ case 0: // queryInterface() opt
+ {
+ typelib_TypeDescription * pTD = 0;
+ TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pCallStack[3] )->getTypeLibType() );
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+ (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+ pCppI->pBridge->pCppEnv,
+ (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+ ::uno_any_construct(
+ reinterpret_cast< uno_Any * >( pCallStack[1] ),
+ &pInterface, pTD, cpp_acquire );
+ pInterface->release();
+ TYPELIB_DANGER_RELEASE( pTD );
+ *(void **)pRegisterReturn = pCallStack[1];
+ eRet = typelib_TypeClass_ANY;
+ break;
+ }
+ TYPELIB_DANGER_RELEASE( pTD );
+ }
+ } // else perform queryInterface()
+ default:
+ eRet = cpp2uno_call(
+ pCppI, aMemberDescr.get(),
+ ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pParams,
+ pCallStack, pRegisterReturn );
+ }
+ break;
+ }
+ default:
+ {
+ throw RuntimeException( OUString::createFromAscii("no member description found!"), (XInterface *)pCppI );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+ }
+
+ return eRet;
+}
+
+//==================================================================================================
+class MediateClassData
+{
+public:
+ struct ClassDataBuffer
+ {
+ void* m_pVTable;
+
+ ~ClassDataBuffer();
+ };
+private:
+
+ map< OUString, ClassDataBuffer* > m_aClassData;
+ Mutex m_aMutex;
+
+ void createVTable( ClassDataBuffer*, typelib_InterfaceTypeDescription* );
+public:
+ const ClassDataBuffer* getClassData( typelib_InterfaceTypeDescription* );
+
+ MediateClassData() {}
+ ~MediateClassData();
+};
+//__________________________________________________________________________________________________
+MediateClassData::ClassDataBuffer::~ClassDataBuffer()
+{
+ delete m_pVTable;
+}
+
+//__________________________________________________________________________________________________
+MediateClassData::~MediateClassData()
+{
+ TRACE( "> calling ~MediateClassData(): freeing mediate vtables... <\n" );
+
+ // this MUST be the absolute last one which is called!
+ for ( map< OUString, ClassDataBuffer* >::iterator iPos( m_aClassData.begin() ); iPos != m_aClassData.end(); ++iPos )
+ {
+ // todo
+// delete (*iPos).second;
+ }
+}
+
+//__________________________________________________________________________________________________
+
+const MediateClassData::ClassDataBuffer* MediateClassData::getClassData( typelib_InterfaceTypeDescription* pType )
+{
+ MutexGuard aGuard( m_aMutex );
+
+ map< OUString, ClassDataBuffer* >::iterator element = m_aClassData.find( pType->aBase.pTypeName );
+ if( element != m_aClassData.end() )
+ return (*element).second;
+
+ ClassDataBuffer* pBuffer = new ClassDataBuffer();
+ createVTable( pBuffer, pType );
+ m_aClassData[ pType->aBase.pTypeName ] = pBuffer;
+ return pBuffer;
+}
+
+
+//==================================================================================================
+/**
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+static void cpp_vtable_call( int nTableEntry, void** pCallStack ) __attribute__((regparm(2)));
+
+void cpp_vtable_call( int nTableEntry, void** pCallStack )
+{
+ volatile long nRegReturn[2];
+
+ typelib_TypeClass aType =
+ cpp_mediate( nTableEntry, pCallStack, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+ case typelib_TypeClass_HYPER:
+ case typelib_TypeClass_UNSIGNED_HYPER:
+ __asm__( "movl %1, %%edx\n\t"
+ "movl %0, %%eax\n"
+ : : "m"(nRegReturn[0]), "m"(nRegReturn[1]) );
+ break;
+ case typelib_TypeClass_FLOAT:
+ __asm__( "flds %0\n\t"
+ "fstp %%st(0)\n\t"
+ "flds %0\n"
+ : : "m"(*(float *)nRegReturn) );
+ break;
+ case typelib_TypeClass_DOUBLE:
+ __asm__( "fldl %0\n\t"
+ "fstp %%st(0)\n\t"
+ "fldl %0\n"
+ : : "m"(*(double *)nRegReturn) );
+ break;
+// case typelib_TypeClass_UNSIGNED_SHORT:
+// case typelib_TypeClass_SHORT:
+// __asm__( "movswl %0, %%eax\n"
+// : : "m"(nRegReturn) );
+// break;
+ default:
+ __asm__( "movl %0, %%eax\n"
+ : : "m"(nRegReturn[0]) );
+ break;
+ }
+}
+//__________________________________________________________________________________________________
+
+void MediateClassData::createVTable( ClassDataBuffer* pBuffer, typelib_InterfaceTypeDescription* pType )
+{
+ // get all member functions
+ list< sal_Bool > aComplexReturn;
+
+ for( int n = 0; n < pType->nAllMembers; n++ )
+ {
+ typelib_TypeDescription* pMember = NULL;
+ TYPELIB_DANGER_GET( &pMember, pType->ppAllMembers[n] );
+ if( pMember->eTypeClass == typelib_TypeClass_INTERFACE_ATTRIBUTE )
+ {
+ typelib_TypeDescription * pRetTD = 0;
+ TYPELIB_DANGER_GET( &pRetTD, ((typelib_InterfaceAttributeTypeDescription *)pMember)->pAttributeTypeRef );
+ // get method
+ aComplexReturn.push_back( !cppu_isSimpleType( pRetTD ) );
+ // set method
+ if( ! ((typelib_InterfaceAttributeTypeDescription*)pMember)->bReadOnly )
+ aComplexReturn.push_back( sal_False );
+ TYPELIB_DANGER_RELEASE( pRetTD );
+ }
+ else
+ {
+ typelib_TypeDescription * pRetTD = 0;
+ TYPELIB_DANGER_GET( &pRetTD, ((typelib_InterfaceMethodTypeDescription *)pMember)->pReturnTypeRef );
+ aComplexReturn.push_back( !cppu_isSimpleType( pRetTD ) );
+ TYPELIB_DANGER_RELEASE( pRetTD );
+ }
+ TYPELIB_DANGER_RELEASE( pMember );
+ }
+
+ int nSize = aComplexReturn.size();
+ char * pSpace = (char *)rtl_allocateMemory( ((nSize+2)*sizeof(void *)) + (nSize*20) );
+ pBuffer->m_pVTable = (void*)pSpace;
+
+ char * pCode = pSpace + ((nSize+2)*sizeof(void *));
+ void ** pvft = (void **)pSpace;
+ pvft[0] = NULL;
+ pvft[1] = NULL;
+
+ // setup vft and code
+ for ( sal_Int32 nPos = 0; nPos < nSize; ++nPos )
+ {
+ unsigned char * codeSnip = (unsigned char *)pCode + (nPos*20);
+ pvft[nPos+2] = codeSnip;
+
+ // mov $nPos, %eax
+ *codeSnip++ = 0xb8;
+ *(sal_Int32 *)codeSnip = nPos | ( aComplexReturn.front() ? 0x80000000 : 0 );
+ codeSnip += sizeof(sal_Int32);
+ aComplexReturn.pop_front();
+ // mov %esp, %edx
+ *codeSnip++ = 0x89;
+ *codeSnip++ = 0xe2;
+ // jmp cpp_vtable_call
+ *codeSnip++ = 0xe9;
+ *(sal_Int32 *)codeSnip = ((unsigned char *)cpp_vtable_call) - codeSnip - sizeof(sal_Int32);
+ codeSnip += sizeof(sal_Int32);
+ }
+}
+
+//==================================================================================================
+void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+ XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr ) throw ()
+{
+ static MediateClassData * s_pMediateClassData = 0;
+ if (! s_pMediateClassData)
+ {
+ MutexGuard aGuard( Mutex::getGlobalMutex() );
+ if (! s_pMediateClassData)
+ {
+#ifdef LEAK_STATIC_DATA
+ s_pMediateClassData = new MediateClassData();
+#else
+ static MediateClassData s_aMediateClassData;
+ s_pMediateClassData = &s_aMediateClassData;
+#endif
+ }
+ }
+ *(const void **)pCppI = s_pMediateClassData->getClassData( pTypeDescr )->m_pVTable;
+}
+
+}
+
+//##################################################################################################
+extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+ SAL_THROW_EXTERN_C()
+{
+ return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+}
+//##################################################################################################
+extern "C" SAL_DLLEXPORT void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+ SAL_THROW_EXTERN_C()
+{
+ CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( pCppEnv );
+}
+//##################################################################################################
+extern "C" SAL_DLLEXPORT void SAL_CALL uno_ext_getMapping(
+ uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+ SAL_THROW_EXTERN_C()
+{
+ CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( ppMapping, pFrom, pTo );
+}
+
--- ../sal/inc/osl/endian.h.orig 2004-04-17 19:22:21.000000000 +0200
+++ ../sal/inc/osl/endian.h
@@ -103,9 +103,12 @@ extern "C" {
# include <machine/endian.h>
# if BYTE_ORDER == LITTLE_ENDIAN
-# define _LITTLE_ENDIAN
+# undef _BIG_ENDIAN
+# undef _PDP_ENDIAN
# elif BYTE_ORDER == BIG_ENDIAN
+# undef _LITTLE_ENDIAN
-# define _BIG_ENDIAN
+# undef _PDP_ENDIAN
# elif BYTE_ORDER == PDP_ENDIAN
+# undef _LITTLE_ENDIAN
+# undef _BIG_ENDIAN
-# define _PDP_ENDIAN
# endif
#endif

View file

@ -1,310 +1,24 @@
$NetBSD: patch-ad,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-ad,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../sal/osl/unx/system.c.orig 2004-04-17 19:24:56.000000000 +0200
+++ ../sal/osl/unx/system.c
@@ -460,7 +460,7 @@ struct hostent *gethostbyname_r(const ch
return res;
}
-#if defined(MACOSX)
+#if defined(MACOSX) || defined(NETBSD)
/*
* This section works around calls that are missing or broken
* in MacOS X 10.1.x and earlier.
@@ -504,6 +504,10 @@ int readdir_r( DIR *dirp, struct dirent
return nRet;
}
--- ../bridges/source/cpp_uno/gcc2_netbsd_intel/except.cxx.orig Sun Jan 6 11:41:58 2002
+++ ../bridges/source/cpp_uno/gcc2_netbsd_intel/except.cxx
@@ -0,0 +1,305 @@
+#include <dlfcn.h>
+#include <new.h>
+#include <typeinfo>
+#if STLPORT_VERSION<321
+#include <map.h>
+#else
+#include <map>
+#endif
+#ifndef _RTL_ALLOC_H_
+#include <rtl/alloc.h>
+#endif
+#ifndef _OSL_DIAGNOSE_H_
+#include <osl/diagnose.h>
+#endif
+
+#ifndef _BRIDGES_CPP_UNO_BRIDGE_HXX_
+#include <bridges/cpp_uno/bridge.hxx>
+#endif
+#ifndef _TYPELIB_TYPEDESCRIPTION_HXX_
+#include <typelib/typedescription.hxx>
+#endif
+#ifndef _COM_SUN_STAR_UNO_ANY_HXX_
+#include <com/sun/star/uno/Any.hxx>
+#endif
+
+#include <rtl/strbuf.hxx>
+
+#include "gcc2_netbsd_intel.hxx"
+
+#ifdef DEBUG
+#include <stdio.h>
+#endif
+
+using namespace std;
+using namespace osl;
+using namespace rtl;
+using namespace com::sun::star::uno;
+
+namespace CPPU_CURRENT_NAMESPACE
+{
+
+//==================================================================================================
+static OString toUNOname( const OString & rRTTIname )
+{
+ OString aRet;
+
+ sal_Char* pStr = rRTTIname.getStr();
+ sal_Char* pOrg = pStr;
+
+ // check for namespace
+ if( *pStr == '_' )
+ pStr++;
+ if( *pStr == 'Q' )
+ {
+ pStr++;
+ if( *pStr++ == '_' )
+ {
+ while( *pStr++ != '_' )
+ ;
+ }
+ }
+
+ while( *pStr )
+ {
+ int nCharsToCopy = 0;
+ while( *pStr >= '0' && *pStr <= '9' )
+ nCharsToCopy = 10*nCharsToCopy + (int)(*pStr++ - '0');
+ if( aRet.getLength() )
+ aRet += ".";
+ aRet += rRTTIname.copy( pStr - pOrg, nCharsToCopy );
+ pStr += nCharsToCopy;
+ }
+
+ return aRet;
+}
+//==================================================================================================
+static OString toRTTIname( const OString & rUNOname )
+{
+ if( ! rUNOname.getLength() )
+ return OString();
+
+ OStringBuffer aRet( 64 );
+
+ sal_Int32 nIndex = 0;
+ sal_Int32 nToken = 0;
+ do
+ {
+ OString aToken( rUNOname.getToken( 0, '.', nIndex ) );
+ aRet.append( OString::valueOf( (sal_Int32)aToken.getLength() ) );
+ aRet.append( aToken );
+ ++nToken;
+ }
+ while (nIndex >= 0);
+
+ OString ret( aRet.makeStringAndClear() );
+
+ if( nToken >= 2 )
+ {
+ OStringBuffer buf( 64 );
+ buf.append( 'Q' );
+ if( nToken > 9 )
+ aRet.append( '_' );
+ buf.append( OString::valueOf( (sal_Int32)nToken ) );
+ if( nToken > 9 )
+ aRet.append( '_' );
+ buf.append( ret );
+ ret = buf.makeStringAndClear();
+ }
+
+ return ret;
+}
+
+
+//##################################################################################################
+//#### RTTI simulation #############################################################################
+//##################################################################################################
+
+class RTTIHolder
+{
+ static std::map< OString, void* > aAllRTTI;
+public:
+ static void* getRTTI( const OString& rTypename );
+ static void* getRTTI_UnoName( const OString& rUnoTypename )
+ { return getRTTI( toRTTIname( rUnoTypename ) ); }
+
+ static void* insertRTTI( const OString& rTypename );
+ static void* insertRTTI_UnoName( const OString& rTypename )
+ { return insertRTTI( toRTTIname( rTypename ) ); }
+
+ // rSuperTypename MUST exist !!!
+ static void* insertRTTI( const OString& rTypename, const OString& rSuperTypename );
+ static void* insertRTTI_UnoNames( const OString& rTypename, const OString& rSuperTypename )
+ { return insertRTTI( toRTTIname( rTypename ), toRTTIname( rSuperTypename ) ); }
+
+ // for complex RTTI
+ static void* insertRTTI( const OString& rTypename, void* pRTTI );
+ static void* insertRTTI_UnoName( const OString&rTypename, void* pRTTI )
+ { return insertRTTI( toRTTIname( rTypename ), pRTTI ); }
+};
+
+std::map< OString, void* > RTTIHolder::aAllRTTI;
+
+void* RTTIHolder::getRTTI( const OString& rTypename )
+{
+ std::map< OString, void* >::iterator element;
+
+ element = aAllRTTI.find( rTypename );
+ return element != aAllRTTI.end() ? (*element).second : NULL;
+}
+
+void* RTTIHolder::insertRTTI( const OString& rTypename )
+{
+#ifdef DEBUG
+ fprintf( stderr, "generating base RTTI: %s\n", rTypename.getStr() );
+#endif
+ void* pRTTI = new __user_type_info( strdup( rTypename.getStr() ) );
+ aAllRTTI[ rTypename ] = pRTTI;
+ return pRTTI;
+}
+
+void* RTTIHolder::insertRTTI( const OString& rTypename, const OString& rSuperTypename )
+{
+#ifdef DEBUG
+ fprintf( stderr, "generating subclass RTTI: %s %s\n", rTypename.getStr(), rSuperTypename.getStr() );
+#endif
+ OSL_ENSURE( ! getRTTI( rTypename ), "insert RTTI called on already existing type" );
+ void* pRTTI = new __si_type_info( strdup( rTypename.getStr() ), *(__user_type_info*)getRTTI( rSuperTypename ) );
+ aAllRTTI[ rTypename ] = pRTTI;
+ return pRTTI;
+}
+
+void* RTTIHolder::insertRTTI( const OString& rTypename, void* pRTTI )
+{
+ aAllRTTI[ rTypename ] = pRTTI;
+ return pRTTI;
+}
+
+//--------------------------------------------------------------------------------------------------
+
+static void* generateRTTI( typelib_CompoundTypeDescription * pCompTypeDescr )
+{
+ OString aCompTypeName( OUStringToOString( pCompTypeDescr->aBase.pTypeName, RTL_TEXTENCODING_ASCII_US ) );
+ void* pRTTI = RTTIHolder::getRTTI_UnoName( aCompTypeName );
+ if( pRTTI )
+ return pRTTI;
+
+ if( ! pCompTypeDescr->pBaseTypeDescription )
+ // this is a base type
+ return RTTIHolder::insertRTTI_UnoName( aCompTypeName );
+ if( ! pCompTypeDescr->pBaseTypeDescription->pBaseTypeDescription )
+ {
+ OString aBasename(
+ OUStringToOString( pCompTypeDescr->pBaseTypeDescription->aBase.pTypeName, RTL_TEXTENCODING_ASCII_US )
+ );
+ if( ! RTTIHolder::getRTTI_UnoName( aBasename ) )
+ RTTIHolder::insertRTTI_UnoName( aBasename );
+
+ // this type has only one supertype
+ return RTTIHolder::insertRTTI_UnoNames( aCompTypeName, aBasename );
+ }
+
+ // create __si_type_info
+ void* pSuperRTTI = generateRTTI( pCompTypeDescr->pBaseTypeDescription );
+ OString aCompTypeRTTIname( toRTTIname( aCompTypeName ) );
+#ifdef DEBUG
+ fprintf( stderr, "generating RTTI: %s\n", aCompTypeRTTIname.getStr() );
+#endif
+ pRTTI = new __si_type_info( strdup( aCompTypeRTTIname.getStr() ),
+ *(__user_type_info*)pSuperRTTI );
+#if 0
+ __class_type_info::base_info* pBaseInfo = new __class_type_info::base_info;
+ pBaseInfo->base = (__user_type_info*)pSuperRTTI;
+ pBaseInfo->offset = 0;
+ pBaseInfo->is_virtual = 0;
+ pBaseInfo->access1 = __class_type_info::PUBLIC;
+
+ OString aCompTypeRTTIname( toRTTIname( aCompTypeName ) );
+ pRTTI = new __class_type_info(
+ strdup( aCompTypeRTTIname.getStr() ),
+ pBaseInfo,
+ 1
+ );
+#endif
+ return RTTIHolder::insertRTTI_UnoName( aCompTypeName, pRTTI );
+}
+
+//--------------------------------------------------------------------------------------------------
+
+static Mutex s_aMutex;
+static std::map< void*, typelib_TypeDescription* > aExceptionMap;
+
+static void deleteException( void* pExc, int nDummy )
+{
+ MutexGuard aGuard( s_aMutex );
+ std::map< void*, typelib_TypeDescription* >::iterator element =
+ aExceptionMap.find( pExc );
+ OSL_ASSERT( element != aExceptionMap.end() );
+ if( element != aExceptionMap.end() )
+ {
+ typelib_TypeDescription* pType = (*element).second;
+ aExceptionMap.erase( pExc );
+ uno_destructData( pExc, pType, cpp_release );
+ typelib_typedescription_release( pType );
+ }
+}
+
+//__________________________________________________________________________________________________
+
+//##################################################################################################
+//#### exported ####################################################################################
+//##################################################################################################
+
+
+void gcc291_netbsd_intel_raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+{
+ // construct cpp exception object
+ typelib_TypeDescription * pTypeDescr = 0;
+ typelib_typedescriptionreference_getDescription( &pTypeDescr, pUnoExc->pType );
+
+ void * pCppExc = __eh_alloc( pTypeDescr->nSize ); // will be released in generated dtor
+ uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+ // destruct uno exception
+ uno_any_destruct( pUnoExc, 0 );
+
+ // a must be
+ OSL_ENSURE( sizeof(sal_Int32) == sizeof(void *), "### pointer size differs from sal_Int32!" );
+
+ typelib_CompoundTypeDescription * pCompTypeDescr = (typelib_CompoundTypeDescription *)pTypeDescr;
+ void* pRTTI = generateRTTI( pCompTypeDescr );
+
+ {
+ MutexGuard aGuard( s_aMutex );
+ aExceptionMap[ pCppExc ] = pTypeDescr;
+ }
+
+ __cp_push_exception( pCppExc, pRTTI, deleteException );
+ __throw();
+}
+
+void gcc291_netbsd_intel_fillUnoException( cp_eh_info* pInfo, uno_Any* pExc, uno_Mapping * pCpp2Uno )
+{
+ OUString aName( OStringToOUString(
+ toUNOname( ((__user_type_info*)(pInfo->type))->name() ), RTL_TEXTENCODING_ASCII_US ) );
+
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ typelib_typedescription_getByName(
+ &pExcTypeDescr,
+ aName.pData );
+ OSL_ENSURE( pExcTypeDescr, "could not get type description for exception" );
+ if (pExcTypeDescr)
+ {
+ // construct cpp exception any
+ Any aAny( pInfo->value, pExcTypeDescr ); // const_cast
+ typelib_typedescription_release( pExcTypeDescr );
+ // construct uno exception any
+ typelib_TypeDescription* pAnyDescr = 0;
+ getCppuType( (const Any *)0 ).getDescription( &pAnyDescr );
+ uno_copyAndConvertData( pExc, &aAny, pAnyDescr, pCpp2Uno );
+ typelib_typedescription_release( pAnyDescr );
+ }
+}
+
+}
+#if defined(MACOSX)
+
/* No reentrant asctime() either... */
/*******************************************************************************/

View file

@ -1,97 +1,17 @@
$NetBSD: patch-ae,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-ae,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../bridges/source/cpp_uno/gcc2_netbsd_intel/gcc2_netbsd_intel.hxx.orig Sun Jan 6 11:42:08 2002
+++ ../bridges/source/cpp_uno/gcc2_netbsd_intel/gcc2_netbsd_intel.hxx
@@ -0,0 +1,92 @@
+#ifndef _RTL_STRING_HXX_
+#include <rtl/string.hxx>
+#endif
+#include <typeinfo>
+
+typedef struct _uno_Any uno_Any;
+typedef struct _uno_Mapping uno_Mapping;
+
+// private egcs type info structs
+
+// type_info for a simple class ( no base classes or an enum )
+struct __user_type_info : public std::type_info {
+ __user_type_info (const char *n) : type_info (n) {}
+
+ // dynamic cast. built by gcc
+ virtual void* dcast (const type_info &, int, void *,
+ const type_info * = 0, void * = 0) const;
+};
+// type_info for a class with one public, nonvirtual base class.
+
+class __si_type_info : public __user_type_info {
+ const __user_type_info &base;
+
+public:
+ __si_type_info (const char *n, const __user_type_info &b)
+ : __user_type_info (n), base (b) { }
+
+ // dynamic cast. built by gcc
+ virtual void *dcast (const type_info &, int, void *,
+ const type_info * = 0, void * = 0) const;
+};
+
+// type_info for a general class.
+
+typedef unsigned int USItype __attribute__ ((mode (SI)));
+
+struct __class_type_info : public __user_type_info {
+ enum access { PUBLIC = 1, PROTECTED = 2, PRIVATE = 3 };
+
+ struct base_info {
+ const __user_type_info *base;
+ USItype offset: 29;
+ bool is_virtual: 1;
+ access access1: 2;
+ };
+
+ const base_info *base_list;
+ size_t n_bases;
+
+ __class_type_info (const char *name, const base_info *bl, size_t bn)
+ : __user_type_info (name), base_list (bl), n_bases (bn) {}
+
+ // dynamic cast. built by gcc
+ virtual void* dcast (const type_info &, int, void *,
+ const type_info * = 0, void * = 0) const;
+};
+
+struct cp_eh_info
+{
+ struct __eh_info
+ {
+ void* match_function;
+ short language;
+ short version;
+ };
+ __eh_info eh_info;
+ void *value;
+ void *type;
+ void (*cleanup)(void *, int);
+ bool caught;
+ cp_eh_info *next;
+ long handlers;
+ void *original_value;
+};
+
+extern "C" {
+ void __cp_push_exception( void*, void*, void(*)(void*, int) );
+ void __throw();
+}
+
+//##################################################################################################
+//#### exceptions ##################################################################################
+//##################################################################################################
+
+namespace CPPU_CURRENT_NAMESPACE
+{
+
+void gcc291_netbsd_intel_raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp );
+void gcc291_netbsd_intel_fillUnoException( cp_eh_info*, uno_Any*, uno_Mapping * pCpp2Uno );
+
+}
+
--- ../sal/util/makefile.mk.orig 2004-04-17 19:26:03.000000000 +0200
+++ ../sal/util/makefile.mk
@@ -120,8 +120,11 @@ LIB3FILES= \
SHL1TARGET= $(TARGET)
SHL1IMPLIB= i$(TARGET)
-
+.IF "$(OS)"=="NETBSD"
+SHL1VERSIONMAP= $(TARGET)_netbsd.map
+.ELSE
SHL1VERSIONMAP= $(TARGET).map
+.ENDIF
.IF "$(GUI)"=="WNT"
.IF "$(COM)"!="GCC"

View file

@ -1,52 +1,21 @@
$NetBSD: patch-af,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-af,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../solenv/bin/build.pl.orig 2004-04-17 19:26:27.000000000 +0200
+++ ../solenv/bin/build.pl
@@ -532,13 +532,11 @@ sub CorrectPath {
};
sub check_dmake {
- open(DMAKETEMP, "which dmake |");
my $dmake_exe;
- foreach (<DMAKETEMP>) {
- $dmake_exe = $_ if (/dmake/);
+ foreach (split(/:/,$ENV{'PATH'})) {
+ $dmake_exe = $_ . "/dmake";
+ last if (-x $dmake_exe);
};
- close DMAKETEMP;
- chomp $dmake_exe;
&print_error("dmake - no such file or directory") unless -x $dmake_exe;
};
--- ../bridges/source/cpp_uno/gcc2_netbsd_intel/makefile.mk.orig Sun Jan 6 11:42:19 2002
+++ ../bridges/source/cpp_uno/gcc2_netbsd_intel/makefile.mk
@@ -0,0 +1,47 @@
+PRJ=..$/..$/..
+
+PRJNAME=bridges
+TARGET=gcc2_uno
+LIBTARGET=no
+ENABLE_EXCEPTIONS=TRUE
+NO_BSYMBOLIC=TRUE
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : svpre.mk
+.INCLUDE : settings.mk
+.INCLUDE : sv.mk
+
+# --- Files --------------------------------------------------------
+
+.IF "$(COM)$(OS)$(CPU)" == "GCCNETBSDI"
+
+CFLAGSNOOPT=-O0
+NOOPTFILES=$(SLO)$/uno2cpp.obj
+
+SLOFILES= \
+ $(SLO)$/except.obj \
+ $(SLO)$/cpp2uno.obj \
+ $(SLO)$/uno2cpp.obj
+
+SHL1TARGET= $(TARGET)
+
+SHL1DEF= $(MISC)$/$(SHL1TARGET).def
+SHL1IMPLIB= i$(TARGET)
+SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+SHL1OBJS= \
+ $(SLO)$/except.obj \
+ $(SLO)$/cpp2uno.obj \
+ $(SLO)$/uno2cpp.obj
+
+SHL1STDLIBS= \
+ $(SALLIB) \
+ $(CPPULIB)
+
+.ENDIF
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
+

View file

@ -1,408 +1,21 @@
$NetBSD: patch-ag,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-ag,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../bridges/source/cpp_uno/gcc2_netbsd_intel/uno2cpp.cxx.orig Sun Jan 6 11:42:28 2002
+++ ../bridges/source/cpp_uno/gcc2_netbsd_intel/uno2cpp.cxx
@@ -0,0 +1,403 @@
+
+#include <malloc.h>
+#ifndef _RTL_ALLOC_H_
+#include <rtl/alloc.h>
+#endif
+
+#ifndef _UNO_DATA_H_
+#include <uno/data.h>
+#endif
+#ifndef _BRIDGES_CPP_UNO_BRIDGE_HXX_
+#include <bridges/cpp_uno/bridge.hxx>
+#endif
+#ifndef _BRIDGES_CPP_UNO_TYPE_MISC_HXX_
+#include <bridges/cpp_uno/type_misc.hxx>
+#endif
+
+#include "gcc2_netbsd_intel.hxx"
+
+using namespace rtl;
+using namespace com::sun::star::uno;
+
+namespace CPPU_CURRENT_NAMESPACE
+{
+
+//==================================================================================================
+static void callVirtualMethod( void * pThis,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+ sal_Int32 * pStackLongs,
+ sal_Int32 nStackLongs )
+{
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+ OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
+ OSL_ENSURE( (sizeof(void *) == 4) &&
+ (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ volatile long edx = 0, eax = 0; // for register returns
+ __asm__ (
+ // copy values
+ "pushl %%edx\n\t"
+ "pushl %%ecx\n\t"
+ "pushl %%eax\n\t"
+ "mov %0, %%eax\n\t"
+ "mov %%eax, %%edx\n\t"
+ "dec %%edx\n\t"
+ "shl $2, %%edx\n\t"
+ "add %1, %%edx\n"
+ "Lcopy:\n\t"
+ "mov 0(%%edx), %%ecx\n\t"
+ "sub $4, %%edx\n\t"
+ "push %%ecx\n\t"
+ "dec %%eax\n\t"
+ "jne Lcopy\n"
+ "Lcall:\n\t"
+ // do the actual call
+ "mov %2, %%edx\n\t"
+ "mov 0(%%edx), %%edx\n\t"
+ "mov %3, %%eax\n\t"
+ "add $2, %%eax\n\t" // first two table entries are reserved
+ "shl $2, %%eax\n\t"
+ "add %%eax, %%edx\n\t"
+ "mov 0(%%edx), %%edx\n\t"
+ "call *%%edx\n\t"
+ // save return registers
+ "mov %%eax, %4\n\t"
+ "mov %%edx, %5\n\t"
+ // cleanup stack
+ "mov %0, %%eax\n\t"
+ "shl $2, %%eax\n\t"
+ "add %%eax, %%esp\n\t"
+ "popl %%eax\n\t"
+ "popl %%ecx\n\t"
+ "popl %%edx\n\t"
+ : : "m"(nStackLongs), "m"(pStackLongs), "m"(pThis), "m"(nVtableIndex), "m"(eax), "m"(edx) );
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
+ case typelib_TypeClass_UNSIGNED_HYPER:
+ ((long*)pRegisterReturn)[1] = edx;
+ case typelib_TypeClass_LONG:
+ case typelib_TypeClass_UNSIGNED_LONG:
+ case typelib_TypeClass_CHAR:
+ case typelib_TypeClass_ENUM:
+ ((long*)pRegisterReturn)[0] = eax;
+ break;
+ case typelib_TypeClass_SHORT:
+ case typelib_TypeClass_UNSIGNED_SHORT:
+ *(unsigned short*)pRegisterReturn = eax;
+ break;
+ case typelib_TypeClass_BOOLEAN:
+ case typelib_TypeClass_BYTE:
+ *(unsigned char*)pRegisterReturn = eax;
+ break;
+ case typelib_TypeClass_FLOAT:
+ __asm__ (
+ "fstps %0\n\t"
+ : : "m"(*(char *)pRegisterReturn) );
+ break;
+ case typelib_TypeClass_DOUBLE:
+ __asm__ (
+ "fstpl %0\n\t"
+ : : "m"(*(char *)pRegisterReturn) );
+ break;
+ }
+}
+
+//==================================================================================================
+static void cpp_call(
+ cppu_unoInterfaceProxy * pThis,
+ sal_Int32 nVtableCall,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+{
+ // max space for: [complex ret ptr], values|ptr ...
+ char * pCppStack =
+ (char *)alloca( sizeof(sal_Int32) + ((nParams+2) * sizeof(sal_Int64)) );
+ char * pCppStackStart = pCppStack;
+
+ // return
+ typelib_TypeDescription * pReturnTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
+ OSL_ENSURE( pReturnTypeDescr, "### expected return type description!" );
+
+ void * pCppReturn = 0; // if != 0 && != pUnoReturn, needs reconversion
+
+ if (pReturnTypeDescr)
+ {
+ if (cppu_isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+ pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pUnoReturn); // direct way
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+ *(void**)pCppStack = pThis->pCppI;
+ pCppStack += sizeof( void* );
+
+ // stack space
+ OSL_ENSURE( sizeof(void *) == sizeof(sal_Int32), "### unexpected size!" );
+ // args
+ void ** pCppArgs = (void **)alloca( 3 * sizeof(void *) * nParams );
+ // indizes of values this have to be converted (interface conversion cpp<=>uno)
+ sal_Int32 * pTempIndizes = (sal_Int32 *)(pCppArgs + nParams);
+ // type descriptions for reconversions
+ typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pCppArgs + (2 * nParams));
+
+ sal_Int32 nTempIndizes = 0;
+
+ for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos )
+ {
+ const typelib_MethodParameter & rParam = pParams[nPos];
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+ if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+ &pThis->pBridge->aUno2Cpp );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+ case typelib_TypeClass_HYPER:
+ case typelib_TypeClass_UNSIGNED_HYPER:
+ case typelib_TypeClass_DOUBLE:
+ pCppStack += sizeof(sal_Int32); // extra long
+ }
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ else // ptr to complex value | ref
+ {
+ if (! rParam.bIn) // is pure out
+ {
+ // cpp out is constructed mem, uno out is not!
+ uno_constructData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ pParamTypeDescr );
+ pTempIndizes[nTempIndizes] = nPos; // default constructed for cpp call
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+ else if (cppu_relatesToInterface( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ else // direct way
+ {
+ *(void **)pCppStack = pCppArgs[nPos] = pUnoArgs[nPos];
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ }
+ pCppStack += sizeof(sal_Int32); // standard parameter length
+ }
+
+ try
+ {
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic" );
+ callVirtualMethod(
+ pThis->pCppI, nVtableCall,
+ pCppReturn, pReturnTypeDescr->eTypeClass,
+ (sal_Int32 *)pCppStackStart, (pCppStack - pCppStackStart) / sizeof(sal_Int32) );
+ // NO exception occured...
+ *ppUnoExc = 0;
+
+ // reconvert temporary params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+ typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndizes];
+
+ if (pParams[nIndex].bIn)
+ {
+ if (pParams[nIndex].bOut) // inout
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+ &pThis->pBridge->aCpp2Uno );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+ &pThis->pBridge->aCpp2Uno );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ // return value
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+ &pThis->pBridge->aCpp2Uno );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+ }
+ }
+ catch( ... )
+ {
+ // get exception
+ cp_eh_info* pEHInfo = (cp_eh_info*)__cp_eh_info();
+ gcc291_netbsd_intel_fillUnoException( pEHInfo, *ppUnoExc, &pThis->pBridge->aCpp2Uno );
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], ppTempParamTypeDescr[nTempIndizes], cpp_release );
+ TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndizes] );
+ }
+ // return type
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+ }
+}
+
+
+//==================================================================================================
+void SAL_CALL cppu_unoInterfaceProxy_dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+ void * pReturn, void * pArgs[], uno_Any ** ppException ) throw ()
+{
+ // is my surrogate
+ cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+ // determine vtable call index
+ sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+
+ sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+ OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+ pThis, nVtableCall,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+ }
+ else
+ {
+ // is SET
+ typelib_MethodParameter aParam;
+ aParam.pTypeRef =
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef;
+ aParam.bIn = sal_True;
+ aParam.bOut = sal_False;
+
+ typelib_TypeDescriptionReference * pReturnTypeRef = 0;
+ OUString aVoidName( RTL_CONSTASCII_USTRINGPARAM("void") );
+ typelib_typedescriptionreference_new(
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
+ cpp_call(
+ pThis, nVtableCall +1, // get, then set method
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+
+ typelib_typedescriptionreference_release( pReturnTypeRef );
+ }
+
+ break;
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // determine vtable call index
+ sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+
+ sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+ OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+
+ switch (nVtableCall)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+ (*pUnoI->acquire)( pUnoI );
+ *ppException = 0;
+ break;
+ case 2: // release uno interface
+ (*pUnoI->release)( pUnoI );
+ *ppException = 0;
+ break;
+ case 0: // queryInterface() opt
+ {
+ typelib_TypeDescription * pTD = 0;
+ TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pArgs[0] )->getTypeLibType() );
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+ (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+ pThis->pBridge->pUnoEnv,
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+ ::uno_any_construct(
+ reinterpret_cast< uno_Any * >( pReturn ),
+ &pInterface, pTD, 0 );
+ (*pInterface->release)( pInterface );
+ TYPELIB_DANGER_RELEASE( pTD );
+ *ppException = 0;
+ break;
+ }
+ TYPELIB_DANGER_RELEASE( pTD );
+ }
+ } // else perform queryInterface()
+ default:
+ // dependent dispatch
+ cpp_call(
+ pThis, nVtableCall,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+ pReturn, pArgs, ppException );
+ }
+ break;
+ }
+ default:
+ {
+ ::com::sun::star::uno::RuntimeException aExc(
+ OUString( RTL_CONSTASCII_USTRINGPARAM("illegal member type description!") ),
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >() );
+
+ Type const & rExcType = ::getCppuType( &aExc );
+ // binary identical null reference
+ ::uno_type_any_construct( *ppException, &aExc, rExcType.getTypeLibType(), 0 );
+ }
+ }
+}
+
+}
+
--- ../solenv/bin/checkdll.sh.orig 2004-04-17 19:26:43.000000000 +0200
+++ ../solenv/bin/checkdll.sh
@@ -7,7 +7,7 @@
# Copyright (c) 2000, Sun Microsystems, Inc.
#
-set -- `getopt "L:" "$@"` || {
+set -- `getopt "L:R:" "$@"` || {
echo "Usage: `basename $0` [-L library_path] <shared_library>" 1>&2
exit 1
}
@@ -19,6 +19,7 @@ if [ -x $checkdll ]; then
do
case $1 in
-L) shift; option=$1;;
+ -R) shift;;
--) break;;
esac
case "${libpath+X}" in

View file

@ -1,773 +1,94 @@
$NetBSD: patch-ah,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-ah,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../bridges/source/cpp_uno/gcc2_netbsd_powerpc/cpp2uno.cxx.orig Sun Jan 6 11:42:47 2002
+++ ../bridges/source/cpp_uno/gcc2_netbsd_powerpc/cpp2uno.cxx
@@ -0,0 +1,768 @@
+#include <stdio.h>
+
+#define LEAK_STATIC_DATA
+// #define TRACE(x) OSL_TRACE(x)
+#define TRACE(x)
+
+#include <malloc.h>
+#if STLPORT_VERSION<321
+#include <list.h>
+#include <map.h>
+#else
+#include <list>
+#include <map>
+#endif
+#include <typeinfo>
+#ifndef _RTL_ALLOC_H_
+#include <rtl/alloc.h>
+#endif
+#ifndef _OSL_MUTEX_HXX_
+#include <osl/mutex.hxx>
+#endif
+
+#ifndef _TYPELIB_TYPEDESCRIPTION_HXX_
+#include <typelib/typedescription.hxx>
+#endif
+#ifndef _UNO_DATA_H_
+#include <uno/data.h>
+#endif
+#ifndef _BRIDGES_CPP_UNO_BRIDGE_HXX_
+#include <bridges/cpp_uno/bridge.hxx>
+#endif
+#ifndef _BRIDGES_CPP_UNO_TYPE_MISC_HXX_
+#include <bridges/cpp_uno/type_misc.hxx>
+#endif
+
+#include "gcc2_netbsd_powerpc.hxx"
+
+using namespace com::sun::star::uno;
+using namespace std;
+using namespace osl;
+using namespace rtl;
+
+namespace CPPU_CURRENT_NAMESPACE
+{
+
+//==================================================================================================
+rtl_StandardModuleCount g_moduleCount = MODULE_COUNT_INIT;
+
+//==================================================================================================
+static typelib_TypeClass cpp2uno_call(
+ cppu_cppInterfaceProxy * pThis,
+ const typelib_TypeDescription * pMemberTypeDescr,
+ typelib_TypeDescriptionReference * pReturnTypeRef, // 0 indicates void return
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void ** gpreg, void ** fpreg, void ** ovrflw,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+{
+ int ng = 0; // number of gpr registers used
+ int nf = 0; // number of fpr registers used
+ void ** pCppStack; // temporary stack pointer
+
+ // gpreg: [ret *], this, [gpr params]
+ // fpreg: [fpr params]
+ // ovrflw: [gpr or fpr params (properly aligned)]
+
+ // return
+ typelib_TypeDescription * pReturnTypeDescr = 0;
+ if (pReturnTypeRef)
+ TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
+
+ void * pUnoReturn = 0;
+ void * pCppReturn = 0; // complex return ptr: if != 0 && != pUnoReturn, reconversion need
+
+ if (pReturnTypeDescr)
+ {
+ if (cppu_isSimpleType( pReturnTypeDescr ))
+ pUnoReturn = pRegisterReturn; // direct way for simple types
+ else // complex return via ptr (pCppReturn)
+ {
+ pCppReturn = *(void **)gpreg;
+ gpreg++;
+ ng++;
+
+ pUnoReturn = (cppu_relatesToInterface( pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pCppReturn); // direct way
+ }
+ }
+ // pop this
+ gpreg++;
+ ng++;
+
+ // stack space
+ OSL_ENSURE( sizeof(void *) == sizeof(sal_Int32), "### unexpected size!" );
+ // parameters
+ void ** pUnoArgs = (void **)alloca( 4 * sizeof(void *) * nParams );
+ void ** pCppArgs = pUnoArgs + nParams;
+ // indizes of values this have to be converted (interface conversion cpp<=>uno)
+ sal_Int32 * pTempIndizes = (sal_Int32 *)(pUnoArgs + (2 * nParams));
+ // type descriptions for reconversions
+ typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pUnoArgs + (3 * nParams));
+
+ sal_Int32 nTempIndizes = 0;
+
+ for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos )
+ {
+ const typelib_MethodParameter & rParam = pParams[nPos];
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+ if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr )) // value
+ {
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+ case typelib_TypeClass_DOUBLE:
+ if (nf < 8) {
+ pCppArgs[nPos] = fpreg;
+ pUnoArgs[nPos] = fpreg;
+ nf++;
+ fpreg += 2;
+ } else {
+ if (((long)ovrflw) & 4) ovrflw++;
+ pCppArgs[nPos] = ovrflw;
+ pUnoArgs[nPos] = ovrflw;
+ ovrflw += 2;
+ }
+ break;
+
+ case typelib_TypeClass_FLOAT:
+ /* fpreg are all double values so need to create
+ modify fpreg to be a single word float value */
+ if (nf < 8) {
+ float tmp = (float) (*((double *)fpreg));
+ (*((float *) fpreg)) = tmp;
+ pCppArgs[nPos] = fpreg;
+ pUnoArgs[nPos] = fpreg;
+ nf++;
+ fpreg += 2;
+ } else {
+#if 0 /* abi is not being followed correctly */
+ if (((long)ovrflw) & 4) ovrflw++;
+ float tmp = (float) (*((double *)ovrflw));
+ (*((float *) ovrflw)) = tmp;
+ pCppArgs[nPos] = ovrflw;
+ pUnoArgs[nPos] = ovrflw;
+ ovrflw += 2;
+#else
+ pCppArgs[nPos] = ovrflw;
+ pUnoArgs[nPos] = ovrflw;
+ ovrflw += 1;
+#endif
+ }
+ break;
+
+ case typelib_TypeClass_HYPER:
+ case typelib_TypeClass_UNSIGNED_HYPER:
+ if (ng < 7) {
+ if (ng & 1) {
+ ng++;
+ gpreg++;
+ }
+ pCppArgs[nPos] = gpreg;
+ pUnoArgs[nPos] = gpreg;
+ ng += 2;
+ gpreg += 2;
+ } else {
+ if (((long)ovrflw) & 4) ovrflw++;
+ pCppArgs[nPos] = ovrflw;
+ pUnoArgs[nPos] = ovrflw;
+ ovrflw += 2;
+ }
+ break;
+
+ case typelib_TypeClass_BYTE:
+ case typelib_TypeClass_BOOLEAN:
+ if (ng < 8) {
+ pCppArgs[nPos] = (((char *)gpreg) + 3);
+ pUnoArgs[nPos] = (((char *)gpreg) + 3);
+ ng++;
+ gpreg++;
+ } else {
+ pCppArgs[nPos] = (((char *)ovrflw) + 3);
+ pUnoArgs[nPos] = (((char *)ovrflw) + 3);
+ ovrflw++;
+ }
+ break;
+
+ case typelib_TypeClass_CHAR:
+ case typelib_TypeClass_SHORT:
+ case typelib_TypeClass_UNSIGNED_SHORT:
+ if (ng < 8) {
+ pCppArgs[nPos] = (((char *)gpreg)+ 2);
+ pUnoArgs[nPos] = (((char *)gpreg)+ 2);
+ ng++;
+ gpreg++;
+ } else {
+ pCppArgs[nPos] = (((char *)ovrflw) + 2);
+ pUnoArgs[nPos] = (((char *)ovrflw) + 2);
+ ovrflw++;
+ }
+ break;
+
+ default:
+ if (ng < 8) {
+ pCppArgs[nPos] = gpreg;
+ pUnoArgs[nPos] = gpreg;
+ ng++;
+ gpreg++;
+ } else {
+ pCppArgs[nPos] = ovrflw;
+ pUnoArgs[nPos] = ovrflw;
+ ovrflw++;
+ }
+
+ }
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ else // ptr to complex value | ref
+ {
+ if (ng < 8) {
+ pCppArgs[nPos] = *(void **)gpreg;
+ pCppStack = gpreg;
+ ng++;
+ gpreg++;
+ } else {
+ pCppArgs[nPos] = *(void **)ovrflw;
+ pCppStack = ovrflw;
+ ovrflw++;
+ }
+
+ if (! rParam.bIn) // is pure out
+ {
+ // uno out is unconstructed mem!
+ pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize );
+ pTempIndizes[nTempIndizes] = nPos;
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+ else if (cppu_relatesToInterface( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pUnoArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ *(void **)pCppStack, pParamTypeDescr,
+ &pThis->pBridge->aCpp2Uno );
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ else // direct way
+ {
+ pUnoArgs[nPos] = *(void **)pCppStack;
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ }
+ }
+
+ // ExceptionHolder
+ uno_Any aUnoExc; // Any will be constructed by callee
+ uno_Any * pUnoExc = &aUnoExc;
+
+ // invoke uno dispatch call
+ (*pThis->pUnoI->pDispatcher)( pThis->pUnoI, pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
+
+ // in case an exception occured...
+
+ if (pUnoExc)
+ {
+ // destruct temporary in/inout params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+
+ if (pParams[nIndex].bIn) // is in/inout => was constructed
+ uno_destructData( pUnoArgs[nIndex], ppTempParamTypeDescr[nTempIndizes], 0 );
+ TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndizes] );
+ }
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+
+ gcc291_linux_powerpc_raiseException( &aUnoExc, &pThis->pBridge->aUno2Cpp ); // has to destruct the any
+
+ // is here for dummy
+ return typelib_TypeClass_VOID;
+ }
+ else // else no exception occured...
+ {
+ // temporary params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+ typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndizes];
+
+ if (pParams[nIndex].bOut) // inout/out
+ {
+ // convert and assign
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+ uno_copyAndConvertData( pCppArgs[nIndex], pUnoArgs[nIndex], pParamTypeDescr,
+ &pThis->pBridge->aUno2Cpp );
+ }
+ // destroy temp uno param
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 );
+
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ // return
+ if (pCppReturn) // has complex return
+ {
+ if (pUnoReturn != pCppReturn) // needs reconversion
+ {
+ uno_copyAndConvertData( pCppReturn, pUnoReturn, pReturnTypeDescr,
+ &pThis->pBridge->aUno2Cpp );
+ // destroy temp uno return
+ uno_destructData( pUnoReturn, pReturnTypeDescr, 0 );
+ }
+ // complex return ptr is set to return reg
+ *(void **)pRegisterReturn = pCppReturn;
+ }
+ if (pReturnTypeDescr)
+ {
+ typelib_TypeClass eRet = (typelib_TypeClass)pReturnTypeDescr->eTypeClass;
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+ return eRet;
+ }
+ else
+ return typelib_TypeClass_VOID;
+ }
+}
+
+
+//==================================================================================================
+static typelib_TypeClass cpp_mediate(
+ sal_Int32 nVtableCall,
+ void ** gpreg, void ** fpreg, void ** ovrflw,
+ sal_Int64 * pRegisterReturn /* space for register return */ )
+{
+ OSL_ENSURE( sizeof(sal_Int32)==sizeof(void *), "### unexpected!" );
+
+ // gpreg: [ret *], this, [other gpr params]
+ // fpreg: [fpr params]
+ // ovrflw: [gpr or fpr params (properly aligned)]
+
+ // _this_ ptr is patched cppu_XInterfaceProxy object
+ cppu_cppInterfaceProxy * pCppI = NULL;
+
+ if( nVtableCall & 0x80000000 )
+ {
+ nVtableCall &= 0x7fffffff;
+ pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(gpreg +1);
+ }
+ else
+ pCppI = (cppu_cppInterfaceProxy *)(XInterface *)*(gpreg);
+
+ typelib_InterfaceTypeDescription * pTypeDescr = pCppI->pTypeDescr;
+
+ OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex,
+ "### illegal vtable index!" );
+ if (nVtableCall >= pTypeDescr->nMapFunctionIndexToMemberIndex)
+ {
+ throw RuntimeException( OUString::createFromAscii("illegal vtable index!"), (XInterface *)pCppI );
+ }
+
+ // determine called method
+ OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+ sal_Int32 nMemberPos = pTypeDescr->pMapFunctionIndexToMemberIndex[nVtableCall];
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### illegal member index!" );
+
+ TypeDescription aMemberDescr( pTypeDescr->ppAllMembers[nMemberPos] );
+
+ typelib_TypeClass eRet;
+ switch (aMemberDescr.get()->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+ if (pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos] == nVtableCall)
+ {
+ // is GET method
+ eRet = cpp2uno_call(
+ pCppI, aMemberDescr.get(),
+ ((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef,
+ 0, 0, // no params
+ gpreg, fpreg, ovrflw, pRegisterReturn );
+ }
+ else
+ {
+ // is SET method
+ typelib_MethodParameter aParam;
+ aParam.pTypeRef =
+ ((typelib_InterfaceAttributeTypeDescription *)aMemberDescr.get())->pAttributeTypeRef;
+ aParam.bIn = sal_True;
+ aParam.bOut = sal_False;
+
+ eRet = cpp2uno_call(
+ pCppI, aMemberDescr.get(),
+ 0, // indicates void return
+ 1, &aParam,
+ gpreg, fpreg, ovrflw, pRegisterReturn );
+ }
+ break;
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // is METHOD
+ switch (nVtableCall)
+ {
+ case 1: // acquire()
+ pCppI->acquireProxy(); // non virtual call!
+ eRet = typelib_TypeClass_VOID;
+ break;
+ case 2: // release()
+ pCppI->releaseProxy(); // non virtual call!
+ eRet = typelib_TypeClass_VOID;
+ break;
+ case 0: // queryInterface() opt
+ {
+ typelib_TypeDescription * pTD = 0;
+ TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( gpreg[2] )->getTypeLibType() );
+ if (pTD)
+ {
+ XInterface * pInterface = 0;
+ (*pCppI->pBridge->pCppEnv->getRegisteredInterface)(
+ pCppI->pBridge->pCppEnv,
+ (void **)&pInterface, pCppI->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+ ::uno_any_construct(
+ reinterpret_cast< uno_Any * >( gpreg[0] ),
+ &pInterface, pTD, cpp_acquire );
+ pInterface->release();
+ TYPELIB_DANGER_RELEASE( pTD );
+ *(void **)pRegisterReturn = gpreg[0];
+ eRet = typelib_TypeClass_ANY;
+ break;
+ }
+ TYPELIB_DANGER_RELEASE( pTD );
+ }
+ } // else perform queryInterface()
+ default:
+ eRet = cpp2uno_call(
+ pCppI, aMemberDescr.get(),
+ ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)aMemberDescr.get())->pParams,
+ gpreg, fpreg, ovrflw, pRegisterReturn );
+ }
+ break;
+ }
+ default:
+ {
+ throw RuntimeException( OUString::createFromAscii("no member description found!"), (XInterface *)pCppI );
+ // is here for dummy
+ eRet = typelib_TypeClass_VOID;
+ }
+ }
+
+ return eRet;
+}
+
+//==================================================================================================
+class MediateClassData
+{
+public:
+ struct ClassDataBuffer
+ {
+ void* m_pVTable;
+
+ ~ClassDataBuffer();
+ };
+private:
+
+ map< OUString, ClassDataBuffer* > m_aClassData;
+ Mutex m_aMutex;
+
+ void createVTable( ClassDataBuffer*, typelib_InterfaceTypeDescription* );
+public:
+ const ClassDataBuffer* getClassData( typelib_InterfaceTypeDescription* );
+
+ MediateClassData() {}
+ ~MediateClassData();
+};
+//__________________________________________________________________________________________________
+MediateClassData::ClassDataBuffer::~ClassDataBuffer()
+{
+ delete m_pVTable;
+}
+
+//__________________________________________________________________________________________________
+MediateClassData::~MediateClassData()
+{
+ TRACE( "> calling ~MediateClassData(): freeing mediate vtables... <\n" );
+
+ // this MUST be the absolute last one which is called!
+ for ( map< OUString, ClassDataBuffer* >::iterator iPos( m_aClassData.begin() ); iPos != m_aClassData.end(); ++iPos )
+ {
+ // todo
+// delete (*iPos).second;
+ }
+}
+
+//__________________________________________________________________________________________________
+
+const MediateClassData::ClassDataBuffer* MediateClassData::getClassData( typelib_InterfaceTypeDescription* pType )
+{
+ MutexGuard aGuard( m_aMutex );
+
+ map< OUString, ClassDataBuffer* >::iterator element = m_aClassData.find( pType->aBase.pTypeName );
+ if( element != m_aClassData.end() )
+ return (*element).second;
+
+ ClassDataBuffer* pBuffer = new ClassDataBuffer();
+ createVTable( pBuffer, pType );
+ m_aClassData[ pType->aBase.pTypeName ] = pBuffer;
+ return pBuffer;
+}
+
+
+//==================================================================================================
+/**
+ * is called on incoming vtable calls
+ * (called by asm snippets)
+ */
+static void cpp_vtable_call(int nTableEntry, void** gpregptr, void** fpregptr, void** ovrflw)
+{
+ sal_Int32 gpreg[8];
+ double fpreg[8];
+
+ memcpy( gpreg, gpregptr, 32 );
+ memcpy( fpreg, fpregptr, 64 );
+ volatile long nRegReturn[2];
+
+ sal_Bool bComplex = nTableEntry & 0x80000000 ? sal_True : sal_False;
+
+ typelib_TypeClass aType =
+ cpp_mediate( nTableEntry, (void**)gpreg, (void**)fpreg, ovrflw, (sal_Int64*)nRegReturn );
+
+ switch( aType )
+ {
+ // move return value into register space
+ // (will be loaded by machine code snippet)
+
+ case typelib_TypeClass_BOOLEAN:
+ case typelib_TypeClass_BYTE:
+ __asm__( "lbz 3,%0\n\t" : :
+ "m"(nRegReturn[0]) );
+ break;
+ case typelib_TypeClass_CHAR:
+ case typelib_TypeClass_SHORT:
+ case typelib_TypeClass_UNSIGNED_SHORT:
+ __asm__( "lhz 3,%0\n\t" : :
+ "m"(nRegReturn[0]) );
+ break;
+ case typelib_TypeClass_FLOAT:
+ __asm__( "lfs 1,%0\n\t" : :
+ "m" (*((float*)nRegReturn)) );
+ break;
+ case typelib_TypeClass_DOUBLE:
+ __asm__( "lfd 1,%0\n\t" : :
+ "m" (*((double*)nRegReturn)) );
+ break;
+ case typelib_TypeClass_HYPER:
+ case typelib_TypeClass_UNSIGNED_HYPER:
+ __asm__( "lwz 4,%0\n\t" : :
+ "m"(nRegReturn[1]) );
+ default:
+ __asm__( "lwz 3,%0\n\t" : :
+ "m"(nRegReturn[0]) );
+ break;
+ }
+
+}
+
+//__________________________________________________________________________________________________
+void flush_icache(char *addr)
+{
+ __asm__ volatile (
+ "dcbf 0,%0;"
+ "sync;"
+ "icbi 0,%0;"
+ "sync;"
+ "isync;"
+ : : "r"(addr) : "memory");
+}
+
+void flush_range(char * addr1, int size)
+{
+#define MIN_LINE_SIZE 16
+ int i;
+ for (i = 0; i < size; i += MIN_LINE_SIZE)
+ flush_icache(addr1+i);
+ flush_icache(addr1+size-1);
+}
+
+
+//__________________________________________________________________________________________________
+
+void MediateClassData::createVTable( ClassDataBuffer* pBuffer, typelib_InterfaceTypeDescription* pType )
+{
+ // get all member functions
+ list< sal_Bool > aComplexReturn;
+
+ for( int n = 0; n < pType->nAllMembers; n++ )
+ {
+ typelib_TypeDescription* pMember = NULL;
+ TYPELIB_DANGER_GET( &pMember, pType->ppAllMembers[n] );
+ if( pMember->eTypeClass == typelib_TypeClass_INTERFACE_ATTRIBUTE )
+ {
+ typelib_TypeDescription * pRetTD = 0;
+ TYPELIB_DANGER_GET( &pRetTD, ((typelib_InterfaceAttributeTypeDescription *)pMember)->pAttributeTypeRef );
+ // get method
+ aComplexReturn.push_back( !cppu_isSimpleType( pRetTD ) );
+ // set method
+ if( ! ((typelib_InterfaceAttributeTypeDescription*)pMember)->bReadOnly )
+ aComplexReturn.push_back( sal_False );
+ TYPELIB_DANGER_RELEASE( pRetTD );
+ }
+ else
+ {
+ typelib_TypeDescription * pRetTD = 0;
+ TYPELIB_DANGER_GET( &pRetTD, ((typelib_InterfaceMethodTypeDescription *)pMember)->pReturnTypeRef );
+ aComplexReturn.push_back( !cppu_isSimpleType( pRetTD ) );
+ TYPELIB_DANGER_RELEASE( pRetTD );
+ }
+ TYPELIB_DANGER_RELEASE( pMember );
+ }
+
+ int nSize = aComplexReturn.size();
+ const int nSnippetSize = 100;
+ // char * pSpace = (char *)rtl_allocateMemory( (2*(nSize+2)*sizeof(void *)) + (nSize*nSnippetSize) );
+ char * pSpace = (char *)rtl_allocateMemory( (nSize+2)*sizeof(void *) + (nSize*nSnippetSize) );
+ pBuffer->m_pVTable = (void*)pSpace;
+
+ // char * pCode = pSpace + (2*(nSize+2)*sizeof(void *));
+ char * pCode = pSpace + ((nSize+2)*sizeof(void *));
+ void ** pvft = (void **)pSpace;
+ pvft[0] = NULL;
+ pvft[1] = NULL;
+
+ // setup vft and code
+
+ for ( sal_Int32 nPos = 0; nPos < nSize; ++nPos )
+ {
+ unsigned long * codeSnip = (unsigned long *)(pCode + (nPos*nSnippetSize));
+ pvft[nPos+2] = codeSnip;
+ unsigned long nTablePos = nPos;
+ sal_Bool bComplex = aComplexReturn.front();
+ if( bComplex )
+ nTablePos |= 0x80000000;
+ aComplexReturn.pop_front();
+
+ /* generate this code */
+
+ // # so first save gpr 3 to gpr 10 (aligned to 4)
+ // stw r3, -512(r1)
+ // stw r4, -508(r1)
+ // stw r5, -504(r1)
+ // stw r6, -500(r1)
+ // stw r7, -496(r1)
+ // stw r8, -492(r1)
+ // stw r9, -488(r1)
+ // stw r10,-484(r1)
+
+ // # next save fpr 1 to fpr 8 (aligned to 8)
+ // stfd f1, -480(r1)
+ // stfd f2, -472(r1)
+ // stfd f3, -464(r1)
+ // stfd f4, -456(r1)
+ // stfd f5, -448(r1)
+ // stfd f6, -440(r1)
+ // stfd f7, -432(r1)
+ // stfd f8, -424(r1)
+
+ // # now here is where cpp_vtable_call must go
+ // lis r3,0xdead
+ // ori r3,r3,0xbeef
+ // mtctr r3
+
+ // # now load up the the table entry number
+ // lis r3, 0xdead
+ // ori r3,r3,0xbeef
+
+ // #now load up the pointer to the saved gpr registers
+ // addi r4,r1,-512
+
+ // #now load up the pointer to the saved fpr registers
+ // addi r5,r1,-480
+
+ // #now load up the pointer to the overflow call stack
+ // addi r6,r1,8 # frame pointer plus 8
+
+ // bctr
+
+ * codeSnip++ = 0x9061fe00;
+ * codeSnip++ = 0x9081fe04;
+ * codeSnip++ = 0x90a1fe08;
+ * codeSnip++ = 0x90c1fe0c;
+ * codeSnip++ = 0x90e1fe10;
+ * codeSnip++ = 0x9101fe14;
+ * codeSnip++ = 0x9121fe18;
+ * codeSnip++ = 0x9141fe1c;
+ * codeSnip++ = 0xd821fe20;
+ * codeSnip++ = 0xd841fe28;
+ * codeSnip++ = 0xd861fe30;
+ * codeSnip++ = 0xd881fe38;
+ * codeSnip++ = 0xd8a1fe40;
+ * codeSnip++ = 0xd8c1fe48;
+ * codeSnip++ = 0xd8e1fe50;
+ * codeSnip++ = 0xd901fe58;
+ * codeSnip++ = 0x3c600000 | (((unsigned long)cpp_vtable_call) >> 16);
+ * codeSnip++ = 0x60630000 | (((unsigned long)cpp_vtable_call) & 0x0000FFFF);
+ * codeSnip++ = 0x7c6903a6;
+ * codeSnip++ = 0x3c600000 | (nTablePos >> 16);
+ * codeSnip++ = 0x60630000 | (nTablePos & 0x0000FFFF);
+ * codeSnip++ = 0x3881fe00;
+ * codeSnip++ = 0x38a1fe20;
+ * codeSnip++ = 0x38c10008;
+ * codeSnip++ = 0x4e800420;
+
+ flush_range((char*)pvft[nPos + 2],nSnippetSize);
+ }
+}
+
+
+//==================================================================================================
+void SAL_CALL cppu_cppInterfaceProxy_patchVtable(
+ XInterface * pCppI, typelib_InterfaceTypeDescription * pTypeDescr )
+{
+ static MediateClassData * s_pMediateClassData = 0;
+ if (! s_pMediateClassData)
+ {
+ MutexGuard aGuard( Mutex::getGlobalMutex() );
+ if (! s_pMediateClassData)
+ {
+#ifdef LEAK_STATIC_DATA
+ s_pMediateClassData = new MediateClassData();
+#else
+ static MediateClassData s_aMediateClassData;
+ s_pMediateClassData = &s_aMediateClassData;
+#endif
+ }
+ }
+ *(const void **)pCppI = s_pMediateClassData->getClassData( pTypeDescr )->m_pVTable;
+}
+
+}
+
+//##################################################################################################
+extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL component_canUnload( TimeValue * pTime )
+ SAL_THROW_EXTERN_C()
+{
+ return CPPU_CURRENT_NAMESPACE::g_moduleCount.canUnload( &CPPU_CURRENT_NAMESPACE::g_moduleCount, pTime );
+}
+//##################################################################################################
+extern "C" SAL_DLLEXPORT void SAL_CALL uno_initEnvironment( uno_Environment * pCppEnv )
+ SAL_THROW_EXTERN_C()
+{
+ CPPU_CURRENT_NAMESPACE::cppu_cppenv_initEnvironment( pCppEnv );
+}
+//##################################################################################################
+extern "C" SAL_DLLEXPORT void SAL_CALL uno_ext_getMapping(
+ uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo )
+ SAL_THROW_EXTERN_C()
+{
+ CPPU_CURRENT_NAMESPACE::cppu_ext_getMapping( ppMapping, pFrom, pTo );
+}
+
--- ../solenv/inc/_tg_app.mk.orig 2004-04-17 19:27:02.000000000 +0200
+++ ../solenv/inc/_tg_app.mk
@@ -77,7 +77,7 @@ $(APP1TARGETN): $(APP1OBJS) $(APP1LIBS)
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP1OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP1LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP1LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP1LIBSALCPPRT) $(APP1STDLIBS) $(STDLIB) $(STDLIB1) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd
@@ -269,7 +269,7 @@ $(APP2TARGETN): $(APP2OBJS) $(APP2LIBS)
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP2OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP2LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP2LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP2LIBSALCPPRT) $(APP2STDLIBS) $(STDLIB) $(STDLIB2) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd
@@ -461,7 +461,7 @@ $(APP3TARGETN): $(APP3OBJS) $(APP3LIBS)
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP3OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP3LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP3LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP3LIBSALCPPRT) $(APP3STDLIBS) $(STDLIB) $(STDLIB3) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd
@@ -653,7 +653,7 @@ $(APP4TARGETN): $(APP4OBJS) $(APP4LIBS)
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP4OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP4LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP4LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP4LIBSALCPPRT) $(APP4STDLIBS) $(STDLIB) $(STDLIB4) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd
@@ -845,7 +845,7 @@ $(APP5TARGETN): $(APP5OBJS) $(APP5LIBS)
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP5OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP5LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP5LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP5LIBSALCPPRT) $(APP5STDLIBS) $(STDLIB) $(STDLIB5) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd
@@ -1037,7 +1037,7 @@ $(APP6TARGETN): $(APP6OBJS) $(APP6LIBS)
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP6OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP6LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP6LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP6LIBSALCPPRT) $(APP6STDLIBS) $(STDLIB) $(STDLIB6) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd
@@ -1229,7 +1229,7 @@ $(APP7TARGETN): $(APP7OBJS) $(APP7LIBS)
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP7OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP7LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP7LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP7LIBSALCPPRT) $(APP7STDLIBS) $(STDLIB) $(STDLIB7) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd
@@ -1421,7 +1421,7 @@ $(APP8TARGETN): $(APP8OBJS) $(APP8LIBS)
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP8OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP8LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP8LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP8LIBSALCPPRT) $(APP8STDLIBS) $(STDLIB) $(STDLIB8) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd
@@ -1613,7 +1613,7 @@ $(APP9TARGETN): $(APP9OBJS) $(APP9LIBS)
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP9OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP9LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP9LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP9LIBSALCPPRT) $(APP9STDLIBS) $(STDLIB) $(STDLIB9) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd
@@ -1805,7 +1805,7 @@ $(APP10TARGETN): $(APP10OBJS) $(APP10LIB
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP10OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP10LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP10LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP10LIBSALCPPRT) $(APP10STDLIBS) $(STDLIB) $(STDLIB10) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd

View file

@ -1,305 +1,13 @@
$NetBSD: patch-ai,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-ai,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../bridges/source/cpp_uno/gcc2_netbsd_powerpc/except.cxx.orig Sun Jan 6 11:42:57 2002
+++ ../bridges/source/cpp_uno/gcc2_netbsd_powerpc/except.cxx
@@ -0,0 +1,300 @@
+#include <dlfcn.h>
+#include <new.h>
+#include <typeinfo>
+#if STLPORT_VERSION<321
+#include <map.h>
+#else
+#include <map>
+#endif
+#ifndef _RTL_ALLOC_H_
+#include <rtl/alloc.h>
+#endif
+#ifndef _OSL_DIAGNOSE_H_
+#include <osl/diagnose.h>
+#endif
+
+#ifndef _BRIDGES_CPP_UNO_BRIDGE_HXX_
+#include <bridges/cpp_uno/bridge.hxx>
+#endif
+#ifndef _TYPELIB_TYPEDESCRIPTION_HXX_
+#include <typelib/typedescription.hxx>
+#endif
+#ifndef _COM_SUN_STAR_UNO_ANY_HXX_
+#include <com/sun/star/uno/Any.hxx>
+#endif
+
+#include <rtl/strbuf.hxx>
+
+#include "gcc2_netbsd_powerpc.hxx"
+
+using namespace std;
+using namespace osl;
+using namespace rtl;
+using namespace com::sun::star::uno;
+
+namespace CPPU_CURRENT_NAMESPACE
+{
+
+//==================================================================================================
+static OString toUNOname( const OString & rRTTIname )
+{
+ OString aRet;
+
+ sal_Char* pStr = rRTTIname.getStr();
+ sal_Char* pOrg = pStr;
+
+ // check for namespace
+ if( *pStr == '_' )
+ pStr++;
+ if( *pStr == 'Q' )
+ {
+ pStr++;
+ if( *pStr++ == '_' )
+ {
+ while( *pStr++ != '_' )
+ ;
+ }
+ }
+
+ while( *pStr )
+ {
+ int nCharsToCopy = 0;
+ while( *pStr >= '0' && *pStr <= '9' )
+ nCharsToCopy = 10*nCharsToCopy + (int)(*pStr++ - '0');
+ if( aRet.getLength() )
+ aRet += ".";
+ aRet += rRTTIname.copy( pStr - pOrg, nCharsToCopy );
+ pStr += nCharsToCopy;
+ }
+
+ return aRet;
+}
+//==================================================================================================
+static OString toRTTIname( const OString & rUNOname )
+{
+ if( ! rUNOname.getLength() )
+ return OString();
+
+ OStringBuffer aRet( 64 );
+
+ sal_Int32 nIndex = 0;
+ sal_Int32 nToken = 0;
+ do
+ {
+ OString aToken( rUNOname.getToken( 0, '.', nIndex ) );
+ aRet.append( OString::valueOf( (sal_Int32)aToken.getLength() ) );
+ aRet.append( aToken );
+ ++nToken;
+ }
+ while (nIndex >= 0);
+
+ OString ret( aRet.makeStringAndClear() );
+
+ if( nToken >= 2 )
+ {
+ OStringBuffer buf( 64 );
+ buf.append( 'Q' );
+ if( nToken > 9 )
+ aRet.append( '_' );
+ buf.append( OString::valueOf( (sal_Int32)nToken ) );
+ if( nToken > 9 )
+ aRet.append( '_' );
+ buf.append( ret );
+ ret = buf.makeStringAndClear();
+ }
+
+ return ret;
+}
+
+
+//##################################################################################################
+//#### RTTI simulation #############################################################################
+//##################################################################################################
+
+class RTTIHolder
+{
+ static std::map< OString, void* > aAllRTTI;
+public:
+ static void* getRTTI( const OString& rTypename );
+ static void* getRTTI_UnoName( const OString& rUnoTypename )
+ { return getRTTI( toRTTIname( rUnoTypename ) ); }
+
+ static void* insertRTTI( const OString& rTypename );
+ static void* insertRTTI_UnoName( const OString& rTypename )
+ { return insertRTTI( toRTTIname( rTypename ) ); }
+
+ // rSuperTypename MUST exist !!!
+ static void* insertRTTI( const OString& rTypename, const OString& rSuperTypename );
+ static void* insertRTTI_UnoNames( const OString& rTypename, const OString& rSuperTypename )
+ { return insertRTTI( toRTTIname( rTypename ), toRTTIname( rSuperTypename ) ); }
+
+ // for complex RTTI
+ static void* insertRTTI( const OString& rTypename, void* pRTTI );
+ static void* insertRTTI_UnoName( const OString&rTypename, void* pRTTI )
+ { return insertRTTI( toRTTIname( rTypename ), pRTTI ); }
+};
+
+std::map< OString, void* > RTTIHolder::aAllRTTI;
+
+void* RTTIHolder::getRTTI( const OString& rTypename )
+{
+ std::map< OString, void* >::iterator element;
+
+ element = aAllRTTI.find( rTypename );
+ return element != aAllRTTI.end() ? (*element).second : NULL;
+}
+
+void* RTTIHolder::insertRTTI( const OString& rTypename )
+{
+#ifdef DEBUG
+ fprintf( stderr, "generating base RTTI: %s\n", rTypename.getStr() );
+#endif
+ void* pRTTI = new __user_type_info( strdup( rTypename.getStr() ) );
+ aAllRTTI[ rTypename ] = pRTTI;
+ return pRTTI;
+}
+
+void* RTTIHolder::insertRTTI( const OString& rTypename, const OString& rSuperTypename )
+{
+ OSL_ENSURE( ! getRTTI( rTypename ), "insert RTTI called on already existing type" );
+ void* pRTTI = new __si_type_info( strdup( rTypename.getStr() ), *(__user_type_info*)getRTTI( rSuperTypename ) );
+ aAllRTTI[ rTypename ] = pRTTI;
+ return pRTTI;
+}
+
+void* RTTIHolder::insertRTTI( const OString& rTypename, void* pRTTI )
+{
+ aAllRTTI[ rTypename ] = pRTTI;
+ return pRTTI;
+}
+
+//--------------------------------------------------------------------------------------------------
+
+static void* generateRTTI( typelib_CompoundTypeDescription * pCompTypeDescr )
+{
+ OString aCompTypeName( OUStringToOString( pCompTypeDescr->aBase.pTypeName, RTL_TEXTENCODING_ASCII_US ) );
+ void* pRTTI = RTTIHolder::getRTTI_UnoName( aCompTypeName );
+ if( pRTTI )
+ return pRTTI;
+
+ if( ! pCompTypeDescr->pBaseTypeDescription )
+ // this is a base type
+ return RTTIHolder::insertRTTI_UnoName( aCompTypeName );
+ if( ! pCompTypeDescr->pBaseTypeDescription->pBaseTypeDescription )
+ {
+ OString aBasename(
+ OUStringToOString( pCompTypeDescr->pBaseTypeDescription->aBase.pTypeName, RTL_TEXTENCODING_ASCII_US )
+ );
+ if( ! RTTIHolder::getRTTI_UnoName( aBasename ) )
+ RTTIHolder::insertRTTI_UnoName( aBasename );
+
+ // this type has only one supertype
+ return RTTIHolder::insertRTTI_UnoNames( aCompTypeName, aBasename );
+ }
+
+ // create __si_type_info
+ void* pSuperRTTI = generateRTTI( pCompTypeDescr->pBaseTypeDescription );
+ OString aCompTypeRTTIname( toRTTIname( aCompTypeName ) );
+#ifdef DEBUG
+ fprintf( stderr, "generating RTTI: %s\n", aCompTypeRTTIname.getStr() );
+#endif
+ pRTTI = new __si_type_info( strdup( aCompTypeRTTIname.getStr() ),
+ *(__user_type_info*)pSuperRTTI );
+#if 0
+ __class_type_info::base_info* pBaseInfo = new __class_type_info::base_info;
+ pBaseInfo->base = (__user_type_info*)pSuperRTTI;
+ pBaseInfo->offset = 0;
+ pBaseInfo->is_virtual = 0;
+ pBaseInfo->access1 = __class_type_info::PUBLIC;
+
+ OString aCompTypeRTTIname( toRTTIname( aCompTypeName ) );
+ pRTTI = new __class_type_info(
+ strdup( aCompTypeRTTIname.getStr() ),
+ pBaseInfo,
+ 1
+ );
+#endif
+ return RTTIHolder::insertRTTI_UnoName( aCompTypeName, pRTTI );
+}
+
+//--------------------------------------------------------------------------------------------------
+
+static Mutex s_aMutex;
+static std::map< void*, typelib_TypeDescription* > aExceptionMap;
+
+static void deleteException( void* pExc, int nDummy )
+{
+ MutexGuard aGuard( s_aMutex );
+ std::map< void*, typelib_TypeDescription* >::iterator element =
+ aExceptionMap.find( pExc );
+ OSL_ASSERT( element != aExceptionMap.end() );
+ if( element != aExceptionMap.end() )
+ {
+ typelib_TypeDescription* pType = (*element).second;
+ aExceptionMap.erase( pExc );
+ uno_destructData( pExc, pType, cpp_release );
+ typelib_typedescription_release( pType );
+ }
+}
+
+//__________________________________________________________________________________________________
+
+//##################################################################################################
+//#### exported ####################################################################################
+//##################################################################################################
+
+
+void gcc291_netbsd_powerpc_raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp )
+{
+ // construct cpp exception object
+ typelib_TypeDescription * pTypeDescr = 0;
+ typelib_typedescriptionreference_getDescription( &pTypeDescr, pUnoExc->pType );
+
+ void * pCppExc = __eh_alloc( pTypeDescr->nSize ); // will be released in generated dtor
+ uno_copyAndConvertData( pCppExc, pUnoExc->pData, pTypeDescr, pUno2Cpp );
+
+ // destruct uno exception
+ uno_any_destruct( pUnoExc, 0 );
+
+ // a must be
+ OSL_ENSURE( sizeof(sal_Int32) == sizeof(void *), "### pointer size differs from sal_Int32!" );
+
+ typelib_CompoundTypeDescription * pCompTypeDescr = (typelib_CompoundTypeDescription *)pTypeDescr;
+ void* pRTTI = generateRTTI( pCompTypeDescr );
+
+ {
+ MutexGuard aGuard( s_aMutex );
+ aExceptionMap[ pCppExc ] = pTypeDescr;
+ }
+
+ __cp_push_exception( pCppExc, pRTTI, deleteException );
+ __throw();
+
+}
+
+void gcc291_netbsd_powerpc_fillUnoException( cp_eh_info* pInfo, uno_Any* pExc, uno_Mapping * pCpp2Uno )
+{
+ OUString aName( OStringToOUString(
+ toUNOname( ((__user_type_info*)(pInfo->type))->name() ), RTL_TEXTENCODING_ASCII_US ) );
+
+ typelib_TypeDescription * pExcTypeDescr = 0;
+ typelib_typedescription_getByName(
+ &pExcTypeDescr,
+ aName.pData );
+ OSL_ENSURE( pExcTypeDescr, "could not get type description for exception" );
+
+ if (pExcTypeDescr)
+ {
+ // construct cpp exception any
+ Any aAny( pInfo->value, pExcTypeDescr ); // const_cast
+ typelib_typedescription_release( pExcTypeDescr );
+ // construct uno exception any
+ typelib_TypeDescription* pAnyDescr = 0;
+ getCppuType( (const Any *)0 ).getDescription( &pAnyDescr );
+ uno_copyAndConvertData( pExc, &aAny, pAnyDescr, pCpp2Uno );
+ typelib_typedescription_release( pAnyDescr );
+ }
+}
+
+}
+
--- ../solenv/inc/tg_app.mk.orig 2004-04-17 19:27:25.000000000 +0200
+++ ../solenv/inc/tg_app.mk
@@ -172,7 +172,7 @@ $(APP$(TNR)TARGETN): $(APP$(TNR)OBJS) $(
@+-$(RM) $(MISC)$/$(@:b).cmd
@+echo $(LINK) $(LINKFLAGS) $(LINKFLAGSAPP) -L$(PRJ)$/$(INPATH)$/lib $(SOLARLIB) $(STDSLO) \
-o $@ $(APP$(TNR)OBJS:s/.obj/.o/) "\" > $(MISC)$/$(@:b).cmd
- @cat $(mktmp /dev/null $(APP$(TNR)LIBS)) | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
+ @cat $(mktmp /dev/null $(APP$(TNR)LIBS)) | sed -E 's#[[:space:]]+# #g' | xargs -n 1 cat | sed s\#$(ROUT)\#$(OUT)\#g | sed 's#$$# \\#' >> $(MISC)$/$(@:b).cmd
@+echo $(APP_LINKTYPE) $(APP$(TNR)LIBSALCPPRT) $(APP$(TNR)STDLIBS) $(STDLIB) $(STDLIB$(TNR)) >> $(MISC)$/$(@:b).cmd
cat $(MISC)$/$(@:b).cmd
@source $(MISC)$/$(@:b).cmd

View file

@ -1,100 +1,13 @@
$NetBSD: patch-aj,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-aj,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../bridges/source/cpp_uno/gcc2_netbsd_powerpc/gcc2_netbsd_powerpc.hxx.orig Sun Jan 6 11:43:06 2002
+++ ../bridges/source/cpp_uno/gcc2_netbsd_powerpc/gcc2_netbsd_powerpc.hxx
@@ -0,0 +1,95 @@
+
+#ifndef _RTL_STRING_HXX_
+#include <rtl/string.hxx>
+#endif
+#include <typeinfo>
+
+typedef struct _uno_Any uno_Any;
+typedef struct _uno_Mapping uno_Mapping;
+
+// private egcs type info structs
+
+// type_info for a simple class ( no base classes or an enum )
+struct __user_type_info : public std::type_info {
+ __user_type_info (const char *n) : type_info (n) {}
+
+ // dynamic cast. built by gcc
+ virtual void* dcast (const type_info &, int, void *,
+ const type_info * = 0, void * = 0) const;
+};
+// type_info for a class with one public, nonvirtual base class.
+
+class __si_type_info : public __user_type_info {
+ const __user_type_info &base;
+
+public:
+ __si_type_info (const char *n, const __user_type_info &b)
+ : __user_type_info (n), base (b) { }
+
+ // dynamic cast. built by gcc
+ virtual void *dcast (const type_info &, int, void *,
+ const type_info * = 0, void * = 0) const;
+};
+
+// type_info for a general class.
+
+typedef unsigned int USItype __attribute__ ((mode (SI)));
+
+struct __class_type_info : public __user_type_info {
+ enum access { PUBLIC = 1, PROTECTED = 2, PRIVATE = 3 };
+
+ struct base_info {
+ const __user_type_info *base;
+ USItype offset: 29;
+ bool is_virtual: 1;
+ access access1: 2;
+ };
+
+ const base_info *base_list;
+ size_t n_bases;
+
+ __class_type_info (const char *name, const base_info *bl, size_t bn)
+ : __user_type_info (name), base_list (bl), n_bases (bn) {}
+
+ // dynamic cast. built by gcc
+ virtual void* dcast (const type_info &, int, void *,
+ const type_info * = 0, void * = 0) const;
+};
+
+struct cp_eh_info
+{
+ struct __eh_info
+ {
+ void* match_function;
+ short language;
+ short version;
+ };
+ __eh_info eh_info;
+ void *value;
+ void *type;
+ void (*cleanup)(void *, int);
+ bool caught;
+ cp_eh_info *next;
+ long handlers;
+ void *original_value;
+};
+
+extern "C" {
+ void __cp_push_exception( void*, void*, void(*)(void*, int) );
+ void __throw();
+}
+
+
+//##################################################################################################
+//#### exceptions ##################################################################################
+//##################################################################################################
+
+namespace CPPU_CURRENT_NAMESPACE
+{
+
+void gcc291_netbsd_powerpc_raiseException( uno_Any * pUnoExc, uno_Mapping * pUno2Cpp );
+void gcc291_netbsd_powerpc_fillUnoException( cp_eh_info*, uno_Any*, uno_Mapping * pCpp2Uno );
+
+}
+
+
--- ../solenv/inc/unxbsdi2.mk.orig 2004-04-17 19:27:37.000000000 +0200
+++ ../solenv/inc/unxbsdi2.mk
@@ -64,7 +64,7 @@
ASM=
AFLAGS=
-SOLAR_JAVA=TRUE
+SOLAR_JAVA*=TRUE
JAVAFLAGSDEBUG=-g
# filter for supressing verbose messages from linker

View file

@ -1,53 +1,40 @@
$NetBSD: patch-ak,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-ak,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../bridges/source/cpp_uno/gcc2_netbsd_powerpc/makefile.mk.orig Sun Jan 6 11:43:15 2002
+++ ../bridges/source/cpp_uno/gcc2_netbsd_powerpc/makefile.mk
@@ -0,0 +1,48 @@
+
+PRJ=..$/..$/..
+
+PRJNAME=bridges
+TARGET=gcc2_uno
+LIBTARGET=no
+ENABLE_EXCEPTIONS=TRUE
+NO_BSYMBOLIC=TRUE
+
+# --- Settings -----------------------------------------------------
+
+.INCLUDE : svpre.mk
+.INCLUDE : settings.mk
+.INCLUDE : sv.mk
+
+# --- Files --------------------------------------------------------
+
+.IF "$(COM)$(OS)$(CPU)" == "GCCNETBSDP"
+
+CFLAGSNOOPT=-O0
+NOOPTFILES=$(SLO)$/uno2cpp.obj
+
+SLOFILES= \
+ $(SLO)$/except.obj \
+ $(SLO)$/cpp2uno.obj \
+ $(SLO)$/uno2cpp.obj
+
+SHL1TARGET= $(TARGET)
+
+SHL1DEF= $(MISC)$/$(SHL1TARGET).def
+SHL1IMPLIB= i$(TARGET)
+SHL1VERSIONMAP=..$/..$/bridge_exports.map
+
+SHL1OBJS= \
+ $(SLO)$/except.obj \
+ $(SLO)$/cpp2uno.obj \
+ $(SLO)$/uno2cpp.obj
+
+SHL1STDLIBS= \
+ $(CPPULIB) \
+ $(SALLIB)
+
+.ENDIF
+
+# --- Targets ------------------------------------------------------
+
+.INCLUDE : target.mk
+
--- ../config_office/set_soenv.in.orig 2004-04-17 19:27:58.000000000 +0200
+++ ../config_office/set_soenv.in
@@ -40,7 +40,7 @@ use File::Basename;
#--------------------------------------------------------
#
my ( $outfile, $outfile_sh, $outfile_bat, $bootfile, $newline, $comment, $comment4nt, $compiler, $unsetenv, $setenv, $unset, $set, $ds, $ps, $cur_dir,
- $par_dir, $I, $L, $D, $buildenv, $answer, $tmp, $Solaris, $Linux, $FreeBSD, $NetBSD, $Tru64, $Irix, $Irix64, $Winnt, $Macosx, $MINGW,
+ $par_dir, $I, $L, $R, $D, $buildenv, $answer, $tmp, $Solaris, $Linux, $FreeBSD, $NetBSD, $Tru64, $Irix, $Irix64, $Winnt, $Macosx, $MINGW,
$platform, $cygwinver, $machine_type, $empty, $no_ant, $no_stl, $no_gcc_include,
$no_gxx_include, $warnfile, $Warning, $result, $unsetvars, $unsetvarssh, $unsetvarsbat, $exportvars, $win_format_var, $perl_os);
#
@@ -113,6 +113,7 @@ $cur_dir = "."; # cu
$par_dir = ".."; # parrent directory
$I = " -I"; # include search path
$L = " -L"; # library search path
+$R = " -R"; # library runtime path
$D = " -D"; # define search path
$Solaris = "SunOS"; # return of uname command on Solaris
$Linux = "Linux"; # return of uname command on Linux
@@ -1237,7 +1238,8 @@ elsif (($platform eq "$Linux") || ($pla
$L.$JRETOOLKITDIR.
$L.$JRETHREADDIR.
$L_STLPORT_LIB.
- $L.$XLIB;
+ $L.$XLIB.
+ $R.$XLIB;
}
elsif ($platform eq "$Winnt")
{ $SOLARLIB = $L.'$SOLARVER'.$ds.'$UPD'.$ds.'$INPATH'.$LIB.
@@ -1307,6 +1309,8 @@ if ($platform eq "$Linux")
}
elsif ($platform eq "$NetBSD")
{ $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."netbsd";
+ $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."solaris";
+ $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."linux";
}
elsif (($platform eq $Irix) || ($platform eq $Irix64))
{ $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."irix";

View file

@ -1,620 +1,25 @@
$NetBSD: patch-al,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-al,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../bridges/source/cpp_uno/gcc2_netbsd_powerpc/uno2cpp.cxx.orig Sun Jan 6 11:43:24 2002
+++ ../bridges/source/cpp_uno/gcc2_netbsd_powerpc/uno2cpp.cxx
@@ -0,0 +1,615 @@
+#include <stdio.h>
+
+#include <malloc.h>
+#ifndef _RTL_ALLOC_H_
+#include <rtl/alloc.h>
+#endif
+
+#ifndef _UNO_DATA_H_
+#include <uno/data.h>
+#endif
+#ifndef _BRIDGES_CPP_UNO_BRIDGE_HXX_
+#include <bridges/cpp_uno/bridge.hxx>
+#endif
+#ifndef _BRIDGES_CPP_UNO_TYPE_MISC_HXX_
+#include <bridges/cpp_uno/type_misc.hxx>
+#endif
+
+#include "gcc2_netbsd_powerpc.hxx"
+
+using namespace rtl;
+using namespace com::sun::star::uno;
+
+namespace CPPU_CURRENT_NAMESPACE
+{
+
+//==================================================================================================
+static void callVirtualMethod( void * pThis,
+ sal_Int32 nVtableIndex,
+ void * pRegisterReturn,
+ typelib_TypeClass eReturnType,
+ char * pPT,
+ sal_Int32 * pStackLongs,
+ sal_Int32 nStackLongs,
+ uno_Any ** pExc,
+ uno_Mapping * pCpp2uno)
+{
+ // parameter list is mixed list of * and values
+ // reference parameters are pointers
+
+ // OSL_ENSURE( pStackLongs && pThis, "### null ptr!" );
+ // OSL_ENSURE( (sizeof(void *) == 4) &&
+ // (sizeof(sal_Int32) == 4), "### unexpected size of int!" );
+ // OSL_ENSURE( nStackLongs && pStackLongs, "### no stack in callVirtualMethod !" );
+
+ /* KBH: tried to do this right but ppc calling conventions are wierd
+ to say the least */
+
+ /* the basic idea here is to use gpr[8] as a storage area for
+ the future values of registers r3 to r10 needed for the call,
+ and similarly fpr[8] as a storage area for the future values
+ of floating point registers f1 to f8
+ */
+
+ unsigned long * mfunc; /* actual function to be invoked */
+ cp_eh_info* pX;
+ void (*ptr)();
+ int gpr[8]; /* storage for gpregisters, map to r3-r10 */
+ int off; /* offset used to find function */
+ double fpr[8]; /* storage for fpregisters, map to f1-f8 */
+ int n; /* number of gprs mapped so far */
+ int f; /* number of fprs mapped so far */
+ long *p; /* pointer to parameter overflow area */
+ int c; /* character of parameter type being decoded */
+ double dret; /* temporary function return values*/
+ int iret, iret2;
+
+ /* Because of the Power PC calling conventions we could be passing
+ parameters in both register types and on the stack. To create the
+ stack parameter area we need we now simply allocate local
+ variable storage param[] that is at least the size of the parameter stack
+ (more than enough space) which we can overwrite the parameters into.
+
+ Note: This keeps us from having to decode the signature twice and
+ prevents problems with later local variables.
+
+ Note: could require up to 2*nStackLongs words of parameter stack area
+ if the call has many float parameters (i.e. floats take up only 1
+ word on the stack but take 2 words in parameter area in the
+ stack frame .
+
+ Update! floats on the outgoing parameter stack only take up 1 word
+ (stfs is used) which is not correct according to the ABI but we
+ will match what the compiler does until this is figured out
+
+ */
+ __asm__ __volatile__ (
+ "rlwinm %0,%0,3,3,28\n\t"
+ "addi %0,%0,22\n\t"
+ "rlwinm %0,%0,0,4,28\n\t"
+ "lwz 0,0(1)\n\t"
+ "subf 1,%0,1\n\t"
+ "stw 0,0(1)\n\t"
+ "addi %1,1,8\n\t"
+ : : "r" (nStackLongs), "r" (p) /* no inputs */ : "0" );
+
+ /* now begin to load the C++ function arguments into storage */
+ n = 0;
+ f = 0;
+
+ /* now we need to parse the entire signature string */
+ /* until we get the END indicator */
+
+ /* treat complex return pointer like any other parameter */
+
+#if 0
+ /* Let's figure out what is really going on here*/
+ fprintf(stderr,"callVirtualMethod paramters string is %s\n",pPT);
+ int k = nStackLongs;
+ long * q = (long *)pStackLongs;
+ while (k > 0) {
+ fprintf(stderr,"uno stack is: %x\n",*q);
+ k--;
+ q++;
+ }
+#endif
+
+ /* parse the argument list up to the ending ) */
+ while (*pPT != 'X') {
+ c = *pPT;
+ switch (c) {
+ case 'D': /* type is double */
+ if (f < 8) {
+ fpr[f++] = *((double *)pStackLongs); /* store in register */
+ } else {
+ if (((long) p) & 4)
+ p++;
+ *p++ = *pStackLongs; /* or on the parameter stack */
+ *p++ = *(pStackLongs + 1);
+ }
+ pStackLongs += 2;
+ break;
+
+ case 'F': /* type is float */
+ /* this assumes that floats are stored as 1 32 bit word on param
+ stack and that if passed in parameter stack to C, should be
+ as double word.
+
+ Whoops: the abi is not actually followed by gcc, need to
+ store floats as a *single* word on outgoing parameter stack
+ to match what gcc actually does
+ */
+ if (f < 8) {
+ fpr[f++] = *((float *)pStackLongs);
+ } else {
+#if 0 /* if abi were followed */
+ if (((long) p) & 4)
+ p++;
+ *((double *)p) = *((float *)pStackLongs);
+ p += 2;
+#else
+ *((float *)p) = *((float *)pStackLongs);
+ p += 1;
+#endif
+ }
+ pStackLongs += 1;
+ break;
+
+ case 'H': /* type is long long */
+ if (n & 1) n++; /* note even elements gpr[] will map to
+ odd registers*/
+ if (n <= 6) {
+ gpr[n++] = *pStackLongs;
+ gpr[n++] = *(pStackLongs+1);
+ } else {
+ if (((long) p) & 4)
+ p++;
+ *p++ = *pStackLongs;
+ *p++ = *(pStackLongs+1);
+ }
+ pStackLongs += 2;
+ break;
+
+ case 'S':
+ if (n < 8) {
+ gpr[n++] = *((unsigned short*)pStackLongs);
+ } else {
+ *p++ = *((unsigned short *)pStackLongs);
+ }
+ pStackLongs += 1;
+ break;
+
+ case 'B':
+ if (n < 8) {
+ gpr[n++] = *((char *)pStackLongs);
+ } else {
+ *p++ = *((char *)pStackLongs);
+ }
+ pStackLongs += 1;
+ break;
+
+ default:
+ if (n < 8) {
+ gpr[n++] = *pStackLongs;
+ } else {
+ *p++ = *pStackLongs;
+ }
+ pStackLongs += 1;
+ break;
+ }
+ pPT++;
+ }
+
+ /* figure out the address of the function we need to invoke */
+ off = nVtableIndex + 2; // first two slots are empty
+ off = off * 4; // 4 bytes per slot
+ mfunc = *((unsigned long **)pThis); // get the address of the vtable
+ mfunc = (unsigned long *)((char *)mfunc + off); // get the address from the vtable entry at offset
+ mfunc = *((unsigned long **)mfunc); // the function is stored at the address
+ ptr = (void (*)())mfunc;
+
+ try {
+
+ /* Set up the machine registers and invoke the function */
+
+ __asm__ __volatile__ (
+ "lwz 3, 0(%0)\n\t"
+ "lwz 4, 4(%0)\n\t"
+ "lwz 5, 8(%0)\n\t"
+ "lwz 6, 12(%0)\n\t"
+ "lwz 7, 16(%0)\n\t"
+ "lwz 8, 20(%0)\n\t"
+ "lwz 9, 24(%0)\n\t"
+ "lwz 10, 28(%0)\n\t"
+ "lfd 1, 0(%1)\n\t"
+ "lfd 2, 8(%1)\n\t"
+ "lfd 3, 16(%1)\n\t"
+ "lfd 4, 24(%1)\n\t"
+ "lfd 5, 32(%1)\n\t"
+ "lfd 6, 40(%1)\n\t"
+ "lfd 7, 48(%1)\n\t"
+ "lfd 8, 56(%1)\n\t"
+ : : "r" (gpr), "r" (fpr)
+ : "0", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"
+ );
+
+ (*ptr)();
+
+ __asm__ __volatile__ (
+ "mr %1, 3\n\t"
+ "mr %2, 4\n\t"
+ "fmr %0, 1\n\t"
+ : "=f" (dret), "=r" (iret), "=r" (iret2) : );
+
+ *pExc = 0;
+ }
+
+ catch( ... )
+ {
+ pX = (cp_eh_info*)__cp_eh_info();
+ gcc291_netbsd_powerpc_fillUnoException( pX, *pExc, pCpp2uno );
+ }
+
+ switch( eReturnType )
+ {
+ case typelib_TypeClass_HYPER:
+ case typelib_TypeClass_UNSIGNED_HYPER:
+ ((long*)pRegisterReturn)[0] = iret;
+ ((long*)pRegisterReturn)[1] = iret2;
+ case typelib_TypeClass_LONG:
+ case typelib_TypeClass_UNSIGNED_LONG:
+ case typelib_TypeClass_ENUM:
+ ((long*)pRegisterReturn)[0] = iret;
+ break;
+ case typelib_TypeClass_CHAR:
+ case typelib_TypeClass_SHORT:
+ case typelib_TypeClass_UNSIGNED_SHORT:
+ *(unsigned short*)pRegisterReturn = (unsigned short)iret;
+ break;
+ case typelib_TypeClass_BOOLEAN:
+ case typelib_TypeClass_BYTE:
+ *(unsigned char*)pRegisterReturn = (unsigned char)iret;
+ break;
+ case typelib_TypeClass_FLOAT:
+ *(float*)pRegisterReturn = (float)dret;
+ break;
+ case typelib_TypeClass_DOUBLE:
+ *(double*)pRegisterReturn = dret;
+ break;
+ }
+}
+
+
+//==================================================================================================
+static void cpp_call(
+ cppu_unoInterfaceProxy * pThis,
+ sal_Int32 nVtableCall,
+ typelib_TypeDescriptionReference * pReturnTypeRef,
+ sal_Int32 nParams, typelib_MethodParameter * pParams,
+ void * pUnoReturn, void * pUnoArgs[], uno_Any ** ppUnoExc )
+{
+ // max space for: complex ret ptr, this, values|ptr ...
+ char * pCppStack =
+ (char *)alloca( sizeof(sal_Int32) + ((nParams+2) * sizeof(sal_Int64)) );
+ char * pCppStackStart = pCppStack;
+
+ /* KBH: need to know pararmeter types for callVirtualMethod so store then in string */
+ char * pParamType = (char *) alloca(nParams+2);
+ char * pPT = pParamType;
+
+ // return
+ typelib_TypeDescription * pReturnTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pReturnTypeDescr, pReturnTypeRef );
+ OSL_ENSURE( pReturnTypeDescr, "### expected return type description!" );
+
+ void * pCppReturn = 0; // if != 0 && != pUnoReturn, needs reconversion
+
+ if (pReturnTypeDescr)
+ {
+ if (cppu_isSimpleType( pReturnTypeDescr ))
+ {
+ pCppReturn = pUnoReturn; // direct way for simple types
+ }
+ else
+ {
+ // complex return via ptr
+ pCppReturn = *(void **)pCppStack = (cppu_relatesToInterface( pReturnTypeDescr )
+ ? alloca( pReturnTypeDescr->nSize )
+ : pUnoReturn); // direct way
+ *pPT++ = 'I'; // signify that complex return type on stack
+ pCppStack += sizeof(void *);
+ }
+ }
+ // push this
+ *(void**)pCppStack = pThis->pCppI;
+ pCppStack += sizeof( void* );
+ *pPT++ = 'I';
+
+ // stack space
+ OSL_ENSURE( sizeof(void *) == sizeof(sal_Int32), "### unexpected size!" );
+ // args
+ void ** pCppArgs = (void **)alloca( 3 * sizeof(void *) * nParams );
+ // indizes of values this have to be converted (interface conversion cpp<=>uno)
+ sal_Int32 * pTempIndizes = (sal_Int32 *)(pCppArgs + nParams);
+ // type descriptions for reconversions
+ typelib_TypeDescription ** ppTempParamTypeDescr = (typelib_TypeDescription **)(pCppArgs + (2 * nParams));
+
+ sal_Int32 nTempIndizes = 0;
+
+ for ( sal_Int32 nPos = 0; nPos < nParams; ++nPos )
+ {
+ const typelib_MethodParameter & rParam = pParams[nPos];
+ typelib_TypeDescription * pParamTypeDescr = 0;
+ TYPELIB_DANGER_GET( &pParamTypeDescr, rParam.pTypeRef );
+
+ if (!rParam.bOut && cppu_isSimpleType( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData( pCppArgs[nPos] = pCppStack, pUnoArgs[nPos], pParamTypeDescr,
+ &pThis->pBridge->aUno2Cpp );
+
+ switch (pParamTypeDescr->eTypeClass)
+ {
+ /* KBH: we need to know type of each param so that we know whether to use
+ gpr or fpr to pass in parameters:
+ Key: I - int, long, pointer, etc means pass in gpr
+ B - byte value passed in gpr
+ S - short value passed in gpr
+ F - float value pass in fpr
+ D - double value pass in fpr
+ H - long long int pass in proper pairs of gpr (3,4) (5,6), etc
+ X - indicates end of parameter description string
+ */
+ case typelib_TypeClass_LONG:
+ case typelib_TypeClass_UNSIGNED_LONG:
+ case typelib_TypeClass_ENUM:
+ *pPT++ = 'I';
+ break;
+ case typelib_TypeClass_SHORT:
+ case typelib_TypeClass_CHAR:
+ case typelib_TypeClass_UNSIGNED_SHORT:
+ *pPT++ = 'S';
+ break;
+ case typelib_TypeClass_BOOLEAN:
+ case typelib_TypeClass_BYTE:
+ *pPT++ = 'B';
+ break;
+ case typelib_TypeClass_FLOAT:
+ *pPT++ = 'F';
+ break;
+ case typelib_TypeClass_DOUBLE:
+ *pPT++ = 'D';
+ pCppStack += sizeof(sal_Int32); // extra long
+ break;
+ case typelib_TypeClass_HYPER:
+ case typelib_TypeClass_UNSIGNED_HYPER:
+ *pPT++ = 'H';
+ pCppStack += sizeof(sal_Int32); // extra long
+ }
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ else // ptr to complex value | ref
+ {
+ if (! rParam.bIn) // is pure out
+ {
+ // cpp out is constructed mem, uno out is not!
+ uno_constructData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ pParamTypeDescr );
+ pTempIndizes[nTempIndizes] = nPos; // default constructed for cpp call
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ // is in/inout
+ else if (cppu_relatesToInterface( pParamTypeDescr ))
+ {
+ uno_copyAndConvertData(
+ *(void **)pCppStack = pCppArgs[nPos] = alloca( pParamTypeDescr->nSize ),
+ pUnoArgs[nPos], pParamTypeDescr, &pThis->pBridge->aUno2Cpp );
+
+ pTempIndizes[nTempIndizes] = nPos; // has to be reconverted
+ // will be released at reconversion
+ ppTempParamTypeDescr[nTempIndizes++] = pParamTypeDescr;
+ }
+ else // direct way
+ {
+ *(void **)pCppStack = pCppArgs[nPos] = pUnoArgs[nPos];
+ // no longer needed
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ /* KBH: fixme is this the right way to pass these */
+ *pPT++='I';
+ }
+ pCppStack += sizeof(sal_Int32); // standard parameter length
+ }
+ /* KBH: terminate the string */
+ *pPT++='X';
+ *pPT=0;
+
+ OSL_ENSURE( !( (pCppStack - pCppStackStart ) & 3), "UNALIGNED STACK !!! (Please DO panic" );
+
+ callVirtualMethod(
+ pThis->pCppI, nVtableCall,
+ pCppReturn, pReturnTypeDescr->eTypeClass, pParamType,
+ (sal_Int32 *)pCppStackStart, ((pCppStack - pCppStackStart) / sizeof(sal_Int32)),
+ ppUnoExc, &pThis->pBridge->aCpp2Uno );
+
+ if (*ppUnoExc == 0) {
+ // NO exception occured...
+
+ // reconvert temporary params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+ typelib_TypeDescription * pParamTypeDescr = ppTempParamTypeDescr[nTempIndizes];
+
+ if (pParams[nIndex].bIn)
+ {
+ if (pParams[nIndex].bOut) // inout
+ {
+ uno_destructData( pUnoArgs[nIndex], pParamTypeDescr, 0 ); // destroy uno value
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+ &pThis->pBridge->aCpp2Uno );
+ }
+ }
+ else // pure out
+ {
+ uno_copyAndConvertData( pUnoArgs[nIndex], pCppArgs[nIndex], pParamTypeDescr,
+ &pThis->pBridge->aCpp2Uno );
+ }
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], pParamTypeDescr, cpp_release );
+
+ TYPELIB_DANGER_RELEASE( pParamTypeDescr );
+ }
+ // return value
+ if (pCppReturn && pUnoReturn != pCppReturn)
+ {
+ uno_copyAndConvertData( pUnoReturn, pCppReturn, pReturnTypeDescr,
+ &pThis->pBridge->aCpp2Uno );
+ uno_destructData( pCppReturn, pReturnTypeDescr, cpp_release );
+
+ }
+ } else {
+ // get exception
+
+ // temporary params
+ for ( ; nTempIndizes--; )
+ {
+ sal_Int32 nIndex = pTempIndizes[nTempIndizes];
+ // destroy temp cpp param => cpp: every param was constructed
+ uno_destructData( pCppArgs[nIndex], ppTempParamTypeDescr[nTempIndizes], cpp_release );
+ TYPELIB_DANGER_RELEASE( ppTempParamTypeDescr[nTempIndizes] );
+ }
+ // return type
+ if (pReturnTypeDescr)
+ TYPELIB_DANGER_RELEASE( pReturnTypeDescr );
+ }
+}
+
+
+//==================================================================================================
+void SAL_CALL cppu_unoInterfaceProxy_dispatch(
+ uno_Interface * pUnoI, const typelib_TypeDescription * pMemberDescr,
+ void * pReturn, void * pArgs[], uno_Any ** ppException )
+{
+ // is my surrogate
+ cppu_unoInterfaceProxy * pThis = (cppu_unoInterfaceProxy *)pUnoI;
+ typelib_InterfaceTypeDescription * pTypeDescr = pThis->pTypeDescr;
+
+ switch (pMemberDescr->eTypeClass)
+ {
+ case typelib_TypeClass_INTERFACE_ATTRIBUTE:
+ {
+ // determine vtable call index
+ sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+
+ sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+ OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+
+ if (pReturn)
+ {
+ // dependent dispatch
+ cpp_call(
+ pThis, nVtableCall,
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef,
+ 0, 0, // no params
+ pReturn, pArgs, ppException );
+ }
+ else
+ {
+ // is SET
+ typelib_MethodParameter aParam;
+ aParam.pTypeRef =
+ ((typelib_InterfaceAttributeTypeDescription *)pMemberDescr)->pAttributeTypeRef;
+ aParam.bIn = sal_True;
+ aParam.bOut = sal_False;
+
+ typelib_TypeDescriptionReference * pReturnTypeRef = 0;
+ OUString aVoidName( RTL_CONSTASCII_USTRINGPARAM("void") );
+ typelib_typedescriptionreference_new(
+ &pReturnTypeRef, typelib_TypeClass_VOID, aVoidName.pData );
+
+ // dependent dispatch
+ cpp_call(
+ pThis, nVtableCall +1, // get, then set method
+ pReturnTypeRef,
+ 1, &aParam,
+ pReturn, pArgs, ppException );
+
+ typelib_typedescriptionreference_release( pReturnTypeRef );
+ }
+
+ break;
+ }
+ case typelib_TypeClass_INTERFACE_METHOD:
+ {
+ // determine vtable call index
+ sal_Int32 nMemberPos = ((typelib_InterfaceMemberTypeDescription *)pMemberDescr)->nPosition;
+ OSL_ENSURE( nMemberPos < pTypeDescr->nAllMembers, "### member pos out of range!" );
+
+ sal_Int32 nVtableCall = pTypeDescr->pMapMemberIndexToFunctionIndex[nMemberPos];
+ OSL_ENSURE( nVtableCall < pTypeDescr->nMapFunctionIndexToMemberIndex, "### illegal vtable index!" );
+
+ switch (nVtableCall)
+ {
+ // standard calls
+ case 1: // acquire uno interface
+ (*pUnoI->acquire)( pUnoI );
+ *ppException = 0;
+ break;
+ case 2: // release uno interface
+ (*pUnoI->release)( pUnoI );
+ *ppException = 0;
+ break;
+ case 0: // queryInterface() opt
+ {
+ typelib_TypeDescription * pTD = 0;
+ TYPELIB_DANGER_GET( &pTD, reinterpret_cast< Type * >( pArgs[0] )->getTypeLibType() );
+ if (pTD)
+ {
+ uno_Interface * pInterface = 0;
+ (*pThis->pBridge->pUnoEnv->getRegisteredInterface)(
+ pThis->pBridge->pUnoEnv,
+ (void **)&pInterface, pThis->oid.pData, (typelib_InterfaceTypeDescription *)pTD );
+
+ if (pInterface)
+ {
+ ::uno_any_construct(
+ reinterpret_cast< uno_Any * >( pReturn ),
+ &pInterface, pTD, 0 );
+ (*pInterface->release)( pInterface );
+ TYPELIB_DANGER_RELEASE( pTD );
+ *ppException = 0;
+ break;
+ }
+ TYPELIB_DANGER_RELEASE( pTD );
+ }
+ } // else perform queryInterface()
+ default:
+ // dependent dispatch
+ cpp_call(
+ pThis, nVtableCall,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pReturnTypeRef,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->nParams,
+ ((typelib_InterfaceMethodTypeDescription *)pMemberDescr)->pParams,
+ pReturn, pArgs, ppException );
+ }
+ break;
+ }
+ default:
+ {
+ ::com::sun::star::uno::RuntimeException aExc(
+ OUString( RTL_CONSTASCII_USTRINGPARAM("illegal member type description!") ),
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >() );
+
+ Type const & rExcType = ::getCppuType( &aExc );
+ // binary identical null reference
+ ::uno_type_any_construct( *ppException, &aExc, rExcType.getTypeLibType(), 0 );
+ }
+ }
+}
+
+}
+
--- ../odk/source/bean/native/unix/makefile.mk.orig 2004-04-17 19:28:28.000000000 +0200
+++ ../odk/source/bean/native/unix/makefile.mk
@@ -36,6 +36,20 @@ SHL1STDLIBS+=-lzip -lawt
SHL1STDLIBS+=-lstdc++
.ENDIF
+.IF "$(OS)" == "NETBSD" || "$(OS)" == "FREEBSD"
+.IF "$(SOLAR_JAVA)" != ""
+.IF "$(JAVANUMVER)" < "000100040000"
+SHL1STDLIBS+=-ljvm
+.ENDIF
+.ENDIF
+.ENDIF
+
+.IF "$(OS)" == "NETBSD"
+#We might run a jdk under emulation.
+#This is fine for building, but gives a false alarm here.
+SHL1NOCHECK=TRUE
+.ENDIF
+
NO_SHL1DESCRIPTION=TRUE
# --- Targets ------------------------------------------------------

View file

@ -1,15 +1,20 @@
$NetBSD: patch-am,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-am,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../bridges/source/prot_uno/makefile.mk.orig Tue Jan 1 14:08:48 2002
+++ ../bridges/source/prot_uno/makefile.mk
@@ -85,8 +85,8 @@
SHL1TARGET= $(TARGET)
--- ../soltools/checkdll/makefile.mk.orig 2004-04-17 19:28:45.000000000 +0200
+++ ../soltools/checkdll/makefile.mk
@@ -81,12 +81,14 @@ APP1TARGET = checkdll
APP1OBJS = $(OBJ)$/checkdll.obj
DEPOBJFILES = $(APP1OBJS)
.IF "$(OS)"!="FREEBSD"
+.IF "$(OS)"!="NETBSD"
.IF "$(OS)"!="MACOSX"
STDLIB += -ldl
.ENDIF
.ENDIF
+.ENDIF
.IF "$(OS)"=="NETBSD"
-APP1STDLIBS += -Wl,--whole-archive -lgcc -Wl,--no-whole-archive
+APP1STDLIBS += -u _Unwind_Resume -Wl,--whole-archive -lgcc -Wl,--no-whole-archive
.ENDIF
.ENDIF # "$(GUI)"=="UNX"
SHL1STDLIBS= \
- $(CPPULIB) \
- $(SALLIB)
+ $(SALLIB) \
+ $(CPPULIB)
SHL1DEPN=
SHL1IMPLIB= i$(TARGET)

View file

@ -1,17 +1,22 @@
$NetBSD: patch-an,v 1.1.1.1 2002/02/13 18:09:23 mrauch Exp $
$NetBSD: patch-an,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../comphelper/util/makefile.mk.orig Tue Jan 1 14:08:53 2002
+++ ../comphelper/util/makefile.mk
@@ -85,11 +85,11 @@
--- ../psprint/source/printergfx/printerjob.cxx.orig 2004-04-17 19:29:37.000000000 +0200
+++ ../psprint/source/printergfx/printerjob.cxx
@@ -107,6 +107,17 @@
SHL1TARGET=$(COMPHLP_TARGET)$(COMPHLP_MAJOR)
SHL1STDLIBS=\
+ $(SALLIB) \
$(CPPULIB) \
$(CPPUHELPERLIB) \
$(VOSLIB) \
$(OSLLIB) \
- $(SALLIB) \
$(CPPRTLLIB)
#include "glyphset.hxx"
SHL1DEPN=
+#if defined(NETBSD)
+#if defined(__cplusplus)
+extern "C" {
+#endif
+ int getpwuid_r(uid_t uid, struct passwd *pwd, char *buffer,
+ size_t buflen, struct passwd **result);
+#if defined(__cplusplus)
+}
+#endif
+#endif
+
using namespace psp ;
#ifdef MACOSX

View file

@ -1,64 +1,19 @@
$NetBSD: patch-ao,v 1.2 2002/08/02 20:33:23 jdolecek Exp $
$NetBSD: patch-ao,v 1.3 2004/05/03 20:56:36 mrauch Exp $
--- configure.in.orig Mon Nov 12 22:45:53 2001
+++ configure.in Fri Aug 2 21:14:58 2002
@@ -204,12 +204,14 @@
dnl ******************************************
dnl Check whether the gnu gcc compiler is used.
if test -z "$with_gcc_home"; then
- if test "$CC" = "gcc"; then
- AC_PATH_PROG(GCC, gcc)
- COMPATH=`echo $GCC | $SED -n "s/\/gcc//p"`
+ dnl NetBSD pkgsrc is guaranteed to have gcc.
+ dnl if test "$CC" = "gcc"; then
+ GCC=$CC
+ COMPATH=`echo $GCC | $AWK '{print $1}' | xargs dirname `
+ CCFLAGS=$LDFLAGS; export CCFLAGS;
_gcc_include_start=/usr/lib/gcc-lib
_gxx_include_start=/usr/include
- fi
+ dnl fi
else
dnl Compiler has been installed to its own directory and it's home is arg with_gcc_home
_gcc_path="$with_gcc_home/bin/gcc"
@@ -256,6 +258,9 @@
dnl find include paths now
AC_MSG_CHECKING([the GNU gcc include paths])
_gcc_include_path=`find $_gcc_include_start -name $_gcc_version -print 2> /dev/null`
+ if test "$_os" = "NetBSD" -a -z "$_gcc_include_path"; then
+ _gcc_include_path="/usr"
+ fi
if test "$_gcc_include_path"; then
_multiple=`echo $_gcc_include_path | $AWK '{ if ($2) print "true"; else print "false" }'`
if test "$_multiple" = "false"; then
@@ -305,7 +310,7 @@
_gcc_include_path="NO_GCC_INCLUDE"
fi
else
- if test "$_os" = "FreeBSD" -o "$_os" = "NetBSD" ; then
+ if test "$_os" = "FreeBSD" ; then
_gcc_include_path="/usr/include/g++"
else
AC_MSG_WARN([could not find 2.95.2/include directory of the gcc compiler])
@@ -740,6 +745,12 @@
fi
if test "$_os" = "FreeBSD" -o "$_os" = "NetBSD"; then
_jdk_middle=`echo $_jdk | $AWK -F. '{ if ($2 != 2) print "false"; else print "true" }'`
+ _jdk_middle3=`echo $_jdk | $AWK -F. '{ if ($2 != 3) print "false"; else print "true" }'`
+ _jdk_middle4=`echo $_jdk | $AWK -F. '{ if ($2 != 4) print "false"; else print "true" }'`
+
+ if test "$_jdk_middle" = "false" -a \( "$_jdk_middle3" = "true" -o "$_jdk_middle4" = "true" \); then
+ _jdk_minor="true"
+ fi
fi
if test "$_os" = "Linux" -a "$_machine_type" = "sparc"; then
_jdk_middle=`echo $_jdk | $AWK -F. '{ if ($2 != 2) print "false"; else print "true" }'`
@@ -982,7 +993,7 @@
HAVE_GPC_C="yes"
fi
--- ../i18npool/source/breakiterator/gendict.cxx.orig 2004-04-17 19:30:03.000000000 +0200
+++ ../i18npool/source/breakiterator/gendict.cxx
@@ -95,8 +95,12 @@ int SAL_CALL main(int argc, char* argv[]
fprintf(cfp, "extern \"C\" {\n");
-if test "$HAVE_GPC_H" == "yes" -a "$HAVE_GPC_C" == "yes"; then
+if test "$HAVE_GPC_H" = "yes" -a "$HAVE_GPC_C" = "yes"; then
AC_MSG_RESULT([GPC files found])
else
AC_MSG_ERROR([GPC files not found])
sal_Int32 count, i, j;
- sal_Int32 lenArrayCurr = 0, lenArrayCount = 0, lenArrayLen = 0, *lenArray = NULL, charArray[0x10000];
- sal_Bool exist[0x10000];
+ sal_Int32 lenArrayCurr = 0, lenArrayCount = 0, lenArrayLen = 0, *lenArray = NULL, *charArray;
+ sal_Bool *exist;
+ charArray = (sal_Int32*) malloc(0x10000*sizeof(*charArray));
+ if (charArray == NULL) exit(1);
+ exist = (sal_Bool*) malloc(0x10000*sizeof(*exist));
+ if (exist == NULL) exit(1);
for (i = 0; i < 0x10000; i++) {
exist[i] = sal_False;
charArray[i] = 0;

File diff suppressed because it is too large Load diff

View file

@ -1,12 +1,22 @@
$NetBSD: patch-aq,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
$NetBSD: patch-aq,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../connectivity/prj/build.lst.orig Thu Nov 8 16:14:54 2001
+++ ../connectivity/prj/build.lst
@@ -8,6 +8,7 @@
cn connectivity\source\sdbcx nmake - all cn_sdbcx cn_types NULL
cn connectivity\source\drivers\ado nmake - w cn_ado cn_dbtools NULL
cn connectivity\source\drivers\mozab\mozillasrc nmake - all cn_mozab_mozillasrc cn_file NULL
+cn connectivity\source\drivers\mozab\mozillasrc\nortti nmake - all cn_mozab_mozillasrc_nortti cn_mozab_mozillasrc NULL
cn connectivity\source\drivers\mozab nmake - all cn_mozab cn_mozab_mozillasrc cn_dbtools NULL
cn connectivity\source\drivers\calc nmake - all cn_calc cn_file NULL
cn connectivity\source\drivers\odbc nmake - all cn_odbc cn_dbtools NULL
--- ../stlport/makefile.mk.orig 2004-04-17 20:08:59.000000000 +0200
+++ ../stlport/makefile.mk
@@ -102,7 +102,7 @@ PATCH_FILE_NAME=STLport-4.5-0119.patch
TAR_EXCLUDES=*/SC5/*
.ENDIF # "$(USE_SHELL)"=="4nt"
-ADDITIONAL_FILES=src$/gcc-3.0.mak src$/gcc-3.0-macosx.mak src$/gcc-3.0-freebsd.mak src$/sunpro8.mak
+ADDITIONAL_FILES=src$/gcc-3.0.mak src$/gcc-3.0-macosx.mak src$/gcc-3.0-freebsd.mak src$/sunpro8.mak src$/gcc-3.0-netbsd.mak
CONFIGURE_ACTION=none
@@ -124,6 +124,8 @@ BUILD_FLAGS=-f vc7.mak
# FreeBSD needs a special makefile
.IF "$(OS)"=="FREEBSD"
BUILD_FLAGS=-f gcc-3.0-freebsd.mak
+ .ELIF "$(OS)"=="NETBSD"
+ BUILD_FLAGS=-f gcc-3.0-netbsd.mak
.ELIF "$(OS)"=="MACOSX"
BUILD_FLAGS=-f gcc-3.0-macosx.mak
.ELSE

View file

@ -1,33 +1,24 @@
$NetBSD: patch-ar,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
$NetBSD: patch-ar,v 1.2 2004/05/03 20:56:36 mrauch Exp $
--- ../connectivity/source/drivers/mozab/mozillasrc/makefile.mk.orig Tue Jan 1 14:08:59 2002
+++ ../connectivity/source/drivers/mozab/mozillasrc/makefile.mk
@@ -92,10 +92,12 @@
$(SLO)$/MQueryHelper.obj \
$(SLO)$/MDatabaseMetaDataHelper.obj \
$(SLO)$/MQuery.obj \
- $(SLO)$/MTypeConverter.obj \
$(SLO)$/MNameMapper.obj
--- ../sal/osl/unx/tempfile.c.orig 2004-01-28 11:18:07.000000000 +0100
+++ ../sal/osl/unx/tempfile.c
@@ -64,6 +64,9 @@
/*****************************************************************/
-
+.IF "$(OS)" != "NETBSD"
+SLOFILES += \
+ $(SLO)$/MTypeConverter.obj
+.ENDIF
#include <stdio.h>
+#if defined(NETBSD)
+#include <paths.h>
+#endif
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
@@ -107,6 +110,9 @@ oslFileError SAL_CALL osl_getTempDirURL(
#if defined(SOLARIS) || defined (LINUX) || defined (FREEBSD) || defined (MACOSX)
if ( !pValue )
pValue = P_tmpdir;
+#elif defined(NETBSD)
+ if ( !pValue )
+ pValue = _PATH_TMP;
#endif
}
.IF "$(GUI)" == "WNT"
.IF "$(DEBUG)" == ""
@@ -132,6 +134,13 @@
-fno-rtti -Wall -Wconversion -Wpointer-arith \
-Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth \
-Wno-long-long -pthread
+CDEFS += -DTRACING
+.ELIF "$(OS)" == "NETBSD"
+CFLAGS += -fPIC
+CFLAGSCXX += \
+ -Wall -Wconversion -Wpointer-arith \
+ -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth \
+ -Wno-long-long
CDEFS += -DTRACING
.ENDIF
.ENDIF

View file

@ -1,117 +0,0 @@
$NetBSD: patch-as,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../connectivity/source/drivers/mozab/mozillasrc/nortti/MTypeConverter.cxx.orig Sun Jan 6 11:44:27 2002
+++ ../connectivity/source/drivers/mozab/mozillasrc/nortti/MTypeConverter.cxx
@@ -0,0 +1,112 @@
+
+#include <MNSInclude.hxx>
+
+#ifndef _CONNECTIVITY_MAB_TYPECONVERTER_HXX_
+#include "MTypeConverter.hxx"
+#endif
+#ifndef _UCBHELPER_CONTENT_HXX
+#include <ucbhelper/content.hxx>
+#endif
+
+using namespace connectivity::mozab;
+
+// -------------------------------------------------------------------------
+void MTypeConverter::ouStringToNsString(::rtl::OUString const &ous, nsString &nss)
+{
+ OSL_TRACE( "IN MTypeConverter::OUStringToNsString()\n" );
+
+ // Convert to ::rtl::OString (utf-8 encoding).
+ ::rtl::OString os(ous,ous.getLength(), RTL_TEXTENCODING_UTF8);
+
+ const char *cs = os.getStr();
+ PRUint32 csLen = os.getLength();
+
+ NS_ConvertUTF8toUCS2 mozString(cs, csLen);
+ //const PRUnichar* uniMozString = (const PRUnichar*) mozString;
+ nss = mozString; // temp.
+
+ OSL_TRACE( "\tOUT MTypeConverter::OUStringToNsString()\n" );
+}
+// -------------------------------------------------------------------------
+void MTypeConverter::nsStringToOUString(nsString const &nss, ::rtl::OUString &ous)
+{
+ OSL_TRACE( "IN MTypeConverter::nsStringToOUString()\n" );
+
+ // Get clone of buffer.
+ PRUnichar *uc = nss.ToNewUnicode();
+ sal_Int32 nssLen = nss.Length();
+
+ // TODO check if this is ok.
+ ::rtl::OUString _ous(uc, nssLen);
+ ous = _ous;
+
+ nsMemory::Free(uc);
+
+ OSL_TRACE( "\tOUT MTypeConverter::nsStringToOUString()\n" );
+}
+// -------------------------------------------------------------------------
+void MTypeConverter::prUnicharToOUString(PRUnichar const *pru, ::rtl::OUString &ous)
+{
+ OSL_TRACE( "IN MTypeConverter::prUniCharToOUString()\n" );
+
+ // TODO, specify length.
+ ::rtl::OUString _ous(pru);
+ ous = _ous;
+
+ OSL_TRACE( "\tOUT MTypeConverter::prUniCharToOUString()\n" );
+}
+// -------------------------------------------------------------------------
+char *MTypeConverter::ouStringToCCharStringUtf8(::rtl::OUString const &ous)
+{
+ OSL_TRACE( "IN MTypeConverter::OUStringToCCharStringUtf8()\n" );
+
+ // Convert to ::rtl::OString,
+ ::rtl::OString os(ous,ous.getLength(), RTL_TEXTENCODING_UTF8);
+
+ const char *cs = os.getStr();
+
+ OSL_TRACE( "\tOUT MTypeConverter::OUStringToCCharStringUtf8()\n" );
+ return(strdup(cs));
+}
+// -------------------------------------------------------------------------
+char *MTypeConverter::ouStringToCCharStringAscii(::rtl::OUString const &ous)
+{
+ OSL_TRACE( "IN MTypeConverter::OUStringToCCharStringAscii()\n" );
+
+ // Convert ::rtl::OUString to ::rtl::OString,
+ ::rtl::OString os(ous,ous.getLength(), RTL_TEXTENCODING_ASCII_US);
+
+ OSL_TRACE( "\tOUT MTypeConverter::OUStringToCCharStringAscii()\n" );
+ return(strdup(os.getStr()));
+}
+// -------------------------------------------------------------------------
+char *MTypeConverter::nsStringToCCharStringAscii(nsString const &nss)
+{
+ OSL_TRACE( "IN MTypeConverter::nsStringToCCharStringAscii()\n" );
+
+ char cs[1024];
+ nss.ToCString(cs, 1024);
+
+ OSL_TRACE( "\tOUT MTypeConverter::nsStringToCCharStringAscii()\n" );
+ return(strdup(cs));
+}
+// -------------------------------------------------------------------------
+::std::string MTypeConverter::ouStringToStlString(::rtl::OUString const &ous)
+{
+ OSL_TRACE( "IN MTypeConverter::ouStringToStlString()\n" );
+
+ // Convert ::rtl::OUString to ::rtl::OString.
+ ::rtl::OString os(ous,ous.getLength(),RTL_TEXTENCODING_ASCII_US);
+
+ OSL_TRACE( "\tOUT MTypeConverter::ouStringToStlString()\n" );
+ return( ::std::string(os.getStr()));
+}
+// -------------------------------------------------------------------------
+::std::string MTypeConverter::nsStringToStlString(nsString const &nss)
+{
+ OSL_TRACE( "IN MTypeConverter::nsStringToStlString()\n" );
+
+ OSL_TRACE( "\tOUT MTypeConverter::nsStringToStlString()\n" );
+ return( ::std::string(nss.GetBuffer()));
+}
+// -------------------------------------------------------------------------

View file

@ -1,97 +0,0 @@
$NetBSD: patch-at,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../connectivity/source/drivers/mozab/mozillasrc/nortti/makefile.mk.orig Sun Jan 6 11:44:36 2002
+++ ../connectivity/source/drivers/mozab/mozillasrc/nortti/makefile.mk
@@ -0,0 +1,92 @@
+CALL_CDECL=TRUE
+
+#mozilla specific stuff.
+MOZ_LIB=$(SOLARVERSION)$/$(INPATH)$/lib$(UPDMINOREXT)
+MOZ_INC=$(SOLARVERSION)$/$(INPATH)$/inc$(UPDMINOREXT)/$/mozilla
+#End of mozilla specific stuff.
+
+PRJ=..$/..$/..$/..$/..
+PRJINC=..$/..$/..$/..
+PRJNAME=connectivity
+TARGET=mozabsrc
+
+USE_LDUMP2=TRUE
+USE_DEFFILE=TRUE
+ENABLE_EXCEPTIONS=TRUE
+LDUMP=ldump2.exe
+
+# --- Settings ----------------------------------
+.IF "$(DBGUTIL_OJ)"!=""
+ENVCFLAGS+=/FR$(SLO)$/
+.ENDIF
+
+.INCLUDE : settings.mk
+.INCLUDE : $(PRJ)$/version.mk
+
+#mozilla specific stuff.
+# --- Files -------------------------------------
+
+SLOFILES = \
+ $(SLO)$/MTypeConverter.obj
+
+
+
+.IF "$(GUI)" == "WNT"
+.IF "$(DEBUG)" == ""
+INCPRE += . -I.. -I$(MOZ_INC) -I$(MOZ_INC)$/nspr
+CDEFS += -DWINVER=0x400 -DMOZILLA_CLIENT \
+ -DNS_NET_FILE -DCookieManagement -DSingleSignon -DClientWallet \
+ -DTRACING -DXP_PC -DXP_WIN -DXP_WIN32 -DHW_THREADS \
+ -DDMSVC4 -DNS_MT_SUPPORTED -DNETLIB_THREAD \
+ -DOJI -DWIN32 -D_X86_ -D_WINDOWS \
+ -DMOZ_XUL -DMOZ_REFLOW_PERF -DMOZ_REFLOW_PERF_DSP \
+ -DNSPR20 -DOS_HAS_DLL -DNO_JNI_STUBS \
+ -DNETSCAPE -DMOZILLA_CLIENT -DJS_THREADSAFE -DNECKO -DINCLUDE_XUL
+CFLAGS += -GR- -W3 -Gy -MD -UDEBUG
+.ELSE
+INCPRE += . -I.. -I$(MOZ_INC) -I$(MOZ_INC)$/nspr
+CDEFS += -DDEBUG -DWINVER=0x400 -DMOZILLA_CLIENT \
+ -DNS_NET_FILE -DCookieManagement -DSingleSignon -DClientWallet \
+ -DTRACING -DXP_PC -DXP_WIN -DXP_WIN32 -DHW_THREADS \
+ -DDMSVC4 -DDEVELOPER_DEBUG -DNS_MT_SUPPORTED -DNETLIB_THREAD \
+ -DOJI -D_DEBUG -DWIN32 -D_X86_ -D_WINDOWS \
+ -DMOZ_XUL -DMOZ_REFLOW_PERF -DMOZ_REFLOW_PERF_DSP \
+ -DDEBUG_Administrator -DNSPR20 -DOS_HAS_DLL -DNO_JNI_STUBS \
+ -DNETSCAPE -DMOZILLA_CLIENT -DJS_THREADSAFE -DNECKO -DINCLUDE_XUL
+CFLAGS += -Zi -GR- -W3 -Gy -MDd -UNDEBUG
+.ENDIF
+.ENDIF
+.IF "$(GUI)" == "UNX"
+INCPRE += . -I.. -I..$/.. -I$(MOZ_INC) -I$(MOZ_INC)$/nspr
+CDEFS+= -DMOZILLA_CLIENT \
+ -DOSTYPE=\"Linux2.2.14-5\" -DOJI
+.IF "$(OS)" == "LINUX"
+CFLAGS += -fPIC -g
+CFLAGSCXX += \
+ -fno-rtti -Wall -Wconversion -Wpointer-arith \
+ -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth \
+ -Wno-long-long -pthread
+CDEFS += -DTRACING
+.ELIF "$(OS)" == "NETBSD"
+CFLAGS += -fPIC
+CFLAGSCXX += \
+ -fno-rtti -Wall -Wconversion -Wpointer-arith \
+ -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth \
+ -Wno-long-long
+CDEFS += -DTRACING
+.ENDIF
+.ENDIF
+
+SHL1TARGET_NAME=$(TARGET)$(MOZAB_MAJOR)
+
+
+# --- Targets ----------------------------------
+
+.INCLUDE : target.mk
+
+
+killdpc:
+ -+$(RM) $(DPCTARGET)
+ -+$(RM) $(DEPFILES)
+ @+echo Dependency files removed
+

View file

@ -1,17 +0,0 @@
$NetBSD: patch-au,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../connectivity/source/drivers/mozaddressbook/mozillasrc/makefile.mk.orig Tue Jan 1 14:08:59 2002
+++ ../connectivity/source/drivers/mozaddressbook/mozillasrc/makefile.mk
@@ -165,6 +165,12 @@
-fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith \
-Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth \
-Wno-long-long -pthread -DTRACING -g
+.ELIF "$(OS)" == "NETBSD"
+# INCPRE += -I.. -I$(MOZ_INC) -DDEBUG -DMOZILLA_CLIENT
+INCPRE += -fPIC \
+ -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith \
+ -Wbad-function-cast -Wcast-align -Woverloaded-virtual -Wsynth \
+ -Wno-long-long -DTRACING
.ENDIF
.ENDIF

View file

@ -1,18 +0,0 @@
$NetBSD: patch-av,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../connectivity/source/manager/makefile.mk.orig Tue Jan 1 14:09:00 2002
+++ ../connectivity/source/manager/makefile.mk
@@ -92,11 +92,11 @@
.ENDIF
SHL1OBJS=$(SLOFILES)
SHL1STDLIBS=\
+ $(SALLIB) \
$(CPPULIB) \
$(CPPUHELPERLIB) \
$(VOSLIB) \
- $(OSLLIB) \
- $(SALLIB)
+ $(OSLLIB)
SHL1DEPN=
SHL1IMPLIB= i$(SHL1TARGET)

View file

@ -1,15 +0,0 @@
$NetBSD: patch-aw,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../cppuhelper/source/makefile.mk.orig Tue Jan 1 14:09:04 2002
+++ ../cppuhelper/source/makefile.mk
@@ -149,8 +149,8 @@
SHL1TARGET=$(TARGET)$(UDK_MAJOR)$(COM)
SHL1STDLIBS= \
- $(CPPULIB) \
- $(SALLIB)
+ $(SALLIB) \
+ $(CPPULIB)
SHL1DEPN=
SHL1IMPLIB=i$(TARGET)

View file

@ -1,26 +0,0 @@
$NetBSD: patch-ax,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../dtrans/source/X11/X11_selection.cxx.orig Tue Sep 11 11:23:56 2001
+++ ../dtrans/source/X11/X11_selection.cxx
@@ -63,7 +63,7 @@
#include <stdio.h>
#include <X11/Xatom.h>
#include <X11/keysym.h>
-#ifdef LINUX
+#if defined(LINUX) || defined(NETBSD)
#include <sys/poll.h>
#else
#include <poll.h>
@@ -2681,7 +2681,12 @@
aPollFD.revents = 0;
// wait for activity (outside the xlib)
+#if defined(NETBSD)
+ // PSEUDOTHREADS: never block as this stops the complete program
+ if( poll( &aPollFD, 1, 0 ) > 0 )
+#else
if( poll( &aPollFD, 1, millisec ) > 0 )
+#endif
{
// now acquire the mutex to prevent other threads
// from using the same X connection

View file

@ -1,17 +0,0 @@
$NetBSD: patch-ay,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../eventattacher/source/makefile.mk.orig Tue Jan 1 14:09:28 2002
+++ ../eventattacher/source/makefile.mk
@@ -110,10 +110,10 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
$(CPPUHELPERLIB) \
- $(VOSLIB) \
- $(SALLIB)
+ $(VOSLIB)
SHL1DEPN=
SHL1IMPLIB= i$(TARGET)

View file

@ -1,13 +0,0 @@
$NetBSD: patch-az,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../extensions/source/plugin/unx/makefile.mk.orig Tue Jan 1 14:09:38 2002
+++ ../extensions/source/plugin/unx/makefile.mk
@@ -90,6 +90,8 @@
$(SALLIB)
.IF "$(OS)"=="SOLARIS" || "$(OS)"=="SCO" || "$(OS)"=="HPUX"
APP1STDLIBS+=-lXm -lXt -lX11 -ldl
+.ELIF "$(OS)"=="NETBSD"
+APP1STDLIBS+=-lXaw -lXt -lX11
.ELSE
APP1STDLIBS+=-lXaw -lXt -lX11 -ldl
.ENDIF

View file

@ -1,13 +0,0 @@
$NetBSD: patch-ba,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../external/prj/d.lst.orig Tue Sep 4 22:51:08 2001
+++ ../external/prj/d.lst
@@ -60,6 +60,8 @@
..\%__SRC%\lib\libascii_expat_xmlparse.a %_DEST%\lib%_EXT%\libascii_expat_xmlparse.a
..\%__SRC%\slb\gnu_getopt.lib %_DEST%\lib%_EXT%\gnu_getopt.lib
..\%__SRC%\lib\libgnu_getopt.a %_DEST%\lib%_EXT%\libgnu_getopt.a
+..\%__SRC%\slb\gnu_readdir_r.lib %_DEST%\lib%_EXT%\gnu_readdir_r.lib
+..\%__SRC%\lib\libgnu_readdir_r.a %_DEST%\lib%_EXT%\libgnu_readdir_r.a
..\%__SRC%\slb\zlib.lib %_DEST%\lib%_EXT%\zlib.lib
..\%__SRC%\lib\libzlib.a %_DEST%\lib%_EXT%\libzlib.a
..\%__SRC%\lib\libfreetype.a %_DEST%\lib%_EXT%\libfreetype.a

View file

@ -1,16 +0,0 @@
$NetBSD: patch-bb,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../javaunohelper/source/makefile.mk.orig Tue Jan 1 14:10:20 2002
+++ ../javaunohelper/source/makefile.mk
@@ -110,9 +110,9 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1DEPN=
SHL1IMPLIB= i$(TARGET)

View file

@ -1,13 +0,0 @@
$NetBSD: patch-bc,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../product/inc/scp/udk_bridgesfiles.scp.orig Mon Jul 9 15:10:14 2001
+++ ../product/inc/scp/udk_bridgesfiles.scp
@@ -21,7 +21,7 @@
End
*/
-#if defined(LINUX) || defined(FREEBSD) // ACHUNG: Hier reine Linux-Dateien
+#if defined(LINUX) || defined(FREEBSD) || defined(NETBSD) // ACHUNG: Hier reine Linux-Dateien
File gid_File_Lib_Gcc2_Uno
BIN_FILE_BODY;

View file

@ -1,78 +0,0 @@
$NetBSD: patch-bd,v 1.2 2002/12/25 16:20:18 jdolecek Exp $
--- ../product/util/makefile.mk.orig Thu Oct 11 12:10:42 2001
+++ ../product/util/makefile.mk Tue Dec 24 17:37:53 2002
@@ -101,6 +101,16 @@
STLPORTLIBNAME=libstlport_gcc.so
BINDINGDLL=gcc2_uno
+.ELIF "$(OS)"=="NETBSD"
+###########
+# NETBSD
+###########
+DESTDIRBIN=$(DESTDIR)$/netbsd$/bin
+DESTDIRLIB=$(DESTDIR)$/netbsd$/lib
+DESTDIRDLL=$(DESTDIRLIB)
+STLPORTLIBNAME=libstlport_gcc.so
+BINDINGDLL=gcc2_uno
+
.ELIF "$(OS)"=="WNT"
###############
# WINDOWS
@@ -341,30 +351,30 @@
$(MKDIRHIER) $@
$(DESTDIRBIN)$/udkapi.rdb : $(BINOUT)$/udkapi.rdb $(DESTDIRBIN)
- $(GNUCOPY) -p $(BINOUT)$/udkapi.rdb $@
+ $(GNUCOPY) -fp $(BINOUT)$/udkapi.rdb $@
$(DESTDIRBIN)$/%$(EXEPOSTFIX) : $(BINOUT)$/%$(EXEPOSTFIX) $(DIRLIST)
- $(GNUCOPY) -p $(BINOUT)$/$(@:f) $@
+ $(GNUCOPY) -fp $(BINOUT)$/$(@:f) $@
.IF "$(STLPORTDEST)" != ""
#OOo build environment
$(STLPORTDEST) : $(STLPORTOUT) $(DIRLIST)
- $(GNUCOPY) -p $(STLPORTOUT) $@
+ $(GNUCOPY) -fp $(STLPORTOUT) $@
.ENDIF
$(DESTDIRDLL)$/%$(MY_DLLPOSTFIX) : $(DLLOUT)$/%$(MY_DLLPOSTFIX) $(DIRLIST)
- $(GNUCOPY) -p $(DLLOUT)$/$(@:f) $@
+ $(GNUCOPY) -fp $(DLLOUT)$/$(@:f) $@
$(DESTDIRDLL)$/%$(MY_VERSION_DLLPOSTFIX) : $(DLLOUT)$/%$(MY_VERSION_DLLPOSTFIX) $(DIRLIST)
- $(GNUCOPY) -p $(DLLOUT)$/$(@:f) $@
+ $(GNUCOPY) -fp $(DLLOUT)$/$(@:f) $@
$(DESTDIRDLL)$/%$(MY_VERSION_LINKPOSTFIX) : $(DESTDIRDLL)$/%$(MY_VERSION_DLLPOSTFIX) $(DIRLIST)
- +ln -s $(@:f)$(MY_VERSION_LINKTARGETPOSTFIX) $@
- +ln -s $(@:f)$(MY_VERSION_LINKTARGETPOSTFIX) $(@:db)
+ +ln -sf $(@:f)$(MY_VERSION_LINKTARGETPOSTFIX) $@
+ +ln -sf $(@:f)$(MY_VERSION_LINKTARGETPOSTFIX) $(@:db)
$(DESTDIRJAR)$/%.jar : $(BINOUT)$/%.jar $(DIRLIST)
- $(GNUCOPY) -p $(BINOUT)$/$(@:f) $@
+ $(GNUCOPY) -fp $(BINOUT)$/$(@:f) $@
$(DESTDIRXML)$/%.xml : $(XMLOUT)$/%.xml $(DIRLIST)
$(MY_TEXTCOPY) $(MY_TEXTCOPY_SOURCEPRE) $? $(MY_TEXTCOPY_TARGETPRE) $@
@@ -373,7 +383,7 @@
$(MY_TEXTCOPY) $(MY_TEXTCOPY_SOURCEPRE) $(XMLOUT)$/module-description.dtd $(MY_TEXTCOPY_TARGETPRE) $@
$(DESTDIRLIB)$/%.lib : $(LIBOUT)$/%.lib $(DIRLIST)
- $(GNUCOPY) -p $(LIBOUT)$/$(@:f) $@
+ $(GNUCOPY) -fp $(LIBOUT)$/$(@:f) $@
$(DESTDIRSETTINGS)$/%.mk : $(PRJ)$/settings$/%.mk $(DIRLIST)
+-rm -f $@ >& $(NULLDEV)
@@ -385,7 +395,7 @@
$(MY_TEXTCOPY) $(MY_TEXTCOPY_SOURCEPRE) $? $(MY_TEXTCOPY_TARGETPRE) $@
$(DESTDIREXAMPLES)$/README : $(PRJ)$/examples$/README
- $(GNUCOPY) -p $(PRJ)$/examples$/README $@
+ $(GNUCOPY) -fp $(PRJ)$/examples$/README $@
$(DESTDIRIDL)$/% : $(IDLOUT)$/%
+-rm -f $@

View file

@ -1,20 +0,0 @@
$NetBSD: patch-be,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../readlicense/source/readme/unxbsdi/README.orig Sun Jan 6 11:30:15 2002
+++ ../readlicense/source/readme/unxbsdi/README
@@ -0,0 +1,14 @@
+(Temporary readme text file)
+
+To be used for changes / corrections made after copy deadline or very important notices.
+
+For latest information please visit:
+
+http://www.openoffice.org/
+
+
+Your OpenOffice.org Team
+
+
+------------------------------------
+Copyright 2000 OpenOffice.org. All rights reserved.
\ No newline at end of file

View file

@ -1,20 +0,0 @@
$NetBSD: patch-bf,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../readlicense/source/readme/unxbsdppc/README.orig Sun Jan 6 11:30:19 2002
+++ ../readlicense/source/readme/unxbsdppc/README
@@ -0,0 +1,14 @@
+(Temporary readme text file)
+
+To be used for changes / corrections made after copy deadline or very important notices.
+
+For latest information please visit:
+
+http://www.openoffice.org/
+
+
+Your OpenOffice.org Team
+
+
+------------------------------------
+Copyright 2000 OpenOffice.org. All rights reserved.
\ No newline at end of file

View file

@ -1,16 +0,0 @@
$NetBSD: patch-bg,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../remotebridges/source/unourl_resolver/makefile.mk.orig Tue Jan 1 14:11:01 2002
+++ ../remotebridges/source/unourl_resolver/makefile.mk
@@ -102,9 +102,9 @@
SHL1VERSIONMAP= $(TARGET).map
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1DEPN=
SHL1IMPLIB= i$(TARGET)

View file

@ -1,27 +0,0 @@
$NetBSD: patch-bh,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../sablot/Sablot-0.52.patch.orig Sun Jan 6 13:12:45 2002
+++ ../sablot/Sablot-0.52.patch
@@ -4,5 +4,5 @@
*** 1 ****
! dummy
---- 1,147 ----
+--- 1,151 ----
! #*************************************************************************
! #
@@ -86,10 +86,14 @@
! .ENDIF
!
-! .IF "$(OS)"=="LINUX" || "$(OS)"=="MACOSX" || "$(OS)"=="IRIX"
+! .IF "$(OS)"=="LINUX" || "$(OS)"=="MACOSX" || "$(OS)"=="IRIX" || "$(OS)"=="NETBSD"
! CFLAGS+= -DHAVE_UNISTD_H
! .ENDIF
!
! .IF "$(GUI)"=="UNX"
+! .IF "$(OS)"=="NETBSD"
+! CFLAGS+= -DHAVE_SYS_TIMEB_H -DHAVE_GETTIMEOFDAY -DHAVE_ISNAN -DHAVE_FINITE
+! .ELSE
! CFLAGS+= -DHAVE_SYS_TIMEB_H -DHAVE_FTIME -DHAVE_ISNAN -DHAVE_FINITE
+! .ENDIF
! .ENDIF
!

View file

@ -1,75 +0,0 @@
$NetBSD: patch-bi,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../sal/osl/unx/file.c.orig Thu Oct 4 15:09:21 2001
+++ ../sal/osl/unx/file.c
@@ -123,11 +123,16 @@
#include <ctype.h>
static const sal_Char* MOUNTTAB="/etc/mtab";
-#elif defined(NETBSD)
+#elif defined(NETBSD) || defined(FREEBSD)
+#include <sys/param.h>
+#include <sys/ucred.h>
#include <sys/mount.h>
#include <ufs/ufs/quota.h>
#include <ctype.h>
-static const sal_Char* MOUNTTAB="/etc/mtab";
+#define HAVE_STATFS_H
+/* No mounting table on *BSD
+ * This information is stored only in the kernel. */
+/* static const sal_Char* MOUNTTAB="/etc/mtab"; */
#elif defined(IRIX)
#include <mntent.h>
@@ -137,7 +142,7 @@
#include <ctype.h>
static const sal_Char* MOUNTTAB="/etc/mtab";
-#elif defined(MACOSX) || defined(FREEBSD)
+#elif defined(MACOSX)
#include <ufs/ufs/quota.h>
#include <ctype.h>
static const sal_Char* MOUNTTAB="/etc/mtab";
@@ -4224,10 +4229,20 @@
mntfile = fopen(MOUNTTAB,"r");
#endif /* SOLARIS */
+#if defined(NETBSD) || defined(FREEBSD)
+ struct statfs *mntbufp;
+ int mntentries,i;
+ mntentries = getmntinfo(&mntbufp,MNT_WAIT);
buffer[0] = '\0';
+ if(mntentries == 0)
+#else
+
+ buffer[0] = '\0';
+
if ( mntfile == 0 )
+#endif
{
nRet=errno;
#ifdef DEBUG_OSL_FILE
@@ -4286,7 +4301,21 @@
}
#endif /* SOLARIS */
+#if defined(NETBSD) || defined(FREEBSD)
+ i=0;
+ while ( i < mntentries )
+ {
+ if ( strcmp(mntbufp[i].f_mntonname,buffer) == 0 )
+ {
+ *bMountPoint=sal_True;
+ return osl_File_E_None;
+ }
+ i++;
+ }
+#endif
+#if ! ( defined(NETBSD) || defined(FREEBSD) )
fclose(mntfile);
+#endif
*bMountPoint=sal_False;
return osl_File_E_None;
}

View file

@ -1,105 +0,0 @@
$NetBSD: patch-bj,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../sal/osl/unx/nlsupport.c.orig Mon Nov 12 21:21:31 2001
+++ ../sal/osl/unx/nlsupport.c
@@ -63,7 +63,7 @@
#include <osl/diagnose.h>
#include <osl/process.h>
-#if defined(LINUX) || defined(SOLARIS)
+#if defined(LINUX) || defined(SOLARIS) || defined(NETBSD)
#include <pthread.h>
#include <locale.h>
#include <langinfo.h>
@@ -242,7 +242,7 @@
return NULL;
}
-#if defined(LINUX) || defined(SOLARIS)
+#if defined(LINUX) || defined(SOLARIS) || defined(NETBSD)
/*
* This implementation of osl_getTextEncodingFromLocale maps
@@ -296,7 +296,7 @@
/* XXX MS-874 is an extension to tis620, so this is not
* really equivalent */
-#elif defined(LINUX)
+#elif defined(LINUX) || defined(NETBSD)
const _pair _nl_language_list[] = {
{ "ANSI_X3.110-1983", RTL_TEXTENCODING_DONTKNOW }, /* ISO-IR-99 NAPLPS */
@@ -477,7 +477,7 @@
{ "WIN-SAMI-2", RTL_TEXTENCODING_DONTKNOW } /* WS2 */
};
-#endif /* ifdef LINUX */
+#endif /* ifdef LINUX || NETBSD */
static pthread_mutex_t aLocalMutex = PTHREAD_MUTEX_INITIALIZER;
@@ -516,7 +516,11 @@
}
/* get the charset as indicated by the LC_CTYPE locale */
+#if defined(NETBSD) && !defined(CODESET)
+ codeset = NULL;
+#else
codeset = nl_langinfo( CODESET );
+#endif
if ( codeset != NULL )
{
@@ -595,7 +599,7 @@
return ret;
}
-#elif defined(MACOSX) /* ifdef LINUX || SOLARIS */
+#elif defined(MACOSX) /* ifdef LINUX || SOLARIS || NETBSD */
/*
* FIXME: the MacOS X implemetation is missing
@@ -628,7 +632,7 @@
return 0;
}
-#else /* ifdef LINUX || SOLARIS || MACOSX */
+#else /* ifdef LINUX || SOLARIS || MACOSX || NETBSD */
/*
* This implementation of osl_getTextEncodingFromLocale maps
@@ -829,7 +833,7 @@
snprintf(env_buf, sizeof(env_buf), "LC_ALL=%s", locale_buf);
env_buf[sizeof(env_buf)] = '\0';
putenv(env_buf);
-#elif defined( FREEBSD ) || defined( NETBSD )
+#elif defined( FREEBSD )
setenv( "LC_ALL", locale_buf, 1);
#else
setenv( "LC_ALL", locale_buf );
@@ -841,7 +845,7 @@
snprintf(env_buf, sizeof(env_buf), "LC_CTYPE=%s", locale_buf);
env_buf[sizeof(env_buf)] = '\0';
putenv(env_buf);
-#elif defined( FREEBAD ) || defined( NETBSD )
+#elif defined( FREEBAD )
setenv("LC_CTYPE", locale_buf, 1 );
#else
setenv( "LC_CTYPE", locale_buf );
@@ -853,7 +857,7 @@
snprintf(env_buf, sizeof(env_buf), "LANG=%s", locale_buf);
env_buf[sizeof(env_buf)] = '\0';
putenv(env_buf);
-#elif defined( FREEBAD ) || defined( NETBSD )
+#elif defined( FREEBAD )
setenv("LC_CTYPE", locale_buf, 1 );
#else
setenv( "LANG", locale_buf );
@@ -864,6 +868,6 @@
return 0;
}
-#endif /* ifdef LINUX || SOLARIS || MACOSX*/
+#endif /* ifdef LINUX || SOLARIS || MACOSX || NETBSD */

View file

@ -1,16 +0,0 @@
$NetBSD: patch-bk,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../sal/osl/unx/pipe.c.orig Tue May 29 07:38:32 2001
+++ ../sal/osl/unx/pipe.c
@@ -264,7 +264,11 @@
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path, name);
+#if defined(NETBSD)
+ len = sizeof(addr);
+#else
len = sizeof(addr.sun_family) + strlen(addr.sun_path);
+#endif
if ( Options & osl_Pipe_CREATE )
{

View file

@ -1,13 +0,0 @@
$NetBSD: patch-bl,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../sal/osl/unx/socket.c.orig Thu Nov 22 15:14:54 2001
+++ ../sal/osl/unx/socket.c
@@ -82,7 +82,7 @@
#undef HAVE_POLL_H
#endif
-#if defined(LINUX) || defined (IRIX)
+#if defined(LINUX) || defined (IRIX) || defined(NETBSD)
#include <sys/poll.h>
#define HAVE_POLL_H
#endif /* HAVE_POLL_H */

View file

@ -1,129 +0,0 @@
$NetBSD: patch-bm,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../sal/osl/unx/system.c.orig Wed Feb 28 13:08:45 2001
+++ ../sal/osl/unx/system.c
@@ -126,6 +126,73 @@
return res;
}
+int getpwuid_r(uid_t uid, struct passwd *pwd, char *buffer,
+ size_t buflen, struct passwd **result)
+{
+ struct passwd* res;
+
+ pthread_mutex_lock(&getrtl_mutex);
+
+ if ( res = getpwuid(uid) )
+ {
+ size_t pw_name, pw_passwd, pw_class, pw_gecos, pw_dir, pw_shell;
+
+ pw_name = strlen(res->pw_name)+1;
+ pw_passwd = strlen(res->pw_passwd)+1;
+ pw_class = strlen(res->pw_class)+1;
+ pw_gecos = strlen(res->pw_gecos)+1;
+ pw_dir = strlen(res->pw_dir)+1;
+ pw_shell = strlen(res->pw_shell)+1;
+
+ if (pw_name+pw_passwd+pw_class+pw_gecos
+ +pw_dir+pw_shell < buflen)
+ {
+ memcpy(pwd, res, sizeof(struct passwd));
+
+ strncpy(buffer, res->pw_name, pw_name);
+ pwd->pw_name = buffer;
+ buffer += pw_name;
+
+ strncpy(buffer, res->pw_passwd, pw_passwd);
+ pwd->pw_passwd = buffer;
+ buffer += pw_passwd;
+
+ strncpy(buffer, res->pw_class, pw_class);
+ pwd->pw_class = buffer;
+ buffer += pw_class;
+
+ strncpy(buffer, res->pw_gecos, pw_gecos);
+ pwd->pw_gecos = buffer;
+ buffer += pw_gecos;
+
+ strncpy(buffer, res->pw_dir, pw_dir);
+ pwd->pw_dir = buffer;
+ buffer += pw_dir;
+
+ strncpy(buffer, res->pw_shell, pw_shell);
+ pwd->pw_shell = buffer;
+ buffer += pw_shell;
+
+ *result = pwd ;
+ res = 0 ;
+
+ } else {
+
+ res = ENOMEM ;
+
+ }
+
+ } else {
+
+ res = errno ;
+
+ }
+
+ pthread_mutex_unlock(&getrtl_mutex);
+
+ return res;
+}
+
struct tm *localtime_r(const time_t *timep, struct tm *buffer)
{
struct tm* res;
@@ -449,3 +516,50 @@
}
#endif
+#if defined(NETBSD) || defined(FREEBSD)
+char *fcvt(double value, int ndigit, int *decpt, int *sign)
+{
+ static char ret[256];
+ char buf[256],zahl[256],format[256]="%";
+ char *v1,*v2;
+
+ if (value==0.0) value=1e-30;
+
+ if (value<0.0) *sign=1; else *sign=0;
+
+ if (value<1.0)
+ {
+ *decpt=(int)log10(value);
+ value*=pow(10.0,1-*decpt);
+ ndigit+=*decpt-1;
+ if (ndigit<0) ndigit=0;
+ }
+ else
+ {
+ *decpt=(int)log10(value)+1;
+ }
+
+ sprintf(zahl,"%d",ndigit);
+ strcat(format,zahl);
+ strcat(format,".");
+ strcat(format,zahl);
+ strcat(format,"f");
+
+ sprintf(buf,format,value);
+
+ if (ndigit!=0)
+ {
+ v1=strtok(buf,".");
+ v2=strtok(NULL,".");
+ strcpy(ret,v1);
+ strcat(ret,v2);
+ }
+ else
+ {
+ strcpy(ret,buf);
+ }
+
+ return(ret);
+}
+
+#endif

View file

@ -1,21 +0,0 @@
$NetBSD: patch-bn,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../sal/util/makefile.mk.orig Tue Jan 1 14:11:15 2002
+++ ../sal/util/makefile.mk
@@ -148,9 +148,13 @@
SHL1STDLIBS= -lpthread -lposix4
.IF "$(COM)" == "C50"
SHL1STDLIBS+= -z allextract -staticlib=Crun -z defaultextract
-.ENDIF
-.ENDIF
-.ENDIF
+.ENDIF # COM == C50
+.ENDIF # OS == SOLARIS
+.IF "$(OS)"=="NETBSD"
+SHL1STDLIBS+= -Wl,--whole-archive -lgnu_readdir_r -Wl,--no-whole-archive
+.ENDIF # OS == NETBSD
+.ENDIF # GUI == UNX
+
.IF "$(GUI)"=="OS2"
SHL1STDLIBS=n:\toolkit4\lib\so32dll.lib\

View file

@ -1,20 +0,0 @@
$NetBSD: patch-bo,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../sal/util/sal.map.orig Tue Sep 25 08:49:38 2001
+++ ../sal/util/sal.map
@@ -478,6 +478,15 @@
rtl_tres_destroy;
osl_getProcessLocale;
osl_setProcessLocale;
+
+ readdir_r;
+ gethostbyname_r;
+ getpwnam_r;
+ getpwuid_r;
+ gmtime_r;
+ localtime_r;
+ fcvt;
+
local:
*;
};

View file

@ -1,39 +0,0 @@
$NetBSD: patch-bp,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../scp/source/global/setupzip.scp.orig Wed Nov 14 15:01:30 2001
+++ ../scp/source/global/setupzip.scp
@@ -113,13 +113,24 @@
Name = "libstlport_sunpro.so";
#endif
#ifdef GCC
- Name = "libstlport_gcc.so";
+ Name = "libstlport_gcc.so.0";
#endif
#else
Name = "stlport_vc6.dll";
#endif
End
+File GID_FILE_LIB_STLPORT2
+ BIN_FILE_BODY;
+ Styles = (PACKED, SETUPZIP);
+ Dir = GCFG_BINARY_DIR;
+#ifdef UNX
+#ifdef GCC
+ Name = "libstlport2_gcc.so";
+#endif
+#endif
+End
+
#if !defined(OSL_PRODUCT) && !defined(IPL_PRODUCT) && !defined(OPL_PRODUCT)
#ifndef WEM_PRODUCT
@@ -225,7 +236,7 @@
#if defined (CLASSIC_FAT_PRODUCT) || defined (OSL_PRODUCT)
-STD_SETUPZIP_LIB_FILE( GID_FILE_LIB_REGMIMETYPES, regmimetypes )
+// STD_SETUPZIP_LIB_FILE( GID_FILE_LIB_REGMIMETYPES, regmimetypes )
#endif

View file

@ -1,12 +0,0 @@
$NetBSD: patch-bq,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../setup2/script/setupserver.orig Fri Nov 17 11:29:29 2000
+++ ../setup2/script/setupserver
@@ -234,6 +234,7 @@
sd_platform=`uname -s`
case $sd_platform in
SCO_SV) test=/bin/test ;;
+ NetBSD) test=/bin/test ;;
*) test=/usr/bin/test ;;
esac
sd_cwd="`pwd`"

View file

@ -1,13 +0,0 @@
$NetBSD: patch-br,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../setup2/source/agenda/agenda.cxx.orig Thu Oct 18 09:25:12 2001
+++ ../setup2/source/agenda/agenda.cxx
@@ -1447,7 +1447,7 @@
#ifdef UNX
char passwd[1024];
- #if defined (LINUX) || defined(IRIX) || defined(FREEBSD)
+ #if defined (LINUX) || defined(IRIX) || defined(FREEBSD) || defined(NETBSD)
strcpy( passwd, getpass("Enter administrator password for configuration server: "));
#elif MACOSX
strcpy( passwd, getpass("Enter administrator password for configuration server: "));

View file

@ -1,12 +0,0 @@
$NetBSD: patch-bs,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../setup2/source/custom/jvmsetup/loader/jvmsetup.sh.orig Thu Mar 1 16:35:57 2001
+++ ../setup2/source/custom/jvmsetup/loader/jvmsetup.sh
@@ -65,6 +65,7 @@
sd_platform=`uname -s`
case $sd_platform in
SCO_SV) test=/bin/test ;;
+ NetBSD) test=/bin/test ;;
*) test=/usr/bin/test ;;
esac

View file

@ -1,16 +0,0 @@
$NetBSD: patch-bt,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../setup2/source/ui/pages/paddr.cxx.orig Fri Sep 14 09:56:31 2001
+++ ../setup2/source/ui/pages/paddr.cxx
@@ -178,7 +178,10 @@
m_aCountryList.SetDropDownLineCount( 5 );
#ifdef UNX
- m_aShortName.SetText( UniString::CreateFromAscii(getenv("LOGNAME")) );
+ // LOGNAME may be unset -- passed down pointer must not be NULL
+ sal_Char* getlogname = getenv("LOGNAME");
+ if (getlogname == NULL) { getlogname = ""; };
+ m_aShortName.SetText( UniString::CreateFromAscii(getlogname) );
#else
m_aFirstName.SetModifyHdl( LINK( this, PageAddress, ModifyHdl ) );
m_aName.SetModifyHdl( LINK( this, PageAddress, ModifyHdl ) );

View file

@ -1,18 +0,0 @@
$NetBSD: patch-bu,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../shell/source/cmdmail/makefile.mk.orig Tue Jan 1 14:11:38 2002
+++ ../shell/source/cmdmail/makefile.mk
@@ -81,9 +81,10 @@
SHL1TARGET=$(TARGET)
-SHL1STDLIBS=$(CPPULIB)\
- $(CPPUHELPERLIB)\
- $(SALLIB)
+SHL1STDLIBS=\
+ $(SALLIB)\
+ $(CPPULIB)\
+ $(CPPUHELPERLIB)
SHL1LIBS=

View file

@ -1,18 +0,0 @@
$NetBSD: patch-bv,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../shell/source/proxysettings/makefile.mk.orig Tue Jan 1 14:11:38 2002
+++ ../shell/source/proxysettings/makefile.mk
@@ -85,9 +85,10 @@
SHL1TARGET=$(TARGET)
-SHL1STDLIBS=$(CPPULIB)\
- $(CPPUHELPERLIB)\
- $(SALLIB)
+SHL1STDLIBS=\
+ $(SALLIB)\
+ $(CPPULIB)\
+ $(CPPUHELPERLIB)
SHL1LIBS=

View file

@ -1,18 +0,0 @@
$NetBSD: patch-bw,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../shell/source/unix/exec/makefile.mk.orig Tue Jan 1 14:11:38 2002
+++ ../shell/source/unix/exec/makefile.mk
@@ -79,9 +79,10 @@
SHL1TARGET=$(TARGET)
-SHL1STDLIBS=$(CPPULIB)\
- $(CPPUHELPERLIB)\
- $(SALLIB)
+SHL1STDLIBS=\
+ $(SALLIB)\
+ $(CPPULIB)\
+ $(CPPUHELPERLIB)
SHL1LIBS=

View file

@ -1,29 +0,0 @@
$NetBSD: patch-bx,v 1.2 2004/03/14 02:29:21 kristerw Exp $
--- ../solenv/bin/checkdll.sh.orig Tue Jun 19 15:07:46 2001
+++ ../solenv/bin/checkdll.sh Sun Mar 14 02:51:27 2004
@@ -7,11 +7,14 @@
# Copyright (c) 2000, Sun Microsystems, Inc.
#
-set -- `getopt "L:" "$@"` || {
+set -- `getopt "L:R:W:" "$@"` || {
echo "Usage: `basename $0` [-L library_path] <shared_library>" 1>&2
exit 1
}
+echo "WARNING: checkdll is disabled" 1>&2
+exit 0
+
checkdll="$SOLARVERSION/$INPATH/bin/checkdll"
if [ -x $checkdll ]; then
@@ -19,6 +22,8 @@
do
case $1 in
-L) shift; option=$1;;
+ -R) shift;;
+ -W) shift;;
--) break;;
esac
case "${libpath+X}" in

View file

@ -1,25 +0,0 @@
$NetBSD: patch-by,v 1.2 2002/02/26 21:25:28 mrauch Exp $
--- ../solenv/inc/tg_ext.mk.orig Sun Feb 24 14:08:59 2002
+++ ../solenv/inc/tg_ext.mk
@@ -107,7 +107,7 @@
$(MISC)$/%.unpack : $(PRJ)$/download$/%.tar.gz
@+-$(RM) $@
- @+echo $(assign UNPACKCMD := gunzip -c $(BACK_PATH)download$/$(TARFILE_NAME).tar.gz | tar $(TAR_EXCLUDE_SWITCH) -xvf - ) > $(NULLDEV)
+ @+echo $(assign UNPACKCMD := sh -c "gunzip -c $(BACK_PATH)download$/$(TARFILE_NAME).tar.gz | tar $(TAR_EXCLUDE_SWITCH) -xvf -" ) > $(NULLDEV)
@+$(COPY) $(mktmp $(UNPACKCMD)) $@
$(MISC)$/%.unpack : $(PRJ)$/download$/%.tar
@@ -145,7 +145,11 @@
.IF "$(GUI)"=="WNT"
+cd $(PACKAGE_DIR) && $(TYPE) $(BACK_PATH)$(PATCH_FILE_NAME) | tr -d "\015" | patch -b -p2 && $(TOUCH) $(PATCH_FLAG_FILE)
.ELSE # "$(GUI)"=="WNT"
+.IF "$(OS)"=="NETBSD"
+ +cd $(PACKAGE_DIR) && $(TYPE) $(BACK_PATH)$(PATCH_FILE_NAME) | patch -p2 && $(TOUCH) $(PATCH_FLAG_FILE)
+.ELSE
+cd $(PACKAGE_DIR) && $(TYPE) $(BACK_PATH)$(PATCH_FILE_NAME) | patch -b -p2 && $(TOUCH) $(PATCH_FLAG_FILE)
+.ENDIF # "$(OS)"=="NETBSD"
.ENDIF # "$(GUI)"=="WNT"
.ENDIF # "$(PATCH_FILE_NAME)"=="none" || "$(PATCH_FILE_NAME)"==""

View file

@ -1,207 +0,0 @@
$NetBSD: patch-bz,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../solenv/inc/unxbsdi.mk.orig Tue Jan 1 14:11:59 2002
+++ ../solenv/inc/unxbsdi.mk
@@ -1,77 +1,131 @@
-# mak file fuer unxbsdi
-ASM=
-AFLAGS=
+# mk file for unxbsdi
+ASM=gcc
+AFLAGS=-x assembler-with-cpp -c $(CDEFS)
+
+SOLAR_JAVA=TRUE
+JAVAFLAGSDEBUG=-g
+
+# filter for supressing verbose messages from linker
+#not needed at the moment
+#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+
+# _PTHREADS is needed for the stl
+CDEFS+=-D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -DX86
+
+# this is a platform with JAVA support
+.IF "$(SOLAR_JAVA)"!=""
+JAVADEF=-DSOLAR_JAVA
+.IF "$(debug)"==""
+JAVA_RUNTIME=-ljava
+.ELSE
+JAVA_RUNTIME=-ljava_g
+.ENDIF
+.ENDIF
-cc=gcc -c
-CC=g++ -c
-CDEFS+=-D_PTHREADS -D_REENTRANT
-CDEFS+=-D_STD_NO_NAMESPACE -D_VOS_NO_NAMESPACE -D_UNO_NO_NAMESPACE
-CDEFS+=-DNO_INET_ON_DEMAND -DX86 -DNEW_SOLAR -DNCIfeature
-CFLAGS+=-w -c $(INCLUDE)
-CFLAGSCC=-pipe -mpentium
+# name of C++ Compiler
+CC=g++
+# name of C Compiler
+cc=gcc
+# flags for C and C++ Compiler
+CFLAGS=-w -c $(INCLUDE) -I$(SOLARENV)/unxbsdi/usr/include
+# flags for the C++ Compiler
+CFLAGSCC= -pipe
+
+# Flags for enabling exception handling
CFLAGSEXCEPTIONS=-fexceptions
+# Flags for disabling exception handling
CFLAGS_NO_EXCEPTIONS=-fno-exceptions
-CFLAGSCXX=-pipe -mpentium -fguiding-decls -frtti
-CFLAGSOBJGUIST=
-CFLAGSOBJCUIST=
-CFLAGSOBJGUIMT=
-CFLAGSOBJCUIMT=
+# -fpermissive should be removed as soon as possible
+CFLAGSCXX= -pipe -fno-for-scope -fpermissive
+
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
+CFLAGSOBJGUIST= -fPIC
+# Compiler flags for compiling static object in single threaded environment with character user interface
+CFLAGSOBJCUIST= -fPIC
+# Compiler flags for compiling static object in multi threaded environment with graphical user interface
+CFLAGSOBJGUIMT= -fPIC
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT= -fPIC
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
CFLAGSSLOGUIMT= -fPIC
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
CFLAGSSLOCUIMT= -fPIC
-CFLAGSPROF= -pg
-CFLAGSDEBUG= -g
+# Compiler flags for profiling
+CFLAGSPROF=
+# Compiler flags for debugging
+CFLAGSDEBUG=-g
CFLAGSDBGUTIL=
-# die zusaetzlichen Optimierungsschalter schalten alle Optimierungen ein, die zwischen -O und -O2 liegen und
-# per Schalter einschaltbar sind. Dennoch gibt es einen Unterschied: einige Files im Writer werden
-# misoptimiert wenn -O2 eingeschaltet ist und waehrend die untenstehenden Schalter funktionieren.
-CFLAGSOPT=-O -fcse-follow-jumps -fcse-skip-blocks -fexpensive-optimizations -fstrength-reduce -fforce-mem -fcaller-saves -fgcse -frerun-cse-after-loop -frerun-loop-opt -fschedule-insns2 -fregmove -foptimize-register-move
-#CFLAGSOPT=-O2
+# Compiler flags for enabling optimazations
+CFLAGSOPT=-O2
+# Compiler flags for disabling optimazations
CFLAGSNOOPT=-O
+# Compiler flags for discibing the output path
CFLAGSOUTOBJ=-o
-STATIC= -Bstatic
-DYNAMIC= -Bdynamic
-
-THREADLIB=
-LINK= gcc
+# switches for dynamic and static linking
+STATIC = -Wl,-Bstatic
+DYNAMIC = -Wl,-Bdynamic
+
+# name of linker
+LINK=gcc
+# default linker flags
LINKFLAGS=
-.IF "$(PRJNAME)"=="osl" || "$(PRJNAME)"=="rtl"
-LINKFLAGSSHLGUI= -shared -nostdlib
-LINKFLAGSSHLCUI= -shared -nostdlib
-.ELSE
-LINKFLAGSSHLGUI= -shared -nostdlib /usr/lib/c++rt0.o
-LINKFLAGSSHLCUI= -shared -nostdlib /usr/lib/c++rt0.o
-.ENDIF
-LINKFLAGSAPPGUI= -L/nw386/dev/s/solenv/unxbsdi/lib -lpthread_init -lpthread
-LINKFLAGSAPPCUI= -L/nw386/dev/s/solenv/unxbsdi/lib -lpthread_init -lpthread
+
+# linker flags for linking applications
+LINKFLAGSAPPGUI= -Wl,-export-dynamic
+LINKFLAGSAPPCUI= -Wl,-export-dynamic
+# linker flags for linking shared libraries
+LINKFLAGSSHLGUI= -Wl,-export-dynamic -shared
+LINKFLAGSSHLCUI= -Wl,-export-dynamic -shared
+
LINKFLAGSTACK=
LINKFLAGSPROF=
-LINKFLAGSDEBUG=
-LINKFLAGSOPT=
+LINKFLAGSDEBUG=-g
+LINKFLAGSOPT=
+
+.IF "$(NO_BSYMBOLIC)"==""
+.IF "$(PRJNAME)" != "envtest"
+LINKFLAGSSHLGUI+=-Wl,-Bsymbolic
+LINKFLAGSSHLCUI+=-Wl,-Bsymbolic
+.ENDIF
+.ENDIF # "$(NO_BSYMBOLIC)"==""
-_SYSLIBS= -lpthread -lgcc -lc -lm
-_X11LIBS= -L/usr/X11R6/lib -lXext -lXt -lX11
+LINKVERSIONMAPFLAG=-Wl,--version-script
-STDLIBCPP= -lstdc++
+SONAME_SWITCH=-Wl,-h
+# Sequence of libs does matter !
+
+STDLIBCPP=-lstdc++
+
+# default objectfilenames to link
STDOBJGUI=
STDSLOGUI=
STDOBJCUI=
STDSLOCUI=
-STDLIBGUIST= ${_X11LIBS} ${_SYSLIBS}
-STDLIBCUIST= ${_SYSLIBS}
-STDLIBGUIMT= ${_X11LIBS} ${_SYSLIBS}
-STDLIBCUIMT= ${_SYSLIBS}
-STDSHLGUIMT=
-STDSHLCUIMT=
-
-LIBMGR= ar
-LIBFLAGS= -r
-LIBEXT= .a
+# libraries for linking applications
+STDLIBCUIST=-lm
+STDLIBGUIMT=-lXaw -lXt -lX11 -lpthread -lm
+STDLIBCUIMT=-lpthread -lm
+STDLIBGUIST=-lXaw -lXt -lX11 -lm
+# libraries for linking shared libraries
+STDSHLGUIMT=-lXaw -lXt -lX11 -lXext -lpthread -lm -lgcc
+STDSHLCUIMT=-lpthread -lm -lgcc
+
+# STLport always needs pthread. This may yield some redundant -lpthread
+# but that doesn't matter.
+LIBSTLPORT=$(DYNAMIC) -lstlport2_gcc -lpthread
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -lpthread
+
+
+# name of library manager
+LIBMGR=ar
+LIBFLAGS=-r
+# tool for generating import libraries
IMPLIB=
IMPLIBFLAGS=
@@ -79,14 +133,13 @@
MAPSYMFLAGS=
RC=irc
-RCFLAGS= -fo$@ $(RCFILES)
+RCFLAGS=-fo$@ $(RCFILES)
RCLINK=
RCLINKFLAGS=
RCSETVERSION=
-DLLPOSTFIX= bi
-DLLPRE= lib
-DLLPOST= .so.1.0
-
-LDUMP=
+# platform specific identifier for shared libs
+DLLPOSTFIX=bi
+DLLPRE=lib
+DLLPOST=.so

View file

@ -1,150 +0,0 @@
$NetBSD: patch-ca,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../solenv/inc/unxbsdppc.mk.orig Sun Jan 6 11:30:53 2002
+++ ../solenv/inc/unxbsdppc.mk
@@ -0,0 +1,145 @@
+
+# mk file for unxbsdppc
+ASM=gcc
+AFLAGS= -x assembler-with-cpp -c $(CDEFS)
+
+SOLAR_JAVA=TRUE
+JAVAFLAGSDEBUG=-g
+
+# filter for supressing verbose messages from linker
+#not needed at the moment
+#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
+
+# _PTHREADS is needed for the stl
+CDEFS+=-D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -DPPC -DPOWERPC
+
+# this is a platform with JAVA support
+.IF "$(SOLAR_JAVA)"!=""
+JAVADEF=-DSOLAR_JAVA
+.IF "$(debug)"==""
+JAVA_RUNTIME=-ljava
+.ELSE
+JAVA_RUNTIME=-ljava_g
+.ENDIF
+.ENDIF
+
+# name of C++ Compiler
+CC=g++
+# name of C Compiler
+cc=gcc
+# flags for C and C++ Compiler
+CFLAGS=-w -c $(INCLUDE) -I$(SOLARENV)/unxbsdppc/usr/include
+# flags for the C++ Compiler
+CFLAGSCC= -pipe
+
+# Flags for enabling exception handling
+CFLAGSEXCEPTIONS=-fexceptions
+# Flags for disabling exception handling
+CFLAGS_NO_EXCEPTIONS=-fno-exceptions
+
+# -fpermissive should be removed as soon as possible
+CFLAGSCXX= -pipe -fno-for-scope -fpermissive
+
+# Compiler flags for compiling static object in single threaded environment with graphical user interface
+CFLAGSOBJGUIST= -fPIC
+# Compiler flags for compiling static object in single threaded environment with character user interface
+CFLAGSOBJCUIST= -fPIC
+# Compiler flags for compiling static object in multi threaded environment with graphical user interface
+CFLAGSOBJGUIMT= -fPIC
+# Compiler flags for compiling static object in multi threaded environment with character user interface
+CFLAGSOBJCUIMT= -fPIC
+# Compiler flags for compiling shared object in multi threaded environment with graphical user interface
+CFLAGSSLOGUIMT= -fPIC
+# Compiler flags for compiling shared object in multi threaded environment with character user interface
+CFLAGSSLOCUIMT= -fPIC
+# Compiler flags for profiling
+CFLAGSPROF=
+# Compiler flags for debugging
+CFLAGSDEBUG=-g
+CFLAGSDBGUTIL=
+# Compiler flags for enabling optimazations
+CFLAGSOPT=-O2
+# Compiler flags for disabling optimazations
+CFLAGSNOOPT=-O
+# Compiler flags for discibing the output path
+CFLAGSOUTOBJ=-o
+
+# switches for dynamic and static linking
+STATIC = -Wl,-Bstatic
+DYNAMIC = -Wl,-Bdynamic
+
+# name of linker
+LINK=gcc
+# default linker flags
+LINKFLAGS=
+
+# linker flags for linking applications
+LINKFLAGSAPPGUI= -Wl,-export-dynamic
+LINKFLAGSAPPCUI= -Wl,-export-dynamic
+# linker flags for linking shared libraries
+LINKFLAGSSHLGUI= -Wl,-export-dynamic -shared
+LINKFLAGSSHLCUI= -Wl,-export-dynamic -shared
+
+LINKFLAGSTACK=
+LINKFLAGSPROF=
+LINKFLAGSDEBUG=-g
+LINKFLAGSOPT=
+
+.IF "$(NO_BSYMBOLIC)"==""
+.IF "$(PRJNAME)" != "envtest"
+LINKFLAGSSHLGUI+=-Wl,-Bsymbolic
+LINKFLAGSSHLCUI+=-Wl,-Bsymbolic
+.ENDIF
+.ENDIF # "$(NO_BSYMBOLIC)"==""
+
+LINKVERSIONMAPFLAG=-Wl,--version-script
+
+SONAME_SWITCH=-Wl,-h
+
+# Sequence of libs does matter !
+
+STDLIBCPP=-lstdc++
+
+# default objectfilenames to link
+STDOBJGUI=
+STDSLOGUI=
+STDOBJCUI=
+STDSLOCUI=
+
+# libraries for linking applications
+STDLIBCUIST=-lm
+STDLIBGUIMT=-lXaw -lXt -lX11 -lpthread -lm
+STDLIBCUIMT=-lpthread -lm
+STDLIBGUIST=-lXaw -lXt -lX11 -lm
+# libraries for linking shared libraries
+STDSHLGUIMT=-lXaw -lXt -lX11 -lXext -lpthread -lm
+STDSHLCUIMT=-lpthread -lm
+
+# STLport always needs pthread. This may yield some redundant -lpthread
+# but that doesn't matter.
+LIBSTLPORT=$(DYNAMIC) -lstlport_gcc -lpthread
+LIBSTLPORTST=$(STATIC) -lstlport_gcc $(DYNAMIC) -lpthread
+
+
+# name of library manager
+LIBMGR=ar
+LIBFLAGS=-r
+
+# tool for generating import libraries
+IMPLIB=
+IMPLIBFLAGS=
+
+MAPSYM=
+MAPSYMFLAGS=
+
+RC=irc
+RCFLAGS=-fo$@ $(RCFILES)
+RCLINK=
+RCLINKFLAGS=
+RCSETVERSION=
+
+# platform specific identifier for shared libs
+DLLPOSTFIX=bp
+DLLPRE=lib
+DLLPOST=.so
+

View file

@ -1,42 +0,0 @@
$NetBSD: patch-cb,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../solenv/inc/unxbsds.mk.orig Tue Jan 1 14:11:59 2002
+++ ../solenv/inc/unxbsds.mk
@@ -73,7 +73,7 @@
#LINKOUTPUT_FILTER=" |& $(SOLARENV)$/bin$/msg_filter"
# _PTHREADS is needed for the stl
-CDEFS+=-D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400 -DOSL_USE_SYS_V_SEMAPHORE
+CDEFS+=-D_PTHREADS -D_REENTRANT -DNEW_SOLAR -D_USE_NAMESPACE=1 -DSTLPORT_VERSION=400
# this is a platform with JAVA support
.IF "$(SOLAR_JAVA)"!=""
@@ -139,8 +139,8 @@
LINKFLAGSAPPGUI= -Wl,-export-dynamic
LINKFLAGSAPPCUI= -Wl,-export-dynamic
# linker flags for linking shared libraries
-LINKFLAGSSHLGUI= -shared
-LINKFLAGSSHLCUI= -shared
+LINKFLAGSSHLGUI= -Wl,-export-dynamic -shared
+LINKFLAGSSHLCUI= -Wl,-export-dynamic -shared
LINKFLAGSTACK=
LINKFLAGSPROF=
@@ -156,6 +156,8 @@
LINKVERSIONMAPFLAG=-Wl,--version-script
+SONAME_SWITCH=-Wl,-h
+
# Sequence of libs does matter !
STDLIBCPP=-lstdc++
@@ -172,7 +174,7 @@
STDLIBCUIMT=-lpthread -lm
STDLIBGUIST=-lXaw -lXt -lX11 -lm
# libraries for linking shared libraries
-STDSHLGUIMT=-lXaw -lXt -lX11 -lXext -lpthread -lm
+STDSHLGUIMT=-lXaw -lXt -lX11 -lXext -lpthread -lm
STDSHLCUIMT=-lpthread -lm
# STLport always needs pthread. This may yield some redundant -lpthread

View file

@ -1,24 +0,0 @@
$NetBSD: patch-cc,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stlport/makefile.mk.orig Tue Jan 1 14:12:01 2002
+++ ../stlport/makefile.mk
@@ -66,11 +66,17 @@
TARGET=so_stlport
.IF "$(STLPORT4)"!="NO_STLPORT4"
-all:
+all: $(INPATH)$/misc$/so_copied
+
+$(INPATH)$/misc$/so_copied:
@echo " An already available installatin of STLport has been chosen in the configure process."
@echo " Therefore the version provided here does not need to be built in addition."
- +$(COPY) $(STLPORT4)$/lib$/*stlport*$(DLLPOST) $(DLLDEST)
+ +$(COPY) $(STLPORT4)$/lib$/*stlport_gcc$(DLLPOST)* $(DLLDEST)
+.IF "$(OS)"=="NETBSD"
+ +$(LINK) $(LINKFLAGSSHLCUI) $(STLPORT4)$/lib$/$(DLLPRE)stlport_gcc$(DLLPOST) -o $(DLLDEST)$/$(DLLPRE)stlport2_gcc$(DLLPOST) -lgcc
+.ENDIF
+ +$(TOUCH) $(INPATH)$/misc$/so_copied
.ENDIF
# --- Settings -----------------------------------------------------

View file

@ -1,13 +0,0 @@
$NetBSD: patch-cd,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stlport/prj/d.lst.orig Mon Sep 24 16:05:55 2001
+++ ../stlport/prj/d.lst
@@ -17,7 +17,7 @@
..\%__SRC%\inc\stlport\using\h\* %_DEST%\inc%_EXT%\stl\using\h\*
..\%__SRC%\inc\stlport\wrap_std\* %_DEST%\inc%_EXT%\stl\wrap_std\*
..\%__SRC%\inc\stlport\wrap_std\h\* %_DEST%\inc%_EXT%\stl\wrap_std\h\*
-..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%\lib*.so
+..\%__SRC%\lib\lib*.so* %_DEST%\lib%_EXT%\lib*.so*
..\%__SRC%\lib\lib*.a %_DEST%\lib%_EXT%\lib*.a
..\%__SRC%\lib\*.lib %_DEST%\lib%_EXT%\*.lib
..\%__SRC%\bin\*.dll %_DEST%\bin%_EXT%\*.dll

View file

@ -1,16 +0,0 @@
$NetBSD: patch-ce,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/corereflection/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/corereflection/makefile.mk
@@ -87,9 +87,9 @@
SHL1TARGET= $(TARGET)
SHL1VERSIONMAP= $(TARGET).map
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1DEPN=
SHL1IMPLIB= i$(TARGET)

View file

@ -1,16 +0,0 @@
$NetBSD: patch-cf,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/defaultregistry/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/defaultregistry/makefile.mk
@@ -84,9 +84,9 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1VERSIONMAP= $(TARGET).map
SHL1DEPN=

View file

@ -1,16 +0,0 @@
$NetBSD: patch-cg,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/implementationregistration/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/implementationregistration/makefile.mk
@@ -85,9 +85,9 @@
SHL1VERSIONMAP=$(TARGET).map
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1DEPN=
SHL1IMPLIB= i$(TARGET)

View file

@ -1,16 +0,0 @@
$NetBSD: patch-ch,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/inspect/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/inspect/makefile.mk
@@ -82,9 +82,9 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1DEPN=
SHL1IMPLIB= i$(TARGET)

View file

@ -1,16 +0,0 @@
$NetBSD: patch-ci,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/invocation/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/invocation/makefile.mk
@@ -82,9 +82,9 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1VERSIONMAP=$(TARGET).map
SHL1DEPN=

View file

@ -1,16 +0,0 @@
$NetBSD: patch-cj,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/invocation_adapterfactory/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/invocation_adapterfactory/makefile.mk
@@ -82,9 +82,9 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1VERSIONMAP= $(TARGET).map

View file

@ -1,17 +0,0 @@
$NetBSD: patch-ck,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/javaloader/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/javaloader/makefile.mk
@@ -83,9 +83,10 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS=\
+ $(SALLIB) \
$(CPPUHELPERLIB) \
- $(CPPULIB) \
- $(SALLIB)
+ $(CPPULIB)
+
SHL1VERSIONMAP=$(TARGET).map
SHL1DEPN=
SHL1IMPLIB= i$(TARGET)

View file

@ -1,17 +0,0 @@
$NetBSD: patch-cl,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/javavm/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/javavm/makefile.mk
@@ -91,10 +91,10 @@
SHL1TARGET= $(TARGET)
SHL1VERSIONMAP=$(TARGET).map
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPUHELPERLIB) \
$(CPPULIB) \
- $(UNOLIB) \
- $(SALLIB)
+ $(UNOLIB)
.IF "$(GUI)"=="WNT"
SHL1STDLIBS += advapi32.lib

View file

@ -1,16 +0,0 @@
$NetBSD: patch-cm,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/loader/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/loader/makefile.mk
@@ -83,9 +83,9 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1VERSIONMAP=$(TARGET).map
SHL1DEPN=

View file

@ -1,16 +0,0 @@
$NetBSD: patch-cn,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/namingservice/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/namingservice/makefile.mk
@@ -82,9 +82,9 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1VERSIONMAP=$(TARGET).map

View file

@ -1,16 +0,0 @@
$NetBSD: patch-co,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/proxy_factory/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/proxy_factory/makefile.mk
@@ -85,9 +85,9 @@
SHL1VERSIONMAP=$(TARGET).map
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1DEPN=
SHL1IMPLIB=i$(TARGET)

View file

@ -1,17 +0,0 @@
$NetBSD: patch-cp,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/registry_tdprovider/makefile.mk.orig Tue Jan 1 14:12:02 2002
+++ ../stoc/source/registry_tdprovider/makefile.mk
@@ -88,10 +88,10 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
$(CPPUHELPERLIB) \
- $(SALHELPERLIB) \
- $(SALLIB)
+ $(SALHELPERLIB)
SHL1DEPN=
SHL1VERSIONMAP=$(TARGET).map

View file

@ -1,16 +0,0 @@
$NetBSD: patch-cq,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/servicemanager/makefile.mk.orig Tue Jan 1 14:12:03 2002
+++ ../stoc/source/servicemanager/makefile.mk
@@ -84,9 +84,9 @@
SHL1VERSIONMAP=$(TARGET).map
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1DEPN=
SHL1IMPLIB= i$(TARGET)

View file

@ -1,17 +0,0 @@
$NetBSD: patch-cr,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/tdmanager/makefile.mk.orig Tue Jan 1 14:12:03 2002
+++ ../stoc/source/tdmanager/makefile.mk
@@ -83,9 +83,10 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
+
SHL1VERSIONMAP=$(TARGET).map
SHL1DEPN=

View file

@ -1,16 +0,0 @@
$NetBSD: patch-cs,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../stoc/source/typeconv/makefile.mk.orig Tue Jan 1 14:12:03 2002
+++ ../stoc/source/typeconv/makefile.mk
@@ -82,9 +82,9 @@
SHL1TARGET= $(TARGET)
SHL1STDLIBS= \
+ $(SALLIB) \
$(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB)
+ $(CPPUHELPERLIB)
SHL1DEPN=
SHL1VERSIONMAP= $(TARGET).map

View file

@ -1,15 +0,0 @@
$NetBSD: patch-ct,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../sw/source/filter/ww8/ww8par.hxx.orig Wed Oct 17 09:35:21 2001
+++ ../sw/source/filter/ww8/ww8par.hxx
@@ -378,7 +378,9 @@
void Restore( SwWW8ImplReader* pRdr );
};
-
+#if defined(NETBSD)
+#undef F_OK
+#endif
enum eF_ResT{ F_OK, F_TEXT, F_TAGIGN, F_TAGTXT, F_READ_FSPA };

View file

@ -1,12 +0,0 @@
$NetBSD: patch-cu,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../sysui/unix/office/scripts/soffice.sh.orig Wed Sep 19 11:24:33 2001
+++ ../sysui/unix/office/scripts/soffice.sh
@@ -81,6 +81,7 @@
sd_platform=`uname -s`
case $sd_platform in
SCO_SV) test=/bin/test ;;
+ NetBSD) test=/bin/test ;;
FreeBSD) test=/bin/test ;;
*) test=/usr/bin/test ;;
esac

View file

@ -1,25 +0,0 @@
$NetBSD: patch-cv,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../tools/bootstrp/makefile.mk.orig Tue Jan 1 14:12:19 2002
+++ ../tools/bootstrp/makefile.mk
@@ -83,6 +83,15 @@
@echo No bootstrp for Mac OS
.ELSE # "$(OS)"=="MACOS"
+.IF "$(OS)"=="NETBSD"
+ALLTAR2: $(LB)$/libgcc_pic.a $(LB)$/libgcc.a ALLTAR
+ @echo ""
+$(LB)$/libgcc_pic.a:
+ -objcopy -L set_new_handler__FPFv_v /usr/lib/libgcc_pic.a $(LB)$/libgcc_pic.a
+$(LB)$/libgcc.a:
+ objcopy -L set_new_handler__FPFv_v `gcc -print-libgcc-file-name` $(LB)$/libgcc.a
+.ENDIF
+
OBJFILES= \
$(OBJ)$/sstring.obj \
$(OBJ)$/appdef.obj \
@@ -172,3 +181,4 @@
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+

View file

@ -1,14 +0,0 @@
$NetBSD: patch-cw,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../tools/inc/solar.h.orig Fri Oct 12 15:11:03 2001
+++ ../tools/inc/solar.h
@@ -443,6 +443,9 @@
#elif defined NETBSD && defined SPARC
#define __DLLEXTENSION "bs.so"
#define SYSTEM_ID SYSTEM_UNXBSDS
+#elif defined NETBSD && defined POWERPC
+ #define __DLLEXTENSION "bp.so"
+ #define SYSTEM_ID SYSTEM_UNXBSDP
#elif defined LINUX && defined X86
#define __DLLEXTENSION "li.so"
#define SYSTEM_ID SYSTEM_UNXLNXI

View file

@ -1,75 +0,0 @@
$NetBSD: patch-cx,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../tools/source/string/charset.cxx.orig Thu May 10 13:35:20 2001
+++ ../tools/source/string/charset.cxx
@@ -64,7 +64,7 @@
#elif defined( OS2 )
#define INCL_DOSNLS
#include <svpm.h>
-#elif defined(LINUX) || defined(SOLARIS)
+#elif defined(LINUX) || defined(SOLARIS) || defined(NETBSD)
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
@@ -126,7 +126,7 @@
// -----------------------------------------------------------------------
-#if defined(NETBSD) || defined(SCO)
+#if defined(SCO)
// check if there is a charset qualifier at the end of the given locale string
// e.g. de.ISO8859-15 or de.ISO8859-15@euro which strongly indicates what
@@ -323,7 +323,7 @@
return RTL_TEXTENCODING_DONTKNOW;
}
-#elif defined(LINUX) || defined(SOLARIS)
+#elif defined(LINUX) || defined(SOLARIS) || defined(NETBSD)
typedef struct {
const char *key;
@@ -363,7 +363,7 @@
/* XXX MS-874 is an extension to tis620, so this is not
* really equivalent */
-#elif defined(LINUX)
+#elif defined(LINUX) || defined(NETBSD)
const _pair _nl_language_list[] = {
{ "ANSI_X3.110-1983", RTL_TEXTENCODING_DONTKNOW },/* ISO-IR-99 NAPLPS */
@@ -541,7 +541,7 @@
};
-#endif /* LINUX, SOLARIS */
+#endif /* LINUX, SOLARIS, NETBSD */
static int
_pair_compare (const char *key, const _pair *pair)
@@ -601,7 +601,11 @@
/* get the charset as indicated by the LC_CTYPE locale */
char *ctype_locale = setlocale( LC_CTYPE, "" );
+#if defined(NETBSD) && !defined(CODESET)
+ char *codeset = NULL;
+#else
char *codeset = nl_langinfo( CODESET );
+#endif
if ( codeset != NULL )
{
@@ -707,11 +711,11 @@
#ifdef UNX
CharSet nTextEncoding;
-#if defined(NETBSD) || defined(SCO)
+#if defined(SCO)
nTextEncoding = GetSystemCharSetFromEnvironment();
if (nTextEncoding == RTL_TEXTENCODING_DONTKNOW)
nTextEncoding = GetSystemCharSetFromSystemLanguage();
-#elif defined(LINUX) || defined(SOLARIS)
+#elif defined(LINUX) || defined(SOLARIS) || defined(NETBSD)
nTextEncoding = GetSystemCharsetFromNLLanginfo();
#elif defined(MACOSX)
nTextEncoding = RTL_TEXTENCODING_DONTKNOW;

View file

@ -1,13 +0,0 @@
$NetBSD: patch-cy,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../unzip/source/file_io.c.orig Wed May 2 01:11:49 2001
+++ ../unzip/source/file_io.c
@@ -864,7 +864,7 @@
#ifndef __386BSD__
static struct timeb tbp;
#endif /* !__386BSD__ */
-#else /* !BSD */
+#elif !defined(NETBSD) /* !BSD */
extern long timezone;
#endif /* ?BSD */
#endif /* ?AMIGA */

View file

@ -1,13 +0,0 @@
$NetBSD: patch-cz,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../unzip/source/misc.c.orig Wed May 2 01:13:26 2001
+++ ../unzip/source/misc.c
@@ -300,7 +300,7 @@
static short yday[]={0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334};
int yr, mo, dy, hh, mm, ss, leap;
long m_time, days=0;
-#if (!defined(MACOS) && !defined(MSC) && !defined(__GO32__))
+#if (!defined(MACOS) && !defined(MSC) && !defined(__GO32__) && !defined(NETBSD))
#if (defined(BSD) || defined(MTS))
#ifndef __386BSD__
static struct timeb tbp;

View file

@ -1,13 +0,0 @@
$NetBSD: patch-da,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../vcl/unx/source/gdi/salprn.cxx.orig Fri Jul 13 17:39:42 2001
+++ ../vcl/unx/source/gdi/salprn.cxx
@@ -1259,7 +1259,7 @@
if( getPrinterPort( pJobSetup->maPrinterName ).EqualsIgnoreCaseAscii( "fax_queue" ) )
{
char tmpNam[ L_tmpnam ];
-#if defined(FREEBSD) || defined(IRIX)
+#if defined(FREEBSD) || defined(IRIX) || defined(NETBSD)
mkstemp( tmpNam );
#else
tmpnam_r( tmpNam );

View file

@ -1,13 +0,0 @@
$NetBSD: patch-db,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../vcl/unx/source/gdi/salprnpsp.cxx.orig Wed Oct 17 13:22:31 2001
+++ ../vcl/unx/source/gdi/salprnpsp.cxx
@@ -805,7 +805,7 @@
static inline String getTmpName()
{
char tmpNam[ L_tmpnam ];
-#if defined( FREEBSD ) || defined (IRIX)
+#if defined( FREEBSD ) || defined (IRIX) || defined(NETBSD)
mkstemp ( tmpNam );
#else
tmpnam_r( tmpNam );

View file

@ -1,30 +0,0 @@
$NetBSD: patch-dc,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../vcl/util/makefile.mk.orig Tue Jan 1 14:12:31 2002
+++ ../vcl/util/makefile.mk
@@ -190,12 +190,6 @@
$(SLB)$/salapp.lib
.ENDIF # "$(remote)" != ""
-.IF "$(GUI)" == "UNX"
-.IF "$(USE_XPRINT)" != "TRUE"
- SHL1STDLIBS=-lpsp$(VERSION)$(DLLPOSTFIX)
-.ENDIF
-.ENDIF
-
.IF "$(USE_BUILTIN_RASTERIZER)"!=""
LIB1FILES += $(SLB)$/glyphs.lib
SHL1STDLIBS+= $(FREETYPELIBST)
@@ -214,6 +208,12 @@
$(UNOTOOLSLIB) \
$(COMPHELPERLIB) \
$(GPC3RDLIB)
+
+.IF "$(GUI)" == "UNX"
+.IF "$(USE_XPRINT)" != "TRUE"
+ SHL1STDLIBS+=-lpsp$(VERSION)$(DLLPOSTFIX)
+.ENDIF
+.ENDIF
.IF "$(remote)" != ""
SHL1STDLIBS+= $(UNOLIB)

View file

@ -1,12 +0,0 @@
$NetBSD: patch-dd,v 1.1.1.1 2002/02/13 18:09:22 mrauch Exp $
--- ../xmlhelp/source/com/sun/star/help/helpserver.sh.orig Thu Jul 12 08:20:41 2001
+++ ../xmlhelp/source/com/sun/star/help/helpserver.sh
@@ -124,6 +124,7 @@
sd_platform=`uname -s`
case $sd_platform in
SCO_SV) test=/bin/test ;;
+ NetBSD) test=/bin/test ;;
*) test=/usr/bin/test ;;
esac
sd_cwd="`pwd`"

View file

@ -1,106 +0,0 @@
$NetBSD: patch-de,v 1.2 2002/02/14 22:51:42 mrauch Exp $
--- set_soenv.1.orig Tue Nov 20 17:26:33 2001
+++ set_soenv.1 Thu Feb 14 23:13:12 2002
@@ -35,0 +36 @@
+$| = 1; # Don't cache.
@@ -283 +284,11 @@
-{ print "Setting NetBSD Sparc specific values... ";
+{
+if ( $machine_type eq "i386" )
+{ print "Setting NetBSD i386 specific values... ";
+ $outfile = "NetBSDIntelEnv.Set";
+ $CPU = "I";
+ $CPUNAME = "INTEL";
+ $DLLSUFFIX = "bi";
+ $OUTPATH = "unxbsdi";
+}
+elsif ( $machine_type eq "sparc" )
+{ print "Setting NetBSD sparc specific values... ";
@@ -284,0 +296,18 @@
+ $CPU = "S";
+ $CPUNAME = "SPARC";
+ $DLLSUFFIX = "bs";
+ $OUTPATH = "unxbsds";
+}
+elsif ( $machine_type eq "powerpc" )
+{ print "Setting NetBSD powerpc specific values... ";
+ $outfile = "NetBSDPPCEnv.Set";
+ $CPU = "P";
+ $CPUNAME = "POWERPC";
+ $DLLSUFFIX = "bp";
+ $OUTPATH = "unxbsdppc";
+}
+else
+{
+ print "This NetBSD architecture ($machine_type) is currently not supported.\n";
+ exit(1);
+}
@@ -288,2 +316,0 @@
- $CPU = "S";
- $CPUNAME = "SPARC";
@@ -291 +317,0 @@
- $DLLSUFFIX = "bs";
@@ -296 +321,0 @@
- $OUTPATH = "unxbsds";
@@ -591 +616 @@
- my $answer = <STDIN>;
+ exit(1);
@@ -816 +840,0 @@
- $ps.$USR_LOCAL.$LIB.
@@ -817,0 +842 @@
+ $ps.'$SOLARVER'.$ds.'$UPD'.$ds.'$INPATH'.$LIB.
@@ -819 +844 @@
- $ps.'$SOLARVER'.$ds.'$UPD'.$ds.'$INPATH'.$LIB;
+ $ps.$USR_LOCAL.$LIB;
@@ -961,0 +987 @@
+ $ps.$ENV{PREFIX}.
@@ -968,2 +994,3 @@
- $ps.$USR.$BIN.$ds."X11".
- $ps.$USR.$LIB;
+ $ps.$USR.$ds."X11R6".$BIN.
+ $ps.$USR.$LIB.
+ $ps.$ENV{PATH};
@@ -1057,0 +1085,18 @@
+if ($platform eq "${NetBSD}")
+{ my $libgcc=`$COMPATH/gcc -print-libgcc-file-name | xargs dirname`;
+ chomp($libgcc);
+ $SOLARLIB = '"'.$L.$par_dir.$LIB.
+ $L.'$SOLARENV'.$ds.'$OUTPATH'.$LIB.
+ $L.'$SOLARVER'.$ds.'$UPD'.$ds.'$INPATH'.$LIB.
+ $L.'$SOLARENV'.$ds.'$OUTPATH'.$LIB.
+ $L.'$JAVA_HOME'.$LIB.
+ $L_STLPORT_LIB.
+ $L.$XLIB.
+ $L.$USR_LOCAL.$LIB.
+ $L.$libgcc.
+ $L.$USR_LIB.
+ $L.$LIB.
+ " ".$ENV{'BUILDLINK_LDFLAGS'}.
+ " ".$ENV{'CCFLAGS'}.'"';
+}
+
@@ -1065,0 +1111,5 @@
+if ($platform eq "${NetBSD}")
+{
+$SOLARINC .= " ".$ENV{'BUILDLINK_CPPFLAGS'}." ";
+}
+
@@ -1068,3 +1118,2 @@
-$SOLARINC .= $I.$USR.$INCLUDE.
- $STLPORT_stlport;
-if ($platform eq "$Linux")
+$SOLARINC .= $STLPORT_stlport;
+if (($platform eq "$Linux") or ($platform eq "${NetBSD}"))
@@ -1104,0 +1154,2 @@
+ $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."linux";
+ $SOLARINC .=$I.'$JAVA_HOME'.$INCLUDE.$ds."solaris";
@@ -1418 +1469 @@
- $answer = <STDIN>;
+ exit(1);
@@ -1514 +1565 @@
- $value = <STDIN>;
+ exit(1);
@@ -1555 +1606 @@
- my $answer = <STDIN>;
+ exit(1);

View file

@ -1,116 +0,0 @@
$NetBSD: patch-df,v 1.1.1.1 2002/02/13 18:09:25 mrauch Exp $
--- ../readlicense/source/license/unx/license.html.orig Tue Jan 8 22:25:38 2002
+++ ../readlicense/source/license/unx/license.html Tue Jan 8 22:25:16 2002
@@ -0,0 +1,111 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+<HEAD>
+ <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
+ <TITLE></TITLE>
+ <META NAME="GENERATOR" CONTENT="StarOffice 6.0 (Win32)">
+ <META NAME="AUTHOR" CONTENT="Frank Loehmann">
+ <META NAME="CREATED" CONTENT="20011115;17153310">
+ <META NAME="CHANGEDBY" CONTENT="Frank Loehmann">
+ <META NAME="CHANGED" CONTENT="20011115;17215774">
+</HEAD>
+<BODY LANG="de-DE">
+<H1>(Temporary license text file)</H1>
+<P>You may only copy and distribute this program consistent with the
+requirements and distribute this Program consistent with the
+requirements of either the GNU General Public License (GPL) and GNU
+Lesser General Public License (LGPL) or the Sun Industry Standards
+Source License (SISSL), respectively, depending on whether you
+elected to obtain access to this program via the GPL/LGPL Option or
+the SISSL Option. Copies of the GPL, LGPL and SISSL licenses can be
+found http://www.openoffice.org/project/www/license.html</P>
+<H2>The program uses Berkely DB software:</H2>
+<P>Copyright (c) 1990-1999</P>
+<P>Sleepycat Software. All rights reserved.</P>
+<P>Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:</P>
+<P>1. Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.</P>
+<P>2. Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with
+the distribution.</P>
+<P>3. Redistributions in any form must be accompanied by information
+on how to obtain complete source code for the DB software and any
+accompanying software that uses the DB software. The source code
+must either be included in the distribution or be available for no
+more than the cost of distribution plus a nominal fee, and must be
+freely redistributable under reasonable conditions. For an
+executable file, complete source code means the source code for all
+modules it contains. It does not include source code for modules or
+files that typically accompany the major components of the operating
+system on which the executable file runs.</P>
+<P>THIS SOFTWARE IS PROVIDED BY SLEEPYCAT SOFTWARE ``AS IS'' AND ANY
+EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO EVENT SHALL
+SLEEPYCAT SOFTWARE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</P>
+<P>Copyright (c) 1990, 1993, 1994, 1995</P>
+<P>The Regents of the University of California. All rights reserved.</P>
+<P>Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+</P>
+<P>1. Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.</P>
+<P>2. Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with
+the distribution.</P>
+<P>3. Neither the name of the University nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.</P>
+<P>THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS
+IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS
+OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</P>
+<P>Copyright (c) 1995, 1996</P>
+<P>The President and Fellows of Harvard University. All rights
+reserved. Redistribution and use in source and binary forms, with or
+without modification, are permitted provided that the following
+conditions are met:
+</P>
+<P>1. Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+</P>
+<P>2. Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following
+disclaimer in the documentation and/or other materials provided with
+the distribution.</P>
+<P>3. Neither the name of the University nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.</P>
+<P>THIS SOFTWARE IS PROVIDED BY HARVARD AND ITS CONTRIBUTORS ``AS
+IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL HARVARD OR
+ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</P>
+<HR>
+<P>Copyright 2001 OpenOffice.org. All rights reserved.</P>
+</BODY>
+</HTML>

View file

@ -1,33 +0,0 @@
$NetBSD: patch-dg,v 1.2 2002/03/29 21:00:10 mrauch Exp $
--- ../idlc/source/makefile.mk.orig Fri Mar 29 11:54:39 2002
+++ ../idlc/source/makefile.mk
@@ -72,9 +72,7 @@
# --- Settings -----------------------------------------------------
-.INCLUDE : svpre.mk
.INCLUDE : settings.mk
-.INCLUDE : sv.mk
# --- Files --------------------------------------------------------
@@ -102,6 +100,9 @@
astunion.cxx \
astexpression.cxx
+ YACCTARGET=$(MISC)$/parser.cxx
+ YACCFILES=parser.yy
+
OBJFILES= \
$(OBJ)$/scanner.obj \
$(OBJ)$/parser.obj \
@@ -146,8 +147,3 @@
$(MISC)$/scanner.cxx: $(MISC)$/stripped_scanner.ll
+flex -o$(MISC)$/scanner.cxx $(MISC)$/stripped_scanner.ll
-$(MISC)$/parser.cxx: parser.yy
- +bison -v -d -o$(MISC)$/parser.cxx parser.yy
- +$(COPY) $(MISC)$/parser.cxx.h $(OUT)$/inc$/parser.h
-# with line statements (for debugging)
-# +bison -v -d -o$(MISC)$/parser.cxx parser.yy

View file

@ -1,35 +0,0 @@
$NetBSD: patch-dh,v 1.2 2002/03/29 21:00:11 mrauch Exp $
--- ../connectivity/source/parse/makefile.mk.orig Fri Aug 10 13:09:05 2001
+++ ../connectivity/source/parse/makefile.mk
@@ -67,12 +67,14 @@
# --- Settings -----------------------------------------------------
-.INCLUDE : svpre.mk
.INCLUDE : settings.mk
-.INCLUDE : sv.mk
# --- Files --------------------------------------------------------
+YACCTARGET= $(MISC)$/sqlbison.cxx
+YACCFILES= sqlbison.y
+YACCFLAGS=-v -d -l -pSQLyy -bsql -o
+
SLOFILES = \
$(SLO)$/sqlNoException.obj \
$(SLO)$/sqlbison.obj \
@@ -94,13 +96,3 @@
$(MISC)$/sqlflex.cxx: sqlflex.l
+flex -i -8 -PSQLyy -L -o$(MISC)$/sqlflex.cxx sqlflex.l
-$(MISC)$/sqlbison.cxx: sqlbison.y
- +bison -v -d -pSQLyy -l -bsql -o$(MISC)$/sqlbison.cxx sqlbison.y
- -$(MKDIR) $(OUT)$/inc$/connectivity
- +$(COPY) $(MISC)$/sqlbison.cxx.h $(OUT)$/inc$/connectivity$/sqlbison.hxx
-
-$(SLO)$/sqlbison.obj : $(MISC)$/sqlbison.cxx
-
-$(SLO)$/sqlflex.obj : $(MISC)$/sqlflex.cxx
-
-sqliterator.cxx: $(MISC)$/sqlbison.cxx

View file

@ -1,22 +0,0 @@
$NetBSD: patch-di,v 1.3 2002/03/29 21:00:11 mrauch Exp $
--- ../solenv/inc/tg_yxx.mk.orig Wed Sep 20 14:43:18 2000
+++ ../solenv/inc/tg_yxx.mk
@@ -3,12 +3,10 @@
$(YACCTARGET): $(YACCFILES)
@echo ------------------------------
@echo Making: $@
-#.IF "$(GUI)"!="UNX"
- $(BISON) $(YACCFLAGS) $(YACCOUT)$/$(YACCTARGET) $(YACCFILES)
-#.ELSE
-# $(BISON) $(YACCFLAGS) $(YACCFILES)
-# mv y.tab.c $(INCCOM)/rscyacc.yxx
-# mv y.tab.h $(INCCOM)/yytab.h
-#.ENDIF
+ $(BISON) $(YACCFLAGS) $(YACCTARGET) $(YACCFILES)
+# removing -f switch - avoid getting nothing when copying a file to itself
+ @+-$(COPY:s/-f//) $@.h $(INCCOM)$/$(@:b).hxx >& $(NULLDEV)
+ @+-$(COPY:s/-f//) $(@:d)$/$(@:b).hxx $(INCCOM)$/$(@:b).hxx >& $(NULLDEV)
+ +$(TYPE) $(INCCOM)$/$(@:b).hxx >& $(NULLDEV)
.ENDIF

View file

@ -1,26 +0,0 @@
$NetBSD: patch-dj,v 1.1 2002/02/26 21:25:28 mrauch Exp $
--- ../solenv/inc/tg_shl.mk.orig Fri Sep 28 17:11:33 2001
+++ ../solenv/inc/tg_shl.mk
@@ -188,9 +188,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL$(TNR)VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL$(TNR)VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL$(TNR)VERSIONMAP): \
$(SHL$(TNR)OBJS)\
@@ -223,7 +225,9 @@
USE_SHL$(TNR)VERSIONMAP=$(MISC)$/$(SHL$(TNR)VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL$(TNR)VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL$(TNR)VERSIONMAP)
+.ENDIF
.ENDIF
.ENDIF

View file

@ -1,242 +0,0 @@
$NetBSD: patch-dk,v 1.1 2002/02/26 21:25:28 mrauch Exp $
--- ../solenv/inc/_tg_shl.mk.orig Fri Sep 28 17:11:33 2001
+++ ../solenv/inc/_tg_shl.mk
@@ -88,9 +88,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL1VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL1VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL1VERSIONMAP): \
$(SHL1OBJS)\
@@ -123,9 +125,11 @@
USE_SHL1VERSIONMAP=$(MISC)$/$(SHL1VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL1VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL1VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL1VERSIONMAP): $(SHL1VERSIONMAP)
@+-$(RM) -f $@ >& $(NULLDEV)
@@ -519,9 +523,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL2VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL2VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL2VERSIONMAP): \
$(SHL2OBJS)\
@@ -554,9 +560,11 @@
USE_SHL2VERSIONMAP=$(MISC)$/$(SHL2VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL2VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL2VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL2VERSIONMAP): $(SHL2VERSIONMAP)
@+-$(RM) -f $@ >& $(NULLDEV)
@@ -950,9 +958,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL3VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL3VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL3VERSIONMAP): \
$(SHL3OBJS)\
@@ -985,9 +995,11 @@
USE_SHL3VERSIONMAP=$(MISC)$/$(SHL3VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL3VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL3VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL3VERSIONMAP): $(SHL3VERSIONMAP)
@+-$(RM) -f $@ >& $(NULLDEV)
@@ -1381,9 +1393,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL4VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL4VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL4VERSIONMAP): \
$(SHL4OBJS)\
@@ -1416,9 +1430,11 @@
USE_SHL4VERSIONMAP=$(MISC)$/$(SHL4VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL4VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL4VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL4VERSIONMAP): $(SHL4VERSIONMAP)
@+-$(RM) -f $@ >& $(NULLDEV)
@@ -1812,9 +1828,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL5VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL5VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL5VERSIONMAP): \
$(SHL5OBJS)\
@@ -1847,9 +1865,11 @@
USE_SHL5VERSIONMAP=$(MISC)$/$(SHL5VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL5VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL5VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL5VERSIONMAP): $(SHL5VERSIONMAP)
@+-$(RM) -f $@ >& $(NULLDEV)
@@ -2243,9 +2263,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL6VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL6VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL6VERSIONMAP): \
$(SHL6OBJS)\
@@ -2278,9 +2300,11 @@
USE_SHL6VERSIONMAP=$(MISC)$/$(SHL6VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL6VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL6VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL6VERSIONMAP): $(SHL6VERSIONMAP)
@+-$(RM) -f $@ >& $(NULLDEV)
@@ -2674,9 +2698,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL7VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL7VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL7VERSIONMAP): \
$(SHL7OBJS)\
@@ -2709,9 +2735,11 @@
USE_SHL7VERSIONMAP=$(MISC)$/$(SHL7VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL7VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL7VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL7VERSIONMAP): $(SHL7VERSIONMAP)
@+-$(RM) -f $@ >& $(NULLDEV)
@@ -3105,9 +3133,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL8VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL8VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL8VERSIONMAP): \
$(SHL8OBJS)\
@@ -3140,9 +3170,11 @@
USE_SHL8VERSIONMAP=$(MISC)$/$(SHL8VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL8VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL8VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL8VERSIONMAP): $(SHL8VERSIONMAP)
@+-$(RM) -f $@ >& $(NULLDEV)
@@ -3536,9 +3568,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL9VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL9VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL9VERSIONMAP): \
$(SHL9OBJS)\
@@ -3571,9 +3605,11 @@
USE_SHL9VERSIONMAP=$(MISC)$/$(SHL9VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL9VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL9VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL9VERSIONMAP): $(SHL9VERSIONMAP)
@+-$(RM) -f $@ >& $(NULLDEV)
@@ -3967,9 +4003,11 @@
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL10VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL10VERSIONMAP)
.ENDIF
.ENDIF
+.ENDIF
$(USE_SHL10VERSIONMAP): \
$(SHL10OBJS)\
@@ -4002,7 +4040,9 @@
USE_SHL10VERSIONMAP=$(MISC)$/$(SHL10VERSIONMAP:f)
.IF "$(OS)"!="MACOSX"
.IF "$(OS)"!="IRIX"
+.IF "$(OS)"!="NETBSD"
SHL10VERSIONMAPPARA=$(LINKVERSIONMAPFLAG) $(USE_SHL10VERSIONMAP)
+.ENDIF
.ENDIF
.ENDIF

View file

@ -1,13 +0,0 @@
$NetBSD: patch-dl,v 1.1 2002/02/26 21:25:28 mrauch Exp $
--- ../xmloff/source/meta/makefile.mk.orig Tue Jul 24 17:06:08 2001
+++ ../xmloff/source/meta/makefile.mk
@@ -92,7 +92,7 @@
$(INCCOM)$/rscrev.hxx: makefile.mk
.IF "$(GUI)"=="UNX"
- echo #define RSCUPDVER \""$(RSCREVISION)"\" > $@
+ echo '#define RSCUPDVER "$(RSCREVISION)"' > $@
.ELSE
echo #define RSCUPDVER "$(RSCREVISION)" > $@
.ENDIF

View file

@ -1,13 +0,0 @@
$NetBSD: patch-dm,v 1.1 2002/03/01 09:52:46 mrauch Exp $
--- ../starmath/source/makefile.mk.orig Wed May 16 11:55:01 2001
+++ ../starmath/source/makefile.mk
@@ -162,7 +162,7 @@
.ELSE
.IF "$(GUI)"=="UNX"
$(RM) $@
- echo #define DLL_NAME \"libsm$(UPD)$(DLLPOSTFIX)$(DLLPOST)\" >$@
+ echo '#define DLL_NAME "libsm$(UPD)$(DLLPOSTFIX)$(DLLPOST)"' >$@
.ELSE
echo #define DLL_NAME "sm$(UPD)$(DLLPOSTFIX)$(DLLPOST)" >$@
.ENDIF

View file

@ -1,13 +0,0 @@
$NetBSD: patch-dn,v 1.1 2002/03/01 09:52:46 mrauch Exp $
--- ../sd/source/ui/app/makefile.mk.orig Tue Sep 4 14:38:20 2001
+++ ../sd/source/ui/app/makefile.mk
@@ -138,7 +138,7 @@
echo "$(HASHMARK)define DLL_NAME ¶"sd$(UPD)$(DLLPOSTFIX).dll¶"" > $@
.ELSE
.IF "$(GUI)"=="UNX"
- echo #define DLL_NAME \"libsd$(UPD)$(DLLPOSTFIX)$(DLLPOST)\" >$@
+ echo '#define DLL_NAME "libsd$(UPD)$(DLLPOSTFIX)$(DLLPOST)"' >$@
.ELSE
echo #define DLL_NAME "sd$(UPD)$(DLLPOSTFIX).DLL" >$@
.ENDIF

View file

@ -1,13 +0,0 @@
$NetBSD: patch-do,v 1.1 2002/03/01 09:52:47 mrauch Exp $
--- ../sch/source/ui/app/makefile.mk.orig Thu Jun 7 16:53:57 2001
+++ ../sch/source/ui/app/makefile.mk
@@ -120,7 +120,7 @@
.ELSE
.IF "$(GUI)"=="UNX"
$(RM) $@
- echo #define DLL_NAME \"libsch$(UPD)$(DLLPOSTFIX)$(DLLPOST)\" >$@
+ echo '#define DLL_NAME "libsch$(UPD)$(DLLPOSTFIX)$(DLLPOST)"' >$@
.ELSE
echo #define DLL_NAME "sch$(UPD)$(DLLPOSTFIX)$(DLLPOST)" >$@
.ENDIF

View file

@ -1,13 +0,0 @@
$NetBSD: patch-dp,v 1.1 2002/03/01 09:52:47 mrauch Exp $
--- ../sip/source/ui/app/makefile.mk.orig Tue Feb 6 14:28:40 2001
+++ ../sip/source/ui/app/makefile.mk
@@ -105,7 +105,7 @@
$(INCCOM)$/rscrev.hxx: makefile.mk
.IF "$(GUI)"=="UNX"
- echo #define RSCUPDVER \""$(RSCREVISION)"\" > $@
+ echo '#define RSCUPDVER "$(RSCREVISION)"' > $@
.ELSE
echo #define RSCUPDVER "$(RSCREVISION)" > $@
.ENDIF

Some files were not shown because too many files have changed in this diff Show more