stx_libview2.st
author Stefan Vogel <sv@exept.de>
Fri, 28 Nov 2014 12:51:17 +0100
changeset 3412 018a7ee7236f
parent 3406 f1e1fdc2a7fe
child 3434 0fa2b638e502
permissions -rw-r--r--
class: stx_libview2 changed: #classNamesAndAttributes Added ScreenLock as non-autoloaded (required for T-Mobile)

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

!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>>initializeWebServiceDevice "
	#'exept:httpPortal'    "HTTPPortalService - referenced by ApplicationModel class>>startAsWebService:onPort: "
	#'stx:libwidg'    "Label - referenced by ActiveHelpView>>contents: "
	#'stx:libwidg2'    "LabelAndIcon - referenced by MenuItem>>labelImage: "
	#'stx:libtool'    "AboutBox - referenced by ToolApplicationModel>>xxopenAboutThisApplication "
	#'stx:libtool2'    "ImageEditor - referenced by ResourceSpecEditor>>doEditImage "
	#'stx:libcompat'    "TextAttributes - referenced by WindowBuilder>>resolveFont: "
	#'stx:libhtml'    "HTMLDocumentView - referenced by ApplicationModel>>openDocumentationFile: "
    )
!

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'    "ArrayedCollection - extended "
        #'stx:libbasic2'    "PrinterStream - superclass of WinPrinterStream "
        #'stx:libview'    "Color - superclass of ColorValue "
    )
!

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:libui'    "ComponentSpec - referenced by UIBuilder>>add: "
    )
!

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_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

!!if defined(USEMINGW32) || defined(USEMINGW64)
LIBJPEG=$(LIBJPEG_DIR)\$(OBJDIR)\libjpeg.a
!!else
LIBJPEG=$(LIBJPEG_DIR)\$(OBJDIR)\libjpeg.lib
!!endif

CLOCAL_INCL=-I"$(LIBJPEG_DIR)"
'

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

additionalLinkLibraries_bc_dot_mak
    ^ '$(LIBJPEG)'
!

additionalLinkLibraries_make_dot_proto
    ^ '$(JPEGLIB_LD_ARG)'
!

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
    ^ '

libjpeg: $(LIBJPEG_DIR)/Makefile
	cd $(LIBJPEG_DIR); $(MAKE) $(MAKE_JPEGLIB_ARG)

#
# prelink JPEGReader.o with libjpeg
#
JPEGReader_prelinked: $(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 $(CLASSLIB_LD) $(LD_REL_FLAG) -o JPEGReader.$(O) __JPEGReader.$(O) $(LIBJPEG); \
	    mv JPEGReader.$(O) __JPEGReader.$(O) && \
	    $(CLASSLIB_LD) $(LD_REL_FLAG) -o JPEGReader.$(O) __JPEGReader.$(O) $(LIBJPEG) && \
	    rm -f __JPEGReader.$(O); \
	    echo; \
	fi

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

#the following is needed for linux; LIBJPEG_MAKE_LIB is expanded to: $(LIBJPEG_DIR)/.libs/libjpeg.a
#do not replace taget below by LIBJPEG_MAKE_LIB, because it may be empty for other systems (osx)
$(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 CC="$(LIBJPEG_CC)" OPT="$(LIBJPEG_OPT)" CFLAGS="$(LIBJPEG_OPT) $(CCCONFOPT)"'

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

    ^ '$(JPEGLIB_MAKE_TARGET) $(JPEGREADER_PRELINKED)'

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

localIncludes
    ^ '$(JPEG_INCLUDE)'
!

stcOptimizationOptions
    ^ '+optinline'

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

stcWarningOptions
    ^ '-warnNonStandard -warnUnused'
! !

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

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

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

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

    ^ 'Smalltalk/X'
! !

!stx_libview2 class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/libview2/stx_libview2.st,v 1.83 2014-11-28 11:51:17 stefan Exp $'
!

version_CVS
    ^ '$Header: /cvs/stx/stx/libview2/stx_libview2.st,v 1.83 2014-11-28 11:51:17 stefan Exp $'
! !