Commit b63391dc authored by John van Groningen's avatar John van Groningen
Browse files

allow multiple linkers, by separating the linker commands with a |

parent 215029b1
......@@ -918,7 +918,11 @@ step intr (DLink ds=:{ok, newpaths, fileinfo, libsinfo, modpaths, abccache, proj
# optionspath = MakeOptionsName prj_path tp
# (dynlstr,ps) = getCurrentDynl ps
# (ps, ok) = Link linkstr updateErrorWindow execpath ao
# (ps, ok) = foldl linkfun (ps,True) (lSplit '|' linkstr)
with
linkfun (ps,ok) linkstr
| ok
= Link (ltrim linkstr) updateErrorWindow execpath ao
optionspath lfiles ofiles sfiles
(lo.method == LM_Static)
lo.generate_relocations
......@@ -928,6 +932,7 @@ step intr (DLink ds=:{ok, newpaths, fileinfo, libsinfo, modpaths, abccache, proj
lo.generate_dll
(fulPath app_path prj_path` lo.dll_export_list_name)
startupdir dynlstr tp /*lo.add_carb_resource*/ use_64_bit_processor ps
= (ps,ok)
# project = if ok (PR_SetLinked project) project
= continue ok False ok fileinfo libsinfo modpaths project intr (abccache, ps)
where
......@@ -935,6 +940,32 @@ where
DATEtoDateTime {DATE | yy,mm,dd,h,m,s}
= ({year=yy,month=mm,day=dd,dayNr=0},{hours=h,minutes=m,seconds=s})
ltrim :: !String -> String
ltrim s
| non_space_index == 0
= s
= s % (non_space_index,size_s-1)
where
size_s = size s
non_space_index = non_space_left 0
non_space_left :: !Int -> Int
non_space_left i
| i < size_s && isSpace s.[i] = non_space_left (i+1)
lSplit :: !.Char !String -> [String]
lSplit c s = lsplit c s (dec (size s)) []
where
lsplit c s i l
| i < 0 = l
# i` = findPos` c s i
= lsplit c s (dec i`) [s % (i`+1,i):l]
findPos` c s i
| i < 0 = ~1
| s.[i] == c = i
= findPos` c s (dec i)
step intr DDone ps
= stop (DDone,ps)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment