diff options
Diffstat (limited to 'build/order_by_dep.awk')
-rw-r--r-- | build/order_by_dep.awk | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/build/order_by_dep.awk b/build/order_by_dep.awk deleted file mode 100644 index 38128b2e1b..0000000000 --- a/build/order_by_dep.awk +++ /dev/null @@ -1,89 +0,0 @@ -BEGIN { - orig_rs = RS; - orig_fs = FS; - RS=" "; - mod_count = 0; - SUBSEP=":"; -} - -function get_deps(module_name, depline, cmd) -{ - # this could probably be made *much* better - RS=orig_rs; - FS="[(,) \t]+" - cmd = "grep PHP_ADD_EXTENSION_DEP ext/" module_name "/config*.m4" - while (cmd | getline) { -# printf("GOT: %s,%s,%s,%s,%s\n", $1, $2, $3, $4, $5); - if (!length($5)) { - $5 = 0; - } - mod_deps[module_name, $4] = $5; - } - close(cmd) - RS=" "; - FS=orig_fs; -} - -function get_module_index(name, i) -{ - for (i in mods) { - if (mods[i] == name) { - return i; - } - } - return -1; -} - -function do_deps(mod_idx, module_name, mod_name_len, dep, ext, val, depidx) -{ - module_name = mods[mod_idx]; - mod_name_len = length(module_name); - - for (ext in mod_deps) { - if (substr(ext, 0, mod_name_len+1) != module_name SUBSEP) { - continue; - } - val = mod_deps[ext]; - ext = substr(ext, mod_name_len+2, length(ext)-mod_name_len); - - depidx = get_module_index(ext); - if (depidx >= 0) { - do_deps(depidx); - } - } - - #printf(" phpext_%s_ptr,\n", module_name); - printf(" phpext_%s_ptr,@NEWLINE@", module_name); - delete mods[mod_idx]; -} - -function count(arr, n, i) -{ - n = 0; - for (i in arr) - n++; - return n; -} - -/^[a-zA-Z0-9_-]+/ { - # mini hack for pedantic awk - gsub("[^a-zA-Z0-9_-]", "", $1) - # add each item to array - mods[mod_count++] = $1 - - # see if it has any module deps - get_deps($1); -} -END { - # order it correctly - out_count = 0; - - while (count(mods)) { - # count down, since we need to assemble it in reverse order - for (i = mod_count-1; i >= 0; --i) { - if (i in mods) { - do_deps(i); - } - } - } -} |