stx_libbasic2.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Sat, 26 Apr 2014 13:15:05 +0200
changeset 3260 1a4448362d72
parent 3244 21a943fefb39
child 3266 f25320a4b6e8
permissions -rw-r--r--
Added TSMultiTree, a variant of TSTree that allows for multiple values to be stored under the same key.

"
 COPYRIGHT (c) 2006 by eXept Software AG
	      All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
"{ Package: 'stx:libbasic2' }"

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

!stx_libbasic2 class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 2006 by eXept Software AG
	      All Rights Reserved

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.
"
!

documentation
"
    Build- and package information for creation of the st/x standard library: stx_libbasic2
    This library contains additional basic (nonGUI) classes.
"
! !

!stx_libbasic2 class methodsFor:'description'!

excludedFromPreRequisites
    ^ #(
        #'exept:libcrypt'    "Rc4Cipher - referenced by RandomGenerator class>>new "
        #'stx:goodies/communication'    "FTPClient - referenced by FtpURI>>writeStreamDo:create:atomic: "
        #'stx:libtool'    "FileBrowser - referenced by Archiver::ArchiverOutputParser>>parseLine:forItemClass: "
        #'stx:libview2'    "MIMETypes - referenced by Archiver::ArchiverOutputParser>>parseLine:forItemClass: "
        #'stx:libwidg'    "DialogBox - referenced by Archiver::CompressedFile>>compressFile:to: "
        #'stx:libhtml'    "HTMLParser - referenced by HTMLUtilities class>>plainTextOfHTML: "
    )
!

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:libbasic'    "AbstractNumberVector - superclass of IntegerArray "
    )
!

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."

    ^ #(
    )
!

subProjects
    "list packages which are known as subprojects.
     The generated makefile will enter those and make there as well.
     However: they are not forced to be loaded when a package is loaded;
     for those, redefine requiredPrerequisites"

    ^ #(
    )
! !

!stx_libbasic2 class methodsFor:'description - compilation'!

additionalBaseAddressDefinition_bc_dot_mak
    "this is an optional definition, which (if present) may speed up the dll-loading a little
     on win32 systems."

    ^ '
# see stdHeader_bc for LIBBASIC2_BASE
LIB_BASE=$(LIBBASIC2_BASE)
'
!

additionalLinkLibraries_bc_dot_mak
"/    ^ '$(ZLIB) $(BZ2LIB)'
    ^ '$(ZLIB_DIR)\$(ZLIB) ws2_32.lib'
!

additionalLinkLibraries_make_dot_proto
    ^ '$(ZLIB_LD_ARG) $(BZ2LIB_LD_ARG)'
!

additionalRules_bc_dot_mak
    ^ '
$(ZLIB):
	cd $(ZLIB_DIR)
	$(MAKE) $(MAKE_ZLIB_ARG) $(ZLIB)
	cd ..\..\libbasic2

$(BZ2LIB):
	cd $(BZ2LIB_DIR)
	$(MAKE) $(MAKE_BZ2LIB_ARG) bz2.lib
	cd ..\..\libbasic2
'
!

additionalRules_make_dot_proto
    ^ '
zlib:
	cd $(ZLIB_DIR); $(MAKE) $(MAKE_ZLIB_ARG)

bz2lib:
	cd $(BZ2LIB_DIR); $(MAKE) $(MAKE_BZ2LIB_ARG) libbz2.a
'
!

additionalTargets_bc_dot_mak
"/    ^ '$(BZ2LIB) $(ZLIB)'      bz2lib doesn't work for now
    ^ '$(ZLIB)'
!

additionalTargets_make_dot_proto
    ^ 'bz2lib zlib'

    "Created: / 05-09-2006 / 16:05:12 / cg"
!

localIncludes
    ^ '-I$(ZLIB_DIR)'

    "Created: / 06-09-2006 / 18:18:15 / cg"
!

stcOptimizationOptions
    ^ '+optinline +optinline2 +inlinenew'

    "Modified: / 21-02-2011 / 14:13:24 / cg"
! !

!stx_libbasic2 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"
        ActorStream
        Archiver
        BTree
        BackgroundJob
        BaseNCoder
        Bezier
        BinaryTree
        BinaryTreeNode
        BitArray
        BoltLock
        CRC32Stream
        CacheDictionary
        CachedValue
        CharacterSet
        Circle
        CollectingReadStream
        CompressionStream
        Curve
        DirectoryContents
        EllipticalArc
        ExternalLong
        FileSorter
        FilteringStream
        FourByteString
        Future
        HTMLUtilities
        HalfFloatArray
        Heap
        IdentityBag
        IncrementNotification
        InterestConverterWithParameters
        Iterator
        JISEncodedString
        Lazy
        LazyArray
        LineSegment
        List
        MappedCollection
        Monitor
        MultiReadStream
        NameLookupError
        OperationQueue
        PhoneticStringUtilities
        Polygon
        PrinterStream
        PrintfScanf
        Promise
        Queue
        Random
        RandomTT800
        ReindexedCollection
        RunArray
        SegmentedOrderedCollection
        SelectingReadStream
        SequenceWithSentinel
        SerialPort
        SharedCollection
        Singleton
        SmallBag
        Socket
        SocketAddress
        SocketAddressInfo
        SoundStream
        Spline
        (SplittingWriteStream autoload)
        Stack
        StringPattern
        StringUtilities
        TSTree
        TSTreeNode
        TerminalSession
        Text
        TextStream
        TreeSet
        URI
        UUID
        UnboxedIntegerArray
        UndoSupport
        UnitConverter
        VirtualArray
        ZipArchiveConstants
        #'stx_libbasic2'
        AATree
        AATreeNode
        Arrow
        ArrowedSpline
        BackgroundPeriodicalJob
        BackgroundQueueProcessingJob
        Base32Coder
        Base64Coder
        Bezier2Segment
        BooleanArray
        CacheDictionaryWithFactory
        FilteringLineStream
        HierarchicalURI
        HostAddressLookupError
        HostNameLookupError
        IPSocketAddress
        IntegerArray
        LineNumberReadStream
        LongIntegerArray
        PostscriptPrinterStream
        RandomGenerator
        SharedQueue
        SignedIntegerArray
        SignedLongIntegerArray
        SignedWordArray
        TSMultiTree
        TSMultiTreeNode
        TimedPromise
        UDSocketAddress
        Unicode32String
        WordArray
        ZipArchive
        ZipStream
        FileURI
        FtpURI
        HttpURI
        IPv6SocketAddress
        SftpURI
        (PluggableDictionary autoload)
        (PluggableSet autoload)
        (AppletalkSocketAddress autoload)
        (BIG5EncodedString autoload)
        (BZip2Stream unix autoload)
        (CollectingSharedQueueStream autoload)
        (CompressionStreamTest autoload)
        (Cons autoload)
        (ConsStream autoload)
        (DecNetSocketAddress autoload)
        (EpsonFX1PrinterStream autoload)
        (FileText autoload)
        (GBEncodedString autoload)
        (HPLjetIIPrinterStream autoload)
        (HandlerCollection autoload)
        (InternalPipeStream autoload)
        (KSCEncodedString autoload)
        (KeywordInContextIndexBuilder autoload)
        (LazyCons autoload)
        (LazyValue autoload)
        (MessageChannel autoload)
        (NumberSet autoload)
        (PowerSet autoload)
        (RandomParkMiller autoload)
        (SequenceableCollectionSorter autoload)
        (UnixPTYStream autoload)
        (ValueLink autoload)
        (WinAPIFunction autoload)
        (AVLTree autoload)
        (Trie autoload)
        (SortedSet autoload)
        (ActiveObject autoload)
        (LoggingStream autoload)
    )
!

extensionMethodNames
    "lists the extension methods which are to be included in the project.
     Entries are pairwise elements, consisting of class-name and selector."

    ^ #(
        CharacterArray asKoelnerPhoneticCode
        CharacterArray asSoundexCode
        CharacterArray printf:
        CharacterArray printf:on:
        CharacterArray printfWith:
        CharacterArray printfWith:with:
        CharacterArray printfWith:with:with:
        CharacterArray printfWith:with:with:with:
        CharacterArray #'printf_formatArgCount'
        CharacterArray #'printf_printArgFrom:to:withData:'
        CharacterArray #'printf_printOn:withData:'
        CharacterArray scanf:
        CharacterArray #'scanf_scanArgFrom:to:format:'
        CharacterArray sscanf:
        Float absDecimalPrintOn:digits:
        Float absPrintOn:digits:
        Float absScientificPrintOn:digits:
        Object addInterest:
        Object expressInterestIn:for:sendBack:
        Object interests
        Object interestsFor:
        Object onChangeEvaluate:
        Object onChangeSend:to:
        Object removeInterest:
        Object retractInterestIn:for:
        Object retractInterests
        Object retractInterestsFor:
        Object retractInterestsForWhich:
        Object retractInterestsIn:
        Object when:send:to:
        Stream collecting:
        Stream selecting:
        Object removeActionsForEvent:
        Object removeActionsWithReceiver:
        Object removeAllActionsWithReceiver:
        Object trigger:
        Object trigger:with:
        Object triggerEvent:
        Object triggerEvent:with:
        Object triggerEvent:withArguments:
        Object when:send:to:with:
        Object when:sendTo:
        Timestamp #'-'
    )
! !

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

applicationIconFileName
    "Return the name (without suffix) of an icon-file (the app's icon); will be included in the rc-resource file"

    ^ nil
    "/ ^ self applicationName
!

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

    ^ 'eXept Software AG'
!

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

    ^ 'Smalltalk/X Additional Basic Classes'

    "Modified: / 14-09-2006 / 10:57:15 / cg"
!

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

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

    "Modified: / 18-07-2012 / 19:11:22 / cg"
!

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

    ^ 'Smalltalk/X'
! !

!stx_libbasic2 class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libbasic2/stx_libbasic2.st,v 1.105 2014-04-26 11:15:05 vrany Exp $'
!

version_CVS
    ^ '$Header: /cvs/stx/stx/libbasic2/stx_libbasic2.st,v 1.105 2014-04-26 11:15:05 vrany Exp $'
! !