diff options
author | dos-reis <gdr@axiomatics.org> | 2013-06-01 07:35:18 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2013-06-01 07:35:18 +0000 |
commit | 64aeafac79d72f440b6546bae91583e6efd6b674 (patch) | |
tree | de419861e4625d20bc0e1c68f5db1590a50708b9 /src/interp/define.boot | |
parent | de3a19c35df30298d323c5882e39931f329ea29e (diff) | |
download | open-axiom-64aeafac79d72f440b6546bae91583e6efd6b674.tar.gz |
Support --output in compiler, for bootstrapping stage.
Diffstat (limited to 'src/interp/define.boot')
-rw-r--r-- | src/interp/define.boot | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/interp/define.boot b/src/interp/define.boot index 585c5461..f3f70c72 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -1201,6 +1201,7 @@ compDefineCategory(df,m,e,fal) == dbClearForCompilation! db dbConstructorForm(db) := lhs dbCompilerData(db) := makeCompilationData() + dbOutputPath(db) := getOutputPath() $backend: local := function(x +-> printBackendStmt(dbLibstream db,x)) try $insideFunctorIfTrue => compDefineCategory1(db,df,m,e,fal) @@ -1442,6 +1443,16 @@ setDollarName(form,env) == getDollarName env == get('%compilerData,'%dollar,env) +getOutputPath() == + outfile := getOptionValue "output" + outfile = nil => nil + $insideCategoryPackageIfTrue => + d := filePathDirectory outfile + n := strconc(filePathString filePathName outfile,'"-") + t := filePathType outfile + filePathString makeFilePath(directory <- d,name <- n,type <- t) + outfile + compDefineFunctor(df,m,e,fal) == $profileCompiler: local := true $profileAlist: local := nil @@ -1450,6 +1461,7 @@ compDefineFunctor(df,m,e,fal) == dbClearForCompilation! db dbConstructorForm(db) := form dbCompilerData(db) := makeCompilationData() + dbOutputPath(db) := getOutputPath() $backend: local := function(x +-> printBackendStmt(dbLibstream db,x)) try compDefineLisplib(db,df,m,e,fal,'compDefineFunctor1) finally dbCompilerData(db) := nil |