summaryrefslogtreecommitdiff
path: root/build/order_by_dep.awk
diff options
context:
space:
mode:
Diffstat (limited to 'build/order_by_dep.awk')
-rw-r--r--build/order_by_dep.awk89
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);
- }
- }
- }
-}