[ https://issues.apache.org/jira/browse/XALANC-401?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Bertoni closed XALANC-401. -------------------------------- Resolution: Won't Fix Assignee: (was: Xalan Developers Mailing List) The patches are too old, and we have no way to maintain a BeOS port. > patches required to build Xalan-C++ on BeOS R5 > ---------------------------------------------- > > Key: XALANC-401 > URL: https://issues.apache.org/jira/browse/XALANC-401 > Project: XalanC > Issue Type: Bug > Components: XalanC > Affects Versions: 1.7 > Environment: Operating System: BeOS > Platform: PC > Reporter: Jérôme Duval > Attachments: AttributeListImpl.cpp, AttributesImpl.cpp, > BeOSDefinitions.hpp, configure, configure.in, DirectoryEnumerator.hpp, > Makefile.incl.in, patch.txt, PlatformDefinitions.hpp, runConfigure, > STLHelper.hpp > > > I have created a preliminary set of patches that enable version 1.7.0 to build > on beos. I have run some of the tests and some succeed. > The BeOS threading model is significantly different from pthreads, so the > threading used is none. > -------------------- begin patch file --------------------------- > diff -ru xml-xalan/c/Makefile.incl.in > xalan-c-bin1_7_0_beos/xml-xalan/c/Makefile.incl.in > --- xml-xalan/c/Makefile.incl.in Thu Jan 8 22:04:52 2004 > +++ xalan-c-bin1_7_0_beos/xml-xalan/c/Makefile.incl.in Thu Feb 19 > 20:10:29 > 2004 > @@ -471,9 +471,28 @@ > > endif > > +#=============== BeOS SPECIFIC OPTIONS ========================= > + > +ifeq ($(PLATFORM), BEOS) > + > + SUPPORTED = TRUE > + ALLLIBS = ${LIBS} -lbe -L${HOME}/config/lib -L/boot/beos/system/lib > + SHLIBSUFFIX=.so > + PLATFORM_COMPILE_OPTIONS = -fpic -instances=static -D${PLATFORM} > -D_REENTRANT > + EXTRA_LINK_OPTIONS= -lstdc++.r4 > + CC1 = $(CXX) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) > + CC4 = $(CC) $(CXXFLAGS) $(PLATFORM_COMPILE_OPTIONS) > + MAKE_SHARED = ${CC} -nostart -Xlinker -soname=$(SO_NAME) > + LINK = g++ -D${PLATFORM} -fpic > + > + export LD_LIBRARY_PATH := $(XERCESCROOT)/lib:$(ICUROOT)/lib: > $(LD_LIBRARY_PATH) > + MAKE_SHARED_LOC= ${CC} -nostart -Xlinker -soname=$(LOC_SONAME) > + > +endif > + > ifndef SUPPORTED > nogood: > - @echo Linux, Solaris, AIX, Compaq Tru64, OS/390, MacOSX, and HP-UX > are the > only platforms supported. > + @echo Linux, Solaris, AIX, Compaq Tru64, OS/390, MacOSX, HP-UX and > BeOS > are the only platforms supported. > endif > > > diff -ru xml-xalan/c/configure xalan-c-bin1_7_0_beos/xml-xalan/c/configure > --- xml-xalan/c/configure Mon Dec 29 01:26:53 2003 > +++ xalan-c-bin1_7_0_beos/xml-xalan/c/configure Mon Feb 16 22:11:17 2004 > @@ -2690,6 +2690,7 @@ > *-apple-darwin*) platform=MACOSX ;; > *-*-os400*) platform=OS400 ;; > *-*-OS400*) platform=OS400 ;; > + *-*-beos*) platform=BEOS ;; > *) platform=UNKNOWN ;; > esac > > diff -ru xml-xalan/c/configure.in > xalan-c-bin1_7_0_beos/xml-xalan/c/configure.in > --- xml-xalan/c/configure.in Mon Dec 29 01:26:53 2003 > +++ xalan-c-bin1_7_0_beos/xml-xalan/c/configure.in Sun Mar 14 23:32:42 2004 > @@ -59,6 +59,7 @@ > *-apple-darwin*) platform=MACOSX ;; > *-*-os400*) platform=OS400 ;; > *-*-OS400*) platform=OS400 ;; > + *-*-beos*) platform=BEOS ;; > *) platform=UNKNOWN ;; > esac > > diff -ru xml-xalan/c/runConfigure > xalan-c-bin1_7_0_beos/xml-xalan/c/runConfigure > --- xml-xalan/c/runConfigure Tue Jan 6 03:41:25 2004 > +++ xalan-c-bin1_7_0_beos/xml-xalan/c/runConfigure Mon Feb 16 21:46:54 2004 > @@ -301,7 +301,7 @@ > # > > case $platform in > - aix | linux | freebsd | netbsd | solaris | hp-10 | hp-11 | irix | tru64 | > macosx | os400) > + aix | linux | freebsd | netbsd | solaris | hp-10 | hp-11 | irix | tru64 | > macosx | os400 | beos) > # platform has been recognized > ;; > *) > @@ -477,6 +477,8 @@ > threadingLibs="-lcma" > threadingDefines="-DXML_USE_DCE" > elif test $platform = "os400"; then > + threadingLibs="" > +elif test $platform = "beos"; then > threadingLibs="" > fi > > Only in xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/Include: BeOSDefinitions. > hpp > diff -ru xml-xalan/c/src/xalanc/Include/PlatformDefinitions.hpp > xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/Include/PlatformDefinitions.hpp > --- xml-xalan/c/src/xalanc/Include/PlatformDefinitions.hpp Tue Jan 6 > 03:41: > 28 2004 > +++ xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/Include/PlatformDefinitions. > hpp Sun Mar 14 20:27:39 2004 > @@ -59,6 +59,8 @@ > > #if defined(_MSC_VER) > #include "VCPPDefinitions.hpp" > +#elif defined(__BEOS__) > +#include "BeOSDefinitions.hpp" > #elif defined(__GNUC__) > #include "GCCDefinitions.hpp" > #elif defined(_AIX) > diff -ru xml-xalan/c/src/xalanc/Include/STLHelper.hpp > xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/Include/STLHelper.hpp > --- xml-xalan/c/src/xalanc/Include/STLHelper.hpp Tue Jan 6 03:41:28 2004 > +++ xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/Include/STLHelper.hpp > Sun > Mar 14 20:25:25 2004 > @@ -362,7 +362,7 @@ > }; > > > - > +#ifndef __BEOS__ > template<class CollectionType, class DeleteFunctorType> > class CollectionDeleteGuard > { > @@ -405,7 +405,7 @@ > // Data members... > CollectionType* m_collection; > }; > - > +#endif > > > template<class T> > diff -ru xml-xalan/c/src/xalanc/PlatformSupport/AttributeListImpl.cpp > xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/PlatformSupport/AttributeListImpl. > cpp > --- xml-xalan/c/src/xalanc/PlatformSupport/AttributeListImpl.cpp Tue Jan > 6 > 03:41:28 2004 > +++ > xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/PlatformSupport/AttributeListImpl. > cpp Sun Mar 14 20:24:32 2004 > @@ -152,11 +152,11 @@ > { > // Reserve the appropriate capacity right now... > tempVector.reserve(theLength); > - > +#ifndef __BEOS__ > // This will delete everything in tempVector when we're > done... > CollectionDeleteGuard<AttributeVectorType, > > DeleteFunctor<AttributeVectorEntry> > > theGuard(tempVector); > - > +#endif > typedef AttributeVectorType::const_iterator > const_iterator; > > const const_iterator theEnd = > theRHS.m_AttributeVector.end(); > @@ -179,6 +179,11 @@ > // OK, we're safe, so swap the contents of the > // containers. This is guaranteed not to throw. > m_AttributeVector.swap(tempVector); > +#ifdef __BEOS__ > + for_each(tempVector.begin(), > + tempVector.end(), > + DeleteFunctor<AttributeVectorEntry>()); > +#endif > } > > assert(getLength() == theLength); > diff -ru xml-xalan/c/src/xalanc/PlatformSupport/AttributesImpl.cpp > xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/PlatformSupport/AttributesImpl.cpp > --- xml-xalan/c/src/xalanc/PlatformSupport/AttributesImpl.cpp Tue Jan 6 03: > 41:28 2004 > +++ > xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/PlatformSupport/AttributesImpl. > cpp Sun Mar 14 20:24:03 2004 > @@ -152,11 +152,11 @@ > { > // Reserve the appropriate capacity right now... > tempVector.reserve(theLength); > - > +#ifndef __BEOS__ > // This will delete everything in tempVector when we're > done... > CollectionDeleteGuard<AttributesVectorType, > > DeleteFunctor<AttributeVectorEntryExtended> > > theGuard(tempVector); > - > +#endif > typedef AttributesVectorType::const_iterator > const_iterator; > > const const_iterator theEnd = > theRHS.m_attributesVector.end(); > @@ -181,6 +181,11 @@ > // OK, we're safe, so swap the contents of the > // containers. This is guaranteed not to throw. > m_attributesVector.swap(tempVector); > +#ifdef __BEOS__ > + for_each(tempVector.begin(), > + tempVector.end(), > + DeleteFunctor<AttributeVectorEntry>()); > +#endif > } > > assert(getLength() == theLength); > diff -ru xml-xalan/c/src/xalanc/PlatformSupport/DirectoryEnumerator.hpp > xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/PlatformSupport/DirectoryEnumerator. > hpp > --- xml-xalan/c/src/xalanc/PlatformSupport/DirectoryEnumerator.hpp Tue Jan > > 6 03:41:28 2004 > +++ > xalan-c-bin1_7_0_beos/xml-xalan/c/src/xalanc/PlatformSupport/DirectoryEnumerator. > hpp Sun Mar 14 20:37:02 2004 > @@ -178,7 +178,7 @@ > */ > bool isDirectory() const > { > -#if defined(AIX) || defined(HPUX) || defined(SOLARIS) || defined(OS390) || > defined(OS400) || defined(TRU64) > +#if defined(AIX) || defined(BEOS) || defined(HPUX) || defined(SOLARIS) || > defined(OS390) || defined(OS400) || defined(TRU64) > return false; > #else > if (d_type == DT_DIR || d_type == DT_UNKNOWN) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]