xmlreaderimpl/stx_goodies_xmlsuite_xmlreaderimpl.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 25 Jan 2016 16:35:43 +0000
changeset 298 9696f76605bd
parent 296 ea3dbc023c80
child 300 b6d834208d33
permissions -rw-r--r--
Added C:\MINGW\MSYS\1.0\bin to PATH when building expat. Some systems have it installed there (such as SWING Jenkins servers)

"{ Package: 'stx:goodies/xmlsuite/xmlreaderimpl' }"

LibraryDefinition subclass:#stx_goodies_xmlsuite_xmlreaderimpl
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'* Projects & Packages *'
!


!stx_goodies_xmlsuite_xmlreaderimpl class methodsFor:'description'!

mandatoryPreRequisites
    "list all required mandatory packages.
     Packages are mandatory, if they contain superclasses of the package's classes
     or classes which are extended by this package.
     This list can be maintained manually or (better) generated and
     updated by scanning the superclass hierarchies
     (the browser has a menu function for that)
     However, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPreRequisites method."

    ^ #(
        #'stx:goodies/xmlsuite/core'    "XMLv2::XMLReader - superclass of XMLv2::ExpatXMLReader "
        #'stx:libbasic'    "Autoload - superclass of XMLv2::VWSAXBuilder "
    )
!

postLoadAction
	"
    | packageDir expatXMLReaderLib |
    packageDir := Smalltalk getPackageDirectoryForPackage: self package. 

    expatXMLReaderLib := ((packageDir construct: 'precompiled') construct: Smalltalk versionString) construct:
                                    ('XMLv2__ExpatXMLReader' , 
                                    ObjectFileLoader sharedLibraryExtension). 
    expatXMLReaderLib exists ifFalse:
        [expatXMLReaderLib := ((packageDir construct: 'precompiled') construct: 'common') construct:
                                        ('XMLv2__ExpatXMLReader' , 
                                        ObjectFileLoader sharedLibraryExtension)].
    expatXMLReaderLib exists ifTrue:
        [Transcript showCR:'Loading precompiled ExpatXMLReader class from: ' , expatXMLReaderLib nameString.
        ObjectFileLoader loadObjectFile: expatXMLReaderLib nameString].
	"
	
    "
        self postLoadAction   
    "

    "Modified: / 25-03-2009 / 13:46:27 / Martin Plicka <plickm1@fel.cvut.cz>"

!

preLoadAction
	"
	ObjectFileLoader searchedLibraries:
	        (ObjectFileLoader searchedLibraries asOrderedCollection
			add: '/usr/lib/libexpat.so';
			yourself) asArray
	"
!

preRequisites
    "list all required packages.
     This list can be maintained manually or (better) generated and
     updated by scanning the superclass hierarchies and looking for
     global variable accesses. (the browser has a menu function for that)
     Howevery, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPrerequisites method."

    ^ #(
        #'stx:goodies/xml/vw'    "XML::XMLParser - superclass of XMLv2::VWXMLReader::XMLParser "
        #'stx:goodies/xmlsuite/core'    "XMLv2::XMLReader - superclass of XMLv2::ExpatXMLReader "
        #'stx:libbasic'    "Object - superclass of XMLv2::VWXMLReader "
        #'stx:libcomp'
    )
!

referencedPreRequisites
    "list all packages containing classes referenced by the packages's members.
     This list can be maintained manually or (better) generated and
     updated by looking for global variable accesses
     (the browser has a menu function for that)
     However, often too much is found, and you may want to explicitely
     exclude individual packages in the #excludedFromPreRequisites method."

    ^ #(
    )
! !

!stx_goodies_xmlsuite_xmlreaderimpl class methodsFor:'description - compilation'!

additionalLinkLibraries_bc_dot_mak
    "allows for additional static libraries to be added to the bc.mak file.
     Subclasses may redefine this"

    "backward compatibilty with old projects"

    ^'"support/expat-2.0.1/bcb5/release/libexpats_mtd.lib"'

    "Created: / 09-01-2010 / 14:01:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

additionalLinkLibraries_make_dot_proto
    "allows for additional static libraries to be added to the make.proto file."

    ^ 'support/expat-2.0.1/build/lib/libexpat.a'

    "Created: / 22-08-2006 / 23:53:33 / cg"
!

additionalRules_bc_dot_mak
    "obsolete - kept for compatibility with old project files"
    
    ^ '
support/expat-2.0.1/bcb5/release/libexpats_mtd.lib:
        cd support/expat-2.0.1/bcb5
        $(MAKE)
        cd ..\..\..
'

    "Created: / 09-01-2010 / 14:03:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
    "Modified: / 22-04-2013 / 16:38:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

additionalRules_make_dot_proto
    "allows for additional rules to be added to the make.proto file."

    ^ '
support/expat-2.0.1/build/lib/libexpat.a:
        mkdir support/expat-2.0.1/build && cd support/expat-2.0.1/build && CFLAGS=-m32 ../configure --prefix=$$PWD
        $(MAKE) -C support/expat-2.0.1/build
        $(MAKE) -C support/expat-2.0.1/build install
'

    "Created: / 22-08-2006 / 23:59:16 / cg"
    "Modified: / 22-04-2013 / 16:38:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

additionalTargets_bc_dot_mak
    "obsolete - kept for compatibility with old project files"
    
    ^ 'support/expat-2.0.1/bcb5/release/libexpats_mtd.lib'

    "Created: / 09-01-2010 / 14:02:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

additionalTargets_make_dot_proto
    "allows for additional targets to be added to the make.proto file."

    ^ 'support/expat-2.0.1/build/lib/libexpat.a'

    "Created: / 22-08-2006 / 23:53:33 / cg"
!

localIncludes
    "allow for the specification of additional include directories"

    ^ '-Isupport/expat-2.0.1/lib'

    "Created: / 09-01-2010 / 14:03:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!stx_goodies_xmlsuite_xmlreaderimpl class methodsFor:'description - contents'!

classNamesAndAttributes
    "lists the classes which are to be included in the project.
     Each entry in the list may be: a single class-name (symbol),
     or an array-literal consisting of class name and attributes.
     Attributes are: #autoload or #<os> where os is one of win32, unix,..."

    ^ #(
        "<className> or (<className> attributes...) in load order"
        #'XMLv2::ExpatXMLReader'
        (#'XMLv2::VWSAXBuilder' autoload)
        (#'XMLv2::VWXMLReader' autoload)
        #'stx_goodies_xmlsuite_xmlreaderimpl'
    )
!

extensionMethodNames
    "lists the extension methods which are to be included in the project.
     Entries are 2-element array literals, consisting of class-name and selector."

    ^ #(
    )
! !

!stx_goodies_xmlsuite_xmlreaderimpl class methodsFor:'description - project information'!

companyName
    "Return a companyname which will appear in <lib>.rc"

    ^ 'eXept Software AG'
!

description
    "Return a description string which will appear in vc.def / bc.def"

    ^ 'Smalltalk/X Class library'
!

legalCopyright
    "Return a copyright string which will appear in <lib>.rc"

    ^ 'Copyright Claus Gittinger 1988-2008\nCopyright eXept Software AG 1998-2008'
!

productName
    "Return a product name which will appear in <lib>.rc"

    ^ 'Smalltalk/X'
! !

!stx_goodies_xmlsuite_xmlreaderimpl class methodsFor:'description - svn'!

svnRepositoryUrlString
    "Return a SVN repository URL of myself.
     (Generated since 2011-04-08)
     Do not make the string shorter!!!!!! We have to use fixed-length keyword!!!!!!
    "        

    ^ '$URL::                                                                                                                        $'
!

svnRevisionNr
    "Return a SVN revision number of myself.
     This number is updated after a commit"

    ^ "$SVN-Revision:"'266             '"$"
! !

!stx_goodies_xmlsuite_xmlreaderimpl class methodsFor:'documentation'!

version
    ^'$Id$'
!

version_SVN
    ^ '$Id$'
! !