Re: [PATCH] kconfig/menuconfig: use TAILQ instead of CIRCLEQ

From: Yann E. MORIN
Date: Fri Oct 19 2012 - 18:52:49 EST

Tetsuo, Michal, All,

On Friday 19 October 2012 Tetsuo Handa wrote:
> Yann E. MORIN wrote:
> > Some systems (eg. Cygwin, FreeBSD) are missing the CIRCLEQ macros.
> > So, switch to using TAILQ instead, which are more portable.
> Excuse me, but your patch does not solve my problem because kconfig started
> using macros which does not exist in "@(#)queue.h 8.3 (Berkeley) 12/13/93".

Whoa. That's old... :-/

Currently, kconfig uses (CIRCLEQ or TAILQ)

> Kconfig still fails after applying your patch:
> So, would you add something which looks like "sed -e 's/CIRCLEQ/TAILQ/g'" upon
> ?

Sorry, I did not see you had posted a patch.

Basically, I don't care what solution we choose. Using TAILQ looks like
being not the solution. So, here are the known options:
1- Michal pointed to tools/firewire/list.h, but those are different from
the CIRCLEQ/TAILQ, and switching is not easy (at least for me after a
quick glance);

1b- note also that drivers/scsi/aic7xxx/queue.h has all of both the CIRCLEQ
and TAILQ macros we're interested in, too, and it looks like it can be
used out of the kernel (eg. for userland);

2- carry the parts of CIRCLEQ (or TAILQ) that we need, and use them if
the system's sys/queue.h does not provide them, as Tetsuo proposed;

3- carry the parts of CIRCLEQ (or TAILQ) that we need, and do not rely
on the system's sys/queue.h to provide them at all.

Michal, what do you think would be the best route to go, to:
1- get a fix in 3.7 ?
2- if the fix for 3.7 is just a workaround, a proper fix for 3.8 ?

Yann E. MORIN.

| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no |
| | _/*\_ | / \ HTML MAIL | v conspiracy. |
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at