|
From: Michel T. <mt...@lu...> - 2001-04-04 10:37:07
|
Rajmohan B wrote:
> Hi,
>
> I'm trying to compile enlightenment on sparc solaris 5.7. I get the following error while compiling enlightenment 0.16.5.
>
> ************************************************************************************************************************
> make[4]: Leaving directory `/users/rajmohan/GNU/enlightenment-0.16.4/src/themes'
> make[3]: Leaving directory `/users/rajmohan/GNU/enlightenment-0.16.4/src/themes'
> make[3]: Entering directory `/users/rajmohan/GNU/enlightenment-0.16.4/src'
> gcc -DENLIGHTENMENT_ROOT=\"/users/rajmohan/local/enlightenment\" -DENLIGHTENMENT_BIN=\"/users/rajmohan/local/enlightenment/bin\" -LOCALEDIR=\"/users/rajmohan/local/enlightenment/locale\"
> -I.. -I/users/rajmohan/local/include -I/usr/openwin/include -I/users/rajmohan/local/include -I.. -I../intl -I../intl -g -O2 -c warp.c
> cpp: In file included from warp.c:43:
> /usr/openwin/include/X11/XKBlib.h:31: X11/extensions/XKBstr.h: No such file or directory
>
> make[3]: *** [warp.o] Error 1
>
Looking at my 0.16.3 src for warp.c I have the following :
#include "E.h"
#define XK_MISCELLANY
#ifdef WITH_TARTY_WARP
#include <X11/XKBlib.h>
#endif
#include <X11/keysymdef.h>
On solaris 2.6 I have no XKBlib.h (and of course no XKBstr.h) but compiling without the WITH_TARTY_WARP define was OK. I have not checked wether it changed in 16.4
Here is the result of grep WITH_TARTY_WARP :
E.h:83:#if (WITH_TARTY_WARP == 1)
E.h:84:#define WITH_TARTY_WARP 1
E.h:86:#undef WITH_TARTY_WARP
E.h:87:#endif /* !WITH_TARTY_WARP */
settings.c:245:#ifdef WITH_TARTY_WARP
settings.c:249:#endif /* WITH_TARTY_WARP */
settings.c:277:#ifdef WITH_TARTY_WARP
settings.c:281:#endif /* WITH_TARTY_WARP */
settings.c:392:#ifdef WITH_TARTY_WARP
settings.c:422:#endif /* WITH_TARTY_WARP */
setup.c:564:#ifdef WITH_TARTY_WARP
setup.c:568:#endif /* WITH_TARTY_WARP */
warp.c:42:#ifdef WITH_TARTY_WARP
warp.c:62:#ifdef WITH_TARTY_WARP
warp.c:80:#ifdef WITH_TARTY_WARP
it looks like :
E.h :
#if (WITH_TARTY_WARP == 1)
#define WITH_TARTY_WARP 1
#else
#undef WITH_TARTY_WARP
#endif /* !WITH_TARTY_WARP */
settings.c :
CB_ConfigureFocus(int val, void *data)
{
if (val < 2)
{
mode.focusmode = tmp_focus;
mode.all_new_windows_get_focus = tmp_new_focus;
mode.new_transients_get_focus = tmp_popup_focus;
mode.new_transients_get_focus_if_group_focused = tmp_owner_popup_focus;
mode.raise_on_next_focus = tmp_raise_focus;
mode.warp_on_next_focus = tmp_warp_focus;
#ifdef WITH_TARTY_WARP
mode.warp_after_next_focus = tmp_warp_after_focus;
mode.raise_after_next_focus = tmp_raise_after_focus;
mode.display_warp = tmp_display_warp;
#endif /* WITH_TARTY_WARP */
mode.clickalways = tmp_clickalways;
FixFocus();
}
autosave();
data = NULL;
}
void
SettingsFocus(void)
{
Dialog *d;
DItem *table, *di, *radio;
if ((d = FindItem("CONFIGURE_FOCUS", 0, LIST_FINDBY_NAME, LIST_TYPE_DIALOG)))
{
AUDIO_PLAY("SOUND_SETTINGS_ACTIVE");
ShowDialog(d);
return;
}
AUDIO_PLAY("SOUND_SETTINGS_FOCUS");
tmp_focus = mode.focusmode;
tmp_new_focus = mode.all_new_windows_get_focus;
tmp_popup_focus = mode.new_transients_get_focus;
tmp_owner_popup_focus = mode.new_transients_get_focus_if_group_focused;
tmp_raise_focus = mode.raise_on_next_focus;
tmp_warp_focus = mode.warp_on_next_focus;
#ifdef WITH_TARTY_WARP
tmp_raise_after_focus = mode.raise_after_next_focus;
tmp_warp_after_focus = mode.warp_after_next_focus;
tmp_display_warp = mode.display_warp;
#endif /* WITH_TARTY_WARP */
tmp_clickalways = mode.clickalways;
..... further in same func :
#ifdef WITH_TARTY_WARP
di = DialogAddItem(table, DITEM_SEPARATOR);
DialogItemSetColSpan(di, 2);
DialogItemSetPadding(di, 2, 2, 2, 2);
DialogItemSetFill(di, 1, 0);
DialogItemSeparatorSetOrientation(di, 0);
di = DialogAddItem(table, DITEM_CHECKBUTTON);
DialogItemSetPadding(di, 2, 2, 2, 2);
DialogItemSetFill(di, 1, 0);
DialogItemSetColSpan(di, 2);
DialogItemCheckButtonSetText(di, "Display and use focuslist");
DialogItemCheckButtonSetState(di, tmp_display_warp);
DialogItemCheckButtonSetPtr(di, &tmp_display_warp);
di = DialogAddItem(table, DITEM_CHECKBUTTON);
DialogItemSetPadding(di, 2, 2, 2, 2);
DialogItemSetFill(di, 1, 0);
DialogItemSetColSpan(di, 2);
DialogItemCheckButtonSetText(di, "Raise windows after focus switch");
DialogItemCheckButtonSetState(di, tmp_raise_after_focus);
DialogItemCheckButtonSetPtr(di, &tmp_raise_after_focus);
di = DialogAddItem(table, DITEM_CHECKBUTTON);
DialogItemSetPadding(di, 2, 2, 2, 2);
DialogItemSetFill(di, 1, 0);
DialogItemSetColSpan(di, 2);
DialogItemCheckButtonSetText(di, "Send mouse pointer to window after focus switch");
DialogItemCheckButtonSetState(di, tmp_warp_after_focus);
DialogItemCheckButtonSetPtr(di, &tmp_warp_after_focus);
#endif /* WITH_TARTY_WARP */
di = DialogAddItem(table, DITEM_SEPARATOR);
setup.c:564: (in func SetupX
#ifdef WITH_TARTY_WARP
mode.display_warp = 1;
#else
mode.display_warp = 0;
#endif /* WITH_TARTY_WARP */
in warp.c :
void
WarpFocusInitEvents(void)
{
int xkbOpCode, xkbEventBase, xkbErrorBase;
int xkbMajor, xkbMinor;
#ifdef WITH_TARTY_WARP
if (XkbQueryExtension(disp, &xkbOpCode, &xkbEventBase, &xkbErrorBase,
&xkbMajor, &xkbMinor))
{
xkbEventNumber = xkbEventBase + XkbEventCode;
XkbSelectEventDetails(disp, XkbUseCoreKbd, XkbStateNotify,
XkbAllStateComponentsMask,
XkbAllStateComponentsMask);
}
else
mode.display_warp = -1;
#endif
}
int
WarpFocusHandleEvent(XEvent * ev)
{
EDBUG(5, "WarpFocusHandleEvent");
#ifdef WITH_TARTY_WARP
if ((!mode.display_warp) || (xkbEventNumber < 0))
{
EDBUG_RETURN(0);
}
if (ev->type == xkbEventNumber)
{
XkbEvent *xev;
xev = (XkbEvent *) ev;
if (xev->any.xkb_type == XkbStateNotify)
{
XkbStateNotifyEvent *sn;
KeySym keySym;
sn = &xev->state;
keySym = XKeycodeToKeysym(disp, sn->keycode, 0);
if ((keySym == XK_Alt_L) || (keySym == XK_Alt_R) ||
(keySym == XK_Shift_L) || (keySym == XK_Shift_R) ||
(keySym == XK_Control_L) || (keySym == XK_Control_R) ||
(keySym == XK_Meta_L) || (keySym == XK_Meta_R) ||
(keySym == XK_Super_L) || (keySym == XK_Super_R) ||
(keySym == XK_Hyper_L) || (keySym == XK_Hyper_R))
{
int newAltPressed;
newAltPressed = (sn->event_type == KeyPress);
if ((warpFocusAltPressed) && (!newAltPressed))
WarpFocusFinish();
warpFocusAltPressed = newAltPressed;
}
}
EDBUG_RETURN(1);
}
#endif
EDBUG_RETURN(0);
}
> --
> Michel TRAIN mailto:mt...@lu...
> Bell Laboratories Tel.: (+33) 299 848336
> Lucent Technologies INS France Fax.: (+33) 299 848311
> 13, sq. du Chene Germain / 35510 Cesson-Sevigne / France
>
|