stx_libview2.st
author Claus Gittinger <cg@exept.de>
Wed, 18 Jul 2012 19:13:00 +0200
changeset 3010 3d75dd48f9c6
parent 2998 079e7fde8bc2
child 3031 e5621b8959a6
permissions -rw-r--r--
changed: #legalcopyright

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

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

!stx_libview2 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-Information for creation of the st/x standard library: stx_libview2.
    This library contains additional graphics-interfacing components and infrastructure.
"
!

extensionsVersion_CVS
    ^ '$Header: /cvs/stx/stx/libview2/stx_libview2.st,v 1.50 2012-07-18 17:13:00 cg Exp $'
!

extensionsVersion_SVN
    ^ 'Id:'
! !

!stx_libview2 class methodsFor:'description'!

excludedFromPreRequisites
    "list all packages which should be ignored in the automatic
     preRequisites scan. See #preRequisites for more."

    ^ #(
        #'stx:goodies/webServer'    "HTTPServer - referenced by ApplicationModel class>>startAsWebService:onPort: "
        #'stx:libcompat'    "TextAttributes - referenced by WindowBuilder>>resolveFont: "
        #'stx:libhtml'    "HTMLDocumentView - referenced by ApplicationModel>>openDocumentationFile: "
        #'stx:libtool'    "AboutBox - referenced by ToolApplicationModel class>>openAboutSTX "
        #'stx:libtool2'    "ResourceSelectionBrowser - referenced by ResourceSpecEditor>>doLoad "
        #'stx:libui'    "UISpecification - referenced by UIBuilder>>buildWindowFromSpec: "
        #'stx:libwidg'    "Button - referenced by WindowBuilder>>resolveFont: "
        #'stx:libwidg2'    "MenuPanel - referenced by Menu>>showCenteredIn: "
    )
!

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:libbasic'    "Object - superclass of PrinterContext "
        #'stx:libbasic2'    "List - referenced by WindowBuilder>>listAspectFor: "
        #'stx:libview'    "SimpleView - superclass of ApplicationWindow "
    )
! !

!stx_libview2 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 LIBVIEW2_BASE
LIB_BASE=$(LIBVIEW2_BASE)
'
!

additionalDefinitions_bc_dot_mak
    ^ '
LIBJPEG_DIR=$(TOP)\support\libjpeg-6a

!!ifdef USEBC
LIBJPEG=$(LIBJPEG_DIR)\objbc\libjpeg.lib
!!else
!! ifdef USEVC
LIBJPEG=$(LIBJPEG_DIR)\objvc\libjpeg.lib
!! else
!! endif
!!endif
CLOCAL_INCL=-I"$(LIBJPEG_DIR)"
'

    "Created: / 22-08-2006 / 23:58:05 / cg"
!

additionalDefinitions_make_dot_proto
    ^ '
NT_ADDITIONAL_DEFS::
        @-echo "LIBJPEG_DIR=$$(TOP)\\support\\libjpeg-6a"
        @-echo "LIBJPEG=$$(LIBJPEG_DIR)\libjpeg.lib"
        @-echo "CLOCAL_INCL=-I$$(LIBJPEG_DIR)"
        @-echo "LOCALLIBS=$$(LIBJPEG)"

NT_ADDITIONAL_RULES::
        @-echo "ALL:: $$(LIBJPEG)"
        @-echo
        @-echo "$$(LIBJPEG):
        @-echo "#cd $$(LIBJPEG_DIR)" | tr "#" "\\011"
        @-echo "#make.exe -f makefile.bcc32" | tr "#" "\\011"
        @-echo "#cd $$(TOP)\libview2" | tr ''#'' "\\011"
'

    "Created: / 22-08-2006 / 23:50:57 / cg"
!

additionalLinkLibraries_bc_dot_mak
    ^ '$(LIBJPEG)'
!

additionalRules_bc_dot_mak
    ^ '
$(LIBJPEG):
        cd $(LIBJPEG_DIR)
        $(MAKE_BAT)
        cd ..\..\libview2

$(OUTDIR)JPEGReader.$(O):: $(LIBJPEG_DIR)\jconfig.h

$(LIBJPEG_DIR)\jconfig.h: $(LIBJPEG)
'

    "Created: / 22-08-2006 / 23:58:29 / cg"
!

additionalRules_make_dot_proto
    ^ '
#
# prelink JPEGReader.o with libjpeg
#
JPEGReader: $(LIBJPEG)
        @$(MAKE) JPEGReader.$(O) \
                CC="$(LIBJPEG_CC)" \
                OPT="$(LIBJPEG_OPT)" \
                LOCALDEFS="-I$(LIBJPEG_DIR)" \
                LIBNAME="$(LIBNAME)" \
                STCOPT="$(STCOPT)" \
                STCLOCALOPT="$(STCLOCALOPT)" \
                CCLOCALOPT="$(CCLOCALOPT)" \
                LINKOBJRULE="$(LINKOBJRULE)"
        @if [ "$(NO_PRELINK_LIBJPEG)" = "" ]; then \
            echo; \
            echo "prelinking JPEGReader with libjpeg ..."; \
            echo; \
            echo ld $(LD_REL_FLAG) -o JPEGReader.$(O) __JPEGReader.$(O) $(LIBJPEG); \
            mv JPEGReader.$(O) __JPEGReader.$(O) && \
            ld $(LD_REL_FLAG) -o JPEGReader.$(O) __JPEGReader.$(O) $(LIBJPEG) && \
            rm -f __JPEGReader.$(O); \
            echo; \
        fi

$(LIBJPEG): $(LIBJPEG_DIR)/.libs/libjpeg.a
        cp $(LIBJPEG_DIR)/.libs/libjpeg.a $(LIBJPEG)

$(LIBJPEG_DIR)/.libs/libjpeg.a: $(LIBJPEG_DIR)/Makefile $(LIBJPEG_DIR)/*.c $(LIBJPEG_DIR)/*.h
        @-echo
        @-echo "making libjpeg support library ..."
        @-echo
        cd $(LIBJPEG_DIR) \
            && $(MAKE) all CC="$(LIBJPEG_CC)" OPT="$(LIBJPEG_OPT)" CFLAGS="$(LIBJPEG_OPT) $(CCCONFOPT)" 
        @-echo

$(LIBJPEG_DIR)/Makefile:
        @-echo
        @-echo "configure libjpeg support library ..."
        @-echo
        cd $(LIBJPEG_DIR) && ./configure
'

    "Created: / 22-08-2006 / 23:58:51 / cg"
!

additionalTargets_bc_dot_mak
    "additional targets to be added to the nt.mak file."

    ^ '$(LIBJPEG)'

    "Created: / 23-08-2006 / 00:01:19 / cg"
!

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

    ^ 'JPEGReader'

    "Created: / 22-08-2006 / 23:54:37 / cg"
!

stcOptimizationOptions
    ^ '+optspace2 -warnNonStandard'

    "Created: / 23-08-2006 / 11:27:11 / cg"
! !

!stx_libview2 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"
        (AVIReader autoload)
        ActiveHelpView
        (ApplicationController autoload)
        ApplicationSubView
        ApplicationWindow
        (BlitImageReader autoload)
        (BorderedWrapper autoload)
        (BoundedWrapper autoload)
        ColorValue
        (CompositePart autoload)
        (CompositeTransform autoload)
        (ConvertedValue autoload)
        (DependentPart autoload)
        DisplayObject
        (DisplayTransform autoload)
        DragAndDropManager
        DragHandler
        DrawAdaptor
        DropContext
        DropObject
        DropSource
        DropTarget
        EventListener
        ExternalTopView
        (FLIReader autoload)
        (FaceReader autoload)
        (FillingWrapper autoload)
        GIFReader
        (GeometricWrapper autoload)
        (HersheyFont autoload)
        Icon
        ImageFrame
        ImageSequence
        InputView
        (Insets autoload)
        (IrisRGBReader autoload)
        JPEGReader
        KeyboardProcessor
        Layout
        (LayoutWrapper autoload)
        MIMETypeIconLibrary
        MIMETypes
        (MatrixTransform2x3 autoload)
        Model
        Menu
        MenuItem
        MultiImage
        (PBMReader autoload)
        (PCXReader autoload)
        (PICTReader autoload)
        PNGReader
        (PluggableView autoload)
        PopUpBanner
        PrintConverter
        PrinterContext
        PropertyListDictionary
        (RIFFReader autoload)
        ResourceRetriever
        (ST80FormReader autoload)
        (ScreenLock autoload)
        StandardSystemController
        (StrokingOrFillingWrapper autoload)
        (StrokingWrapper autoload)
        (SunRasterReader autoload)
        TIFFReader
        (TargaReader autoload)
        (TranslatingWrapper autoload)
        TransparentBox
        (ViewForwardingController autoload)
        VisualRegion
        (WinPrinterContext win32)
        (WinPrinterStream win32)
        WindowBuilder
        WindowsIconReader
        (Wrapper autoload)
        XBMReader
        XPMReader
        (XWDReader autoload)
        #'stx_libview2'
        ActiveHelp
        ApplicationModel
        LayoutOrigin
        Plug
        UIBuilder
        ValueModel
        VisualComponent
        AlignmentOrigin
        BlockValue
        FlyByHelp
        IndirectValue
        LayoutFrame
        PluggableAdaptor
        ProtocolAdaptor
        SimpleDialog
        ToolApplicationModel
        ValueHolder
        VisualPart
        AspectAdaptor
        BooleanBlockValue
        BooleanValueHolder
        BufferedValueHolder
        DictionaryAdaptor
        RangeAdaptor
        ResourceSpecEditor
        TriggerValue
        TypeConverter
        ValueHolderWithWeakDependents
        AspectAdaptorWithDefault
    )
!

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

    ^ #(
        CharacterArray asMimeType
    )
! !

!stx_libview2 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 Graphic Interfacing'
!

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

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

    "Modified: / 18-07-2012 / 19:12:07 / cg"
! !

!stx_libview2 class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libview2/stx_libview2.st,v 1.50 2012-07-18 17:13:00 cg Exp $'
!

version_CVS
    ^ '$Header: /cvs/stx/stx/libview2/stx_libview2.st,v 1.50 2012-07-18 17:13:00 cg Exp $'
! !