Merge jv
authorHG Automerge
Wed, 18 Jan 2017 10:01:45 +0000
branchjv
changeset 21288 886dc134d57e
parent 21287 38f177ccece5 (current diff)
parent 21261 e3e7fac5b742 (diff)
child 21289 7189410cd300
Merge
ApplicationDefinition.st
Object.st
ProjectDefinition.st
--- a/ApplicationDefinition.st	Tue Jan 17 11:18:09 2017 +0000
+++ b/ApplicationDefinition.st	Wed Jan 18 10:01:45 2017 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 2006 by eXept Software AG
               All Rights Reserved
@@ -1583,11 +1585,11 @@
 
 generateSubProjectLibs_bc_dot_mak         
     ^ String streamContents:[:s |
-        self subProjects do:[:projectID | 
+        (self effectiveSubProjects:#win32) do:[:projectID | 
             |libPath libobjPath|
 
             libPath := self pathToPackage:projectID withSeparator:'\'.
-            libobjPath := libPath , '\', (self libraryNameFor:projectID).
+            libobjPath := libPath , '\$(OBJDIR)\', (self libraryNameFor:projectID).
             s space; nextPutAll:libobjPath; nextPutLine:'.dll \'.
         ].
         s cr.
@@ -1600,11 +1602,12 @@
 
     "Created: / 09-08-2006 / 11:24:39 / fm"
     "Modified: / 14-09-2006 / 18:46:09 / cg"
+    "Modified: / 17-01-2017 / 21:26:08 / stefan"
 !
 
 generateSubProjectLibs_make_dot_proto
     ^ String streamContents:[:s |
-        self effectiveSubProjects do:[:projectID | 
+        (self effectiveSubProjects:#unix) do:[:projectID | 
             |libPath libobjPath|
 
             libPath := self pathToPackage:projectID withSeparator:'/'.
@@ -1617,11 +1620,13 @@
     "
      exept_expecco_application generateSubProjectLibs_make_dot_proto      
     "
+
+    "Modified: / 17-01-2017 / 16:16:38 / stefan"
 !
 
 generateSubProjectLines_bc_dot_mak         
     ^ String streamContents:[:s |
-        self effectiveSubProjects do:[:projectID |
+        (self effectiveSubProjects:#win32) do:[:projectID |
             |mappings newObjectLine|
 
             mappings := self subProjectLine_bc_dot_mak_mappings: projectID.
@@ -1633,17 +1638,19 @@
     ]
 
     "
+     exept_expecco_application generateSubProjectLines_bc_dot_mak 
      bosch_dapasx_application generateSubProjectLines_bc_dot_mak 
      cg_newCompiler_driver_stc generateSubProjectLines_bc_dot_mak 
     "
 
     "Created: / 09-08-2006 / 11:24:39 / fm"
     "Modified: / 14-09-2006 / 18:46:09 / cg"
+    "Modified (comment): / 17-01-2017 / 17:01:38 / stefan"
 !
 
 generateSubProjectLines_make_dot_proto         
     ^ String streamContents:[:s |
-        self effectiveSubProjects do:[:projectID |
+        (self effectiveSubProjects:#unix) do:[:projectID |
             |mappings newObjectLine|
 
             mappings := self subProjectLine_make_dot_proto_mappings: projectID.
@@ -1661,11 +1668,12 @@
 
     "Created: / 09-08-2006 / 11:24:39 / fm"
     "Modified: / 14-09-2006 / 18:46:09 / cg"
+    "Modified: / 17-01-2017 / 16:17:16 / stefan"
 !
 
 generateSubProjectLines_modules_dot_stx
     ^ String streamContents:[:s |
-        self effectiveSubProjects do:[:projectID |
+        (self effectiveSubProjects:#win32) do:[:projectID |
             (self shouldBeLoadedInitially:projectID) ifFalse:[
                 s nextPut:$*.
             ].
@@ -1679,6 +1687,7 @@
     "
 
     "Modified: / 17-08-2006 / 17:22:37 / cg"
+    "Modified: / 17-01-2017 / 16:17:36 / stefan"
 ! !
 
 !ApplicationDefinition class methodsFor:'file templates'!
@@ -1793,6 +1802,8 @@
 REQUIRED_LIBS=librun.dll %(REQUIRED_LIBS)
 REQUIRED_FILES=$(RT_DLL) $(X11_DLL) $(XEXT_DLL) symbols.stc $(REQUIRED_LIBS)
 
+SUBPROJECT_LIBS=%(SUBPROJECT_LIBS)
+
 REQUIRED_SUPPORT_DIRS=%(REQUIRED_SUPPORT_DIRS)
 
 target: %(BUILD_TARGET) postBuildCleanup 
@@ -1801,7 +1812,7 @@
 ALL:: prereq ALL_NP
 
 # all, but no prereqs
-ALL_NP:: exe $(REQUIRED_SUPPORT_DIRS) postBuildCleanup
+ALL_NP:: exe $(REQUIRED_SUPPORT_DIRS) postBuildCleanup subProjects
 
 exe:  newBuildDate $(REQUIRED_LIBS) noConsoleApp consoleApp registerApplication
 
@@ -1833,6 +1844,9 @@
 prereq:
         $(MAKE) -N -f bc.mak $(USE_ARG) FORCE=FORCE_BUILD $(REQUIRED_LIBS)
 
+subProjects:
+        $(MAKE) -N -f bc.mak $(USE_ARG) FORCE=FORCE_BUILD $(SUBPROJECT_LIBS)
+
 FORCE_BUILD:
         @rem Dummy target to force a build
 
@@ -2017,6 +2031,7 @@
     "Modified: / 02-06-2015 / 17:40:03 / gg"
     "Modified: / 26-01-2016 / 14:23:35 / jv"
     "Modified: / 03-03-2016 / 21:15:43 / cg"
+    "Modified: / 17-01-2017 / 17:18:24 / stefan"
 !
 
 bc_dot_mak_app_source_rules
@@ -3096,7 +3111,7 @@
   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
 SectionEnd
 
-LangString appOpen ${LANG_GERMAN}  "Mit %(PRODUCT_NAME) ffnen"
+LangString appOpen ${LANG_GERMAN}  "Mit %(PRODUCT_NAME) öffnen"
 LangString appOpen ${LANG_ENGLISH} "Open with %(PRODUCT_NAME)"
 
 LangString DESC_Section1 ${LANG_ENGLISH} "Program components of %(PRODUCT_NAME)"
@@ -3130,7 +3145,7 @@
 
 Function un.onInit
 !!insertmacro MUI_UNGETLANGUAGE
-  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Mchten Sie %(PRODUCT_NAME) und alle seine Komponenten deinstallieren?" IDYES +2
+  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Möchten Sie %(PRODUCT_NAME) und alle seine Komponenten deinstallieren?" IDYES +2
   Abort
 FunctionEnd
 
--- a/Object.st	Tue Jan 17 11:18:09 2017 +0000
+++ b/Object.st	Wed Jan 18 10:01:45 2017 +0000
@@ -257,7 +257,6 @@
     "Modified: / 4.8.1999 / 08:54:06 / stefan"
 ! !
 
-
 !Object class methodsFor:'Compatibility-ST80'!
 
 rootError
@@ -496,7 +495,6 @@
     InfoPrinting := aBoolean
 ! !
 
-
 !Object class methodsFor:'queries'!
 
 isAbstract
@@ -519,10 +517,6 @@
 ! !
 
 
-
-
-
-
 !Object methodsFor:'Compatibility-Dolphin'!
 
 stbFixup: anSTBInFiler at: newObjectIndex
@@ -694,8 +688,6 @@
     "
 ! !
 
-
-
 !Object methodsFor:'accessing'!
 
 _at:index
@@ -1792,8 +1784,6 @@
     "
 ! !
 
-
-
 !Object methodsFor:'attributes access'!
 
 objectAttributeAt:attributeKey
@@ -1921,8 +1911,6 @@
 ! !
 
 
-
-
 !Object methodsFor:'change & update'!
 
 broadcast:aSelectorSymbol
@@ -2103,7 +2091,6 @@
     ^ aBlock ensure:[ self addDependent:someone ]
 ! !
 
-
 !Object methodsFor:'comparing'!
 
 = anObject
@@ -8200,7 +8187,6 @@
     ^ self
 ! !
 
-
 !Object methodsFor:'secure message sending'!
 
 ?:selector
@@ -8806,7 +8792,6 @@
     "
 ! !
 
-
 !Object methodsFor:'synchronized evaluation'!
 
 freeSynchronizationSemaphore
@@ -10028,6 +10013,13 @@
     ^ false
 !
 
+isSocket
+    "return true, if the receiver is some kind of socket;
+     false returned here - the method is only redefined in Socket."
+
+    ^ false
+!
+
 isSocketAddress
     ^ false
 !
@@ -10601,9 +10593,6 @@
     ^ aVisitor visitObject:self with:aParameter
 ! !
 
-
-
-
 !Object class methodsFor:'documentation'!
 
 version
--- a/ProjectDefinition.st	Tue Jan 17 11:18:09 2017 +0000
+++ b/ProjectDefinition.st	Wed Jan 18 10:01:45 2017 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 2006 by eXept Software AG
               All Rights Reserved
@@ -1636,17 +1638,43 @@
 !
 
 effectiveSubProjects
-    "get the subProjects, that are not excluded"
+    "get the subProjects for the current OS platform, that are not excluded"
+
+    ^ self effectiveSubProjects:OperatingSystem platformName
+
+    "Modified: / 17-01-2017 / 16:31:42 / stefan"
+!
+
+effectiveSubProjects:osSymbol
+    "get the subProjects, that are not excluded.
+     osSymbol can be #win32 or #unix (for now)."
 
     |subProjects|
 
-    subProjects := self subProjects asNewOrderedSet.
-    subProjects
-        addAll:self includedInSubProjects;
-        removeAllFoundIn:self excludedFromSubProjects;
-        remove:self package ifAbsent:[].
+    subProjects := (self subProjects, self includedInSubProjects) collect:[:eachLine|
+                        eachLine isString ifTrue:[
+                            eachLine
+                        ] ifFalse:[eachLine second = osSymbol ifTrue:[
+                            eachLine first.
+                        ] ifFalse:[
+                            nil.
+                        ]].
+                   ] as:OrderedSet.
+
+    subProjects remove:self package ifAbsent:[].
+    subProjects remove:nil ifAbsent:[].
+
+    self excludedFromSubProjects do:[:eachLine|
+        eachLine isString ifTrue:[
+            subProjects remove:eachLine ifAbsent:[]. 
+        ] ifFalse:[eachLine second = osSymbol ifTrue:[
+            subProjects remove:eachLine first ifAbsent:[].
+        ]].
+    ].
 
     ^ subProjects
+
+    "Created: / 17-01-2017 / 16:16:03 / stefan"
 !
 
 excludedFromPreRequisites_code
@@ -2277,18 +2305,19 @@
             def := self definitionClassForPackage:packageId
         ] on:PackageLoadError do:[:ex| def := nil].
     ].
-    ^ def isNil
-        ifTrue:[
-            "Still no project definition - maybe it does not exist?"
-            Transcript showCR:'Warning: no definition class for package: ', packageId.
-            ((self searchForPreRequisites:packageId)
-                fold:[:d1 :d2| d1 addAll:d2; yourself]) keys
-        ]
-        ifFalse:[ def effectivePreRequisites ]
+    ^ def isNil ifTrue:[
+        "Still no project definition - maybe it does not exist?"
+        Transcript showCR:'Warning: no definition class for package: ', packageId.
+        ((self searchForPreRequisites:packageId)
+            fold:[:d1 :d2| d1 addAll:d2; yourself]) keys
+    ] ifFalse:[ 
+        def effectivePreRequisites 
+    ]
 
     "Created: / 24-02-2011 / 22:47:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 18-11-2011 / 14:52:43 / cg"
     "Modified (format): / 19-11-2011 / 11:25:36 / cg"
+    "Modified: / 17-01-2017 / 16:55:39 / stefan"
 !
 
 referencedPreRequisites
@@ -4940,7 +4969,7 @@
     "for xxxmake.bat files"
     
     ^ String streamContents:[:s |
-        self effectiveSubProjects do:[:packageID |
+        (self effectiveSubProjects:#win32) do:[:packageID |
             |pkgLabel skipLabel joinLabel|
             
             pkgLabel := (packageID copyReplaceAll:$: with:$_) copyReplaceAll:$/ with:$_.
@@ -4967,6 +4996,7 @@
     "Created: / 14-09-2006 / 18:40:09 / cg"
     "Modified: / 27-09-2011 / 19:36:12 / cg"
     "Modified: / 12-09-2015 / 12:33:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 17-01-2017 / 16:32:45 / stefan"
 !
 
 subProjectMingwmakeCalls
@@ -8150,7 +8180,7 @@
 
     emptyOrNonProjects notEmpty ifTrue:[
         (Dialog
-            confirm:('The following projects are non-existent, empty or without description:\\    '
+            confirm:('The following subprojects are non-existent, empty or without description:\\    '
                     , ((emptyOrNonProjects
                             asSortedCollection
                                 collect:[:p | p allBold])
@@ -8243,6 +8273,7 @@
     "
 
     "Modified: / 06-03-2012 / 11:31:37 / cg"
+    "Modified: / 17-01-2017 / 16:33:56 / stefan"
 !
 
 validateOrderOfClasses