Merge from 0.7.0

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@10329 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2001-07-09 02:49:03 +00:00
parent ce3b319c5a
commit a56278096e
27 changed files with 794 additions and 478 deletions

View file

@ -1,7 +1,7 @@
ANNOUNCE
********
This is version 0.6.7 of the GNUstep GUI library (`gnustep-gui').
This is version 0.7.0 of the GNUstep GUI library (`gnustep-gui').
What is the GNUstep GUI Library?
================================
@ -9,11 +9,11 @@ What is the GNUstep GUI Library?
It is a library of graphical user interface classes written
completely in the Objective-C language; the classes are based upon the
OpenStep specification as release by NeXT Software, Inc. The library
does not completely conform to the specification and has been enhanced
in a number of ways to take advantage of the GNU system. These classes
include graphical objects such as buttons, text fields, popup lists,
browser lists, and windows; there are also many associated classes for
handling events, colors, fonts, pasteboards and images.
has been enhanced in a number of ways to take advantage of the GNU
system. These classes include graphical objects such as buttons, text
fields, popup lists, browser lists, and windows; there are also many
associated classes for handling events, colors, fonts, pasteboards and
images.
The GNUstep GUI Library is designed in two parts. The first part is
the front-end component which is independent of platform and display
@ -31,34 +31,23 @@ component like the GNUstep X/DPS GUI Backend.
What's new in this release?
===========================
The currently released version of the library is `0.6.7'.
The currently released version of the library is `0.7.0'.
Noteworthy changes in version `0.6.7'
Noteworthy changes in version `0.7.0'
=====================================
* App Icons can support documents dropped using DnD.
* Much improvement in NSBrowser, NSMatrix, NSPopUpButton, combo
boxes.
* Added color conversions, working color picker and panel.
* NSTextAttachement implemented, many other text improvements.
* Almost complete rewrite of NSBezierPath
* Fonts cached in the frontend.
* Loads of improvements to Text classes.
* Changes so that backend can be loaded as a bundle at runtime.
* NSImage, NSButton, NSCell, etc, implemented many missing methods.
* simpler, faster compilation and installation.
* ...and even more changes to the Text classes.
* Starting implementation of printing.
* Scrollview fixes.
* Implemented deferred windows.
* NSTableView implemented.
* Implemented object value and formatter support in NSCell
* Support middle mouse button.
* NSColorWell works.
How can I get support for this software?
========================================
@ -72,17 +61,16 @@ the GNUstep Web Pages for more information regarding GNUstep resources
Where can you get it? How can you compile it?
==============================================
The gstep-gui-0.6.7.tar.gz distribution file has been placed on
The gstep-gui-0.7.0.tar.gz distribution file has been placed on
`ftp.gnustep.org' in `pub/gnustep/core'.
The program requires gcc 2.8.0 or higher.
The Display Ghostscript System version 0.5.10 and the TIFF Graphics
library version 3.4 may be required depending on the backend you choose.
the TIFF Graphics library version 3.4 is required.
It also requires a FoundationKit library as specified by the OpenStep
specification. The FoundationKit libraries known to work are the
GNUstep Base Library version `0.6.6'.
GNUstep Base Library version `1.0.2'.
The `.tar' file is compressed with GNU gzip. Gzip can be obtained by
anonymous ftp at any of the GNU archive sites.
@ -91,9 +79,6 @@ anonymous ftp at any of the GNU archive sites.
with no subject line, and two-line body with line one `help' and line
two `quit'.
The most recent (not necessarily tested) snapshots of the library
will be placed in <ftp://alpha.gnu.org/gnu/gnustep>.
Where do I send bug reports?
============================
@ -102,13 +87,6 @@ Where do I send bug reports?
Obtaining GNU Software
======================
Check out the GNU web site. (<http://www.gnu.org/>)
Check out the GNUstep web site. (<http://www.gnustep.org/>)
The GNUstep GUI Library was donated to the Free Software Foundation
as part of the On-line Community project of NET-Community.
NET-Community is a company that develops and supports free software.
Check out their web site to learn more.
(<http://www.net-community.com/>)
Check out the GNUstep web site. (<http://www.gnustep.org/>), and the
GNU web site. (<http://www.gnu.org/>)

2
BUGS
View file

@ -27,5 +27,3 @@ such a degree to be unusable.
* NSPrintPanel
* NSSpellChecker

118
ChangeLog
View file

@ -1,3 +1,7 @@
2001-07-08 Adam Fedor <fedor@gnu.org>
* Merge from 0.7.0.
Tue Jul 3 18:46:38 2001 Nicola Pero <nicola@brainstorm.co.uk>
* Source/NSMenu.m ([NSMenuWindowTitleView -drawRect:]): Cache
@ -68,6 +72,120 @@ Sat Jun 16 14:53:05 2001 Nicola Pero <n.pero@mi.flashnet.it>
-initWithContentRect:styleMask:backing:defer:screen:]): Set up the
next key view chain.
2001-07-08 Adam Fedor <fedor@gnu.org>
* Version: 0.7.0
2001-07-08 Mirko Viviani <mirko.viviani@rccr.cremona.it>
* Source/NSSavePanel.m ([NSSavePanel -ok:]): do browser click after
resetting the text field.
* Source/NSOpenPanel.m ([NSOpenPanel -ok:]): do not allow selecting a
non existent file.
* Source/GSSimpleLayoutManager.m ([GSSimpleLayoutManager
-lineFragmentRectForGlyphAtIndex:effectiveRange:]): check for zero line
layout.
([GSSimpleLayoutManager -locationForGlyphAtIndex:]): likewise.
([GSSimpleLayoutManager -boundingRectForGlyphRange:inTextContainer:]):
likewise.
([GSSimpleLayoutManager -rectForCharacterIndex:]): likewise.
([GSSimpleLayoutManager -lineLayoutIndexForGlyphIndex:]): likewise.
* configure.in: Fixed FreeBSD library path.
2001-07-03 Adam Fedor <fedor@gnu.org>
* Documentation/*: Update.
* configure.in: Check for tiff and jpeg and zlib with tiff
* config.make.in: Add ADDTIONAL_DEPENDS for libs
* Source/GNUmakefile.preamble: Use it.
2001-07-05 Mirko Viviani <mirko.viviani@rccr.cremona.it>
* Source/NSComboBoxCell.m ([NSComboBoxCell -initTextCell:]): use -1
for selectedItem.
([NSComboBoxCell -deselectItemAtIndex:]): likewise.
([NSComboBoxCell -objectValueOfSelectedItem]): likewise.
([NSComboBoxCell -selectItemWithObjectValue:]): likewise.
([NSComboBoxCell -selectItemAtIndex:]): likewise. Post the notification
only if the item change.
* Source/NSTextView.m ([NSTextView -becomeKeyWindow]): make sure that
the cursor is not displayed when the window become key.
([NSTextView -resignKeyWindow]): likewise.
([NSTextView -shouldDrawInsertionPoint]): check for key window.
* Source/NSWindow.m ([NSWindow -setDefaultButtonCell:]): set modifier
mask to 0.
* Source/NSMatrix.m ([NSMatrix -_selectCell:atRow:column:]): scroll
the cell to visible when the matrix is inside a scrollView.
([NSMatrix -textDidEndEditing:]): for NSReturn, call
performKeyEquivalent: on the window to perform the action of default
button.
* Source/NSSavePanel.m ([NSSavePanel -selectText:]): remove unused code
(selectCellWithString:): execute a full search.
([NSSavePanel -ok:]): fixed the value of the form cell after clicking
with a selected cell.
* Source/NSOpenPanel.m ([NSOpenPanel -controlTextDidChange:]): execute
a full search.
([NSOpenPanel -ok:]): fixed the value of the form cell after clicking
with a selected cell.
* Source/NSBrowser.m ([NSBrowser -setPath:]): fixed to work with local
path name.
* Source/NSButton.m ([NSButton -becomeFirstResponder]): disable window
key equivalent for default button cell.
([NSButton -resignFirstResponder]): likewise but enable.
2001-06-26 Adam Fedor <fedor@gnu.org>
* Source/NSMatrix.m (-updateCell:): Revert last change.
2001-06-20 Adam Fedor <fedor@gnu.org>
* Source/NSMatrix.m (-_selectCell:atRow:column:): Don't drawCell
if we have no window yet (suggestion from jan.trembulak@ales.as)
* Source/NSWindow.m (-dealloc): Free our backend only if we're
not still defered.
(-miniaturize:): Make sure we're not deferred.
(-setDocumentEdited:): Set only if we're not deferred.
2001-06-18 Adam Fedor <fedor@gnu.org>
* Source/NSMatrix.m (-updateCell:): Call abortEditing.
2000-06-16 Fred Kiefer <FredKiefer@gmx.de>
* Source/NSImage.m
[compositeToPoint:fromRect:operation:] Move the drawing rectangle
to the origin of the image rep before the intersection of the two
rects. Now drag&drop in Gorm should display the DragView again.
2001-06-15 Adam Fedor <fedor@gnu.org>
* Version: snapshot release 0.6.9
2001-06-14 Mirko Viviani <mirko.viviani@rccr.cremona.it>
* Source/NSWindow.m ([NSWindow -setDefaultButtonCell:]): set button
key equivalent to '\r'.
* Source/NSBrowser.m ([NSBrowser -initWithFrame:]): removed debug.
Patches from Pierre-Yves Rivaille <pyrivail@ens-lyon.fr>
* Source/NSPanel.m ([GSAlertPanel -initWithContentRect:styleMask:
backing:defer:screen:]): set key view chain.
* Source/NSCell.m ([NSCell -performClick:]): set next cell state.
* Source/NSBrowser.m ([NSBrowser -keyDown:]): fixed tab selection.
Wed Jun 13 02:36:44 2001 Nicola Pero <n.pero@mi.flashnet.it>
* Source/NSBitmapImageRep.m ([+imageRepsWithData:]): Replaced

View file

@ -83,26 +83,12 @@ version.texi: ../Version
>> version.texi
echo '@set GNUSTEP-GUI-BASE $(GNUSTEP_GUI_BASE)' \
>> version.texi
echo '@set LIB-FOUNDATION $(LIB_FOUNDATION)' \
>> version.texi
echo '@set GNUSTEP-GUI-LIBTIFF $(GNUSTEP_GUI_LIBTIFF)' \
>> version.texi
echo '@set GNUSTEP-GUI-DGS $(GNUSTEP_GUI_DGS)' \
>> version.texi
echo '@set GNUSTEP-GUI-DPSCLIENT $(GNUSTEP_GUI_DPSCLIENT)' \
>> version.texi
if [ $(GNUSTEP_GUI_FTP_MACHINE) ]; then \
echo '@set GNUSTEP-GUI-FTP-MACHINE $(GNUSTEP_GUI_FTP_MACHINE)' \
>> version.texi; fi
if [ $(GNUSTEP_GUI_FTP_DIRECTORY) ]; then \
echo '@set GNUSTEP-GUI-FTP-DIRECTORY $(GNUSTEP_GUI_FTP_DIRECTORY)' \
>> version.texi; fi
if [ $(GNUSTEP_GUI_SNAP_FTP_MACHINE) ]; then \
echo '@set GNUSTEP-GUI-SNAP-FTP-MACHINE \
$(GNUSTEP_GUI_SNAP_FTP_MACHINE)' \
>> version.texi; fi
if [ $(GNUSTEP_GUI_SNAP_FTP_DIRECTORY) ]; then \
echo '@set GNUSTEP-GUI-SNAP-FTP-DIRECTORY \
$(GNUSTEP_GUI_SNAP_FTP_DIRECTORY)' \
>> version.texi; fi

View file

@ -10,8 +10,7 @@ This is version @value{GNUSTEP-GUI-VERSION} of the GNUstep GUI library (@samp{gn
It is a library of graphical user interface classes written completely
in the Objective-C language; the classes are based upon the OpenStep
specification as release by NeXT Software, Inc. The library does not
completely conform to the specification and has been
specification as release by NeXT Software, Inc. The library has been
enhanced in a number of ways to take advantage of the GNU system.
These classes include graphical objects such as buttons, text fields,
popup lists, browser lists, and windows; there are also many associated
@ -56,10 +55,8 @@ file has not been made available by anonymous ftp.
The program requires gcc @value{GNUSTEP-GUI-GCC} or higher.
The Display Ghostscript System version
@value{GNUSTEP-GUI-DGS} and the TIFF Graphics library version
@value{GNUSTEP-GUI-LIBTIFF} may be required depending on the backend
you choose.
the TIFF Graphics library version
@value{GNUSTEP-GUI-LIBTIFF} is required.
It also requires a FoundationKit library as specified by the OpenStep
specification. The FoundationKit libraries known to work are the GNUstep
@ -72,10 +69,6 @@ For info about FTP via email, send email to
@email{ftpmail@@decwrl.dec.com} with no subject line, and two-line body
with line one @samp{help} and line two @samp{quit}.
The most recent (not necessarily tested) snapshots of the library will
be placed in
@url{ftp://@value{GNUSTEP-GUI-SNAP-FTP-MACHINE}/@value{GNUSTEP-GUI-SNAP-FTP-DIRECTORY}}.
@section Where do I send bug reports?
Bug reports can be sent to
@ -83,12 +76,7 @@ Bug reports can be sent to
@section Obtaining GNU Software
Check out the GNU web site. (@url{http://www.gnu.org/})
Check out the GNUstep web site. (@url{http://www.gnustep.org/}), and
the GNU web site. (@url{http://www.gnu.org/})
Check out the GNUstep web site. (@url{http://www.gnustep.org/})
The GNUstep GUI Library was donated to the Free Software Foundation
as part of the On-line Community project of NET-Community. NET-Community is
a company that develops and supports free software. Check out
their web site to learn more. (@url{http://www.net-community.com/})

View file

@ -9,6 +9,21 @@
The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSION}}.
@section Noteworthy changes in version @samp{0.7.0}
@itemize @bullet
@item Much improvement in NSBrowser, NSMatrix, NSPopUpButton, combo boxes.
@item NSTextAttachement implemented, many other text improvements.
@item Fonts cached in the frontend.
@item Changes so that backend can be loaded as a bundle at runtime.
@item simpler, faster compilation and installation.
@item NSColorWell works.
@end itemize
@c ====================================================================
@c Keep the next line just below the list of changes in most recent version.
@ifclear ANNOUNCE-ONLY
@section Noteworthy changes in version @samp{0.6.7}
@itemize @bullet
@ -26,10 +41,6 @@ The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSIO
@item Support middle mouse button.
@end itemize
@c ====================================================================
@c Keep the next line just below the list of changes in most recent version.
@ifclear ANNOUNCE-ONLY
@section Noteworthy changes in version @samp{0.6.6}
@itemize @bullet

View file

@ -31,5 +31,4 @@ to such a degree to be unusable.
@item NSHelpPanel
@item NSPageLayout
@item NSPrintPanel
@item NSSpellChecker
@end itemize

103
FAQ
View file

@ -1,103 +0,0 @@
Frequently Asked Questions With Answers
***************************************
Maintained by Scott Christley <scottc@net-community.com>.
Last updated March 28 1997. The most up-to-date version of this FAQ
is available at:
`ftp://www.gnustep.org/Documentation/gnustep-gui/gnustep-gui_toc.html'
Please send corrections to <scottc@net-community.com>.
1. What is the GNUstep GUI Library?
The GNUstep GUI Library is a library of objects useful for writing
graphical applications. For example, it includes classes for
drawing and manipulating graphics objects on the screen: windows,
menus, buttons, sliders, text fields, and events. There are also
many peripheral classes that offer operating-system-independent
interfaces to images, cursors, colors, fonts, pasteboards,
printing. There are also workspace support classes such as data
links, open/save panels, context-dependent help, spell checking.
It provides functionality that aims to implement the `AppKit'
portion of the OpenStep standard. However the implementation has
been written to take advantage of GNUstep enhancements wherever
possible.
2. Explain the organization of the front and back-ends.
The GNUstep GUI Library is divided into a front and back-end. The
front-end contains the majority of implementation, but leaves out
the low-level drawing and event code. A back-end can override
whatever methods necessary in order to implement low-level drawing
event receiving. Different back-ends will make GNUstep available
on various platforms. The default GNU back-end will run on top of
the X Window System and the Display Ghostscript Server. Other
back-ends could allow GNUstep to run on Mac, OS/2, and WIN32
graphics/event platforms. Much work will be saved by this clean
separation between front and back-end, because it allows different
platforms to share the large amount of front-end code.
The front-end does not specify what mechanism to use in order to
"plug in" the back-end; that is the back-end implementor's choice.
At least two backends will use `+poseAs:' method, for example,
running `[XDPSWindow poseAs: [NSWindow class]]'. Using `+poseAs:'
is more flexible than using Categories because it allows the the
back-end implementor to choose what to override in the front-end,
instead of having the interface between front and back-end fixed
by the front-end.
3. What is the current state of development of the front-end?
A number of classes in the front-end are complete or almost
complete; these include: NSActionCell, NSButtonCell, NSButton,
NSCell, NSColor, NSColorWell, NSControl, NSCursor, NSEvent,
NSFont, NSImage, NSImageRep, NSBitmapImageRep, NSResponder,
NSSlider, NSScroller, NSTextField, and NSTextFieldCell.
Other classes are complete enough to use, but still require some
major additions before being considered almost complete:
NSApplication, NSBox, NSFontManager, NSMatrix, NSMenu, NSMenuCell,
NSPopUpButton, NSSliderCell, NSText, NSView, and NSWindow.
You can review the most up-to-date status report at:
`http://www.gnustep.org/Documentation/gnustep-gui/gnustep-gui_toc.html'.
4. What back-ends are available?
The official back-end is the GNUstep X/DPS GUI Backend which runs
under the X Window System and interfaces to the Display Ghostscript
System. You can learn more at:
`http://www.gnustep.org/Documentation/gnustep-xdps/gnustep-xdps_toc.html'
5. Where can I get a copy?
The gstep-gui-0.5.0.tar.gz distribution file has been placed on
`ftp.gnustep.org' in `pub/gnustep/core'.
The program requires gcc 2.8.0 or higher.
It requires the Display Ghostscript System version 0.5.0 and the
TIFF Graphics library version 3.4.
It also requires a FoundationKit library as specified by the
OpenStep specification. The FoundationKit libraries known to work
are the GNUstep Base Library version `0.5.0' and libFoundation
version `0.7.1'.
The `.tar' file is compressed with GNU gzip. Gzip can be obtained
by anonymous ftp at any of the GNU archive sites.
For info about FTP via email, send email to
<ftpmail@decwrl.dec.com> with no subject line, and two-line body
with line one `help' and line two `quit'.
The most recent (not necessarily tested) snapshots of the library
will be placed in
`ftp://alpha.gnu.org/gnu/gnustep'.

View file

@ -10,6 +10,8 @@ GNUstep core package, read the file GNUstep-HOWTO for more complete
instructions on how to install the entire GNUstep package (including
this library). GNUstep-HOWTO is located at <www.gnustep.org>
You must have installed gnustep-base before building this library.
Configuration
=============

18
NEWS
View file

@ -1,7 +1,23 @@
NEWS
****
The currently released version of the library is `0.6.7'.
The currently released version of the library is `0.7.0'.
Noteworthy changes in version `0.7.0'
=====================================
* Much improvement in NSBrowser, NSMatrix, NSPopUpButton, combo
boxes.
* NSTextAttachement implemented, many other text improvements.
* Fonts cached in the frontend.
* Changes so that backend can be loaded as a bundle at runtime.
* simpler, faster compilation and installation.
* NSColorWell works.
Noteworthy changes in version `0.6.7'
=====================================

2
README
View file

@ -1,7 +1,7 @@
README
******
This is version 0.6.7 of the GNUstep GUI library (`gnustep-gui').
This is version 0.7.0 of the GNUstep GUI library (`gnustep-gui').
Here is some introductory info to get you started:

52
SUPPORT
View file

@ -1,52 +0,0 @@
Copyright (C) 1996 NET-Community
Everyone is permitted to copy and distribute verbatim copies
of this document, but changing it is not allowed.
About NET-Community
*******************
NET-Community was founded in 1995 with the purpose of developing and
supporting free software for the Internet and business community. We
believe that in the long-term free software will provide individuals
and businesses with the most flexible and open solutions for their
needs; while expensive proprietary solutions will be slowly phased
out. Companies will choose free software because it offers greater
flexibility, lower maintenance costs, and more responsive changes to
market demands than closed proprietary systems. With free software,
companies immediately gain the advantage of combined development by
all vendors supporting the software; most proprietary systems are
maintained by a single vendor and as such cannot keep pace with the
changes occuring in the marketplace.
By free software, we are referring to freedom not to its price.
Software freedom implies that users have the right to copy,
distribute, and modify the software for their own needs and that they
cannot deny other these rights. Software freedom is healthy for the
software industry because it encourages open standards allowing those
consumers to choose vendors based upon their service, support, and
their committment to new software development. With free software,
consumers are not stuck with a single vendor's proprietary system;
they can easily switch vendors if they are not happy with the service
they are getting.
To better understand how we view the software industry, past, present,
and future; read our white paper, Three Phases of the Software
Industry at http://www.net-community.com/WhitePapers/phases.html. We
welcome any comments, suggestions, or insights you wish to share.
With NET-Community providing your software support needs, you will
have the service and support to meet your business software needs.
NET-Community has extensive experience with the supported software
because we are directly involved in the design, development,
implementation, and testing of it. We maintain direct contact with
the authors so that you have access to the most qualified support
personnel.
NET-Community
522 SW 5th Avenue, Suite 1105
Portland, Oregon 97204
voice: (800) 919-0060 or (503) 274-4423
fax: (503) 274-5406
http://www.net-community.com
mailto:sales@net-community.com

View file

@ -87,4 +87,4 @@ ADDITIONAL_INCLUDE_DIRS += -I../Headers
# systems where building a shared library requires to pass to the linker
# all the libraries the target library depends upon.
LIBRARIES_DEPEND_UPON = -l$(FOUNDATION_LIBRARY_NAME) -ltiff
LIBRARIES_DEPEND_UPON = -l$(FOUNDATION_LIBRARY_NAME) $(ADDITIONAL_DEPENDS)

View file

@ -272,7 +272,7 @@ static NSCharacterSet *invSelectionWordGranularitySet;
{
_GNULineLayoutInfo *currentInfo;
if (![_textStorage length])
if (![_textStorage length] || ![_lineLayoutInformation count])
{
return NSMakeRect(0, 0, 0, 12);
}
@ -294,7 +294,7 @@ static NSCharacterSet *invSelectionWordGranularitySet;
_GNULineLayoutInfo *currentInfo;
NSRect rect;
if (![_textStorage length])
if (![_textStorage length] || ![_lineLayoutInformation count])
{
return NSMakePoint(0, 0);
}
@ -321,7 +321,7 @@ static NSCharacterSet *invSelectionWordGranularitySet;
unsigned i1, i2;
NSRect rect1;
if (![_textStorage length])
if (![_textStorage length] || ![_lineLayoutInformation count])
{
return NSMakeRect(0, 0, width, 12);
}
@ -609,12 +609,18 @@ forStartOfGlyphRange: (NSRange)glyphRange
{
int i;
int min = 0;
int max = MAX(0, [_lineLayoutInformation count] - 1);
int max = MAX(0, (int)[_lineLayoutInformation count] - 1);
unsigned y = anIndex;
unsigned fmin = [[_lineLayoutInformation objectAtIndex: 0] glyphRange].location;
unsigned fmax = NSMaxRange([[_lineLayoutInformation lastObject] glyphRange]);
unsigned fmin;
unsigned fmax;
NSRange range;
if (!max)
return 0;
fmin = [[_lineLayoutInformation objectAtIndex: 0] glyphRange].location;
fmax = NSMaxRange([[_lineLayoutInformation lastObject] glyphRange]);
if (y >= fmax)
return max;
@ -680,7 +686,7 @@ forStartOfGlyphRange: (NSRange)glyphRange
NSRect rect;
float x;
if (![_textStorage length])
if (![_textStorage length] || ![_lineLayoutInformation count])
{
return NSMakeRect(0, 0, width, 12);
}
@ -696,15 +702,15 @@ forStartOfGlyphRange: (NSRange)glyphRange
}
currentInfo = [_lineLayoutInformation
objectAtIndex: [self lineLayoutIndexForGlyphIndex:
index]];
start = currentInfo->glyphRange.location;
rect = currentInfo->lineFragmentRect;
x = rect.origin.x + [self _sizeOfRange: NSMakeRange(start, index-start)].width;
currentInfo = [_lineLayoutInformation
objectAtIndex: [self lineLayoutIndexForGlyphIndex:
index]];
start = currentInfo->glyphRange.location;
rect = currentInfo->lineFragmentRect;
x = rect.origin.x + [self _sizeOfRange: NSMakeRange(start, index-start)].width;
return NSMakeRect(x, rect.origin.y, NSMaxX (rect) - x,
rect.size.height);
return NSMakeRect(x, rect.origin.y, NSMaxX (rect) - x,
rect.size.height);
}
- (void) drawSelectionAsRangeNoCaret: (NSRange)aRange

View file

@ -536,14 +536,11 @@ static float scrollerWidth; // == [NSScroller scrollerWidth]
NSArray *subStrings;
NSString *aStr;
unsigned numberOfSubStrings;
unsigned i, j;
BOOL found = NO;
unsigned i, j, column = 0;
BOOL found = YES;
// Column Zero is always present.
[self loadColumnZero];
// If that's all, return.
if (path == nil || [path isEqualToString: _pathSeparator])
if (path == nil)
{
[self setNeedsDisplay: YES];
return YES;
@ -554,29 +551,42 @@ static float scrollerWidth; // == [NSScroller scrollerWidth]
numberOfSubStrings = [subStrings count];
// Ignore a trailing void component.
if (![subStrings objectAtIndex: 0])
if (numberOfSubStrings > 0
&& [[subStrings objectAtIndex: 0] isEqualToString: @""])
{
NSRange theRange;
theRange.location = 1;
numberOfSubStrings--;
theRange.length = numberOfSubStrings;
subStrings = [subStrings subarrayWithRange: theRange];
if (numberOfSubStrings)
{
NSRange theRange;
theRange.location = 1;
theRange.length = numberOfSubStrings;
subStrings = [subStrings subarrayWithRange: theRange];
}
[self loadColumnZero];
}
column = _lastColumnLoaded;
if (column < 0)
column = 0;
// cycle thru str's array created from path
for (i = 1; i < numberOfSubStrings; i++)
for (i = 0; i < numberOfSubStrings; i++)
{
NSBrowserColumn *bc = [_browserColumns objectAtIndex: i - 1];
NSBrowserColumn *bc = [_browserColumns objectAtIndex: column + i];
NSMatrix *matrix = [bc columnMatrix];
NSArray *cells = [matrix cells];
unsigned numOfRows = [cells count];
NSBrowserCell *selectedCell = nil;
found = NO;
aStr = [subStrings objectAtIndex: i];
if (aStr)
if (![aStr isEqualToString: @""])
{
found = NO;
// find the cell in the browser matrix which is equal to aStr
for (j = 0; j < numOfRows; j++)
{
@ -595,8 +605,8 @@ static float scrollerWidth; // == [NSScroller scrollerWidth]
// if unable to find a cell whose title matches aStr return NO
if (found == NO)
{
NSLog (@"NSBrowser: unable to find cell '%@' in column %d\n",
aStr, i - 1);
NSDebugLog (@"NSBrowser: unable to find cell '%@' in column %d\n",
aStr, column + i);
break;
}
// if the cell is a leaf, we are finished setting the path
@ -2183,7 +2193,6 @@ static float scrollerWidth; // == [NSScroller scrollerWidth]
_firstVisibleColumn = 0;
_lastVisibleColumn = 0;
[self _createColumn];
NSLog(@"init2 %f", _frame.size.width);
return self;
}

View file

@ -325,6 +325,7 @@ id _nsbuttonCellClass = nil;
- (BOOL) becomeFirstResponder
{
[_window disableKeyEquivalentForDefaultButtonCell];
[_cell setShowsFirstResponder: YES];
[self setNeedsDisplay: YES];
@ -333,6 +334,7 @@ id _nsbuttonCellClass = nil;
- (BOOL) resignFirstResponder
{
[_window enableKeyEquivalentForDefaultButtonCell];
[_cell setShowsFirstResponder: NO];
[self setNeedsDisplay: YES];

View file

@ -75,9 +75,7 @@ static NSNotificationCenter *nc;
_visibleItems = 10;
_intercellSpacing = NSMakeSize(3.0, 2.0);
_itemHeight = 16;
// The specification uses -1 as the flag for no selection,
// but we use NSNotFound to be consistent with other methods.
_selectedItem = NSNotFound;
_selectedItem = -1;
_popRect = NSZeroRect;
//_mUpEvent = nil;
@ -157,18 +155,24 @@ static NSNotificationCenter *nc;
- (void) selectItemAtIndex: (int)index
{
_selectedItem = index;
// TODO: Notify popup
[nc postNotificationName: NSComboBoxSelectionDidChangeNotification
object: [self controlView]
userInfo: nil];
if (index < -1)
index = -1;
if (_selectedItem != index)
{
_selectedItem = index;
// TODO: Notify popup
[nc postNotificationName: NSComboBoxSelectionDidChangeNotification
object: [self controlView]
userInfo: nil];
}
}
- (void) deselectItemAtIndex: (int)index
{
if (_selectedItem == index)
{
_selectedItem = NSNotFound;
_selectedItem = -1;
// TODO: Notify popup
[nc postNotificationName: NSComboBoxSelectionDidChangeNotification
object: [self controlView]
@ -278,8 +282,10 @@ static NSNotificationCenter *nc;
{
int i = [_popUpList indexOfObject: object];
if (i != NSNotFound)
[self selectItemAtIndex: i];
if (i == NSNotFound)
i = -1;
[self selectItemAtIndex: i];
}
}
@ -305,7 +311,7 @@ static NSNotificationCenter *nc;
{
int index = [self indexOfSelectedItem];
if (index == NSNotFound)
if (index == -1)
return nil;
else
return [_popUpList objectAtIndex: index];

View file

@ -626,7 +626,11 @@ repd_for_rep(NSArray *_reps, NSImageRep *rep)
// FIXME: This undos the change done in NSCell, perhaps we can remove both?
if ([[ctxt focusView] isFlipped])
y -= rect.size.height;
// Move the drawing rectangle to the origin of the image rep
// and intersect the two rects.
aRect.origin.x += rect.origin.x;
aRect.origin.y += rect.origin.y;
rect = NSIntersectionRect(aRect, rect);
PScomposite(NSMinX(rect), NSMinY(rect), NSWidth(rect), NSHeight(rect),
[[(NSCachedImageRep *)rep window] gState], aPoint.x, y, op);

View file

@ -957,6 +957,8 @@ static SEL getSel;
if (aCell)
{
NSRect cellFrame;
if (_selectedCell && _selectedCell != aCell)
{
[_selectedCell setShowsFirstResponder: NO];
@ -969,6 +971,8 @@ static SEL getSel;
_selectedColumn = column;
_selectedCells[row][column] = YES;
cellFrame = [self cellFrameAtRow: row column: column];
if ([_cells[row][column] acceptsFirstResponder])
{
int lastRow, lastColumn;
@ -980,7 +984,8 @@ static SEL getSel;
_dottedColumn = column;
if (lastRow != -1 && lastColumn != -1
&& (lastRow != row || lastColumn != column))
&& (lastRow != row || lastColumn != column)
&& [self window] != nil)
[self drawCellAtRow: lastRow column: lastColumn];
}
@ -989,13 +994,16 @@ static SEL getSel;
if (_mode == NSListModeMatrix)
[aCell setCellAttribute: NSCellHighlighted to: 1];
if (_autoscroll)
[self scrollRectToVisible: cellFrame];
// Note: we select the cell iff it is 'selectable', not 'editable'
// as macosx says. This looks definitely more appropriate.
// [This is going to start editing only if the cell is also editable,
// otherwise the text gets selected and that's all.]
[self selectTextAtRow: row column: column];
[self setNeedsDisplayInRect: [self cellFrameAtRow: row column: column]];
[self setNeedsDisplayInRect: cellFrame];
}
else
{
@ -1465,7 +1473,10 @@ static SEL getSel;
case NSReturnTextMovement:
if ([self sendAction] == NO)
{
if ([self performKeyEquivalent: [_window currentEvent]] == NO)
NSEvent *event = [_window currentEvent];
if ([self performKeyEquivalent: event] == NO
&& [_window performKeyEquivalent: event] == NO)
[self selectText: self];
}
break;

View file

@ -377,16 +377,16 @@ static NSOpenPanel *_gs_gui_open_panel = nil;
- (void) ok: (id)sender
{
NSMatrix *matrix;
NSMatrix *matrix = nil;
NSBrowserCell *selectedCell = nil;
NSArray *selectedCells;
NSArray *selectedCells = nil;
int selectedColumn, lastColumn;
selectedColumn = [_browser selectedColumn];
lastColumn = [_browser lastColumn];
if (selectedColumn >= 0)
{
matrix = [_browser matrixInColumn: selectedColumn];
lastColumn = [_browser lastColumn];
if ([_browser allowsMultipleSelection] == YES)
{
@ -400,23 +400,34 @@ static NSOpenPanel *_gs_gui_open_panel = nil;
{
if (_canChooseDirectories == NO)
{
if (selectedColumn == lastColumn
|| [[[_form cellAtIndex: 0] stringValue] length] == 0)
if (selectedColumn == lastColumn)
selectedCell = [matrix selectedCell];
}
else if (selectedColumn == lastColumn)
selectedCell = [matrix selectedCell];
}
}
if (selectedCell)
if (selectedCell)
{
if ([selectedCell isLeaf] == NO)
{
if ([selectedCell isLeaf] == NO)
{
[_browser doClick: matrix];
return;
}
[[_form cellAtIndex: 0] setStringValue: @""];
[_browser doClick: matrix];
[_form selectTextAtIndex: 0];
[_form setNeedsDisplay: YES];
return;
}
}
else if (_canChooseDirectories == NO
&& (![_browser allowsMultipleSelection] || !selectedCells
|| selectedColumn != lastColumn || ![selectedCells count]))
{
[_form selectTextAtIndex: 0];
[_form setNeedsDisplay: YES];
return;
}
ASSIGN (_directory, [_browser pathToColumn:[_browser lastColumn]]);
if (selectedCell)
@ -534,8 +545,8 @@ selectCellWithString: (NSString *)title
NSComparisonResult result;
NSRange range;
matrix = [_browser matrixInColumn:[_browser lastColumn]];
s = [[[aNotification userInfo] objectForKey:@"NSFieldEditor"] string];
matrix = [_browser matrixInColumn: [_browser lastColumn]];
s = [[[aNotification userInfo] objectForKey: @"NSFieldEditor"] string];
sLength = [s length];
range.location = 0;
@ -545,7 +556,7 @@ selectCellWithString: (NSString *)title
{
[matrix deselectAllCells];
if(_canChooseDirectories == NO)
[_okButton setEnabled:NO];
[_okButton setEnabled: NO];
return;
}
@ -561,7 +572,7 @@ selectCellWithString: (NSString *)title
if(cellLength < sLength)
range.length = cellLength;
result = [selectedString compare:s options:0 range:range];
result = [selectedString compare: s options: 0 range: range];
if(result == NSOrderedSame)
return;
@ -581,53 +592,49 @@ selectCellWithString: (NSString *)title
for(i = selectedRow+1; i < numberOfCells; i++)
{
selectedString = [[matrix cellAtRow:i column:0] stringValue];
selectedString = [[matrix cellAtRow: i column: 0] stringValue];
cellLength = [selectedString length];
if(cellLength < sLength)
continue;
result = [selectedString compare:s options:0 range:range];
result = [selectedString compare: s options: 0 range: range];
if(result == NSOrderedSame)
{
[matrix deselectAllCells];
[matrix selectCellAtRow:i column:0];
[matrix scrollCellToVisibleAtRow:i column:0];
[_okButton setEnabled:YES];
[matrix selectCellAtRow: i column: 0];
[matrix scrollCellToVisibleAtRow: i column: 0];
[_okButton setEnabled: YES];
return;
}
else if(result == NSOrderedDescending)
break;
}
}
else
{
for(i = selectedRow; i >= 0; --i)
{
selectedString = [[matrix cellAtRow:i column:0] stringValue];
selectedString = [[matrix cellAtRow: i column: 0] stringValue];
cellLength = [selectedString length];
if(cellLength < sLength)
continue;
result = [selectedString compare:s options:0 range:range];
result = [selectedString compare: s options: 0 range: range];
if(result == NSOrderedSame)
{
[matrix deselectAllCells];
[matrix selectCellAtRow:i column:0];
[matrix scrollCellToVisibleAtRow:i column:0];
[_okButton setEnabled:YES];
[matrix selectCellAtRow: i column: 0];
[matrix scrollCellToVisibleAtRow: i column: 0];
[_okButton setEnabled: YES];
return;
}
else if(result == NSOrderedAscending)
break;
}
}
[matrix deselectAllCells];
[_okButton setEnabled:YES];
[_okButton setEnabled: YES];
}
@end /* NSOpenPanel */

View file

@ -751,7 +751,11 @@ static BOOL _gs_display_reading_progress = NO;
if (selectedCell && [selectedCell isLeaf] == NO)
{
[[_form cellAtIndex: 0] setStringValue: @""];
[_browser doClick: matrix];
[_form selectTextAtIndex: 0];
[_form setNeedsDisplay: YES];
return;
}
@ -808,7 +812,7 @@ static BOOL _gs_display_reading_progress = NO;
- (void) selectText: (id)sender
{
NSEvent *theEvent = [self currentEvent];
NSString *characters = [theEvent characters], *keyString;
NSString *characters = [theEvent characters];
unichar character = 0;
if ([characters length] > 0)
@ -818,35 +822,6 @@ static BOOL _gs_display_reading_progress = NO;
switch (character)
{
#if 0
case NSTabCharacter:
if ([theEvent modifierFlags] & NSShiftKeyMask)
{
character = NSUpArrowFunctionKey;
keyString = [NSString stringWithCharacters:&character
length:1];
}
else
{
character = NSDownArrowFunctionKey;
keyString = [NSString stringWithCharacters:&character
length:1];
}
[[_form cellAtIndex:0] setStringValue:nil];
[_browser keyDown:[NSEvent keyEventWithType:NSKeyDown
location:[theEvent locationInWindow]
modifierFlags:0
timestamp:[theEvent timestamp]
windowNumber:[theEvent windowNumber]
context:[theEvent context]
characters:keyString
charactersIgnoringModifiers:keyString
isARepeat:NO
keyCode:0]];
break;
#endif
case NSUpArrowFunctionKey:
case NSDownArrowFunctionKey:
case NSLeftArrowFunctionKey:
@ -1176,7 +1151,6 @@ selectCellWithString: (NSString*)title
NSMatrix *m;
BOOL isLeaf;
NSString *path;
NSEvent *event;
m = [sender matrixInColumn: column];
isLeaf = [[m selectedCell] isLeaf];
@ -1214,7 +1188,7 @@ selectCellWithString: (NSString*)title
@end
@implementation NSSavePanel (FormDelegate)
- (void) controlTextDidChange: (NSNotification *)aNotification;
- (void) controlTextDidChange: (NSNotification *)aNotification
{
NSString *s, *selectedString;
NSArray *cells;
@ -1275,8 +1249,6 @@ selectCellWithString: (NSString*)title
[_okButton setEnabled:YES];
return;
}
else if(result == NSOrderedDescending)
break;
}
}
else
@ -1299,8 +1271,6 @@ selectCellWithString: (NSString*)title
[_okButton setEnabled:YES];
return;
}
else if(result == NSOrderedAscending)
break;
}
}

View file

@ -1045,7 +1045,8 @@ static NSNotificationCenter *nc;
- (BOOL) shouldDrawInsertionPoint
{
return (_selected_range.length == 0) && _tf.is_editable;
return (_selected_range.length == 0) && _tf.is_editable
&& [_window isKeyWindow];
}
/*
@ -2491,6 +2492,20 @@ afterString in order over charRange. */
return YES;
}
- (void) becomeKeyWindow
{
[self setNeedsDisplayInRect: _insertionPointRect
avoidAdditionalLayout: YES];
//<!> start timed entry
}
- (void) resignKeyWindow
{
[self setNeedsDisplayInRect: _insertionPointRect
avoidAdditionalLayout: YES];
//<!> stop timed entry
}
- (void) drawRect: (NSRect)rect
{
/* TODO: Only do relayout if needed */

View file

@ -565,8 +565,11 @@ static NSMapTable* windowmaps = NULL;
if (_gstate)
DPSundefineuserobject(context, _gstate);
DPStermwindow(context, _windowNum);
NSMapRemove(windowmaps, (void*)_windowNum);
if (_windowNum)
{
DPStermwindow(context, _windowNum);
NSMapRemove(windowmaps, (void*)_windowNum);
}
[super dealloc];
}
@ -1896,6 +1899,11 @@ resetCursorRectsForView(NSView *theView)
object: self];
_f.is_miniaturized = YES;
/* Make sure we're not defered */
if(_windowNum == 0)
{
[self _initBackendWindow: _frame];
}
/*
* Ensure that we have a miniwindow counterpart.
*/
@ -2012,7 +2020,8 @@ resetCursorRectsForView(NSView *theView)
{
[NSApp updateWindowsItem: self];
}
DPSdocedited(GSCurrentContext(), flag, _windowNum);
if (_windowNum)
DPSdocedited(GSCurrentContext(), flag, _windowNum);
}
}
@ -3239,6 +3248,9 @@ resetCursorRectsForView(NSView *theView)
{
ASSIGN(_defaultButtonCell, aButtonCell);
_f.default_button_cell_key_disabled = NO;
[aButtonCell setKeyEquivalent: @"\r"];
[aButtonCell setKeyEquivalentModifierMask: 0];
}
- (void) disableKeyEquivalentForDefaultButtonCell

11
Version
View file

@ -5,21 +5,16 @@
GNUSTEP_GUI_GCC=2.8.0
# Versions for libraries that gnustep-gui is dependent upon
GNUSTEP_GUI_BASE=0.6.6
LIB_FOUNDATION=0.8.1
GNUSTEP_GUI_BASE=1.0.2
GNUSTEP_GUI_LIBTIFF=3.4
GNUSTEP_GUI_DGS=0.5.10
GNUSTEP_GUI_DPSCLIENT=6.1
# The version number of this release.
GNUSTEP_GUI_MAJOR_VERSION=0
GNUSTEP_GUI_MINOR_VERSION=6
GNUSTEP_GUI_SUBMINOR_VERSION=8
GNUSTEP_GUI_MINOR_VERSION=7
GNUSTEP_GUI_SUBMINOR_VERSION=0
GNUSTEP_GUI_VERSION=${GNUSTEP_GUI_MAJOR_VERSION}.${GNUSTEP_GUI_MINOR_VERSION}.${GNUSTEP_GUI_SUBMINOR_VERSION}
VERSION=${GNUSTEP_GUI_VERSION}
GNUSTEP_GUI_FTP_MACHINE=ftp.gnustep.org
GNUSTEP_GUI_FTP_DIRECTORY=pub/gnustep/core
GNUSTEP_GUI_SNAP_FTP_MACHINE=alpha.gnu.org
GNUSTEP_GUI_SNAP_FTP_DIRECTORY=gnu/gnustep

View file

@ -4,4 +4,5 @@
ADDITIONAL_INCLUDE_DIRS += @ADDITIONAL_INCLUDE_DIRS@
ADDITIONAL_LIB_DIRS += @ADDITIONAL_LIB_DIRS@
ADDITIONAL_DEPENDS = @ADDITIONAL_DEPENDS@

418
configure vendored
View file

@ -11,6 +11,10 @@
ac_help=
ac_default_prefix=/usr/local
# Any additions from configure.in:
ac_help="$ac_help
--with-jpeg-library=DIR JPEG library file are in DIR"
ac_help="$ac_help
--with-jpeg-include=DIR JPEG include files are in DIR"
ac_help="$ac_help
--with-tiff-library=DIR TIFF library file are in DIR"
ac_help="$ac_help
@ -578,7 +582,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:582: checking host system type" >&5
echo "configure:586: checking host system type" >&5
host_alias=$host
case "$host_alias" in
@ -599,7 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$host" 1>&6
echo $ac_n "checking target system type""... $ac_c" 1>&6
echo "configure:603: checking target system type" >&5
echo "configure:607: checking target system type" >&5
target_alias=$target
case "$target_alias" in
@ -617,7 +621,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
echo "$ac_t""$target" 1>&6
echo $ac_n "checking build system type""... $ac_c" 1>&6
echo "configure:621: checking build system type" >&5
echo "configure:625: checking build system type" >&5
build_alias=$build
case "$build_alias" in
@ -641,7 +645,7 @@ test "$host_alias" != "$target_alias" &&
echo $ac_n "checking for main in -lm""... $ac_c" 1>&6
echo "configure:645: checking for main in -lm" >&5
echo "configure:649: checking for main in -lm" >&5
ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -649,14 +653,14 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lm $LIBS"
cat > conftest.$ac_ext <<EOF
#line 653 "configure"
#line 657 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
if { (eval echo configure:660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:664: \"$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
@ -686,12 +690,12 @@ fi
for ac_func in rintf
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:690: checking for $ac_func" >&5
echo "configure:694: 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 <<EOF
#line 695 "configure"
#line 699 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@ -714,7 +718,7 @@ $ac_func();
; return 0; }
EOF
if { (eval echo configure:718: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
if { (eval echo configure:722: \"$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
@ -740,46 +744,47 @@ done
#--------------------------------------------------------------------
# Find for TIFF
# Do a superficial find only - The tiff library is actually linked with
# the backend, and typically in conjunction with other graphic libraries.
# Find for JPEG
#--------------------------------------------------------------------
# Check whether --with-tiff_library or --without-tiff_library was given.
if test "${with_tiff_library+set}" = set; then
withval="$with_tiff_library"
GRAPHIC_LIBS=
GRAPHIC_CFLAGS=
GRAPHIC_LFLAGS=
# Check whether --with-jpeg_library or --without-jpeg_library was given.
if test "${with_jpeg_library+set}" = set; then
withval="$with_jpeg_library"
:
else
with_tiff_library=
with_jpeg_library=
fi
# Check whether --with-tiff_include or --without-tiff_include was given.
if test "${with_tiff_include+set}" = set; then
withval="$with_tiff_include"
# Check whether --with-jpeg_include or --without-jpeg_include was given.
if test "${with_jpeg_include+set}" = set; then
withval="$with_jpeg_include"
:
else
with_tiff_include=
with_jpeg_include=
fi
case "$target_os" in
freebsd*) CPPFLAGS="$CPPFLAGS -I/usr/local/include"
LDFLAGS="$LDFLAGS -L/usr/local/lib"
ADDITIONAL_INCLUDE_DIRS="-I/usr/local/include"
ADDITIONAL_LIB_DIRS="-L/usr/local/lib";;
esac
if test "$with_jpeg_library" = ""; then
case "$target_os" in
freebsd*) with_jpeg_include="/usr/local/include"
with_jpeg_library="/usr/local/lib";;
esac
fi
save_cpp=${CPPFLAGS}
save_ldf=${LDFLAGS}
if test "$with_tiff_include" != ""; then
CPPFLAGS="-I$with_tiff_include ${CPPFLAGS}"
ADDITIONAL_INCLUDE_DIRS="-I$with_tiff_include"
if test -n "$with_jpeg_library"; then
with_jpeg_library="-L$with_jpeg_library"
fi
if test -n "$with_tiff_library"; then
LDFLAGS="-L$with_tiff_library $LDFLAGS"
ADDITIONAL_LIB_DIRS="-L$with_tiff_library"
if test -n "$with_jpeg_include"; then
with_jpeg_include="-I$with_jpeg_include"
fi
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
echo "configure:783: checking how to run the C preprocessor" >&5
echo "configure:788: checking how to run the C preprocessor" >&5
# On Suns, sometimes $CPP names a directory.
if test -n "$CPP" && test -d "$CPP"; then
CPP=
@ -794,13 +799,13 @@ else
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp.
cat > conftest.$ac_ext <<EOF
#line 798 "configure"
#line 803 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:804: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:809: \"$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
:
@ -811,13 +816,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -E -traditional-cpp"
cat > conftest.$ac_ext <<EOF
#line 815 "configure"
#line 820 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:821: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:826: \"$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
:
@ -828,13 +833,13 @@ else
rm -rf conftest*
CPP="${CC-cc} -nologo -E"
cat > conftest.$ac_ext <<EOF
#line 832 "configure"
#line 837 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax Error
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:838: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:843: \"$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
:
@ -858,19 +863,274 @@ else
fi
echo "$ac_t""$CPP" 1>&6
ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'`
jpeg_check_lib_save_header=${CPPFLAGS}
CPPFLAGS="${with_jpeg_library} ${with_jpeg_include} ${CPPFLAGS}"
echo $ac_n "checking for jpeg_destroy_decompress in -ljpeg""... $ac_c" 1>&6
echo "configure:871: checking for jpeg_destroy_decompress in -ljpeg" >&5
ac_lib_var=`echo jpeg'_'jpeg_destroy_decompress | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-ljpeg $LIBS"
cat > conftest.$ac_ext <<EOF
#line 879 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char jpeg_destroy_decompress();
int main() {
jpeg_destroy_decompress()
; return 0; }
EOF
if { (eval echo configure:890: \"$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
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
jpeg_ok=yes
else
echo "$ac_t""no" 1>&6
jpeg_ok=no
fi
if test "$jpeg_ok" = yes; then
echo $ac_n "checking for jpeglib.h""... $ac_c" 1>&6
echo "configure:913: checking for jpeglib.h" >&5
cat > conftest.$ac_ext <<EOF
#line 915 "configure"
#include "confdefs.h"
#include <stdio.h>
#undef PACKAGE
#undef VERSION
#undef HAVE_STDLIB_H
#include <jpeglib.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:924: \"$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*
jpeg_ok=yes
else
echo "$ac_err" >&5
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
jpeg_ok=no
fi
rm -f conftest*
echo "$ac_t""$jpeg_ok" 1>&6
if test "$jpeg_ok" = yes; then
GRAPHIC_LFLAGS="${with_jpeg_library} $GRAPHIC_LFLAGS"
GRAPHIC_CFLAGS="${with_jpeg_include} $GRAPHIC_CFLAGS"
fi
fi
CPPFLAGS="${jpeg_check_lib_save_header}"
#--------------------------------------------------------------------
# Find for TIFF
#--------------------------------------------------------------------
# Check whether --with-tiff_library or --without-tiff_library was given.
if test "${with_tiff_library+set}" = set; then
withval="$with_tiff_library"
:
else
with_tiff_library=
fi
# Check whether --with-tiff_include or --without-tiff_include was given.
if test "${with_tiff_include+set}" = set; then
withval="$with_tiff_include"
:
else
with_tiff_include=
fi
if test "$with_tiff_library" = ""; then
case "$target_os" in
freebsd*) with_tiff_include="/usr/local/include"
with_tiff_library="/usr/local/lib";;
esac
fi
if test -n "$with_tiff_library"; then
with_tiff_library="-L$with_tiff_library"
fi
if test -n "$with_tiff_include"; then
with_tiff_include="-I$with_tiff_include"
fi
tiff_check_lib_save_header=${CPPFLAGS}
tiff_check_lib_save_libs=${LIBS}
CPPFLAGS="${with_tiff_library} ${JPEG_LIB} ${with_tiff_include} ${JPEG_INCLUDE} ${CPPFLAGS}"
echo $ac_n "checking for main in -lz""... $ac_c" 1>&6
echo "configure:986: checking for main in -lz" >&5
ac_lib_var=`echo z'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-lz $LIBS"
cat > conftest.$ac_ext <<EOF
#line 994 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
if { (eval echo configure:1001: \"$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
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
HAVE_LIBZ=1
else
echo "$ac_t""no" 1>&6
HAVE_LIBZ=0
fi
echo $ac_n "checking for -ltiff without -ljpeg nor -lz""... $ac_c" 1>&6
echo "configure:1024: checking for -ltiff without -ljpeg nor -lz" >&5
LIBS="-ltiff -lm $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1027 "configure"
#include "confdefs.h"
char TIFFReadScanline();
int main() {
TIFFReadScanline()
; return 0; }
EOF
if { (eval echo configure:1034: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
jpeg_notneeded=yes
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
jpeg_notneeded=no
fi
rm -f conftest*
echo "$ac_t""$jpeg_notneeded" 1>&6
LIBS=${tiff_check_lib_save_libs}
JPEG=
if test "$jpeg_notneeded" = no; then
JPEG=-ljpeg
fi
if test $HAVE_LIBZ = 1; then
echo $ac_n "checking for -ltiff without -lz""... $ac_c" 1>&6
echo "configure:1053: checking for -ltiff without -lz" >&5
LIBS="-ltiff $JPEG -lm $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1056 "configure"
#include "confdefs.h"
char TIFFReadScanline();
int main() {
TIFFReadScanline()
; return 0; }
EOF
if { (eval echo configure:1063: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest*
libz_notneeded=yes
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
libz_notneeded=no
fi
rm -f conftest*
echo "$ac_t""$libz_notneeded" 1>&6
LIBS=${tiff_check_lib_save_libs}
if test "$libz_notneeded" = no; then
JPEG="$JPEG -lz"
fi
fi
echo $ac_n "checking for TIFFReadScanline in -ltiff""... $ac_c" 1>&6
echo "configure:1081: checking for TIFFReadScanline in -ltiff" >&5
ac_lib_var=`echo tiff'_'TIFFReadScanline | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
ac_save_LIBS="$LIBS"
LIBS="-ltiff $JPEG -lm $LIBS"
cat > conftest.$ac_ext <<EOF
#line 1089 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
builtin and then its argument prototype would still apply. */
char TIFFReadScanline();
int main() {
TIFFReadScanline()
; return 0; }
EOF
if { (eval echo configure:1100: \"$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
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
tiff_ok=yes
else
echo "$ac_t""no" 1>&6
tiff_ok=no
fi
if test "$tiff_ok" = yes; then
ac_safe=`echo "tiffio.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for tiffio.h""... $ac_c" 1>&6
echo "configure:864: checking for tiffio.h" >&5
echo "configure:1124: 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
#line 869 "configure"
#line 1129 "configure"
#include "confdefs.h"
#include <tiffio.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:874: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:1134: \"$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*
@ -886,70 +1146,44 @@ rm -f conftest*
fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6
:
tiff_ok=yes
else
echo "$ac_t""no" 1>&6
tiff_ok=no
fi
if test $ac_cv_header_tiffio_h = no; then
if test "$tiff_ok" = yes; then
GRAPHIC_LFLAGS="${with_tiff_library} $GRAPHIC_LFLAGS"
GRAPHIC_CFLAGS="${with_tiff_include} $GRAPHIC_CFLAGS"
GRAPHIC_LIBS="-ltiff $JPEG $GRAPHIC_LIBS"
else
echo "configure: warning: Cannot find libtiff header tiffio" 1>&2
echo "* The GUI library requres the TIFF library"
echo "* Use --with-tiff-include to specify the tiff header directory"
echo "* and --with-tiff-library to specify the tiff library directory"
echo "* if it is not in the usual place(s)"
{ echo "configure: error: gnustep-gui will not compile without tiff includes" 1>&2; exit 1; }
fi
echo $ac_n "checking for main in -ltiff""... $ac_c" 1>&6
echo "configure:904: checking for main in -ltiff" >&5
ac_lib_var=`echo tiff'_'main | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
fi
else
ac_save_LIBS="$LIBS"
LIBS="-ltiff $LIBS"
cat > conftest.$ac_ext <<EOF
#line 912 "configure"
#include "confdefs.h"
int main() {
main()
; return 0; }
EOF
if { (eval echo configure:919: \"$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
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=no"
echo "configure: warning: Cannot find libtiff" 1>&2
echo "* The GUI library reqiures the TIFF library"
echo "* Use --with-tiff-library to specify the tiff library"
echo "* directory if it is not in the usual place(s)"
echo "* You may also have to specify --with-jpeg-library if the jpeg"
echo "* library is needed by tiff",
{ echo "configure: error: gnustep-gui will not compile without tiff" 1>&2; exit 1; }
fi
rm -f conftest*
LIBS="$ac_save_LIBS"
CPPFLAGS="${tiff_check_lib_save_header}"
fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6
ac_tr_lib=HAVE_LIB`echo tiff | sed -e 's/[^a-zA-Z0-9_]/_/g' \
-e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`
cat >> confdefs.h <<EOF
#define $ac_tr_lib 1
EOF
LIBS="-ltiff $LIBS"
else
echo "$ac_t""no" 1>&6
fi
CPPFLAGS="$save_cpp"
LDFLAGS="$save_ldf"
ADDITIONAL_INCLUDE_DIRS="$GRAPHIC_CFLAGS"
ADDITIONAL_LIB_DIRS="$GRAPHIC_LFLAGS"
ADDITIONAL_DEPENDS="$GRAPHIC_LIBS"
#--------------------------------------------------------------------
# Record the version
#--------------------------------------------------------------------
echo $ac_n "checking for the version of gnustep-gui we are compiling""... $ac_c" 1>&6
echo "configure:953: checking for the version of gnustep-gui we are compiling" >&5
echo "configure:1187: checking for the version of gnustep-gui we are compiling" >&5
if test -f "Version"; then
. ./Version
fi
@ -962,6 +1196,7 @@ echo "$ac_t""$GNUSTEP_GUI_VERSION" 1>&6
trap '' 1 2 15
cat > confcache <<\EOF
# This file is a shell script that caches the results of configure
@ -1116,6 +1351,7 @@ s%@GNUSTEP_GUI_MINOR_VERSION@%$GNUSTEP_GUI_MINOR_VERSION%g
s%@GNUSTEP_GUI_SUBMINOR_VERSION@%$GNUSTEP_GUI_SUBMINOR_VERSION%g
s%@ADDITIONAL_LIB_DIRS@%$ADDITIONAL_LIB_DIRS%g
s%@ADDITIONAL_INCLUDE_DIRS@%$ADDITIONAL_INCLUDE_DIRS%g
s%@ADDITIONAL_DEPENDS@%$ADDITIONAL_DEPENDS%g
CEOF
EOF

View file

@ -35,10 +35,63 @@ AC_CANONICAL_SYSTEM
AC_CHECK_LIB(m, main)
AC_CHECK_FUNCS(rintf)
#--------------------------------------------------------------------
# Find for JPEG
#--------------------------------------------------------------------
GRAPHIC_LIBS=
GRAPHIC_CFLAGS=
GRAPHIC_LFLAGS=
AC_ARG_WITH(jpeg_library,
[ --with-jpeg-library=DIR JPEG library file are in DIR], ,
with_jpeg_library=)
AC_ARG_WITH(jpeg_include,
[ --with-jpeg-include=DIR JPEG include files are in DIR], ,
with_jpeg_include=)
if test "$with_jpeg_library" = ""; then
case "$target_os" in
freebsd*) with_jpeg_include="/usr/local/include"
with_jpeg_library="/usr/local/lib";;
esac
fi
if test -n "$with_jpeg_library"; then
with_jpeg_library="-L$with_jpeg_library"
fi
if test -n "$with_jpeg_include"; then
with_jpeg_include="-I$with_jpeg_include"
fi
AC_DEFUN(AC_CHECK_JPEGLIB,
[jpeg_check_lib_save_header=${CPPFLAGS}
CPPFLAGS="$1 $2 ${CPPFLAGS}"
AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
jpeg_ok=yes,
jpeg_ok=no)
if test "$jpeg_ok" = yes; then
AC_MSG_CHECKING([for jpeglib.h])
AC_TRY_CPP([#include <stdio.h>
#undef PACKAGE
#undef VERSION
#undef HAVE_STDLIB_H
#include <jpeglib.h>],
jpeg_ok=yes,
jpeg_ok=no)
AC_MSG_RESULT($jpeg_ok)
if test "$jpeg_ok" = yes; then
GRAPHIC_LFLAGS="$1 $GRAPHIC_LFLAGS"
GRAPHIC_CFLAGS="$2 $GRAPHIC_CFLAGS"
fi
fi
CPPFLAGS="${jpeg_check_lib_save_header}"])
AC_CHECK_JPEGLIB(${with_jpeg_library}, ${with_jpeg_include})
#--------------------------------------------------------------------
# Find for TIFF
# Do a superficial find only - The tiff library is actually linked with
# the backend, and typically in conjunction with other graphic libraries.
#--------------------------------------------------------------------
AC_ARG_WITH(tiff_library,
[ --with-tiff-library=DIR TIFF library file are in DIR], ,
@ -47,35 +100,82 @@ AC_ARG_WITH(tiff_include,
[ --with-tiff-include=DIR TIFF include files are in DIR], ,
with_tiff_include=)
case "$target_os" in
freebsd*) CPPFLAGS="$CPPFLAGS -I/usr/local/include"
LDFLAGS="$LDFLAGS -L/usr/local/lib"
ADDITIONAL_INCLUDE_DIRS="-I/usr/local/include"
ADDITIONAL_LIB_DIRS="-L/usr/local/lib";;
esac
if test "$with_tiff_library" = ""; then
case "$target_os" in
freebsd*) with_tiff_include="/usr/local/include"
with_tiff_library="/usr/local/lib";;
esac
fi
save_cpp=${CPPFLAGS}
save_ldf=${LDFLAGS}
if test "$with_tiff_include" != ""; then
CPPFLAGS="-I$with_tiff_include ${CPPFLAGS}"
ADDITIONAL_INCLUDE_DIRS="-I$with_tiff_include"
fi
if test -n "$with_tiff_library"; then
LDFLAGS="-L$with_tiff_library $LDFLAGS"
ADDITIONAL_LIB_DIRS="-L$with_tiff_library"
with_tiff_library="-L$with_tiff_library"
fi
AC_CHECK_HEADER(tiffio.h)
if test $ac_cv_header_tiffio_h = no; then
if test -n "$with_tiff_include"; then
with_tiff_include="-I$with_tiff_include"
fi
AC_DEFUN(AC_CHECK_TIFFLIB,
[tiff_check_lib_save_header=${CPPFLAGS}
tiff_check_lib_save_libs=${LIBS}
CPPFLAGS="$1 ${JPEG_LIB} $2 ${JPEG_INCLUDE} ${CPPFLAGS}"
AC_CHECK_LIB(z, main, HAVE_LIBZ=1, HAVE_LIBZ=0)
AC_MSG_CHECKING(for -ltiff without -ljpeg nor -lz)
LIBS="-ltiff -lm $LIBS"
AC_TRY_LINK([char TIFFReadScanline();], [TIFFReadScanline()],
jpeg_notneeded=yes,
jpeg_notneeded=no)
AC_MSG_RESULT($jpeg_notneeded)
LIBS=${tiff_check_lib_save_libs}
JPEG=
if test "$jpeg_notneeded" = no; then
JPEG=-ljpeg
fi
if test $HAVE_LIBZ = 1; then
AC_MSG_CHECKING(for -ltiff without -lz)
LIBS="-ltiff $JPEG -lm $LIBS"
AC_TRY_LINK([char TIFFReadScanline();], [TIFFReadScanline()],
libz_notneeded=yes,
libz_notneeded=no)
AC_MSG_RESULT($libz_notneeded)
LIBS=${tiff_check_lib_save_libs}
if test "$libz_notneeded" = no; then
JPEG="$JPEG -lz"
fi
fi
AC_CHECK_LIB(tiff, TIFFReadScanline, tiff_ok=yes, tiff_ok=no, $JPEG -lm)
if test "$tiff_ok" = yes; then
AC_CHECK_HEADER(tiffio.h, tiff_ok=yes, tiff_ok=no)
if test "$tiff_ok" = yes; then
GRAPHIC_LFLAGS="$1 $GRAPHIC_LFLAGS"
GRAPHIC_CFLAGS="$2 $GRAPHIC_CFLAGS"
GRAPHIC_LIBS="-ltiff $JPEG $GRAPHIC_LIBS"
else
AC_MSG_WARN(Cannot find libtiff header tiffio)
echo "* The GUI library requres the TIFF library"
echo "* Use --with-tiff-include to specify the tiff header directory"
echo "* and --with-tiff-library to specify the tiff library directory"
echo "* if it is not in the usual place(s)"
AC_MSG_ERROR(gnustep-gui will not compile without tiff includes)
fi
else
AC_MSG_WARN(Cannot find libtiff)
echo "* The GUI library reqiures the TIFF library"
echo "* Use --with-tiff-library to specify the tiff library"
echo "* directory if it is not in the usual place(s)"
echo "* You may also have to specify --with-jpeg-library if the jpeg"
echo "* library is needed by tiff",
AC_MSG_ERROR(gnustep-gui will not compile without tiff)
fi
AC_CHECK_LIB(tiff, main)
CPPFLAGS="$save_cpp"
LDFLAGS="$save_ldf"
CPPFLAGS="${tiff_check_lib_save_header}"])
AC_CHECK_TIFFLIB(${with_tiff_library}, ${with_tiff_include})
ADDITIONAL_INCLUDE_DIRS="$GRAPHIC_CFLAGS"
ADDITIONAL_LIB_DIRS="$GRAPHIC_LFLAGS"
ADDITIONAL_DEPENDS="$GRAPHIC_LIBS"
#--------------------------------------------------------------------
# Record the version
@ -92,6 +192,7 @@ AC_SUBST(GNUSTEP_GUI_SUBMINOR_VERSION)
AC_SUBST(ADDITIONAL_LIB_DIRS)
AC_SUBST(ADDITIONAL_INCLUDE_DIRS)
AC_SUBST(ADDITIONAL_DEPENDS)
AC_OUTPUT(config.make gui.make Headers/gnustep/gui/GSVersion.h)