parsav  Diff

Differences From Artifact [022b1bf037]:

To Artifact [90c24eca6f]:


     4      4   local buildopts, buildargs = util.parseargs{...}
     5      5   config = dofile('config.lua')
     6      6   
     7      7   lib = {
     8      8   	init = {}, util = util;
     9      9   	load = function(lst)
    10     10   		for _, l in pairs(lst) do
           11  +			io.stdout:write(' · processing module \27[1m' .. l ..'\27[m… ')
    11     12   			local path = {}
    12     13   			for m in l:gmatch('([^:]+)') do path[#path+1]=m end
    13     14   			local tgt = lib
    14     15   			for i=1,#path-1 do
    15     16   				if tgt[path[i]] == nil then tgt[path[i]] = {} end
    16     17   				tgt = tgt[path[i]]
    17     18   			end
    18         -			tgt[path[#path]:gsub('-','_')] = terralib.loadfile(l:gsub(':','/') .. '.t')()
           19  +			local chunk = terralib.loadfile(l:gsub(':','/') .. '.t')
           20  +			if chunk ~= nil then
           21  +				tgt[path[#path]:gsub('-','_')] = chunk()
           22  +				print(' \27[1m[ \27[32mok\27[;1m ]\27[m')
           23  +			else
           24  +				print(' \27[1m[\27[31mfail\27[;1m]\27[m')
           25  +				os.exit(2)
           26  +			end
    19     27   		end
    20     28   	end;
    21     29   	loadlib = function(name,hdr)
    22     30   		local p = config.pkg[name]
    23     31   		-- for _,v in pairs(p.dylibs) do
    24     32   		-- 	terralib.linklibrary(p.libdir .. '/' .. v)
    25     33   		-- end
................................................................................
   431    439   	'render:user-page';
   432    440   	'render:timeline';
   433    441   
   434    442   	'render:docpage';
   435    443   
   436    444   	'render:conf:profile';
   437    445   	'render:conf:sec';
          446  +	'render:conf:users';
   438    447   	'render:conf';
   439    448   	'route';
   440    449   }
   441    450   
   442    451   do
   443    452   	local p = string.format('parsav: %s\nbuilt on %s\n', config.build.str, config.build.when)
   444    453   	terra version() lib.io.send(1, p, [#p]) end
................................................................................
   609    618   if bflag('lsan','S') then linkargs[#linkargs+1] = '-fsanitize=leak' end
   610    619   
   611    620   for _,p in pairs(config.pkg) do util.append(linkargs, p.linkargs) end
   612    621   local linkargs_d = linkargs -- controller is not multithreaded
   613    622   if config.posix then
   614    623   	linkargs_d[#linkargs_d+1] = '-pthread'
   615    624   end
   616         -holler('linking with args',util.dump(linkargs))
   617    625   
   618         -terralib.saveobj('parsavd'..suffix, { main = entry_daemon }, linkargs_d, target)
          626  +holler(' → linking \27[1mparsav\27[m with "' .. table.concat(linkargs,' ') .. '"')
   619    627   terralib.saveobj('parsav' ..suffix, { main = lib.mgtool }, linkargs, target)
          628  +
          629  +holler(' → linking \27[1mparsavd\27[m with "' .. table.concat(linkargs_d,' ') .. '"')
          630  +terralib.saveobj('parsavd'..suffix, { main = entry_daemon }, linkargs_d, target)