jv_llvm_s.st
changeset 12 f98e97fd02ef
parent 8 890eb7591eca
child 14 c7dea3fcc5a7
equal deleted inserted replaced
11:9061ac9ee282 12:f98e97fd02ef
       
     1 "{ Package: 'jv:llvm_s' }"
       
     2 
       
     3 "{ NameSpace: Smalltalk }"
       
     4 
       
     5 LibraryDefinition subclass:#jv_llvm_s
       
     6 	instanceVariableNames:''
       
     7 	classVariableNames:''
       
     8 	poolDictionaries:''
       
     9 	category:'* Projects & Packages *'
       
    10 !
       
    11 
       
    12 
       
    13 !jv_llvm_s class methodsFor:'description'!
       
    14 
       
    15 excludedFromPreRequisites
       
    16     "list packages which are to be explicitely excluded from the automatic constructed
       
    17      prerequisites list. If empty, everything that is found along the inheritance of any of
       
    18      my classes is considered to be a prerequisite package."
       
    19 
       
    20     ^ #(
       
    21     )
       
    22 !
       
    23 
       
    24 mandatoryPreRequisites
       
    25     "list packages which are mandatory as a prerequisite.
       
    26      This are packages containing superclasses of my classes and classes which
       
    27      are extended by myself.
       
    28      They are mandatory, because we need these packages as a prerequisite for loading and compiling.
       
    29      This method is generated automatically,
       
    30      by searching along the inheritance chain of all of my classes."
       
    31 
       
    32     ^ #(
       
    33         #'stx:libbasic'    "ArrayedCollection - superclass of LLVMObjectArray"
       
    34     )
       
    35 !
       
    36 
       
    37 referencedPreRequisites
       
    38     "list packages which are a prerequisite, because they contain
       
    39      classes which are referenced by my classes.
       
    40      We do not need these packages as a prerequisite for compiling or loading,
       
    41      however, a class from it may be referenced during execution and having it
       
    42      unloaded then may lead to a runtime doesNotUnderstand error, unless the caller
       
    43      includes explicit checks for the package being present.
       
    44      This method is generated automatically,
       
    45      by searching all classes (and their packages) which are referenced by my classes."
       
    46 
       
    47     ^ #(
       
    48     )
       
    49 !
       
    50 
       
    51 subProjects
       
    52     "list packages which are known as subprojects.
       
    53      The generated makefile will enter those and make there as well.
       
    54      However: they are not forced to be loaded when a package is loaded;
       
    55      for those, redefine requiredPrerequisites."
       
    56 
       
    57     ^ #(
       
    58     )
       
    59 ! !
       
    60 
       
    61 !jv_llvm_s class methodsFor:'description - contents'!
       
    62 
       
    63 classNamesAndAttributes
       
    64     "lists the classes which are to be included in the project.
       
    65      Each entry in the list may be: a single class-name (symbol),
       
    66      or an array-literal consisting of class name and attributes.
       
    67      Attributes are: #autoload or #<os> where os is one of win32, unix,..."
       
    68 
       
    69     ^ #(
       
    70         "<className> or (<className> attributes...) in load order"
       
    71         LLVM
       
    72         LLVMAtomicOrdering
       
    73         LLVMAtomicRMWBinOp
       
    74         LLVMAttribute
       
    75         LLVMByteOrdering
       
    76         LLVMCallConv
       
    77         LLVMDLLStorageClass
       
    78         LLVMDiagnosticSeverity
       
    79         LLVMExamples
       
    80         LLVMIntPredicate
       
    81         LLVMLandingPadClauseTy
       
    82         LLVMLinkage
       
    83         LLVMObject
       
    84         LLVMObjectArray
       
    85         LLVMOpcode
       
    86         LLVMRealPredicate
       
    87         LLVMThreadLocalMode
       
    88         LLVMTypeKind
       
    89         LLVMVerifierFailureAction
       
    90         LLVMVisibility
       
    91         #'jv_llvm_s'
       
    92         LLVMBasicBlock
       
    93         LLVMContext
       
    94         LLVMDiagnosticInfo
       
    95         LLVMDisposableObject
       
    96         LLVMMCJITCompilerOptions
       
    97         LLVMPassRegistry
       
    98         LLVMTargetLibraryInfo
       
    99         LLVMType
       
   100         LLVMUse
       
   101         LLVMValue
       
   102         LLVMBuilder
       
   103         LLVMExecutionEngine
       
   104         LLVMFunction
       
   105         LLVMGenericValue
       
   106         LLVMMCJITMemoryManager
       
   107         LLVMModule
       
   108         LLVMModuleProvider
       
   109         LLVMPassManager
       
   110         LLVMTargetData
       
   111         LLVMStXMethod
       
   112     )
       
   113 !
       
   114 
       
   115 extensionMethodNames
       
   116     "list class/selector pairs of extensions.
       
   117      A correponding method with real names must be present in my concrete subclasses"
       
   118 
       
   119     ^ #(
       
   120         SequenceableCollection asLLVMObjectArray
       
   121     )
       
   122 ! !
       
   123 
       
   124 !jv_llvm_s class methodsFor:'description - project information'!
       
   125 
       
   126 companyName
       
   127     "Returns a company string which will appear in <lib>.rc.
       
   128      Under win32, this is placed into the dlls file-info"
       
   129 
       
   130     ^ 'My Company'
       
   131 !
       
   132 
       
   133 description
       
   134     "Returns a description string which will appear in nt.def / bc.def"
       
   135 
       
   136     ^ 'Class Library'
       
   137 !
       
   138 
       
   139 legalCopyright
       
   140     "Returns a copyright string which will appear in <lib>.rc.
       
   141      Under win32, this is placed into the dlls file-info"
       
   142 
       
   143     ^ 'My CopyRight or CopyLeft'
       
   144 !
       
   145 
       
   146 productName
       
   147     "Returns a product name which will appear in <lib>.rc.
       
   148      Under win32, this is placed into the dlls file-info.
       
   149      This method is usually redefined in a concrete application definition"
       
   150 
       
   151     ^ 'LibraryName'
       
   152 ! !
       
   153 
       
   154 !jv_llvm_s class methodsFor:'documentation'!
       
   155 
       
   156 version_HG
       
   157     ^ '$Changeset: <not expanded> $'
       
   158 ! !
       
   159