[ 
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]

Reply via email to