stx_libbasic2.st
author Merge Script
Wed, 06 Jan 2016 07:08:04 +0100
branchjv
changeset 3681 0d419f5bb05c
parent 3638 d60fd0a6fbb9
parent 3680 bedc3a4e5c1a
child 3703 f8b242e15ffe
permissions -rw-r--r--
Merge

"
 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' }"

"{ NameSpace: Smalltalk }"

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
"
    Package documentation:

    This library contains additional basic (nonGUI) classes.

    These are less fundamental as in libbasic and not required by most applications.
    Beside additional container classes, this includes URL support, Zip support,
    PTY, serial line, sockets and IP addresses, and other less frequently needed things.

    Most real world applications will include this, but it is possible to create 
    small standAlone apps which do not need it.
"
! !

!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)
'
!

additionalDefinitions_bc_dot_mak
    "allows for additional definitions/rules to be added to the bc.mak file.
     Subclasses may redefine this."

    ^'
!!ifdef USEBC
WINSOCK_LIB=ws2_32.lib
!!else
WINSOCK_LIB=
!!endif
'

    "Created: / 12-05-2015 / 19:01:29 / jv"
!

additionalLinkLibraries_bc_dot_mak
"/    ^ '$(ZLIB) $(BZ2LIB)'
    ^ '$(ZLIB_DIR)\$(ZLIB) $(WINSOCK_LIB)'

    "Modified: / 12-05-2015 / 19:00:25 / jv"
!

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

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

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

    "Modified: / 12-05-2015 / 18:53:34 / jv"
!

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

stcWarningOptions
    ^ '-warnNonStandard -warnUnused'
! !

!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"
        AbstractBackgroundJob
        ActorStream
        Archiver
        AutoResizingOrderedCollection
        BTree
        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
        (RandomKISS autoload)
        (RandomMT19937 autoload)
        (RandomParkMiller autoload)
        RandomTT800
        ReindexedCollection
        RunArray
        SegmentedOrderedCollection
        SelectingReadStream
        SequenceWithSentinel
        SerialPort
        SharedCollection
        Singleton
        SmallBag
        Socket
        SocketAddress
        SocketAddressInfo
        SortedSet
        SoundStream
        Spline
        SplittingWriteStream
        Stack
        StringPattern
        StringUtilities
        TSTree
        TSTreeNode
        TerminalSession
        Text
        (TextClassifier autoload)
        TextStream
        TreeSet
        URI
        UUID
        UnboxedIntegerArray
        UndoSupport
        UnitConverter
        VirtualArray
        ZipArchiveConstants
        #'stx_libbasic2'
        AATree
        AATreeNode
        Arrow
        ArrowedSpline
        BackgroundJob
        BackgroundPeriodicalJob
        BackgroundQueueProcessingJob
        Base32Coder
        Base64Coder
        (BayesClassifier autoload)
        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
        (MacPlistBinaryDecoder autoload)
        (PriorityQueue autoload)
        (AVLTree autoload)
        (ActiveObject autoload)
        (BIG5EncodedString autoload)
        (CollectingSharedQueueStream autoload)
        (CompressionStreamTest autoload)
        (Cons autoload)
        (ConsStream autoload)
        (FileText autoload)
        (GBEncodedString autoload)
        (HandlerCollection autoload)
        (InternalPipeStream autoload)
        (KSCEncodedString autoload)
        (KeywordInContextIndexBuilder autoload)
        (LazyValue autoload)
        (LoggingStream autoload)
        (MessageChannel autoload)
        (NumberSet autoload)
        (PluggableDictionary autoload)
        (PluggableSet autoload)
        (PowerSet autoload)
        (RandomBlumBlumShub autoload)
        (RandomKISS2 autoload)
        (RandomRDRand autoload)
        (SequenceableCollectionSorter autoload)
        (Trie autoload)
        (UnixPTYStream autoload)
        (ValueLink autoload)
        (WinAPIFunction autoload)
        (AppletalkSocketAddress autoload)
        (BZip2Stream autoload)
        (DecNetSocketAddress autoload)
        (EpsonFX1PrinterStream autoload)
        (HPLjetIIPrinterStream autoload)
        (LazyCons 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:
    )
! !

!stx_libbasic2 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 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 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$'
!

version_CVS
    ^ '$Header$'
!

version_HG
    ^ '$Changeset: <not expanded> $'
! !