mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-05-31 19:10:48 +00:00
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:
parent
caedf71059
commit
234c006585
27 changed files with 794 additions and 478 deletions
62
ANNOUNCE
62
ANNOUNCE
|
@ -1,7 +1,7 @@
|
||||||
ANNOUNCE
|
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?
|
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
|
It is a library of graphical user interface classes written
|
||||||
completely in the Objective-C language; the classes are based upon the
|
completely in the Objective-C language; the classes are based upon the
|
||||||
OpenStep specification as release by NeXT Software, Inc. The library
|
OpenStep specification as release by NeXT Software, Inc. The library
|
||||||
does not completely conform to the specification and has been enhanced
|
has been enhanced in a number of ways to take advantage of the GNU
|
||||||
in a number of ways to take advantage of the GNU system. These classes
|
system. These classes include graphical objects such as buttons, text
|
||||||
include graphical objects such as buttons, text fields, popup lists,
|
fields, popup lists, browser lists, and windows; there are also many
|
||||||
browser lists, and windows; there are also many associated classes for
|
associated classes for handling events, colors, fonts, pasteboards and
|
||||||
handling events, colors, fonts, pasteboards and images.
|
images.
|
||||||
|
|
||||||
The GNUstep GUI Library is designed in two parts. The first part is
|
The GNUstep GUI Library is designed in two parts. The first part is
|
||||||
the front-end component which is independent of platform and display
|
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?
|
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.
|
* NSColorWell works.
|
||||||
|
|
||||||
* Starting implementation of printing.
|
|
||||||
|
|
||||||
* Scrollview fixes.
|
|
||||||
|
|
||||||
* Implemented deferred windows.
|
|
||||||
|
|
||||||
* NSTableView implemented.
|
|
||||||
|
|
||||||
* Implemented object value and formatter support in NSCell
|
|
||||||
|
|
||||||
* Support middle mouse button.
|
|
||||||
|
|
||||||
How can I get support for this software?
|
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?
|
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'.
|
`ftp.gnustep.org' in `pub/gnustep/core'.
|
||||||
|
|
||||||
The program requires gcc 2.8.0 or higher.
|
The program requires gcc 2.8.0 or higher.
|
||||||
|
|
||||||
The Display Ghostscript System version 0.5.10 and the TIFF Graphics
|
the TIFF Graphics library version 3.4 is required.
|
||||||
library version 3.4 may be required depending on the backend you choose.
|
|
||||||
|
|
||||||
It also requires a FoundationKit library as specified by the OpenStep
|
It also requires a FoundationKit library as specified by the OpenStep
|
||||||
specification. The FoundationKit libraries known to work are the
|
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
|
The `.tar' file is compressed with GNU gzip. Gzip can be obtained by
|
||||||
anonymous ftp at any of the GNU archive sites.
|
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
|
with no subject line, and two-line body with line one `help' and line
|
||||||
two `quit'.
|
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?
|
Where do I send bug reports?
|
||||||
============================
|
============================
|
||||||
|
|
||||||
|
@ -102,13 +87,6 @@ Where do I send bug reports?
|
||||||
Obtaining GNU Software
|
Obtaining GNU Software
|
||||||
======================
|
======================
|
||||||
|
|
||||||
Check out the GNU web site. (<http://www.gnu.org/>)
|
Check out the GNUstep web site. (<http://www.gnustep.org/>), and 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/>)
|
|
||||||
|
|
||||||
|
|
2
BUGS
2
BUGS
|
@ -27,5 +27,3 @@ such a degree to be unusable.
|
||||||
|
|
||||||
* NSPrintPanel
|
* NSPrintPanel
|
||||||
|
|
||||||
* NSSpellChecker
|
|
||||||
|
|
||||||
|
|
118
ChangeLog
118
ChangeLog
|
@ -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>
|
Tue Jul 3 18:46:38 2001 Nicola Pero <nicola@brainstorm.co.uk>
|
||||||
|
|
||||||
* Source/NSMenu.m ([NSMenuWindowTitleView -drawRect:]): Cache
|
* 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
|
-initWithContentRect:styleMask:backing:defer:screen:]): Set up the
|
||||||
next key view chain.
|
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>
|
Wed Jun 13 02:36:44 2001 Nicola Pero <n.pero@mi.flashnet.it>
|
||||||
|
|
||||||
* Source/NSBitmapImageRep.m ([+imageRepsWithData:]): Replaced
|
* Source/NSBitmapImageRep.m ([+imageRepsWithData:]): Replaced
|
||||||
|
|
|
@ -83,26 +83,12 @@ version.texi: ../Version
|
||||||
>> version.texi
|
>> version.texi
|
||||||
echo '@set GNUSTEP-GUI-BASE $(GNUSTEP_GUI_BASE)' \
|
echo '@set GNUSTEP-GUI-BASE $(GNUSTEP_GUI_BASE)' \
|
||||||
>> version.texi
|
>> version.texi
|
||||||
echo '@set LIB-FOUNDATION $(LIB_FOUNDATION)' \
|
|
||||||
>> version.texi
|
|
||||||
echo '@set GNUSTEP-GUI-LIBTIFF $(GNUSTEP_GUI_LIBTIFF)' \
|
echo '@set GNUSTEP-GUI-LIBTIFF $(GNUSTEP_GUI_LIBTIFF)' \
|
||||||
>> version.texi
|
>> 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 \
|
if [ $(GNUSTEP_GUI_FTP_MACHINE) ]; then \
|
||||||
echo '@set GNUSTEP-GUI-FTP-MACHINE $(GNUSTEP_GUI_FTP_MACHINE)' \
|
echo '@set GNUSTEP-GUI-FTP-MACHINE $(GNUSTEP_GUI_FTP_MACHINE)' \
|
||||||
>> version.texi; fi
|
>> version.texi; fi
|
||||||
if [ $(GNUSTEP_GUI_FTP_DIRECTORY) ]; then \
|
if [ $(GNUSTEP_GUI_FTP_DIRECTORY) ]; then \
|
||||||
echo '@set GNUSTEP-GUI-FTP-DIRECTORY $(GNUSTEP_GUI_FTP_DIRECTORY)' \
|
echo '@set GNUSTEP-GUI-FTP-DIRECTORY $(GNUSTEP_GUI_FTP_DIRECTORY)' \
|
||||||
>> version.texi; fi
|
>> 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
|
|
||||||
|
|
||||||
|
|
|
@ -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
|
It is a library of graphical user interface classes written completely
|
||||||
in the Objective-C language; the classes are based upon the OpenStep
|
in the Objective-C language; the classes are based upon the OpenStep
|
||||||
specification as release by NeXT Software, Inc. The library does not
|
specification as release by NeXT Software, Inc. The library has been
|
||||||
completely conform to the specification and has been
|
|
||||||
enhanced in a number of ways to take advantage of the GNU system.
|
enhanced in a number of ways to take advantage of the GNU system.
|
||||||
These classes include graphical objects such as buttons, text fields,
|
These classes include graphical objects such as buttons, text fields,
|
||||||
popup lists, browser lists, and windows; there are also many associated
|
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 program requires gcc @value{GNUSTEP-GUI-GCC} or higher.
|
||||||
|
|
||||||
The Display Ghostscript System version
|
the TIFF Graphics library version
|
||||||
@value{GNUSTEP-GUI-DGS} and the TIFF Graphics library version
|
@value{GNUSTEP-GUI-LIBTIFF} is required.
|
||||||
@value{GNUSTEP-GUI-LIBTIFF} may be required depending on the backend
|
|
||||||
you choose.
|
|
||||||
|
|
||||||
It also requires a FoundationKit library as specified by the OpenStep
|
It also requires a FoundationKit library as specified by the OpenStep
|
||||||
specification. The FoundationKit libraries known to work are the GNUstep
|
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
|
@email{ftpmail@@decwrl.dec.com} with no subject line, and two-line body
|
||||||
with line one @samp{help} and line two @samp{quit}.
|
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?
|
@section Where do I send bug reports?
|
||||||
|
|
||||||
Bug reports can be sent to
|
Bug reports can be sent to
|
||||||
|
@ -83,12 +76,7 @@ Bug reports can be sent to
|
||||||
|
|
||||||
@section Obtaining GNU Software
|
@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/})
|
|
||||||
|
|
||||||
|
|
|
@ -9,6 +9,21 @@
|
||||||
|
|
||||||
The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSION}}.
|
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}
|
@section Noteworthy changes in version @samp{0.6.7}
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
|
@ -26,10 +41,6 @@ The currently released version of the library is @samp{@value{GNUSTEP-GUI-VERSIO
|
||||||
@item Support middle mouse button.
|
@item Support middle mouse button.
|
||||||
@end itemize
|
@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}
|
@section Noteworthy changes in version @samp{0.6.6}
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
|
|
|
@ -31,5 +31,4 @@ to such a degree to be unusable.
|
||||||
@item NSHelpPanel
|
@item NSHelpPanel
|
||||||
@item NSPageLayout
|
@item NSPageLayout
|
||||||
@item NSPrintPanel
|
@item NSPrintPanel
|
||||||
@item NSSpellChecker
|
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
103
FAQ
103
FAQ
|
@ -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'.
|
|
||||||
|
|
||||||
|
|
2
INSTALL
2
INSTALL
|
@ -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
|
instructions on how to install the entire GNUstep package (including
|
||||||
this library). GNUstep-HOWTO is located at <www.gnustep.org>
|
this library). GNUstep-HOWTO is located at <www.gnustep.org>
|
||||||
|
|
||||||
|
You must have installed gnustep-base before building this library.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
|
18
NEWS
18
NEWS
|
@ -1,7 +1,23 @@
|
||||||
NEWS
|
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'
|
Noteworthy changes in version `0.6.7'
|
||||||
=====================================
|
=====================================
|
||||||
|
|
2
README
2
README
|
@ -1,7 +1,7 @@
|
||||||
README
|
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:
|
Here is some introductory info to get you started:
|
||||||
|
|
||||||
|
|
52
SUPPORT
52
SUPPORT
|
@ -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
|
|
|
@ -87,4 +87,4 @@ ADDITIONAL_INCLUDE_DIRS += -I../Headers
|
||||||
# systems where building a shared library requires to pass to the linker
|
# systems where building a shared library requires to pass to the linker
|
||||||
# all the libraries the target library depends upon.
|
# 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)
|
||||||
|
|
|
@ -272,7 +272,7 @@ static NSCharacterSet *invSelectionWordGranularitySet;
|
||||||
{
|
{
|
||||||
_GNULineLayoutInfo *currentInfo;
|
_GNULineLayoutInfo *currentInfo;
|
||||||
|
|
||||||
if (![_textStorage length])
|
if (![_textStorage length] || ![_lineLayoutInformation count])
|
||||||
{
|
{
|
||||||
return NSMakeRect(0, 0, 0, 12);
|
return NSMakeRect(0, 0, 0, 12);
|
||||||
}
|
}
|
||||||
|
@ -294,7 +294,7 @@ static NSCharacterSet *invSelectionWordGranularitySet;
|
||||||
_GNULineLayoutInfo *currentInfo;
|
_GNULineLayoutInfo *currentInfo;
|
||||||
NSRect rect;
|
NSRect rect;
|
||||||
|
|
||||||
if (![_textStorage length])
|
if (![_textStorage length] || ![_lineLayoutInformation count])
|
||||||
{
|
{
|
||||||
return NSMakePoint(0, 0);
|
return NSMakePoint(0, 0);
|
||||||
}
|
}
|
||||||
|
@ -321,7 +321,7 @@ static NSCharacterSet *invSelectionWordGranularitySet;
|
||||||
unsigned i1, i2;
|
unsigned i1, i2;
|
||||||
NSRect rect1;
|
NSRect rect1;
|
||||||
|
|
||||||
if (![_textStorage length])
|
if (![_textStorage length] || ![_lineLayoutInformation count])
|
||||||
{
|
{
|
||||||
return NSMakeRect(0, 0, width, 12);
|
return NSMakeRect(0, 0, width, 12);
|
||||||
}
|
}
|
||||||
|
@ -609,12 +609,18 @@ forStartOfGlyphRange: (NSRange)glyphRange
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
int min = 0;
|
int min = 0;
|
||||||
int max = MAX(0, [_lineLayoutInformation count] - 1);
|
int max = MAX(0, (int)[_lineLayoutInformation count] - 1);
|
||||||
unsigned y = anIndex;
|
unsigned y = anIndex;
|
||||||
unsigned fmin = [[_lineLayoutInformation objectAtIndex: 0] glyphRange].location;
|
unsigned fmin;
|
||||||
unsigned fmax = NSMaxRange([[_lineLayoutInformation lastObject] glyphRange]);
|
unsigned fmax;
|
||||||
NSRange range;
|
NSRange range;
|
||||||
|
|
||||||
|
if (!max)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
fmin = [[_lineLayoutInformation objectAtIndex: 0] glyphRange].location;
|
||||||
|
fmax = NSMaxRange([[_lineLayoutInformation lastObject] glyphRange]);
|
||||||
|
|
||||||
if (y >= fmax)
|
if (y >= fmax)
|
||||||
return max;
|
return max;
|
||||||
|
|
||||||
|
@ -680,7 +686,7 @@ forStartOfGlyphRange: (NSRange)glyphRange
|
||||||
NSRect rect;
|
NSRect rect;
|
||||||
float x;
|
float x;
|
||||||
|
|
||||||
if (![_textStorage length])
|
if (![_textStorage length] || ![_lineLayoutInformation count])
|
||||||
{
|
{
|
||||||
return NSMakeRect(0, 0, width, 12);
|
return NSMakeRect(0, 0, width, 12);
|
||||||
}
|
}
|
||||||
|
@ -696,15 +702,15 @@ forStartOfGlyphRange: (NSRange)glyphRange
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
currentInfo = [_lineLayoutInformation
|
currentInfo = [_lineLayoutInformation
|
||||||
objectAtIndex: [self lineLayoutIndexForGlyphIndex:
|
objectAtIndex: [self lineLayoutIndexForGlyphIndex:
|
||||||
index]];
|
index]];
|
||||||
start = currentInfo->glyphRange.location;
|
start = currentInfo->glyphRange.location;
|
||||||
rect = currentInfo->lineFragmentRect;
|
rect = currentInfo->lineFragmentRect;
|
||||||
x = rect.origin.x + [self _sizeOfRange: NSMakeRange(start, index-start)].width;
|
x = rect.origin.x + [self _sizeOfRange: NSMakeRange(start, index-start)].width;
|
||||||
|
|
||||||
return NSMakeRect(x, rect.origin.y, NSMaxX (rect) - x,
|
return NSMakeRect(x, rect.origin.y, NSMaxX (rect) - x,
|
||||||
rect.size.height);
|
rect.size.height);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) drawSelectionAsRangeNoCaret: (NSRange)aRange
|
- (void) drawSelectionAsRangeNoCaret: (NSRange)aRange
|
||||||
|
|
|
@ -536,14 +536,11 @@ static float scrollerWidth; // == [NSScroller scrollerWidth]
|
||||||
NSArray *subStrings;
|
NSArray *subStrings;
|
||||||
NSString *aStr;
|
NSString *aStr;
|
||||||
unsigned numberOfSubStrings;
|
unsigned numberOfSubStrings;
|
||||||
unsigned i, j;
|
unsigned i, j, column = 0;
|
||||||
BOOL found = NO;
|
BOOL found = YES;
|
||||||
|
|
||||||
// Column Zero is always present.
|
|
||||||
[self loadColumnZero];
|
|
||||||
|
|
||||||
// If that's all, return.
|
// If that's all, return.
|
||||||
if (path == nil || [path isEqualToString: _pathSeparator])
|
if (path == nil)
|
||||||
{
|
{
|
||||||
[self setNeedsDisplay: YES];
|
[self setNeedsDisplay: YES];
|
||||||
return YES;
|
return YES;
|
||||||
|
@ -554,29 +551,42 @@ static float scrollerWidth; // == [NSScroller scrollerWidth]
|
||||||
numberOfSubStrings = [subStrings count];
|
numberOfSubStrings = [subStrings count];
|
||||||
|
|
||||||
// Ignore a trailing void component.
|
// Ignore a trailing void component.
|
||||||
if (![subStrings objectAtIndex: 0])
|
if (numberOfSubStrings > 0
|
||||||
|
&& [[subStrings objectAtIndex: 0] isEqualToString: @""])
|
||||||
{
|
{
|
||||||
NSRange theRange;
|
|
||||||
|
|
||||||
theRange.location = 1;
|
|
||||||
numberOfSubStrings--;
|
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
|
// 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];
|
NSMatrix *matrix = [bc columnMatrix];
|
||||||
NSArray *cells = [matrix cells];
|
NSArray *cells = [matrix cells];
|
||||||
unsigned numOfRows = [cells count];
|
unsigned numOfRows = [cells count];
|
||||||
NSBrowserCell *selectedCell = nil;
|
NSBrowserCell *selectedCell = nil;
|
||||||
|
|
||||||
found = NO;
|
|
||||||
aStr = [subStrings objectAtIndex: i];
|
aStr = [subStrings objectAtIndex: i];
|
||||||
if (aStr)
|
|
||||||
|
if (![aStr isEqualToString: @""])
|
||||||
{
|
{
|
||||||
|
found = NO;
|
||||||
|
|
||||||
// find the cell in the browser matrix which is equal to aStr
|
// find the cell in the browser matrix which is equal to aStr
|
||||||
for (j = 0; j < numOfRows; j++)
|
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 unable to find a cell whose title matches aStr return NO
|
||||||
if (found == NO)
|
if (found == NO)
|
||||||
{
|
{
|
||||||
NSLog (@"NSBrowser: unable to find cell '%@' in column %d\n",
|
NSDebugLog (@"NSBrowser: unable to find cell '%@' in column %d\n",
|
||||||
aStr, i - 1);
|
aStr, column + i);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// if the cell is a leaf, we are finished setting the path
|
// if the cell is a leaf, we are finished setting the path
|
||||||
|
@ -2183,7 +2193,6 @@ static float scrollerWidth; // == [NSScroller scrollerWidth]
|
||||||
_firstVisibleColumn = 0;
|
_firstVisibleColumn = 0;
|
||||||
_lastVisibleColumn = 0;
|
_lastVisibleColumn = 0;
|
||||||
[self _createColumn];
|
[self _createColumn];
|
||||||
NSLog(@"init2 %f", _frame.size.width);
|
|
||||||
|
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
|
@ -325,6 +325,7 @@ id _nsbuttonCellClass = nil;
|
||||||
|
|
||||||
- (BOOL) becomeFirstResponder
|
- (BOOL) becomeFirstResponder
|
||||||
{
|
{
|
||||||
|
[_window disableKeyEquivalentForDefaultButtonCell];
|
||||||
[_cell setShowsFirstResponder: YES];
|
[_cell setShowsFirstResponder: YES];
|
||||||
[self setNeedsDisplay: YES];
|
[self setNeedsDisplay: YES];
|
||||||
|
|
||||||
|
@ -333,6 +334,7 @@ id _nsbuttonCellClass = nil;
|
||||||
|
|
||||||
- (BOOL) resignFirstResponder
|
- (BOOL) resignFirstResponder
|
||||||
{
|
{
|
||||||
|
[_window enableKeyEquivalentForDefaultButtonCell];
|
||||||
[_cell setShowsFirstResponder: NO];
|
[_cell setShowsFirstResponder: NO];
|
||||||
[self setNeedsDisplay: YES];
|
[self setNeedsDisplay: YES];
|
||||||
|
|
||||||
|
|
|
@ -75,9 +75,7 @@ static NSNotificationCenter *nc;
|
||||||
_visibleItems = 10;
|
_visibleItems = 10;
|
||||||
_intercellSpacing = NSMakeSize(3.0, 2.0);
|
_intercellSpacing = NSMakeSize(3.0, 2.0);
|
||||||
_itemHeight = 16;
|
_itemHeight = 16;
|
||||||
// The specification uses -1 as the flag for no selection,
|
_selectedItem = -1;
|
||||||
// but we use NSNotFound to be consistent with other methods.
|
|
||||||
_selectedItem = NSNotFound;
|
|
||||||
|
|
||||||
_popRect = NSZeroRect;
|
_popRect = NSZeroRect;
|
||||||
//_mUpEvent = nil;
|
//_mUpEvent = nil;
|
||||||
|
@ -157,18 +155,24 @@ static NSNotificationCenter *nc;
|
||||||
|
|
||||||
- (void) selectItemAtIndex: (int)index
|
- (void) selectItemAtIndex: (int)index
|
||||||
{
|
{
|
||||||
_selectedItem = index;
|
if (index < -1)
|
||||||
// TODO: Notify popup
|
index = -1;
|
||||||
[nc postNotificationName: NSComboBoxSelectionDidChangeNotification
|
|
||||||
object: [self controlView]
|
if (_selectedItem != index)
|
||||||
userInfo: nil];
|
{
|
||||||
|
_selectedItem = index;
|
||||||
|
// TODO: Notify popup
|
||||||
|
[nc postNotificationName: NSComboBoxSelectionDidChangeNotification
|
||||||
|
object: [self controlView]
|
||||||
|
userInfo: nil];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) deselectItemAtIndex: (int)index
|
- (void) deselectItemAtIndex: (int)index
|
||||||
{
|
{
|
||||||
if (_selectedItem == index)
|
if (_selectedItem == index)
|
||||||
{
|
{
|
||||||
_selectedItem = NSNotFound;
|
_selectedItem = -1;
|
||||||
// TODO: Notify popup
|
// TODO: Notify popup
|
||||||
[nc postNotificationName: NSComboBoxSelectionDidChangeNotification
|
[nc postNotificationName: NSComboBoxSelectionDidChangeNotification
|
||||||
object: [self controlView]
|
object: [self controlView]
|
||||||
|
@ -278,8 +282,10 @@ static NSNotificationCenter *nc;
|
||||||
{
|
{
|
||||||
int i = [_popUpList indexOfObject: object];
|
int i = [_popUpList indexOfObject: object];
|
||||||
|
|
||||||
if (i != NSNotFound)
|
if (i == NSNotFound)
|
||||||
[self selectItemAtIndex: i];
|
i = -1;
|
||||||
|
|
||||||
|
[self selectItemAtIndex: i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -305,7 +311,7 @@ static NSNotificationCenter *nc;
|
||||||
{
|
{
|
||||||
int index = [self indexOfSelectedItem];
|
int index = [self indexOfSelectedItem];
|
||||||
|
|
||||||
if (index == NSNotFound)
|
if (index == -1)
|
||||||
return nil;
|
return nil;
|
||||||
else
|
else
|
||||||
return [_popUpList objectAtIndex: index];
|
return [_popUpList objectAtIndex: index];
|
||||||
|
|
|
@ -626,7 +626,11 @@ repd_for_rep(NSArray *_reps, NSImageRep *rep)
|
||||||
// FIXME: This undos the change done in NSCell, perhaps we can remove both?
|
// FIXME: This undos the change done in NSCell, perhaps we can remove both?
|
||||||
if ([[ctxt focusView] isFlipped])
|
if ([[ctxt focusView] isFlipped])
|
||||||
y -= rect.size.height;
|
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);
|
rect = NSIntersectionRect(aRect, rect);
|
||||||
PScomposite(NSMinX(rect), NSMinY(rect), NSWidth(rect), NSHeight(rect),
|
PScomposite(NSMinX(rect), NSMinY(rect), NSWidth(rect), NSHeight(rect),
|
||||||
[[(NSCachedImageRep *)rep window] gState], aPoint.x, y, op);
|
[[(NSCachedImageRep *)rep window] gState], aPoint.x, y, op);
|
||||||
|
|
|
@ -957,6 +957,8 @@ static SEL getSel;
|
||||||
|
|
||||||
if (aCell)
|
if (aCell)
|
||||||
{
|
{
|
||||||
|
NSRect cellFrame;
|
||||||
|
|
||||||
if (_selectedCell && _selectedCell != aCell)
|
if (_selectedCell && _selectedCell != aCell)
|
||||||
{
|
{
|
||||||
[_selectedCell setShowsFirstResponder: NO];
|
[_selectedCell setShowsFirstResponder: NO];
|
||||||
|
@ -969,6 +971,8 @@ static SEL getSel;
|
||||||
_selectedColumn = column;
|
_selectedColumn = column;
|
||||||
_selectedCells[row][column] = YES;
|
_selectedCells[row][column] = YES;
|
||||||
|
|
||||||
|
cellFrame = [self cellFrameAtRow: row column: column];
|
||||||
|
|
||||||
if ([_cells[row][column] acceptsFirstResponder])
|
if ([_cells[row][column] acceptsFirstResponder])
|
||||||
{
|
{
|
||||||
int lastRow, lastColumn;
|
int lastRow, lastColumn;
|
||||||
|
@ -980,7 +984,8 @@ static SEL getSel;
|
||||||
_dottedColumn = column;
|
_dottedColumn = column;
|
||||||
|
|
||||||
if (lastRow != -1 && lastColumn != -1
|
if (lastRow != -1 && lastColumn != -1
|
||||||
&& (lastRow != row || lastColumn != column))
|
&& (lastRow != row || lastColumn != column)
|
||||||
|
&& [self window] != nil)
|
||||||
[self drawCellAtRow: lastRow column: lastColumn];
|
[self drawCellAtRow: lastRow column: lastColumn];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -989,13 +994,16 @@ static SEL getSel;
|
||||||
if (_mode == NSListModeMatrix)
|
if (_mode == NSListModeMatrix)
|
||||||
[aCell setCellAttribute: NSCellHighlighted to: 1];
|
[aCell setCellAttribute: NSCellHighlighted to: 1];
|
||||||
|
|
||||||
|
if (_autoscroll)
|
||||||
|
[self scrollRectToVisible: cellFrame];
|
||||||
|
|
||||||
// Note: we select the cell iff it is 'selectable', not 'editable'
|
// Note: we select the cell iff it is 'selectable', not 'editable'
|
||||||
// as macosx says. This looks definitely more appropriate.
|
// as macosx says. This looks definitely more appropriate.
|
||||||
// [This is going to start editing only if the cell is also editable,
|
// [This is going to start editing only if the cell is also editable,
|
||||||
// otherwise the text gets selected and that's all.]
|
// otherwise the text gets selected and that's all.]
|
||||||
[self selectTextAtRow: row column: column];
|
[self selectTextAtRow: row column: column];
|
||||||
|
|
||||||
[self setNeedsDisplayInRect: [self cellFrameAtRow: row column: column]];
|
[self setNeedsDisplayInRect: cellFrame];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1465,7 +1473,10 @@ static SEL getSel;
|
||||||
case NSReturnTextMovement:
|
case NSReturnTextMovement:
|
||||||
if ([self sendAction] == NO)
|
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];
|
[self selectText: self];
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -377,16 +377,16 @@ static NSOpenPanel *_gs_gui_open_panel = nil;
|
||||||
|
|
||||||
- (void) ok: (id)sender
|
- (void) ok: (id)sender
|
||||||
{
|
{
|
||||||
NSMatrix *matrix;
|
NSMatrix *matrix = nil;
|
||||||
NSBrowserCell *selectedCell = nil;
|
NSBrowserCell *selectedCell = nil;
|
||||||
NSArray *selectedCells;
|
NSArray *selectedCells = nil;
|
||||||
int selectedColumn, lastColumn;
|
int selectedColumn, lastColumn;
|
||||||
|
|
||||||
selectedColumn = [_browser selectedColumn];
|
selectedColumn = [_browser selectedColumn];
|
||||||
|
lastColumn = [_browser lastColumn];
|
||||||
if (selectedColumn >= 0)
|
if (selectedColumn >= 0)
|
||||||
{
|
{
|
||||||
matrix = [_browser matrixInColumn: selectedColumn];
|
matrix = [_browser matrixInColumn: selectedColumn];
|
||||||
lastColumn = [_browser lastColumn];
|
|
||||||
|
|
||||||
if ([_browser allowsMultipleSelection] == YES)
|
if ([_browser allowsMultipleSelection] == YES)
|
||||||
{
|
{
|
||||||
|
@ -400,23 +400,34 @@ static NSOpenPanel *_gs_gui_open_panel = nil;
|
||||||
{
|
{
|
||||||
if (_canChooseDirectories == NO)
|
if (_canChooseDirectories == NO)
|
||||||
{
|
{
|
||||||
if (selectedColumn == lastColumn
|
if (selectedColumn == lastColumn)
|
||||||
|| [[[_form cellAtIndex: 0] stringValue] length] == 0)
|
|
||||||
selectedCell = [matrix selectedCell];
|
selectedCell = [matrix selectedCell];
|
||||||
}
|
}
|
||||||
else if (selectedColumn == lastColumn)
|
else if (selectedColumn == lastColumn)
|
||||||
selectedCell = [matrix selectedCell];
|
selectedCell = [matrix selectedCell];
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (selectedCell)
|
if (selectedCell)
|
||||||
|
{
|
||||||
|
if ([selectedCell isLeaf] == NO)
|
||||||
{
|
{
|
||||||
if ([selectedCell isLeaf] == NO)
|
[[_form cellAtIndex: 0] setStringValue: @""];
|
||||||
{
|
[_browser doClick: matrix];
|
||||||
[_browser doClick: matrix];
|
[_form selectTextAtIndex: 0];
|
||||||
return;
|
[_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]]);
|
ASSIGN (_directory, [_browser pathToColumn:[_browser lastColumn]]);
|
||||||
if (selectedCell)
|
if (selectedCell)
|
||||||
|
@ -534,8 +545,8 @@ selectCellWithString: (NSString *)title
|
||||||
NSComparisonResult result;
|
NSComparisonResult result;
|
||||||
NSRange range;
|
NSRange range;
|
||||||
|
|
||||||
matrix = [_browser matrixInColumn:[_browser lastColumn]];
|
matrix = [_browser matrixInColumn: [_browser lastColumn]];
|
||||||
s = [[[aNotification userInfo] objectForKey:@"NSFieldEditor"] string];
|
s = [[[aNotification userInfo] objectForKey: @"NSFieldEditor"] string];
|
||||||
|
|
||||||
sLength = [s length];
|
sLength = [s length];
|
||||||
range.location = 0;
|
range.location = 0;
|
||||||
|
@ -545,7 +556,7 @@ selectCellWithString: (NSString *)title
|
||||||
{
|
{
|
||||||
[matrix deselectAllCells];
|
[matrix deselectAllCells];
|
||||||
if(_canChooseDirectories == NO)
|
if(_canChooseDirectories == NO)
|
||||||
[_okButton setEnabled:NO];
|
[_okButton setEnabled: NO];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -561,7 +572,7 @@ selectCellWithString: (NSString *)title
|
||||||
if(cellLength < sLength)
|
if(cellLength < sLength)
|
||||||
range.length = cellLength;
|
range.length = cellLength;
|
||||||
|
|
||||||
result = [selectedString compare:s options:0 range:range];
|
result = [selectedString compare: s options: 0 range: range];
|
||||||
|
|
||||||
if(result == NSOrderedSame)
|
if(result == NSOrderedSame)
|
||||||
return;
|
return;
|
||||||
|
@ -581,53 +592,49 @@ selectCellWithString: (NSString *)title
|
||||||
|
|
||||||
for(i = selectedRow+1; i < numberOfCells; i++)
|
for(i = selectedRow+1; i < numberOfCells; i++)
|
||||||
{
|
{
|
||||||
selectedString = [[matrix cellAtRow:i column:0] stringValue];
|
selectedString = [[matrix cellAtRow: i column: 0] stringValue];
|
||||||
|
|
||||||
cellLength = [selectedString length];
|
cellLength = [selectedString length];
|
||||||
if(cellLength < sLength)
|
if(cellLength < sLength)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
result = [selectedString compare:s options:0 range:range];
|
result = [selectedString compare: s options: 0 range: range];
|
||||||
|
|
||||||
if(result == NSOrderedSame)
|
if(result == NSOrderedSame)
|
||||||
{
|
{
|
||||||
[matrix deselectAllCells];
|
[matrix deselectAllCells];
|
||||||
[matrix selectCellAtRow:i column:0];
|
[matrix selectCellAtRow: i column: 0];
|
||||||
[matrix scrollCellToVisibleAtRow:i column:0];
|
[matrix scrollCellToVisibleAtRow: i column: 0];
|
||||||
[_okButton setEnabled:YES];
|
[_okButton setEnabled: YES];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if(result == NSOrderedDescending)
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for(i = selectedRow; i >= 0; --i)
|
for(i = selectedRow; i >= 0; --i)
|
||||||
{
|
{
|
||||||
selectedString = [[matrix cellAtRow:i column:0] stringValue];
|
selectedString = [[matrix cellAtRow: i column: 0] stringValue];
|
||||||
|
|
||||||
cellLength = [selectedString length];
|
cellLength = [selectedString length];
|
||||||
if(cellLength < sLength)
|
if(cellLength < sLength)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
result = [selectedString compare:s options:0 range:range];
|
result = [selectedString compare: s options: 0 range: range];
|
||||||
|
|
||||||
if(result == NSOrderedSame)
|
if(result == NSOrderedSame)
|
||||||
{
|
{
|
||||||
[matrix deselectAllCells];
|
[matrix deselectAllCells];
|
||||||
[matrix selectCellAtRow:i column:0];
|
[matrix selectCellAtRow: i column: 0];
|
||||||
[matrix scrollCellToVisibleAtRow:i column:0];
|
[matrix scrollCellToVisibleAtRow: i column: 0];
|
||||||
[_okButton setEnabled:YES];
|
[_okButton setEnabled: YES];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if(result == NSOrderedAscending)
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[matrix deselectAllCells];
|
[matrix deselectAllCells];
|
||||||
[_okButton setEnabled:YES];
|
[_okButton setEnabled: YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
@end /* NSOpenPanel */
|
@end /* NSOpenPanel */
|
||||||
|
|
|
@ -751,7 +751,11 @@ static BOOL _gs_display_reading_progress = NO;
|
||||||
|
|
||||||
if (selectedCell && [selectedCell isLeaf] == NO)
|
if (selectedCell && [selectedCell isLeaf] == NO)
|
||||||
{
|
{
|
||||||
|
[[_form cellAtIndex: 0] setStringValue: @""];
|
||||||
[_browser doClick: matrix];
|
[_browser doClick: matrix];
|
||||||
|
[_form selectTextAtIndex: 0];
|
||||||
|
[_form setNeedsDisplay: YES];
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -808,7 +812,7 @@ static BOOL _gs_display_reading_progress = NO;
|
||||||
- (void) selectText: (id)sender
|
- (void) selectText: (id)sender
|
||||||
{
|
{
|
||||||
NSEvent *theEvent = [self currentEvent];
|
NSEvent *theEvent = [self currentEvent];
|
||||||
NSString *characters = [theEvent characters], *keyString;
|
NSString *characters = [theEvent characters];
|
||||||
unichar character = 0;
|
unichar character = 0;
|
||||||
|
|
||||||
if ([characters length] > 0)
|
if ([characters length] > 0)
|
||||||
|
@ -818,35 +822,6 @@ static BOOL _gs_display_reading_progress = NO;
|
||||||
|
|
||||||
switch (character)
|
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 NSUpArrowFunctionKey:
|
||||||
case NSDownArrowFunctionKey:
|
case NSDownArrowFunctionKey:
|
||||||
case NSLeftArrowFunctionKey:
|
case NSLeftArrowFunctionKey:
|
||||||
|
@ -1176,7 +1151,6 @@ selectCellWithString: (NSString*)title
|
||||||
NSMatrix *m;
|
NSMatrix *m;
|
||||||
BOOL isLeaf;
|
BOOL isLeaf;
|
||||||
NSString *path;
|
NSString *path;
|
||||||
NSEvent *event;
|
|
||||||
|
|
||||||
m = [sender matrixInColumn: column];
|
m = [sender matrixInColumn: column];
|
||||||
isLeaf = [[m selectedCell] isLeaf];
|
isLeaf = [[m selectedCell] isLeaf];
|
||||||
|
@ -1214,7 +1188,7 @@ selectCellWithString: (NSString*)title
|
||||||
@end
|
@end
|
||||||
@implementation NSSavePanel (FormDelegate)
|
@implementation NSSavePanel (FormDelegate)
|
||||||
|
|
||||||
- (void) controlTextDidChange: (NSNotification *)aNotification;
|
- (void) controlTextDidChange: (NSNotification *)aNotification
|
||||||
{
|
{
|
||||||
NSString *s, *selectedString;
|
NSString *s, *selectedString;
|
||||||
NSArray *cells;
|
NSArray *cells;
|
||||||
|
@ -1275,8 +1249,6 @@ selectCellWithString: (NSString*)title
|
||||||
[_okButton setEnabled:YES];
|
[_okButton setEnabled:YES];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if(result == NSOrderedDescending)
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1299,8 +1271,6 @@ selectCellWithString: (NSString*)title
|
||||||
[_okButton setEnabled:YES];
|
[_okButton setEnabled:YES];
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if(result == NSOrderedAscending)
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1045,7 +1045,8 @@ static NSNotificationCenter *nc;
|
||||||
|
|
||||||
- (BOOL) shouldDrawInsertionPoint
|
- (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;
|
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
|
- (void) drawRect: (NSRect)rect
|
||||||
{
|
{
|
||||||
/* TODO: Only do relayout if needed */
|
/* TODO: Only do relayout if needed */
|
||||||
|
|
|
@ -565,8 +565,11 @@ static NSMapTable* windowmaps = NULL;
|
||||||
|
|
||||||
if (_gstate)
|
if (_gstate)
|
||||||
DPSundefineuserobject(context, _gstate);
|
DPSundefineuserobject(context, _gstate);
|
||||||
DPStermwindow(context, _windowNum);
|
if (_windowNum)
|
||||||
NSMapRemove(windowmaps, (void*)_windowNum);
|
{
|
||||||
|
DPStermwindow(context, _windowNum);
|
||||||
|
NSMapRemove(windowmaps, (void*)_windowNum);
|
||||||
|
}
|
||||||
[super dealloc];
|
[super dealloc];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1896,6 +1899,11 @@ resetCursorRectsForView(NSView *theView)
|
||||||
object: self];
|
object: self];
|
||||||
|
|
||||||
_f.is_miniaturized = YES;
|
_f.is_miniaturized = YES;
|
||||||
|
/* Make sure we're not defered */
|
||||||
|
if(_windowNum == 0)
|
||||||
|
{
|
||||||
|
[self _initBackendWindow: _frame];
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
* Ensure that we have a miniwindow counterpart.
|
* Ensure that we have a miniwindow counterpart.
|
||||||
*/
|
*/
|
||||||
|
@ -2012,7 +2020,8 @@ resetCursorRectsForView(NSView *theView)
|
||||||
{
|
{
|
||||||
[NSApp updateWindowsItem: self];
|
[NSApp updateWindowsItem: self];
|
||||||
}
|
}
|
||||||
DPSdocedited(GSCurrentContext(), flag, _windowNum);
|
if (_windowNum)
|
||||||
|
DPSdocedited(GSCurrentContext(), flag, _windowNum);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3239,6 +3248,9 @@ resetCursorRectsForView(NSView *theView)
|
||||||
{
|
{
|
||||||
ASSIGN(_defaultButtonCell, aButtonCell);
|
ASSIGN(_defaultButtonCell, aButtonCell);
|
||||||
_f.default_button_cell_key_disabled = NO;
|
_f.default_button_cell_key_disabled = NO;
|
||||||
|
|
||||||
|
[aButtonCell setKeyEquivalent: @"\r"];
|
||||||
|
[aButtonCell setKeyEquivalentModifierMask: 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) disableKeyEquivalentForDefaultButtonCell
|
- (void) disableKeyEquivalentForDefaultButtonCell
|
||||||
|
|
11
Version
11
Version
|
@ -5,21 +5,16 @@
|
||||||
GNUSTEP_GUI_GCC=2.8.0
|
GNUSTEP_GUI_GCC=2.8.0
|
||||||
|
|
||||||
# Versions for libraries that gnustep-gui is dependent upon
|
# Versions for libraries that gnustep-gui is dependent upon
|
||||||
GNUSTEP_GUI_BASE=0.6.6
|
GNUSTEP_GUI_BASE=1.0.2
|
||||||
LIB_FOUNDATION=0.8.1
|
|
||||||
GNUSTEP_GUI_LIBTIFF=3.4
|
GNUSTEP_GUI_LIBTIFF=3.4
|
||||||
GNUSTEP_GUI_DGS=0.5.10
|
|
||||||
GNUSTEP_GUI_DPSCLIENT=6.1
|
|
||||||
|
|
||||||
# The version number of this release.
|
# The version number of this release.
|
||||||
GNUSTEP_GUI_MAJOR_VERSION=0
|
GNUSTEP_GUI_MAJOR_VERSION=0
|
||||||
GNUSTEP_GUI_MINOR_VERSION=6
|
GNUSTEP_GUI_MINOR_VERSION=7
|
||||||
GNUSTEP_GUI_SUBMINOR_VERSION=8
|
GNUSTEP_GUI_SUBMINOR_VERSION=0
|
||||||
GNUSTEP_GUI_VERSION=${GNUSTEP_GUI_MAJOR_VERSION}.${GNUSTEP_GUI_MINOR_VERSION}.${GNUSTEP_GUI_SUBMINOR_VERSION}
|
GNUSTEP_GUI_VERSION=${GNUSTEP_GUI_MAJOR_VERSION}.${GNUSTEP_GUI_MINOR_VERSION}.${GNUSTEP_GUI_SUBMINOR_VERSION}
|
||||||
VERSION=${GNUSTEP_GUI_VERSION}
|
VERSION=${GNUSTEP_GUI_VERSION}
|
||||||
|
|
||||||
GNUSTEP_GUI_FTP_MACHINE=ftp.gnustep.org
|
GNUSTEP_GUI_FTP_MACHINE=ftp.gnustep.org
|
||||||
GNUSTEP_GUI_FTP_DIRECTORY=pub/gnustep/core
|
GNUSTEP_GUI_FTP_DIRECTORY=pub/gnustep/core
|
||||||
GNUSTEP_GUI_SNAP_FTP_MACHINE=alpha.gnu.org
|
|
||||||
GNUSTEP_GUI_SNAP_FTP_DIRECTORY=gnu/gnustep
|
|
||||||
|
|
||||||
|
|
|
@ -4,4 +4,5 @@
|
||||||
|
|
||||||
ADDITIONAL_INCLUDE_DIRS += @ADDITIONAL_INCLUDE_DIRS@
|
ADDITIONAL_INCLUDE_DIRS += @ADDITIONAL_INCLUDE_DIRS@
|
||||||
ADDITIONAL_LIB_DIRS += @ADDITIONAL_LIB_DIRS@
|
ADDITIONAL_LIB_DIRS += @ADDITIONAL_LIB_DIRS@
|
||||||
|
ADDITIONAL_DEPENDS = @ADDITIONAL_DEPENDS@
|
||||||
|
|
||||||
|
|
418
configure
vendored
418
configure
vendored
|
@ -11,6 +11,10 @@
|
||||||
ac_help=
|
ac_help=
|
||||||
ac_default_prefix=/usr/local
|
ac_default_prefix=/usr/local
|
||||||
# Any additions from configure.in:
|
# 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
|
ac_help="$ac_help
|
||||||
--with-tiff-library=DIR TIFF library file are in DIR"
|
--with-tiff-library=DIR TIFF library file are in DIR"
|
||||||
ac_help="$ac_help
|
ac_help="$ac_help
|
||||||
|
@ -578,7 +582,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo $ac_n "checking host system type""... $ac_c" 1>&6
|
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
|
host_alias=$host
|
||||||
case "$host_alias" in
|
case "$host_alias" in
|
||||||
|
@ -599,7 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||||
echo "$ac_t""$host" 1>&6
|
echo "$ac_t""$host" 1>&6
|
||||||
|
|
||||||
echo $ac_n "checking target system type""... $ac_c" 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
|
target_alias=$target
|
||||||
case "$target_alias" in
|
case "$target_alias" in
|
||||||
|
@ -617,7 +621,7 @@ target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
|
||||||
echo "$ac_t""$target" 1>&6
|
echo "$ac_t""$target" 1>&6
|
||||||
|
|
||||||
echo $ac_n "checking build system type""... $ac_c" 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
|
build_alias=$build
|
||||||
case "$build_alias" in
|
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 $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_%'`
|
ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'`
|
||||||
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
|
@ -649,14 +653,14 @@ else
|
||||||
ac_save_LIBS="$LIBS"
|
ac_save_LIBS="$LIBS"
|
||||||
LIBS="-lm $LIBS"
|
LIBS="-lm $LIBS"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 653 "configure"
|
#line 657 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
main()
|
main()
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
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*
|
rm -rf conftest*
|
||||||
eval "ac_cv_lib_$ac_lib_var=yes"
|
eval "ac_cv_lib_$ac_lib_var=yes"
|
||||||
else
|
else
|
||||||
|
@ -686,12 +690,12 @@ fi
|
||||||
for ac_func in rintf
|
for ac_func in rintf
|
||||||
do
|
do
|
||||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
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
|
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 695 "configure"
|
#line 699 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* System header to define __stub macros and hopefully few prototypes,
|
/* System header to define __stub macros and hopefully few prototypes,
|
||||||
which can conflict with char $ac_func(); below. */
|
which can conflict with char $ac_func(); below. */
|
||||||
|
@ -714,7 +718,7 @@ $ac_func();
|
||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
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*
|
rm -rf conftest*
|
||||||
eval "ac_cv_func_$ac_func=yes"
|
eval "ac_cv_func_$ac_func=yes"
|
||||||
else
|
else
|
||||||
|
@ -740,46 +744,47 @@ done
|
||||||
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
# Find for TIFF
|
# Find for JPEG
|
||||||
# Do a superficial find only - The tiff library is actually linked with
|
|
||||||
# the backend, and typically in conjunction with other graphic libraries.
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
# Check whether --with-tiff_library or --without-tiff_library was given.
|
GRAPHIC_LIBS=
|
||||||
if test "${with_tiff_library+set}" = set; then
|
GRAPHIC_CFLAGS=
|
||||||
withval="$with_tiff_library"
|
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
|
else
|
||||||
with_tiff_library=
|
with_jpeg_library=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check whether --with-tiff_include or --without-tiff_include was given.
|
# Check whether --with-jpeg_include or --without-jpeg_include was given.
|
||||||
if test "${with_tiff_include+set}" = set; then
|
if test "${with_jpeg_include+set}" = set; then
|
||||||
withval="$with_tiff_include"
|
withval="$with_jpeg_include"
|
||||||
:
|
:
|
||||||
else
|
else
|
||||||
with_tiff_include=
|
with_jpeg_include=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
case "$target_os" in
|
if test "$with_jpeg_library" = ""; then
|
||||||
freebsd*) CPPFLAGS="$CPPFLAGS -I/usr/local/include"
|
case "$target_os" in
|
||||||
LDFLAGS="$LDFLAGS -L/usr/local/lib"
|
freebsd*) with_jpeg_include="/usr/local/include"
|
||||||
ADDITIONAL_INCLUDE_DIRS="-I/usr/local/include"
|
with_jpeg_library="/usr/local/lib";;
|
||||||
ADDITIONAL_LIB_DIRS="-L/usr/local/lib";;
|
esac
|
||||||
esac
|
fi
|
||||||
|
|
||||||
save_cpp=${CPPFLAGS}
|
if test -n "$with_jpeg_library"; then
|
||||||
save_ldf=${LDFLAGS}
|
with_jpeg_library="-L$with_jpeg_library"
|
||||||
if test "$with_tiff_include" != ""; then
|
|
||||||
CPPFLAGS="-I$with_tiff_include ${CPPFLAGS}"
|
|
||||||
ADDITIONAL_INCLUDE_DIRS="-I$with_tiff_include"
|
|
||||||
fi
|
fi
|
||||||
if test -n "$with_tiff_library"; then
|
if test -n "$with_jpeg_include"; then
|
||||||
LDFLAGS="-L$with_tiff_library $LDFLAGS"
|
with_jpeg_include="-I$with_jpeg_include"
|
||||||
ADDITIONAL_LIB_DIRS="-L$with_tiff_library"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
|
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.
|
# On Suns, sometimes $CPP names a directory.
|
||||||
if test -n "$CPP" && test -d "$CPP"; then
|
if test -n "$CPP" && test -d "$CPP"; then
|
||||||
CPP=
|
CPP=
|
||||||
|
@ -794,13 +799,13 @@ else
|
||||||
# On the NeXT, cc -E runs the code through the compiler's parser,
|
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||||
# not just through cpp.
|
# not just through cpp.
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 798 "configure"
|
#line 803 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
Syntax Error
|
Syntax Error
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
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}\$"`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
:
|
:
|
||||||
|
@ -811,13 +816,13 @@ else
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
CPP="${CC-cc} -E -traditional-cpp"
|
CPP="${CC-cc} -E -traditional-cpp"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 815 "configure"
|
#line 820 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
Syntax Error
|
Syntax Error
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
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}\$"`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
:
|
:
|
||||||
|
@ -828,13 +833,13 @@ else
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
CPP="${CC-cc} -nologo -E"
|
CPP="${CC-cc} -nologo -E"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 832 "configure"
|
#line 837 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
Syntax Error
|
Syntax Error
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
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}\$"`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
:
|
:
|
||||||
|
@ -858,19 +863,274 @@ else
|
||||||
fi
|
fi
|
||||||
echo "$ac_t""$CPP" 1>&6
|
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 $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
|
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 869 "configure"
|
#line 1129 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <tiffio.h>
|
#include <tiffio.h>
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
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}\$"`
|
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
|
@ -886,70 +1146,44 @@ rm -f conftest*
|
||||||
fi
|
fi
|
||||||
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
|
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
|
||||||
echo "$ac_t""yes" 1>&6
|
echo "$ac_t""yes" 1>&6
|
||||||
:
|
tiff_ok=yes
|
||||||
else
|
else
|
||||||
echo "$ac_t""no" 1>&6
|
echo "$ac_t""no" 1>&6
|
||||||
|
tiff_ok=no
|
||||||
fi
|
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 "configure: warning: Cannot find libtiff header tiffio" 1>&2
|
||||||
echo "* The GUI library requres the TIFF library"
|
echo "* The GUI library requres the TIFF library"
|
||||||
echo "* Use --with-tiff-include to specify the tiff header directory"
|
echo "* Use --with-tiff-include to specify the tiff header directory"
|
||||||
echo "* and --with-tiff-library to specify the tiff library directory"
|
echo "* and --with-tiff-library to specify the tiff library directory"
|
||||||
echo "* if it is not in the usual place(s)"
|
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; }
|
{ echo "configure: error: gnustep-gui will not compile without tiff includes" 1>&2; exit 1; }
|
||||||
fi
|
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
|
|
||||||
else
|
else
|
||||||
ac_save_LIBS="$LIBS"
|
echo "configure: warning: Cannot find libtiff" 1>&2
|
||||||
LIBS="-ltiff $LIBS"
|
echo "* The GUI library reqiures the TIFF library"
|
||||||
cat > conftest.$ac_ext <<EOF
|
echo "* Use --with-tiff-library to specify the tiff library"
|
||||||
#line 912 "configure"
|
echo "* directory if it is not in the usual place(s)"
|
||||||
#include "confdefs.h"
|
echo "* You may also have to specify --with-jpeg-library if the jpeg"
|
||||||
|
echo "* library is needed by tiff",
|
||||||
int main() {
|
{ echo "configure: error: gnustep-gui will not compile without tiff" 1>&2; exit 1; }
|
||||||
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"
|
|
||||||
fi
|
fi
|
||||||
rm -f conftest*
|
CPPFLAGS="${tiff_check_lib_save_header}"
|
||||||
LIBS="$ac_save_LIBS"
|
|
||||||
|
|
||||||
fi
|
ADDITIONAL_INCLUDE_DIRS="$GRAPHIC_CFLAGS"
|
||||||
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
|
ADDITIONAL_LIB_DIRS="$GRAPHIC_LFLAGS"
|
||||||
echo "$ac_t""yes" 1>&6
|
ADDITIONAL_DEPENDS="$GRAPHIC_LIBS"
|
||||||
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"
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
# Record the version
|
# Record the version
|
||||||
#--------------------------------------------------------------------
|
#--------------------------------------------------------------------
|
||||||
echo $ac_n "checking for the version of gnustep-gui we are compiling""... $ac_c" 1>&6
|
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
|
if test -f "Version"; then
|
||||||
. ./Version
|
. ./Version
|
||||||
fi
|
fi
|
||||||
|
@ -962,6 +1196,7 @@ echo "$ac_t""$GNUSTEP_GUI_VERSION" 1>&6
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
trap '' 1 2 15
|
trap '' 1 2 15
|
||||||
cat > confcache <<\EOF
|
cat > confcache <<\EOF
|
||||||
# This file is a shell script that caches the results of configure
|
# 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%@GNUSTEP_GUI_SUBMINOR_VERSION@%$GNUSTEP_GUI_SUBMINOR_VERSION%g
|
||||||
s%@ADDITIONAL_LIB_DIRS@%$ADDITIONAL_LIB_DIRS%g
|
s%@ADDITIONAL_LIB_DIRS@%$ADDITIONAL_LIB_DIRS%g
|
||||||
s%@ADDITIONAL_INCLUDE_DIRS@%$ADDITIONAL_INCLUDE_DIRS%g
|
s%@ADDITIONAL_INCLUDE_DIRS@%$ADDITIONAL_INCLUDE_DIRS%g
|
||||||
|
s%@ADDITIONAL_DEPENDS@%$ADDITIONAL_DEPENDS%g
|
||||||
|
|
||||||
CEOF
|
CEOF
|
||||||
EOF
|
EOF
|
||||||
|
|
143
configure.in
143
configure.in
|
@ -35,10 +35,63 @@ AC_CANONICAL_SYSTEM
|
||||||
AC_CHECK_LIB(m, main)
|
AC_CHECK_LIB(m, main)
|
||||||
AC_CHECK_FUNCS(rintf)
|
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
|
# 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,
|
AC_ARG_WITH(tiff_library,
|
||||||
[ --with-tiff-library=DIR TIFF library file are in DIR], ,
|
[ --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=DIR TIFF include files are in DIR], ,
|
||||||
with_tiff_include=)
|
with_tiff_include=)
|
||||||
|
|
||||||
case "$target_os" in
|
if test "$with_tiff_library" = ""; then
|
||||||
freebsd*) CPPFLAGS="$CPPFLAGS -I/usr/local/include"
|
case "$target_os" in
|
||||||
LDFLAGS="$LDFLAGS -L/usr/local/lib"
|
freebsd*) with_tiff_include="/usr/local/include"
|
||||||
ADDITIONAL_INCLUDE_DIRS="-I/usr/local/include"
|
with_tiff_library="/usr/local/lib";;
|
||||||
ADDITIONAL_LIB_DIRS="-L/usr/local/lib";;
|
esac
|
||||||
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
|
if test -n "$with_tiff_library"; then
|
||||||
LDFLAGS="-L$with_tiff_library $LDFLAGS"
|
with_tiff_library="-L$with_tiff_library"
|
||||||
ADDITIONAL_LIB_DIRS="-L$with_tiff_library"
|
|
||||||
fi
|
fi
|
||||||
AC_CHECK_HEADER(tiffio.h)
|
if test -n "$with_tiff_include"; then
|
||||||
if test $ac_cv_header_tiffio_h = no; 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)
|
AC_MSG_WARN(Cannot find libtiff header tiffio)
|
||||||
echo "* The GUI library requres the TIFF library"
|
echo "* The GUI library requres the TIFF library"
|
||||||
echo "* Use --with-tiff-include to specify the tiff header directory"
|
echo "* Use --with-tiff-include to specify the tiff header directory"
|
||||||
echo "* and --with-tiff-library to specify the tiff library directory"
|
echo "* and --with-tiff-library to specify the tiff library directory"
|
||||||
echo "* if it is not in the usual place(s)"
|
echo "* if it is not in the usual place(s)"
|
||||||
AC_MSG_ERROR(gnustep-gui will not compile without tiff includes)
|
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
|
fi
|
||||||
AC_CHECK_LIB(tiff, main)
|
CPPFLAGS="${tiff_check_lib_save_header}"])
|
||||||
CPPFLAGS="$save_cpp"
|
|
||||||
LDFLAGS="$save_ldf"
|
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
|
# Record the version
|
||||||
|
@ -92,6 +192,7 @@ AC_SUBST(GNUSTEP_GUI_SUBMINOR_VERSION)
|
||||||
|
|
||||||
AC_SUBST(ADDITIONAL_LIB_DIRS)
|
AC_SUBST(ADDITIONAL_LIB_DIRS)
|
||||||
AC_SUBST(ADDITIONAL_INCLUDE_DIRS)
|
AC_SUBST(ADDITIONAL_INCLUDE_DIRS)
|
||||||
|
AC_SUBST(ADDITIONAL_DEPENDS)
|
||||||
|
|
||||||
AC_OUTPUT(config.make gui.make Headers/gnustep/gui/GSVersion.h)
|
AC_OUTPUT(config.make gui.make Headers/gnustep/gui/GSVersion.h)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue