--- a/ProjectDefinition.st Tue Apr 30 10:54:00 2013 +0100
+++ b/ProjectDefinition.st Tue May 21 21:58:09 2013 +0100
@@ -623,7 +623,7 @@
].
rel := self topRelativePathToPackage_unix:aPackageID.
(rel startsWith:'stx/') ifTrue:[
- ^ '$(TOP)/', (rel copyFrom:'stx/' size + 1).
+ ^ '$(TOP)/', (rel withoutPrefix:'stx/').
] ifFalse:[
^ '$(TOP)/../', rel
]
@@ -650,7 +650,7 @@
rel := self topRelativePathToPackage_win32:aPackageID.
(rel startsWith:'stx\') ifTrue:[
- ^ '$(TOP)\', (rel copyFrom:'stx\' size + 1).
+ ^ '$(TOP)\', (rel withoutPrefix:'stx\').
] ifFalse:[
^ '$(TOP)\..\', rel
]
@@ -782,7 +782,7 @@
rel := (self topRelativePathToPackage_unix:toPackageID).
(rel startsWith:'stx/') ifTrue:[
- ^ '$(TOP)', (rel copyFrom:'stx/' size)
+ ^ '$(TOP)', (rel copyFrom:'stx/' size) "/ notice: the slash remains
].
^ '$(TOP)/../', rel.
@@ -2832,9 +2832,10 @@
productName
"Returns a product name which will appear in <lib>.rc.
- Under win32, this is placed into the dlls file-info"
-
- |m|
+ Under win32, this is placed into the dlls file-info.
+ This method is usually redefined in a concrete application definition"
+
+ |m nm|
m := self module.
m = 'stx' ifTrue:[
@@ -2843,10 +2844,20 @@
m = 'exept' ifTrue:[
^ 'eXept addOns'
].
- Error handle:[:ex |
+ SubclassResponsibilityError handle:[:ex |
+ "/ we get this error, if the concrete class has not yet redefined
+ "/ startupClassName.
+ self breakPoint:#cg.
^ 'ProductName'
] do:[
- ^ self startupClassName
+ nm := self startupClassName.
+ (nm endsWith:'Startup') ifTrue:[
+ ^ nm copyButLast:'Startup' size.
+ ].
+ (nm endsWith:'Start') ifTrue:[
+ ^ nm copyButLast:'Start' size.
+ ].
+ ^ nm
].
"Modified: / 08-11-2007 / 16:45:14 / cg"
@@ -2993,12 +3004,16 @@
dict := OrderedDictionary withKeysAndValues:#(
'Make.spec' #'generate_make_dot_spec'
'Make.proto' #'generate_make_dot_proto'
- 'Makefile' #'generate_makefile' "/ for unix
+ "/ cg: changed to generate Makefile.init instead of Makefile,
+ "/ because macosx files are not case sensitive.
+ "/ You will have to execute make -f Makefile.init initially
+ "/ 'Makefile' #'generate_makefile' "/ for unix
+ 'Makefile.init' #'generate_makefile' "/ for unix
'bc.mak' #'generate_bc_dot_mak' "/ for windows
'abbrev.stc' #'generate_abbrev_dot_stc'
'bmake.bat' #'generate_bmake_dot_mak' "/ for bcc32
'vcmake.bat' #'generate_vcmake_dot_mak' "/ for msvc
- 'lccmake.bat' #'generate_lccmake_dot_mak' "/ for lcc
+ 'lccmake.bat' #'generate_lccmake_dot_mak' "/ for lcc - not supported at the moment
"/ 'tccmake.bat' #'generate_tccmake_dot_mak' "/ for tcc - cannot link at the moment
'mingwmake.bat' #'generate_mingwmake_dot_mak' "/ for mingw
).
@@ -4730,6 +4745,12 @@
# My only task is to generate the real makefile and call make again.
# Thereafter, I am no longer used and needed.
#
+# MACOSX caveat:
+# as filenames are not case sensitive (in a default setup),
+# we cannot use tha above trick. Therefore, this file is now named
+# "Makefile.init", and you have to execute "make -f Makefile.init" to
+# get the initial makefile. This is now also done by the toplevel CONFIG
+# script.
.PHONY: run
@@ -7466,11 +7487,11 @@
!ProjectDefinition class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.463 2013-04-26 09:04:54 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.468 2013-05-07 15:28:48 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.463 2013-04-26 09:04:54 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/ProjectDefinition.st,v 1.468 2013-05-07 15:28:48 cg Exp $'
!
version_HG
@@ -7479,7 +7500,7 @@
!
version_SVN
- ^ '§ Id: ProjectDefinition.st 10645 2011-06-09 15:28:45Z vranyj1 §'
+ ^ '$ Id: ProjectDefinition.st 10645 2011-06-09 15:28:45Z vranyj1 $'
! !