Hi PhilipI gave it a lot of thought and I would like to plead with you, before I go to a non-standard solution and before you continue with potentially dangerous structure. Shouldn't it be better to put find_bracket (and potentially other such routines) into a module unto themselves, perhaps pcre2_supportfunctions.c and in that way open them to use from any module without circular dependency issue? Ze'ev Atlas
From: Ze'ev Atlas <zatlas1@???>
To: "pcre-dev@???" <pcre-dev@???>
Sent: Wednesday, July 15, 2015 1:03 PM
Subject: Re: Dependency issue
Thanks
> Philip wrote
I am not an expert in those tools either. However, I don't think there's
any kind of dependency processing.
ZA: By at large, circular dependency is not a desired situation and any solution that accepts it as a given may succumb to possible situation where the circular dependency has been an error. I would say that a warning message should come out of any tool that manages a build processes.I do not know about any automated build process, and thus of any dependency processing built in in z/OS. I wrote my own process which depends on analyzing the output of attempted linkeditting. I will extend this process to produce a warning message when an attempted circular dependency is in place.
> Philip wrote
You could try just concatenating the two files and compiling them as a
single unit. Then all the mutually-calling functions would be together.
ZA: I will try that approach (i.e. concatenating the two files) which is now possible, since in PCRE2 I do not need to to refer directly to the external names (which I have to shorten to 8 characters) anymore. I am using a set of automated '#pragma map' statements instead and I can parameterize my process to look at pcre2_compile and pcre2_study as one unit. It will require a few changes and improvements, but those could be of general purpose character (i.e. handle all such cases).
In a way, this situation is a good thing because it will require me to generalize my build process and dependency processing tool even more.
Ze'ev Atlas