Re: [squid-users] Adding Header file

From: Alex Rousskov <rousskov@dont-contact.us>
Date: Wed, 16 Apr 2008 09:38:50 -0600

On Wed, 2008-04-16 at 13:37 +1200, Amos Jeffries wrote:
> >
> > Thanks for the reply. The header file that I want to include is
> > "stack" which is already available in C++ just like "iostream" . When
> > I include it in a squid source file and try to create a stack
> > datatype, it gives an error saying "error: `stack' undeclared (first
> > use this function) " .
>
> Ah. That is an entirely different issue to what you described in your
> first mail. There are now a couple of issues here to consider.
>
> 1) why you are needing to add it to squid.
> 2) why you are trying to re-invent a type that is already well-known and
> available for use in probably all OS.
> 3) how to protect your new code against other types.
>
> A good think about 1 and 2 usually comes up with its not worth the work,
> just use the STL version provided.

I believe Paras is trying to use the existing STL stack type even though
he is saying that he is trying to "create a stack datatype" :-).

Cheers,

Alex.

> I'm not familiar with the specific guidelines in squid-2 (they are in the
> wiki somewhere IIRC). But for squid-3 when we need to add a standard type
> like this locally we name it like 'SquidStack' and the files the same.
> That way there is no clash to worry about.
>
> Also there is basic code-wrapping. Any new experimental code needs to have
> a configure option to enable it, with a matching macro USE_... which is
> used to protect normal builds against the new code.
>
> If you are going to insist on using a clashing type, you will force
> yourself to go through the OS provided <stack> and dependencies and
> un-define all the symbols that might cause problems. Its a big problem,
> and _really_ not worth it.
>
> >
> >
> > Example:
> >
> > #include <stack>
>
> <> in C/C++ means the compiler is specifically asked to find an OS
> provided file before testing the local ones. Not your new one.
> You MUST have double-quotes (") for local files. And preferably a unique
> localised name as I mention above.
>
> >
> > stack<char> test; - -> gives error.
> >
> > Thank you.
> >
> > -Plf
> >
> > On 4/15/08, Amos Jeffries <squid3@treenet.co.nz> wrote:
> >> Paras Fadte wrote:
> >>
> >> > Hi,
> >> >
> >> > I was trying to add header file "stack.h" in one of the squids source
> >> > code file so that I could define stack data types. But it doesn't
> >> > seem to work . Can anybody help me out with this please?
> >> >
> >> >
> >>
> >> Code discussions in squid-dev please.
> >>
> >> You need to:
> >> - add the files to the right sub-directory in the source,
> >> - add to teh matching Makefile.am in all the right places,
> >> - run bootstrap.sh,
> >> - run configure,
> >> - run make check,
> >> - ... and fix any of the errors that come up about your files.
> >> - test it works, and then submit a patch and request to have it used.
> >>
> >> NP: other errors in existing code. If any occur, please mention to
> >> squid-dev so we can check and fix.
> >>
> >> Amos
> >> --
> >> Please use Squid 2.6.STABLE19 or 3.0.STABLE4
> >>
> >
>
Received on Tue Apr 22 2008 - 15:39:28 MDT

This archive was generated by hypermail 2.2.0 : Wed Apr 30 2008 - 12:00:07 MDT