| java.lang.Object makedep.Database
Database | public class Database (Code) | | |
Method Summary | |
public void | canBeMissing() | public void | compute() | void | createMergedOuterFiles() Merge multiple .cpp files into a single .cpp file to speed
up GCC compilation. | static boolean | equalsIgnoreCase(String a, String b) | void | generatePlatformDependentInclude(String unexpandedIncluder, String includer) | public void | get(String platFileName, String dbFileName, Properties globalProps) Reads an entire includeDB file and stores its contents into
internal representations. | public FileList | getAllFiles() | public String | getFullPath(String filename) | public String | getFullPath(String prefix, String filename) | public String | getGenDir() | static String | getIfdefValue(Properties globalProps, String token) | String | getIfeqValue(Properties globalProps, String name, String value) | public String | getMacroContent(String name) | public FileList | getOuterFiles() | public String | getWorkspace() | public boolean | hfileIsInGrandInclude(FileList hfile, FileList cfile) | boolean | needToExcludeFromMerge(String file) We need to exclude some files from the merged source files. | String | numToString(int n) | void | push(Stack ifdef_stack, String boolValue) | public void | put() | public void | putDiffs(Database previous) | public static byte[] | readFile(String filename) | public void | setFirstFile(String fileName) | public void | setGenDir(String path) | public void | setLastFile(String fileName) | public void | setOutputDir(String path) | public void | setResolveVpath(boolean r) | public void | setSourceMergerLimit(int size) | public void | setWorkspace(String fileName) | public String | tryGetFullPath(String filename) | public static void | updateFile(String filename, ByteArrayOutputStream baos) Write the content of the baos to the given file, but only if the
change has been changed. | public void | verify() |
canBeMissing | public void canBeMissing()(Code) | | |
compute | public void compute()(Code) | | |
createMergedOuterFiles | void createMergedOuterFiles() throws IOException(Code) | | Merge multiple .cpp files into a single .cpp file to speed
up GCC compilation. This is done by creating a new 'outer' source
file that depends on several of the original outer source files.
E.g., if we merge Foo1.cpp, Foo2.cpp Foo3.cpp into _MergedSrc001.cpp,
we'd have the following files:
_MergedSrc001.cpp:
#include "incls/_precompiled.incl"
#include "incls/__MergedSrc001.cpp.incl"
incls/__MergedSrc001.cpp.incl:
#include "/path/to/Foo1.cpp"
#include "/path/to/Foo2.cpp"
#include "/path/to/Foo3.cpp"
The Makefile is directed to build _MergedSrc001.o, which will include
the contents of Foo1.cpp, Foo2.cpp and Foo3.cpp
This speeds up GCC compilation time by 2x ~ 3x.
|
needToExcludeFromMerge | boolean needToExcludeFromMerge(String file)(Code) | | We need to exclude some files from the merged source files. See
in-line comments for reasons.
|
push | void push(Stack ifdef_stack, String boolValue)(Code) | | Parameters: boolValue - must be "true" or "false" |
setFirstFile | public void setFirstFile(String fileName)(Code) | | These allow you to specify files not in the include database
which are prepended and appended to the file list, allowing
you to have well-known functions at the start and end of the
text segment (allows us to find out in a portable fashion
whether the current PC is in VM code or not upon a crash)
|
setResolveVpath | public void setResolveVpath(boolean r)(Code) | | |
setSourceMergerLimit | public void setSourceMergerLimit(int size)(Code) | | |
updateFile | public static void updateFile(String filename, ByteArrayOutputStream baos) throws IOException(Code) | | Write the content of the baos to the given file, but only if the
change has been changed. We don't rewrite the file if the content is
the same. This avoids excessive rebuilding.
|
verify | public void verify()(Code) | | |
|
|