From dd2d71fc9b1c921d207619206a438ccf016356f0 Mon Sep 17 00:00:00 2001 From: kojima Date: Sat, 15 May 1999 17:38:05 +0000 Subject: [PATCH] started Appearance update in WPrefs added tabbed view changed some callbacks to delegate like stuff (textfield and browser) --- ChangeLog | 1 + Makefile.in | 3 + NEWS | 7 + WINGs/ChangeLog | 18 + WINGs/Makefile.am | 1 + WINGs/Makefile.in | 6 +- WINGs/README | 2 +- WINGs/WINGs.h | 112 +++++- WINGs/WINGsP.h | 3 + WINGs/wbrowser.c | 78 ++-- WINGs/wfilepanel.c | 17 +- WINGs/widgets.c | 2 + WINGs/wtabview.c | 646 ++++++++++++++++++++++++++++++++++ WINGs/wtest.c | 65 +++- WINGs/wtextfield.c | 107 ++++-- WINGs/wview.c | 6 + WPrefs.app/Appearance.c | 148 ++++---- WPrefs.app/Menu.c | 25 +- WPrefs.app/Paths.c | 12 +- WindowMaker/Backgrounds/Makefile.in | 3 + WindowMaker/Defaults/Makefile.in | 3 + WindowMaker/IconSets/Makefile.in | 3 + WindowMaker/Icons/Makefile.in | 3 + WindowMaker/Makefile.in | 3 + WindowMaker/Pixmaps/Makefile.in | 3 + WindowMaker/Styles/Makefile.in | 3 + WindowMaker/Themes/Makefile.in | 3 + WindowMaker/autostart.sh | 5 + WindowMaker/exitscript.sh | 5 + acconfig.h | 3 + aclocal.m4 | 303 ++++++++++++---- configure | 685 +++++++++++++++++++++++------------- configure.in | 10 + contrib/Makefile.in | 3 + doc/Makefile.in | 3 + po/Makefile.in | 3 + src/config.h.in | 3 + src/screen.c | 2 +- test/Makefile.in | 3 + util/Makefile.in | 3 + util/wmsetbg.c | 7 +- wmlib/Makefile.in | 3 + wrlib/Makefile.in | 3 + 43 files changed, 1829 insertions(+), 498 deletions(-) create mode 100644 WINGs/wtabview.c diff --git a/ChangeLog b/ChangeLog index 58def32e..afe62b9b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -31,6 +31,7 @@ Changes since version 0.53.0: seb_bauer@bigfoot.com) - added GNUstep info panel (still needs beautification..) - made the paths selector in WPrefs.app use the open file panel +- fixed crash bug with hiding apps without dock/clip - fixed a mem leak in superfluous mode caused by the ghost icon. - added possibility to set omnipresent icons in Clip. See NEWS. diff --git a/Makefile.in b/Makefile.in index b60f6773..c20711ed 100644 --- a/Makefile.in +++ b/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/NEWS b/NEWS index 0483d13a..ae1f8122 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,13 @@ NEWS for veteran Window Maker users --- 0.54.0 +User Menu +--------- + +The user menu is now a compile time option disabled by default. +Supply --enable-usermenu to configure to enable it. + + root menu INCOMPATIBLE changes ------------------------------ diff --git a/WINGs/ChangeLog b/WINGs/ChangeLog index 52b12a5b..9e76ef02 100644 --- a/WINGs/ChangeLog +++ b/WINGs/ChangeLog @@ -3,6 +3,24 @@ changes since wmaker 0.53.0: - added balloon help - fixed a bug with setting initial path in browsers. +- added WMSetButtonImageDimsWhenDisabled() +- changed simple callback/notifications to delegate-like stuff. Affected + widgets are: + WMBrowser + - WMSetBrowserFillProc() was replaced with WMSetBrowserDelegate + - WMBrowserDidScrollNotification was replaced with a delegate callback + + WMTextField (not completed yet) + The notifications will still work, but using the delegate is preferable + + How to convert old code to delegate callbacks: + Create a variable (static or dynamic) of the type of the delegate for + the widget type. Replace the notification observers with the + equivalent delegate callbacks. Put pointers to the callbacks + in the delegate variable. + Take a look in wfilepanel.c to see how it is used there. + +- added WMTabView changes since wmaker 0.52.0: ............................ diff --git a/WINGs/Makefile.am b/WINGs/Makefile.am index c46ca1ed..a9b89fbd 100644 --- a/WINGs/Makefile.am +++ b/WINGs/Makefile.am @@ -89,6 +89,7 @@ libWINGs_a_SOURCES = \ wscrollview.c \ wslider.c \ wsplitview.c \ + wtabview.c \ wtextfield.c \ wwindow.c \ wview.c \ diff --git a/WINGs/Makefile.in b/WINGs/Makefile.in index 11318ea1..823e9cf1 100644 --- a/WINGs/Makefile.in +++ b/WINGs/Makefile.in @@ -139,7 +139,7 @@ wmquery_LDADD = libWINGs.a $(LIBLIST) EXTRA_DIST = logo.xpm # wbutton.c -libWINGs_a_SOURCES = WINGs.h WINGsP.h configuration.c llist.h llist.c international.c notification.c selection.c userdefaults.c wapplication.c wballoon.c wbrowser.c wbutton.c wcolor.c wcolorpanel.c wcolorwell.c wevent.c wfilepanel.c wframe.c wfont.c wfontpanel.c widgets.c wlabel.c wlist.c wmisc.c wpanel.c wpixmap.c wpopupbutton.c wscroller.c wscrollview.c wslider.c wsplitview.c wtextfield.c wwindow.c wview.c error.c findfile.c hashtable.c memory.c usleep.c +libWINGs_a_SOURCES = WINGs.h WINGsP.h configuration.c llist.h llist.c international.c notification.c selection.c userdefaults.c wapplication.c wballoon.c wbrowser.c wbutton.c wcolor.c wcolorpanel.c wcolorwell.c wevent.c wfilepanel.c wframe.c wfont.c wfontpanel.c widgets.c wlabel.c wlist.c wmisc.c wpanel.c wpixmap.c wpopupbutton.c wscroller.c wscrollview.c wslider.c wsplitview.c wtabview.c wtextfield.c wwindow.c wview.c error.c findfile.c hashtable.c memory.c usleep.c INCLUDES = -I$(top_srcdir)/wrlib -I$(top_srcdir)/src -DRESOURCE_PATH=\"$(datadir)/WINGs\" @HEADER_SEARCH_PATH@ -DDEBUG @@ -163,8 +163,8 @@ notification.o selection.o userdefaults.o wapplication.o wballoon.o \ wbrowser.o wbutton.o wcolor.o wcolorpanel.o wcolorwell.o wevent.o \ wfilepanel.o wframe.o wfont.o wfontpanel.o widgets.o wlabel.o wlist.o \ wmisc.o wpanel.o wpixmap.o wpopupbutton.o wscroller.o wscrollview.o \ -wslider.o wsplitview.o wtextfield.o wwindow.o wview.o error.o \ -findfile.o hashtable.o memory.o usleep.o +wslider.o wsplitview.o wtabview.o wtextfield.o wwindow.o wview.o \ +error.o findfile.o hashtable.o memory.o usleep.o AR = ar PROGRAMS = $(noinst_PROGRAMS) diff --git a/WINGs/README b/WINGs/README index 67408c78..c1ed638e 100644 --- a/WINGs/README +++ b/WINGs/README @@ -58,6 +58,7 @@ Widgets provided by WINGs: - scrollable view - color well - split view (only 2 subviews) +- tabbed view - input box - file panel @@ -86,7 +87,6 @@ Wish list: (I don't have the know-how or time to do them) - matrix (like NSMatrix) - splitviews with more than 2 subviews - font manager (like NSFontManager) -- finish file panel, open/save - finish other wigets - optimize list scrolling (XCopyArea() the area that's already drawn) - InterfaceMaker? diff --git a/WINGs/WINGs.h b/WINGs/WINGs.h index 836d17c4..1e657778 100644 --- a/WINGs/WINGs.h +++ b/WINGs/WINGs.h @@ -160,13 +160,21 @@ typedef enum { /* matrix types */ typedef enum { - WMMRadioMode, - WMMHighlightMode, - WMMListMode, - WMMTrackMode + WMRadioMode, + WMHighlightMode, + WMListMode, + WMTrackMode } WMMatrixTypes; +typedef enum { + WTTopTabsBevelBorder, + WTNoTabsBevelBorder, + WTNoTabsLineBorder, + WTNoTabsNoBorder +} WMTabViewTypes; + + /* text movement types */ enum { WMIllegalTextMovement, @@ -255,7 +263,8 @@ enum { WC_ColorWell = 10, WC_Slider = 11, WC_Matrix = 12, /* not ready */ - WC_SplitView = 13 + WC_SplitView = 13, + WC_TabView = 14 }; /* All widgets must start with the following structure @@ -297,8 +306,12 @@ typedef struct W_ColorWell WMColorWell; typedef struct W_Slider WMSlider; typedef struct W_Matrix WMMatrix; /* not ready */ typedef struct W_SplitView WMSplitView; +typedef struct W_TabView WMTabView; /* not widgets */ +typedef struct W_TabViewItem WMTabViewItem; + + typedef struct W_FilePanel WMFilePanel; typedef WMFilePanel WMOpenPanel; typedef WMFilePanel WMSavePanel; @@ -392,9 +405,6 @@ typedef void WMSplitViewConstrainProc(WMSplitView *sPtr, int dividerIndex, typedef WMWidget *WMMatrixCreateCellProc(WMMatrix *mPtr); -typedef void WMBrowserFillColumnProc(WMBrowser *bPtr, int column); - - typedef Bool WMConvertSelectionProc(WMWidget *w, Atom selection, Atom target, Atom *type, void **value, unsigned *length, int *format); @@ -403,6 +413,45 @@ typedef void WMLoseSelectionProc(WMWidget *w, Atom selection); typedef void WMSelectionDoneProc(WMWidget *w, Atom selection, Atom target); + + + +typedef struct WMBrowserDelegate { + void *data; + + void (*createRowsForColumn)(struct WMBrowserDelegate *self, + WMBrowser *sender, int column, WMList *list); + + char* (*titleOfColumn)(struct WMBrowserDelegate *self, WMBrowser *sender, + int column); + + void (*didScroll)(struct WMBrowserDelegate *self, WMBrowser *sender); + + void (*willScroll)(struct WMBrowserDelegate *self, WMBrowser *sender); +} WMBrowserDelegate; + + +typedef struct WMTextFieldDelegate { + void *data; + + void (*didBeginEditing)(struct WMTextFieldDelegate *self, + WMNotification *notif); + + void (*didChange)(struct WMTextFieldDelegate *self, + WMNotification *notif); + + void (*didEndEditing)(struct WMTextFieldDelegate *self, + WMNotification *notif); + + Bool (*shouldBeginEditing)(struct WMTextFieldDelegate *self, + WMTextField *tPtr); + + Bool (*shouldEndEditing)(struct WMTextFieldDelegate *self, + WMTextField *tPtr); +} WMTextFieldDelegate; + + + /* ....................................................................... */ @@ -736,6 +785,8 @@ void WMSetButtonBordered(WMButton *bPtr, int isBordered); void WMSetButtonEnabled(WMButton *bPtr, Bool flag); +void WMSetButtonImageDimsWhenDisabled(WMButton *bPtr, Bool flag); + void WMSetButtonTag(WMButton *bPtr, int tag); void WMGroupButtons(WMButton *bPtr, WMButton *newMember); @@ -910,8 +961,6 @@ char *WMGetBrowserPath(WMBrowser *bPtr); /* you can free the returned string */ char *WMGetBrowserPathToColumn(WMBrowser *bPtr, int column); -void WMSetBrowserFillColumnProc(WMBrowser *bPtr,WMBrowserFillColumnProc *proc); - void WMSetBrowserAction(WMBrowser *bPtr, WMAction *action, void *clientData); void WMSetBrowserDoubleAction(WMBrowser *bPtr, WMAction *action, @@ -931,7 +980,7 @@ int WMGetBrowserMaxVisibleColumns(WMBrowser *bPtr); WMList *WMGetBrowserListInColumn(WMBrowser *bPtr, int column); -extern char *WMBrowserDidScrollNotification; +void WMSetBrowserDelegate(WMBrowser *bPtr, WMBrowserDelegate *delegate); /* ....................................................................... */ @@ -1068,6 +1117,47 @@ int WMGetSplitViewDividerThickness(WMSplitView *sPtr); /* ....................................................................... */ + +WMTabView *WMCreateTabView(WMWidget *parent); + +void WMAddItemInTabView(WMTabView *tPtr, WMTabViewItem *item); + +void WMInsertItemInTabView(WMTabView *tPtr, int index, WMTabViewItem *item); + +void WMRemoveTabViewItem(WMTabView *tPtr, WMTabViewItem *item); + +WMTabViewItem *WMTabViewItemAtPoint(WMTabView *tPtr, int x, int y); + +void WMSelectFirstTabViewItem(WMTabView *tPtr); + +void WMSelectLastTabViewItem(WMTabView *tPtr); + +void WMSelectNextTabViewItem(WMTabView *tPtr); + +void WMSelectPreviousTabViewItem(WMTabView *tPtr); + +WMTabViewItem *WMGetSelectedTabViewItem(WMTabView *tPtr); + +void WMSelectTabViewItem(WMTabView *tPtr, WMTabViewItem *item); + +void WMSelectTabViewItemAtIndex(WMTabView *tPtr, int index); + + + +WMTabViewItem *WMCreateTabViewItemWithIdentifier(int identifier); + +void WMSetTabViewItemLabel(WMTabViewItem *item, char *label); + +char *WMGetTabViewItemLabel(WMTabViewItem *item); + +void WMSetTabViewItemView(WMTabViewItem *item, WMView *view); + +WMView *WMGetTabViewItemView(WMTabViewItem *item); + +void WMDestroyTabViewItem(WMTabViewItem *item); + +/* ....................................................................... */ + int WMRunAlertPanel(WMScreen *app, WMWindow *owner, char *title, char *msg, char *defaultButton, char *alternateButton, char *otherButton); diff --git a/WINGs/WINGsP.h b/WINGs/WINGsP.h index b0bc1622..f031cabb 100644 --- a/WINGs/WINGsP.h +++ b/WINGs/WINGsP.h @@ -262,6 +262,9 @@ typedef struct W_View { XSetWindowAttributes attribs; void *hangedData; /* data holder for user program */ + + WMColor *backColor; + #if 0 struct W_DragSourceProcs *dragSourceProcs; struct W_DragDestinationProcs *dragDestinationProcs; diff --git a/WINGs/wbrowser.c b/WINGs/wbrowser.c index 8d4ed7d6..e4279dc8 100644 --- a/WINGs/wbrowser.c +++ b/WINGs/wbrowser.c @@ -6,8 +6,6 @@ #include /* for : double rint (double) */ -char *WMBrowserDidScrollNotification = "WMBrowserDidScrollNotification"; - typedef struct W_Browser { W_Class widgetClass; @@ -35,7 +33,7 @@ typedef struct W_Browser { void *doubleClientData; WMAction *doubleAction; - WMBrowserFillColumnProc *fillColumn; + WMBrowserDelegate *delegate; WMScroller *scroller; @@ -265,23 +263,6 @@ drawTitleOfColumn(WMBrowser *bPtr, int column) } -void -WMSetBrowserColumnTitle(WMBrowser *bPtr, int column, char *title) -{ - assert(column >= 0); - assert(column < bPtr->usedColumnCount); - - if (bPtr->titles[column]) - free(bPtr->titles[column]); - - bPtr->titles[column] = wstrdup(title); - - if (COLUMN_IS_VISIBLE(bPtr, column) && bPtr->flags.isTitled) { - drawTitleOfColumn(bPtr, column); - } -} - - WMList* WMGetBrowserListInColumn(WMBrowser *bPtr, int column) { @@ -293,9 +274,9 @@ WMGetBrowserListInColumn(WMBrowser *bPtr, int column) void -WMSetBrowserFillColumnProc(WMBrowser *bPtr, WMBrowserFillColumnProc *proc) +WMSetBrowserDelegate(WMBrowser *bPtr, WMBrowserDelegate *delegate) { - bPtr->fillColumn = proc; + bPtr->delegate = delegate; } @@ -390,6 +371,23 @@ WMGetBrowserSelectedRowInColumn(WMBrowser *bPtr, int column) void +WMSetBrowserColumnTitle(WMBrowser *bPtr, int column, char *title) +{ + assert(column >= 0); + assert(column < bPtr->usedColumnCount); + + if (bPtr->titles[column]) + free(bPtr->titles[column]); + + bPtr->titles[column] = wstrdup(title); + + if (COLUMN_IS_VISIBLE(bPtr, column) && bPtr->flags.isTitled) { + drawTitleOfColumn(bPtr, column); + } +} + + +void WMSetBrowserTitled(WMBrowser *bPtr, Bool flag) { int i; @@ -750,6 +748,7 @@ WMGetBrowserPath(WMBrowser *bPtr) } + char* WMGetBrowserPathToColumn(WMBrowser *bPtr, int column) { @@ -792,11 +791,24 @@ WMGetBrowserPathToColumn(WMBrowser *bPtr, int column) static void loadColumn(WMBrowser *bPtr, int column) { - assert(bPtr->fillColumn); - + assert(bPtr->delegate); + assert(bPtr->delegate->createRowsForColumn); + bPtr->flags.loadingColumn = 1; - (*bPtr->fillColumn)(bPtr, column); + (*bPtr->delegate->createRowsForColumn)(bPtr->delegate, bPtr, column, + bPtr->columns[column]); bPtr->flags.loadingColumn = 0; + + if (bPtr->delegate->titleOfColumn) { + char *title; + + title = (*bPtr->delegate->titleOfColumn)(bPtr->delegate, bPtr, column); + + if (bPtr->titles[column]) + free(bPtr->titles[column]); + + bPtr->titles[column] = title; + } } @@ -850,12 +862,17 @@ scrollToColumn(WMBrowser *bPtr, int column, Bool updateScroller) int notify = 0; - if (column != bPtr->firstVisibleColumn) + if (column != bPtr->firstVisibleColumn) { notify = 1; + } if (column < 0) column = 0; + if (notify && bPtr->delegate && bPtr->delegate->willScroll) { + (*bPtr->delegate->willScroll)(bPtr->delegate, bPtr); + } + x = 0; bPtr->firstVisibleColumn = column; for (i = 0; i < bPtr->columnCount; i++) { @@ -888,8 +905,9 @@ scrollToColumn(WMBrowser *bPtr, int column, Bool updateScroller) if (bPtr->view->flags.mapped) paintBrowser(bPtr); - if (notify) - WMPostNotificationName(WMBrowserDidScrollNotification, bPtr, NULL); + if (notify && bPtr->delegate && bPtr->delegate->didScroll) { + (*bPtr->delegate->didScroll)(bPtr->delegate, bPtr); + } } @@ -1007,7 +1025,7 @@ listSelectionObserver(void *observerData, WMNotification *notification) int column, item = (int)WMGetNotificationClientData(notification); WMList *lPtr = (WMList*)WMGetNotificationObject(notification); - for (column=0; columnusedColumnCount; column++) + for (column = 0; column < bPtr->usedColumnCount; column++) if (bPtr->columns[column] == lPtr) break; @@ -1095,7 +1113,7 @@ destroyBrowser(WMBrowser *bPtr) { int i; - for (i=0; icolumnCount; i++) { + for (i = 0; i < bPtr->columnCount; i++) { if (bPtr->titles[i]) free(bPtr->titles[i]); } diff --git a/WINGs/wfilepanel.c b/WINGs/wfilepanel.c index 5768be23..7c45e9ff 100644 --- a/WINGs/wfilepanel.c +++ b/WINGs/wfilepanel.c @@ -63,7 +63,8 @@ static void listDirectoryOnColumn(WMFilePanel *panel, int column, char *path); static void browserClick(); static void browserDClick(); -static void fillColumn(WMBrowser *bPtr, int column); +static void fillColumn(WMBrowserDelegate *self, WMBrowser *bPtr, int column, + WMList *list); static void goHome(); @@ -74,6 +75,16 @@ static char *getCurrentFileName(WMFilePanel *panel); static void handleEvents(XEvent *event, void *data); + +static WMBrowserDelegate browserDelegate = { + NULL, /* data */ + fillColumn, /* createRowsForColumn */ + NULL, /* titleOfColumn */ + NULL, /* didScroll */ + NULL /* willScroll */ +}; + + static int closestListItem(WMList *list, char *text, Bool exact) { @@ -198,7 +209,7 @@ makeFilePanel(WMScreen *scrPtr, char *name, char *title) WMSetFrameRelief(fPtr->line, WRGroove); fPtr->browser = WMCreateBrowser(fPtr->win); - WMSetBrowserFillColumnProc(fPtr->browser, fillColumn); + WMSetBrowserDelegate(fPtr->browser, &browserDelegate); WMSetBrowserAction(fPtr->browser, browserClick, fPtr); WMSetBrowserDoubleAction(fPtr->browser, browserDClick, fPtr); WMMoveWidget(fPtr->browser, 7, 72); @@ -531,7 +542,7 @@ listDirectoryOnColumn(WMFilePanel *panel, int column, char *path) static void -fillColumn(WMBrowser *bPtr, int column) +fillColumn(WMBrowserDelegate *self, WMBrowser *bPtr, int column, WMList *list) { char *path; WMFilePanel *panel; diff --git a/WINGs/widgets.c b/WINGs/widgets.c index 85c4c2b9..4dca3f2e 100644 --- a/WINGs/widgets.c +++ b/WINGs/widgets.c @@ -323,6 +323,7 @@ extern W_ViewProcedureTable _ColorWellViewProcedures; extern W_ViewProcedureTable _ScrollViewViewProcedures; extern W_ViewProcedureTable _SliderViewProcedures; extern W_ViewProcedureTable _SplitViewViewProcedures; +extern W_ViewProcedureTable _TabViewViewProcedures; /* * All widget classes defined must have an entry here. @@ -353,6 +354,7 @@ initProcedureTable() procedureTables[WC_ScrollView] = &_ScrollViewViewProcedures; procedureTables[WC_Slider] = &_SliderViewProcedures; procedureTables[WC_SplitView] = &_SplitViewViewProcedures; + procedureTables[WC_TabView] = &_TabViewViewProcedures; } diff --git a/WINGs/wtabview.c b/WINGs/wtabview.c new file mode 100644 index 00000000..68d47aa3 --- /dev/null +++ b/WINGs/wtabview.c @@ -0,0 +1,646 @@ + +#include "WINGsP.h" + + +typedef struct W_TabView { + W_Class widgetClass; + W_View *view; + + struct W_TabViewItem **items; + int itemCount; + int maxItems; /* size of items array */ + + int selectedItem; + + WMFont *font; + + WMColor *lightGray; + WMColor *tabColor; + + short tabWidth; + short tabHeight; + + struct { + WMReliefType relief:4; + WMTitlePosition titlePosition:4; + WMTabViewTypes type:2; + + unsigned tabbed:1; + unsigned allowsTruncatedLabels:1; + } flags; +} TabView; + + + +struct W_ViewProcedureTable _TabViewViewProcedures = { + NULL, + NULL, + NULL +}; + + +#define DEFAULT_WIDTH 40 +#define DEFAULT_HEIGHT 40 + + +static void destroyTabView(TabView *tPtr); +static void paintTabView(TabView *tPtr); + + +static void W_SetTabViewItemParent(WMTabViewItem *item, WMTabView *parent); + +static void W_DrawLabel(WMTabViewItem *item, Drawable d, WMRect rect); + +static void W_UnmapTabViewItem(WMTabViewItem *item); + +static void W_MapTabViewItem(WMTabViewItem *item); + +static WMView *W_TabViewItemView(WMTabViewItem *item); + +static void recalcTabWidth(TabView *tPtr); + + +static void +handleEvents(XEvent *event, void *data) +{ + TabView *tPtr = (TabView*)data; + + CHECK_CLASS(data, WC_TabView); + + switch (event->type) { + case Expose: + if (event->xexpose.count!=0) + break; + paintTabView(tPtr); + break; + + case ButtonPress: + { + WMTabViewItem *item = WMTabViewItemAtPoint(tPtr, + event->xbutton.x, + event->xbutton.y); + if (item) { + WMSelectTabViewItem(tPtr, item); + } + } + break; + + case DestroyNotify: + destroyTabView(tPtr); + break; + } +} + + + +WMTabView* +WMCreateTabView(WMWidget *parent) +{ + TabView *tPtr; + WMScreen *scr = WMWidgetScreen(parent); + + tPtr = wmalloc(sizeof(TabView)); + memset(tPtr, 0, sizeof(TabView)); + + tPtr->widgetClass = WC_TabView; + + tPtr->view = W_CreateView(W_VIEW(parent)); + if (!tPtr->view) { + free(tPtr); + return NULL; + } + tPtr->view->self = tPtr; + + tPtr->lightGray = WMCreateRGBColor(scr, 0xd9d9, 0xd9d9, 0xd9d9, False); + tPtr->tabColor = WMCreateRGBColor(scr, 0x8420, 0x8420, 0x8420, False); + + tPtr->font = WMRetainFont(scr->normalFont); + + WMCreateEventHandler(tPtr->view, ExposureMask|StructureNotifyMask + |ButtonPressMask, handleEvents, tPtr); + + WMResizeWidget(tPtr, DEFAULT_WIDTH, DEFAULT_HEIGHT); + + tPtr->tabHeight = WMFontHeight(tPtr->font) + 3; + + return tPtr; +} + + +void +WMAddItemInTabView(WMTabView *tPtr, WMTabViewItem *item) +{ + WMInsertItemInTabView(tPtr, tPtr->itemCount, item); +} + + +void +WMInsertItemInTabView(WMTabView *tPtr, int index, WMTabViewItem *item) +{ + wassertr(W_TabViewItemView(item) != NULL); + + if (tPtr->maxItems == tPtr->itemCount) { + WMTabViewItem **items; + + items = wrealloc(tPtr->items, tPtr->maxItems + 10); + if (!items) { + wwarning("out of memory allocating memory for tabview"); + return; + } + tPtr->items = items; + tPtr->maxItems += 10; + } + + if (index > tPtr->itemCount) + index = tPtr->itemCount; + + if (index == 0) { + W_UnmapTabViewItem(tPtr->items[0]); + } + + if (index < tPtr->itemCount) { + memmove(&tPtr->items[index + 1], &tPtr->items[index], + tPtr->itemCount - index); + } + + tPtr->items[index] = item; + + tPtr->itemCount++; + + recalcTabWidth(tPtr); + + W_SetTabViewItemParent(item, tPtr); + + W_UnmapTabViewItem(item); + + W_ReparentView(W_TabViewItemView(item), tPtr->view, 1, + tPtr->tabHeight + 1); + + W_ResizeView(W_TabViewItemView(item), tPtr->view->size.width - 3, + tPtr->view->size.height - tPtr->tabHeight - 3); + + if (index == 0) { + W_MapTabViewItem(item); + } +} + + +void +WMRemoveTabViewItem(WMTabView *tPtr, WMTabViewItem *item) +{ + int i; + + for (i = 0; i < tPtr->itemCount; i++) { + if (tPtr->items[i] == item) { + if (i < tPtr->itemCount - 1) + memmove(&tPtr->items[i], &tPtr->items[i + 1], + tPtr->itemCount - i - 1); + else + tPtr->items[i] = NULL; + + W_SetTabViewItemParent(item, NULL); + + tPtr->itemCount--; + break; + } + } +} + + + +static Bool +isInside(int x, int y, int width, int height, int px, int py) +{ + if (py >= y + height - 3 && py <= y + height + && px >= x + py - (y + height - 3) + && px <= x + width - (py - (y + height - 3))) { + + return True; + } + if (py >= y + 3 && py < y + height - 3 + && px >= x + 3 + ((y + 3) - py)*3/7 + && px <= x + width - 3 - ((y + 3) - py)*3/7) { + + return True; + } + if (py >= y && py < y + 3 + && px >= x + 7 + py - y + && px <= x + width - 7 - (py - y)) { + + return True; + } + return False; +} + + +WMTabViewItem* +WMTabViewItemAtPoint(WMTabView *tPtr, int x, int y) +{ + int i; + + i = tPtr->selectedItem; + if (isInside(8 + (tPtr->tabWidth-10)*i, 0, tPtr->tabWidth, + tPtr->tabHeight, x, y)) { + return tPtr->items[i]; + } + + for (i = 0; i < tPtr->itemCount; i++) { + if (isInside(8 + (tPtr->tabWidth-10)*i, 0, tPtr->tabWidth, + tPtr->tabHeight, x, y)) { + return tPtr->items[i]; + } + } + return NULL; +} + + +void +WMSelectFirstTabViewItem(WMTabView *tPtr) +{ + WMSelectTabViewItemAtIndex(tPtr, 0); +} + + +void +WMSelectLastTabViewItem(WMTabView *tPtr) +{ + WMSelectTabViewItemAtIndex(tPtr, tPtr->itemCount); +} + + +void +WMSelectNextTabViewItem(WMTabView *tPtr) +{ + WMSelectTabViewItemAtIndex(tPtr, tPtr->selectedItem + 1); +} + + +void +WMSelectPreviousTabViewItem(WMTabView *tPtr) +{ + WMSelectTabViewItemAtIndex(tPtr, tPtr->selectedItem - 1); +} + + +WMTabViewItem* +WMGetSelectedTabViewItem(WMTabView *tPtr) +{ + return tPtr->items[tPtr->selectedItem]; +} + + +void +WMSelectTabViewItem(WMTabView *tPtr, WMTabViewItem *item) +{ + int i; + + for (i = 0; i < tPtr->itemCount; i++) { + if (tPtr->items[i] == item) { + WMSelectTabViewItemAtIndex(tPtr, i); + break; + } + } +} + + +void +WMSelectTabViewItemAtIndex(WMTabView *tPtr, int index) +{ + WMTabViewItem *item; + + if (index == tPtr->selectedItem) + return; + + if (index < 0) + index = 0; + else if (index >= tPtr->itemCount) + index = tPtr->itemCount - 1; + + + item = tPtr->items[tPtr->selectedItem]; + + W_UnmapTabViewItem(item); + + + item = tPtr->items[index]; + + W_MapTabViewItem(item); + + tPtr->selectedItem = index; +} + + +static void +recalcTabWidth(TabView *tPtr) +{ + int i; + int twidth = W_VIEW(tPtr)->size.width; + int width; + + tPtr->tabWidth = 0; + for (i = 0; i < tPtr->itemCount; i++) { + char *str = WMGetTabViewItemLabel(tPtr->items[i]); + + if (str) { + width = WMWidthOfString(tPtr->font, str, strlen(str)); + if (width > tPtr->tabWidth) + tPtr->tabWidth = width; + } + } + tPtr->tabWidth += 30; + if (tPtr->tabWidth > twidth - 10 * tPtr->itemCount + && tPtr->tabWidth < twidth - 16) + tPtr->tabWidth = (twidth - 16) / tPtr->itemCount; +} + + +static void +drawRelief(W_Screen *scr, Drawable d, int x, int y, unsigned int width, + unsigned int height) +{ + Display *dpy = scr->display; + GC bgc = WMColorGC(scr->black); + GC wgc = WMColorGC(scr->white); + GC dgc = WMColorGC(scr->darkGray); + + XDrawLine(dpy, d, wgc, x, y, x, y+height-1); + + XDrawLine(dpy, d, bgc, x, y+height-1, x+width-1, y+height-1); + XDrawLine(dpy, d, dgc, x+1, y+height-2, x+width-2, y+height-2); + + XDrawLine(dpy, d, bgc, x+width-1, y, x+width-1, y+height-1); + XDrawLine(dpy, d, dgc, x+width-2, y+1, x+width-2, y+height-2); +} + + +static void +drawTab(TabView *tPtr, Drawable d, int x, int y, + unsigned width, unsigned height, Bool selected) +{ + WMScreen *scr = W_VIEW(tPtr)->screen; + Display *dpy = scr->display; + GC white = WMColorGC(selected ? scr->white : tPtr->lightGray); + GC black = WMColorGC(scr->black); + GC dark = WMColorGC(scr->darkGray); + GC light = WMColorGC(scr->gray); + XPoint trap[8]; + + trap[0].x = x + (selected ? 0 : 1); + trap[0].y = y + height - (selected ? 0 : 1); + + trap[1].x = x + 3; + trap[1].y = y + height - 3; + + trap[2].x = x + 10 - 3; + trap[2].y = y + 3; + + trap[3].x = x + 10; + trap[3].y = y; + + trap[4].x = x + width - 10; + trap[4].y = y; + + trap[5].x = x + width - 10 + 3; + trap[5].y = y + 3; + + trap[6].x = x + width - 3; + trap[6].y = y + height - 3; + + trap[7].x = x + width - (selected ? 0 : 1); + trap[7].y = y + height - (selected ? 0 : 1); + + XFillPolygon(dpy, d, selected ? light : WMColorGC(tPtr->tabColor), trap, 8, + Convex, CoordModeOrigin); + + XDrawLine(dpy, d, white, trap[0].x, trap[0].y, trap[1].x, trap[1].y); + XDrawLine(dpy, d, white, trap[1].x, trap[1].y, trap[2].x, trap[2].y); + XDrawLine(dpy, d, white, trap[2].x, trap[2].y, trap[3].x, trap[3].y); + XDrawLine(dpy, d, white, trap[3].x, trap[3].y, trap[4].x, trap[4].y); + XDrawLine(dpy, d, dark, trap[4].x, trap[4].y, trap[5].x, trap[5].y); + XDrawLine(dpy, d, black, trap[5].x, trap[5].y, trap[6].x, trap[6].y); + XDrawLine(dpy, d, black, trap[6].x, trap[6].y, trap[7].x, trap[7].y); + + XDrawLine(dpy, d, selected ? light : WMColorGC(scr->white), + trap[0].x, trap[0].y, trap[7].x, trap[7].y); +} + + +static void +paintTabView(TabView *tPtr) +{ + Pixmap buffer; + WMScreen *scr = W_VIEW(tPtr)->screen; + Display *dpy = scr->display; + GC white = WMColorGC(scr->white); + int i; + WMRect rect; + + switch (tPtr->flags.type) { + case WTTopTabsBevelBorder: + drawRelief(scr, W_VIEW(tPtr)->window, 0, tPtr->tabHeight - 1, + W_VIEW(tPtr)->size.width, + W_VIEW(tPtr)->size.height - tPtr->tabHeight + 1); + break; + + case WTNoTabsBevelBorder: + W_DrawRelief(scr, W_VIEW(tPtr)->window, 0, 0, W_VIEW(tPtr)->size.width, + W_VIEW(tPtr)->size.height, WRRaised); + break; + + case WTNoTabsLineBorder: + W_DrawRelief(scr, W_VIEW(tPtr)->window, 0, 0, W_VIEW(tPtr)->size.width, + W_VIEW(tPtr)->size.height, WRSimple); + break; + + case WTNoTabsNoBorder: + break; + } + + if (tPtr->flags.type == WTTopTabsBevelBorder) { + buffer = XCreatePixmap(dpy, W_VIEW(tPtr)->window, + W_VIEW(tPtr)->size.width, tPtr->tabHeight, + W_VIEW(tPtr)->screen->depth); + + XFillRectangle(dpy, buffer, WMColorGC(W_VIEW(tPtr)->backColor), + 0, 0, W_VIEW(tPtr)->size.width, tPtr->tabHeight); + + rect.pos.x = 8 + 15; + rect.pos.y = 2; + rect.size.width = tPtr->tabWidth; + rect.size.height = tPtr->tabHeight; + + for (i = tPtr->itemCount - 1; i >= 0; i--) { + if (i != tPtr->selectedItem) { + drawTab(tPtr, buffer, 8 + (rect.size.width-10)*i, 0, + rect.size.width, rect.size.height, False); + } + } + drawTab(tPtr, buffer, 8 + (rect.size.width-10) * tPtr->selectedItem, + 0, rect.size.width, rect.size.height, True); + + XDrawLine(dpy, buffer, white, 0, tPtr->tabHeight - 1, + 8, tPtr->tabHeight - 1); + + XDrawLine(dpy, buffer, white, + 8 + 10 + (rect.size.width-10) * tPtr->itemCount, + tPtr->tabHeight - 1, W_VIEW(tPtr)->size.width, + tPtr->tabHeight - 1); + + + for (i = 0; i < tPtr->itemCount; i++) { + W_DrawLabel(tPtr->items[i], buffer, rect); + + rect.pos.x += rect.size.width - 10; + } + + XCopyArea(dpy, buffer, W_VIEW(tPtr)->window, scr->copyGC, 0, 0, + W_VIEW(tPtr)->size.width, tPtr->tabHeight, 0, 0); + + XFreePixmap(dpy, buffer); + } +} + + +static void +destroyTabView(TabView *tPtr) +{ + int i; + + for (i = 0; i < tPtr->itemCount; i++) { + WMDestroyTabViewItem(tPtr->items[i]); + } + free(tPtr->items); + + WMReleaseColor(tPtr->lightGray); + WMReleaseColor(tPtr->tabColor); + WMReleaseFont(tPtr->font); + + free(tPtr); +} + +/******************************************************************/ + + +typedef struct W_TabViewItem { + WMTabView *tabView; + + W_View *view; + + char *label; + + int identifier; + + struct { + unsigned visible:1; + } flags; +} TabViewItem; + + +static void +W_SetTabViewItemParent(WMTabViewItem *item, WMTabView *parent) +{ + item->tabView = parent; +} + + +static void +W_DrawLabel(WMTabViewItem *item, Drawable d, WMRect rect) +{ + WMScreen *scr = W_VIEW(item->tabView)->screen; + + if (!item->label) + return; + + WMDrawString(scr, d, WMColorGC(scr->black), item->tabView->font, + rect.pos.x, rect.pos.y, item->label, strlen(item->label)); +} + + +static void +W_UnmapTabViewItem(WMTabViewItem *item) +{ + wassertr(item->view); + + W_UnmapView(item->view); + + item->flags.visible = 0; +} + + +static void +W_MapTabViewItem(WMTabViewItem *item) +{ + wassertr(item->view); + + W_MapView(item->view); + + item->flags.visible = 1; +} + + +static WMView* +W_TabViewItemView(WMTabViewItem *item) +{ + return item->view; +} + + +WMTabViewItem* +WMCreateTabViewItemWithIdentifier(int identifier) +{ + WMTabViewItem *item; + + item = wmalloc(sizeof(WMTabViewItem)); + memset(item, 0, sizeof(WMTabViewItem)); + + item->identifier = identifier; + + return item; +} + + +void +WMSetTabViewItemLabel(WMTabViewItem *item, char *label) +{ + if (item->label) + free(item->label); + + item->label = wstrdup(label); + + if (item->tabView) + recalcTabWidth(item->tabView); +} + + +char* +WMGetTabViewItemLabel(WMTabViewItem *item) +{ + return item->label; +} + + +void +WMSetTabViewItemView(WMTabViewItem *item, WMView *view) +{ + item->view = view; +} + + +WMView* +WMGetTabViewItemView(WMTabViewItem *item) +{ + return item->view; +} + + +void +WMDestroyTabViewItem(WMTabViewItem *item) +{ + if (item->label) + free(item->label); + + if (item->view) + W_DestroyView(item->view); + + free(item); +} diff --git a/WINGs/wtest.c b/WINGs/wtest.c index d9c9a297..e1a2aeb3 100644 --- a/WINGs/wtest.c +++ b/WINGs/wtest.c @@ -300,6 +300,7 @@ testSlider(WMScreen *scr) WMMapWidget(win); } + void testTextField(WMScreen *scr) { @@ -369,13 +370,67 @@ testPullDown(WMScreen *scr) +void +testTabView(WMScreen *scr) +{ + WMWindow *win; + WMTabView *tabv; + WMTabViewItem *tab; + WMFrame *frame; + WMLabel *label; + + windowCount++; + + win = WMCreateWindow(scr, "testTabs"); + WMResizeWidget(win, 400, 300); + + WMSetWindowCloseAction(win, closeAction, NULL); + + tabv = WMCreateTabView(win); + WMMoveWidget(tabv, 50, 50); + WMResizeWidget(tabv, 300, 200); + + frame = WMCreateFrame(win); + WMSetFrameRelief(frame, WRFlat); + label = WMCreateLabel(frame); + WMResizeWidget(label, 100, 100); + WMSetLabelText(label, "Label 1"); + WMMapWidget(label); + + + tab = WMCreateTabViewItemWithIdentifier(0); + WMSetTabViewItemView(tab, WMWidgetView(frame)); + WMAddItemInTabView(tabv, tab); + WMSetTabViewItemLabel(tab, "Instances"); + + + frame = WMCreateFrame(win); + WMSetFrameRelief(frame, WRFlat); + label = WMCreateLabel(frame); + WMResizeWidget(label, 100, 100); + WMMoveWidget(label, 40, 40); + WMSetLabelText(label, "Label 2"); + WMMapWidget(label); + + tab = WMCreateTabViewItemWithIdentifier(0); + WMSetTabViewItemView(tab, WMWidgetView(frame)); + WMAddItemInTabView(tabv, tab); + WMSetTabViewItemLabel(tab, "Classes"); + + WMRealizeWidget(win); + WMMapSubwidgets(win); + WMMapWidget(win); +} + + + #include "WUtil.h" int main(int argc, char **argv) { WMScreen *scr; - WMPixmap *pixmap; - + WMPixmap *pixmap; + /* Initialize the application */ WMInitializeApplication("Test", &argc, argv); @@ -416,10 +471,14 @@ int main(int argc, char **argv) * * Put the testSomething() function you want to test here. */ - testGradientButtons(scr); testTextField(scr); + + testTabView(scr); + #if 0 + testGradientButtons(scr); + testOpenFilePanel(scr); testFontPanel(scr); testList(scr); diff --git a/WINGs/wtextfield.c b/WINGs/wtextfield.c index 020b162a..8a901b11 100644 --- a/WINGs/wtextfield.c +++ b/WINGs/wtextfield.c @@ -13,6 +13,27 @@ #define CURSOR_BLINK_OFF_DELAY 300 +typedef struct WMTextFieldDelegate { + void *data; + + void (*didBeginEditing)(struct WMTextFieldDelegate *self, + WMNotification *notif); + + void (*didChange)(struct WMTextFieldDelegate *self, + WMNotification *notif); + + void (*didEndEditing)(struct WMTextFieldDelegate *self, + WMNotification *notif); + + Bool (*shouldBeginEditing)(struct WMTextFieldDelegate *self, + WMTextField *tPtr); + + Bool (*shouldEndEditing)(struct WMTextFieldDelegate *self, + WMTextField *tPtr); +} WMTextFieldDelegate; + + + char *WMTextDidChangeNotification = "WMTextDidChangeNotification"; char *WMTextDidBeginEditingNotification = "WMTextDidBeginEditingNotification"; char *WMTextDidEndEditingNotification = "WMTextDidEndEditingNotification"; @@ -43,6 +64,8 @@ typedef struct W_TextField { WMFont *font; + WMTextFieldDelegate *delegate; + #if 0 WMHandlerID timerID; /* for cursor blinking */ #endif @@ -69,6 +92,13 @@ typedef struct W_TextField { } TextField; +#define NOTIFY(T,C,N,A) { WMNotification *notif = WMCreateNotification(N,T,A);\ + if ((T)->delegate && (T)->delegate->C)\ + (*(T)->delegate->C)((T)->delegate,notif);\ + WMPostNotification(notif);\ + WMReleaseNotification(notif);} + + #define MIN_TEXT_BUFFER 2 #define TEXT_BUFFER_INCR 8 @@ -219,6 +249,13 @@ WMCreateTextField(WMWidget *parent) void +WMSetTextFieldDelegate(WMTextField *tPtr, WMTextFieldDelegate *delegate) +{ + tPtr->delegate = delegate; +} + + +void WMInsertTextFieldText(WMTextField *tPtr, char *text, int position) { int len; @@ -248,9 +285,9 @@ WMInsertTextFieldText(WMTextField *tPtr, char *text, int position) /* insert text at position */ memmv(&(tPtr->text[position+len]), &(tPtr->text[position]), tPtr->textLen-position+1); - + memcpy(&(tPtr->text[position]), text, len); - + tPtr->textLen += len; if (position >= tPtr->cursorPosition) { tPtr->cursorPosition += len; @@ -259,11 +296,11 @@ WMInsertTextFieldText(WMTextField *tPtr, char *text, int position) incrToFit(tPtr); } } - + paintTextField(tPtr); - WMPostNotificationName(WMTextDidChangeNotification, tPtr, - (void*)WMInsertTextEvent); + NOTIFY(tPtr, didChange, WMTextDidChangeNotification, + (void*)WMInsertTextEvent); } @@ -304,8 +341,8 @@ void WMDeleteTextFieldRange(WMTextField *tPtr, WMRange range) { deleteTextFieldRange(tPtr, range); - WMPostNotificationName(WMTextDidChangeNotification, tPtr, - (void*)WMDeleteTextEvent); + NOTIFY(tPtr, didChange, WMTextDidChangeNotification, + (void*)WMDeleteTextEvent); } @@ -349,8 +386,8 @@ WMSetTextFieldText(WMTextField *tPtr, char *text) if (tPtr->view->flags.realized) paintTextField(tPtr); - WMPostNotificationName(WMTextDidChangeNotification, tPtr, - (void*)WMSetTextEvent); + NOTIFY(tPtr, didChange, WMTextDidChangeNotification, + (void*)WMSetTextEvent); } @@ -362,6 +399,7 @@ WMSetTextFieldFont(WMTextField *tPtr, WMFont *font) tPtr->font = WMRetainFont(font); } + void WMSetTextFieldAlignment(WMTextField *tPtr, WMAlignment alignment) { @@ -679,12 +717,12 @@ paintTextField(TextField *tPtr) ty = tPtr->offsetWidth; switch (tPtr->flags.alignment) { - case WALeft: + case WALeft: tx = tPtr->offsetWidth + 1; if (tw < tPtr->usableWidth) - XFillRectangle(screen->display, drawbuffer, - WMColorGC(screen->white), - bd+tw,bd, totalWidth-tw,view->size.height-2*bd); + XFillRectangle(screen->display, drawbuffer, + WMColorGC(screen->white), + bd+tw,bd, totalWidth-tw,view->size.height-2*bd); break; case WACenter: @@ -742,8 +780,8 @@ paintTextField(TextField *tPtr) WMSetColorInGC(screen->black, screen->textFieldGC); } else { XFillRectangle(screen->display, drawbuffer, - WMColorGC(screen->white), - bd,bd, totalWidth,view->size.height-2*bd); + WMColorGC(screen->white), + bd,bd, totalWidth,view->size.height-2*bd); } /* draw relief */ @@ -754,8 +792,8 @@ paintTextField(TextField *tPtr) if (tPtr->flags.secure) free(text); XCopyArea(screen->display, drawbuffer, view->window, - screen->copyGC, 0,0, view->size.width, - view->size.height,0,0); + screen->copyGC, 0,0, view->size.width, + view->size.height,0,0); XFreePixmap(screen->display, drawbuffer); /* draw cursor */ @@ -805,11 +843,11 @@ handleEvents(XEvent *event, void *data) #endif paintTextField(tPtr); - WMPostNotificationName(WMTextDidBeginEditingNotification, tPtr, NULL); + NOTIFY(tPtr, didBeginEditing, WMTextDidBeginEditingNotification, NULL); tPtr->flags.notIllegalMovement = 0; break; - + case FocusOut: tPtr->flags.focused = 0; #if 0 @@ -820,8 +858,8 @@ handleEvents(XEvent *event, void *data) paintTextField(tPtr); if (!tPtr->flags.notIllegalMovement) { - WMPostNotificationName(WMTextDidEndEditingNotification, tPtr, - (void*)WMIllegalTextMovement); + NOTIFY(tPtr, didEndEditing, WMTextDidEndEditingNotification, + (void*)WMIllegalTextMovement); } break; @@ -878,22 +916,22 @@ handleTextFieldKeyPress(TextField *tPtr, XEvent *event) tPtr->view->prevFocusChain); tPtr->flags.notIllegalMovement = 1; } - WMPostNotificationName(WMTextDidEndEditingNotification, tPtr, - (void*)WMBacktabTextMovement); + NOTIFY(tPtr, didEndEditing, WMTextDidEndEditingNotification, + (void*)WMBacktabTextMovement); } else { if (tPtr->view->nextFocusChain) { W_SetFocusOfTopLevel(W_TopLevelOfView(tPtr->view), - tPtr->view->nextFocusChain); + tPtr->view->nextFocusChain); tPtr->flags.notIllegalMovement = 1; } - WMPostNotificationName(WMTextDidEndEditingNotification, - tPtr, (void*)WMTabTextMovement); + NOTIFY(tPtr, didEndEditing, WMTextDidEndEditingNotification, + (void*)WMTabTextMovement); } break; - + case XK_Return: - WMPostNotificationName(WMTextDidEndEditingNotification, tPtr, - (void*)WMReturnTextMovement); + NOTIFY(tPtr, didEndEditing, WMTextDidEndEditingNotification, + (void*)WMReturnTextMovement); break; case WM_EMACSKEY_LEFT: @@ -1196,7 +1234,7 @@ handleTextFieldActionEvents(XEvent *event, void *data) } if(textWidth < tPtr->usableWidth){ tPtr->cursorPosition = pointToCursorPosition(tPtr, - event->xbutton.x - tPtr->usableWidth + event->xbutton.x - tPtr->usableWidth + textWidth); } else tPtr->cursorPosition = pointToCursorPosition(tPtr, @@ -1231,12 +1269,13 @@ handleTextFieldActionEvents(XEvent *event, void *data) text = W_GetTextSelection(tPtr->view->screen, tPtr->view->screen->clipboardAtom); if (!text) { - text = W_GetTextSelection(tPtr->view->screen, XA_CUT_BUFFER0); + text = W_GetTextSelection(tPtr->view->screen, + XA_CUT_BUFFER0); } if (text) { - WMInsertTextFieldText(tPtr, text, tPtr->cursorPosition); - XFree(text); - WMPostNotificationName(WMTextDidChangeNotification, tPtr, NULL); + WMInsertTextFieldText(tPtr, text, tPtr->cursorPosition); + XFree(text); + NOTIFY(tPtr, didChange, WMTextDidChangeNotification, NULL); } } break; diff --git a/WINGs/wview.c b/WINGs/wview.c index a5964e1e..b90d249d 100644 --- a/WINGs/wview.c +++ b/WINGs/wview.c @@ -127,6 +127,8 @@ createView(W_Screen *screen, W_View *parent) view->attribs.border_pixel = W_PIXEL(screen->black); view->attribs.colormap = screen->colormap; + view->backColor = WMRetainColor(screen->gray); + adoptChildView(parent, view); } @@ -492,6 +494,10 @@ W_RedisplayView(W_View *view) void W_SetViewBackgroundColor(W_View *view, WMColor *color) { + if (view->backColor) + WMReleaseColor(view->backColor); + view->backColor = WMRetainColor(color); + view->attribFlags |= CWBackPixel; view->attribs.background_pixel = color->color.pixel; if (view->flags.realized) { diff --git a/WPrefs.app/Appearance.c b/WPrefs.app/Appearance.c index d99daefe..98ec8786 100644 --- a/WPrefs.app/Appearance.c +++ b/WPrefs.app/Appearance.c @@ -51,16 +51,22 @@ typedef struct _Panel { WMPopUpButton *secP; + WMTabView *tabv; + /* texture list */ - WMLabel *texL; + WMFrame *texF; WMList *texLs; - WMLabel *texsL; WMButton *newB; WMButton *editB; WMButton *ripB; WMButton *delB; + /* text color */ + WMFrame *colF; + + /* */ + int textureIndex[8]; WMFont *smallFont; @@ -605,11 +611,11 @@ updatePreviewBox(_Panel *panel, int elements) WMColor *color; panel->preview = XCreatePixmap(dpy, WMWidgetXID(panel->win), - 260-4, 165-4, WMScreenDepth(scr)); + 240-4, 165-4, WMScreenDepth(scr)); color = WMGrayColor(scr); XFillRectangle(dpy, panel->preview, WMColorGC(color), - 0, 0, 260-4, 165-4); + 0, 0, 240-4, 165-4); WMReleaseColor(color); refresh = -1; @@ -619,7 +625,7 @@ updatePreviewBox(_Panel *panel, int elements) item = WMGetListItem(panel->texLs, panel->textureIndex[0]); titem = (TextureListItem*)item->clientData; - pix = renderTexture(scr, titem->prop, 210, 20, NULL, RBEV_RAISED2); + pix = renderTexture(scr, titem->prop, 190, 20, NULL, RBEV_RAISED2); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 210, 20, 30, 5); @@ -629,7 +635,7 @@ updatePreviewBox(_Panel *panel, int elements) item = WMGetListItem(panel->texLs, panel->textureIndex[1]); titem = (TextureListItem*)item->clientData; - pix = renderTexture(scr, titem->prop, 210, 20, NULL, RBEV_RAISED2); + pix = renderTexture(scr, titem->prop, 190, 20, NULL, RBEV_RAISED2); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 210, 20, 30, 30); @@ -639,7 +645,7 @@ updatePreviewBox(_Panel *panel, int elements) item = WMGetListItem(panel->texLs, panel->textureIndex[2]); titem = (TextureListItem*)item->clientData; - pix = renderTexture(scr, titem->prop, 210, 20, NULL, RBEV_RAISED2); + pix = renderTexture(scr, titem->prop, 190, 20, NULL, RBEV_RAISED2); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 210, 20, 30, 55); @@ -649,7 +655,7 @@ updatePreviewBox(_Panel *panel, int elements) item = WMGetListItem(panel->texLs, panel->textureIndex[3]); titem = (TextureListItem*)item->clientData; - pix = renderTexture(scr, titem->prop, 210, 9, NULL, RESIZEBAR_BEVEL); + pix = renderTexture(scr, titem->prop, 190, 9, NULL, RESIZEBAR_BEVEL); XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 210, 20, 30, 80); @@ -659,9 +665,9 @@ updatePreviewBox(_Panel *panel, int elements) item = WMGetListItem(panel->texLs, panel->textureIndex[4]); titem = (TextureListItem*)item->clientData; - pix = renderTexture(scr, titem->prop, 100, 20, NULL, RBEV_RAISED2); + pix = renderTexture(scr, titem->prop, 90, 20, NULL, RBEV_RAISED2); - XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 100, 20, 30, 95); + XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 90, 20, 30, 95); XFreePixmap(dpy, pix); } @@ -669,15 +675,15 @@ updatePreviewBox(_Panel *panel, int elements) item = WMGetListItem(panel->texLs, panel->textureIndex[5]); titem = (TextureListItem*)item->clientData; - pix = renderMenu(panel, titem->prop, 100, 18); + pix = renderMenu(panel, titem->prop, 90, 18); - XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 100, 18*3, 30, 115); + XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 90, 18*3, 30, 115); XFreePixmap(dpy, pix); } if (elements & (MITEM|MTITLE)) { XDrawLine(dpy, panel->preview, gc, 29, 95, 29, 115+36+20); - XDrawLine(dpy, panel->preview, gc, 29, 94, 129, 94); + XDrawLine(dpy, panel->preview, gc, 29, 94, 119, 94); } if (elements & ICON) { @@ -687,7 +693,7 @@ updatePreviewBox(_Panel *panel, int elements) pix = renderTexture(scr, titem->prop, 64, 64, NULL, titem->ispixmap ? 0 : RBEV_RAISED3); - XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 64, 64, 170, 95); + XCopyArea(dpy, pix, panel->preview, gc, 0, 0, 64, 64, 155, 95); XFreePixmap(dpy, pix); } @@ -696,7 +702,7 @@ updatePreviewBox(_Panel *panel, int elements) if (refresh < 0) { WMPixmap *p; p = WMCreatePixmapFromXPixmaps(scr, panel->preview, None, - 260-4, 165-4, WMScreenDepth(scr)); + 240-4, 165-4, WMScreenDepth(scr)); WMSetLabelImage(panel->prevL, p); WMReleasePixmap(p); @@ -945,7 +951,6 @@ changePage(WMWidget *w, void *data) int section; WMListItem *item; TextureListItem *titem; - char *str; WMScreen *scr = WMWidgetScreen(w); RContext *rc = WMScreenRContext(scr); static WMPoint positions[] = { @@ -955,7 +960,7 @@ changePage(WMWidget *w, void *data) {5, 80}, {5, 95}, {5, 130}, - {145, 110} + {130, 110} }; section = WMGetPopUpButtonSelectedItem(panel->secP); @@ -968,11 +973,6 @@ changePage(WMWidget *w, void *data) titem = (TextureListItem*)item->clientData; - str = wmalloc(strlen(titem->title) + strlen(titem->texture) + 4); - sprintf(str, "%s: %s", titem->title, titem->texture); - WMSetLabelText(panel->texsL, str); - free(str); - { WMColor *color; @@ -997,13 +997,13 @@ previewClick(XEvent *event, void *clientData) _Panel *panel = (_Panel*)clientData; int i; static WMRect parts[] = { - {{30, 5},{210, 20}}, - {{30,30},{210,20}}, - {{30,55},{210,20}}, - {{30,80},{210,9}}, - {{30,95},{100,20}}, - {{30,115},{100,60}}, - {{170,90},{64,64}} + {{30, 5},{190, 20}}, + {{30,30},{190,20}}, + {{30,55},{190,20}}, + {{30,80},{190,9}}, + {{30,95},{90,20}}, + {{30,115},{90,60}}, + {{155,90},{64,64}} }; for (i = 0; i < 7; i++) { @@ -1050,7 +1050,6 @@ textureDoubleClick(WMWidget *w, void *data) int i, section; WMListItem *item; TextureListItem *titem; - char *str; /* unselect old texture */ section = WMGetPopUpButtonSelectedItem(panel->secP); @@ -1072,11 +1071,6 @@ textureDoubleClick(WMWidget *w, void *data) WMRedisplayWidget(panel->texLs); - str = wmalloc(strlen(titem->title) + strlen(titem->texture) + 4); - sprintf(str, "%s: %s", titem->title, titem->texture); - WMSetLabelText(panel->texsL, str); - free(str); - updatePreviewBox(panel, 1<win); + WMTabViewItem *item; char *tmp; Bool ok = True; @@ -1245,7 +1239,7 @@ createPanel(Panel *p) /* preview box */ panel->prevL = WMCreateLabel(panel->frame); - WMResizeWidget(panel->prevL, 260, 165); + WMResizeWidget(panel->prevL, 240, 165); WMMoveWidget(panel->prevL, 15, 10); WMSetLabelRelief(panel->prevL, WRSunken); WMSetLabelImagePosition(panel->prevL, WIPImageOnly); @@ -1255,7 +1249,7 @@ createPanel(Panel *p) panel->secP = WMCreatePopUpButton(panel->frame); - WMResizeWidget(panel->secP, 260, 20); + WMResizeWidget(panel->secP, 240, 20); WMMoveWidget(panel->secP, 15, 180); WMSetPopUpButtonSelectedItem(panel->secP, 0); WMAddPopUpButtonItem(panel->secP, _("Titlebar of Focused Window")); @@ -1269,34 +1263,27 @@ createPanel(Panel *p) */ WMSetPopUpButtonAction(panel->secP, changePage, panel); - - panel->texsL = WMCreateLabel(panel->frame); - WMResizeWidget(panel->texsL, 260, 20); - WMMoveWidget(panel->texsL, 15, 205); - WMSetLabelWraps(panel->texsL, False); - /* texture list */ - font = WMBoldSystemFontOfSize(scr, 12); + /* tabview */ - panel->texL = WMCreateLabel(panel->frame); - WMResizeWidget(panel->texL, 225, 18); - WMMoveWidget(panel->texL, 285, 10); - WMSetLabelFont(panel->texL, font); - WMSetLabelText(panel->texL, _("Textures")); - WMSetLabelRelief(panel->texL, WRSunken); - WMSetLabelTextAlignment(panel->texL, WACenter); - color = WMDarkGrayColor(scr); - WMSetWidgetBackgroundColor(panel->texL, color); - WMReleaseColor(color); - color = WMWhiteColor(scr); - WMSetLabelTextColor(panel->texL, color); - WMReleaseColor(color); + panel->tabv = WMCreateTabView(panel->frame); + WMResizeWidget(panel->tabv, 245, FRAME_HEIGHT - 20); + WMMoveWidget(panel->tabv, 265, 10); - WMReleaseFont(font); + /*** texture list ***/ + + panel->texF = WMCreateFrame(panel->frame); + WMSetFrameRelief(panel->texF, WRFlat); + + item = WMCreateTabViewItemWithIdentifier(0); + WMSetTabViewItemView(item, WMWidgetView(panel->texF)); + WMSetTabViewItemLabel(item, _("Texture")); - panel->texLs = WMCreateList(panel->frame); - WMResizeWidget(panel->texLs, 225, 144); - WMMoveWidget(panel->texLs, 285, 30); + WMAddItemInTabView(panel->tabv, item); + + panel->texLs = WMCreateList(panel->texF); + WMResizeWidget(panel->texLs, 232, 130); + WMMoveWidget(panel->texLs, 5, 5); WMSetListUserDrawItemHeight(panel->texLs, 35); WMSetListUserDrawProc(panel->texLs, paintListItem); WMHangData(panel->texLs, panel); @@ -1312,9 +1299,9 @@ createPanel(Panel *p) font = WMSystemFontOfSize(scr, 10); - panel->newB = WMCreateCommandButton(panel->frame); - WMResizeWidget(panel->newB, 56, 48); - WMMoveWidget(panel->newB, 285, 180); + panel->newB = WMCreateCommandButton(panel->texF); + WMResizeWidget(panel->newB, 57, 48); + WMMoveWidget(panel->newB, 5, 142); WMSetButtonFont(panel->newB, font); WMSetButtonImagePosition(panel->newB, WIPAbove); WMSetButtonText(panel->newB, _("New")); @@ -1324,9 +1311,9 @@ createPanel(Panel *p) WMSetBalloonTextForView(_("Create a new texture."), WMWidgetView(panel->newB)); - panel->ripB = WMCreateCommandButton(panel->frame); - WMResizeWidget(panel->ripB, 56, 48); - WMMoveWidget(panel->ripB, 341, 180); + panel->ripB = WMCreateCommandButton(panel->texF); + WMResizeWidget(panel->ripB, 57, 48); + WMMoveWidget(panel->ripB, 63, 142); WMSetButtonFont(panel->ripB, font); WMSetButtonImagePosition(panel->ripB, WIPAbove); WMSetButtonText(panel->ripB, _("Extract...")); @@ -1338,9 +1325,9 @@ createPanel(Panel *p) WMSetButtonEnabled(panel->ripB, False); - panel->editB = WMCreateCommandButton(panel->frame); - WMResizeWidget(panel->editB, 56, 48); - WMMoveWidget(panel->editB, 397, 180); + panel->editB = WMCreateCommandButton(panel->texF); + WMResizeWidget(panel->editB, 57, 48); + WMMoveWidget(panel->editB, 121, 142); WMSetButtonFont(panel->editB, font); WMSetButtonImagePosition(panel->editB, WIPAbove); WMSetButtonText(panel->editB, _("Edit")); @@ -1349,9 +1336,9 @@ createPanel(Panel *p) WMSetBalloonTextForView(_("Edit the highlighted texture."), WMWidgetView(panel->editB)); - panel->delB = WMCreateCommandButton(panel->frame); - WMResizeWidget(panel->delB, 56, 48); - WMMoveWidget(panel->delB, 453, 180); + panel->delB = WMCreateCommandButton(panel->texF); + WMResizeWidget(panel->delB, 57, 48); + WMMoveWidget(panel->delB, 179, 142); WMSetButtonFont(panel->delB, font); WMSetButtonImagePosition(panel->delB, WIPAbove); WMSetButtonText(panel->delB, _("Delete")); @@ -1363,6 +1350,19 @@ createPanel(Panel *p) WMReleaseFont(font); + WMMapSubwidgets(panel->texF); + + /*** colors ***/ + panel->colF = WMCreateFrame(panel->frame); + WMSetFrameRelief(panel->colF, WRFlat); + + item = WMCreateTabViewItemWithIdentifier(1); + WMSetTabViewItemView(item, WMWidgetView(panel->colF)); + WMSetTabViewItemLabel(item, _("Color")); + + WMAddItemInTabView(panel->tabv, item); + + /**/ WMRealizeWidget(panel->frame); diff --git a/WPrefs.app/Menu.c b/WPrefs.app/Menu.c index a12bb14f..41b12b81 100644 --- a/WPrefs.app/Menu.c +++ b/WPrefs.app/Menu.c @@ -134,6 +134,18 @@ enum { static void showData(_Panel *panel); +static void fillBrowser(WMBrowserDelegate *self, WMBrowser *bPtr, int column, + WMList *list); + +static void scrolledBrowser(WMBrowserDelegate *self, WMBrowser *sender); + +static WMBrowserDelegate browserDelegate = { + NULL, /* data */ + fillBrowser, /* createRowsForColumn */ + NULL, /* titleOfColumn */ + scrolledBrowser, /* didScroll */ + NULL /* willScroll */ +}; static Bool @@ -674,7 +686,7 @@ browserClick(WMWidget *w, void *data) static void -fillBrowserColumn(WMBrowser *bPtr, int column) +fillBrowser(WMBrowserDelegate *self, WMBrowser *bPtr, int column, WMList *list) { _Panel *panel = (_Panel*)WMGetHangedData(bPtr); proplist_t menuItem; @@ -1010,13 +1022,13 @@ captureClick(WMWidget *w, void *data) static void -scrolledBrowser(void *observerData, WMNotification *notification) +scrolledBrowser(WMBrowserDelegate *self, WMBrowser *sender) { - _Panel *panel = (_Panel*)observerData; + _Panel *panel = (_Panel*)self->data; int column; proplist_t item; - column = WMGetBrowserFirstVisibleColumn(panel->browser); + column = WMGetBrowserFirstVisibleColumn(sender); item = getSubmenuInColumn(panel, column); WMSetTextFieldText(panel->tit1T, getItemTitle(item)); @@ -1122,12 +1134,11 @@ createPanel(_Panel *p) WMSetBrowserTitled(panel->browser, False); WMResizeWidget(panel->browser, 295, 160); WMMoveWidget(panel->browser, 15, 65); - WMSetBrowserFillColumnProc(panel->browser, fillBrowserColumn); + WMSetBrowserDelegate(panel->browser, &browserDelegate); WMHangData(panel->browser, panel); WMSetBrowserPathSeparator(panel->browser, "\r"); WMSetBrowserAction(panel->browser, browserClick, panel); - WMAddNotificationObserver(scrolledBrowser, panel, - WMBrowserDidScrollNotification, panel->browser); + /**/ panel->labF = WMCreateFrame(panel->frame); diff --git a/WPrefs.app/Paths.c b/WPrefs.app/Paths.c index b9ebce9f..dc10322a 100644 --- a/WPrefs.app/Paths.c +++ b/WPrefs.app/Paths.c @@ -263,14 +263,14 @@ createPanel(Panel *p) WMHangData(panel->icoL, panel); panel->icoaB = WMCreateCommandButton(panel->icoF); - WMResizeWidget(panel->icoaB, 90, 24); - WMMoveWidget(panel->icoaB, 125, 176); + WMResizeWidget(panel->icoaB, 95, 24); + WMMoveWidget(panel->icoaB, 120, 176); WMSetButtonText(panel->icoaB, _("Add")); WMSetButtonAction(panel->icoaB, browseForFile, panel); WMSetButtonImagePosition(panel->icoaB, WIPRight); panel->icorB = WMCreateCommandButton(panel->icoF); - WMResizeWidget(panel->icorB, 90, 24); + WMResizeWidget(panel->icorB, 95, 24); WMMoveWidget(panel->icorB, 15, 176); WMSetButtonText(panel->icorB, _("Remove")); WMSetButtonAction(panel->icorB, pushButton, panel); @@ -290,14 +290,14 @@ createPanel(Panel *p) WMHangData(panel->pixL, panel); panel->pixaB = WMCreateCommandButton(panel->pixF); - WMResizeWidget(panel->pixaB, 90, 24); - WMMoveWidget(panel->pixaB, 125, 176); + WMResizeWidget(panel->pixaB, 95, 24); + WMMoveWidget(panel->pixaB, 120, 176); WMSetButtonText(panel->pixaB, _("Add")); WMSetButtonAction(panel->pixaB, browseForFile, panel); WMSetButtonImagePosition(panel->pixaB, WIPRight); panel->pixrB = WMCreateCommandButton(panel->pixF); - WMResizeWidget(panel->pixrB, 90, 24); + WMResizeWidget(panel->pixrB, 95, 24); WMMoveWidget(panel->pixrB, 15, 176); WMSetButtonText(panel->pixrB, _("Remove")); WMSetButtonAction(panel->pixrB, pushButton, panel); diff --git a/WindowMaker/Backgrounds/Makefile.in b/WindowMaker/Backgrounds/Makefile.in index e595ae1e..a45ab163 100755 --- a/WindowMaker/Backgrounds/Makefile.in +++ b/WindowMaker/Backgrounds/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/WindowMaker/Defaults/Makefile.in b/WindowMaker/Defaults/Makefile.in index b60427d4..e17c3924 100755 --- a/WindowMaker/Defaults/Makefile.in +++ b/WindowMaker/Defaults/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/WindowMaker/IconSets/Makefile.in b/WindowMaker/IconSets/Makefile.in index b79e6bd8..6608659c 100755 --- a/WindowMaker/IconSets/Makefile.in +++ b/WindowMaker/IconSets/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/WindowMaker/Icons/Makefile.in b/WindowMaker/Icons/Makefile.in index ad3482f1..5541e999 100755 --- a/WindowMaker/Icons/Makefile.in +++ b/WindowMaker/Icons/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/WindowMaker/Makefile.in b/WindowMaker/Makefile.in index dd50cd04..a91956c0 100755 --- a/WindowMaker/Makefile.in +++ b/WindowMaker/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/WindowMaker/Pixmaps/Makefile.in b/WindowMaker/Pixmaps/Makefile.in index 743af042..65804543 100755 --- a/WindowMaker/Pixmaps/Makefile.in +++ b/WindowMaker/Pixmaps/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/WindowMaker/Styles/Makefile.in b/WindowMaker/Styles/Makefile.in index d6e956fd..da76f0b7 100755 --- a/WindowMaker/Styles/Makefile.in +++ b/WindowMaker/Styles/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/WindowMaker/Themes/Makefile.in b/WindowMaker/Themes/Makefile.in index d37c2f78..67c684d4 100755 --- a/WindowMaker/Themes/Makefile.in +++ b/WindowMaker/Themes/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/WindowMaker/autostart.sh b/WindowMaker/autostart.sh index f483b997..0726c8ee 100755 --- a/WindowMaker/autostart.sh +++ b/WindowMaker/autostart.sh @@ -7,6 +7,11 @@ # either set SaveSessionOnExit=YES or select "Save Session" in the Workspace # submenu of the root menu when all applications you want started are # running. +# +# WindowMaker will wait until this script finishes, so if you run any +# commands that take long to execute (like a xterm), put a ``&'' in the +# end of the command line. +# # This file must be executable. # diff --git a/WindowMaker/exitscript.sh b/WindowMaker/exitscript.sh index 95c32897..57cd5700 100755 --- a/WindowMaker/exitscript.sh +++ b/WindowMaker/exitscript.sh @@ -1,6 +1,11 @@ #!/bin/sh # # Place commands to be executed when WindowMaker is exited here. +# +# WindowMaker will wait until this script finishes, so if you run any +# commands that take long to execute (like a xterm), put a ``&'' in the +# end of the command line. +# # This file must be executable. # diff --git a/acconfig.h b/acconfig.h index 03010d18..4d33fea7 100644 --- a/acconfig.h +++ b/acconfig.h @@ -81,3 +81,6 @@ /* whether XKB language MODELOCK should be enabled */ #undef XKB_MODELOCK + +/* define if you want user defined menus for applications */ +#undef USER_MENU diff --git a/aclocal.m4 b/aclocal.m4 index 393706b2..ecc563fe 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -330,28 +330,66 @@ fi AC_SUBST($1)]) -# serial 24 AM_PROG_LIBTOOL -AC_DEFUN(AM_PROG_LIBTOOL, -[AC_REQUIRE([AM_ENABLE_SHARED])dnl -AC_REQUIRE([AM_ENABLE_STATIC])dnl +# serial 39 AC_PROG_LIBTOOL +AC_DEFUN(AC_PROG_LIBTOOL, +[AC_REQUIRE([AC_LIBTOOL_SETUP])dnl + +# Save cache, so that ltconfig can load it +AC_CACHE_SAVE + +# Actually configure libtool. ac_aux_dir is where install-sh is found. +CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ +LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ +LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ +DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ +${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ +$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ +|| AC_MSG_ERROR([libtool configure failed]) + +# Reload cache, that may have been modified by ltconfig +AC_CACHE_LOAD + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' +AC_SUBST(LIBTOOL)dnl + +# Redirect the config.log output again, so that the ltconfig log is not +# clobbered by the next message. +exec 5>>./config.log +]) + +AC_DEFUN(AC_LIBTOOL_SETUP, +[AC_PREREQ(2.13)dnl +AC_REQUIRE([AC_ENABLE_SHARED])dnl +AC_REQUIRE([AC_ENABLE_STATIC])dnl +AC_REQUIRE([AC_ENABLE_FAST_INSTALL])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([AC_PROG_RANLIB])dnl AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AM_PROG_LD])dnl -AC_REQUIRE([AM_PROG_NM])dnl +AC_REQUIRE([AC_PROG_LD])dnl +AC_REQUIRE([AC_PROG_NM])dnl AC_REQUIRE([AC_PROG_LN_S])dnl dnl -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl # Check for any special flags to pass to ltconfig. -libtool_flags= +libtool_flags="--cache-file=$cache_file" test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" -test "$silent" = yes && libtool_flags="$libtool_flags --silent" +test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" +ifdef([AC_PROVIDE_AC_LIBTOOL_DLOPEN], +[libtool_flags="$libtool_flags --enable-dlopen"]) +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[libtool_flags="$libtool_flags --enable-win32-dll"]) +AC_ARG_ENABLE(libtool-lock, + [ --disable-libtool-lock avoid locking (might break parallel builds)]) +test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" +test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" # Some flags need to be propagated to the compiler or linker for good # libtool support. @@ -377,30 +415,42 @@ case "$host" in *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, + [AC_TRY_LINK([],[],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])]) + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi ;; -esac -# Actually configure libtool. ac_aux_dir is where install-sh is found. -CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \ -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \ -$libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ -|| AC_MSG_ERROR([libtool configure failed]) +ifdef([AC_PROVIDE_AC_LIBTOOL_WIN32_DLL], +[*-*-cygwin* | *-*-mingw*) + AC_CHECK_TOOL(DLLTOOL, dlltool, false) + AC_CHECK_TOOL(AS, as, false) + AC_CHECK_TOOL(OBJDUMP, objdump, false) + ;; +]) +esac ]) -# AM_ENABLE_SHARED - implement the --enable-shared flag -# Usage: AM_ENABLE_SHARED[(DEFAULT)] +# AC_LIBTOOL_DLOPEN - enable checks for dlopen support +AC_DEFUN(AC_LIBTOOL_DLOPEN, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])]) + +# AC_LIBTOOL_WIN32_DLL - declare package support for building win32 dll's +AC_DEFUN(AC_LIBTOOL_WIN32_DLL, [AC_BEFORE([$0], [AC_LIBTOOL_SETUP])]) + +# AC_ENABLE_SHARED - implement the --enable-shared flag +# Usage: AC_ENABLE_SHARED[(DEFAULT)] # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to # `yes'. -AC_DEFUN(AM_ENABLE_SHARED, -[define([AM_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl +AC_DEFUN(AC_ENABLE_SHARED, [dnl +define([AC_ENABLE_SHARED_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE(shared, changequote(<<, >>)dnl -<< --enable-shared build shared libraries [default=>>AM_ENABLE_SHARED_DEFAULT] +<< --enable-shared[=PKGS] build shared libraries [default=>>AC_ENABLE_SHARED_DEFAULT], changequote([, ])dnl -[ --enable-shared=PKGS only build shared libraries if the current package - appears as an element in the PKGS list], [p=${PACKAGE-default} case "$enableval" in yes) enable_shared=yes ;; @@ -417,29 +467,23 @@ no) enable_shared=no ;; IFS="$ac_save_ifs" ;; esac], -enable_shared=AM_ENABLE_SHARED_DEFAULT)dnl +enable_shared=AC_ENABLE_SHARED_DEFAULT)dnl ]) -# AM_DISABLE_SHARED - set the default shared flag to --disable-shared -AC_DEFUN(AM_DISABLE_SHARED, -[AM_ENABLE_SHARED(no)]) +# AC_DISABLE_SHARED - set the default shared flag to --disable-shared +AC_DEFUN(AC_DISABLE_SHARED, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_SHARED(no)]) -# AM_DISABLE_STATIC - set the default static flag to --disable-static -AC_DEFUN(AM_DISABLE_STATIC, -[AM_ENABLE_STATIC(no)]) - -# AM_ENABLE_STATIC - implement the --enable-static flag -# Usage: AM_ENABLE_STATIC[(DEFAULT)] +# AC_ENABLE_STATIC - implement the --enable-static flag +# Usage: AC_ENABLE_STATIC[(DEFAULT)] # Where DEFAULT is either `yes' or `no'. If omitted, it defaults to # `yes'. -AC_DEFUN(AM_ENABLE_STATIC, -[define([AM_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl +AC_DEFUN(AC_ENABLE_STATIC, [dnl +define([AC_ENABLE_STATIC_DEFAULT], ifelse($1, no, no, yes))dnl AC_ARG_ENABLE(static, changequote(<<, >>)dnl -<< --enable-static build static libraries [default=>>AM_ENABLE_STATIC_DEFAULT] +<< --enable-static[=PKGS] build static libraries [default=>>AC_ENABLE_STATIC_DEFAULT], changequote([, ])dnl -[ --enable-static=PKGS only build shared libraries if the current package - appears as an element in the PKGS list], [p=${PACKAGE-default} case "$enableval" in yes) enable_static=yes ;; @@ -456,26 +500,73 @@ no) enable_static=no ;; IFS="$ac_save_ifs" ;; esac], -enable_static=AM_ENABLE_STATIC_DEFAULT)dnl +enable_static=AC_ENABLE_STATIC_DEFAULT)dnl ]) +# AC_DISABLE_STATIC - set the default static flag to --disable-static +AC_DEFUN(AC_DISABLE_STATIC, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_STATIC(no)]) + -# AM_PROG_LD - find the path to the GNU or non-GNU linker -AC_DEFUN(AM_PROG_LD, +# AC_ENABLE_FAST_INSTALL - implement the --enable-fast-install flag +# Usage: AC_ENABLE_FAST_INSTALL[(DEFAULT)] +# Where DEFAULT is either `yes' or `no'. If omitted, it defaults to +# `yes'. +AC_DEFUN(AC_ENABLE_FAST_INSTALL, [dnl +define([AC_ENABLE_FAST_INSTALL_DEFAULT], ifelse($1, no, no, yes))dnl +AC_ARG_ENABLE(fast-install, +changequote(<<, >>)dnl +<< --enable-fast-install[=PKGS] optimize for fast installation [default=>>AC_ENABLE_FAST_INSTALL_DEFAULT], +changequote([, ])dnl +[p=${PACKAGE-default} +case "$enableval" in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac], +enable_fast_install=AC_ENABLE_FAST_INSTALL_DEFAULT)dnl +]) + +# AC_ENABLE_FAST_INSTALL - set the default to --disable-fast-install +AC_DEFUN(AC_DISABLE_FAST_INSTALL, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl +AC_ENABLE_FAST_INSTALL(no)]) + +# AC_PROG_LD - find the path to the GNU or non-GNU linker +AC_DEFUN(AC_PROG_LD, [AC_ARG_WITH(gnu-ld, [ --with-gnu-ld assume the C compiler uses GNU ld [default=no]], test "$withval" = no || with_gnu_ld=yes, with_gnu_ld=no) -AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_CC])dnl +AC_REQUIRE([AC_CANONICAL_HOST])dnl +AC_REQUIRE([AC_CANONICAL_BUILD])dnl ac_prog=ld if test "$ac_cv_prog_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in - # Accept absolute paths. - /* | [A-Za-z]:\\*) - test -z "$LD" && LD="$ac_prog" - ;; + # Accept absolute paths. +changequote(,)dnl + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' +changequote([,])dnl + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld @@ -492,10 +583,10 @@ else fi AC_CACHE_VAL(ac_cv_path_LD, [if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog"; then + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then ac_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. @@ -503,7 +594,7 @@ AC_CACHE_VAL(ac_cv_path_LD, if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then test "$with_gnu_ld" != no && break else - test "$with_gnu_ld" != yes && break + test "$with_gnu_ld" != yes && break fi fi done @@ -519,10 +610,10 @@ else fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_SUBST(LD) -AM_PROG_LD_GNU +AC_PROG_LD_GNU ]) -AC_DEFUN(AM_PROG_LD_GNU, +AC_DEFUN(AC_PROG_LD_GNU, [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], ac_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. if $LD -v 2>&1 &5; then @@ -532,41 +623,115 @@ else fi]) ]) -# AM_PROG_NM - find the path to a BSD-compatible name lister -AC_DEFUN(AM_PROG_NM, +# AC_PROG_NM - find the path to a BSD-compatible name lister +AC_DEFUN(AC_PROG_NM, [AC_MSG_CHECKING([for BSD-compatible nm]) AC_CACHE_VAL(ac_cv_path_NM, -[case "$NM" in -/* | [A-Za-z]:\\*) - ac_cv_path_NM="$NM" # Let the user override the test with a path. - ;; -*) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do +[if test -n "$NM"; then + # Let the user override the test. + ac_cv_path_NM="$NM" +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm; then + if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -B" + ac_cv_path_NM="$ac_dir/nm -B" + break elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -p" + ac_cv_path_NM="$ac_dir/nm -p" + break else - ac_cv_path_NM="$ac_dir/nm" + ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags fi - break fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm - ;; -esac]) +fi]) NM="$ac_cv_path_NM" AC_MSG_RESULT([$NM]) AC_SUBST(NM) ]) +# AC_CHECK_LIBM - check for math library +AC_DEFUN(AC_CHECK_LIBM, +[AC_REQUIRE([AC_CANONICAL_HOST])dnl +LIBM= +case "$host" in +*-*-beos* | *-*-cygwin*) + # These system don't have libm + ;; +*-ncr-sysv4.3*) + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") + AC_CHECK_LIB(m, main, LIBM="$LIBM -lm") + ;; +*) + AC_CHECK_LIB(m, main, LIBM="-lm") + ;; +esac +]) + +# AC_LIBLTDL_CONVENIENCE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl convenience library, adds --enable-ltdl-convenience to +# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor +# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed +# to be `${top_builddir}/libltdl'. Make sure you start DIR with +# '${top_builddir}/' (note the single quotes!) if your package is not +# flat, and, if you're not using automake, define top_builddir as +# appropriate in the Makefiles. +AC_DEFUN(AC_LIBLTDL_CONVENIENCE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + case "$enable_ltdl_convenience" in + no) AC_MSG_ERROR([this package needs a convenience libltdl]) ;; + "") enable_ltdl_convenience=yes + ac_configure_args="$ac_configure_args --enable-ltdl-convenience" ;; + esac + LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdlc.la +]) + +# AC_LIBLTDL_INSTALLABLE[(dir)] - sets LIBLTDL to the link flags for +# the libltdl installable library, and adds --enable-ltdl-install to +# the configure arguments. Note that LIBLTDL is not AC_SUBSTed, nor +# is AC_CONFIG_SUBDIRS called. If DIR is not provided, it is assumed +# to be `${top_builddir}/libltdl'. Make sure you start DIR with +# '${top_builddir}/' (note the single quotes!) if your package is not +# flat, and, if you're not using automake, define top_builddir as +# appropriate in the Makefiles. +# In the future, this macro may have to be called after AC_PROG_LIBTOOL. +AC_DEFUN(AC_LIBLTDL_INSTALLABLE, [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl + AC_CHECK_LIB(ltdl, main, + [test x"$enable_ltdl_install" != xyes && enable_ltdl_install=no], + [if test x"$enable_ltdl_install" = xno; then + AC_MSG_WARN([libltdl not installed, but installation disabled]) + else + enable_ltdl_install=yes + fi + ]) + if test x"$enable_ltdl_install" = x"yes"; then + ac_configure_args="$ac_configure_args --enable-ltdl-install" + LIBLTDL=ifelse($#,1,$1,['${top_builddir}/libltdl'])/libltdl.la + else + ac_configure_args="$ac_configure_args --enable-ltdl-install=no" + LIBLTDL="-lltdl" + fi +]) + +dnl old names +AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl +AC_DEFUN(AM_ENABLE_SHARED, [indir([AC_ENABLE_SHARED], $@)])dnl +AC_DEFUN(AM_ENABLE_STATIC, [indir([AC_ENABLE_STATIC], $@)])dnl +AC_DEFUN(AM_DISABLE_SHARED, [indir([AC_DISABLE_SHARED], $@)])dnl +AC_DEFUN(AM_DISABLE_STATIC, [indir([AC_DISABLE_STATIC], $@)])dnl +AC_DEFUN(AM_PROG_LD, [indir([AC_PROG_LD])])dnl +AC_DEFUN(AM_PROG_NM, [indir([AC_PROG_NM])])dnl + +dnl This is just to quiet aclocal about the macro not being used +if(a,b,[AC_DISABLE_FAST_INSTALL])dnl + # Like AC_CONFIG_HEADER, but automatically create stamp file. AC_DEFUN(AM_CONFIG_HEADER, diff --git a/configure b/configure index 97606f17..077d01c8 100755 --- a/configure +++ b/configure @@ -12,16 +12,16 @@ ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: ac_help="$ac_help - --enable-shared build shared libraries [default=yes] - --enable-shared=PKGS only build shared libraries if the current package - appears as an element in the PKGS list" + --enable-shared[=PKGS] build shared libraries [default=yes]" ac_help="$ac_help - --enable-static build static libraries [default=yes] - --enable-static=PKGS only build shared libraries if the current package - appears as an element in the PKGS list" + --enable-static[=PKGS] build static libraries [default=yes]" +ac_help="$ac_help + --enable-fast-install[=PKGS] optimize for fast installation [default=yes]" ac_help="$ac_help --with-gnu-ld assume the C compiler uses GNU ld [default=no]" ac_help="$ac_help + --disable-libtool-lock avoid locking (might break parallel builds)" +ac_help="$ac_help --with-libs-from pass compiler flags to look for libraries" ac_help="$ac_help --with-incs-from pass compiler flags to look for header files" @@ -68,6 +68,9 @@ ac_help="$ac_help ac_help="$ac_help --enable-single-icon use single application icon per WM_INSTANCE+WM_CLASS " +ac_help="$ac_help + --enable-usermenu user defined menus for applications +" # Initialize some variables set by options. # The variables have the same names as the options, with @@ -612,7 +615,7 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:616: checking for a BSD compatible install" >&5 +echo "configure:619: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -665,7 +668,7 @@ test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6 -echo "configure:669: checking whether build environment is sane" >&5 +echo "configure:672: checking whether build environment is sane" >&5 # Just in case sleep 1 echo timestamp > conftestfile @@ -722,7 +725,7 @@ test "$program_suffix" != NONE && test "$program_transform_name" = "" && program_transform_name="s,x,x," echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:726: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:729: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -768,7 +771,7 @@ EOF missing_dir=`cd $ac_aux_dir && pwd` echo $ac_n "checking for working aclocal""... $ac_c" 1>&6 -echo "configure:772: checking for working aclocal" >&5 +echo "configure:775: checking for working aclocal" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -781,7 +784,7 @@ else fi echo $ac_n "checking for working autoconf""... $ac_c" 1>&6 -echo "configure:785: checking for working autoconf" >&5 +echo "configure:788: checking for working autoconf" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -794,7 +797,7 @@ else fi echo $ac_n "checking for working automake""... $ac_c" 1>&6 -echo "configure:798: checking for working automake" >&5 +echo "configure:801: checking for working automake" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -807,7 +810,7 @@ else fi echo $ac_n "checking for working autoheader""... $ac_c" 1>&6 -echo "configure:811: checking for working autoheader" >&5 +echo "configure:814: checking for working autoheader" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -820,7 +823,7 @@ else fi echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6 -echo "configure:824: checking for working makeinfo" >&5 +echo "configure:827: checking for working makeinfo" >&5 # Run test in a subshell; some versions of sh will print an error if # an executable is not found, even if stderr is redirected. # Redirect stdin to placate older versions of autoconf. Sigh. @@ -880,6 +883,29 @@ else enable_static=yes fi +# Check whether --enable-fast-install or --disable-fast-install was given. +if test "${enable_fast_install+set}" = set; then + enableval="$enable_fast_install" + p=${PACKAGE-default} +case "$enableval" in +yes) enable_fast_install=yes ;; +no) enable_fast_install=no ;; +*) + enable_fast_install=no + # Look at the argument we got. We use all the common list separators. + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:," + for pkg in $enableval; do + if test "X$pkg" = "X$p"; then + enable_fast_install=yes + fi + done + IFS="$ac_save_ifs" + ;; +esac +else + enable_fast_install=yes +fi + # Make sure we can run config.sub. if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : @@ -887,7 +913,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:891: checking host system type" >&5 +echo "configure:917: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -907,10 +933,28 @@ host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` echo "$ac_t""$host" 1>&6 +echo $ac_n "checking build system type""... $ac_c" 1>&6 +echo "configure:938: checking build system type" >&5 + +build_alias=$build +case "$build_alias" in +NONE) + case $nonopt in + NONE) build_alias=$host_alias ;; + *) build_alias=$nonopt ;; + esac ;; +esac + +build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` +build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` +build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` +build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` +echo "$ac_t""$build" 1>&6 + # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:914: checking for $ac_word" >&5 +echo "configure:958: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -940,7 +984,7 @@ fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:944: checking for $ac_word" >&5 +echo "configure:988: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -970,7 +1014,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:974: checking for $ac_word" >&5 +echo "configure:1018: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1021,7 +1065,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1025: checking for $ac_word" >&5 +echo "configure:1069: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1053,7 +1097,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1057: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1101: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1064,12 +1108,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1068 "configure" +#line 1112 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1073: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1095,12 +1139,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1099: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1143: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1104: checking whether we are using GNU C" >&5 +echo "configure:1148: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1109,7 +1153,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1113: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1157: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1128,7 +1172,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1132: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1176: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1167,18 +1211,23 @@ else with_gnu_ld=no fi - ac_prog=ld if test "$ac_cv_prog_gcc" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:1176: checking for ld used by GCC" >&5 +echo "configure:1219: checking for ld used by GCC" >&5 ac_prog=`($CC -print-prog-name=ld) 2>&5` case "$ac_prog" in - # Accept absolute paths. - /* | A-Za-z:\\*) - test -z "$LD" && LD="$ac_prog" - ;; + # Accept absolute paths. + [\\/]* | [A-Za-z]:[\\/]*) + re_direlt='/[^/][^/]*/\.\./' + # Canonicalize the path of ld + ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` + while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do + ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` + done + test -z "$LD" && LD="$ac_prog" + ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld @@ -1190,19 +1239,19 @@ echo "configure:1176: checking for ld used by GCC" >&5 esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:1194: checking for GNU ld" >&5 +echo "configure:1243: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:1197: checking for non-GNU ld" >&5 +echo "configure:1246: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog"; then + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then ac_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. @@ -1210,7 +1259,7 @@ else if "$ac_cv_path_LD" -v 2>&1 < /dev/null | egrep '(GNU|with BFD)' > /dev/null; then test "$with_gnu_ld" != no && break else - test "$with_gnu_ld" != yes && break + test "$with_gnu_ld" != yes && break fi fi done @@ -1229,7 +1278,7 @@ fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:1233: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:1282: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1245,36 +1294,36 @@ echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6 echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 -echo "configure:1249: checking for BSD-compatible nm" >&5 +echo "configure:1298: checking for BSD-compatible nm" >&5 if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else - case "$NM" in -/* | A-Za-z:\\*) - ac_cv_path_NM="$NM" # Let the user override the test with a path. - ;; -*) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in /usr/ucb /usr/ccs/bin $PATH /bin; do + if test -n "$NM"; then + # Let the user override the test. + ac_cv_path_NM="$NM" +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" + for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/nm; then + if test -f $ac_dir/nm || test -f $ac_dir/nm$ac_exeext ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored if ($ac_dir/nm -B /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -B" + ac_cv_path_NM="$ac_dir/nm -B" + break elif ($ac_dir/nm -p /dev/null 2>&1 | sed '1q'; exit 0) | egrep /dev/null >/dev/null; then - ac_cv_path_NM="$ac_dir/nm -p" + ac_cv_path_NM="$ac_dir/nm -p" + break else - ac_cv_path_NM="$ac_dir/nm" + ac_cv_path_NM=${ac_cv_path_NM="$ac_dir/nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags fi - break fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_NM" && ac_cv_path_NM=nm - ;; -esac +fi fi NM="$ac_cv_path_NM" @@ -1282,7 +1331,7 @@ echo "$ac_t""$NM" 1>&6 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1286: checking whether ln -s works" >&5 +echo "configure:1335: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1302,24 +1351,32 @@ else echo "$ac_t""no" 1>&6 fi -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' # Check for any special flags to pass to ltconfig. -libtool_flags= +libtool_flags="--cache-file=$cache_file" test "$enable_shared" = no && libtool_flags="$libtool_flags --disable-shared" test "$enable_static" = no && libtool_flags="$libtool_flags --disable-static" -test "$silent" = yes && libtool_flags="$libtool_flags --silent" +test "$enable_fast_install" = no && libtool_flags="$libtool_flags --disable-fast-install" test "$ac_cv_prog_gcc" = yes && libtool_flags="$libtool_flags --with-gcc" test "$ac_cv_prog_gnu_ld" = yes && libtool_flags="$libtool_flags --with-gnu-ld" + +# Check whether --enable-libtool-lock or --disable-libtool-lock was given. +if test "${enable_libtool_lock+set}" = set; then + enableval="$enable_libtool_lock" + : +fi + +test "x$enable_libtool_lock" = xno && libtool_flags="$libtool_flags --disable-lock" +test x"$silent" = xyes && libtool_flags="$libtool_flags --silent" + # Some flags need to be propagated to the compiler or linker for good # libtool support. case "$host" in *-*-irix6*) # Find out which ABI we are using. - echo '#line 1322 "configure"' > conftest.$ac_ext - if { (eval echo configure:1323: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then + echo '#line 1379 "configure"' > conftest.$ac_ext + if { (eval echo configure:1380: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then case "`/usr/bin/file conftest.o`" in *32-bit*) LD="${LD-ld} -32" @@ -1337,17 +1394,122 @@ case "$host" in *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. + SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" + echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 +echo "configure:1401: checking whether the C compiler needs -belf" >&5 +if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then + rm -rf conftest* + lt_cv_cc_needs_belf=yes +else + echo "configure: failed program was:" >&5 + cat conftest.$ac_ext >&5 + rm -rf conftest* + lt_cv_cc_needs_belf=no +fi +rm -f conftest* +fi + +echo "$ac_t""$lt_cv_cc_needs_belf" 1>&6 + if test x"$lt_cv_cc_needs_belf" != x"yes"; then + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf + CFLAGS="$SAVE_CFLAGS" + fi ;; + + esac + +# Save cache, so that ltconfig can load it +cat > confcache <<\EOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs. It is not useful on other systems. +# If it contains results you don't want to keep, you may remove or edit it. +# +# By default, configure uses ./config.cache as the cache file, +# creating it if it does not exist already. You can give configure +# the --cache-file=FILE option to use a different cache file; that is +# what configure does when it calls configure scripts in +# subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. +# config.status only pays attention to the cache file if you give it the +# --recheck option to rerun configure. +# +EOF +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +(set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote substitution + # turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + -e "s/'/'\\\\''/g" \ + -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' + ;; + esac >> confcache +if cmp -s $cache_file confcache; then + : +else + if test -w $cache_file; then + echo "updating cache $cache_file" + cat confcache > $cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + + # Actually configure libtool. ac_aux_dir is where install-sh is found. CC="$CC" CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" \ -LD="$LD" NM="$NM" RANLIB="$RANLIB" LN_S="$LN_S" \ -${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig \ +LD="$LD" LDFLAGS="$LDFLAGS" LIBS="$LIBS" \ +LN_S="$LN_S" NM="$NM" RANLIB="$RANLIB" \ +DLLTOOL="$DLLTOOL" AS="$AS" OBJDUMP="$OBJDUMP" \ +${CONFIG_SHELL-/bin/sh} $ac_aux_dir/ltconfig --no-reexec \ $libtool_flags --no-verify $ac_aux_dir/ltmain.sh $host \ || { echo "configure: error: libtool configure failed" 1>&2; exit 1; } +# Reload cache, that may have been modified by ltconfig +if test -r "$cache_file"; then + echo "loading cache $cache_file" + . $cache_file +else + echo "creating cache $cache_file" + > $cache_file +fi + + +# This can be used to rebuild libtool when needed +LIBTOOL_DEPS="$ac_aux_dir/ltconfig $ac_aux_dir/ltmain.sh" + +# Always use our own libtool. +LIBTOOL='$(SHELL) $(top_builddir)/libtool' + +# Redirect the config.log output again, so that the ltconfig log is not +# clobbered by the next message. +exec 5>>./config.log + # by Marcelo Magallon # Turn around -rpath problem with libtool 1.0c @@ -1376,7 +1538,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:1380: checking host system type" >&5 +echo "configure:1542: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -1399,7 +1561,7 @@ echo "$ac_t""$host" 1>&6 echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6 -echo "configure:1403: checking for POSIXized ISC" >&5 +echo "configure:1565: checking for POSIXized ISC" >&5 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then @@ -1422,7 +1584,7 @@ fi # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1426: checking for $ac_word" >&5 +echo "configure:1588: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1452,7 +1614,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1456: checking for $ac_word" >&5 +echo "configure:1618: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1503,7 +1665,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1507: checking for $ac_word" >&5 +echo "configure:1669: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1535,7 +1697,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1539: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1701: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1546,12 +1708,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1550 "configure" +#line 1712 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1555: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1717: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1577,12 +1739,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1581: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1743: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1586: checking whether we are using GNU C" >&5 +echo "configure:1748: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1591,7 +1753,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1595: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1757: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1610,7 +1772,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1614: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1776: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1643,7 +1805,7 @@ fi #AC_PROG_RANLIB echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:1647: checking whether ln -s works" >&5 +echo "configure:1809: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1664,7 +1826,7 @@ else fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1668: checking how to run the C preprocessor" >&5 +echo "configure:1830: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1679,13 +1841,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1689: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1851: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1696,13 +1858,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1706: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1868: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1713,13 +1875,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1723: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1885: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1745,13 +1907,13 @@ echo "$ac_t""$CPP" 1>&6 if test $ac_cv_prog_gcc = yes; then echo $ac_n "checking whether ${CC-cc} needs -traditional""... $ac_c" 1>&6 -echo "configure:1749: checking whether ${CC-cc} needs -traditional" >&5 +echo "configure:1911: checking whether ${CC-cc} needs -traditional" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc_traditional'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_pattern="Autoconf.*'x'" cat > conftest.$ac_ext < Autoconf TIOCGETP @@ -1769,7 +1931,7 @@ rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat > conftest.$ac_ext < Autoconf TCGETA @@ -1811,7 +1973,7 @@ inc_search_path="-I`eval echo $inc_search_path`" echo $ac_n "checking for RedHat system""... $ac_c" 1>&6 -echo "configure:1815: checking for RedHat system" >&5 +echo "configure:1977: checking for RedHat system" >&5 wm_check_flag='no :)' rh_is_redhat=no if test -f /etc/redhat-release; then @@ -1831,7 +1993,7 @@ echo # if test "$prefix" != "/usr/X11R6" -a "$prefix" != "/usr/X11"; then echo $ac_n "checking for multiple installed wmaker versions""... $ac_c" 1>&6 -echo "configure:1835: checking for multiple installed wmaker versions" >&5 +echo "configure:1997: checking for multiple installed wmaker versions" >&5 if test -f /usr/X11R6/bin/wmaker; then echo "$ac_t""uh oh" 1>&6 mins_found=yes @@ -1863,7 +2025,7 @@ fi # if test "$_bindir" = "/usr/local/bin"; then echo $ac_n "checking if /usr/local/bin is in the search PATH""... $ac_c" 1>&6 -echo "configure:1867: checking if /usr/local/bin is in the search PATH" >&5 +echo "configure:2029: checking if /usr/local/bin is in the search PATH" >&5 wm_check_flag=no rh_missing_usr_local_bin=yes old_IFS="$IFS" @@ -1891,7 +2053,7 @@ if test "$_libdir" = "/usr/local/lib"; then wm_check_flag=yes rh_missing_usr_local_lib=no echo $ac_n "checking if /usr/local/lib is in /etc/ld.so.conf""... $ac_c" 1>&6 -echo "configure:1895: checking if /usr/local/lib is in /etc/ld.so.conf" >&5 +echo "configure:2057: checking if /usr/local/lib is in /etc/ld.so.conf" >&5 test -z "`grep /usr/local/lib /etc/ld.so.conf`" test "$?" -eq 0 && wm_check_flag=no if test "$wm_check_flag" = no; then @@ -1906,7 +2068,7 @@ fi # Check for symbolic links # echo $ac_n "checking for /usr/include/X11 symbolic link""... $ac_c" 1>&6 -echo "configure:1910: checking for /usr/include/X11 symbolic link" >&5 +echo "configure:2072: checking for /usr/include/X11 symbolic link" >&5 rh_missing_usr_include_x11=no if test -d "/usr/include/X11"; then echo "$ac_t""found" 1>&6 @@ -1920,7 +2082,7 @@ fi # Check for /lib/cpp # echo $ac_n "checking for /lib/cpp""... $ac_c" 1>&6 -echo "configure:1924: checking for /lib/cpp" >&5 +echo "configure:2086: checking for /lib/cpp" >&5 rh_missing_lib_cpp=no if test -f "/lib/cpp"; then echo "$ac_t""found" 1>&6 @@ -1952,12 +2114,12 @@ fi echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:1956: checking for vprintf" >&5 +echo "configure:2118: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -2004,12 +2166,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:2008: checking for _doprnt" >&5 +echo "configure:2170: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -2059,19 +2221,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:2063: checking for working alloca.h" >&5 +echo "configure:2225: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:2075: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2237: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -2092,12 +2254,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2096: checking for alloca" >&5 +echo "configure:2258: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2291: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -2157,12 +2319,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2161: checking whether alloca needs Cray hooks" >&5 +echo "configure:2323: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2191: checking for $ac_func" >&5 +echo "configure:2353: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2381: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2242,7 +2404,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:2246: checking stack direction for C alloca" >&5 +echo "configure:2408: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2250,7 +2412,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -2293,12 +2455,12 @@ fi for ac_func in gethostname select poll strerror strncasecmp setpgid atexit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2297: checking for $ac_func" >&5 +echo "configure:2459: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2351,12 +2513,12 @@ done DLLIBS="" echo $ac_n "checking for dlopen""... $ac_c" 1>&6 -echo "configure:2355: checking for dlopen" >&5 +echo "configure:2517: checking for dlopen" >&5 if eval "test \"`echo '$''{'ac_cv_func_dlopen'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2545: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_dlopen=yes" else @@ -2397,7 +2559,7 @@ if eval "test \"`echo '$ac_cv_func_'dlopen`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:2401: checking for dlopen in -ldl" >&5 +echo "configure:2563: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2405,7 +2567,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2582: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2445,17 +2607,17 @@ if test "x$HAVEDL" = xyes; then do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2449: checking for $ac_hdr" >&5 +echo "configure:2611: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2459: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2621: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2489,7 +2651,7 @@ if test "x$CPP_PATH" = x; then # Extract the first word of "cpp", so it can be a program name with args. set dummy cpp; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2493: checking for $ac_word" >&5 +echo "configure:2655: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_CPP_PATH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2545,12 +2707,12 @@ EOF echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:2549: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:2711: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2566,7 +2728,7 @@ wait (&s); s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:2570: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2732: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -2587,12 +2749,12 @@ EOF fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:2591: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:2753: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2601,7 +2763,7 @@ int main() { struct tm *tp; ; return 0; } EOF -if { (eval echo configure:2605: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2767: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -2626,17 +2788,17 @@ for ac_hdr in fcntl.h limits.h sys/ioctl.h sys/time.h sys/types.h\ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2630: checking for $ac_hdr" >&5 +echo "configure:2792: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2640: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2802: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2666,12 +2828,12 @@ done echo $ac_n "checking for sys_siglist declaration in signal.h or unistd.h""... $ac_c" 1>&6 -echo "configure:2670: checking for sys_siglist declaration in signal.h or unistd.h" >&5 +echo "configure:2832: checking for sys_siglist declaration in signal.h or unistd.h" >&5 if eval "test \"`echo '$''{'ac_cv_decl_sys_siglist'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2683,7 +2845,7 @@ int main() { char *msg = *(sys_siglist + 1); ; return 0; } EOF -if { (eval echo configure:2687: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2849: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_decl_sys_siglist=yes else @@ -2704,12 +2866,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2708: checking for working const" >&5 +echo "configure:2870: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2924: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2781,12 +2943,12 @@ fi #AC_TYPE_SIZE_T #AC_TYPE_PID_T echo $ac_n "checking return type of signal handlers""... $ac_c" 1>&6 -echo "configure:2785: checking return type of signal handlers" >&5 +echo "configure:2947: checking return type of signal handlers" >&5 if eval "test \"`echo '$''{'ac_cv_type_signal'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2803,7 +2965,7 @@ int main() { int i; ; return 0; } EOF -if { (eval echo configure:2807: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_type_signal=void else @@ -2831,12 +2993,12 @@ EOF INTLIBS="" echo $ac_n "checking for gettext""... $ac_c" 1>&6 -echo "configure:2835: checking for gettext" >&5 +echo "configure:2997: checking for gettext" >&5 if eval "test \"`echo '$''{'ac_cv_func_gettext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3025: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gettext=yes" else @@ -2877,7 +3039,7 @@ if eval "test \"`echo '$ac_cv_func_'gettext`\" = yes"; then else echo "$ac_t""no" 1>&6 echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6 -echo "configure:2881: checking for gettext in -lintl" >&5 +echo "configure:3043: checking for gettext in -lintl" >&5 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2885,7 +3047,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3062: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2923,7 +3085,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2927: checking for $ac_word" >&5 +echo "configure:3089: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3029,7 +3191,7 @@ if test "$enable_kanji" = yes; then case $host_os in freebsd*) echo $ac_n "checking for setlocale in -lxpg4""... $ac_c" 1>&6 -echo "configure:3033: checking for setlocale in -lxpg4" >&5 +echo "configure:3195: checking for setlocale in -lxpg4" >&5 ac_lib_var=`echo xpg4'_'setlocale | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3037,7 +3199,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lxpg4 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3214: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3171,7 +3333,7 @@ fi # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:3175: checking for X" >&5 +echo "configure:3337: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -3233,12 +3395,12 @@ if test "$ac_x_includes" = NO; then # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3242: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3404: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3307,14 +3469,14 @@ if test "$ac_x_libraries" = NO; then ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -3420,17 +3582,17 @@ else case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:3424: checking whether -R must be followed by a space" >&5 +echo "configure:3586: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else @@ -3446,14 +3608,14 @@ rm -f conftest* else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3619: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else @@ -3485,7 +3647,7 @@ rm -f conftest* # libraries were built with DECnet support. And karl@cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:3489: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:3651: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3493,7 +3655,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3670: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3526,7 +3688,7 @@ fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:3530: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:3692: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3534,7 +3696,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3711: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3574,12 +3736,12 @@ fi # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:3578: checking for gethostbyname" >&5 +echo "configure:3740: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -3623,7 +3785,7 @@ fi if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:3627: checking for gethostbyname in -lnsl" >&5 +echo "configure:3789: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3631,7 +3793,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3672,12 +3834,12 @@ fi # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:3676: checking for connect" >&5 +echo "configure:3838: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3866: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -3721,7 +3883,7 @@ fi if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:3725: checking for connect in -lsocket" >&5 +echo "configure:3887: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3729,7 +3891,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3906: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3764,12 +3926,12 @@ fi # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:3768: checking for remove" >&5 +echo "configure:3930: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -3813,7 +3975,7 @@ fi if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:3817: checking for remove in -lposix" >&5 +echo "configure:3979: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3821,7 +3983,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3998: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3856,12 +4018,12 @@ fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:3860: checking for shmat" >&5 +echo "configure:4022: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -3905,7 +4067,7 @@ fi if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:3909: checking for shmat in -lipc" >&5 +echo "configure:4071: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3913,7 +4075,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3957,7 +4119,7 @@ fi # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:3961: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:4123: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3965,7 +4127,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4142: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4022,7 +4184,7 @@ fi if test "$use_locale" = yes; then echo $ac_n "checking for _Xsetlocale in -lX11""... $ac_c" 1>&6 -echo "configure:4026: checking for _Xsetlocale in -lX11" >&5 +echo "configure:4188: checking for _Xsetlocale in -lX11" >&5 ac_lib_var=`echo X11'_'_Xsetlocale | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4030,7 +4192,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lX11 $XLFLAGS $XLIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4093,7 +4255,7 @@ added_xext=no if test "$shape" = yes; then echo $ac_n "checking for XShapeSelectInput in -lXext""... $ac_c" 1>&6 -echo "configure:4097: checking for XShapeSelectInput in -lXext" >&5 +echo "configure:4259: checking for XShapeSelectInput in -lXext" >&5 ac_lib_var=`echo Xext'_'XShapeSelectInput | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4101,7 +4263,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXext $XLFLAGS $XLIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4278: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4153,7 +4315,7 @@ fi if test "$shm" = yes; then echo $ac_n "checking for XShmAttach in -lXext""... $ac_c" 1>&6 -echo "configure:4157: checking for XShmAttach in -lXext" >&5 +echo "configure:4319: checking for XShmAttach in -lXext" >&5 ac_lib_var=`echo Xext'_'XShmAttach | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4161,7 +4323,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXext $XLFLAGS $XLIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4338: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4196,12 +4358,12 @@ fi if test "$ok" = yes; then echo $ac_n "checking for shmget""... $ac_c" 1>&6 -echo "configure:4200: checking for shmget" >&5 +echo "configure:4362: checking for shmget" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmget'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4390: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmget=yes" else @@ -4273,7 +4435,7 @@ LIBPL="" LDFLAGS_old="$LDFLAGS" LDFLAGS="$LDFLAGS $lib_search_path" echo $ac_n "checking for PLGetString in -lPropList""... $ac_c" 1>&6 -echo "configure:4277: checking for PLGetString in -lPropList" >&5 +echo "configure:4439: checking for PLGetString in -lPropList" >&5 ac_lib_var=`echo PropList'_'PLGetString | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4281,7 +4443,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lPropList $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4458: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4321,17 +4483,17 @@ CPPFLAGS_old="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $inc_search_path" ac_safe=`echo "proplist.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for proplist.h""... $ac_c" 1>&6 -echo "configure:4325: checking for proplist.h" >&5 +echo "configure:4487: checking for proplist.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4335: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4497: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4399,7 +4561,7 @@ if test "$xpm" = yes; then LDFLAGS_old="$LDFLAGS" LDFLAGS="$LDFLAGS $lib_search_path" echo $ac_n "checking for XpmCreatePixmapFromData in -lXpm""... $ac_c" 1>&6 -echo "configure:4403: checking for XpmCreatePixmapFromData in -lXpm" >&5 +echo "configure:4565: checking for XpmCreatePixmapFromData in -lXpm" >&5 ac_lib_var=`echo Xpm'_'XpmCreatePixmapFromData | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4407,7 +4569,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lXpm $XLFLAGS $XLIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4448,17 +4610,17 @@ CPPFLAGS_old="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $inc_search_path" ac_safe=`echo "X11/xpm.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for X11/xpm.h""... $ac_c" 1>&6 -echo "configure:4452: checking for X11/xpm.h" >&5 +echo "configure:4614: checking for X11/xpm.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4462: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4624: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4520,7 +4682,7 @@ if test "$png" = yes ; then LDFLAGS_old="$LDFLAGS" LDFLAGS="$LDFLAGS $lib_search_path" echo $ac_n "checking for png_get_valid in -lpng""... $ac_c" 1>&6 -echo "configure:4524: checking for png_get_valid in -lpng" >&5 +echo "configure:4686: checking for png_get_valid in -lpng" >&5 ac_lib_var=`echo png'_'png_get_valid | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4528,7 +4690,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lpng -lz -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4569,17 +4731,17 @@ CPPFLAGS_old="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $inc_search_path" ac_safe=`echo "png.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for png.h""... $ac_c" 1>&6 -echo "configure:4573: checking for png.h" >&5 +echo "configure:4735: checking for png.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4583: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4745: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4630,7 +4792,7 @@ if test "$jpeg" = yes; then LDFLAGS_old="$LDFLAGS" LDFLAGS="$LDFLAGS $lib_search_path" echo $ac_n "checking for jpeg_destroy_compress in -ljpeg""... $ac_c" 1>&6 -echo "configure:4634: checking for jpeg_destroy_compress in -ljpeg" >&5 +echo "configure:4796: checking for jpeg_destroy_compress in -ljpeg" >&5 ac_lib_var=`echo jpeg'_'jpeg_destroy_compress | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4638,7 +4800,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ljpeg $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4815: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4682,17 +4844,17 @@ CPPFLAGS_old="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $inc_search_path" ac_safe=`echo "jpeglib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6 -echo "configure:4686: checking for jpeglib.h" >&5 +echo "configure:4848: checking for jpeglib.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4696: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4858: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4743,7 +4905,7 @@ if test "$gif" = yes; then LDFLAGS_old="$LDFLAGS" LDFLAGS="$LDFLAGS $lib_search_path" echo $ac_n "checking for DGifOpenFileName in -lungif""... $ac_c" 1>&6 -echo "configure:4747: checking for DGifOpenFileName in -lungif" >&5 +echo "configure:4909: checking for DGifOpenFileName in -lungif" >&5 ac_lib_var=`echo ungif'_'DGifOpenFileName | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4751,7 +4913,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lungif $XLFLAGS $XLIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4793,7 +4955,7 @@ LDFLAGS="$LDFLAGS_old" LDFLAGS_old="$LDFLAGS" LDFLAGS="$LDFLAGS $lib_search_path" echo $ac_n "checking for DGifOpenFileName in -lgif""... $ac_c" 1>&6 -echo "configure:4797: checking for DGifOpenFileName in -lgif" >&5 +echo "configure:4959: checking for DGifOpenFileName in -lgif" >&5 ac_lib_var=`echo gif'_'DGifOpenFileName | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4801,7 +4963,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lgif $XLFLAGS $XLIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4978: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4846,17 +5008,17 @@ CPPFLAGS_old="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $inc_search_path" ac_safe=`echo "gif_lib.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for gif_lib.h""... $ac_c" 1>&6 -echo "configure:4850: checking for gif_lib.h" >&5 +echo "configure:5012: checking for gif_lib.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4860: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5022: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4917,7 +5079,7 @@ if test "$tif" = yes; then LDFLAGS_old="$LDFLAGS" LDFLAGS="$LDFLAGS $lib_search_path" echo $ac_n "checking for TIFFGetVersion in -ltiff""... $ac_c" 1>&6 -echo "configure:4921: checking for TIFFGetVersion in -ltiff" >&5 +echo "configure:5083: checking for TIFFGetVersion in -ltiff" >&5 ac_lib_var=`echo tiff'_'TIFFGetVersion | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4925,7 +5087,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ltiff -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4968,7 +5130,7 @@ LDFLAGS="$LDFLAGS_old" LDFLAGS_old="$LDFLAGS" LDFLAGS="$LDFLAGS $lib_search_path" echo $ac_n "checking for TIFFGetVersion in -ltiff""... $ac_c" 1>&6 -echo "configure:4972: checking for TIFFGetVersion in -ltiff" >&5 +echo "configure:5134: checking for TIFFGetVersion in -ltiff" >&5 ac_lib_var=`echo tiff'_'TIFFGetVersion | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4976,7 +5138,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ltiff $ljpeg -lz -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5020,7 +5182,7 @@ LDFLAGS="$LDFLAGS_old" LDFLAGS_old="$LDFLAGS" LDFLAGS="$LDFLAGS $lib_search_path" echo $ac_n "checking for TIFFGetVersion in -ltiff34""... $ac_c" 1>&6 -echo "configure:5024: checking for TIFFGetVersion in -ltiff34" >&5 +echo "configure:5186: checking for TIFFGetVersion in -ltiff34" >&5 ac_lib_var=`echo tiff34'_'TIFFGetVersion | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5028,7 +5190,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ltiff34 $ljpeg -lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5205: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5074,17 +5236,17 @@ CPPFLAGS_old="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $inc_search_path" ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6 -echo "configure:5078: checking for tiffio.h" >&5 +echo "configure:5240: checking for tiffio.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5088: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5250: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5240,6 +5402,20 @@ fi fi +================================== +# Check whether --enable-usermenu or --disable-usermenu was given. +if test "${enable_usermenu+set}" = set; then + enableval="$enable_usermenu" + if test "$enableval" = yes; then + cat >> confdefs.h <<\EOF +#define USER_MENU 1 +EOF + +fi + +fi + + @@ -5400,6 +5576,11 @@ s%@host_alias@%$host_alias%g s%@host_cpu@%$host_cpu%g s%@host_vendor@%$host_vendor%g s%@host_os@%$host_os%g +s%@build@%$build%g +s%@build_alias@%$build_alias%g +s%@build_cpu@%$build_cpu%g +s%@build_vendor@%$build_vendor%g +s%@build_os@%$build_os%g s%@RANLIB@%$RANLIB%g s%@CC@%$CC%g s%@LD@%$LD%g diff --git a/configure.in b/configure.in index 1da0097e..20312e40 100644 --- a/configure.in +++ b/configure.in @@ -723,6 +723,16 @@ if test "$enableval" = yes; then fi ) +dnl Enable User Defined Menu thing +================================== +AC_ARG_ENABLE(usermenu, +[ --enable-usermenu user defined menus for applications +], +if test "$enableval" = yes; then + AC_DEFINE(USER_MENU) +fi +) + dnl dnl Nicolai: Program tests for Documentation Section diff --git a/contrib/Makefile.in b/contrib/Makefile.in index 736cc3a8..fab9ecba 100644 --- a/contrib/Makefile.in +++ b/contrib/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/doc/Makefile.in b/doc/Makefile.in index e36025f3..5b2df022 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/po/Makefile.in b/po/Makefile.in index 2a5520f0..3c6d3658 100644 --- a/po/Makefile.in +++ b/po/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/src/config.h.in b/src/config.h.in index dca5adad..4574bb9a 100644 --- a/src/config.h.in +++ b/src/config.h.in @@ -127,6 +127,9 @@ /* whether XKB language MODELOCK should be enabled */ #undef XKB_MODELOCK +/* define if you want user defined menus for applications */ +#undef USER_MENU + /* Define if you have the atexit function. */ #undef HAVE_ATEXIT diff --git a/src/screen.c b/src/screen.c index 8a83ca26..ec40853d 100644 --- a/src/screen.c +++ b/src/screen.c @@ -1087,7 +1087,7 @@ wScreenSaveState(WScreen *scr) free(str); PLSetFilename(scr->session_state, path); if (!PLSave(scr->session_state, YES)) { - wwarning(_("could not save session state in %s"), PLGetString(path)); + wsyserror(_("could not save session state in %s"), PLGetString(path)); } PLRelease(path); PLRelease(old_state); diff --git a/test/Makefile.in b/test/Makefile.in index a601616b..ba89504a 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/util/Makefile.in b/util/Makefile.in index 38f1c8fb..c91d3140 100644 --- a/util/Makefile.in +++ b/util/Makefile.in @@ -57,10 +57,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -75,6 +77,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/util/wmsetbg.c b/util/wmsetbg.c index 5598e58a..ab64f23b 100644 --- a/util/wmsetbg.c +++ b/util/wmsetbg.c @@ -999,10 +999,9 @@ updateDomain(char *domain, char *key, char *texture) { char *program = "wdwrite"; - if (smooth) - system("wdwrite SmoothWorkspaceBack YES"); - else - system("wdwrite SmoothWorkspaceBack NO"); + system(wstrappend("wdwrite ", + wstrappend(domain, smooth ? " SmoothWorkspaceBack YES" + : " SmoothWorkspaceBack NO"))); execlp(program, program, domain, key, texture, NULL); wwarning("warning could not run \"%s\"", program); diff --git a/wmlib/Makefile.in b/wmlib/Makefile.in index 28d6ebb4..2a803724 100644 --- a/wmlib/Makefile.in +++ b/wmlib/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ diff --git a/wrlib/Makefile.in b/wrlib/Makefile.in index 4ee35e90..2a1a1c70 100644 --- a/wrlib/Makefile.in +++ b/wrlib/Makefile.in @@ -59,10 +59,12 @@ PRE_UNINSTALL = : POST_UNINSTALL = : host_alias = @host_alias@ host_triplet = @host@ +AS = @AS@ CC = @CC@ CPP_PATH = @CPP_PATH@ DFLAGS = @DFLAGS@ DLLIBS = @DLLIBS@ +DLLTOOL = @DLLTOOL@ GFXLIBS = @GFXLIBS@ HEADER_SEARCH_PATH = @HEADER_SEARCH_PATH@ ICONEXT = @ICONEXT@ @@ -77,6 +79,7 @@ MAKEINFO = @MAKEINFO@ MOFILES = @MOFILES@ NLSDIR = @NLSDIR@ NM = @NM@ +OBJDUMP = @OBJDUMP@ PACKAGE = @PACKAGE@ RANLIB = @RANLIB@ VERSION = @VERSION@ -- 2.11.4.GIT