Methods Summary |
---|
public void | abort()Abort means an internal error
throw new RuntimeException("Internal error");
|
public abstract java.lang.String | asmFileSuffix()
|
public int | defaultGrandIncludeThreshold()
return 30;
|
public abstract java.lang.String | dependentPrefix()
|
public void | fatalError(java.lang.String msg)fatalError is used by clients to stop the system
System.err.println(msg);
System.exit(1);
|
public int | fileNameLengthLimit()max is 31 on mac, so warn
return 40;
|
public void | fileNamePortabilityCheck(java.lang.String name)
// Empty for now
|
public void | fileNamePortabilityCheck(java.lang.String name, java.lang.String matchingName)
if (!name.equals(matchingName)) {
fatalError("Error: file " + name + " also appears as " +
matchingName + ". Case must be consistent for " +
"portability.");
}
|
public boolean | fileNameStringEquality(java.lang.String s1, java.lang.String s2)Default implementation performs case-sensitive comparison
return s1.equals(s2);
|
public abstract java.lang.String | fileSeparator()
|
public java.lang.String | generatePlatformDependentInclude()A line with a filename and the
generatePlatformDependentInclude means that an include file
for the header file must be generated. Does not effect the
dependency computation.
return "generate_platform_dependent_include";
|
public FileName | getGDFileTemplate()
return gdFileTemplate;
|
public FileName | getGIFileTemplate()
return giFileTemplate;
|
public FileName | getInclFileTemplate()
return inclFileTemplate;
|
boolean | getUsePrecompiledHeader()
return usePrecompiledHeader;
|
public boolean | haveGrandInclude()empty file name -> no grand include file
return usePrecompiledHeader &&
(giFileTemplate.nameOfList().length() > 0);
|
public boolean | includeGIDependencies()For some platforms, e.g. Solaris, include the grand-include
dependencies in the makefile. For others, e.g. Windows, do
not.
return false;
|
public boolean | includeGIInEachIncl() A gi file is the grand-include file. It includes in one
file any file that is included more than a certain number of
times.
It is used for precompiled header files.
It has a source name, that is the file that this program
generates, and a compiled name; that is the file that is
included by other files.
Some platforms have this program actually explicitly
include the preprocessed gi file-- see includeGIInEachIncl().
Also, some platforms need a pragma in the GI file.
return false;
|
public java.lang.String | noGrandInclude()A line with a filename and the noGrandInclude string means
that this file cannot use the precompiled header.
return "no_precompiled_headers";
|
public abstract java.lang.String | objFileSuffix()Prefix and suffix strings for emitting Makefile rules
|
public abstract java.lang.String[] | outerSuffixes()
|
public void | setUsePrecompiledHeader(boolean value)
usePrecompiledHeader = value;
|
public void | setupFileTemplates()
String inclsDir = "incls" + fileSeparator();
inclFileTemplate = new FileName(this,
inclsDir, "_", "", ".incl", "", "");
giFileTemplate = new FileName(this,
inclsDir, "", "_precompiled", ".incl", "", "");
gdFileTemplate = new FileName(this,
"", "", "Dependencies", "", "", "");
|
public java.lang.String | translateFileName(java.lang.String name)
return name;
|
public boolean | writeDeps()
return (gdFileTemplate.nameOfList().length() > 0);
|
public void | writeGIPragma(java.io.PrintWriter out)Default implementation does nothing
|
public void | writePlatformSpecificFiles(Database previousDB, Database currentDB, java.lang.String[] args)Not very general, but this is a way to get platform-specific
files to be written. Default implementation does nothing.
|