Various corrections to makefiles, RPMs etc.

Corrected overoptimised window style and colour code.
  More best visual changes.
  Minor typos in docs.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5781 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 2000-02-01 16:37:28 +00:00
parent eb17eaba37
commit 103aab2664
17 changed files with 152 additions and 1438 deletions

View File

@ -266,7 +266,7 @@ TIFFOBJS = \
tif_write.o \
tif_zip.o
IODBC_OBJS = \
IODBCOBJS = \
catalog.o \
connect.o \
dlf.o \
@ -282,6 +282,7 @@ IODBC_OBJS = \
misc.o \
prepare.o \
result.o
############################## Rules ##################################
BURNT_LIBRARY_NAME = @BURNT_LIBRARY_NAME@

View File

@ -127,8 +127,3 @@ HTMLOBJS = \
HTMLDEPS = \
#$ ExpandList("HTMLDEPS");
IODBCOBJS = \
#$ ExpandList("IODBCOBJS");
IODBCDEPS = \
#$ ExpandList("IODBCDEPS");

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,22 @@
12th January '2000: wxWindows 2.1.14 released
Corrected one more bug in the TIFF handler.
It is now possible to run wxGTK apps in the best visual
instead of only the default on system that support this
(typically IRIX).
Added default keyboard handling to wxScrolledWindow.
Fixed slightly overoptimized window colour and style handling.
Fixed bug in drawing code that made GTK pick the wrong pen
style when using the default.
The L-GPL iODBC library must now be enables explicitly so as
to not mislead people into reading the license wrong.
24th January '2000: wxWindows 2.1.13 released
Corrections to TAB handling in notebooks.

View File

@ -150,7 +150,7 @@ function will find the first top-level window (frame or dialog) and return that.
\constfunc{bool}{GetUseBestVisual}{\void}
Returns TRUE if the application will use the best visual on system that support
Returns TRUE if the application will use the best visual on systems that support
different visuals, FALSE otherwise.
\wxheading{See also}
@ -464,9 +464,9 @@ can be overridden by the user to change the default icons.
\func{void}{SetUseBestVisual}{\param{bool}{ flag}}
Allows the programmer to specify whether the application will use the best visual
on system that support several visual on the same display. This is typically the
case under Solaris and IRIX, where the default visual is only 8-bit but some apps
are supposed to run in TrueColour mode.
on systems that support several visual on the same display. This is typically the
case under Solaris and IRIX, where the default visual is only 8-bit whereas certain
appications are supposed to run in TrueColour mode.
Note that this function has to be called in the constructor of the {\tt wxApp}
instance and won't have any effect when called later on.

View File

@ -1663,8 +1663,7 @@ functions so should not be required by the application programmer.
Reparents the window, i.e the window will be removed from its
current parent window (e.g. a non-standard toolbar in a wxFrame)
and then re-inserted into another (e.g. a wxMiniFrame for a
floating toolbar). Available on Windows and GTK+.
and then re-inserted into another. Available on Windows and GTK.
\wxheading{Parameters}
@ -1709,8 +1708,7 @@ Physically scrolls the pixels in the window and move child windows accordingly.
\docparam{rect}{Rectangle to invalidate. If this is NULL, the whole window is invalidated. If you
pass a rectangle corresponding to the area of the window exposed by the scroll, your painting handler
can optimise painting by checking for the invalidated region. This paramter is ignored under GTK,
instead the regions to be invalidated are calculated automatically. }
can optimise painting by checking for the invalidated region. This paramter is ignored under GTK.}
\wxheading{Remarks}
@ -1737,14 +1735,6 @@ be called automatically when the window is resized. Use in connection with
\docparam{autoLayout}{Set this to TRUE if you wish the Layout function to be called
from within wxWindow::OnSize functions.}
\wxheading{Remarks}
Note that this function is actually disabled for wxWindow. It has
effect for wxDialog, wxFrame, wxPanel and wxScrolledWindow. Windows
of other types that need to invoke the Layout algorithm should provide
an EVT\_SIZE handler and call
\helpref{wxWindow::Layout}{wxwindowlayout} from within it.
\wxheading{See also}
\helpref{wxWindow::SetConstraints}{wxwindowsetconstraints}
@ -1769,9 +1759,9 @@ Note that setting the background colour does not cause an immediate refresh, so
may wish to call \helpref{wxWindow::Clear}{wxwindowclear} or \helpref{wxWindow::Refresh}{wxwindowrefresh} after
calling this function.
Note that when using this functions under GTK, you will disable the so called "themes",
i.e. the user chosen apperance of windows and controls, including the themes of
their parent windows.
Use this function with care under GTK as the new appearance of the window might
not look equally well when used with "Themes", i.e GTK's ability to change its
look as the user wishes with run-time loadable modules.
\wxheading{See also}

View File

@ -393,7 +393,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
m_text = new wxTextCtrl(this, -1, "This is the log window.\n",
wxPoint(0, 250), wxSize(100, 50), wxTE_MULTILINE);
// m_text->SetBackgroundColour("wheat");
m_text->SetBackgroundColour("wheat");
wxLog::AddTraceMask(_T("focus"));
m_logTargetOld = wxLog::SetActiveTarget(new wxLogTextCtrl(m_text));
@ -655,6 +655,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
m_label = new wxStaticText(panel, -1, "Label with some long text",
wxPoint(250, 60), wxDefaultSize,
wxALIGN_RIGHT | wxST_NO_AUTORESIZE);
m_label->SetForegroundColour( *wxBLUE );
m_notebook->AddPage(panel, "wxBitmapXXX");
@ -750,13 +751,13 @@ void MyPanel::OnChangeColour(wxCommandEvent& WXUNUSED(event))
SetBackgroundColour(s_colOld);
s_colOld = wxNullColour;
m_lbSelectThis->SetForegroundColour("yellow");
m_lbSelectThis->SetBackgroundColour("blue");
m_lbSelectThis->SetForegroundColour("red");
m_lbSelectThis->SetBackgroundColour("white");
}
else
{
s_colOld = GetBackgroundColour();
SetBackgroundColour("green");
s_colOld = wxColour("red");
SetBackgroundColour("white");
m_lbSelectThis->SetForegroundColour("white");
m_lbSelectThis->SetBackgroundColour("red");

View File

@ -7,9 +7,3 @@
0 wx.html ;wxWindows: Help index; additional keywords like overview
1 wxwin.htm ; wxWindows Class References
2 wx204.htm#functions ; wxWindows Function References; methods
;
; Some doc++ generated files:
;
4 aindex.html ;wxExtHelpController: Table of contents
3 HIER.html ; Class hierarchy (very small)
5 wxExtHelpController.html ; The class documentation of wxExtHelpController.;brower viewer

View File

@ -1309,12 +1309,15 @@ wxBitmap wxImage::ConvertToMonoBitmap( unsigned char red, unsigned char green, u
bitmap.SetDepth( 1 );
GdkVisual *visual = gdk_window_get_visual( wxRootWindow->window );
wxASSERT( visual );
// Create picture image
unsigned char *data_data = (unsigned char*)malloc( ((width >> 3)+8) * height );
GdkImage *data_image =
gdk_image_new_bitmap( gdk_visual_get_system(), data_data, width, height );
gdk_image_new_bitmap( visual, data_data, width, height );
// Create mask image
@ -1324,7 +1327,7 @@ wxBitmap wxImage::ConvertToMonoBitmap( unsigned char red, unsigned char green, u
{
unsigned char *mask_data = (unsigned char*)malloc( ((width >> 3)+8) * height );
mask_image = gdk_image_new_bitmap( gdk_visual_get_system(), mask_data, width, height );
mask_image = gdk_image_new_bitmap( visual, mask_data, width, height );
wxMask *mask = new wxMask();
mask->m_bitmap = gdk_pixmap_new( wxRootWindow->window, width, height, 1 );
@ -1405,10 +1408,11 @@ wxBitmap wxImage::ConvertToBitmap() const
bitmap.SetPixmap( gdk_pixmap_new( wxRootWindow->window, width, height, -1 ) );
// Retrieve depth
// Retrieve depth
GdkVisual *visual = gdk_window_get_visual( bitmap.GetPixmap() );
if (visual == NULL) visual = gdk_visual_get_system();
GdkVisual *visual = gdk_window_get_visual( wxRootWindow->window );
wxASSERT( visual );
int bpp = visual->depth;
bitmap.SetDepth( bpp );
@ -1448,7 +1452,7 @@ wxBitmap wxImage::ConvertToBitmap() const
// Create picture image
GdkImage *data_image =
gdk_image_new( GDK_IMAGE_FASTEST, gdk_visual_get_system(), width, height );
gdk_image_new( GDK_IMAGE_FASTEST, visual, width, height );
// Create mask image
@ -1458,7 +1462,7 @@ wxBitmap wxImage::ConvertToBitmap() const
{
unsigned char *mask_data = (unsigned char*)malloc( ((width >> 3)+8) * height );
mask_image = gdk_image_new_bitmap( gdk_visual_get_system(), mask_data, width, height );
mask_image = gdk_image_new_bitmap( visual, mask_data, width, height );
wxMask *mask = new wxMask();
mask->m_bitmap = gdk_pixmap_new( wxRootWindow->window, width, height, 1 );
@ -1473,7 +1477,6 @@ wxBitmap wxImage::ConvertToBitmap() const
if (bpp >= 24)
{
GdkVisual *visual = gdk_visual_get_system();
if ((visual->red_mask > visual->green_mask) && (visual->green_mask > visual->blue_mask)) b_o = RGB;
else if ((visual->red_mask > visual->blue_mask) && (visual->blue_mask > visual->green_mask)) b_o = RGB;
else if ((visual->blue_mask > visual->red_mask) && (visual->red_mask > visual->green_mask)) b_o = BRG;

View File

@ -92,7 +92,9 @@ bool wxMask::Create( const wxBitmap& bitmap,
unsigned char green = colour.Green();
unsigned char blue = colour.Blue();
GdkVisual *visual = gdk_visual_get_system();
GdkVisual *visual = gdk_window_get_visual( wxRootWindow->window );
wxASSERT( visual );
int bpp = visual->depth;
if ((bpp == 16) && (visual->red_mask != 0xf800)) bpp = 15;
if (bpp == 15)
@ -243,9 +245,12 @@ wxBitmap::wxBitmap( int width, int height, int depth )
{
wxCHECK_RET( (width > 0) && (height > 0), wxT("invalid bitmap size") )
if (depth == -1) depth = gdk_window_get_visual( wxRootWindow->window )->depth;
GdkVisual *visual = gdk_window_get_visual( wxRootWindow->window );
wxASSERT( visual );
wxCHECK_RET( (depth == gdk_window_get_visual( wxRootWindow->window )->depth) ||
if (depth == -1) depth = visual->depth;
wxCHECK_RET( (depth == visual->depth) ||
(depth == 1), wxT("invalid bitmap depth") )
m_refData = new wxBitmapRefData();
@ -260,7 +265,7 @@ wxBitmap::wxBitmap( int width, int height, int depth )
else
{
M_BMPDATA->m_pixmap = gdk_pixmap_new( wxRootWindow->window, width, height, depth );
M_BMPDATA->m_bpp = gdk_window_get_visual( wxRootWindow->window )->depth;
M_BMPDATA->m_bpp = visual->depth;
}
if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this);
@ -270,6 +275,9 @@ bool wxBitmap::CreateFromXpm( const char **bits )
{
wxCHECK_MSG( bits != NULL, FALSE, wxT("invalid bitmap data") )
GdkVisual *visual = gdk_window_get_visual( wxRootWindow->window );
wxASSERT( visual );
m_refData = new wxBitmapRefData();
GdkBitmap *mask = (GdkBitmap*) NULL;
@ -286,7 +294,8 @@ bool wxBitmap::CreateFromXpm( const char **bits )
gdk_window_get_size( M_BMPDATA->m_pixmap, &(M_BMPDATA->m_width), &(M_BMPDATA->m_height) );
M_BMPDATA->m_bpp = gdk_window_get_visual( wxRootWindow->window )->depth; // ?
M_BMPDATA->m_bpp = visual->depth; // ?
if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this);
return TRUE;
@ -443,6 +452,9 @@ bool wxBitmap::LoadFile( const wxString &name, int type )
if (!wxFileExists(name)) return FALSE;
GdkVisual *visual = gdk_window_get_visual( wxRootWindow->window );
wxASSERT( visual );
if (type == wxBITMAP_TYPE_XPM)
{
m_refData = new wxBitmapRefData();
@ -458,7 +470,8 @@ bool wxBitmap::LoadFile( const wxString &name, int type )
}
gdk_window_get_size( M_BMPDATA->m_pixmap, &(M_BMPDATA->m_width), &(M_BMPDATA->m_height) );
M_BMPDATA->m_bpp = gdk_window_get_visual( wxRootWindow->window )->depth;
M_BMPDATA->m_bpp = visual->depth;
}
else // try if wxImage can load it
{

View File

@ -1,4 +1,4 @@
# This file was automatically generated by tmake at 21:13, 2000/01/28
# This file was automatically generated by tmake at 17:23, 2000/02/01
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
ALL_SOURCES = \
generic/busyinfo.cpp \
@ -192,14 +192,14 @@ ALL_SOURCES = \
gtk/wave.cpp \
gtk/win_gtk.c \
gtk/window.cpp \
gtk/dialup.cpp \
gtk/dir.cpp \
gtk/fontenum.cpp \
gtk/fontutil.cpp \
gtk/gsocket.c \
gtk/mimetype.cpp \
gtk/threadpsx.cpp \
gtk/utilsunx.cpp \
unix/dialup.cpp \
unix/dir.cpp \
unix/fontenum.cpp \
unix/fontutil.cpp \
unix/gsocket.c \
unix/mimetype.cpp \
unix/threadpsx.cpp \
unix/utilsunx.cpp \
html/helpctrl.cpp \
html/helpdata.cpp \
html/helpfrm.cpp \
@ -317,6 +317,8 @@ ALL_HEADERS = \
intl.h \
ioswrap.h \
ipcbase.h \
isql.h \
isqlext.h \
joystick.h \
layout.h \
laywin.h \
@ -637,6 +639,7 @@ COMMONOBJS = \
zstream.o
COMMONDEPS = \
parser.d \
appcmn.d \
choiccmn.d \
clipcmn.d \
@ -995,6 +998,3 @@ HTMLDEPS = \
m_tables.d \
winpars.d
IODBCOBJS = \
IODBCDEPS = \

View File

@ -2977,12 +2977,10 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour )
// but it couldn't get applied as the
// widget hasn't been realized yet.
m_delayedBackgroundColour = TRUE;
// pretend we have done something
return TRUE;
}
if ((m_wxwindow) &&
(m_wxwindow->window) &&
(m_backgroundColour != wxSystemSettings::GetSystemColour(wxSYS_COLOUR_BTNFACE)))
{
/* wxMSW doesn't clear the window here. I don't do that either to
@ -3020,9 +3018,6 @@ bool wxWindow::SetForegroundColour( const wxColour &colour )
// but it couldn't get applied as the
// widget hasn't been realized yet.
m_delayedForegroundColour = TRUE;
// pretend we have done something
return TRUE;
}
ApplyWidgetStyle();
@ -3032,15 +3027,24 @@ bool wxWindow::SetForegroundColour( const wxColour &colour )
GtkStyle *wxWindow::GetWidgetStyle()
{
if (m_widgetStyle) return m_widgetStyle;
if (m_widgetStyle)
{
GtkStyle *remake = gtk_style_copy( m_widgetStyle );
remake->klass = m_widgetStyle->klass;
gtk_style_unref( m_widgetStyle );
m_widgetStyle = remake;
}
else
{
GtkStyle *def = gtk_rc_get_style( m_widget );
GtkStyle *def = gtk_rc_get_style( m_widget );
if (!def)
def = gtk_widget_get_default_style();
if (!def)
def = gtk_widget_get_default_style();
m_widgetStyle = gtk_style_copy( def );
m_widgetStyle->klass = def->klass;
m_widgetStyle = gtk_style_copy( def );
m_widgetStyle->klass = def->klass;
}
return m_widgetStyle;
}

View File

@ -92,7 +92,9 @@ bool wxMask::Create( const wxBitmap& bitmap,
unsigned char green = colour.Green();
unsigned char blue = colour.Blue();
GdkVisual *visual = gdk_visual_get_system();
GdkVisual *visual = gdk_window_get_visual( wxRootWindow->window );
wxASSERT( visual );
int bpp = visual->depth;
if ((bpp == 16) && (visual->red_mask != 0xf800)) bpp = 15;
if (bpp == 15)
@ -243,9 +245,12 @@ wxBitmap::wxBitmap( int width, int height, int depth )
{
wxCHECK_RET( (width > 0) && (height > 0), wxT("invalid bitmap size") )
if (depth == -1) depth = gdk_window_get_visual( wxRootWindow->window )->depth;
GdkVisual *visual = gdk_window_get_visual( wxRootWindow->window );
wxASSERT( visual );
wxCHECK_RET( (depth == gdk_window_get_visual( wxRootWindow->window )->depth) ||
if (depth == -1) depth = visual->depth;
wxCHECK_RET( (depth == visual->depth) ||
(depth == 1), wxT("invalid bitmap depth") )
m_refData = new wxBitmapRefData();
@ -260,7 +265,7 @@ wxBitmap::wxBitmap( int width, int height, int depth )
else
{
M_BMPDATA->m_pixmap = gdk_pixmap_new( wxRootWindow->window, width, height, depth );
M_BMPDATA->m_bpp = gdk_window_get_visual( wxRootWindow->window )->depth;
M_BMPDATA->m_bpp = visual->depth;
}
if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this);
@ -270,6 +275,9 @@ bool wxBitmap::CreateFromXpm( const char **bits )
{
wxCHECK_MSG( bits != NULL, FALSE, wxT("invalid bitmap data") )
GdkVisual *visual = gdk_window_get_visual( wxRootWindow->window );
wxASSERT( visual );
m_refData = new wxBitmapRefData();
GdkBitmap *mask = (GdkBitmap*) NULL;
@ -286,7 +294,8 @@ bool wxBitmap::CreateFromXpm( const char **bits )
gdk_window_get_size( M_BMPDATA->m_pixmap, &(M_BMPDATA->m_width), &(M_BMPDATA->m_height) );
M_BMPDATA->m_bpp = gdk_window_get_visual( wxRootWindow->window )->depth; // ?
M_BMPDATA->m_bpp = visual->depth; // ?
if (wxTheBitmapList) wxTheBitmapList->AddBitmap(this);
return TRUE;
@ -443,6 +452,9 @@ bool wxBitmap::LoadFile( const wxString &name, int type )
if (!wxFileExists(name)) return FALSE;
GdkVisual *visual = gdk_window_get_visual( wxRootWindow->window );
wxASSERT( visual );
if (type == wxBITMAP_TYPE_XPM)
{
m_refData = new wxBitmapRefData();
@ -458,7 +470,8 @@ bool wxBitmap::LoadFile( const wxString &name, int type )
}
gdk_window_get_size( M_BMPDATA->m_pixmap, &(M_BMPDATA->m_width), &(M_BMPDATA->m_height) );
M_BMPDATA->m_bpp = gdk_window_get_visual( wxRootWindow->window )->depth;
M_BMPDATA->m_bpp = visual->depth;
}
else // try if wxImage can load it
{

View File

@ -1,4 +1,4 @@
# This file was automatically generated by tmake at 21:13, 2000/01/28
# This file was automatically generated by tmake at 17:23, 2000/02/01
# DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE GTK.T!
ALL_SOURCES = \
generic/busyinfo.cpp \
@ -192,14 +192,14 @@ ALL_SOURCES = \
gtk/wave.cpp \
gtk/win_gtk.c \
gtk/window.cpp \
gtk/dialup.cpp \
gtk/dir.cpp \
gtk/fontenum.cpp \
gtk/fontutil.cpp \
gtk/gsocket.c \
gtk/mimetype.cpp \
gtk/threadpsx.cpp \
gtk/utilsunx.cpp \
unix/dialup.cpp \
unix/dir.cpp \
unix/fontenum.cpp \
unix/fontutil.cpp \
unix/gsocket.c \
unix/mimetype.cpp \
unix/threadpsx.cpp \
unix/utilsunx.cpp \
html/helpctrl.cpp \
html/helpdata.cpp \
html/helpfrm.cpp \
@ -317,6 +317,8 @@ ALL_HEADERS = \
intl.h \
ioswrap.h \
ipcbase.h \
isql.h \
isqlext.h \
joystick.h \
layout.h \
laywin.h \
@ -637,6 +639,7 @@ COMMONOBJS = \
zstream.o
COMMONDEPS = \
parser.d \
appcmn.d \
choiccmn.d \
clipcmn.d \
@ -995,6 +998,3 @@ HTMLDEPS = \
m_tables.d \
winpars.d
IODBCOBJS = \
IODBCDEPS = \

View File

@ -2977,12 +2977,10 @@ bool wxWindow::SetBackgroundColour( const wxColour &colour )
// but it couldn't get applied as the
// widget hasn't been realized yet.
m_delayedBackgroundColour = TRUE;
// pretend we have done something
return TRUE;
}
if ((m_wxwindow) &&
(m_wxwindow->window) &&
(m_backgroundColour != wxSystemSettings::GetSystemColour(wxSYS_COLOUR_BTNFACE)))
{
/* wxMSW doesn't clear the window here. I don't do that either to
@ -3020,9 +3018,6 @@ bool wxWindow::SetForegroundColour( const wxColour &colour )
// but it couldn't get applied as the
// widget hasn't been realized yet.
m_delayedForegroundColour = TRUE;
// pretend we have done something
return TRUE;
}
ApplyWidgetStyle();
@ -3032,15 +3027,24 @@ bool wxWindow::SetForegroundColour( const wxColour &colour )
GtkStyle *wxWindow::GetWidgetStyle()
{
if (m_widgetStyle) return m_widgetStyle;
if (m_widgetStyle)
{
GtkStyle *remake = gtk_style_copy( m_widgetStyle );
remake->klass = m_widgetStyle->klass;
gtk_style_unref( m_widgetStyle );
m_widgetStyle = remake;
}
else
{
GtkStyle *def = gtk_rc_get_style( m_widget );
GtkStyle *def = gtk_rc_get_style( m_widget );
if (!def)
def = gtk_widget_get_default_style();
if (!def)
def = gtk_widget_get_default_style();
m_widgetStyle = gtk_style_copy( def );
m_widgetStyle->klass = def->klass;
m_widgetStyle = gtk_style_copy( def );
m_widgetStyle->klass = def->klass;
}
return m_widgetStyle;
}

View File

@ -1,6 +1,6 @@
# Note that this is NOT a relocatable package
%define pref /usr
%define ver 2.1.13
%define ver 2.1.14
%define rel 0
Summary: wxBase library - non-GUI support classes of wxWindows toolkit
@ -33,7 +33,7 @@ Header files for wxBase. You need them to develop programs using wxBase.
%prep
%setup -n wxBase
./configure --prefix=%{pref} --disable-gui
./configure --prefix=%{pref} --disable-gui --disable-std_iostreams
%build
if [ "$SMP" != "" ]; then

View File

@ -1,6 +1,6 @@
# Note that this is NOT a relocatable package
%define pref /usr
%define ver 2.1.13
%define ver 2.1.14
%define rel 0
Summary: The GTK+ 1.2 port of the wxWindows library
@ -9,7 +9,7 @@ Version: %{ver}
Release: %{rel}
Copyright: wxWindows Licence
Group: X11/Libraries
Source: ftp://wesley.informatik.uni-freiburg.de/pub/linux/wxxt/source/wxGTK-2.1.13.tgz
Source: wxGTK-%{ver}.tar.gz
URL: http://wesley.informatik.uni-freiburg.de/~wxxt/docs.html
Packager: Robert Roebling <roebling@ruf.uni-freiburg.de>
BuildRoot: /tmp/wxgtk_root
@ -37,7 +37,12 @@ Header files for the wxGTK, the GTK+ 1.2 port of the wxWindows library.
./configure --prefix=%{pref} --enable-threads --disable-std_iostreams --disable-newgrid
%build
make
if [ "$SMP" != "" ]; then
export MAKE="make -j$SMP"
else
export MAKE="make"
fi
$MAKE
%install
rm -rf $RPM_BUILD_ROOT