Re: [pcre-dev] Dependency issue

Top Page
Delete this message
Author: Ze'ev Atlas
Date:  
To: pcre-dev, Philip Hazel
Subject: Re: [pcre-dev] Dependency issue
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