Files
reactos/reactos/tools/cdmake/dirhash.h
T
Amine Khaldi fe0958fb25 * Improve the way we create bootcd, livecd and bootcdregtest. The effort results in ~28% *smaller* build folder, and *much* faster generation of the ISOs.
[CDMAKE]
* Introduce a way to create an iso using a file map instead of the current on-disk layout. This allows us to massively reduce the IO and the disk space needed to perform the creation of the 3 ISOs, and at the same time speed up the process. Brought to you by Art Yerkes (arty) with review/bug fix by Thomas Faber.
[CMAKE]
* Leverage the newly introduced cdmake feature.
* Silence cdmake verbosity.
* Write the contents of the file lists at once, instead of appending to it one item by one.
[VGAFONTS]
* Don't include the cab file twice.

svn path=/trunk/; revision=59547
2013-07-21 13:33:03 +00:00

39 lines
1.1 KiB
C

#ifndef _REACTOS_TOOLS_CDMAKE_DIRHASH_H_
#define _REACTOS_TOOLS_CDMAKE_DIRHASH_H_
#define NUM_DIR_HASH_BUCKETS 1024
struct target_file {
struct target_file *next;
char *source_name;
char *target_name;
};
struct target_dir_entry {
struct target_dir_entry *next;
struct target_dir_entry *parent;
struct target_dir_entry *child;
struct target_file *head;
char *normalized_name;
char *case_name;
};
struct target_dir_hash {
struct target_dir_entry *buckets[NUM_DIR_HASH_BUCKETS];
struct target_dir_entry root;
};
struct target_dir_traversal {
struct target_dir_entry *it;
int i;
};
void normalize_dirname(char *filename);
void dir_hash_add_file(struct target_dir_hash *dh, const char *source, const char *target);
struct target_dir_entry *
dir_hash_create_dir(struct target_dir_hash *dh, const char *casename, const char *targetnorm);
struct target_dir_entry *dir_hash_next_dir(struct target_dir_hash *dh, struct target_dir_traversal *t);
void dir_hash_destroy(struct target_dir_hash *dh);
#endif//_REACTOS_TOOLS_CDMAKE_DIRHASH_H_