Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-and-itasks
clean-ide
Commits
897f1a1b
Commit
897f1a1b
authored
Mar 09, 2021
by
John van Groningen
Browse files
use -tcl option of the compiler if the dynamic linker is used
parent
5669c657
Pipeline
#49777
passed with stage
in 57 seconds
Changes
5
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Ide/PmDialogues.icl
View file @
897f1a1b
...
@@ -246,7 +246,7 @@ where
...
@@ -246,7 +246,7 @@ where
:+:
TextControl
"Initial Heap Size"
[]
:+:
TextControl
"Initial Heap Size"
[]
// marking collector
// marking collector
:+:
CheckControl
:+:
CheckControl
[
(
"
Enable dynamics
"
[
(
"
Dynamic linker
"
,
Nothing
,
Nothing
,
if
(
lo
.
method
==
LM_Static
)
NoMark
Mark
,
if
(
lo
.
method
==
LM_Static
)
NoMark
Mark
,
noPS
(\
l
->{
l
&
lo
=
{
l
.
lo
&
method
=
if
(
l
.
lo
.
method
==
LM_Static
)
LM_Dynamic
LM_Static
}})
,
noPS
(\
l
->{
l
&
lo
=
{
l
.
lo
&
method
=
if
(
l
.
lo
.
method
==
LM_Static
)
LM_Dynamic
LM_Static
}})
...
...
Pm/PmAbcMagic.dcl
View file @
897f1a1b
...
@@ -21,6 +21,7 @@ from PmDirCache import :: DirCache
...
@@ -21,6 +21,7 @@ from PmDirCache import :: DirCache
,
abcGenericFusion
::
!
Bool
,
abcGenericFusion
::
!
Bool
,
abc64Bits
::
!
Bool
,
abc64Bits
::
!
Bool
,
abcDynamics
::
!
Bool
,
abcDynamics
::
!
Bool
,
abcTclFile
::
!
Bool
}
}
DefaultABCOptions
::
ABCOptions
DefaultABCOptions
::
ABCOptions
...
...
Pm/PmAbcMagic.icl
View file @
897f1a1b
...
@@ -32,6 +32,7 @@ from StdLibMisc import :: Date{..}, :: Time{..}
...
@@ -32,6 +32,7 @@ from StdLibMisc import :: Date{..}, :: Time{..}
,
abcGenericFusion
::
!
Bool
,
abcGenericFusion
::
!
Bool
,
abc64Bits
::
!
Bool
,
abc64Bits
::
!
Bool
,
abcDynamics
::
!
Bool
,
abcDynamics
::
!
Bool
,
abcTclFile
::
!
Bool
}
}
DefaultABCOptions
::
ABCOptions
;
DefaultABCOptions
::
ABCOptions
;
...
@@ -48,6 +49,7 @@ DefaultABCOptions =
...
@@ -48,6 +49,7 @@ DefaultABCOptions =
,
abcGenericFusion
=
False
,
abcGenericFusion
=
False
,
abc64Bits
=
False
,
abc64Bits
=
False
,
abcDynamics
=
False
,
abcDynamics
=
False
,
abcTclFile
=
False
}
}
//-- abc file handling
//-- abc file handling
...
@@ -75,9 +77,10 @@ Abc64BitsOffset :==10;
...
@@ -75,9 +77,10 @@ Abc64BitsOffset :==10;
DynamicsBitsOffset
:==
11
;
DynamicsBitsOffset
:==
11
;
GenericFusionOffset
:==
12
;
GenericFusionOffset
:==
12
;
CallgraphProfileOffset
:==
13
;
CallgraphProfileOffset
:==
13
;
TclFileOffset
:==
14
;
MinimumNrOfOptions
:==
9
;
MinimumNrOfOptions
:==
9
;
NrOfOptions
:==
1
4
;
NrOfOptions
:==
1
5
;
ParseABCInfoAndDependencies
::
!
Pathname
!
DATE
!
ABCCache
!
Files
->
(!((!
Bool
,
!
Bool
,
!
Int
,
!
ABCOptions
),(!
List
Modulename
,
!
Maybe
ModuleDate
,
!
List
ModuleDate
,
!
List
LinkObjFileName
,
!
List
LinkLibraryName
),!
ABCCache
),!
Files
)
ParseABCInfoAndDependencies
::
!
Pathname
!
DATE
!
ABCCache
!
Files
->
(!((!
Bool
,
!
Bool
,
!
Int
,
!
ABCOptions
),(!
List
Modulename
,
!
Maybe
ModuleDate
,
!
List
ModuleDate
,
!
List
LinkObjFileName
,
!
List
LinkLibraryName
),!
ABCCache
),!
Files
)
ParseABCInfoAndDependencies
path
date
abccache
files
ParseABCInfoAndDependencies
path
date
abccache
files
...
@@ -169,7 +172,8 @@ StringToCompilerOptions start end opt
...
@@ -169,7 +172,8 @@ StringToCompilerOptions start end opt
abcGenericFusion
=
start
+
GenericFusionOffset
<
end
&&
opt
.[
start
+
GenericFusionOffset
]==
'1'
,
abcGenericFusion
=
start
+
GenericFusionOffset
<
end
&&
opt
.[
start
+
GenericFusionOffset
]==
'1'
,
abc64Bits
=
start
+
Abc64BitsOffset
<
end
&&
opt
.[
start
+
Abc64BitsOffset
]==
'1'
,
abc64Bits
=
start
+
Abc64BitsOffset
<
end
&&
opt
.[
start
+
Abc64BitsOffset
]==
'1'
,
abcDynamics
=
start
+
DynamicsBitsOffset
<
end
&&
opt
.[
start
+
DynamicsBitsOffset
]==
'1'
,
abcDynamics
=
start
+
DynamicsBitsOffset
<
end
&&
opt
.[
start
+
DynamicsBitsOffset
]==
'1'
,
abcCallgraphProfile
=
start
+
CallgraphProfileOffset
<
end
&&
opt
.[
start
+
CallgraphProfileOffset
]==
'1'
abcCallgraphProfile
=
start
+
CallgraphProfileOffset
<
end
&&
opt
.[
start
+
CallgraphProfileOffset
]==
'1'
,
abcTclFile
=
start
+
TclFileOffset
<
end
&&
opt
.[
start
+
TclFileOffset
]==
'1'
};
};
ProjectABCFile
::
!
Int
!
String
->
Bool
;
ProjectABCFile
::
!
Int
!
String
->
Bool
;
...
...
Pm/PmDriver.icl
View file @
897f1a1b
...
@@ -1537,8 +1537,10 @@ check_module_options modname info=:{version,abcOptions} co project_compiler_opti
...
@@ -1537,8 +1537,10 @@ check_module_options modname info=:{version,abcOptions} co project_compiler_opti
=
incorrect_option
modname
"Fusion"
=
incorrect_option
modname
"Fusion"
|
abcOptions
.
abcGenericFusion
<>
case
co
.
fusion
of
FusionDefault
->
project_compiler_options
.
pco_generic_fusion
;
_
->
False
|
abcOptions
.
abcGenericFusion
<>
case
co
.
fusion
of
FusionDefault
->
project_compiler_options
.
pco_generic_fusion
;
_
->
False
=
incorrect_option
modname
"Generic Fusion"
=
incorrect_option
modname
"Generic Fusion"
|
abcOptions
.
abcDynamics
<>
project_compiler_options
.
pco_dynamics
|
abcOptions
.
abcDynamics
<>
(
project_compiler_options
.
pco_dynamics
||
project_compiler_options
.
pco_link_dynamic
)
=
incorrect_option
modname
"Dynamics"
=
incorrect_option
modname
"Dynamics"
|
abcOptions
.
abcTclFile
<>
project_compiler_options
.
pco_link_dynamic
=
incorrect_option
modname
"Dynamic Linking"
=
(
True
,
""
)
=
(
True
,
""
)
where
where
expectedDescriptors
=
project_compiler_options
.
pco_desc_exl
||
project_compiler_options
.
pco_link_dynamic
||
(
project_compiler_options
.
pco_memory_profiling
&&
(
not
co
.
neverMemoryProfile
))
expectedDescriptors
=
project_compiler_options
.
pco_desc_exl
||
project_compiler_options
.
pco_link_dynamic
||
(
project_compiler_options
.
pco_memory_profiling
&&
(
not
co
.
neverMemoryProfile
))
...
...
Win/PmCleanSystem.icl
View file @
897f1a1b
...
@@ -478,7 +478,7 @@ MakeCompilerOptionsString :: !CompileOrCheckSyntax !ProjectCompilerOptions !Comp
...
@@ -478,7 +478,7 @@ MakeCompilerOptionsString :: !CompileOrCheckSyntax !ProjectCompilerOptions !Comp
MakeCompilerOptionsString
compileOrCheckSyntax
MakeCompilerOptionsString
compileOrCheckSyntax
{
pco_memory_profiling
,
pco_time_profiling
,
pco_callgraph_profiling
,
pco_desc_exl
,
pco_generic_fusion
,
pco_dynamics
,
pco_link_dynamic
}
{
pco_memory_profiling
,
pco_time_profiling
,
pco_callgraph_profiling
,
pco_desc_exl
,
pco_generic_fusion
,
pco_dynamics
,
pco_link_dynamic
}
{
neverMemoryProfile
,
neverTimeProfile
,
sa
,
gw
,
gc
,
listTypes
,
attr
,
reuseUniqueNodes
,
fusion
}
{
neverMemoryProfile
,
neverTimeProfile
,
sa
,
gw
,
gc
,
listTypes
,
attr
,
reuseUniqueNodes
,
fusion
}
=
(
add_dynamics_option
(
add_fusion_option
(
add_exl_option
=
(
add_dynamics_option
s
(
add_fusion_option
(
add_exl_option
(
checksyntax
+++
timeProfileSwitch
+++
callgraphProfileSwitch
+++
memoryProfileSwitch
+++
strictness
+++
warnings
+++
comments
+++
listtypes
+++
show_attr
+++
reuse
)
(
checksyntax
+++
timeProfileSwitch
+++
callgraphProfileSwitch
+++
memoryProfileSwitch
+++
strictness
+++
warnings
+++
comments
+++
listtypes
+++
show_attr
+++
reuse
)
)))
+++
" "
)))
+++
" "
where
where
...
@@ -531,7 +531,12 @@ where
...
@@ -531,7 +531,12 @@ where
add_fusion_option
s
add_fusion_option
s
=
case
fusion
of
FusionOn
->
s
+++
" -fusion"
;
FusionDefault
|
pco_generic_fusion
->
s
+++
" -generic_fusion"
;
_
->
s
=
case
fusion
of
FusionOn
->
s
+++
" -fusion"
;
FusionDefault
|
pco_generic_fusion
->
s
+++
" -generic_fusion"
;
_
->
s
add_dynamics_option
s
=
if
(
pco_dynamics
||
pco_link_dynamic
)
(
s
+++
" -dynamics"
)
s
add_dynamics_options
s
|
pco_link_dynamic
=
s
+++
" -tcl -dynamics"
|
pco_dynamics
=
s
+++
" -dynamics"
=
s
/* Generates code for the given file:
/* Generates code for the given file:
*/
*/
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment