Commit e2105c68 authored by Jurrien Stutterheim's avatar Jurrien Stutterheim
Browse files

CPM: Deal with different paths on Windows

parent 37c1d25f
...@@ -37,6 +37,7 @@ Global ...@@ -37,6 +37,7 @@ Global
ExportedNames: ExportedNames:
Paths Paths
Path: {Project}/cpm Path: {Project}/cpm
Path: {Project}/cpm/Posix
Path: {Application}/lib/ArgEnv Path: {Application}/lib/ArgEnv
Path: {Application}/lib/Directory Path: {Application}/lib/Directory
Path: {Application}/lib/Generics Path: {Application}/lib/Generics
......
...@@ -16,6 +16,7 @@ Global ...@@ -16,6 +16,7 @@ Global
ShowGC: False ShowGC: False
ShowStackSize: False ShowStackSize: False
MarkingCollector: False MarkingCollector: False
DisableRTSFlags: False
StandardRuntimeEnv: True StandardRuntimeEnv: True
Profile Profile
Memory: False Memory: False
...@@ -37,13 +38,14 @@ Global ...@@ -37,13 +38,14 @@ Global
ExportedNames: ExportedNames:
Paths Paths
Path: {Project}/cpm Path: {Project}/cpm
Path: {Project}/cpm/Posix
Path: {Project}/BatchBuild
Path: {Application}/lib/ArgEnv Path: {Application}/lib/ArgEnv
Path: {Application}/lib/Directory Path: {Application}/lib/Directory
Path: {Application}/lib/Generics Path: {Application}/lib/Generics
Path: {Project}/Pm Path: {Project}/Pm
Path: {Project}/MacOSX Path: {Project}/MacOSX
Path: {Project}/Util Path: {Project}/Util
Path: {Project}/BatchBuild
Path: {Project}/Interfaces/LinkerInterface Path: {Project}/Interfaces/LinkerInterface
Path: {Application}/lib/clean-platform/OS-Independent Path: {Application}/lib/clean-platform/OS-Independent
Path: {Application}/lib/clean-platform/OS-Independent/Deprecated/StdLib Path: {Application}/lib/clean-platform/OS-Independent/Deprecated/StdLib
...@@ -109,8 +111,8 @@ OtherModules ...@@ -109,8 +111,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: Directory Name: CpmPaths
Dir: {Application}/lib/Directory Dir: {Project}/cpm/Posix
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -122,11 +124,9 @@ OtherModules ...@@ -122,11 +124,9 @@ OtherModules
ReadableABC: False ReadableABC: False
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
NeededObjFiles
ObjectFile: cDirectory.
Module Module
Name: GenEq Name: IdeState
Dir: {Application}/lib/Generics Dir: {Project}/BatchBuild
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -139,8 +139,8 @@ OtherModules ...@@ -139,8 +139,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmAbcMagic Name: PmCallBack
Dir: {Project}/Pm Dir: {Project}/BatchBuild
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -153,8 +153,8 @@ OtherModules ...@@ -153,8 +153,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmCompilerOptions Name: PmDialogues
Dir: {Project}/Pm Dir: {Project}/BatchBuild
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -167,8 +167,8 @@ OtherModules ...@@ -167,8 +167,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmDirCache Name: errwin
Dir: {Project}/Pm Dir: {Project}/BatchBuild
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -181,8 +181,8 @@ OtherModules ...@@ -181,8 +181,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmDriver Name: messwin
Dir: {Project}/Pm Dir: {Project}/BatchBuild
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -195,8 +195,8 @@ OtherModules ...@@ -195,8 +195,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmEnvironment Name: projwin
Dir: {Project}/Pm Dir: {Project}/BatchBuild
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -209,8 +209,8 @@ OtherModules ...@@ -209,8 +209,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmFileInfo Name: typeatt
Dir: {Project}/Pm Dir: {Project}/BatchBuild
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -223,8 +223,8 @@ OtherModules ...@@ -223,8 +223,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmFiles Name: typewin
Dir: {Project}/Pm Dir: {Project}/BatchBuild
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -237,8 +237,8 @@ OtherModules ...@@ -237,8 +237,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmParse Name: Directory
Dir: {Project}/Pm Dir: {Application}/lib/Directory
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -250,8 +250,24 @@ OtherModules ...@@ -250,8 +250,24 @@ OtherModules
ReadableABC: False ReadableABC: False
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
NeededObjFiles
ObjectFile: cDirectory.
Module Module
Name: PmPath Name: GenEq
Dir: {Application}/lib/Generics
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False
StrictnessAnalysis: True
ListTypes: StrictExportTypes
ListAttributes: True
Warnings: True
Verbose: True
ReadableABC: False
ReuseUniqueNodes: True
Fusion: False
Module
Name: PmAbcMagic
Dir: {Project}/Pm Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
...@@ -265,7 +281,7 @@ OtherModules ...@@ -265,7 +281,7 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmProject Name: PmCompilerOptions
Dir: {Project}/Pm Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
...@@ -279,7 +295,7 @@ OtherModules ...@@ -279,7 +295,7 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmTypes Name: PmDirCache
Dir: {Project}/Pm Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
...@@ -293,8 +309,8 @@ OtherModules ...@@ -293,8 +309,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: Platform Name: PmDriver
Dir: {Project}/MacOSX Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -307,8 +323,8 @@ OtherModules ...@@ -307,8 +323,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmCleanSystem Name: PmEnvironment
Dir: {Project}/MacOSX Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -321,8 +337,8 @@ OtherModules ...@@ -321,8 +337,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: UtilIO Name: PmFileInfo
Dir: {Project}/MacOSX Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -335,8 +351,8 @@ OtherModules ...@@ -335,8 +351,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: UtilNewlinesFile Name: PmFiles
Dir: {Project}/MacOSX Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -349,8 +365,8 @@ OtherModules ...@@ -349,8 +365,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: set_return_code Name: PmParse
Dir: {Project}/MacOSX Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -363,8 +379,8 @@ OtherModules ...@@ -363,8 +379,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: StdPathname Name: PmPath
Dir: {Project}/Util Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -377,8 +393,8 @@ OtherModules ...@@ -377,8 +393,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: UtilDate Name: PmProject
Dir: {Project}/Util Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -391,8 +407,8 @@ OtherModules ...@@ -391,8 +407,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: UtilOptions Name: PmTypes
Dir: {Project}/Util Dir: {Project}/Pm
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -405,8 +421,8 @@ OtherModules ...@@ -405,8 +421,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: UtilStrictLists Name: Platform
Dir: {Project}/Util Dir: {Project}/MacOSX
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -419,8 +435,8 @@ OtherModules ...@@ -419,8 +435,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: logfile Name: PmCleanSystem
Dir: {Project}/Util Dir: {Project}/MacOSX
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -433,8 +449,8 @@ OtherModules ...@@ -433,8 +449,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: IdeState Name: UtilIO
Dir: {Project}/BatchBuild Dir: {Project}/MacOSX
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -447,8 +463,8 @@ OtherModules ...@@ -447,8 +463,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmCallBack Name: UtilNewlinesFile
Dir: {Project}/BatchBuild Dir: {Project}/MacOSX
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -461,8 +477,8 @@ OtherModules ...@@ -461,8 +477,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: PmDialogues Name: set_return_code
Dir: {Project}/BatchBuild Dir: {Project}/MacOSX
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -475,8 +491,8 @@ OtherModules ...@@ -475,8 +491,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: errwin Name: StdPathname
Dir: {Project}/BatchBuild Dir: {Project}/Util
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -489,8 +505,8 @@ OtherModules ...@@ -489,8 +505,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: messwin Name: UtilDate
Dir: {Project}/BatchBuild Dir: {Project}/Util
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -503,8 +519,8 @@ OtherModules ...@@ -503,8 +519,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: projwin Name: UtilOptions
Dir: {Project}/BatchBuild Dir: {Project}/Util
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -517,8 +533,8 @@ OtherModules ...@@ -517,8 +533,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: typeatt Name: UtilStrictLists
Dir: {Project}/BatchBuild Dir: {Project}/Util
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -531,8 +547,8 @@ OtherModules ...@@ -531,8 +547,8 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: typewin Name: logfile
Dir: {Project}/BatchBuild Dir: {Project}/Util
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
NeverTimeProfile: False NeverTimeProfile: False
...@@ -643,7 +659,7 @@ OtherModules ...@@ -643,7 +659,7 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: Data.IO Name: Data.List
Dir: {Application}/lib/clean-platform/OS-Independent Dir: {Application}/lib/clean-platform/OS-Independent
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
...@@ -657,7 +673,7 @@ OtherModules ...@@ -657,7 +673,7 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: Data.List Name: Data.Maybe
Dir: {Application}/lib/clean-platform/OS-Independent Dir: {Application}/lib/clean-platform/OS-Independent
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
...@@ -671,7 +687,7 @@ OtherModules ...@@ -671,7 +687,7 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: Data.Maybe Name: Data.Monoid
Dir: {Application}/lib/clean-platform/OS-Independent Dir: {Application}/lib/clean-platform/OS-Independent
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
...@@ -685,7 +701,7 @@ OtherModules ...@@ -685,7 +701,7 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: Data.Monoid Name: Data.Tuple
Dir: {Application}/lib/clean-platform/OS-Independent Dir: {Application}/lib/clean-platform/OS-Independent
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
...@@ -699,7 +715,7 @@ OtherModules ...@@ -699,7 +715,7 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: Data.Tuple Name: Data.Void
Dir: {Application}/lib/clean-platform/OS-Independent Dir: {Application}/lib/clean-platform/OS-Independent
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
...@@ -713,7 +729,7 @@ OtherModules ...@@ -713,7 +729,7 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: Data.Void Name: System.CommandLine
Dir: {Application}/lib/clean-platform/OS-Independent Dir: {Application}/lib/clean-platform/OS-Independent
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
...@@ -727,7 +743,7 @@ OtherModules ...@@ -727,7 +743,7 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: System.CommandLine Name: System.FilePath
Dir: {Application}/lib/clean-platform/OS-Independent Dir: {Application}/lib/clean-platform/OS-Independent
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
...@@ -741,7 +757,7 @@ OtherModules ...@@ -741,7 +757,7 @@ OtherModules
ReuseUniqueNodes: True ReuseUniqueNodes: True
Fusion: False Fusion: False
Module Module
Name: System.FilePath Name: System.IO
Dir: {Application}/lib/clean-platform/OS-Independent Dir: {Application}/lib/clean-platform/OS-Independent
Compiler Compiler
NeverMemoryProfile: False NeverMemoryProfile: False
......
...@@ -37,6 +37,7 @@ Global ...@@ -37,6 +37,7 @@ Global
ExportedNames: ExportedNames:
Paths Paths
Path: {Project}\cpm Path: {Project}\cpm
Path: {Project}\cpm\Windows
Path: {Application}\Libraries\ArgEnv Path: {Application}\Libraries\ArgEnv
Path: {Application}\Libraries\Directory Path: {Application}\Libraries\Directory
Path: {Application}\Libraries\Generics Path: {Application}\Libraries\Generics
......
...@@ -3,7 +3,7 @@ implementation module CpmLogic ...@@ -3,7 +3,7 @@ implementation module CpmLogic
/** /**
* CPM imports * CPM imports
*/ */
import AbsSyn import AbsSyn, CpmPaths
/** /**
* CleanIDE imports * CleanIDE imports
...@@ -81,20 +81,21 @@ doProjectAction cleanhome pwd pn CreateProject world ...@@ -81,20 +81,21 @@ doProjectAction cleanhome pwd pn CreateProject world
# world = showLines ["Main module " +++ mainmodule +++ " does not exist. Create it? [y/n]"] world # world = showLines ["Main module " +++ mainmodule +++ " does not exist. Create it? [y/n]"] world
# (line, world) = getLine world # (line, world) = getLine world
= if (line.[0] == 'y') (mkMainAndProject world) (error ("Failed to create project. Need " +++ mainmodule) world) = if (line.[0] == 'y') (mkMainAndProject world) (error ("Failed to create project. Need " +++ mainmodule) world)
= mkProject world