* Please send any updates to: fred@gruntose.com *
\*****************************************************************************/
-#include <algorithms/shell_sort.h>
#include <application/application_shell.h>
#include <application/command_line.h>
#include <application/hoople_main.h>
#include <textual/parser_bits.h>
#include <sys/stat.h>
+
+#include "../../library/algorithms/sorts.h"
#ifdef __WIN32__
#include <io.h>
#endif
{
public:
search_record(const astring &search = astring::empty_string(),
- bool is_link = false, search_record *link = NIL)
+ bool is_link = false, search_record *link = NULL_POINTER)
: _search(search), _no_modify(false), _is_link(is_link), _our_link(link),
_current_value(0), _value_increment(1) {}
ini_configurator *_ini; // the configuration for what we'll scan.
string_table _dirs; // the list of directories.
string_table _dirs_seen; // full list of already processed directories.
- astring _manifest_filename; // the name of the manifest we'll create.
+ filename _manifest_filename; // the name of the manifest we'll create.
byte_filer _manifest; // the actual file we're building.
active_searches _search_list; // tracks our progress in scanning files.
int_array _search_ordering;
value_tagger::value_tagger()
: application_shell(),
- _ini(NIL),
+ _ini(NULL_POINTER),
_dirs_seen(10)
{
}
{
LOG(a_sprintf("%s usage:", filename(_global_argv[0]).basename().raw().s()));
LOG("");
+
LOG("\
This utility scans a code base for outcome and filter definitions. It will\n\
only scan the header files (*.h) found in the directories specified. The\n\
log(time_stamp::notarize(true) + "value_tagger started.", basis::ALWAYS_PRINT);
- astring test_repository = environment::get("REPOSITORY_DIR");
+ astring test_repository = environment::get("FEISTY_MEOW_APEX");
if (!test_repository) {
astring msg = "\
There is a problem with a required build precondition. The following\r\n\
variables must be set before the build is run:\r\n\
\r\n\
- REPOSITORY_DIR This should point at the root of the build tree.\r\n\
+ FEISTY_MEOW_APEX This should point at the root of the build tree.\r\n\
\r\n\
There are also a few variables only required for CLAM-based compilation:\r\n\
\r\n\
- MAKEFLAGS This should be set to \"-I $REPOSITORY_DIR/clam\".\r\n\
+ MAKEFLAGS This should be set to \"-I $FEISTY_MEOW_APEX/clam\".\r\n\
\r\n\
Note that on Win32 platforms, these should be set in the System or User\r\n\
variables before running a build.\r\n";
_ini = new ini_configurator(ini_file, ini_configurator::RETURN_ONLY);
// read the name of the manifest file to create.
- _manifest_filename = _ini->load("manifest", "output", "");
- if (!_manifest_filename) {
+ _manifest_filename = filename(_ini->load("manifest", "output", ""));
+ if (!_manifest_filename.raw().length()) {
non_continuable_error(class_name(), ini_file, "The 'output' file entry is missing");
}
_manifest_filename = parser_bits::substitute_env_vars(_manifest_filename);
}
for (int i = 0; i < temp_dirs.symbols(); i++) {
//log(astring("curr is ") + current);
- astring current = parser_bits::substitute_env_vars(temp_dirs.name(i));
+ filename current = filename(parser_bits::substitute_env_vars(temp_dirs.name(i)));
_dirs.add(current, "");
}
LOG(astring("Directories to scan..."));
LOG(_dirs.text_form());
- astring rdir = environment::get("REPOSITORY_DIR");
+ astring rdir = environment::get("FEISTY_MEOW_APEX");
astring fname;
astring parmfile = environment::get("BUILD_PARAMETER_FILE");
if (parmfile.t()) fname = parmfile;
{
// check for whether this section is linked to another or not.
astring linked = _ini->load(curr_name, "link", "");
- search_record *our_link_found = NIL;
+ search_record *our_link_found = NULL_POINTER;
if (linked.t()) {
// we found that this should be linked to another item.
our_link_found = _search_list.find(linked);
byte_filer build_file(fname, "r");
if (!build_file.good()) {
- non_continuable_error(class_name(), build_file.filename(),
- "Could not find the build configuration; is REPOSITORY_DIR set?");
+ non_continuable_error(class_name(), build_file.name(),
+ "Could not find the build configuration; is FEISTY_MEOW_APEX set?");
}
byte_array full_config;
build_file.read(full_config, 100000); // a good chance to be big enough.
build_number += ".";
build_number += temp_ini.load("version", "build", "");
if (build_number.equal_to("...")) {
- non_continuable_error(class_name(), build_file.filename(),
+ non_continuable_error(class_name(), build_file.name(),
"Could not read the build number; is build parameter file malformed?");
}
// static dependencies found by buildor_gen_deps.sh:
#include <application/application_shell.cpp>
#include <application/command_line.cpp>
+ #include <application/windoze_helper.cpp>
#include <basis/astring.cpp>
#include <basis/common_outcomes.cpp>
#include <basis/environment.cpp>
#include <filesystem/directory.cpp>
#include <filesystem/directory_tree.cpp>
#include <filesystem/file_info.cpp>
+ #include <filesystem/file_time.cpp>
#include <filesystem/filename.cpp>
#include <filesystem/filename_list.cpp>
#include <filesystem/filename_tree.cpp>
- #include <filesystem/file_time.cpp>
#include <filesystem/huge_file.cpp>
#include <loggers/combo_logger.cpp>
#include <loggers/console_logger.cpp>