The win32 build will correctly order extensions for internal_functions.c, so that solves static compiles, but that doesn't help dynamic loading (nor the unix build).
Would it be ok to keep Marcus' function so that a wise extension can check if things were loaded in the correct order? Maybe adjust it a little: ZEND_API int zend_check_dependent_modules(char *mymodule, int num_modules, ...) { va_list ap; char *module_name; int i; zend_module_entry *module; va_start(ap, num_modules); for (i = 0; i < num_modules; i++) { module_name = va_arg(ap, char*); if (FAILURE == zend_hash_find(&module_registry, module_name, strlen(module_name)+1, (void**)&module) || !module->module_started) { zend_error(E_ERROR, "extension `%s' must be loaded before %s", module_name, mymodule); } } va_end(ap); return SUCCESS; } Even better would be to add an array of module names into the module structure and have the ZE apply this check when it loads the module. I think that it is reasonably important to warn the user that things will break if we can detect it. --Wez. ----- Original Message ----- From: "Andi Gutmans" <[EMAIL PROTECTED]> To: "Marcus Boerger" <[EMAIL PROTECTED]> Cc: "Marcus Boerger" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Monday, January 19, 2004 8:40 AM Subject: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_API.c > At 09:34 AM 1/19/2004 +0100, Marcus Boerger wrote: > >Hello Andi, > > > >Monday, January 19, 2004, 9:29:50 AM, you wrote: > > > > > Marcus, > > > > > This is something for autoconf and not for run-time. I see no reason for > > > this hack! > > > Similar things have been done like this in the past. > > > Andi > > > >Wouldn't autoconf not only change the order of compiling? > > No. Check out main/internal_functions.c. That's the order extensions are > loaded. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php